BukaMV
Perisai
Lensa
Robotika
Buku
Video
Unduh
Dokumen
Forum
OpenMV.io
GithubDua tugas yang sangat umum dalam bidang penglihatan buatan cerdas adalah klasifikasi dan deteksi objek.
Kategori:Menentukan klasifikasi gambar, misalnya apakah gambar tersebut termasuk kategori kucing atau anjing.
Deteksi Objek:Digunakan untuk menemukan lokasi, jumlah, dan ukuran beberapa objek berbeda dalam gambar.
Dalam tutorial video sebelumnya, kami telah menjelaskan cara melatih jaringan saraf secara daring menggunakan OpenMV4 Plus untuk mengklasifikasikan berbagai objek; perangkat ini mampu menentukan secara real-time apakah gambar dalam bidang pandang OpenMV merupakan suatu objek tertentu—misalnya, apakah wajah memakai masker—namun tidak dapat menghasilkan koordinat posisi wajah atau masker, maupun jumlah wajah.
Karena deteksi objek jauh lebih kompleks dan memerlukan komputasi jauh lebih besar dibandingkan klasifikasi, maka deteksi objek sangat jarang diterapkan di bidang mikrokontroler. MCU utama OpenMV adalah STM32H7; saat ini, kami telah menambahkan fitur baru ke OpenMV yang memungkinkan eksekusi tugas serupa deteksi objek pada mikrokontroler, dengan kinerja yang sangat mengesankan.

