Daftar Isi:
Video: Demo OpenMV Sipeed MaiX Bit - Visi Komputer: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Ini adalah artikel kedua dalam seri tentang Sipeed AI pada platform mikrokontroler Edge. Kali ini saya akan menulis tentang MaiX Bit (tautan ke Seeed Studio Shop), papan pengembangan siap pakai yang lebih kecil dan papan tempat memotong roti. Spesifikasinya sangat mirip dengan MaiX Dock, board yang saya gunakan untuk tutorial terakhir, karena mereka menggunakan chip yang sama, Kendryte K210.
Kami akan menggunakan firmware micropython untuk mencoba beberapa demo OpenMV. Berikut deskripsi dari beranda OpenMV:
Proyek OpenMV adalah tentang membuat modul visi mesin berbiaya rendah, dapat diperluas, bertenaga Python dan bertujuan untuk menjadi “Arduino of Machine Vision“.…Python membuat bekerja dengan algoritma visi mesin menjadi lebih mudah. Misalnya, metode find_blobs() dalam kode menemukan gumpalan warna dan mengembalikan daftar objek bernilai 8 yang mewakili setiap gumpalan warna yang ditemukan. Dalam Python, mengulangi daftar objek yang dikembalikan oleh find_blobs() dan menggambar persegi panjang di sekitar setiap gumpalan warna mudah dilakukan hanya dalam dua baris kode.
Jadi, meskipun MaiX Bit memiliki fitur akselerator jaringan saraf khusus, terkadang lebih mudah menggunakan algoritma kode keras OpenMV untuk melakukan pekerjaan atau menggunakannya bersama satu sama lain.
Beberapa kasus penggunaan yang muncul di benak saya adalah:
1) Deteksi garis untuk bot pengikut garis
2) Mendeteksi lampu lalu lintas dengan deteksi lingkaran dan warna
3) Menggunakan deteksi wajah untuk menemukan wajah untuk pengenalan wajah (dengan DNN)
Repositori Github untuk artikel ini
Langkah 1: Flash Micropython Firmware
Pertama-tama kita perlu mem-flash firmware micropython ke board kita. Biner yang telah dikompilasi disertakan dalam repositori github untuk artikel ini, bersama dengan kflash.py (utilitas flash). Jika Anda ingin mengkompilasi firmware dari kode sumber, cukup unduh kode sumber dari https://github.com/sipeed/MaixPy, instal rantai alat dan kompilasi kode sumber ke dalam file maixpy.bin. Instruksi pembuatan terperinci dapat ditemukan di sini.
Flash file biner dengan
sudo python3 kflash.py kpu.bin
Setelah flashing berhasil ikuti langkah selanjutnya.
Langkah 2: Hubungkan ke MaiX Bit
Sekarang Bit MaiX kami harus dapat diakses melalui koneksi serial USB dengan baudrate 115200. Anda dapat menggunakan perangkat lunak favorit Anda untuk komunikasi serial atau hanya perintah cat dan echo, apa pun yang sesuai dengan kebutuhan Anda. Saya menggunakan layar untuk komunikasi serial dan merasa sangat nyaman.
Perintah untuk membuat sesi komunikasi serial dengan layar adalah
layar sudo /dev/ttyUSB0 115200
di mana /dev/ttyUSB0 adalah alamat perangkat Anda.
Anda mungkin perlu menekan tombol reset pada mikrokontroler Anda untuk melihat pesan ucapan dan prompt juru bahasa python.
Langkah 3: Jalankan Demo
Sekarang Anda dapat mengakses mode salin dengan menekan Ctrl+E dan salin-tempel kode demo. Untuk menjalankannya tekan Ctrl+D dalam mode salin.
Jika Anda tidak ingin merekam video, Anda perlu mengomentari baris perekaman video. Jika tidak, kode akan mengeluarkan pengecualian jika tidak ada kartu SD yang dimasukkan
Berikut adalah deskripsi singkat dari setiap demo:
Temukan lingkaran - menggunakan fungsi find_circles dari OpenMV. Membutuhkan lebih banyak penyesuaian untuk aplikasi spesifik Anda, terutama ambang (mengontrol lingkaran apa yang terdeteksi dari transformasi hough. Hanya lingkaran dengan magnitudo lebih besar atau sama dengan ambang yang dikembalikan) dan nilai r_min, r_max.
Temukan persegi panjang - gunakan fungsi find_rects dari OpenMV. Anda dapat bermain-main dengan nilai ambang, tetapi nilai yang saya miliki dalam demo berfungsi cukup baik untuk menemukan persegi panjang.
Temukan wajah, temukan mata - menggunakan fungsi find_features dengan Haar Cascades untuk mendeteksi mata dan wajah bagian depan dalam gambar. Anda dapat bermain-main dengan nilai ambang dan skala untuk pertukaran akurasi kecepatan yang tepat.
Temukan garis tak terbatas - gunakan fungsi find_lines untuk menemukan semua garis tak terbatas pada gambar menggunakan transformasi hough.
Deteksi warna - menggunakan fungsi get_statistics untuk mendapatkan objek persentil dan kemudian mengonversi nilai rata-rata tupel LAB ke tupel nilai RGB. Saya menulis contoh ini sendiri dan bekerja dengan cukup baik, tetapi perlu diingat bahwa hasil deteksi warna akan dipengaruhi oleh kondisi cahaya sekitar.
Anda dapat menemukan lebih banyak demo menarik di repositori github OpenMV! Mereka sebagian besar kompatibel dengan micropython MaiX Bit, satu-satunya hal yang perlu Anda ingat adalah menambahkan sensor.run(1) setelah mengatur pixformat dan framesize.
Selamat bereksperimen dengan kode OpenMV. Jika Anda memiliki pertanyaan atau ingin membagikan beberapa hasil menarik Anda, jangan ragu untuk menghubungi saya di Youtube atau LinkedIn. Sekarang, permisi, saya akan membuat beberapa robot!
Direkomendasikan:
Deteksi Objek Dengan Papan MaiX Sipeed (Kendryte K210): 6 Langkah
Deteksi Objek Dengan Papan Sipeed MaiX (Kendryte K210): Sebagai kelanjutan dari artikel saya sebelumnya tentang pengenalan gambar dengan Papan Sipeed MaiX, saya memutuskan untuk menulis tutorial lain, dengan fokus pada deteksi objek. Ada beberapa perangkat keras menarik yang muncul baru-baru ini dengan chip Kendryte K210, termasuk S
Cara Mengirim File Besar Dari Komputer ke Komputer: 6 Langkah
Cara Mengirim File Besar Dari Komputer ke Komputer: Ukuran file terus bertambah seiring kemajuan teknologi. Jika Anda berkecimpung dalam bidang kreatif, seperti desain atau modeling, atau hanya hobi, mentransfer file besar bisa jadi merepotkan. Sebagian besar layanan email membatasi ukuran lampiran maksimum hingga sekitar 25
Ransel #1: Kamera OpenMV: 7 Langkah
Ransel #1: Kamera OpenMV: Ransel SPIKE Prime adalah ekstensi untuk LEGO Education SPIKE Prime. Kamera Open MV adalah otak dari Ransel Kamera yang memungkinkan Anda mengintegrasikan kemampuan pemrosesan gambar dan penglihatan mesin dari kamera Open MV ke LEGO SPIKE Prime. Kami juga
Menggunakan PSP Sebagai Joystick Komputer dan Kemudian Mengontrol Komputer Anda Dengan PSP: 5 Langkah (dengan Gambar)
Menggunakan PSP Sebagai Joystick Komputer dan Kemudian Mengontrol Komputer Anda Dengan PSP: Anda dapat melakukan banyak hal keren dengan homebrew PSP, dan dalam instruksi ini saya cam akan mengajari Anda cara menggunakan PSP sebagai joystick untuk bermain game, tetapi ada juga sebuah program yang memungkinkan Anda menggunakan joystick sebagai mouse. Berikut materinya
Gunakan SSH dan XMing untuk Menampilkan Program X Dari Komputer Linux di Komputer Windows: 6 Langkah
Menggunakan SSH dan XMing untuk Menampilkan Program X Dari Komputer Linux di Komputer Windows: Jika Anda menggunakan Linux di kantor, dan Windows di rumah, atau sebaliknya, Anda mungkin terkadang perlu masuk ke komputer di lokasi lain , dan menjalankan program. Nah, Anda dapat menginstal X Server, dan mengaktifkan SSH Tunneling dengan SSH Client Anda, dan satu