Deteksi & Pelacakan UAV yang Robust melalui Computer Vision Berbasis AI
Abstrak
Dengan inovasi teknologi, keamanan menjadi masalah terbesar yang harus ditangani. Aksesibilitas drone yang meningkat secara eksponensial telah menjadi ancaman besar terhadap keamanan umum. Penggunaan UAV meningkat dalam beberapa tahun terakhir. Dengan mempertimbangkan isu keamanan di sini, solusi disarankan. Pertama, deteksi UAV dan lalu lacak jalurnya.
Untuk deteksi objek, algoritma deep learning Computer Vision sangat efektif. Input diproses oleh YOLO yang merupakan jaringan syaraf tiruan yang digunakan untuk deteksi dan pelacakan objek secara real-time.
2.1 Memahami Konsep UAV
Menurut judul “deteksi dan pelacakan UAV menggunakan computer vision”, UAV (kendaraan udara tidak berawak) adalah pesawat tanpa pilot, yang dapat dikontrol secara jarak jauh atau oleh komputer papan atas. 
UAV dapat digunakan untuk tujuan bermanfaat seperti pertanian, penelitian ilmiah, peramalan cuaca, pengiriman dan pengiriman, operasi penyelamatan, dan perawatan kesehatan. Ia dapat digunakan untuk tujuan bencana seperti serang, serang missile, pembunuhan target, dll.
2.2 Apa itu Computer Vision?
Computer vision adalah bidang ilmu yang membuat komputer melihat, mengidentifikasi, dan memproses gambar seperti yang dilakukan oleh penglihatan mata manusia dan untuk memberikan output yang tepat. Computer vision digunakan hampir di setiap bidang yaitu:
- Deteksi objek, wajah
- Bedah robotik dan diagnosis medis
- Pemrosesan citra
- Pertanian
- Teknologi luar angkasa (Mars Rover NASA termasuk kemampuan untuk memodelkan teritori planet, mendeteksi rintang di jalurnya, dan menjahit citra panoramis bersama) Aplikasi computer vision ditunjukkan dalam gambar 1.4
2.3 Apa itu Teknik Pemrosesan Citra?
Teknik Pemrosesan Citra digunakan oleh Computer vision untuk melakukan berbagai tugas. Operasi yang dilakukan dan metode yang diterapkan untuk meningkatkan kualitas citra atau untuk mendapatkan hasil tertentu setelah diperoleh sebagai tumpukan citra disebut pemrosesan citra.
Pemrosesan citra dianggap sebagai salah satu area yang paling cepat berkembang dalam teknologi informasi saat ini, dengan aplikasi yang berkembang di semua area bisnis. Aplikasi pemrosesan citra adalah:
Kasus Penggunaan Pemrosesan Citra
Pemrosesan citra dapat digunakan di bidang ini:
- Anaconda
- Spyder
- Python
- Pustaka Open-CV
3. Algoritma untuk Deteksi Objek
Banyak algoritma yang tersedia untuk deteksi objek. Beberapa di antaranya adalah sebagai berikut:
- VOILA DAN JONES
- Jaringan Syaraf Tiruan Konvolusional (CNN)
- You Only Look Once (YOLO)
- Single Shot Detector (SSD)
- Jaringan Syaraf Tiruan Konvolusional Wilayah (R-CNN)
Tabel 3.1: Algoritma untuk deteksi
| Algoritma | Deskripsi | Kekuatan | Kelemahan |
| VOILA DAN JONES (Algoritma Viola-Jones dirancang oleh Paul Viola dan Michael Jones pada tahun 2001) | Tujuan utamanya adalah deteksi wajah dan objek. Ia dapat mendeteksi objek secara real-time. | - Robust
- Tingkat deteksi sangat tinggi.
- Gunakan berbagai klasifikasi yang masing-masing melihat bagian yang berbeda dari citra
- Cepat
- Baik dalam mendeteksi tepi dan garis
| - Tidak dapat mendeteksi wajah yang miring atau terbalik.
- Sensitif terhadap kondisi pencahayaan
- Tidak dapat mendeteksi objek bergerak
|
| CNN (Jaringan Syaraf Tiruan Konvolusional) diperkenalkan oleh Kunihiko Fukushima pada tahun 1980 | Model hierarki yang terinspirasi biologis yang dapat dilatih untuk melakukan berbagai deteksi, pengenalan, dan segmentasi. | - Menentukan fitur melalui pelatihan (jadi memiliki tingkat kebebasan yang lebih tinggi).
- Gunakan klasifikasi tunggal yang melihat citra penuh.
- Menerapkan operasi matriks.
- Akurat.
| - Diperlukan kumpulan data besar
- Mahal.
|
| YOLO (You Only Look Once) | Ini adalah algoritma deteksi real-time. Ia menerapkan algoritma jaringan syaraf tiruan pada citra, dan membagi citra menjadi grid S x S dan membuat batas di sekitar citra dan memprediksi kemungkinan untuk setiap batas. Ia menggunakan regresi. | - Dapat mendeteksi banyak objek dalam citra yang sama.
- Eksekusi real-time
- Sangat cepat
- Kinerja tinggi
- Tidak ada kesalahan latar belakang
| 1. Mendeteksi satu objek per sel grid. 2. Mengutamakan kinerja tinggi atas akurasi. |
| SSD (Single Shot Detector) | Metode ini hanya membutuhkan satu tiruan untuk mendeteksi banyak objek, metode ini sangat cepat. Ia dirancang untuk implementasi real-time. Ia terdiri dari dua komponen backbone dan SSD head. | - Waktu komputasi yang lebih tinggi
- Akurasi tinggi
- Trade-off keakuratan sedang
| - Berjalan baik untuk objek berukuran besar tetapi menurun sedikit untuk objek berukuran kecil
- Deteksi ujung-ke-ujung, terlalu lambat.
- Mahal secara komputasi.
|
Di sini algoritma jaringan syaraf tiruan Yolo akan digunakan. Algoritma ini sangat cepat untuk implementasi real-time. Ia menggunakan algoritma jaringan syaraf tiruan dan membagi citra menjadi grid S x S dan membuat batas di sekitar citra untuk memprediksi kemungkinan untuk setiap batas. Algoritma untuk deteksi ditunjukkan dalam Tabel 4.4.
3.1 Algoritma untuk Pelacakan
Setelah mendeteksi objek, fokus berikutnya adalah pelacakan. Jika objek yang terdeteksi adalah layang-layang atau burung, tidak perlu pelacakan tetapi jika objek yang terdeteksi adalah drone, target akan dilacak.
Banyak algoritma yang digunakan untuk pelacakan objek. Namun, lagi-lagi YOLO digunakan untuk pelacakan karena algoritma ini cepat dan akurat dan dapat mendeteksi serta melacak hingga target keluar dari jangkauan kamera.
4. Implementasi Desain yang Diusulkan
Ini adalah implementasi desain yang diusulkan. Di mana semua langkah yang diperlukan untuk menjalankan proyek pada perangkat lunak dilakukan.
4.1 Tahap Awal
- Pemrosesan citra memerlukan CPU/GPU yang baik, pilih CPU. Instal Anaconda dari situs web. Instalasi Anaconda ditunjukkan dalam gambar 4.1

- Setelah instalasi Anaconda Navigator, buat lingkungan dengan kotak dialog lingkungan dan pilih versi python.
- Setelah berhasil membuat lingkungan, langkah berikutnya adalah menginstal Spyder karena mudah digunakan. Kemudian instal Open CV melalui perintah pip install cv2.

4.2 Mempersiapkan Data Set
- Kumpulkan banyak gambar objek udara yang berbeda seperti drone, burung, pesawat, helikopter, layang-layang, dan balon.
Catatan: Membuat data set lebih dari sekadar mengumpulkan gambar. Memberikan nama pada gambar dan juga memberi tahu posisi objek spesifik ini dalam setiap gambar. Untuk itu, perangkat lunak bernama Labellmg digunakan, yang mengonversi gambar menjadi berkas teks. Seperti yang ditunjukkan dalam gambar 4.6
- Setelah berkas txt semua objek dibuat. Masukkan semua gambar dan berkas teks ke dalam berkas zip. Juga, beri nama berkas untuk kelas yang termasuk.

4.3 Konfigurasi YOLO
Untuk konfigurasi, ikuti langkah ini:
- Instal darknet dengan YOLO v3.
- Untuk mengonfigurasi YOLO, buat folder di darknet/data termasuk semua gambar dan berkas .txt dari data set yang telah dibuat sebelumnya.
- Untuk membuat file konfigurasi khusus, lakukan modifikasi yang diperlukan pada YOLO v3 dari cfg, menyesuaikan batch, subdivisions, dan max batches dengan kelas dan langkah.
- Saat memasukkan jumlah kelas, ubah lapisan konvolusi di atas YOLO. Juga atur random ke 1. Parameter cfg ditunjukkan dalam Tabel 4.1
Tabel 4.1: Parameter CFG
| Nama | Deskripsi |
| Batch | Berapa banyak gambar dan label yang digunakan dalam forward pass untuk menghitung gradien dan memperbarui bobot melalui metode backpropagation. |
| Subdivisions | Batch dibagi menjadi banyak “blok”. Gambar dalam sebuah blok dijalankan secara paralel. |
| Steps | 500,1000: Sesuaikan tingkat pembelajaran setelah 500 dan 1000 batch. |
| Layers (Filters) | Berapa banyak kernel konvolusi yang ada dalam lapisan. |
| Layers (Random) | Masukkan ke dalam lapisan YOLO. Jika diatur ke 1, lakukan augmentasi data dengan mengubah ukuran gambar menjadi ukuran yang berbeda setiap beberapa batch, digunakan untuk menggeneralisasi ukuran objek. |
- Buat folder objek khusus melalui data/obj.names di mana semua nama yang ingin kita deteksi seperti drone, UAV, burung, layang-layang, dll ditulis.
- Di obj.data jumlah kelas, train.txt, valid, names, dan folder weights disertakan dan disimpan.

