Dasar-dasar AI

Bagaimana Klasifikasi Gambar Bekerja?

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Bagaimana ponsel Anda dapat menentukan apa yang ada di dalam sebuah gambar hanya dengan mengambil foto? Bagaimana situs web media sosial secara otomatis menandai orang-orang dalam foto? Ini semua dilakukan melalui pengenalan gambar dan klasifikasi yang ditenagai oleh kecerdasan buatan.

Pengenalan dan klasifikasi gambar adalah kunci untuk banyak pencapaian kecerdasan buatan yang paling mengesankan. Namun, bagaimana komputer belajar mendeteksi dan mengklasifikasikan gambar? Dalam artikel ini, kita akan membahas metode umum yang digunakan komputer untuk menafsirkan dan mendeteksi gambar, kemudian kita akan melihat beberapa metode klasifikasi gambar yang paling populer.

Klasifikasi Berbasis Piksel vs. Berbasis Objek

Teknik klasifikasi gambar dapat dibagi menjadi dua kategori utama: klasifikasi berbasis piksel dan klasifikasi berbasis objek.

Piksel adalah unit dasar dari sebuah gambar, dan analisis piksel adalah cara utama klasifikasi gambar dilakukan. Namun, algoritma klasifikasi dapat menggunakan informasi spektral dalam piksel individu untuk mengklasifikasikan gambar atau memeriksa informasi spasial (piksel terdekat) bersama dengan informasi spektral. Metode klasifikasi berbasis piksel hanya menggunakan informasi spektral (intensitas piksel), sedangkan metode klasifikasi berbasis objek mempertimbangkan baik informasi spektral piksel dan informasi spasial.

Ada beberapa teknik klasifikasi yang digunakan untuk klasifikasi berbasis piksel. Ini termasuk jarak minimum ke rata-rata, kemungkinan maksimum, dan jarak minimum Mahalanobis. Metode-metode ini memerlukan bahwa rata-rata dan varians kelas sudah diketahui, dan mereka semua bekerja dengan memeriksa “jarak” antara rata-rata kelas dan piksel target.

Metode klasifikasi berbasis piksel terbatas oleh kenyataan bahwa mereka tidak dapat menggunakan informasi dari piksel terdekat. Sebaliknya, metode klasifikasi berbasis objek dapat memasukkan piksel lain dan oleh karena itu mereka juga menggunakan informasi spasial untuk mengklasifikasikan item. Perlu diingat bahwa “objek” hanya merujuk pada wilayah piksel yang berdekatan dan tidak pada apakah ada objek target dalam wilayah piksel tersebut.

Prapengolahan Data Gambar untuk Deteksi Objek

Sistem klasifikasi gambar terbaru dan paling dapat diandalkan sebagian besar menggunakan skema klasifikasi berbasis objek, dan untuk pendekatan ini, data gambar harus disiapkan dengan cara tertentu. Objek/wilayah perlu dipilih dan diproses.

Sebelum sebuah gambar, dan objek/wilayah di dalam gambar, dapat diklasifikasikan, data yang membentuk gambar tersebut harus ditafsirkan oleh komputer. Gambar perlu diproses dan disiapkan untuk dimasukkan ke dalam algoritma klasifikasi, dan ini dilakukan melalui deteksi objek. Ini adalah bagian kritis dari proses mempersiapkan data dan mempersiapkan gambar untuk melatih pengklasifikasi pembelajaran mesin.

Deteksi objek dilakukan dengan berbagai metode dan teknik. Untuk memulai, apakah ada satu objek yang menarik atau beberapa objek yang menarik mempengaruhi bagaimana pengolahan gambar ditangani. Jika hanya ada satu objek yang menarik, gambar menjalani lokalisisasi gambar. Piksel yang membentuk gambar memiliki nilai numerik yang ditafsirkan oleh komputer dan digunakan untuk menampilkan warna dan nuansa yang tepat. Sebuah objek yang disebut kotak pembatas ditarik di sekitar objek yang menarik, yang membantu komputer mengetahui bagian mana dari gambar yang penting dan nilai piksel mana yang mendefinisikan objek. Jika ada beberapa objek yang menarik dalam gambar, teknik yang disebut deteksi objek digunakan untuk menerapkan kotak pembatas ini ke semua objek dalam gambar.

Foto: Adrian Rosebrock via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

Metode lain dari prapengolahan adalah segmentasi gambar. Segmentasi gambar berfungsi dengan membagi gambar menjadi segmen berdasarkan fitur yang serupa. Wilayah yang berbeda dari gambar akan memiliki nilai piksel yang serupa dibandingkan dengan wilayah lain dari gambar, sehingga piksel-piksel ini dikelompokkan bersama menjadi masker gambar yang sesuai dengan bentuk dan batas objek yang relevan dalam gambar. Segmentasi gambar membantu komputer mengisolasi fitur gambar yang akan membantu mengklasifikasikan objek, mirip dengan kotak pembatas, tetapi mereka menyediakan label yang lebih akurat dan berbasis piksel.

Setelah deteksi objek atau segmentasi gambar selesai, label diterapkan pada wilayah yang dipertanyakan. Label-label ini, bersama dengan nilai piksel yang membentuk objek, dimasukkan ke dalam algoritma pembelajaran mesin yang akan mempelajari pola yang terkait dengan label yang berbeda.

Algoritma Pembelajaran Mesin

Setelah data disiapkan dan diberi label, data dimasukkan ke dalam algoritma pembelajaran mesin, yang dilatih pada data. Kami akan membahas beberapa jenis algoritma klasifikasi gambar pembelajaran mesin yang paling umum di bawah ini.

