Isi kandungan:
- Langkah 1: Sipeed MAix: AI di Tepi
- Langkah 2: Siapkan Persekitaran Anda
- Langkah 3: Susun Kod
- Langkah 4: Memuat naik Fail.bin
- Langkah 5: Menyambung ke Arduino
- Langkah 6: Menyambung ke Raspberry Pi
- Langkah 7: Kesimpulannya
Video: Kamera AI untuk Raspberry Pi / Arduino: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Sekiranya anda mengikuti berita baru-baru ini, terdapat ledakan permulaan yang mengembangkan cip untuk mempercepat inferensi dan latihan algoritma ML (pembelajaran mesin). Walau bagaimanapun, kebanyakan cip tersebut masih dalam pembangunan dan sebenarnya bukan sesuatu yang dapat dicapai oleh pembuat purata anda. Satu-satunya pengecualian yang ketara setakat ini ialah Intel Movidius Neural Compute Stick, yang boleh dibeli dan dilengkapi dengan SDK yang bagus. Ia mempunyai beberapa kelemahan yang ketara - iaitu harganya (sekitar 100 USD) dan kenyataannya terdapat dalam format USB stick. Sangat bagus jika anda ingin menggunakannya dengan komputer riba atau Raspberry PI, tetapi bagaimana jika anda ingin membuat beberapa projek pengecaman gambar dengan Arduino? Atau Raspberry Pi Zero?
Langkah 1: Sipeed MAix: AI di Tepi
Tidak lama dahulu saya menggunakan papan pengembangan Sipeed M1w K210, yang mempunyai CPU RISC-V 64bit dwi-teras dan mempunyai KPU on-board (Pemproses Rangkaian Neural), yang direka khusus untuk mempercepat CNN untuk pemprosesan imej. Anda boleh membaca lebih banyak maklumat di sini.
Harga papan ini terus terang mengejutkan saya, hanya 19 USD untuk papan pengembangan AI-on-the-edge yang lengkap dengan sokongan Wi-fi! Terdapat peringatan (tentu saja ada): firmware micropython untuk papan masih dalam pengembangan, dan secara keseluruhan tidak terlalu mesra pengguna seperti sekarang. Satu-satunya cara untuk mengakses semua fungsinya sekarang adalah dengan menulis kod C tertanam anda sendiri atau mengubah beberapa demo yang ada.
Tutorial ini menerangkan bagaimana menggunakan model pengesanan kelas Mobilenet 20 untuk mengesan objek dan menghantar kod objek yang dikesan melalui UART, dari mana ia dapat diterima oleh Arduino / Raspberry Pi.
Sekarang, tutorial ini menganggap anda sudah biasa dengan Linux dan asas-asas penyusunan kod C. Sekiranya mendengar ungkapan ini membuat anda sedikit pening:) maka teruskan ke Langkah 4, di mana anda memuat naik binari pra-binaan saya ke Sipeed M1 dan melangkau penyusunan.
Langkah 2: Siapkan Persekitaran Anda
Saya menggunakan Ubuntu 16.04 untuk penyusunan dan muat naik kod C. Ada kemungkinan untuk melakukannya di Windows, tetapi saya sendiri tidak mencubanya.
Muat turun RISC-V GNU Compiler Toolchain, pasang semua kebergantungan yang diperlukan.
git clone --recursive
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
Salin rantai alat yang dimuat turun ke / pilih direktori. Selepas itu jalankan arahan berikut
./configure --prefix = / opt / kendryte-toolchain --with-cmodel = medany
membuat
Tambahkan / opt / kendryte-toolchain / bin ke PATH anda sekarang.
Anda kini siap menyusun kod!
Langkah 3: Susun Kod
Muat turun kod dari repositori github saya.
Muat turun SDK Kendryte K210 mandiri
Salin / kpu folder dari github repositori saya ke / src folder di SDK.
Jalankan perintah berikut dalam folder SDK (bukan / folder src!)
mkdir build && cd build
cmake.. -DPROJ = project_name -DTOOLCHAIN = / opt / kendryte-toolchain / tong && buat
di mana project_name adalah nama projek anda (terpulang kepada anda) dan -DTOOLCHAIN = harus menunjukkan lokasi rantai alat risc-v anda (anda memuat turunnya pada langkah pertama, ingat?)
Hebat! Sekarang mudah-mudahan anda melihat kompilasi selesai tanpa kesalahan dan anda mempunyai fail.bin yang boleh anda muat naik.
Langkah 4: Memuat naik Fail.bin
Sekarang sambungkan Sipeed M1 anda ke komputer dan dari folder / build jalankan arahan berikut
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu.bin
Di mana kpu.bin adalah nama fail.bin anda
Muat naik biasanya mengambil masa 2-3 minit, setelah selesai, anda akan melihat dewan menjalankan 20 kelas pengesanan. Langkah terakhir bagi kita adalah menghubungkannya ke Arduino mega atau Raspberry Pi.
!!! Sekiranya anda baru datang dari Langkah 2 !
Jalankan arahan berikut dari folder di mana anda mengklon repositori github saya
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu_bin.bin
Muat naik biasanya mengambil masa 2-3 minit, setelah selesai, anda akan melihat dewan menjalankan 20 kelas pengesanan. Langkah terakhir bagi kita adalah menghubungkannya ke Arduino mega atau Raspberry Pi.
Langkah 5: Menyambung ke Arduino
Saya menggunakan Arduino Mega dengan Seeed Studio Mega Shield, inilah sebabnya saya memasangkan penyambung Grove ke papan Sipeed M1. Walau bagaimanapun, anda hanya boleh menggunakan kabel jumper dan sambungkan Sipeed M1 terus ke Arduino Mega, berikut rajah pendawaian ini.
Selepas itu muat naik lakaran camera.ino dan buka monitor Serial. Apabila anda mengarahkan kamera ke objek yang berlainan (senarai 20 kelas ada dalam lakaran) ia harus mengeluarkan nama kelas di monitor bersiri!
Tahniah! Anda kini mempunyai modul pengesanan imej yang berfungsi untuk Arduino anda!
Langkah 6: Menyambung ke Raspberry Pi
Saya menggunakan topi Grove Pi + untuk Raspberry Pi 2B, tetapi sekali lagi, seperti dengan Arduino, anda boleh terus menghubungkan Sipeed M1 ke antara muka UART Raspberry Pi mengikut rajah pendawaian ini.
Selepas melancarkan camera_speak.py dan arahkan kamera ke objek yang berlainan, terminal akan mengeluarkan teks berikut "Saya rasa" dan juga jika anda mempunyai pembesar suara yang disambungkan, frasa ini akan menyebutkan dengan kuat. Cukup sejuk, bukan?
Langkah 7: Kesimpulannya
Ini adalah masa yang sangat menggembirakan kita, dengan AI dan pembelajaran mesin menembusi semua bidang kehidupan kita. Saya menantikan pembangunan di kawasan ini. Saya terus berhubung dengan pasukan Sipeed, dan saya tahu mereka sedang aktif mengembangkan pembungkus mikropon untuk semua fungsi yang diperlukan, termasuk percepatan CNN.
Apabila sudah siap, kemungkinan besar saya akan menerbitkan lebih banyak arahan mengenai cara menggunakan model CNN anda sendiri dengan micropython. Fikirkan semua aplikasi menarik yang dapat anda miliki untuk papan yang boleh menjalankan rangkaian neural pemprosesan imej anda sendiri dengan harga ini dan dengan jejak ini!
Disyorkan:
Kamera Web Wifi DSLR Powered Raspberry Pi Powered untuk Selang Masa: 3 Langkah (dengan Gambar)
Kamera Web Wifi DSLR Powered Raspberry Pi Powered for Time Lapses: Saya penyedut menonton matahari terbenam dari rumah. Sehinggakan saya mendapat sedikit FOMO apabila ada matahari terbenam yang baik dan saya tidak berada di rumah untuk melihatnya. Kamera web IP menghasilkan kualiti gambar yang mengecewakan. Saya mula mencari cara untuk menggunakan DSLR pertama saya: Cano 2007
Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: 7 Langkah
Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: [Lihat Langkah 7 untuk perubahan pada relay yang digunakan] Ini adalah peningkatan ke kamera langit semua yang saya buat berikutan panduan hebat Thomas Jaquin (Wireless All Sky Camera) Masalah biasa yang berlaku pada kamera langit (dan juga teleskop) adalah bahawa embun akan
Meyakinkan Diri Anda untuk Hanya Menggunakan Inverter talian 12V-ke-AC untuk String Lampu LED, dan bukannya Menyalurkannya semula untuk 12V .: 3 Langkah
Meyakinkan Diri Anda untuk Hanya Menggunakan Inverter talian 12V-ke-AC untuk String Lampu LED, dan bukannya Menukar Mereka semula untuk 12V: Rancangan saya adalah mudah. Saya mahu memotong rentetan lampu LED yang bertenaga dinding menjadi kepingan kemudian memasangkannya semula untuk melepaskan 12 volt. Alternatifnya adalah dengan menggunakan power inverter, tetapi kita semua tahu bahawa mereka sangat tidak cekap, bukan? Betul? Atau adakah mereka?
Penstabil Kamera untuk ENV2 atau Telefon Kamera Lain: 6 Langkah
Penstabil Kamera untuk ENV2 atau Telefon Kamera Lain: Pernah mahu membuat video tetapi anda hanya mempunyai telefon kamera? Adakah anda pernah membuat video dengan telefon kamera tetapi anda tidak dapat menahannya? Lebih baik daripada ini adalah pengajaran untuk anda
Tambahkan Jack Pc Sync ke Kabel Nikon Sc-28 Ttl (gunakan Tetapan Auto untuk Flash pada Kamera dan Memicu Kelipan Kamera !!): 4 Langkah
Tambahkan Jack Pc Sync ke Kabel Nikon Sc-28 Ttl (gunakan Tetapan Auto untuk Flash pada Kamera dan Pencetus Mematikan Kamera !!): dalam arahan ini saya akan menunjukkan kepada anda bagaimana untuk melepaskan salah satu penyambung TTL 3pin proprietari yang sial pada sisi kabel TTL kamera mati Nikon SC-28 dan gantinya dengan penyambung penyegerakan PC standard. ini akan membolehkan anda menggunakan lampu kilat khusus