Deteksi objek adalah salah satu task dalam domain computer vision yang banyak digunakan dalam surveillance. Salah satu algoritma deteksi objek yang populer adalah YOLO yang merupakan kategori single-shot detectors. Deteksi objek mempunyai peran penting di era artificial intelligence karena mampu mengenali objek tertentu yang ditelah dilatih. Pendekatan ini banyak digunakan diberbagai domain seperti transportasi, keamanan, kesehatan, pertahanan, pendidikan, manufaktur dan lainnya.
Contents
Pengenalan YOLOv5
YOLO sudah meliris beberapa versi model yang saat ini berada di versi 7. Berikut adalah timeline YOLO
YOLOv5 (You Only Look Once versi 5) adalah salah satu model dari YOLO yang dikembangkan oleh Ultralytics. YOLOv5 dikembangkan menggunakan PyTorch, Framework deep learning yang dikembangkan oleh Facebook. Model ini hadir dalam beberapa bentuk ukuran seperti nano (YOLOv5n), small (YOLOv5s), medium (YOLOv5m), large(YOLOv5l), xlarge (YOLOv5x).
Ada beberapa perbedaan dari beberapa aspek dari setiap bentuk model YOLOv5 seperti pada tabel di bawah ini
Sedangkan perbedaan ukuran model YOLOv5 ditampilkan dalam grafik berikut untuk melihat model terbaik yang dibandingkan berdasarkan kecepatannya juga
Framework Deep Learning
YOLOv5 sedikit berbeda dengan versi sebelumnya yang dikembangkan dengan framework DarkNet. DarkNet adalah framework deep learning yang ditulis dengan bahasa C tentunya kecepatannya dari pemrograman C tidak perlu diragukan. Pada YOLOv5 framework yang digunakan adalah PyTorch merupakan salah satu framework deep learning paling populer saat ini. Berdasarkan survey yang dilakukan PyTorch menempati posisi ketiga setelah Tensorflow dan Keras
Sedangkan di tahun 2019 berdasarkan pencarian paper di arXiv – yang merupakan platform publikasi penelitian deep learning, PyTorch ditempatkan di no 2 untuk implementasi framework deep learning (https://www.kdnuggets.com/).
Dengan pergeseran bahasa pemrograman dan framework di YOLOv5 memiliki keunggulan pengembang dapat lebih mudah dalam melakukan eksperiman dan pemodelan karena PyTorch menggunakan pemrograman Python yang mempunyai komunitas yang besar dan dokumentasi yang lengkap.
YOLOv5 banyak dimanfaatkan untuk deteksi objek di berbagai perguruan tinggi. Misalnya di tugas akhir Telkom University yang berhubungan dengan computer vision mulai banyak memanfaatkan YOLO untuk metode penyelesainnya. Berdasarkan pencarian di openlibrary Telkom University diperoleh banyak tugas akhir dengan keyword YOLO.
YOLOv5 Object Detection
YOLOv5 dapat mendeteksi 80 object seperti person, cell phone, car, bird
dan lainnya berdasarkan dataset COCO
. Berikut adalah detail dari 80 kelas yang dimiliki oleh dataset COCO
yang sudah dilatih ke pre-trained model YOLOv5.
0: person 1: bicycle 2: car 3: motorcycle 4: airplane 5: bus 6: train 7: truck 8: boat 9: traffic light 10: fire hydrant 11: stop sign 12: parking meter 13: bench 14: bird 15: cat 16: dog 17: horse 18: sheep 19: cow 20: elephant 21: bear 22: zebra 23: giraffe 24: backpack 25: umbrella 26: handbag 27: tie | 28: suitcase 29: frisbee 30: skis 31: snowboard 32: sports ball 33: kite 34: baseball bat 35: baseball glove 36: skateboard 37: surfboard 38: tennis racket 39: bottle 40: wine glass 41: cup 42: fork 43: knife 44: spoon 45: bowl 46: banana 47: apple 48: sandwich 49: orange 50: broccoli 51: carrot 52: hot dog 53: pizza 54: donut 55: cake | 56: chair 57: couch 58: potted plant 59: bed 60: dining table 61: toilet 62: tv 63: laptop 64: mouse 65: remote 66: keyboard 67: cell phone 68: microwave 69: oven 70: toaster 71: sink 72: refrigerator 73: book 74: clock 75: vase 76: scissors 77: teddy bear 78: hair drier 79: toothbrush |
YOLOv5 juga dapat dilatih untuk mengenali objek lainnya di luar 80 objek diatas. YOLOv5 menyediakan perintah train.py
untuk melatih dan menghasilkan model deteksi dengan akurasi tinggi
Instalasi dan Implementasi
Repository YOLOv5 dapat diakses di https://github.com/ultralytics/yolov5. Langkah awal untuk menggunakan YOLOv5 adalah dengan melakukan cloning dan install beberapa libray pendukung dengan perintah
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
YOLOv5 menyediakan detect.py
untuk mendeteksi objek dari berbagai sumber dengan menggunakan model terbaru dari YOLOv5. Beberapa sumber adalah seperti webcam, gambar, video, link Youtube, stream dan lainnya yang hasil deteksi akan disimpan di runs/detect
Berikut adalah contoh deteksi object menggunakan sumber webcam
Berikut adalah contoh deteksi object menggunakan sumber gambar
Sedangkan ini adalah contoh deteksi objek dari sumber youtube yang kemudian hasilnya diupload ulang ke youtube
Deteksi objek saat penting di era saat ini untuk berbagai kebutuhan dan YOLOv5 adalah salah satu pendekatan yang populer. Semoga artikel ini bermanfaat dan welcome to artificial intelligence era 😀
Ayo #RaihMasaDepanmu bersama Telkom University!