AI 101
Bagaimana Klasifikasi Gambar Bekerja?

Bagaimana ponsel Anda dapat menentukan apa yang ada dalam sebuah objek hanya dengan mengambil foto objek tersebut? Bagaimana situs web media sosial secara otomatis menandai orang dalam foto? Ini dicapai melalui pengenalan gambar dan klasifikasi yang ditenagai oleh AI.
Pengenalan dan klasifikasi gambar adalah apa yang memungkinkan banyak prestasi paling mengesankan dari kecerdasan buatan. Namun, bagaimana komputer belajar mendeteksi dan mengklasifikasikan gambar? Dalam artikel ini, kita akan membahas metode umum yang digunakan komputer untuk menafsirkan dan mendeteksi gambar dan kemudian melihat beberapa metode paling populer untuk mengklasifikasikan gambar tersebut.
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 hanya informasi spektral dalam piksel individual untuk mengklasifikasikan sebuah 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 minimum-jarak-ke-rata-rata, kemungkinan maksimum, dan minimum-jarak-Mahalanobis. Metode-metode ini memerlukan bahwa rata-rata dan varians dari kelas sudah diketahui, dan mereka semua beroperasi 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 berkontigu dan tidak pada apakah ada objek target dalam wilayah piksel tersebut.
Praproses Data Gambar untuk Deteksi Objek
Sistem klasifikasi gambar paling mutakhir dan andal terutama menggunakan skema klasifikasi tingkat objek, dan untuk pendekatan ini data gambar harus disiapkan dengan cara tertentu. Objek/wilayah perlu dipilih dan diproses sebelumnya.
Sebelum sebuah gambar, dan objek/wilayah dalam gambar tersebut, dapat diklasifikasikan, data yang membentuk gambar tersebut harus diinterpretasikan oleh komputer. Gambar perlu diproses dan disiapkan untuk input ke dalam algoritma klasifikasi, dan ini dilakukan melalui deteksi objek. Ini adalah bagian kritis dari penyediaan data dan mempersiapkan gambar untuk melatih pengklasifikasi pembelajaran mesin.
Deteksi objek dilakukan dengan berbagai metode dan teknik. Untuk memulai, apakah ada beberapa objek yang menarik atau satu objek yang menarik mempengaruhi bagaimana pemrosesan gambar ditangani. Jika hanya ada satu objek yang menarik, gambar tersebut menjalani lokalasi gambar. Piksel yang membentuk gambar memiliki nilai numerik yang diinterpretasikan 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 pemrosesan lainnya adalah segmentasi gambar. Segmentasi gambar berfungsi dengan membagi gambar secara keseluruhan menjadi segmen berdasarkan fitur yang serupa. Wilayah gambar yang berbeda akan memiliki nilai piksel yang serupa dibandingkan dengan wilayah gambar lain, 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 pada tingkat 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.
K-Nearest Neighbors
K-Nearest Neighbors adalah algoritma klasifikasi yang memeriksa contoh pelatihan terdekat dan memeriksa 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 dari fitur yang penting untuk klasifikasi gambar.
Support Vector Machines
Support Vector Machines adalah metode klasifikasi yang menempatkan titik-titik dalam ruang dan kemudian menggambar garis pembatas antara titik-titik, menempatkan objek dalam kelas yang berbeda tergantung pada sisi mana dari bidang pembatas titik-titik jatuh. Support Vector Machines dapat melakukan klasifikasi non-linier melalui penggunaan 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.
Multi-Layer Perceptrons (Neural Nets)
Multi-layer perceptrons, juga disebut model jaringan saraf, adalah algoritma pembelajaran mesin yang terinspirasi oleh otak manusia. Multilayer perceptrons terdiri dari beberapa lapisan yang dihubungkan satu sama lain, mirip dengan neuron dalam 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 pelatihan. Model jaringan saraf sederhana seperti multilayer perceptron dapat mempelajari hubungan non-linier, dan sebagai hasilnya, mereka dapat lebih akurat daripada model lain. Namun, model MLP menderita beberapa masalah yang mencolok seperti kehadiran fungsi kerugian non-konveks.
Algoritma Pembelajaran Dalam (CNNs)

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 Convolutional Neural Network (CNNs). CNNs adalah versi kustom dari jaringan saraf yang menggabungkan jaringan saraf multilayer dengan lapisan khusus yang dapat mengekstrak fitur yang paling penting dan relevan untuk klasifikasi objek. CNNs 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.
Convolutional Neural Networks mendapatkan namanya dari kenyataan bahwa mereka membuat “konvolusi”. CNNs beroperasi dengan mengambil filter dan menggesernya di atas gambar. Anda dapat membayangkannya sebagai melihat bagian-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, penuh 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 nilai yang paling penting dalam gambar, dan tujuannya adalah untuk lapisan konvolusi akhirnya mengekstrak bagian paling penting dari gambar yang akan membantu jaringan saraf mengenali objek dalam gambar.
Convolutional Neural Networks terdiri dari dua bagian yang berbeda. Lapisan konvolusi adalah apa yang mengekstrak fitur gambar dan mengubahnya menjadi format yang dapat diinterpretasikan dan dipelajari oleh lapisan jaringan saraf. Lapisan konvolusi awal bertanggung jawab untuk mengekstrak elemen dasar gambar, seperti garis sederhana dan batas. Lapisan konvolusi tengah mulai menangkap bentuk yang lebih kompleks, seperti kurva sederhana dan sudut. Lapisan konvolusi yang lebih dalam mengekstrak fitur tingkat tinggi gambar, yang dilewatkan ke bagian jaringan saraf dari CNN, dan itulah yang dipelajari oleh pengklasifikasi.












