Filmora
Filmora - AI Video Editor
Aplikasi Video Editor yang Canggih dan Sederhana
BUKA
Filmora Video Editor
Buat video dengan mudah menggunakan AI.
  • Berbagai alat pengeditan AI untuk meningkatkan efisiensi pembuatan video Anda
  • Tawarkan templat populer dan sumber daya kreatif bebas royalti
  • Fungsionalitas lintas platform untuk mengedit di mana saja

Pelacakan Objek OpenCV: Panduan Lengkap

Liza Brown
Liza Brown Published time 2023-10-10, Edit time 2024-07-26

Pelacakan OpenCV adalah metode populer yang digunakan untuk melacak objek dalam video secara real-time. OpenCV adalah perpustakaan canggih yang digunakan untuk melakukan pengolahan gambar dan aplikasi visi komputer.

Mulai dari analisis video real-time hingga Augmented Reality, Pelacakan OpenCV memiliki banyak kegunaan dan dapat membantu sektor swasta dan publik untuk mendeteksi dan melacak objek yang diinginkan dalam gambar atau video.

Dalam panduan lengkap ini, kita akan menjelajahi Pelacakan OpenCV dan pelacak bawaannya. Kita akan menggunakan perpustakaan OpenCV dan Python untuk mengimplementasikan aplikasi Pelacakan Objek ini.

Pada artikel ini
    1. SOT & MOT
    2. Perbedaan Antara Pelacakan Dan Deteksi
    1. Pelacakan Gambar
    2. Pelacakan Video
  1. Apa Kesulitan dari Pelacakan Objek
    1. Tahapan Proses Pelacakan Objek
    2. Metode Pelacakan Objek
    1. Apa itu OpenCV
    2. Algoritme Bawaan yang Ditawarkan Oleh OpenCV untuk Pelacakan Objek
    3. Implementasi Menggunakan Python dan OpenCV

Bagian 1. Apa itu Pelacakan Objek?

Pelacakan Objek menentukan lokasi suatu objek dalam video dan dapat digunakan untuk berbagai tujuan, termasuk pengawasan, keamanan, pengendalian lalu lintas, forensik digital, deteksi anomali, pengenalan gerakan, pengawasan visual, interaksi manusia-komputer, augmented reality, dan penglihatan robot.

Meskipun ini terlihat sederhana bagi orang biasa, pelacakan objek merupakan hal yang kompleks bagi komputer karena mereka harus melakukan analisis pada serangkaian frame dan memperkirakan jalur pergerakan objek berdasarkan data angka, bukan gambar.

Karena kerumitannya, Pelacakan Objek dianggap sebagai salah satu pekerjaan tersulit dalam visi komputer. Meski menantang, bukan berarti ini tidak dapat berhasil.

Dan ada dua level Pelacakan Objek yang harus Anda pelajari:

1. SOT & MOT

  1. Pelacakan Objek Tunggal (SOT): SOT adalah algoritme pelacakan yang membuat model tampilan canggih dan/atau model gerak untuk mengelola masalah sulit seperti rotasi di luar bidang, variasi iluminasi, atau perubahan skala.
  2. Pelacakan Banyak Objek (MOT): MOT melacak setiap bagian video dan fokus utamanya adalah pada tugas tingkat menengah, dan berfungsi sebagai dasar untuk tugas tingkat tinggi.

Untuk memperoleh pemahaman yang lebih mendalam tentang dua tingkatan pelacakan objek, silakan baca artikel kami tentang: Panduan Lengkap tentang Pelacakan Multi Objek.(同期交付,可以插这个文章主题的内链)

2. Perbedaan Antara Pelacakan Dan Deteksi

Setelah mengetahui apa itu Pelacakan Objek, ada konsep lain yang juga harus Anda ketahui - Deteksi Objek.

Pelacakan Objek dan Deteksi Objek adalah dua metode penting dalam visi komputer. Pelacakan Objek melacak posisi objek tertentu dalam gambar secara real-time, sementara Deteksi Objek mengidentifikasi dan memposisikan objek dalam sebuah gambar atau video. Itulah perbedaannya.

