Darknet atau Darkflow, Dua Framework Algoritma Deep Learning YOLO (You Only Look Once)
Halo teman-teman semua. Artikel ini sebenarnya adalah lanjutan dari artikel sebelumnya tentang perbedaan AI, ML, Neural Network dan Deep Learning part III. Saat itu aku bilang aku pingin bahas salah satu algoritma Deep Learning yang lagi terkenal belakangan ini, yaitu YOLO. Sebelum membedah apa sih YOLO itu, alangkah lebih baiknya kalau kita tahu terlebih dahulu framework apa sih yang mendukung algoritma ini.
Programmer bisa saja mengimplementasikan arsitektur dan algoritma dan membuat sebuah neural network dengan menggunakan semua bahasa pemrograman yang mereka bisa. Namun terdapat sebuah masalah jika neural network yang programmer selesaikan itu terdapat permasalahan yang sangat kompleks, atau membutuhkan arsitektur yang unik dan kompleks atau ingin menggunakan GPU untuk mempercepat training, semua masalah tersebut dapat diatasi dengan menggunakan sebuah framework. Sama halnya seperti semua framework, deep learning framework ada untuk memudahkan programmer untuk menyelesaikan masalah menggunakan deep learning.
Framework adalah sebuah kerangka kerja yang digunakan untuk mempermudah para developer software dalam membuat dan mengembangkan aplikasi. Framework berisikan perintah dan fungsi dasar yang umum digunakan untuk membangun sebuah software aplikasi sehingga diharapkan aplikasi dapat dibangun dengan lebih cepat serta tersusun dan terstruktur dengan rapi. Framework juga diartikan sebagai komponen-komponen yang sudah jadi dan siap untuk digunakan kapan saja, sehingga pengembang aplikasi tidak perlu lagi membuat script yang sama untuk tugas-tugas yang sama. Dalam deep learning, sebenarnya terdapat banyak sekali framework yang disediakan, seperti Tensorflow, Caffe2, CTNK dan untuk menggunakan arsitektur YOLO dapat menggunakan framework Darknet[1].
Darknet adalah framework neural network yang bersifat open source yang ditulis dalam Bahasa C dan CUDA. Darknet sangat cepat, proses penginstallan yang mudah dan mendukung komputasi dengan CPU maupun GPU. Darknet memiliki banyak fitur-fitur yang telah dikembangkan untuk proses machine learning, seperti object detection dan classification[2]. Penginstallan Darknet merupakan sesuatu yang wajib dilakukan untuk mencoba arsitektur dan algoritma detection yang dikembangkan, seperti :
1. ImageNet Classification
Proses mengklasifikan image dengan model popular seperti ResNet dan ResNeXt.
2. Tiny Darknet
Klasifikasi gambar dengan proses dan dataset yang lebih kecil.
3. YOLO (You Only Look Once)
YOLO adalah pendeteksian object secara real time dengan proses kecepatan sekitar 40–90 fps jika digunakan pada GPU TITAN X.
Algoritma YOLO mendapat popularitas belakangan ini karena performa yang gemilang dibandingkan dengan algoritma lainnya, objek dalam setiap frame semuanya terdeteksi, dengan menampilkan sebuah bounding box dan label secara real time. Pembuat YOLO, Joseph Redmond mengatakan keberhasilan ini disebabkan oleh framework yang dipakai[3]. YOLO awalnya diimplementasikan dengan bahasa C dengan framework yang diberi nama Darknet, kemudian dikembangkan lagi oleh Trinh Hoang Trieu untuk diimplementasikan dengan bahasa Python dan semua platfrom dan diberi nama Darkflow. Kedua framework ini dapat menjalankan arsitektur dari YOLO.
Darknet maupun darkflow mempunyai toolkit dan library yang sama, walaupun menggunakan bahasa pemrograman yang berbeda. Tetapi ada satu hal yang membuat darknet buatan Joseph Redmond ini lebih baik daripada darkflow, yaitu pada kecepatan dalam video processing. Dalam website resmi YOLO, dijelaskan dalam menggunakan Darkflow, waktu proses untuk video adalah sekitar 292 detik dengan frame rate 14.7 fps sedangkan dengan menggunakan darknet, waktu proses lebih efektif sekitar 111 detik dengan frame rate 38.7 fps [1]. Maka dari itu mengindikasikan bahwa Darknet lebih efektif digunakan daripada darkflow terlebih jika menggunakan GPU dalam prosesnya dan menggunakan spesifikasi hardware yang terbatas.
Jadi itulah perbedaan mendasar dari Darknet maupun Darkflow. Sekarang tinggal tergantung teman-teman mau pilih framework yang mana, jika lebih suka bahasa C pilih Darknet atau jika lebih suka Python pilih Darkflow. Saat itu sih aku coba pakai Darknet karena tingkat akurasi dalam mengenali objek lebih tinggi daripada Darkflow hehehe..
Full Stories :
- Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning
- Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning (Part 2)
- Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning (Part 3)
- Darknet atau Darkflow, Dua Framework Algoritma Deep Learning YOLO
- You Only Look Once (YOLO) Algoritma Deep Learning Object Detection Terbaik.
- Pengaruh CPU dan GPU dalam Implementasi Algoritma Deep Learning (YOLO).
- Implementasi Deep Learning YOLO dalam Mendeteksi Objek Gambar, Webcam dan Video.
- YOLOv4 : Teknologi Terbaru dalam Perkembangan Algoritma Object Detection
- Mengenal MSCOCO Dataset dalam Penerapan di Algoritma Object Detection YOLO
- Mempersiapkan dan Melatih Dataset untuk Mendeteksi Custom Object dengan YOLOv4 (Part 1)
- Mempersiapkan dan Melatih Dataset untuk Mendeteksi Custom Object dengan YOLOv4 (Part 2)
- Perhitungan Deteksi Object pada Gambar dan Video dengan YOLOv4 (Counting Objects)
- Deteksi Masker (Face Mask Detection) dengan YOLOv4 dan Darknet
- Klasifikasi dan Perhitungan Kendaraan dengan Algoritma Deep Learning YOLOv4 dan Darknet.
Sumber :
Redmon, Joseph (2016). “You only look once: Unified, real-time object detection”. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.
Redmon, Joseph (2017). “YOLO9000: better, faster, stronger”
Redmon, Joseph (2018). “Yolov3: An incremental improvement”