Repositori ini adalah perpustakaan backend aplikasi berbasis GUI kami - MOTHe-GUI
Mothe adalah perpustakaan PYPI untuk mendeteksi dan melacak banyak hewan di lingkungan yang heterogen. MOTHe adalah repositori berbasis python dan menggunakan arsitektur Convolutional Neural Network (CNN) untuk tugas deteksi objek. Dibutuhkan gambar digital sebagai masukan dan membaca fitur-fiturnya untuk menetapkan kategori. Algoritma ini adalah algoritma pembelajaran yang berarti mereka mengekstrak fitur dari gambar dengan menggunakan data pelatihan berlabel dalam jumlah besar. Setelah model CNN dilatih, model ini dapat digunakan untuk mengklasifikasikan data baru (gambar). MOTHe dirancang bersifat generik yang memberdayakan pengguna untuk melacak objek yang diinginkan bahkan dalam lingkungan alami.
MOTHe dapat mengotomatiskan semua tugas yang terkait dengan klasifikasi objek dan dibagi menjadi 5 metode yang didedikasikan untuk tugas-tugas berikut:
Konfigurasi sistem : Konfigurasi sistem digunakan untuk mengatur MOTHe pada sistem pengguna. Detail dasar seperti jalur ke repositori lokal, jalur ke video yang akan diproses, ukuran individu yang akan dipotong, jumlah frame yang harus dilewati saat menjalankan deteksi atau pelacakan (untuk mengurangi waktu komputasi/untuk menjalankan kasus uji) dan ukuran kotak pembatas yang akan digambar selama fase deteksi.
Pembuatan kumpulan data : Pembuatan kumpulan data adalah langkah penting menuju deteksi dan pelacakan objek. Upaya manual yang diperlukan untuk menghasilkan jumlah data pelatihan yang diperlukan sangatlah besar. Kelas pembuatan data dan executable sangat mengotomatiskan proses dengan memungkinkan pengguna memotong wilayah yang diinginkan dengan mengklik sederhana melalui GUI dan secara otomatis menyimpan gambar di folder yang sesuai.
Melatih jaringan saraf konvolusionaltrain_model : Setelah menghasilkan contoh pelatihan dalam jumlah yang cukup, data digunakan untuk melatih jaringan saraf. Jaringan saraf menghasilkan pengklasifikasi sebagai keluaran. Keakuratan pengklasifikasi bergantung pada seberapa baik jaringan dilatih, yang pada gilirannya bergantung pada kualitas dan kuantitas data pelatihan (Lihat bagian Berapa banyak data pelatihan yang saya perlukan? ). Berbagai parameter penyetelan jaringan ditetapkan untuk membuat prosesnya mudah bagi pengguna. Jaringan ini berfungsi dengan baik untuk klasifikasi biner - objek yang diinginkan (hewan) dan latar belakang. Klasifikasi multikelas tidak didukung pada pipeline ini.
Deteksi objek : Metode ini melakukan dua tugas utama - pertama mengidentifikasi wilayah dalam gambar yang berpotensi terdapat hewan, ini disebut lokalisasi; kemudian melakukan klasifikasi pada wilayah yang dipangkas. Klasifikasi ini dilakukan dengan menggunakan CNN kecil (6 lapisan konvolusional). Outputnya berupa file .csv yang berisi lokasi hewan yang teridentifikasi di setiap frame.
Pelacakan objek : Pelacakan objek adalah tujuan akhir dari MOTHe. Modul ini memberikan ID unik kepada individu yang terdeteksi dan menghasilkan lintasannya. Kami telah memisahkan modul deteksi dan pelacakan, sehingga dapat juga digunakan oleh seseorang yang hanya tertarik pada data penghitungan (misalnya survei). Modularisasi ini juga memberikan fleksibilitas penggunaan algoritma pelacakan yang lebih canggih kepada pemrogram berpengalaman. Kami menggunakan kode yang ada untuk tugas pelacakan (dari halaman referensi Github). Algoritma ini menggunakan filter Kalman dan algoritma Hungaria. Skrip ini dapat dijalankan setelah deteksi dibuat pada langkah sebelumnya. Outputnya adalah file text{.csv} yang berisi ID individual dan lokasi untuk setiap frame. Output video dengan ID unik pada setiap individu juga dihasilkan.
MOTHe adalah paket python yang menggunakan beberapa perpustakaan python lain yang mungkin telah diperbarui. Oleh karena itu, penting untuk mengetahui versi yang kita unduh/instal. Versi python yang direkomendasikan adalah rilis stabil python3.6 hingga python3.7 (Linux versi LTS terbaru (misal: Ubuntu 20.04 Focal Fossa) diinstal dengan stock python3.8 yang tidak kompatibel dengan MOTHe). Python3.8 tidak mendukung versi Tensorflow di bawah rilis 2.2 yang diperlukan oleh MOTHe agar berfungsi. Harap perhatikan versi beberapa perpustakaan yang dimodifikasi dengan agak cepat dan baru-baru ini digunakan untuk menguji MOTHe: