Setup lengkap Ultralytics dan inference pertama: pip install, load model pretrained yolo26n.pt, perintah yolo predict via CLI, Python API, deteksi pada gambar/video/webcam, serta membaca struktur hasil Results

Episode lalu kita membedah isi kap mesin — backbone, neck, dan head. Sekarang saatnya menyalakan mesinnya: di episode ini kalian akan melakukan deteksi objek pertama dengan YOLO26, dari instalasi sampai hasil anotasi yang bisa dilihat mata.
Ini momen penting karena inference adalah lingkaran feedback tercepat dalam pekerjaan vision: kalian ubah input, jalankan, lihat hasil dalam hitungan detik. Hampir semua eksperimen di episode-episode berikutnya (multi-task, tracking, export) dibangun di atas pola yang sama dengan yang kita pelajari hari ini. Kuasai episode ini, dan sisanya hanya variasi.
Jika episode 0 sudah kalian ikuti, langkah ini cepat:
pip install ultralytics
yolo versionUltralytics menyediakan dua antarmuka yang setara: CLI untuk eksplorasi cepat, dan Python API untuk integrasi aplikasi. Keduanya akan kita pakai bergantian sepanjang series.
Saat pertama kali dipakai, model pretrained akan ter-download otomatis ke folder cache lokal. File yolo26n.pt berisi bobot hasil training di COCO — kalian memanfaatkan transfer learning tanpa biaya apa pun.
Cara tercepat merasakan kekuatan YOLO — satu baris, tanpa kode:
yolo predict model=yolo26n.pt source="https://ultralytics.com/images/bus.jpg"Hasilnya tersimpan di runs/detect/predict/: gambar asli dengan bounding box hijau, label class, dan confidence score di tiap objek. Pada gambar bus klasik itu kalian akan melihat bus, beberapa orang, dan mungkin fire hydrant terdeteksi dengan skor di atas 0.85.
Beberapa flag CLI yang paling sering dipakai:
# simpan hasil ke folder spesifik + threshold custom
yolo predict model=yolo26n.pt source=street.jpg project=demo name=coba conf=0.4
# deteksi dari webcam real-time (jendela preview terbuka)
yolo predict model=yolo26n.pt source=0 show=Truesource bisa hampir apa saja: path gambar/folder, URL, video .mp4, nomor webcam (0), bahkan stream RTSP CCTV.conf mengatur ambang confidence — ingat trade-off precision/recall dari episode 1.show=True membuka jendela preview langsung.Untuk aplikasi nyata, Python API memberi kontrol penuh:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.predict(
source="https://ultralytics.com/images/bus.jpg",
conf=0.25,
save=True,
)
r = results[0] # satu gambar = satu object Result
print(f"Jumlah deteksi: {len(r.boxes)}")
for box in r.boxes:
cls_id = int(box.cls.item())
conf = float(box.conf.item())
xyxy = box.xyxy[0].tolist()
print(f"{model.names[cls_id]:>10} {conf:.2f} [{xyxy[0]:.0f}, {xyxy[1]:.0f}, {xyxy[2]:.0f}, {xyxy[3]:.0f}]")Output kurang lebih:
Jumlah deteksi: 5
bus 0.92 [17, 228, 793, 769]
person 0.89 [47, 398, 241, 902]
person 0.87 [223, 396, 344, 852]
person 0.85 [678, 396, 809, 881]
person 0.72 [49, 430, 112, 687]ResultsStruktur ini akan kalian pakai terus-menerus, hafalkan bentuknya:
| Properti | Isi | Tipe |
|---|---|---|
boxes.xyxy | Koordinat pojok box (piksel absolut) | Tensor (N, 4) |
boxes.cls | Indeks kelas | Tensor (N,) |
boxes.conf | Confidence score | Tensor (N,) |
names | Kamus id → nama kelas | Dict |
masks | Segmentasi (hanya task -seg) | Tensor |
keypoints | Pose (hanya task -pose) | Tensor |
Tip
Semua nilai tensor di atas berada di device GPU (jika ada). Panggil .cpu().numpy() atau .item() sebelum memakainya di library lain seperti OpenCV/pandas — kesalahan paling umum pemula adalah mencampur tensor PyTorch langsung dengan array NumPy.
Polanya identik — cukup ganti source:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.predict(source="traffic.mp4", stream=True, save=True)
for r in results: # satu frame per iterasi
n_people = sum(1 for b in r.boxes if int(b.cls.item()) == 0)
print(f"orang terdeteksi di frame ini: {n_people}")Kata kunci penting: stream=True. Tanpa itu, Ultralytics mengumpulkan hasil seluruh video di memori RAM — video panjang akan membuat program kalian mati OOM (out of memory). Dengan stream=True hasil diproses frame-per-frame seperti generator.
Pola ini menjadi fondasi use case nyata: hitung kendaraan lewat garis, deteksi helm di area konstruksi, monitoring antrean — semuanya dimulai dari loop di atas. Untuk menghitung lintasan objek antar frame (bukan sekadar deteksi per-frame), kita butuh tracking — punya episode sendiri di episode 16.
yolo26n.pt. Huruf besar/kecil berpengaruh.conf terlalu rendah; naikkan ke 0.4–0.5 untuk hasil yang lebih selektif.Warning
Jangan pernah menilai kemampuan YOLO hanya dari satu gambar. Model COCO dirancang untuk objek sehari-hari natural image; uji dengan puluhan contoh dari domain kalian sebelum menyimpulkan "YOLO tidak bisa". Kesimpulan prematur seperti ini yang bikin orang berhenti di episode 4.
Yang sudah kalian kuasai hari ini:
ultralytics; model pretrained yolo26n.pt ter-download otomatis saat pertama dipakai.yolo predict) untuk eksplorasi cepat; Python API untuk aplikasi nyata.Results: boxes.xyxy/cls/conf, names, plus masks/keypoints untuk task lain.stream=True wajib untuk video panjang agar RAM aman.Di episode 5 kita manfaatkan sifat multi-task Ultralytics: model yang sama bisa mendeteksi (detect), memotong instance (segment), dan mengklasifikasi (classify) — kita jalankan ketiganya pada satu input dan lihat bagaimana output Results berubah bentuk. Sampai jumpa!