Tutorial YOLOv8 - Cara Membuat Sistem Deteksi Botol Minuman (Bottle Detection) Menggunakan Raspberry Pi dan Google Colab

Perkembangan teknologi Artificial Intelligence (AI) semakin pesat, khususnya pada bidang computer vision yang memungkinkan komputer memahami dan mengenali objek dari gambar maupun video. Salah satu penerapan computer vision yang cukup populer adalah object detection, yaitu teknologi yang mampu mendeteksi serta mengidentifikasi objek tertentu secara otomatis. Pada artikel ini, kita akan membahas bagaimana membuat sistem deteksi botol minuman (Bottle Detection) menggunakan model YOLOv8.

YOLOv8 adalah salah satu algoritma object detection yang terkenal karena memiliki performa tinggi dan kecepatan pemrosesan yang sangat baik. Model ini banyak digunakan dalam berbagai proyek AI, mulai dari sistem keamanan, kendaraan otonom, hingga aplikasi industri. Dengan menggunakan YOLOv8, kita dapat melatih model agar mampu mengenali objek tertentu, termasuk botol minuman.

 

Pada proyek AI ini, proses pembuatan sistem deteksi botol akan dilakukan melalui beberapa tahapan utama, yaitu training model menggunakan Google Colab, kemudian deploy model ke Raspberry Pi, serta menjalankan program deteksi menggunakan webcam. Kombinasi teknologi ini memungkinkan kita membangun sistem computer vision yang dapat berjalan secara real-time pada perangkat kecil seperti Raspberry Pi.

 

Google Colab digunakan sebagai lingkungan untuk melakukan training model YOLOv8 karena menyediakan resource komputasi yang cukup kuat, termasuk dukungan GPU. Dengan memanfaatkan dataset yang tersedia di Roboflow, kita dapat melatih model agar mampu mengenali objek botol dengan tingkat akurasi yang baik sebelum digunakan pada perangkat Raspberry Pi.

 

Melalui tutorial ini, Anda akan mempelajari langkah demi langkah mulai dari mengunduh dataset, melakukan training model YOLOv8, hingga menjalankan sistem deteksi botol secara real-time menggunakan kamera. Artikel ini sangat cocok bagi pemula yang ingin belajar AI, machine learning, dan computer vision, khususnya dalam membuat proyek praktis berbasis Raspberry Pi.

 

Baca juga: Tools AI untuk Raspberry Pi - Mengenal YOLOv8, Teachable Machine, dan TensorFlow Lite untuk Proyek Computer Vision

 

Cara Membuat Sistem Deteksi Botol Minuman (Bottle Detection) Menggunakan Raspberry Pi dan Google Colab 

1. LANGKAH 1: Training Model di Google Colab

a. Unduh dataset melalui link berikut: https://universe.roboflow.com/roboflow-100/bottle-od

- Format YOLOv8 sudah tersedia, sehingga dataset bisa langsung diunduh melalui Roboflow API atau dalam bentuk file ZIP.

b. Buka Google Colab di: https://colab.research.google.com/ . Setelah itu pilih menu File > Notebook baru di Drive untuk membuat notebook baru.



c. Gunakan nama project “Bottle Detection



d. Install Ultralytics (YOLOv8)

Jalankan Perintah :

# === FIX kompatibilitas & setup paket ===

!pip uninstall -y wandb

!pip install --quiet "numpy==1.23.5" "ultralytics==8.3.0" "opencv-python-headless>=4.8.0.76"

import sys, os, platform

print("Python:", sys.version)

print("NumPy :", __import__("numpy").__version__)

print("OS :", platform.platform())

print("\n Setelah cell ini SELESAI, klik: Runtime → Restart runtime, lalu jalankan mulai Cell 2.")

Jika prosesnya berhasil, hasilnya akan terlihat seperti di bawah ini.



e. Nonaktifkan Weights & Biases (wandb) sepenuhnya.

Kemudian jalankan perintah berikut.

 

# Matikan W&B agar tidak pernah minta API key

import os

os.environ["WANDB_MODE"] = "disabled"

os.environ["WANDB_DISABLED"] = "true"

# (opsional, ganda) matikan dari setting Ultralytics juga

from ultralytics.utils import SETTINGS

SETTINGS.update({'wandb': False})

print("wandb dimatikan.")

 

Jika proses berhasil, hasilnya akan terlihat seperti di bawah ini.



f. Unggah file ZIP dataset dari komputer

Ketik kode program berikut, lalu klik Run. Jika berhasil, hasilnya akan muncul seperti di bawah ini.


g. Ekstrak file dataset ZIP

Masukkan kode program berikut, kemudian klik Run. Jika proses berhasil, hasilnya akan tampil seperti di bawah ini.



