Belajar Bahasa Pemrograman Python dengan Tiny YOLO

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:

  1. Python 3.x โ†’ Download di python.org
  2. Instal pustaka pendukung lewat terminal:
    pip install opencv-python numpy
  3. 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! ๐Ÿ’ชโœจ

By Futuhal

Leave a Reply

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