Talaan ng mga Nilalaman:
- Hakbang 1: Sipeed MAix: AI sa Edge
- Hakbang 2: Ihanda ang Iyong Kapaligiran
- Hakbang 3: Tipunin ang Code
- Hakbang 4: Pag-upload ng.bin File
- Hakbang 5: Kumokonekta sa Arduino
- Hakbang 6: Pagkonekta sa Raspberry Pi
- Hakbang 7: Konklusyon
Video: AI Camera para sa Raspberry Pi / Arduino: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kung sinusundan mo ang balita kamakailan lamang, nagkaroon ng isang pagsabog ng mga pagsisimula ng pagbuo ng mga chips para sa pagpapabilis ng pag-hinuha at pagsasanay sa mga algorithm ng ML (machine learning). Gayunpaman ang karamihan sa mga chips ay nasa ilalim pa rin ng pag-unlad at hindi talaga isang bagay na maaaring makuha ng iyong average na tagagawa. Ang tanging makabuluhang pagbubukod sa ngayon ay ang Intel Movidius Neural Compute Stick, na magagamit para sa pagbili at mayroong magandang SDK. Mayroon itong ilang mga makabuluhang disadvantages - lalo ang presyo (sa paligid ng 100 USD) at ang katunayan na ito ay nasa format ng USB stick. Mahusay kung nais mong gamitin ito sa laptop o Raspberry PI, ngunit paano kung nais mong gumawa ng ilang mga proyekto sa pagkilala ng imahe kasama ng Arduino? O Raspberry Pi Zero?
Hakbang 1: Sipeed MAix: AI sa Edge
Hindi pa matagal na ang nakaraan nakuha ko ang aking mga kamay sa Sipeed M1w K210 development board, na mayroong dual-core RISC-V 64bit CPU at ipinagmamalaki ang isang on-board KPU (Neural Network Processor), na partikular na idinisenyo para sa pagpapabilis ng CNN para sa pagproseso ng imahe. Maaari mong basahin ang higit pang mga detalye dito.
Ang presyo ng board na ito ay lantaran na ikinagulat ko, ito ay 19 USD lamang para sa ganap na AI-on-the-edge development board na may suporta sa Wi-fi! Mayroong isang pag-iingat (syempre may): ang micropython firmware para sa board ay nasa pagpapaunlad pa rin, at sa pangkalahatan ay hindi ito masyadong magiliw sa ngayon. Ang tanging paraan lamang upang ma-access ang lahat ng mga pagpapaandar nito ngayon ay upang isulat ang iyong sariling naka-embed na C code o baguhin ang ilang mga umiiral nang demo.
Ipinapaliwanag ng tutorial na ito kung paano gamitin ang modelo ng pagtuklas ng klase ng Mobilenet 20 upang makita ang mga bagay at ipadala ang nakita na object code sa pamamagitan ng UART, mula sa kung saan ito maaaring matanggap ng Arduino / Raspberry Pi.
Ngayon, ipinapalagay ng tutorial na ito na pamilyar ka sa Linux at ang mga pangunahing kaalaman sa pag-iipon ng C code. Kung ang pandinig sa pariralang ito ay nagpahilo sa iyo:) pagkatapos ay laktawan lamang ang Hakbang 4, kung saan mo mai-upload ang aking paunang built na binary sa Sipeed M1 at laktawan ang pag-iipon.
Hakbang 2: Ihanda ang Iyong Kapaligiran
Gumamit ako ng Ubuntu 16.04 para sa compile ng C code at i-upload. Posibleng gawin iyon sa Windows, ngunit hindi ko ito sinubukan.
I-download ang RISC-V GNU Compiler Toolchain, i-install ang lahat ng kinakailangang mga dependency.
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
Kopyahin ang na-download na toolchain sa / direktoryo ng opt. Pagkatapos nito patakbuhin ang pagsunod sa mga utos
./configure --prefix = / opt / kendryte-toolchain --with-cmodel = medany
gumawa
Magdagdag / pumili / kendryte-toolchain / bin sa iyong PATH ngayon.
Handa ka na ngayong mag-ipon ng code!
Hakbang 3: Tipunin ang Code
I-download ang code mula sa aking repository ng github.
I-download ang Kendryte K210 standalone SDK
Kopyahin / kpu folder mula sa aking github repository sa / src folder sa SDK.
Patakbuhin ang mga sumusunod na utos sa SDK folder (hindi / src folder!)
mkdir build && cd build
cmake.. -DPROJ = project_name -DTOOLCHAIN = / opt / kendryte-toolchain / bin && make
kung saan ang project_name ang pangalan ng iyong proyekto (nasa iyo) at -DTOOLCHAIN = dapat ituro ang lokasyon ng iyong risc-v toolchain (na-download mo ito sa lst step, tandaan mo?)
Malaki! Ngayon sana ay makita mong natapos ang compilation nang walang mga error at mayroon kang isang.bin file na maaari mong i-upload.
Hakbang 4: Pag-upload ng.bin File
Ikonekta ngayon ang iyong Sipeed M1 sa computer at mula sa / build folder patakbuhin ang sumusunod na utos
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu.bin
Kung saan ang kpu.bin ay ang pangalan ng iyong.bin file
Karaniwang tumatagal ng 2-3 minuto ang pag-upload, matapos itong gawin makikita mo ang board na tumatakbo sa 20 klase ng pagtuklas. Ang huling hakbang para sa amin ay ikonekta ito sa Arduino mega o Raspberry Pi.
!!! Kung galing ka lang sa Hakbang 2 !!
Patakbuhin ang sumusunod na utos mula sa folder kung saan mo na-clone ang aking github repository
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu_bin.bin
Karaniwang tumatagal ng 2-3 minuto ang pag-upload, matapos itong gawin makikita mo ang board na tumatakbo sa 20 klase ng pagtuklas. Ang huling hakbang para sa amin ay ikonekta ito sa Arduino mega o Raspberry Pi.
Hakbang 5: Kumokonekta sa Arduino
Ginamit ko ang Arduino Mega sa Seeed Studio Mega Shield, ito ang dahilan kung bakit ako naghinang ng isang konektor ng Grove sa Sipeed M1 board. Gayunpaman maaari mo lamang gamitin ang mga jumper wires at ikonekta ang Sipeed M1 nang direkta sa Arduino Mega, kasunod sa diagram ng mga kable na ito.
Pagkatapos nito i-upload ang camera.ino sketch at buksan ang Serial monitor. Kapag itinuro mo ang camera sa iba't ibang mga bagay (ang listahan ng 20 klase ay nasa sketch) dapat itong maglabas ng pangalan ng klase sa serial monitor!
Binabati kita! Mayroon ka na ngayong gumaganang module ng pagtuklas ng imahe para sa iyong Arduino!
Hakbang 6: Pagkonekta sa Raspberry Pi
Ginamit ko ang Grove Pi + hat para sa Raspberry Pi 2B, ngunit muli, tulad ng sa Arduino maaari mo lamang direktang ikonekta ang Sipeed M1 sa interface ng UART ng Raspberry Pi kasunod sa diagram ng mga kable na ito.
Matapos ang paglunsad ng camera_speak.py at ituro ang camera sa iba't ibang mga object, ilalabas ng terminal ang sumusunod na teksto na "Sa palagay ko ito ay" at kung mayroon kang mga speaker na konektado, masasalita nito nang malakas ang pariralang ito. Medyo cool, hindi ba?
Hakbang 7: Konklusyon
Napakalaking oras ng paglabas na aming tinitirhan, kasama ang AI at pag-aaral ng makina na tumagos sa lahat ng mga lugar sa aming buhay. Inaasahan ko ang pag-unlad sa lugar na ito. Nakikipag-ugnay ako sa koponan ng Sipeed, at alam kong aktibo silang nagkakaroon ng micropython wrapper para sa lahat ng kinakailangang pag-andar, kabilang ang pagpabilis ng CNN.
Kapag handa na ito ay malamang na maglathala ako ng maraming mga itinuturo sa kung paano gamitin ang iyong sariling mga modelo ng CNN gamit ang micropython. Isipin ang lahat ng mga kapanapanabik na application na maaari kang magkaroon para sa isang board na maaaring magpatakbo ng iyong sariling pagproseso ng imahe ng mga neural network para sa presyong ito at sa bakas ng paa na ito!
Inirerekumendang:
Gumawa ng DSLR Mount Stand para sa Mas kaunti sa 6 $ Paggamit ng Mga Pipe ng PVC (Monopod / Tripod para sa Anumang Camera): 6 na Hakbang
Gumawa ng DSLR Mount Stand para sa Mas kaunti sa 6 $ Paggamit ng Mga Pipe ng PVC (Monopod / Tripod para sa Anumang Camera): Oo …. Maaari kang gumawa ng iyong sarili sa ilang mga pipa ng PVC at T Ito ay magaan … Ito ay Perpektong balanseng … Ito ay solidong matatag … Ito ay friendly na pagpapasadya … Ako si Sooraj Bagal at ibabahagi ko ang aking karanasan tungkol sa mounting ng camera na nilikha ko para sa
UNICORN CAMERA - Bumuo ng Raspberry Pi Zero W NoIR 8MP Camera: 7 Hakbang (na may Mga Larawan)
UNICORN CAMERA - Raspberry Pi Zero W NoIR 8MP Camera Build: Ang Pi Zero W NoIR 8MP Camera Build Ang Instructable na ito ay nilikha upang matulungan ang sinumang nais ng isang Infrared Camera o isang Talagang Cool Portable Camera o isang Portable Raspberry Pi Camera o nais lamang magsaya, heheh . Ito ang pinaka-abot-kayang at mag-configure
Camera Stabilizer para sa ENV2 o Ibang Mga Telepono ng Camera: 6 na Hakbang
Camera Stabilizer para sa ENV2 o Ibang Mga Telepono ng Camera: Kailanman nais na gumawa ng isang video ngunit mayroon ka lamang isang camera phone? Naranasan mo na bang gumawa ng isang video gamit ang isang camera phone ngunit hindi mo ito mahawakan? Mahusay kaysa sa ito ay itinuturo para sa iyo
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang sa Camera Flash at Trigger Off Camera Flashes !!): 4 na Hakbang
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang Camera ng Flash at Trigger Off Camera Flashes !!): sa itinuturo na ito ay ipapakita ko sa iyo kung paano alisin ang isa sa mga pesky na pagmamay-ari na 3pin TTL na konektor sa ang gilid ng isang Nikon SC-28 off camera TTL cable at palitan ito ng isang karaniwang konektor sa pag-sync ng PC. papayagan ka nitong gumamit ng isang nakatuong flash, s
Kumuha ng Kamangha-manghang Mga Litrato ng Macro Sa Anumang Camera Camera Camera Lalo na ang isang IPhone: 6 na Hakbang
Kumuha ng Mga Kamangha-manghang Mga Litrato ng Macro Sa Anumang Camera Camera Camera … Lalo na ang isang iPhone: Kailanman nais na makakuha ng isa sa mga kamangha-manghang mga larawan na malapit … ang isa na nagsasabing … WOW!? … gamit ang isang camera phone camera na mas kaunti !? Talaga, ito ay isang addon ng pagpapalaki para sa anumang camera phone camera upang mapalaki ang iyong umiiral na lens ng camera upang magawa