Cara Install YOLO (You Only Look Once) Realtime Object Detection di Google Colab, Gratis GPU!
Cara Install Yolo (You Only Look Once) Real Time Object Detection - Pernahkah teman - teman melihat sebuah aplikasi yang mampu mendeteksi suatu objek? Nah, apabila teman - teman pernah melihat aplikasi tersebut. Maka, aplikasi tersebut memiliki kecerdasan buatan.
Kecerdasan buatan atau artificial intelligence jika kita lihat, cakupannya cukup luas dan perkembangan AI pun semakin maju. Contohnya, pembuatan self driving system yang mana kendaraan mampu berkendara tanpa kendali manusia.
Tapi, kali ini kita tidak akan membahas lebih dalam mengenai AI. Tetapi, kita akan membahas suatu algoritma computer vision yang memiliki kemampuan mendeteksi objek secara real time dengan cukup akurat yaitu, YOLO (You Only Look Once).
Apa Itu YOLO Object Detection?
Joseph Redmon adalah developer darknet / YOLO.
YOLO pada dasarnya merupakan Convolutional Neural Network dan algoritma ini memiliki banyak sekali struktur layer yang bekerja untuk melakukan proses klasifikasi. Model YOLO dapat memproses 45 frame / detik dan untuk versi ringannya dapat mencapai 155 frame / detik. Apabila, dibandingkan dengan algoritma CNN lainnya, YOLO relatif lebih cepat.
Sederhananya, algoritma ini akan membuat suatu gambar menjadi sebuah grid dengan ukuran tertentu dan memprediksi setiap grid dengan bounding boxes. Setiap bounding boxes memiliki bobot sesuai dengan probabilitas prediksi.
Sumber : https://github.com/pjreddie/darknet/wiki/YOLO:-Real-Time-Object-Detection |
Apabila teman - teman ingin membaca paper publikasi mengenai algoritma YOLO lebih detail. Teman - teman dapat mengunduh file papernya di arxiv.
Nah, itulah sedikit mengenai algoritma YOLO. Selanjutnya, kita akan implementasi algoritma YOLO ini di google colab untuk mengenali suatu objek.
Apa itu Google Colab?
Google Colab adalah web aplikasi cloud service dengan banyak fitur dan yang menariknya lagi kita dapat menggunakan performa perangkat keras GPU Tesla K80 dengan gratis. Di google colab ini, teman -teman dapat menulis dan compile program python. Selain itu, juga tersedia library seperti tensorflow, keras, PyTorch, dan OpenCV.
Jadi, apabila di laptop / PC kita belum terinstall python. Teman - teman dapat menggunakan google colab dan google colab ini gratis, tidak berbayar. Google colab juga terintegrasi dengan Google Drive untuk penyimpanan file dan github untuk repositori.
Pada dasarnya, apabila teman - teman pernah menggunakan Jupyter Notebook. Google colab tidak jauh beda dengan Jupyter Notebook. Hanya saja, Google Colab memiliki fitur yang lebih menarik.
Cara Install YOLO Object Detection di Google Colab
Kita langsung masuk ke langkah bagaimana cara install YOLO di Google Colab. Teman - teman langsung saja akses Google Colab di browser masing - masing.
Pertama, gambar dibawah adalah halaman utama google colab. Pastikan kalian sudah login menggunakan akun gmail kalian. Setelah itu teman - teman dapat klik New Notebook.
Halaman Utama Google Colab. |
Kedua, kita ubah terlebih dahulu runtime type. Pertama, teman - teman dapat klik Runtime > Change runtime type > Hardware Accelerator = GPU.
Render Menggunakan GPU. |
Ketiga, teman - teman dapat clone file darknet / YOLO pada repositori github dengan menjalankan perintah.
:
!git clone https://github.com/AlexeyAB/darknet
Keempat, setelah itu teman - teman dapat masuk ke direktori darknet dan mengaktifkan GPU render, CUDNN, dan OpenCV dengan menjalankan perintah di bawah.
In [2]:
%cd darknet
!sed -i 's/OPENCV=0/OPENCV=1/' Makefile
!sed -i 's/GPU=0/GPU=1/' Makefile
!sed -i 's/CUDNN=0/CUDNN=1/' Makefile
In [3]:
!/usr/local/cuda/bin/nvcc --version
Kelima, kita build file darknet yang telah kita unduh dengan menjalankan perintah make dan tunggu proses hingga selesai.
In [4]:
!make
Membuild Darknet. |
Keenam, apabila proses sudah selesai teman - teman dapat mengunduh model yolov3. Sebenarnya ada beberapa model yang ada. Apabila teman - teman tertarik untuk mencoba model lainnya, teman - teman dapat mengunjungi repositori github AlexeyAB/darknet. Tunggu proses mengunduh hingga selesai.
In [5]:
!wget https://pjreddie.com/media/files/yolov3.weights
Ketujuh, selanjutnya kita akan menjalankan proses untuk mendeteksi suatu objek pada gambar. Teman - teman dapat menjalankan perintah di bawah.
In [7]:
!./darknet detect cfg/yolov3.cfg yolov3.weights data/person.jpg
Proses Deteksi Objek. |
Kedelapan, setelah proses deteksi menggunakan Yolo kita akan melihat output yang dihasilkan. Disini, admin mencoba menggunakan foto berbeda untuk mendeteksi kendaraan. Fungsi imShow disini untuk menampilkan gambar di Google Colab.
In [6]:
def imShow(path):
import cv2
import matplotlib.pyplot as plt
%matplotlib inline
image = cv2.imread(path)
height, width = image.shape[:2]
resized_image = cv2.resize(image,(3*width, 3*height), interpolation = cv2.INTER_CUBIC)
fig = plt.gcf()
fig.set_size_inches(18, 10)
plt.axis("off")
plt.imshow(cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB))
plt.show()
In [21]:
!./darknet detect cfg/yolov3.cfg yolov3.weights /content/_MG_5339.JPG
imShow('predictions.jpg')
Hasil Objek Deteksi Menggunakan YOLO. |
Instalasi YOLO dan menjalankan di Google Colab menggunakan GPU berhasil. Apabila teman - teman masih bingung, dapat komentar dibawah atau kunjungi repository saya di github.
Kesimpulan
Algoritma YOLO disini sangat efektif untuk mendeteksi atau klasifikasi suatu objek dengan memanfaatkan performa GPU maka proses deteksi menjadi lebih cepat. Pada dasarnya, algoritma YOLO adalah CNN tetapi sudah di improvisasi menjadi lebih cepat dan efektif.
YOLO dapat menerima input berupa gambar, video, webcam, RTS (Real Time Streaming). Selain itu, Yolo sudah semakin berkembang walaupun, sejak versi YoloV3 Joseph Redmon memutuskan untuk tidak melanjutkan pengembangan algoritma tersebut.
Tetapi, karena YOLO bersifat open source maka, dapat dikembangkan oleh orang lain. Contohnya, YOLOv4 dan YOLOv5.
YOLO juga dapat dijalankan di cloud service seperti Google Colab.
Referensi
- https://pjreddie.com/darknet/yolo/
- https://medium.com/@0856dian/object-detection-menggunakan-darknet-yolo-48e2a430e029
- https://machinelearning.mipa.ugm.ac.id/2018/08/05/yolo-you-only-look-once/
- https://github.com/pjreddie/darknet/wiki/YOLO:-Real-Time-Object-Detection
- https://medium.com/@ODSC/overview-of-the-yolo-object-detection-algorithm-7b52a745d3e0#:~:text=YOLO%20is%20a%20clever%20convolutional,and%20probabilities%20for%20each%20region.
- https://appsilon.com/object-detection-yolo-algorithm/
- https://arxiv.org/abs/1506.02640
- https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d#:~:text=What%20is%20Google%20Colab%3F,TensorFlow%2C%20PyTorch%2C%20and%20OpenCV
- https://github.com/denny-saryanto/yolov3-colab/blob/master/darknet_py.ipynb
- https://github.com/AlexeyAB/darknet
Posting Komentar untuk "Cara Install YOLO (You Only Look Once) Realtime Object Detection di Google Colab, Gratis GPU!"