Isi kandungan:

Demo OpenMV Sipeed MaiX Bit - Visi Komputer: 3 Langkah
Demo OpenMV Sipeed MaiX Bit - Visi Komputer: 3 Langkah

Video: Demo OpenMV Sipeed MaiX Bit - Visi Komputer: 3 Langkah

Video: Demo OpenMV Sipeed MaiX Bit - Visi Komputer: 3 Langkah
Video: Учебное пособие по экрану OpenMV — ILI9341 2024, Julai
Anonim
Image
Image

Ini adalah artikel kedua dalam siri mengenai Sipeed AI di platform mikrokontroler Edge. Kali ini saya akan menulis mengenai MaiX Bit (pautan ke Seeed Studio Shop), papan pengembangan siap roti yang lebih kecil. Spesifikasinya sangat mirip dengan MaiX Dock, papan yang saya gunakan untuk tutorial terakhir, kerana mereka menggunakan cip yang sama, Kendryte K210.

Kami akan menggunakan firmware micropython untuk mencuba beberapa demo OpenMV. Inilah keterangan dari laman utama OpenMV:

Projek OpenMV adalah mengenai membuat modul visi mesin kos rendah, dapat diperpanjang, berkuasa Python dan bertujuan untuk menjadi "Arduino of Machine Vision".… Python menjadikan kerja dengan algoritma penglihatan mesin jauh lebih mudah. Sebagai contoh, kaedah find_blobs () dalam kod mencari gumpalan warna dan mengembalikan senarai objek bernilai 8 yang mewakili setiap gumpalan warna yang dijumpai. Dalam Python melakukan lelaran melalui senarai objek yang dikembalikan oleh find_blobs () dan melukis sebuah segi empat tepat di sekitar setiap gumpalan warna dengan mudah dilakukan hanya dalam dua baris kod.

Oleh itu, walaupun terdapat ciri-ciri MaiX Bit pemecut rangkaian neural khusus, kadang-kadang lebih mudah hanya menggunakan algoritma OpenMV hard-code untuk melakukan pekerjaan atau menggunakannya bersama-sama.

Beberapa kes penggunaan yang terlintas di fikiran saya adalah:

1) Pengesanan talian untuk bot pengikut baris

2) Mengesan lampu isyarat dengan pengesanan bulatan dan warna

3) Menggunakan pengesanan wajah untuk mencari wajah untuk pengecaman wajah (dengan DNN)

Repositori Github untuk artikel ini

Langkah 1: Flash Firmware Micropython

Sambung ke MaiX Bit
Sambung ke MaiX Bit

Mula-mula kita perlu memancarkan firmware micropython ke papan kenyataan kita. Binari yang dikompilasi dimasukkan dalam repositori github untuk artikel ini, bersama dengan kflash.py (utiliti kilat). Sekiranya anda ingin menyusun firmware dari kod sumber, cukup muat turun kod sumber dari https://github.com/sipeed/MaixPy, pasang rantai alat dan susun kod sumber ke dalam fail maixpy.bin. Arahan membina terperinci boleh didapati di sini.

Flash fail binari dengan

sudo python3 kflash.py kpu.bin

Setelah berjaya menyala ikuti langkah seterusnya.

Langkah 2: Sambungkan ke MaiX Bit

Kini MaiX Bit kami dapat diakses melalui sambungan bersiri USB dengan baudrate 115200. Anda boleh menggunakan perisian kegemaran anda untuk komunikasi bersiri atau hanya perintah kucing dan gema, apa sahaja yang sesuai dengan keperluan anda. Saya menggunakan skrin untuk komunikasi bersiri dan merasa sangat senang.

Perintah untuk mewujudkan sesi komunikasi bersiri dengan layar adalah

skrin sudo / dev / ttyUSB0 115200

di mana / dev / ttyUSB0 adalah alamat peranti anda.

Anda mungkin perlu menekan butang reset pada mikrokontroler anda untuk melihat mesej ucapan dan arahan jurubahasa python.

Langkah 3: Jalankan Demo

Sekarang anda boleh mengakses mod salin dengan menekan Ctrl + E dan copy-paste kod demo. Untuk menjalankannya tekan Ctrl + D dalam mod salin.

Sekiranya anda tidak mahu merakam video, anda perlu mengulas baris rakaman video. Jika tidak, kod akan membuang pengecualian jika tidak ada kad SD yang dimasukkan

Berikut adalah penerangan ringkas setiap demo:

Cari bulatan - menggunakan fungsi find_circles dari OpenMV. Memerlukan lebih banyak perubahan untuk aplikasi khusus anda, terutamanya ambang (mengawal lingkaran yang dikesan dari transformasi hough. Hanya lingkaran dengan magnitud lebih besar daripada atau sama dengan ambang dikembalikan) dan nilai r_min, r_max.

Cari segi empat tepat - menggunakan fungsi find_rects dari OpenMV. Anda boleh bermain-main dengan nilai ambang, tetapi nilai yang saya ada dalam demo berfungsi dengan baik untuk mencari segi empat tepat.

Cari wajah, cari mata - menggunakan fungsi find_features dengan Haar Cascades untuk mengesan mata dan muka depan dalam gambar. Anda boleh bermain-main dengan nilai ambang dan skala untuk pertukaran ketepatan kelajuan yang betul.

Cari garis tak terbatas - menggunakan fungsi find_lines untuk mencari semua garis tak terhingga dalam gambar menggunakan transformasi hough.

Mengesan warna - menggunakan fungsi get_statistics untuk mendapatkan objek persentil dan kemudian menukar nilai min tuple LAB menjadi tuple nilai RGB. Saya sendiri menulis contoh ini dan ia berfungsi dengan baik, tetapi perlu diingat bahawa hasil pengesanan warna akan dipengaruhi oleh keadaan cahaya sekitar.

Anda boleh menemui banyak lagi demo menarik di repositori github OpenMV! Mereka kebanyakannya serasi dengan mikropython MaiX Bit, satu-satunya perkara yang perlu anda ingat adalah menambahkan sensor.run (1) setelah menetapkan format format dan bingkai.

Selamat bereksperimen dengan kod OpenMV. Sekiranya anda mempunyai pertanyaan atau ingin berkongsi beberapa hasil menarik anda, jangan ragu untuk menghubungi saya di Youtube atau LinkedIn. Sekarang, maafkan saya, saya akan membuat beberapa robot!

Disyorkan: