Բովանդակություն:
- Քայլ 1. Sipeed MAix: AI եզրին
- Քայլ 2: Պատրաստեք ձեր միջավայրը
- Քայլ 3: Կազմեք ծածկագիրը
- Քայլ 4.bin ֆայլը բեռնելը
- Քայլ 5: Միացում Arduino- ին
- Քայլ 6: Միացում Raspberry Pi- ին
- Քայլ 7: Եզրակացություն
Video: AI Camera Raspberry Pi/Arduino- ի համար. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Եթե դուք վերջերս հետևում եք նորություններին, տեղի ունեցավ նորաստեղծ ձեռնարկությունների պայթյուն, որոնք մշակում են ML (մեքենայական ուսուցման) ալգորիթմների եզրակացությունն ու ուսուցումը արագացնելու համար: Այնուամենայնիվ, այդ չիպերի մեծ մասը դեռ մշակման փուլում է, և իրականում դա այն չէ, ինչ ձեր միջին արտադրողը կարող է ձեռք բերել: Մինչ այժմ միակ նշանակալի բացառությունը Intel Movidius Neural Compute Stick- ն էր, որը հասանելի է գնման համար և գալիս է լավ SDK- ով: Այն ունի մի քանի էական թերություններ ՝ գինը (մոտ 100 ԱՄՆ դոլար) և այն փաստը, որ այն գալիս է USB կրիչով: Հիանալի է, եթե ցանկանում եք այն օգտագործել նոութբուքի կամ Raspberry PI- ի հետ, բայց ի՞նչ անել, եթե ցանկանում եք Arduino- ի հետ կատարել պատկերի ճանաչման որոշ նախագծեր: Թե՞ Raspberry Pi Zero:
Քայլ 1. Sipeed MAix: AI եզրին
Ոչ վաղ անցյալում ես ձեռքս վերցրեցի Sipeed M1w K210 զարգացման տախտակը, որն ունի երկմիջուկ RISC-V 64bit պրոցեսոր և հպարտանում է ներկառուցված KPU- ով (նյարդային ցանցի պրոցեսոր), որը հատուկ նախագծված է CNN- ի արագացման համար պատկերի մշակման համար: Առավել մանրամասն կարող եք կարդալ այստեղ:
Այս տախտակի գինն անկեղծորեն ցնցեց ինձ, այն ընդամենը 19 ԱՄՆ դոլար է ՝ լիարժեք AI-on-the-edge զարգացման տախտակի համար ՝ Wi-Fi աջակցությամբ: Չնայած կա մի նախազգուշացում (իհարկե, կա). Տախտակի համար նախատեսված micropython- ի որոնվածը դեռ մշակման փուլում է, և ընդհանուր առմամբ այն այժմ այնքան էլ օգտագործողի համար հարմար չէ: Այս պահին բոլոր գործառույթներին հասնելու միակ միջոցը գրել ձեր ներկառուցված C կոդը կամ փոփոխել գոյություն ունեցող ցուցադրական տարբերակները:
Այս ձեռնարկը բացատրում է, թե ինչպես օգտագործել Mobilenet 20 դասի հայտնաբերման մոդելը `օբյեկտները հայտնաբերելու և հայտնաբերված օբյեկտի կոդը UART- ի միջոցով ուղարկելու համար, որտեղից այն կարող է ստացվել Arduino/Raspberry Pi- ով:
Այժմ, այս ձեռնարկը ենթադրում է, որ դուք ծանոթ եք Linux- ին և C կոդի կազմման հիմունքներին: Եթե այս արտահայտությունը լսելը ձեզ մի փոքր գլխապտույտ առաջացրեց:) ապա պարզապես անցեք Քայլ 4-ին, որտեղ իմ նախապես կառուցված երկուական ֆայլը վերբեռնեք Sipeed M1 և բաց թողեք կազմումը:
Քայլ 2: Պատրաստեք ձեր միջավայրը
Ես օգտագործել եմ Ubuntu 16.04 -ը C կոդի կազմման և վերբեռնման համար: Windows- ում դա հնարավոր է անել, բայց ես ինքս դա չեմ փորձել:
Ներբեռնեք RISC-V GNU Compiler Toolchain- ը, տեղադրեք բոլոր անհրաժեշտ կախվածությունները:
git clone-ռեկուրսիվ
sudo apt-get տեղադրել 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
Ներբեռնված գործիքաշղթան պատճենեք /ընտրել գրացուցակում: Դրանից հետո գործարկեք հետևյալ հրամանները
./configure-prefix =/opt/kendryte-toolchain-with-cmodel = medany
կատարել
Ավելացրեք/opt/kendryte-toolchain/bin ձեր PATH- ին հիմա:
Դուք այժմ պատրաստ եք կազմել կոդը:
Քայլ 3: Կազմեք ծածկագիրը
Ներբեռնեք կոդը իմ github պահոցից:
Ներբեռնեք Kendryte K210 ինքնուրույն SDK
Պատճենեք /kpu թղթապանակը իմ github պահոցից SDK- ի /src պանակում:
Գործարկեք հետևյալ հրամանները SDK թղթապանակում (ոչ /src թղթապանակ):
mkdir build && cd build
cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
որտեղ project_name- ը ձեր նախագծի անունն է (կախված ձեզանից) և -DTOOLCHAIN = պետք է մատնանշի ձեր risc -v գործիքաշղթայի տեղը (դուք այն ներբեռնել եք վերջին քայլում, հիշու՞մ եք):
Հիանալի! Այժմ հուսով ենք, որ կտեսնեք հավաքածուն առանց սխալների, և ունեք.bin ֆայլ, որը կարող եք վերբեռնել:
Քայլ 4.bin ֆայլը բեռնելը
Այժմ միացրեք ձեր Sipeed M1- ը համակարգչին և /build թղթապանակից գործարկեք հետևյալ հրամանը
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Որտեղ kpu.bin ձեր.bin ֆայլի անունն է:
Վերբեռնումը սովորաբար տևում է 2-3 րոպե: Ավարտվելուց հետո կտեսնեք, որ տախտակն աշխատում է 20 դասի հայտնաբերմամբ: Մեզ համար վերջին քայլը դա Arduino mega- ին կամ Raspberry Pi- ին միացնելն է:
!!! Եթե դուք նոր եք եկել Քայլ 2 -ից !
Գործարկեք հետևյալ հրամանը այն թղթապանակից, որտեղ դուք կլոնավորել եք իմ github պահոցը
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Վերբեռնումը սովորաբար տևում է 2-3 րոպե: Ավարտվելուց հետո կտեսնեք, որ տախտակն աշխատում է 20 դասի հայտնաբերմամբ: Մեզ համար վերջին քայլը դա Arduino mega- ին կամ Raspberry Pi- ին միացնելն է:
Քայլ 5: Միացում Arduino- ին
Ես օգտագործեցի Arduino Mega- ն Seeed Studio Mega Shield- ի հետ, ահա թե ինչու ես Grove միակցիչը միացրեցի Sipeed M1 տախտակին: Այնուամենայնիվ, կարող եք պարզապես օգտագործել jumper լարերը և միացնել Sipeed M1- ը անմիջապես Arduino Mega- ին ՝ հետևելով այս էլեկտրագծերի գծապատկերին:
Դրանից հետո վերբեռնեք camera.ino ուրվագիծը և բացեք Սերիայի մոնիտորը: Երբ տեսախցիկն ուղղում եք տարբեր օբյեկտների (էսքիզում 20 դասերի ցանկը կա), այն պետք է շարքի դասի անվանումը շարանի մոնիտորի վրա:
Շնորհավորում եմ: Դուք այժմ ունեք պատկերի հայտնաբերման աշխատանքային մոդուլ ձեր Arduino- ի համար:
Քայլ 6: Միացում Raspberry Pi- ին
Ես օգտագործեցի Grove Pi+ գլխարկը Raspberry Pi 2B- ի համար, բայց կրկին, ինչպես Arduino- ի դեպքում, դուք կարող եք ուղղակիորեն միացնել Sipeed M1- ը Raspberry Pi- ի UART ինտերֆեյսին ՝ այս էլեկտրագծերի գծապատկերից հետո:
Այդ գործարկումից հետո camera_speak.py և ֆոտոխցիկը ուղղեք դեպի տարբեր օբյեկտներ, տերմինալը կհեռացնի հետևյալ տեքստը «Կարծում եմ, որ դա է», և եթե միացված եք բարձրախոսներ, այն այս արտահայտությունը բարձրաձայն կխոսի: Բավականին թույն է, այնպես չէ՞:
Քայլ 7: Եզրակացություն
Սա շատ հետաքրքիր ժամանակներ են, որտեղ մենք ապրում ենք, երբ արհեստական ինտելեկտը և մեքենայական ուսուցումը ներթափանցում են մեր կյանքի բոլոր ոլորտները: Ես անհամբերությամբ եմ սպասում այս ոլորտում զարգացումներին: Ես կապ եմ պահպանում Sipeed թիմի հետ և գիտեմ, որ նրանք ակտիվորեն մշակում են միկրոֆիթոնի փաթաթան բոլոր անհրաժեշտ գործառույթների համար, ներառյալ CNN- ի արագացումը:
Երբ այն պատրաստ լինի, ես, ամենայն հավանականությամբ, ավելի շատ հրահանգներ կհրապարակեմ, թե ինչպես օգտագործել ձեր սեփական CNN մոդելները միկրոպիթոնի հետ: Մտածեք բոլոր հետաքրքիր ծրագրերի մասին, որոնք կարող եք ունենալ տախտակի համար, որը կարող է գործարկել ձեր սեփական պատկերների մշակման նյարդային ցանցերը այս գնով և այս հետքերով:
Խորհուրդ ենք տալիս:
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (միայն Windows- ի համար). 9 քայլ
Կիթառի հերոս կիթառի օգտագործումը խոշորացումը վերահսկելու համար (Միայն Windows). Քանի որ մենք գտնվում ենք գլոբալ համաճարակի մեջ, մեզանից շատերը խրված են տան մաքրման և խոշորացման հանդիպումներին միանալու մեջ: Որոշ ժամանակ անց սա կարող է դառնալ շատ ձանձրալի և հոգնեցուցիչ: Տունը մաքրելիս ես գտա Guitar Hero- ի հին կիթառը, որը գցված էր
Steam Punk ձեր UPS- ը ՝ ձեր Wi-Fi երթուղիչի համար մի քանի ժամ անընդհատ աշխատելու համար. 4 քայլ (նկարներով)
Steam Punk Ձեր UPS- ը ձեր Wi-Fi երթուղիչի համար մի քանի ժամ տևելու համար: Հիմնականում անհամատեղելի բան կա, երբ ձեր UPS- ը փոխում է իր 12V DC մարտկոցի հզորությունը 220V AC հոսանքի, այնպես որ ձեր երթուղղիչով և մանրաթելային ONT- ով աշխատող տրանսֆորմատորները կարող են այն նորից վերածել 12V DC Դուք նույնպես դեմ եք [սովորաբար
Օգտագործեք 1 անալոգային մուտքագրում Arduino- ի համար 6 կոճակի համար. 6 քայլ
Arduino- ի համար օգտագործեք 1 անալոգային մուտք 6 կոճակի համար. Վերջերս մտքովս անցավ, որ ես պետք է կարողանամ օգտագործել անալոգային մուտքերից մեկը `բազմաթիվ թվային մուտքեր բերելու համար: Ես արագ որոնեցի և գտա, թե որտեղ են մարդիկ
Պարտիզանական մարտկոցի սեփականատեր ձեր սեղանի համար / Arduino նախագծերի համար. 3 քայլ
Պարտիզանական մարտկոցի սեփականատեր ձեր սեղանի համար / Arduino նախագծերի համար. Ես փորձեր եմ կատարում DS1307- ի և Arduino- ի հետ, ես պետք է միջոց գտնեի CR1212 մարտկոցը միացնելու համար: Ես մտա իմ միակցիչների տուփի մեջ և չգտա ոչինչ, որը կարող էր օգնել: Հետո, eur ê ka! Ես ունեի լուսավորություն
Ուղեցույց L298 2Amp Motor Driver Shield- ի համար Arduino- ի համար. 6 քայլ
L298 2Amp Motor Driver Shield- ը Arduino- ի համար. Նկարագրություն L298 2Amp Motor Driver Shield- ը Arduino- ի համար հիմնված է L298 շարժիչի վարորդի ինտեգրալ սխեմայի վրա, լիարժեք կամուրջի շարժիչ: Այն կարող է վարել երկու առանձին 2A DC շարժիչներ կամ 1 2A քայլ շարժիչ: Շարժիչի արագությունը և ուղղությունները կարող են վերահսկվել առանձին