Cara Kerja Deteksi Objek: YOLO Dijelaskan Sederhana

Deteksi objek YOLO bekerja dengan membagi gambar menjadi grid sel dan memprediksi kotak pembatas serta kelas objek pada setiap sel dalam satu kali proses. Semua objek bisa ditemukan dalam sekali jalan tanpa memindai gambar berulang-ulang. Pendekatan ini yang membedakannya dari model deteksi lama.

Masalah yang Dipecahkan Deteksi Objek

Bayangkan kamu punya foto jalan raya. Di dalamnya ada mobil, motor, pejalan kaki, rambu, dan tiang lampu. Tugas deteksi objek adalah memberi tahu komputer di mana letak setiap objek dan apa jenisnya. Keluarannya bukan sekadar label "mobil", tapi koordinat kotak di sekitar mobil plus nama kelasnya.

Model lama seperti R-CNN memecah pekerjaan ini menjadi beberapa tahap. Pertama mencari kandidat area yang mungkin berisi objek, lalu mengklasifikasi tiap area satu per satu. Pendekatan itu akurat, tapi lambat karena gambar harus diproses berkali-kali. Untuk aplikasi yang butuh respons cepat, cara itu kurang praktis.

Ide Dasar di Balik YOLO

YOLO adalah singkatan dari You Only Look Once, dan namanya cukup menggambarkan idenya. Gambar cukup dilihat satu kali oleh jaringan saraf, lalu jaringan itu langsung mengeluarkan semua prediksi kotak dan kelasnya. Tidak ada tahap pencarian kandidat terpisah.

Untuk melakukan itu, YOLO membagi gambar menjadi grid, misalnya 13 kali 13 sel. Setiap sel bertanggung jawab memprediksi objek yang pusatnya jatuh di dalam sel tersebut. Sel yang berisi pusat sebuah mobil akan mengeluarkan koordinat kotak untuk mobil itu, skor keyakinan, dan daftar probabilitas kelas.

Karena satu sel bisa saja memuat pusat lebih dari satu objek kecil, versi YOLO yang lebih baru memakai lebih dari satu kotak pembatas per sel. Ini membantu model menangani objek yang berdekatan atau berukuran kecil.

Alur Kerja dari Gambar ke Kotak Pembatas

1. Gambar diubah menjadi tensor

Gambar asli diperkecil ke ukuran tertentu, misalnya 640 kali 640 piksel, lalu diubah menjadi kumpulan angka yang bisa diproses jaringan saraf. Pada tahap ini, rasio aspek harus dijaga agar objek tidak gepeng dan koordinatnya tetap bisa dipetakan kembali ke gambar asli.

2. Fitur diekstrak oleh backbone

Bagian ini berupa jaringan konvolusi yang menelusuri gambar dari lapisan ke lapisan. Lapisan awal menangkap tepi dan tekstur, lapisan tengah mengenali bentuk, dan lapisan akhir mulai mengenali pola yang lebih rumit seperti roda atau wajah. Fitur-fitur ini nantinya dipakai untuk memprediksi posisi dan kelas objek.

3. Prediksi dibuat di beberapa skala

YOLO modern membuat prediksi pada beberapa resolusi grid sekaligus. Grid kasar cocok untuk objek besar, grid halus menangkap objek kecil. Inilah sebabnya model bisa mendeteksi mobil di kejauhan dan rambu kecil di pinggir jalan dalam satu kali jalan.

4. Prediksi mentah disaring

Jaringan biasanya menghasilkan ribuan kotak calon, dan sebagian besar isinya sampah. Proses penyaringan memakai ambang skor keyakinan, lalu dilanjutkan dengan non-maximum suppression. Cara ini membuang kotak yang saling tumpang tindih dan menyisakan satu kotak terbaik per objek.

5. Hasil dipetakan kembali ke gambar asli

Koordinat kotak yang sebelumnya dalam skala kecil dikonversi balik ke ukuran gambar asli. Setelah itu kamu mendapat daftar berisi kelas, koordinat kotak, dan skor keyakinan.

Apa Saja yang Keluar dari Model

Setiap deteksi terdiri dari empat angka koordinat kotak, satu label kelas, dan satu skor keyakinan. Empat angka itu biasanya ditulis sebagai x, y, lebar, dan tinggi, atau sebagai sudut kiri atas dan kanan bawah. Format mana pun sah, asal konsisten saat kamu memproses hasilnya.

Skor keyakinan bukan probabilitas bahwa objek benar-benar ada, melainkan gabungan antara seberapa yakin model ada objek di kotak itu dan seberapa cocok kelasnya. Nilai ambang yang terlalu rendah membuat banyak deteksi palsu, sedangkan ambang terlalu tinggi membuat objek nyata terlewat.

Kenapa YOLO Cepat

Karena semua prediksi keluar dalam satu kali umpan maju jaringan, waktu prosesnya bisa diprediksi dan relatif stabil. Ini penting untuk aplikasi yang berjalan pada video, misalnya penghitung kendaraan atau pemantau area. Di GPU biasa, model YOLO versi ringan bisa memproses puluhan frame per detik.

YOLO juga tersedia dalam berbagai ukuran model. Versi kecil cocok untuk perangkat dengan daya terbatas, versi besar dipakai saat akurasi lebih penting daripada kecepatan. Jika kamu menjalankan model di laptop tanpa GPU, pilih varian kecil dan turunkan resolusi input agar tetap responsif, seperti dibahas di panduan menjalankan model AI tanpa GPU.

Yang Perlu Disiapkan Sebelum Melatih

Model YOLO tidak otomatis tahu objek apa yang harus dicari. Ia belajar dari data berlabel. Kamu perlu kumpulan gambar dan anotasi kotak pembatas untuk setiap objek yang ingin dideteksi. Semakin konsisten aturan pelabelanmu, semakin baik hasil model.

Untuk urusan pengumpulan dan penataan gambar, langkahnya mirip dengan proyek computer vision lain. Kamu bisa mulai dari menyiapkan dataset gambar untuk computer vision, lalu lanjut ke proses memberi label data gambar. Dua tahap ini menentukan seberapa berguna model yang nanti kamu latih.

Hal yang sering terlewat

  • Variasi pencahayaan dan sudut pengambilan gambar kurang, sehingga model gagal di kondisi nyata.
  • Objek kecil jarang muncul di data latih, padahal di lapangan justru banyak.
  • Kelas yang mirip diberi label berbeda tanpa aturan jelas, misalnya "mobil" dan "kendaraan".
  • Data validasi diambil dari video yang sama dengan data latih, sehingga skor terlihat bagus padahal model menghafal.

Kapan YOLO Kurang Cocok

YOLO kurang pas untuk objek yang sangat kecil dan berdesakan, misalnya menghitung biji pada foto resolusi tinggi atau membaca teks rapat. Untuk kasus seperti itu, model segmentasi atau pendekatan dua tahap bisa lebih tepat.

YOLO juga bukan alat hitung. Ia memberi kotak di sekitar objek, bukan jumlah pasti. Kalau kamu memakai hasil deteksi untuk menghitung kendaraan, siapkan logika tambahan untuk melacak objek antar frame agar kendaraan yang sama tidak terhitung berkali-kali.

Jika proyekmu melibatkan perangkat keras tambahan seperti kamera dan sensor, rangkaian sederhana berbasis Arduino bisa jadi langkah awal yang murah untuk memahami alur pengambilan data. Ada beberapa proyek Arduino sederhana untuk pemula yang bisa kamu coba sebelum membangun sistem deteksi penuh.

Mulai dari Mana

Cara paling cepat memahami deteksi objek YOLO adalah mencoba model yang sudah dilatih pada dataset umum. Jalankan pada beberapa foto atau rekaman layar, lihat hasilnya, lalu ubah ambang keyakinan untuk melihat efeknya. Setelah itu barulah masuk ke pelatihan dengan data sendiri.

Untuk memantau hasil deteksi saat menguji model, layar eksternal dengan ruang lebih lega cukup membantu, terutama kalau kamu perlu melihat kode dan jendela hasil secara bersamaan. Ada pertimbangan tersendiri soal ini, seperti diulas dalam panduan memilih monitor eksternal untuk laptop kerja.

Ringkasan

Deteksi objek YOLO membagi gambar menjadi grid, memprediksi kotak dan kelas pada setiap sel, lalu menyaring hasilnya dengan ambang keyakinan dan non-maximum suppression. Semua terjadi dalam satu kali umpan maju, itulah sebabnya model ini cepat. Kualitas hasilnya tetap bergantung pada data latih yang kamu siapkan dan ambang yang kamu pilih saat menjalankan model.

Pertanyaan yang Sering Diajukan

Apakah YOLO bisa mendeteksi objek yang tidak ada di data latih?

Tidak. Model hanya mengenali kelas yang pernah dipelajari. Objek di luar daftar kelas akan diabaikan atau salah diberi label sebagai kelas yang paling mirip. Untuk objek baru, kamu perlu menambah data dan melatih ulang model.

Berapa banyak gambar yang dibutuhkan untuk melatih model deteksi?

Jumlahnya bervariasi tergantung kerumitan objek dan variasi kondisi. Untuk satu hingga beberapa kelas yang cukup khas, ratusan gambar beranotasi sering sudah memberi hasil awal yang bisa dievaluasi. Tambah data pada kondisi yang masih sering salah, bukan sekadar menambah jumlah.

Apakah skor keyakinan tinggi berarti deteksinya selalu benar?

Belum tentu. Skor tinggi berarti model sangat yakin, tetapi model bisa yakin pada hal yang salah jika data latihnya bias. Karena itu, evaluasi tetap perlu dilakukan pada data validasi yang benar-benar berbeda dari data latih.