Tetangga Terdekat-K

Tetangga Terdekat-K adalah algoritma klasifikasi yang memeriksa contoh pelatihan terdekat dan melihat label mereka untuk menentukan label yang paling mungkin untuk contoh uji yang diberikan. Ketika datang ke klasifikasi gambar menggunakan KNN, vektor fitur dan label dari gambar pelatihan disimpan dan hanya vektor fitur yang dimasukkan ke dalam algoritma selama pengujian. Vektor fitur pelatihan dan pengujian kemudian dibandingkan satu sama lain untuk kesamaan.

Algoritma klasifikasi berbasis KNN sangat sederhana dan mereka menangani beberapa kelas dengan mudah. Namun, KNN menghitung kesamaan berdasarkan semua fitur secara sama. Ini berarti bahwa mereka dapat rentan terhadap kesalahan klasifikasi ketika diberikan gambar di mana hanya subset fitur yang penting untuk klasifikasi gambar.

Mesin Vektor Dukung

Mesin Vektor Dukung adalah metode klasifikasi yang menempatkan titik di ruang dan kemudian menggambar garis pembatas antara titik-titik, menempatkan objek ke dalam kelas yang berbeda tergantung pada sisi mana dari bidang pembatas titik-titik jatuh. Mesin Vektor Dukung dapat melakukan klasifikasi nonlinier melalui teknik yang disebut trik kernel. Sementara klasifikasi SVM sering sangat akurat, kelemahan besar dari klasifikasi SVM adalah bahwa mereka cenderung terbatas oleh ukuran dan kecepatan, dengan kecepatan yang menderita ketika ukuran meningkat.

Persepteron Multilayer (Jaringan Saraf)

Persepteron multilayer, juga disebut model jaringan saraf, adalah algoritma pembelajaran mesin yang terinspirasi oleh otak manusia. Persepteron multilayer terdiri dari beberapa lapisan yang dihubungkan satu sama lain, mirip dengan neuron di otak manusia yang dihubungkan satu sama lain. Jaringan saraf membuat asumsi tentang bagaimana fitur input terkait dengan kelas data dan asumsi-asumsi ini disesuaikan selama proses pelatihan. Model jaringan saraf sederhana seperti persepteron multilayer dapat mempelajari hubungan nonlinier, dan sebagai hasilnya, mereka dapat lebih akurat daripada model lain. Namun, model MLP menderita beberapa masalah yang cukup mencolok seperti kehadiran fungsi kerugian non-konveks.

Algoritma Pembelajaran Dalam (CNN)

Foto: APhex34 via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

Algoritma klasifikasi gambar yang paling umum digunakan dalam beberapa waktu terakhir adalah Jaringan Saraf Konvolusional (CNN). CNN adalah versi khusus dari jaringan saraf yang menggabungkan jaringan saraf multilayer dengan lapisan khusus yang dapat mengekstrak fitur yang paling penting dan relevan untuk klasifikasi objek. CNN dapat secara otomatis menemukan, menghasilkan, dan mempelajari fitur gambar. Ini sangat mengurangi kebutuhan untuk secara manual melabeli dan membagi gambar untuk mempersiapkannya untuk algoritma pembelajaran mesin. Mereka juga memiliki keunggulan atas jaringan MLP karena mereka dapat menangani fungsi kerugian non-konveks.

Jaringan Saraf Konvolusional mendapatkan namanya dari kenyataan bahwa mereka menciptakan “konvolusi”. CNN bekerja dengan mengambil filter dan menggesernya di atas gambar. Anda dapat membayangkannya seperti melihat bagian dari lanskap melalui jendela yang dapat dipindahkan, fokus hanya pada fitur yang terlihat melalui jendela pada satu waktu. Filter tersebut berisi nilai numerik yang dikalikan dengan nilai piksel itu sendiri. Hasilnya adalah bingkai baru, atau matriks, yang dipenuhi dengan angka yang mewakili gambar asli. Proses ini diulangi untuk jumlah filter yang dipilih, dan kemudian bingkai-bingkai tersebut digabungkan menjadi gambar baru yang sedikit lebih kecil dan kurang kompleks daripada gambar asli. Teknik yang disebut pooling digunakan untuk memilih hanya nilai yang paling penting dalam gambar, dan tujuannya adalah agar lapisan konvolusional akhirnya mengekstrak hanya bagian paling penting dari gambar yang akan membantu jaringan saraf mengenali objek dalam gambar.

Jaringan Saraf Konvolusional terdiri dari dua bagian yang berbeda. Lapisan konvolusional adalah yang mengekstrak fitur gambar dan mengubahnya menjadi format yang dapat diinterpretasikan dan dipelajari oleh lapisan jaringan saraf. Lapisan konvolusional awal bertanggung jawab untuk mengekstrak elemen dasar gambar, seperti garis dan batas sederhana. Lapisan konvolusional tengah mulai menangkap bentuk yang lebih kompleks, seperti kurva dan sudut sederhana. Lapisan konvolusional yang lebih dalam, yang lebih dalam, mengekstrak fitur tingkat tinggi dari gambar, yang merupakan apa yang dimasukkan ke dalam bagian jaringan saraf dari CNN, dan itulah yang dipelajari oleh pengklasifikasi. simple lines and boundaries. The middle convolutional layers begin to capture more complex shapes, like simple curves and corners. The later, deeper convolutional layers extract the high-level features of the image, which are what is passed into the neural network portion of the CNN, and are what the classifier learns.

Blogger dan programmer dengan spesialisasi di Machine Learning dan Deep Learning topik. Daniel berharap untuk membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.