IMAGE CLASSIFICATION
Di era
dimana Deep Learning sudah menjadi salah satu teknik populer di bidang Computer
Vision, Convolutional Neural Network (CNN) tentunya tidak asing lagi di
telinga para praktisi maupun deep learning enthusiasts.
Seperti yang
telah dibahas pada post saya sebelumnya, CNN banyak diterapkan khususnya pada problem
klasifikasi gambar. Tapi tahukah anda bahwa CNN juga umum digunakan sebagai
solusi problem lain di bidang computer vision? Berikut ini adalah
beberapa contoh permasalahan dimana CNN dapat dijadikan sebagai pendekatan
solusinya.
Object Detection
Image
Classification adalah pengkategorian
suatu gambar ke dalam suatu kategori tertentu. Image Localisation adalah
pengembangan dari tugas tersebut, dimana output yang dihasilkan tidak
lagi berupa kategori/kelas dari gambar tersebut, tetapi letak dari objek kelas
tersebut dalam gambar tersebut, umumnya dalam bentuk bounding box.
Object
Detection adalah
klasifikasi dan lokalisasi untuk beberapa objek dalam satu gambar.
Object Tracking
Pengembangan
selanjutnya dari deteksi objek adalah tracking. Setelah terdeteksi dalam
sebuah tayangan, objek-objek yang menjadi perhatian kita kemudian ditelusuri
pergerakan nya dalam frame tersebut.
Object
tracking umum
digunakan untuk analisis video dan observasi real-world interactions. Di
era dimana AI sudah tidak asing lagi, object tracking juga mulai
diaplikasikan untuk teknologi seperti autonomous driving systems.
Metode object
tracking sendiri dapat dibagi kedalam dua kategori berdasarkan model
observasi yang digunakan, generative method & discriminative method. Model deep learning, seperti CNN, masuk dalam kategori discriminative
method (atau yang umum juga dikenal dengan istilah Tracking-by-Detection).
Penjelasan tentang kedua metode tersebut beserta perbedaan keduanya adalah
topik tersendiri untuk di lain kesempatan.
Semantic Segmentation
Segmentasi
gambar merupakan salah satu aplikasi mendasar di bidang computer vision. Secara
umum, segmentasi gambar adalah proses “memisahkan” sebuah gambar utuh menjadi
beberapa grup-grup pixel yang kemudian dapat di kategorikan. Atau dengan kata
lain, proses untuk memahami peran dari tiap-tiap pixel dalam sebuah gambar.
Sebagai
contoh, perhatikan gambar di atas. Pada gambar tersebut terlihat segmentasi
antara objek manusia (ditandai dengan warna merah), jalanan (warna pink), mobil
(warna biru), pohon (warna hijau), dan objek lainnya, dengan batas antar objek
yang cukup jelas. Hal ini menandakan model yang akan digunakan perlu
menghasilkan dense pixel-wise predictions, tidak seperti klasifikasi
yang hanya membutuhkan prediksi kelas dari suatu gambar.
Salah satu
penggunaan CNN untuk semantic segmentation dapat ditemukan pada Fully
Convolutional Networks (FCN) dari UC Berkeley. FCN
mempopulerkan arsitektur CNN untuk dense pixelwise predictions yang
tidak menggunakan fully connected layers. Metode ini memberikan hasil
yang lebih efisien dan relatif lebih cepat bila dibandingkan dengan metode
sebelumnya (e.g. patch classification with sliding window).
Hingga saat
ini, riset untuk metode semantic segmentation masih menitikberatkan pada
penggunaan arsitektur CNN tanpa fully connected layers, diantaranya Dilated
Convolutions, DeepLab, and RefineNet.
Instance Segmentation
Instance Segmentation adalah
pengembangan dari Semantic Segmentation,
dimana hasil yang diharapkan adalah pemisahan objek-objek dalam suatu gambar
secara menyeluruh, bukan lagi berdasarkan kategori dari objek tersebut. Sebagai
contoh, Instance Segmentation menghasilkan
5 warna berbeda untuk 5 buah mobil dalam suatu gambar.
Salah satu
implementasi Instance Segmentation adalah Mask R-CNN
dari Facebook AI. Mask R-CNN mencoba memperluas kemampuan objek deteksi
yang selama ini menggunakan bounding boxes, dengan dense pixelwise
predictions, untuk memberi pemahaman yang lebih kompleks tentang suatu gambar.
Seperti yang
kita ketahui, CNN banyak digunakan untuk ekstraksi fitur dari suatu gambar,
yang dihasilkan dalam bentuk feature maps. Mask R-CNN kemudian menggunakan
feature maps tersebut sebagai input untuk FCN, yang akan menghasilkan
sebuah matriks. Matriks yang dihasilkan bernilai 1 untuk semua lokasi piksel
yang merupakan bagian dari objek, dan 0 untuk lokasi lain nya. Matriks ini
dikenal dengan istilah binary mask.
Dengan binary
mask-binary mask yang didapatkan, ditambah dengan hasil klasifikasi dan bounding
boxes dari Faster R-CNN, Mask R-CNN dapat menghasilkan instance segmentations
yang presisi seperti gambar dibawah ini:
Apa kegunaan image classification dalam penerapan kehidupan sehari hari ?
BalasHapusContohnya adalah CCTV yang dipasang untuk mendeteksi pelanggaran lalu lintas dan langsung mengirim surat tilang kepada pelanggar tersebut.
HapusApakah chatbots adalah termasuk AI? apakah menurut Anda AI akan menggantikan guru? Terima kasih :)
BalasHapusYa chatbots menggunakan Artificial Intelligence.
HapusKemungkinan di masa depan, guru akan digantikan oleh robot yang diciptakan oleh manusia sendiri untuk mempermudah pekerjaan manusia.
Apakah dalam pembangunan sistem Image Classification dibutuhkan data yang besar ?
BalasHapusJawabannya bisa ya dan bisa juga tidak. Semuanya tergantung dari kemampuan sistem yang dibuat (apakah sistemnya sederhana atau kompleks / detail).
Hapus