BukaMV
Perisai
Lensa
Robotika
Buku
Video
Unduh
Dokumen
Forum
OpenMV.io
GithubPada bulan April tahun lalu, produk baru kami OpenMV4 H7 Plus telah diluncurkan. Hari ini, saya akan memperkenalkan fitur baru OpenMV4 H7 Plus—melatih jaringan saraf secara mandiri untuk klasifikasi dan pengenalan menggunakan situs web online EdgeImpulse.
Dalam tutorial ini, Anda akan menggunakan pembelajaran mesin untuk membangun sistem pengenalan yang dapat mengidentifikasi apakah seseorang mengenakan masker melalui kamera pintar OpenMV4 H7 Plus, yaitu mengimplementasikan klasifikasi citra.

EdgeImpulse adalah situs web yang menyediakan layanan pelatihan model jaringan saraf online untuk perangkat tertanam. Ini adalah mitra kami di OpenMV dan juga mitra resmi STMicroelectronics. Saat ini, EdgeImpulse terbuka gratis untuk pengguna OpenMV kami, memungkinkan mereka menggunakan layanan pelatihan model jaringan saraf online EdgeImpulse secara gratis untuk model yang cocok dengan OpenMV.
Menambahkan jaringan saraf ke perangkat tertanam OpenMV dapat membedakan pemburu liar dan gajah, melakukan kontrol kualitas pada jalur produksi pabrik, serta memungkinkan mobil model kendali jarak jauh untuk mengemudi sendiri.
Dalam tutorial ini, Anda akan mempelajari cara mengumpulkan gambar untuk membangun dataset berkualitas tinggi, menerapkan transfer learning untuk melatih jaringan saraf, serta cara menerapkan sistem ke OpenMV.
Selain itu, kami juga menyediakan tutorial video yang dapat ditonton dengan mencari "OpenMV4 Plus Melatih Jaringan Saraf untuk Pengenalan Masker" di situs web resmi.
Anda dapat melihat seluruh konten proyek di alamat berikut, termasuk semua kode dan model: https://book.openmv.cc/project/mask.html
Menggunakan EdgeImpulse untuk melatih model jaringan saraf online yang cocok untuk OpenMV terutama dibagi menjadi empat langkah berikut: pengumpulan dataset, pengunggahan, pelatihan, dan penerapan.
01、Pengumpulan Dataset
Dalam tutorial ini, kami akan membangun model yang dapat membedakan apakah wajah seseorang memakai masker atau tidak. Tentu saja, Anda juga dapat memilih untuk mengklasifikasikan objek lainnya. Untuk mengoperasikan model pembelajaran mesin, Anda perlu mengumpulkan sejumlah besar gambar contoh wajah dengan dan tanpa masker. Selama pelatihan, gambar-gambar contoh ini digunakan untuk melatih model dalam melakukan pembedaan.
Kita perlu menggunakan OpenMV IDE untuk mengumpulkan dataset kami. Langkah-langkah pengambilan gambar adalah sebagai berikut:
Buat dua kategori:
Buka "Tools" di menu bar OpenMV IDE, pilih "Dataset Editor", klik "New Dataset", lalu buat folder baru dan buka, di dalam dataset buat dua folder lagi masing-masing beri nama mask (untuk menyimpan foto wajah orang yang memakai masker) dan face (untuk menyimpan foto wajah orang yang tidak memakai masker).


Mengumpulkan Gambar dengan OpenMV
Pertama-tama, kita hubungkan OpenMV, klik "Hubungkan" di IDE, lalu klik "Jalankan". Di Framebuffer, kita dapat melihat gambar real-time dari OpenMV. Klik tombol foto di menu sebelah kiri, OpenMV akan secara otomatis menyimpan gambar ini, yang merupakan salah satu data dalam kumpulan data.
Pertama-tama, yang perlu kita simpan adalah wajah orang yang memakai masker. Klik tombol foto, dan IDE akan mengambil foto di bagian bawah, yang secara otomatis akan dinamai 00000, lalu foto berikutnya 00001, dan seterusnya.
Kumpulkan 200 foto wajah orang yang memakai masker (100 pria dan 100 wanita) dan 200 foto wajah orang yang tidak memakai masker (masing-masing 100 pria dan 100 wanita) menggunakan OpenMV secara terpisah.


