Model klasifikasi imej yang telah kita pelajari sebelum ini mengambil imej dan menghasilkan keputusan kategori, seperti kelas 'nombor' dalam masalah MNIST. Walau bagaimanapun, dalam banyak kes, kita bukan sahaja ingin mengetahui bahawa gambar menggambarkan objek - kita juga ingin menentukan lokasi tepatnya. Inilah tujuan utama pengesanan objek.
Imej dari laman web YOLO v2
Jika kita ingin mencari seekor kucing dalam gambar, pendekatan naif untuk pengesanan objek adalah seperti berikut:
- Pecahkan gambar kepada beberapa jubin.
- Jalankan klasifikasi imej pada setiap jubin.
- Jubin yang menghasilkan pengaktifan yang cukup tinggi boleh dianggap mengandungi objek yang dicari.
Imej dari Buku Latihan
Walau bagaimanapun, pendekatan ini jauh dari ideal kerana ia hanya membolehkan algoritma menentukan kotak sempadan objek dengan sangat tidak tepat. Untuk lokasi yang lebih tepat, kita perlu menjalankan sejenis regresi untuk meramalkan koordinat kotak sempadan - dan untuk itu, kita memerlukan dataset khusus.
Blog post ini memberikan pengenalan yang baik tentang pengesanan bentuk.
Anda mungkin akan menemui dataset berikut untuk tugas ini:
- PASCAL VOC - 20 kelas
- COCO - Common Objects in Context. 80 kelas, kotak sempadan dan topeng segmentasi
Untuk klasifikasi imej, mudah untuk mengukur sejauh mana algoritma berfungsi, tetapi untuk pengesanan objek kita perlu mengukur kedua-dua ketepatan kelas dan ketepatan lokasi kotak sempadan yang diramalkan. Untuk yang terakhir, kita menggunakan Intersection over Union (IoU), yang mengukur sejauh mana dua kotak (atau dua kawasan arbitrari) bertindih.
Rajah 2 dari blog post yang sangat baik tentang IoU
Ideanya mudah - kita membahagikan kawasan persilangan antara dua figura dengan kawasan gabungannya. Untuk dua kawasan yang sama, IoU akan menjadi 1, manakala untuk kawasan yang tidak bertindih sepenuhnya ia akan menjadi 0. Jika tidak, ia akan berbeza dari 0 hingga 1. Kita biasanya hanya mempertimbangkan kotak sempadan yang mempunyai IoU melebihi nilai tertentu.
Misalkan kita ingin mengukur sejauh mana kelas objek tertentu
- Pertimbangkan lengkung Precision-Recall yang menunjukkan ketepatan bergantung pada nilai ambang pengesanan (dari 0 hingga 1).
- Bergantung pada ambang, kita akan mendapat lebih atau kurang objek yang dikesan dalam imej, dan nilai ketepatan dan recall yang berbeza.
- Lengkungnya akan kelihatan seperti ini:
Imej dari NeuroWorkshop
Purata Precision untuk kelas tertentu
Kita hanya akan mempertimbangkan pengesanan yang mempunyai IoU melebihi nilai tertentu. Sebagai contoh, dalam dataset PASCAL VOC biasanya
Imej dari NeuroWorkshop
Metrik utama untuk Pengesanan Objek dipanggil Mean Average Precision, atau mAP. Ia adalah nilai Average Precision, purata merentasi semua kelas objek, dan kadang-kadang juga merentasi
Terdapat dua kelas utama algoritma pengesanan objek:
- Region Proposal Networks (R-CNN, Fast R-CNN, Faster R-CNN). Idea utama adalah untuk menghasilkan Regions of Interests (ROI) dan menjalankan CNN ke atasnya, mencari pengaktifan maksimum. Ia agak serupa dengan pendekatan naif, kecuali ROI dihasilkan dengan cara yang lebih bijak. Salah satu kelemahan utama kaedah ini adalah ia perlahan kerana kita memerlukan banyak laluan pengklasifikasi CNN ke atas imej.
- One-pass (YOLO, SSD, RetinaNet) kaedah. Dalam seni bina ini, kita mereka bentuk rangkaian untuk meramalkan kedua-dua kelas dan ROI dalam satu laluan.
R-CNN menggunakan Selective Search untuk menghasilkan struktur hierarki kawasan ROI, yang kemudian dilalui oleh pengekstrak ciri CNN dan pengklasifikasi SVM untuk menentukan kelas objek, dan regresi linear untuk menentukan koordinat kotak sempadan. Kertas Rasmi
Imej dari van de Sande et al. ICCV’11
*Imej dari blog ini
Pendekatan ini serupa dengan R-CNN, tetapi kawasan ditentukan selepas lapisan konvolusi diterapkan.
Imej dari Kertas Rasmi, arXiv, 2015
Idea utama pendekatan ini adalah menggunakan rangkaian neural untuk meramalkan ROI - yang dipanggil Region Proposal Network. Kertas, 2016
Imej dari kertas rasmi
Algoritma ini lebih pantas daripada Faster R-CNN. Idea utama adalah seperti berikut:
- Kita mengekstrak ciri menggunakan ResNet-101.
- Ciri-ciri diproses oleh Position-Sensitive Score Map. Setiap objek dari
$C$ kelas dibahagikan kepada$k\times k$ kawasan, dan kita melatih untuk meramalkan bahagian objek. - Untuk setiap bahagian dari
$k\times k$ kawasan, semua rangkaian mengundi untuk kelas objek, dan kelas objek dengan undian maksimum dipilih.
Imej dari kertas rasmi
YOLO adalah algoritma satu-laluan masa nyata. Idea utama adalah seperti berikut:
- Imej dibahagikan kepada
$S\times S$ kawasan. - Untuk setiap kawasan, CNN meramalkan
$n$ objek yang mungkin, koordinat kotak sempadan dan confidence=probability * IoU.
Imej dari kertas rasmi
- RetinaNet: kertas rasmi
- SSD (Single Shot Detector): kertas rasmi
Teruskan pembelajaran anda dalam buku latihan berikut:
Dalam pelajaran ini, anda telah mengambil lawatan pantas tentang pelbagai cara pengesanan objek dapat dicapai!
Baca artikel dan buku latihan tentang YOLO ini dan cuba sendiri
- Blog post yang baik yang menerangkan YOLO
- Laman rasmi
- Yolo: Implementasi Keras, buku latihan langkah demi langkah
- Yolo v2: Implementasi Keras, buku latihan langkah demi langkah
- Pengesanan Objek oleh Nikhil Sardana
- Perbandingan yang baik tentang algoritma pengesanan objek
- Ulasan Algoritma Pembelajaran Mendalam untuk Pengesanan Objek
- Pengenalan Langkah demi Langkah kepada Algoritma Pengesanan Objek Asas
- Implementasi Faster R-CNN dalam Python untuk Pengesanan Objek