Bagian 2. Jenis Pelacakan Objek

Pelacakan Gambar

Pelacakan gambar memungkinkan pengguna berinteraksi dengan konten digital secara lebih alami dan membantu pengguna bergerak dan berinteraksi dengan objek digital dengan cara yang sama seperti yang mereka lakukan dengan objek fisik pada dunia nyata.

Pelacakan gambar dapat digunakan di berbagai aplikasi augmented reality (AR), seperti game AR, belanja, dan navigasi. Selain itu, Anda juga dapat menggunakannya untuk kepentingan pendidikan, seperti mengajar anatomi atau memberikan instruksi untuk tugas yang sulit.

pelacakan gambar dalam augmented reality

Pelacakan Video

Pelacakan video adalah proses pelacakan objek dalam urutan video dan dapat digunakan untuk berbagai penggunaan, seperti mendeteksi dan menghitung objek dalam sebuah adegan, memahami gerakannya, dan mengenali aktivitas.

Bagian 3. Apa Kesulitan dari Pelacakan Objek?

Seperti yang telah disebutkan di atas, penggunaan pelacakan objek bersifat serbaguna. Namun, ada beberapa tantangan terkait Pelacakan Objek, seperti:

Kekacauan Background: Background dapat mempengaruhi proses ekstraksi ciri-ciri objek. Jika background-nya lebih padat, pendeteksian atau pelacakan objek yang menjadi fokus utama bisa menjadi lebih sulit.

Oklusi: Ini adalah kejadian di mana objek yang dilacak dipengaruhi oleh background atau foreground. Akibatnya, algoritme pelacakan menjadi bingung ketika terdapat banyak objek yang berdekatan satu sama lain, sehingga kehilangan jejak objek yang sedang dilacak.

masalah oklusi pada pelacakan objek

Skala spasial yang bervariasi: Skala spasial yang bervariasi mengacu pada objek target yang memiliki ukuran atau bentuk yang berbeda, yang dapat membingungkan algoritme dan mengakibatkan terjadinya kesalahan.

Kecepatan Pelatihan dan Pelacakan: Jika objek bergerak terlalu cepat atau terlalu kecil, objek tersebut akan sulit untuk dilacak. Oleh karena itu, modul pelacakan harus dirancang untuk melacak, mengidentifikasi, dan memposisikan objek dalam hitungan detik.

Bagian 4. Tahapan Proses Pelacakan Objek

Setelah pengenalan tentang pelacakan objek secara teknis, mari kita pelajari mekanismenya dari dua sisi: tahapan dalam proses kerjanya dan metode pelacakan yang digunakan.

1. Tahapan Proses Pelacakan Objek

Berikut adalah tahapan dari proses Pelacakan Objek:

Inisialisasi Target

Inisialisasi target adalah langkah pertama dalam Pelacakan Objek dan melibatkan penentuan target atau objek yang menjadi fokus utama dan menggambar kotak pembatas di sekelilingnya pada frame awal. Setelah itu, pelacak harus mendeteksi posisi objek di dalam frame sambil menggambar kotak pembatas.

Pemodelan Tampilan

Pemodelan tampilan merupakan hal penting untuk memahami bagaimana suatu objek akan terlihat dalam keadaan yang berbeda. Jika objek yang dilacak berubah tampilannya karena pencahayaan, sudut, atau kecepatan yang berbeda, algoritme pelacakan dapat kehilangan informasinya dan objek itu sendiri. Oleh karena itu, permodelan tampilan dilakukan agar algoritma mendeteksi perubahan dan distorsi.

tahap pemodelan tampilan dalam pelacakan objek

Estimasi Gerakan

Estimasi gerakan melibatkan kemampuan model untuk mengantisipasi posisi masa depan objek dengan akurasi.

Penempatan Target

Estimasi gerakan adalah proses untuk mengestimasi wilayah yang kemungkinan besar objek akan berada. Setelah lokasi objek diperkirakan, model visual dapat digunakan untuk menentukan lokasi target dengan lebih akurat.