- Di train.txt semua data dan nama gambar disimpan.

4.4 Melatih YOLO pada Data Set Anda
Pelatihan YOLO untuk data set khusus juga dilakukan melalui darknet. Clone dan aktifkan darknet serta aktifkan Open CV. Dengan mengambil folder ZIP, file .cfg, file .names, file obj.data, dan file train.txt yang dibuat di atas, lalu konfigurasikan jaringan darknet untuk pelatihan YOLO v3, menghitung eksekusi.
Setelah ribuan iterasi yang mungkin memakan waktu sekitar 2 jam berdasarkan daya CPU kami, data set yang telah dilatih akan siap digunakan dan diintegrasikan dengan sistem kami, dengan memberitahu rata-rata kehilangan.
4.5 Menguji Kode pada Input Citra dan Video
Setelah melatih YOLO untuk data set khusus, mulai menguji kode pada data set yang telah dilatih yang disebut bobot YOLO. Dalam hal ini, ia memiliki 4 kelas.
Coba deteksi YOLO pada berbagai. Bobot besar baik dalam hal akurasi tetapi pemrosesan sedikit lambat karena frame per detik rendah. Buat video UAV, burung dan berikan data ini sebagai input ke kode. Semua objek akan berhasil terdeteksi dan dilacak dengan label yang diberikan fps dan ambang batas.
Sekarang kode dapat diuji untuk skenario real-time melalui input real-time webcam mengubah jangkauan kamera kami terbang UAV kami dengan merekam hasilnya Anda akan melihat output yang diperlukan ”Deteksi dan Pelacakan UAV”.
