Algoritma Computer Vision: Semua yang Ingin Anda Ketahui [2022]
Diterbitkan: 2021-01-01Kenali algoritma yang memungkinkan komputer untuk memahami
Daftar isi
pengantar
Kata computer vision berarti kemampuan komputer untuk melihat dan mempersepsikan lingkungan sekitar. Banyak aplikasi yang dapat dicakup oleh visi komputer — Deteksi dan pengenalan objek, mobil yang dapat mengemudi sendiri, pengenalan wajah, pelacakan bola, penandaan foto, dan banyak lagi. Sebelum menyelami jargon teknis, pertama-tama mari kita bahas keseluruhan saluran visi komputer.
Seluruh pipa dibagi menjadi 5 langkah dasar, masing-masing dengan fungsi tertentu. Pertama, input diperlukan untuk proses algoritma yang dapat berupa gambar atau aliran gambar (bingkai gambar). Langkah selanjutnya adalah pra-pemrosesan. Pada langkah ini, fungsi diterapkan pada gambar yang masuk sehingga algoritme dapat lebih memahami gambar.
Beberapa fungsinya meliputi pengurangan noise, penskalaan gambar, dilatasi, dan erosi, menghilangkan bintik-bintik warna, dll. Langkah selanjutnya adalah memilih area yang diinginkan atau area yang diinginkan. Di bawah ini terletak deteksi objek dan algoritma segmentasi citra. Selanjutnya, kami memiliki ekstraksi fitur yang berarti mengambil informasi/fitur yang relevan dari gambar yang diperlukan untuk mencapai tujuan akhir.
Langkah terakhir adalah pengenalan atau prediksi, di mana kita mengenali objek dalam bingkai gambar tertentu atau memprediksi probabilitas objek dalam bingkai gambar tertentu.
Contoh
Mari kita lihat aplikasi dunia nyata dari pipa visi komputer. Pengenalan ekspresi wajah adalah aplikasi visi komputer yang digunakan oleh banyak laboratorium penelitian untuk mendapatkan gambaran tentang efek produk tertentu pada penggunanya. Sekali lagi, kami memiliki data input yang kami terapkan algoritme pra-pemrosesan.

Langkah selanjutnya melibatkan mendeteksi wajah dalam bingkai tertentu dan memotong bagian bingkai itu. Setelah ini tercapai, penanda wajah diidentifikasi seperti mulut, mata, hidung, dll. — fitur utama untuk pengenalan emosi.
Pada akhirnya, model prediksi (model terlatih) mengklasifikasikan gambar berdasarkan fitur yang diekstraksi dalam langkah perantara.
algoritma
Sebelum saya mulai menyebutkan algoritme dalam visi komputer, saya ingin menekankan istilah 'Frekuensi'. Frekuensi bayangan adalah laju perubahan intensitas. Gambar frekuensi tinggi memiliki perubahan intensitas yang besar. Gambar frekuensi rendah relatif seragam dalam kecerahan atau intensitasnya berubah secara perlahan.
Saat menerapkan transformasi Fourier ke gambar, kami mendapatkan spektrum magnitudo yang menghasilkan informasi frekuensi gambar. Titik terkonsentrasi di tengah gambar domain frekuensi berarti banyak komponen frekuensi rendah hadir dalam gambar. Komponen frekuensi tinggi termasuk — tepi, sudut, garis, dll. Kita tahu bahwa sebuah gambar adalah fungsi dari x dan yf(x,y). Untuk mengukur perubahan intensitas, kita ambil turunan dari fungsi f(x,y).
Filter sadar
Operator Sobel digunakan dalam pemrosesan gambar dan visi komputer untuk algoritma deteksi tepi. Filter menciptakan gambar yang menekankan tepi. Ini menghitung perkiraan kemiringan/gradien fungsi intensitas gambar. Pada setiap piksel dalam gambar, output dari operator Sobel adalah vektor gradien yang sesuai dan norma dari vektor ini.
Operator Sobel menggulung gambar dengan filter bernilai integer kecil dalam arah horizontal dan vertikal. Hal ini membuat operator murah dalam hal kompleksitas komputasi. Filter Sx mendeteksi tepi dalam arah horizontal dan filter Sy mendeteksi tepi dalam arah vertikal. Ini adalah filter lolos tinggi.
Menerapkan Sx ke gambar
Menerapkan Sy ke gambar
Baca: Gaji Machine Learning di India
Filter Rata-rata
Filter rata-rata adalah filter yang dinormalisasi yang digunakan untuk menentukan kecerahan atau kegelapan suatu gambar. Filter rata-rata bergerak melintasi piksel gambar demi piksel menggantikan setiap nilai dalam piksel dengan nilai rata-rata piksel tetangga, termasuk dirinya sendiri.
Pemfilteran Rata-rata (atau rata-rata) menghaluskan gambar dengan mengurangi jumlah variasi intensitas antara piksel tetangga.
Filter rata-rata, Sumber gambar
Filter Gaussian Blur
Filter Gaussian blur adalah filter lolos rendah dan memiliki fungsi sebagai berikut:
- Menghaluskan gambar
- Memblokir bagian frekuensi tinggi dari suatu gambar
- Mempertahankan tepi
Secara matematis, dengan menerapkan Gaussian blur ke gambar, pada dasarnya kita mengonversi gambar dengan fungsi Gaussian.