* Catatan: Pastikan untuk mengumpulkan foto dari berbagai sudut untuk menjamin keragaman dalam pelatihan dan pembelajaran kami.
Jika dalam proses pengumpulan ditemukan bahwa suatu gambar tidak dikumpulkan dengan sempurna, Anda dapat mengklik kanan pada gambar tersebut dan memilih hapus.
02、Unggah
Setelah menggunakan OpenMV untuk mengumpulkan gambar, Anda perlu mendaftar akun dan masuk ke situs resmi EdgeImpulse (https://edgeimpulse.com/) untuk mulai mengunggah gambar. Langkah-langkah untuk mengunggah gambar adalah sebagai berikut:
Buat proyek baru di EdgeImpulse, klik "keys", pilih "API Key" dan salin "API Key". Hubungkan OpenMV IDE dengan Edge Impulse melalui API Key.

Pilih "Tools" – "Data Editor" – "Export" – "Upload" – "Upload via API Key" pada menu bar di atas OpenMV IDE, lalu salin "API Key" untuk mengunggah.
Data akan secara otomatis dibagi menjadi set pelatihan dan set pengujian saat diunggah, kami memilih proporsi default "80% dan 20%". Kami telah mengumpulkan lebih dari 400 gambar wajah, di mana 80% dari Training Date berarti 80% data digunakan untuk pelatihan, dan sisa 20% digunakan sebagai set pengujian.


03、Dataset Pelatihan
Setelah dataset siap, Anda dapat melatih dataset di antarmuka situs web EdgeImpulse.
Modul Pemrosesan Konfigurasi:
Pertama-tama pilih "Impulse Design", konfigurasikan modul pemrosesan:
* Atur rasio panjang-lebar gambar default menjadi "96 x 96";
Pilih modul "Images" yang berarti kita melakukan pelatihan klasifikasi gambar (Anda juga dapat menggunakan EdgeImpulse untuk mengklasifikasikan suara, video, dan lainnya);
Pilih "Transfer Learning (Gambar) Transfer Learning (Images)", atur model pembelajaran.
Pilih "Simpan Impuls Save", tampilan "Berhasil" menunjukkan konfigurasi telah berhasil.

Pra-pemrosesan Gambar:
Klik "Gambar Image" pada menu sebelah kiri, atur format warna ke "RGB", lalu klik "Simpan".

Selanjutnya pilih "Generate features" untuk memulai proses, yang akan melakukan pra-pemrosesan gambar pada lebih dari 400 data, dan visualisasi 3D dari dataset lengkap akan ditampilkan di sisi kanan.

Mengonfigurasi model pembelajaran transfer
Klik "Pembelajaran Transfer Transfer learning" di menu sebelah kiri, pilih semua parameter yang diatur sebagai default, atau ubah parameter sesuai kebutuhan:
1. Atur jumlah siklus pelatihan Number of training cycles menjadi default 10
2. Atur tingkat pembelajaran Learning rate menjadi 0,0005
3. Dapat memilih atau tidak memilih "Data augmentation
4. Atur peringkat kepercayaan minimum Minimum confidence rating secara default menjadi 0.8.
Klik "Mulai Latihan Start training", proses latihan memakan waktu sekitar 4 hingga 5 menit.
Setelah pelatihan model selesai, Anda dapat melihat akurasi, matriks kebingungan (confusion matrix), dan kinerja perangkat yang diharapkan.

* Model pengujian:
Setelah pelatihan selesai, kami akan menggunakan data uji untuk menguji model.
Pilih "Pengujian Model Model testing", centang kotak di samping "Nama Sampel Sample name", lalu klik "Pilih Klasifikasi Classify selected". Akurasi yang ditampilkan di sini mencapai 97%, yang sangat luar biasa untuk model dengan data yang sangat terbatas.

Ditemukan bahwa gambar yang ditampilkan berwarna merah ini tidak pasti, klik tiga titik di sebelah kanan gambar ini, pilih "Tampilkan Klasifikasi Show classification", Anda akan masuk ke antarmuka "Klasifikasi Real-time", yang berisi lebih banyak detail file. Antarmuka ini akan membantu Anda menentukan alasan kesalahan klasifikasi gambar.

Jika data berada di luar semua klaster yang diketahui (bermasker/tanpa masker), ini mungkin merupakan data yang tidak cocok dengan klasifikasi apa pun yang pernah dilihat sebelumnya—mungkin karena rambut menutupi sebagian besar wajah.
04. Menjalankan Model di OpenMV
Setelah menyelesaikan langkah-langkah desain pelatihan, pelatihan model, dan validasi model, Anda dapat mengekspor model ini ke OpenMV Anda. Pilih "OpenMV", lalu pilih "Build" untuk menghasilkan. Secara otomatis akan menghasilkan 3 file:
trained.tflite model jaringan saraf yang telah dilatih
* labels.txt dua label klasifikasi (face dan mask)
* ei_image_classification.py adalah kode yang harus dijalankan di OpenMV

Hubungkan OpenMV IDE, simpan ketiga file ini ke dalam Flash bawaan OpenMV. Buka file ei_image_classification.py di OpenMV IDE, Anda akan melihat kode yang baru saja kami hasilkan di EdgeImpulse. Klik jalankan, hasil operasi akan ditampilkan di terminal serial.


Baiklah, Anda telah berhasil menambahkan fungsi pelatihan jaringan saraf mandiri untuk OpenMV.
Menantikan hasil 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.