Hari ini kami akan menjelaskan kepada AndaMelatih demonstrasi deteksi rambu lalu lintas di lingkungan jalan nyata, mendeteksi rambu lalu lintas di jalan nyata kamimisalnya larangan membunyikan klakson, larangan parkir, dan batas kecepatan 80 km/jam, bukan lingkungan laboratorium tanpa gangguan.
Anda dapat melihat seluruh konten proyek di alamat berikut, termasuk semua kode dan model: https://book.openmv.cc/project/traffic-sign.html
Diketahui secara umum bahwa lingkungan nyata sangat kompleks, terutama lingkungan jalan raya, dengan banyak gangguan. Kami mengambil gambar rambu lalu lintas di lingkungan nyata menggunakan perangkat seperti ponsel, kemudian melatih model menggunakan situs web daring EdgeImpulse—mitra OpenMV kami—dengan sekitar 270 gambar yang diberi anotasi. Waktu pelatihan hanya memerlukan 10 menit, dan akurasi model yang dihasilkan mencapai skor F1 sebesar 92%. Laju bingkai eksekusi model pada OpenMV mencapai 10 bingkai per detik, sehingga hasilnya sangat lancar dan akurasinya pun cukup tinggi.
Anda dapat melatih deteksi terhadap objek apa pun yang diinginkan berdasarkan tutorial video kami, misalnya berbagai angka, berbagai buah, berbagai penanda, berbagai komponen, atau bahkan objek tidak beraturan spesifik lainnya—semua itu dapat dilatih untuk mengenali jumlah, koordinat, serta nama jenis objek yang spesifik.
Perhatian:Tutorial video dalam episode ini membahas fungsi deteksi titik target jaringan saraf, yang tidak hanya kompatibel dengan OpenMV4 H7 Plus tetapi juga mendukung OpenMV4 H7; hal ini disebabkan model deteksi titik target FOMO yang telah dilatih memiliki ukuran kecil, kinerja sangat baik, serta hanya berukuran puluhan KB—sehingga meskipun memori kerja OpenMV4 H7 lebih kecil dibandingkan versi Plus, kami tetap dapat melatih model yang sedikit lebih kecil agar dapat dijalankan pada OpenMV4.
Berikut ini adalah penjelasan singkat mengenai prinsip kerjanya:
Keputusan desain utama deteksi titik target FOMO pada OpenMV didasarkan pada gagasan bahwa banyak permasalahan deteksi objek sebenarnya tidak memerlukan ukuran objek, melainkan hanya posisinya dalam citra. Setelah kita mengetahui posisi objek, kita dapat melakukan operasi lanjutan, seperti mengendalikan mobil kecil agar bergerak menuju target yang terdeteksi menggunakan OpenMV, mendaratkan pesawat tak berawak secara presisi di titik tertentu, atau mengendalikan lengan robot untuk mengambil objek target tertentu.
Model FOMO adalah model yang dirancang khusus oleh EdgeImpulse untuk lingkungan mikrokontroler; berbeda dengan deteksi objek konvensional, model ini hanya mampu mendeteksi posisi dan jumlah beberapa objek, tanpa dapat memperoleh ukuran spesifiknya.
Prinsip dasar model FOMO sangat sederhana dan fleksibel. Model ini terlebih dahulu membagi gambar menjadi blok-blok, masing-masing berukuran 8×8 piksel. Jika resolusi gambar adalah 96×96, maka akan menghasilkan kisi berukuran 12×12. Jika resolusi gambar adalah 360×360, maka akan menghasilkan kisi berukuran 40×40. Selanjutnya, klasifikasi gambar dijalankan secara independen pada setiap sel.
Dibandingkan dengan YOLO V5 atau MobileNet SSD, FOMO menunjukkan kinerja jauh lebih baik dalam mendeteksi sejumlah besar objek kecil. Deteksi titik target FOMO 30 kali lebih cepat daripada MobileNet SSD.
Jika objek yang akan dideteksi memiliki ukuran yang serupa—misalnya, ukuran tanda yang ingin Anda identifikasi relatif konsisten, bukan berupa objek yang sangat besar dan objek yang sangat kecil—maka kinerja FOMO akan lebih baik.
OpenMV menggunakan EdgeImpulse untuk melatih secara daring jaringan saraf tiruan guna deteksi titik target, yang terutama terdiri dari langkah-langkah berikut: pengumpulan dan unggah kumpulan data gambar, pelabelan target, pelatihan, pengujian model, serta penyebaran.
* Mengumpulkan kumpulan data gambar: Mengambil gambar objek spesifik dalam lingkungan aktual yang akan kita identifikasi. Kami mengambil gambar aktual di lingkungan tempat kami melakukan pengenalan; dengan demikian, lingkungan pelatihan aktual dan lingkungan deteksi aktual pada dasarnya konsisten, sehingga hasilnya akan lebih baik.
*Label Tujuan: Menandai setiap objek yang akan dideteksi dalam kumpulan data kami dengan kotak pembatas dan mencantumkan nama objek tersebut secara tepat, guna memudahkan pelatihan selanjutnya serta deteksi posisi dan nama objek.
* Pelatihan Model: Setelah pelabelan selesai, model dilatih sesuai dengan parameter jaringan saraf konvolusional yang telah dirancang oleh kami.
*Model uji: Kami melakukan pengujian berdasarkan model yang telah dilatih; jika hasilnya tidak memuaskan, kami akan menambahkan data pelatihan atau menyesuaikan parameter pelatihan secara bersamaan, lalu melanjutkan pelatihan hingga memperoleh model yang memuaskan.
*Penyebaran: Kami cukup menyalin berkas model yang telah dilatih ke dalam USB bawaan OpenMV untuk menjalankannya.
Berikut ini adalah demonstrasi proses spesifiknya:
01. Mengumpulkan dan mengunggah kumpulan data gambar
Pertama-tama, kunjungi situs web edgeimpulse.com, pilih “Masuk”, masukkan nama proyek baru, lalu pilih “Gambar”—“Klasifikasikan Beberapa Objek”

Dua. Pilih gambar untuk diunggah. Terdapat beberapa cara untuk memperoleh kumpulan data gambar:
1. Mengambil gambar secara langsung melalui OpenMV IDE. Gunakan alat di dalam OpenMV IDE—“Editor Dataset”—untuk membuat dataset baru dan mengambil gambar secara langsung; untuk petunjuk lebih rinci, silakan tonton tutorial video sebelumnya kami tentang klasifikasi objek dan pengenalan masker.

2. Gunakan gambar yang diunduh dari internet atau gambar yang diambil secara langsung menggunakan ponsel. Sebaiknya gambar tersebut sesuai dengan lingkungan pengujian aktual Anda. Kami telah menyiapkan empat hingga lima ratus citra rambu lalu lintas, seperti larangan parkir, larangan membunyikan klakson, serta batas kecepatan 80 km/jam; setiap citra diambil langsung dari jalan nyata. Kumpulan data ini dapat diunduh dari repositori GitHub dan situs web tutorial kami.
02. Tujuan Pelabelan
Setiap kategori mengunggah sekitar 100 gambar; setelah unggahan gambar selesai, dilakukan anotasi gambar untuk menandai posisi dan kategori objek yang akan diidentifikasi.