h. Import YOLO & cek GPU (opsional namun disarankan)

Jalan perintah berikut:

 

from ultralytics import YOLO

import torch

print("Ultralytics:", YOLO.__module__.split('.')[0])

print("PyTorch :", torch.__version__)

print("CUDA avail :", torch.cuda.is_available())

if torch.cuda.is_available():

print("GPU name :", torch.cuda.get_device_name(0))

 

Jika proses berhasil, hasilnya akan terlihat seperti pada tampilan di bawah ini.


i. Training model YOLOv8

Masukkan kode program berikut, kemudian klik Run.





Proses training akan terlihat seperti berikut:


j. Download model hasil training (best.pt)

Masukkan kode program berikut, lalu klik Run.



Model sudah ter-Download :


2. LANGKAH 2: Deploy Model ke Raspberry Pi

a. Membuat Virtual Environment

Pada tahap ini kita akan membuat folder proyek dan mengisolasi seluruh dependensi menggunakan venv.

- Buka terminal, lalu jalankan perintah: python3 -m venv bottle-env.

Gambar

- Jalankan perintah source bottle-env/bin/activate. Jika berhasil, hasilnya akan tampil seperti pada contoh di bawah ini.

Gambar

- Install library dengan cara jalankan perintah: pip install --upgrade pip setuptools wheel. Jika berhasil, hasilnya akan tampil seperti pada contoh di bawah ini.

Gambar

- Install library Numpy, OpenCV, dan YOLOv8 dengan menjalankan perintah berikut secara satu per satu:

    - pip install --upgrade pip

    - pip install "numpy==1.23.5" "opencv-python<4.9" "ultralytics==8.3.0"

b. Salin file model best.pt yang telah Anda unduh sebelumnya, kemudian tempelkan ke folder /home/pi/bottle-env/models.


c. Buka Thonny IDE, lalu pastikan Interpreter sudah diatur seperti pada tampilan di bawah ini:

Gambar

3. LANGKAH 3: Program Deteksi Botol (detect_bottle_cam.py)

a. Pastikan kamera webcam sudah terhubung dengan Raspberry Pi.

b. Masukkan kode program berikut, kemudian klik Run. Jika proses berhasil, hasilnya akan tampil seperti di bawah ini. Setelah itu, simpan file kode program dengan nama detect_bottle_cam.py.





c. Satu kali proses training belum tentu menghasilkan model yang akurat. Setiap proses training dapat memberikan hasil yang berbeda. Hal ini menjadi salah satu tantangan yang harus dihadapi oleh seorang AI Engineer. Jika sistem deteksi “Bottle”masih kurang akurat, maka training perlu diulang hingga memperoleh tingkat akurasi yang lebih baik. Beberapa cara yang dapat dilakukan untuk meningkatkan akurasi antara lain:

- Menambah jumlah dataset, misalnya dari ratusan gambar menjadi ribuan gambar.

- Meningkatkan jumlah epoch, misalnya dari 20 epoch menjadi 50 epoch atau lebih.

- Jika hasilnya masih belum optimal, gunakan dataset lain. Anda juga dapat mengambil foto botol dari berbagai sumber, termasuk memotret sendiri jika membutuhkan jenis botol tertentu. Hal ini karena dataset yang tersedia sebelumnya mungkin tidak sepenuhnya sesuai dengan jenis botol yang digunakan.

 

Membangun sistem deteksi botol minuman menggunakan YOLOv8 merupakan salah satu contoh penerapan nyata teknologi Artificial Intelligence dan computer vision dalam kehidupan sehari-hari. Dengan memanfaatkan dataset yang tepat serta proses training yang optimal, model AI dapat dilatih untuk mengenali objek dengan tingkat akurasi yang semakin baik.

 

Namun perlu diingat bahwa proses training model AI tidak selalu langsung menghasilkan performa yang optimal. Seorang AI Engineer sering kali perlu melakukan beberapa kali training ulang dengan menambahkan dataset, meningkatkan jumlah epoch, atau menggunakan data yang lebih bervariasi agar model mampu mengenali objek dengan lebih akurat.

 

Melalui proyek ini, diharapkan Anda dapat memahami dasar-dasar pembuatan sistem object detection menggunakan YOLOv8, mulai dari proses training hingga implementasi pada perangkat Raspberry Pi. Dengan terus bereksperimen dan mengembangkan dataset yang lebih beragam, Anda dapat menciptakan berbagai proyek AI lainnya yang lebih kompleks dan bermanfaat.

 

Baca juga: Tutorial Proyek AI - Membuat Tombol Virtual dengan Kamera Menggunakan Raspberry Pi, OpenCV, dan MediaPipe

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.

Posting Komentar

0 Komentar