
Halo teman-teman! ๐
Kali ini saya ingin berbagi pengalaman menarik tentang belajar bahasa pemrograman Python, khususnya untuk proyek Computer Vision menggunakan Tiny YOLO โ salah satu model object detection paling populer dan efisien saat ini.
Pengertian Bahasa Pemrograman Python
Python adalah bahasa pemrograman yang terkenal karena sintaksnya sederhana dan mudah dipahami.
Bahasa ini banyak digunakan untuk berbagai bidang seperti:
- ๐ก Data science
- ๐ค Artificial Intelligence (AI)
- ๐งฎ Machine Learning
- ๐ผ๏ธ Computer Vision
- ๐ Web Development
Bagi pemula, Python menjadi pilihan ideal karena dokumentasinya lengkap, komunitasnya besar, dan banyak pustaka (library) pendukung yang bisa digunakan dengan mudah.
๐ค Pengertian Tiny YOLO
Tiny YOLO (You Only Look Once) adalah versi ringan dari algoritma YOLO, sebuah sistem deteksi objek yang mampu mengenali benda dalam gambar atau video secara real-time.
Nama โTinyโ menunjukkan bahwa model ini memiliki ukuran lebih kecil dan berjalan lebih cepat, meskipun akurasinya sedikit di bawah versi penuh.
Dengan Tiny YOLO, kamu bisa mendeteksi berbagai objek seperti manusia, mobil, hewan, botol, dan ratusan kategori lainnya hanya dengan satu algoritma.
โ๏ธ Mengapa Python Cocok untuk Tiny YOLO?
Python menjadi bahasa utama untuk implementasi YOLO karena:
- Memiliki pustaka populer seperti OpenCV, NumPy, dan TensorFlow
- Mudah digunakan untuk pemrosesan gambar
- Dapat dijalankan di hampir semua sistem operasi (Windows, macOS, Linux)
- Banyak contoh dan tutorial gratis di internet
๐งฉ Persiapan Awal
Sebelum mulai, pastikan kamu sudah menginstal:
- Python 3.x โ Download di python.org
- Instal pustaka pendukung lewat terminal:
pip install opencv-python numpy - Unduh file konfigurasi dan bobot Tiny YOLO:
yolov3-tiny.cfg |
yolov3-tiny.weights |
coco.names
๐ป Contoh Kode Python Tiny YOLO
import cv2
import numpy as np
# Load YOLO
net = cv2.dnn.readNet("yolov3-tiny.weights", "yolov3-tiny.cfg")
classes = []
with open("coco.names", "r") as f:
classes = [line.strip() for line in f.readlines()]
layer_names = net.getLayerNames()
output_layers = [layer_names[i - 1] for i in net.getUnconnectedOutLayers()]
# Buka kamera (gunakan 0 untuk webcam)
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
height, width, channels = frame.shape
blob = cv2.dnn.blobFromImage(frame, 0.00392, (416, 416), (0, 0, 0), True, crop=False)
net.setInput(blob)
outs = net.forward(output_layers)
class_ids = []
confidences = []
boxes = []
for out in outs:
for detection in out:
scores = detection[5:]
class_id = np.argmax(scores)
confidence = scores[class_id]
if confidence > 0.5:
center_x = int(detection[0] * width)
center_y = int(detection[1] * height)
w = int(detection[2] * width)
h = int(detection[3] * height)
x = int(center_x - w / 2)
y = int(center_y - h / 2)
boxes.append([x, y, w, h])
confidences.append(float(confidence))
class_ids.append(class_id)
indexes = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)
font = cv2.FONT_HERSHEY_PLAIN
for i in range(len(boxes)):
if i in indexes:
x, y, w, h = boxes[i]
label = str(classes[class_ids[i]])
color = (0, 255, 0)
cv2.rectangle(frame, (x, y), (x + w, y + h), color, 2)
cv2.putText(frame, label, (x, y + 30), font, 2, color, 2)
cv2.imshow("Tiny YOLO Object Detection", frame)
if cv2.waitKey(1) == 27: # tekan ESC untuk keluar
break
cap.release()
cv2.destroyAllWindows()
๐ Hasilnya
Setelah dijalankan, jendela kamera akan terbuka dan model akan menampilkan kotak berwarna di sekitar objek yang dikenali โ lengkap dengan nama objek dan tingkat kepercayaan (confidence level).
๐ฏ Kesimpulan
Belajar Python dengan Tiny YOLO membuka pintu untuk memahami dunia Artificial Intelligence (AI) dan Computer Vision. Dengan latihan bertahap, kamu bisa membuat proyek keren seperti:
- Sistem deteksi wajah
- Kamera keamanan otomatis
- Penghitung kendaraan
- Aplikasi pengenalan benda
Semakin sering berlatih, semakin mudah memahami logika dan struktur pemrogramannya. Selamat mencoba dan semoga bermanfaat! ๐ชโจ