Dalam rumus di atas, x adalah jarak horizontal dari titik asal, y adalah jarak vertikal dari titik asal, dan adalah standar deviasi dari distribusi Gaussian. Dalam dua dimensi, rumus mewakili permukaan yang profilnya adalah lingkaran konsentris dengan distribusi Gaussian dari titik asal.
Filter Gaussian Blur, Sumber gambar
Satu hal yang perlu diperhatikan di sini adalah pentingnya memilih ukuran kernel yang tepat. Hal ini penting karena jika dimensi kernel terlalu besar, fitur-fitur kecil yang ada pada gambar dapat hilang dan gambar akan terlihat kabur. Jika terlalu kecil, noise pada gambar tidak akan dihilangkan.
Baca Juga: Jenis-Jenis Algoritma AI Yang Harus Anda Ketahui
Detektor Tepi Canny
Ini adalah algoritma yang menggunakan empat filter untuk mendeteksi tepi horizontal, vertikal dan diagonal pada gambar buram. Algoritma melakukan fungsi-fungsi berikut.
- Ini adalah algoritma deteksi tepi yang akurat dan banyak digunakan
- Memfilter kebisingan menggunakan Gaussian Blur
- Menemukan kekuatan dan arah tepi menggunakan filter Sobel
- Menerapkan penekanan non-maks untuk mengisolasi tepi terkuat dan menipiskannya menjadi satu garis piksel
- Menggunakan histeresis (metode ambang batas ganda) untuk mengisolasi tepi terbaik
Detektor Canny Edge pada foto mesin uap, Gambar oleh Wikipedia
Haar Cascade
Ini adalah pendekatan berbasis pembelajaran mesin di mana fungsi kaskade dilatih untuk memecahkan masalah klasifikasi biner. Fungsi ini dilatih dari sejumlah besar gambar positif dan negatif dan selanjutnya digunakan untuk mendeteksi objek dalam gambar lain. Ini mendeteksi hal berikut:
- tepi
- Garis
- Pola persegi panjang
Untuk mendeteksi pola-pola di atas, digunakan fitur-fitur berikut:
Lapisan konvolusi
Dalam pendekatan ini, jaringan saraf mempelajari fitur dari sekelompok gambar yang termasuk dalam kategori yang sama. Pembelajaran berlangsung dengan memperbarui bobot neuron menggunakan teknik back propagation dan gradient descent sebagai pengoptimal.
Ini adalah proses berulang yang bertujuan untuk mengurangi kesalahan antara output aktual dan kebenaran dasar. Lapisan/blok konvolusi yang diperoleh dalam proses bertindak sebagai lapisan fitur yang digunakan untuk membedakan citra positif dari citra negatif. Contoh lapisan konvolusi diberikan di bawah ini.

Jaringan Saraf Konvolusi, Sumber Gambar
Lapisan yang sepenuhnya terhubung bersama dengan fungsi SoftMax di bagian akhir mengkategorikan gambar yang masuk ke dalam salah satu kategori yang dilatihnya. Skor keluaran merupakan skor probabilistik dengan rentang antara 0 sampai 1.
Wajib Dibaca: Jenis-Jenis Algoritma Klasifikasi di ML
Kesimpulan
Ikhtisar tentang algoritme paling umum yang digunakan dalam Computer Vision telah dibahas di blog ini bersama dengan alur umum. Algoritma ini membentuk dasar dari algoritma yang lebih rumit seperti SIFT, SURF, ORB, dan banyak lagi.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
Apa perbedaan antara Pemrosesan Gambar dan Visi Komputer?
Image Processing menyempurnakan bentuk mentah gambar untuk menghasilkan versi yang lebih baik. Ini juga digunakan untuk mengekstraksi beberapa fitur dari gambar utama. Pemrosesan Gambar karenanya merupakan bagian yang berbeda dalam bidang Computer Vision itu sendiri. Namun, Computer Vision berfokus pada pengenalan objek rangsangan untuk klasifikasi yang akurat. Keduanya juga menggunakan teknologi serupa dalam prosedur mereka. Oleh karena itu, Pemrosesan Gambar dapat menjadi proses utama dalam Computer Vision. Itu tetap menjadi bidang yang menonjol dalam Kecerdasan Buatan. Pemrosesan Gambar berfokus pada peningkatan gambar; Teknologi Computer Vision berfokus pada analitik yang detail dan akurat untuk menciptakan sistem yang lebih baik.
Mengapa Deep Learning digunakan untuk membangun algoritma Computer Vision?
Computer Vision telah membuat Artificial Intelligence (AI) lebih kuat karena penelitian berbasis data yang ketat dan analisis data visual yang konsisten. Deep Learning adalah proses input data yang berkelanjutan melalui jaringan saraf. Informasi tersebut berasal dari proses otak manusia untuk menyempurnakan algoritme untuk pembelajaran, pemrosesan, dan keluaran yang efisien. Deep Learning meningkatkan klasifikasi data yang akurat, memastikan model AI yang andal. Computer Vision menggunakan metode ini untuk menyelaraskan AI ke jaringan saraf otak manusia. Deep Learning telah memungkinkan sistem yang dapat diandalkan untuk membantu manusia dan meningkatkan kualitas hidup mereka.
Apa itu filter Low Pass dan filter High Pass?
Dalam Computer Vision Algorithms, beberapa filter menghasilkan hasil yang diinginkan dari gambar mentah. Filter ini melakukan berbagai fungsi untuk menghaluskan, mempertajam, dan menonjolkan tampilan sesuai keinginan. Filter berbeda dalam frekuensinya dan mengusulkan efek yang berbeda. Misalnya, filter Gaussian Blur pada dasarnya bekerja untuk menghaluskan gambar dengan mengubah bagian frekuensi tinggi dari gambar dan mempertahankan tepinya. Ini disebut filter Low Pass karena mengurangi lokasi frekuensi tinggi dan mempertahankan lokasi frekuensi rendah sehingga memberikan visual yang lebih halus. Dalam filter High Pass, lokasi frekuensi rendah dikurangi, dan lokasi frekuensi rendah dipertahankan, yang menghasilkan visual yang lebih tajam.