03. Melatih Model
Atur parameter pelatihan desain dengan mengubah resolusi menjadi 128 × 128; semua parameter yang diatur dapat dipilih sesuai nilai bawaan, lalu klik Simpan.

Menghasilkan fitur-fitur, dengan tiga warna yang masing-masing mewakili tiga simbol.

Atur parameter pelatihan deteksi objek. Jumlah epoch pelatihan bawaan adalah 60, laju pembelajaran 0,001, proporsi data validasi 20%, centang opsi penambahan data, dan model pembelajaran transfer yang dapat dipilih adalah MobileNetV2 0,35 atau MobileNetV2 0,1 versi bawaan. (Catatan: SSD tidak boleh digunakan karena tidak dapat dijalankan pada OpenMV.)
Pilih Mulai Pelatihan. Skor F1 model jaringan saraf yang dihasilkan setelah pelatihan selesai adalah 91,2%, sehingga kami dapat menyimpan versi saat ini.

Pilih penyimpanan, isi deskripsi Anda, lalu pilih Simpan.

04. Penyebaran Model
Ekspor berkas model yang telah dilatih. Cukup ekspor library saja, pilih OpenMV, lalu klik Build untuk memulai penyebaran dan ekspor model.

Model yang telah kami ekspor akan diunduh secara otomatis; model ini merupakan hasil pelatihan dari 300 gambar yang telah kami latih, sehingga seluruh proses pelatihan kami telah selesai.

05. Menjalankan Model
Menjalankan model di OpenMV:
Sambungkan OpenMV Plus, simpan tiga berkas yang telah dilatih ke dalam USB drive bawaan OpenMV, lalu buka berkas ei_object_detection.py di OpenMV IDE. Klik Jalankan, dan hasil eksekusi akan ditampilkan di terminal serial.


Fitur ini juga dapat dijalankan pada OpenMV4. Karena OpenMV4 tidak memiliki SDRAM eksternal, kapasitas memori-nya lebih kecil; oleh karena itu, kami dapat mengurangi ukuran model agar dapat dijalankan pada OpenMV4.
Ada dua metode untuk mengurangi ukuran model:
I. Mengurangi resolusi pelatihan, mengubah resolusi dari 128 × 128 menjadi 96 × 96.
Dua, memodifikasi model pembelajaran transfer yang digunakan, mengganti MobileNetV2 0.35 menjadi MobileNetV2 0.1.
Akhirnya, jalankan berkas baru yang telah dilatih di dalam OpenMV4.
Demikianlah tutorial deteksi titik target kami. Kami menantikan hasil karya Anda!

Penjaga AI Berbasis OpenMV: Pemberitahuan Otomatis untuk Tempat Penting yang Belum Ditutup
Secara otomatis menentukan apakah pintu tempat penting tetap terbuka dalam waktu lama dan memberikan peringatan secara tepat waktu.

Peringatan segera ketika personel melewati batas, OpenMV mewujudkan “rasa keamanan batas”
Mengidentifikasi perilaku melewati batas oleh personel atau peralatan melalui garis peringatan virtual.

“Petugas Penegak Peraturan AI” telah hadir, sistem pengenalan otomatis untuk kegiatan usaha yang melanggar batas jalur jalan berbasis OpenMV
Mengenali secara otomatis praktik berdagang di badan jalan untuk mendukung tata kelola kota sehari-hari.

Tabung gas diletakkan sembarangan? Manfaatkan OpenMV untuk memicu peringatan bahaya secara otomatis
Mengidentifikasi secara otomatis lokasi penempatan tabung gas yang tidak sesuai, sehingga potensi bahaya kebocoran gas dapat terdeteksi lebih awal.

Melakukan pekerjaan bertegangan tanpa memakai sarung tangan isolasi? OpenMV akan segera memberikan peringatan!
Mengenali secara otomatis apakah pekerja mengenakan sarung tangan isolasi guna membantu operasi yang aman.

Menggunakan kamera cerdas OpenMV untuk mengidentifikasi cacat pada permukaan pelat aluminium secara real-time
Mendeteksi secara daring goresan, lekukan, dan cacat lainnya pada permukaan pelat aluminium guna mendukung pengendalian kualitas.