Object Detection Menggunakan Darknet YOLO
You only look once (YOLO) adalah sebuah struktur yang berfungsi untuk mendeteksi sebuah objek yang berskala Real-time. YOLO memiliki versi yaitu Yolo V1, Yolo V2, dan Yolo V3. Pada V3 ini, terdapat perbandingan dengan algoritma lain.
Contoh hasil dari Deteksi Object menggunakan Yolo :
Untuk membuat Deteksi tersebut, tutorial ini akan menggunakan Python dalam base bahasa programmingnya. YOLO mempunyai struktur yang terdiri dari banyak Layer yang menggunakan algoritma CNN (Convolutional Neural Network).
Untuk tahapan deteksi object sendiri, terdapat beberapa tahap yaitu :
- Pra-Processing (Screenshot Gambar jika data berupa sebuah video, Labeling)
- Learning (Training data menggunakan YOLO)
- Test (Deteksi Object)
- Pra-Processing
Pada tahapan ini, penulis menggunakan software untuk labeling object secara manual menggunakan labelimg.
Dengan menggunakan aplikasi ini, user dapat melabelkan object yang ingin di training dan deteksi nantinya. Jika user telah melabel semua object-nya, simpan file image beserta .txt nya ke folder data didalam folder darknet
2. Learning
Untuk tahapan ini, user harus men-clone darknet terlebih dahulu setelah itu install repo tersebut di local disk kalian
git clone https://github.com/pjreddie/darknet
cd darknet
make
Sebelum melakukan tahap training, cara kerja darknet ini yaitu Pre-Trained atau Training kembali menggunakan model yang telah ada. Maka dari itu, user harus men-download model terlebih
wget https://pjreddie.com/media/files/darknet53.conv.74
Jika sudah didownload, anda bisa mengubah layer pada folder cfg/yolov3 jikalau terdapat kendala dari segi spek komputer misalnya atau lainnya. Jika sudah, masuk ke tahap training dengan syntax :
./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74
cfg/coco.data tersebut adalah file yang dimana didalamnya merujuk ke dalam folder pada tahapan nomer 1. Jika sudah selesai melakukan training, akan terdapat file yang ber-ekstensi .weigth dan itu adalah model yang akan kita gunakan untuk deteksi objectnya
3. Test
Untuk melakukan testing pada video, user harus menggunakan syntax
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video/image file>
Kesimpulan : YOLO tersebut adalah struktur dari berbagai layer CNN. YOLO ini dapat digunakan untuk penggunaan pada deep learning. selain menggunakan YOLO, banyak struktur lain seperti retina-net, Fast-RCNN, dll. Selain algoritma CNN juga, terdapat algoritma lain yang dapat digunakan pada deep learning.