yolo object detection
Deep Learning

Pengenalan dan Implementasi Deteksi Objek dengan YOLOv5

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!

Leave a Reply

Your email address will not be published. Required fields are marked *