2. Metode Pelacakan Objek

Inilah beberapa metode Pelacakan Objek:

Pelacakan Objek Berbasis OpenCV

Metode Pelacakan Objek OpenCV banyak digunakan karena menawarkan beberapa fungsi bawaan yang dirancang khusus untuk tujuan ini, seperti GOTURN, MIL, MediandFlow, dan CSRT. Jenis pelacak yang Anda pilih akan bergantung pada desain aplikasi spesifik Anda. Setiap pelacak memiliki pro dan kontra, jadi tidak ada satu jenis pelacak yang ideal untuk semua aplikasi.

MDNet

Multi-Domain Convolutional Neural Network Tracker adalah pelacak visual berbasis saraf konvolusional yang telah berhasil memenangkan tantangan VOT2015. Selain itu, pelacak ini terdiri dari layer khusus domain, cabang, dan beberapa layer bersama.

Pelacak MDNetT adalah jaringan saraf dalam yang dilatih menggunakan berbagai kumpulan data Pelacakan Objek. Pelacak dirancang agar dapat bekerja di berbagai domain, termasuk video, teks, dan gambar.

DeepSort

Algoritma DeepSort dapat melacak objek secara real-time dan menggunakan YOLO v3 untuk menghitung kotak pembatas di sekitar objek dalam frame.

DeepSort menggunakan filter Kalman dari algoritma Simple Online dan Realtime Tracking, serta model identifikasi ReID untuk menghubungkan kotak pembatas dan jejak objek.

ROLO

ROLO adalah metode baru dalam Pelacakan Objek yang menggunakan jaringan saraf berulang (RNN) untuk mempelajari representasi Spatio-temporal yang khusus objek. Metode ini kompatibel dengan YOLO, sebuah algoritma deteksi objek, dan LTSM untuk menentukan jalur pergerakan objek.

Bagian 5. Backup yang canggih: OpenCV

Kami telah menunjukkan betapa hebatnya Pelacakan OpenCV dan cara kerjanya. Namun, apakah Anda bertanya-tanya apa itu OpenCV? Bagaimana OpenCV mendukung pencapaian tujuan pelacakan? Pada bagian ini, kami akan fokus pada OpenCV dan membantu Anda memperoleh pemahaman yang lebih baik tentang mekanisme yang mendasarinya.

1. Apa itu OpenCV?

OpenCV adalah perpustakaan canggih yang memungkinkan Anda melakukan pemrosesan gambar, pembelajaran mendalam, pembelajaran mesin, dan visi komputer pada feed video live. Selain itu, OpenCV dapat digunakan untuk mendeteksi objek, melacak pergerakannya, dan mengenali wajah.

Ini dapat membantu memproses data yang berisi video dan gambar, dan telah digunakan dalam berbagai aplikasi, seperti pengenalan dan deteksi objek, mobil otonom, robot, analisis gambar medis, pengawasan otomatis, dan deteksi anomali.

2. Algoritme Bawaan yang Ditawarkan Oleh OpenCV untuk Pelacakan Objek

Terdapat 8 algoritme bawaan yang ditawarkan OpenCV untuk Pelacakan Objek. Semuanya memiliki keunikan masing-masing dan di sini kami akan membahas pro dan kontranya untuk memberikan pemahaman yang lebih baik

Pelacak Pro Kontra
BOOSTING Tracker
  • Melacak objek secara akurat.
  • Relatif lambat.
  • Tidak dapat berhenti ketika objek hilang.
MIL Tracker
  • Ketahanan yang kuat terhadap noise.
  • Memberikan hasil yang akurat.
  • Kecepatan rendah.
  • Tidak dapat menghentikan pelacakan setelah objek hilang.
KCF Tracker
  • Kecepatan dan akurasi tinggi.
  • Menghentikan pelacakan saat objek hilang.
  • Ketidakmampuan untuk melanjutkan pelacakan objek setelah objeknya hilang.
TLD Tracker
  • Ketahanan terhadap tumpang tindih dan penskalaan objek.
  • Tidak stabil dalam deteksi dan pelacakan objek.
  • Terus-menerus kehilangan objek.
MEDIANFLOW Tracker
  • Akurasi dan kecepatan tinggi.
  • Akurat dalam menentukan objek yang hilang.
  • Kehilangan objek dengan cepat karena kecepatan tinggi.
GOTURN Tracker
  • Menunjukkan ketahanan terhadap penghalang dan noise.
  • Jika kecepatan suatu benda tinggi, benda itu bergeser ke benda lain.
MOSSE Tracker
  • Mampu melanjutkan pelacakan setelah objek hilang.
  • Kecepatan tinggi.
  • Mudah kehilangan objek jika kecepatannya sangat tinggi.
CSRT Tracker
  • Ketahanan yang baik terhadap tumpang tindih.
  • Akurasi tinggi.
  • Kecepatan rendah.
  • Tidak stabil saat objek hilang.

3. Implementasi Menggunakan Python dan OpenCV

Sekarang, setelah penjelasan teoretis tentang OpenCV dan Pelacakan OpenCV berakhir, mari kita pelajari Pelacakan Objek Python OpenCV dengan menggunakan kode dan petunjuk sederhana langkah demi langkah:

Instal Dependency

Instal aplikasi pycharm di PC Anda, dan buka aplikasinya. Buat proyek baru dan buka Terminal. Instal paket opencv-contrib-python dengan menempelkan perintah berikut ke Terminal.

Siapkan Pelacak

Sekarang, buat notebook Jupyter dan atur pelacak dengan kode ini:

atur pelacak di opencv untuk mengimplementasikan pelacakan objek

Tugas:

  • cv2. version mengembalikan nomor versi perpustakaan OpenCV.
  • Simpan nama delapan pelacak.
  • Periksa daftar untuk versi yang sedang Anda gunakan dan buat objek pelacak berdasarkan nomornya.

Rekam Input Video

Untuk merekam input video, tulis baris kode berikut:

rekam input video di opencv untuk mengimplementasikan pelacakan objek

Tugas:

  • Gunakan kelas VideoCapture untuk merekam video melalui webcam atau menyimpan video dari PC Anda.
  • Di VideoCapture - baris 2, tuliskan path ke video Anda.
  • Beri komentar pada baris kedua untuk menggunakan webcam untuk melacak dan batalkan komentar pada baris ketiga.

Membuat Kotak Pembatas Dan Menginisialisasi Pelacak

Tentukan kotak pembatas acak awal atau pilih pilihan untuk objek yang ingin Anda lacak dengan kode berikut:

buat kotak pembatas dan inisialisasi pelacak di opencv untuk mengimplementasikan pelacakan Objek

Mulai Pelacak Dan Periksa Outputnya

Terakhir, tulis baris kode di bawah ini untuk memulai pelacak:

mulai pelacak dan periksa output di opencv untuk mengimplementasikan pelacakan objek

Tugas

  • Baca setiap frame video.
  • Mulailah menghitung waktu dan gunakan pelacak untuk menentukan jalur pergerakan objek.
  • Gunakan jalur pergerakan tersebut untuk menggambar kotak pembatas.
  • Program akan mulai melacak. Setelah itu, tekan spasi untuk berhenti melacak.

Video – Pelacakan Objek dengan Opencv dan Python

Kesimpulan

Pada artikel ini, kami telah membahas Pelacakan Objek secara mendetail dan perbandingannya dengan Deteksi Objek. Selanjutnya, kami telah menjelajahi metode yang digunakan untuk melacak objek dan memberikan panduan lengkap tentang metode Pelacakan OpenCV dan fungsionalitas bawaannya.

Semoga panduan ini bermanfaat bagi Anda, dan sekarang Anda dapat melacak objek secara real-time tanpa adanya masalah.

Download Gratis
Download Gratis
Liza Brown
Liza Brown Jul 26, 24
Share article: