Мазмұны:

Raspberry Pi/Arduino үшін AI камерасы: 7 қадам
Raspberry Pi/Arduino үшін AI камерасы: 7 қадам

Бейне: Raspberry Pi/Arduino үшін AI камерасы: 7 қадам

Бейне: Raspberry Pi/Arduino үшін AI камерасы: 7 қадам
Бейне: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Қараша
Anonim
Image
Image

Егер сіз жақында жаңалықтарды бақылап жүрсеңіз, ML (машиналық оқыту) алгоритмін шығару мен оқытуды жеделдетуге арналған чиптерді дамытатын стартаптардың жарылуы болды. Дегенмен, бұл чиптердің көпшілігі әлі де жетілдірілуде және сіздің орташа өндірушіңіз қол жеткізе алатын нәрсе емес. Әзірге жалғыз маңызды ерекшелік Intel Movidius Neural Compute Stick болды, ол сатып алуға болады және жақсы SDK -мен келеді. Оның бірнеше маңызды кемшіліктері бар, атап айтқанда бағасы (шамамен 100 АҚШ доллары) және USB -диск форматында келеді. Егер сіз оны ноутбукпен немесе Raspberry PI -мен қолданғыңыз келсе, бұл өте жақсы, бірақ егер сіз Arduino -мен суретті тану жобаларын жасағыңыз келсе ше? Немесе Raspberry Pi Zero?

1 -қадам: Sixed MAix: AI Edge

Сипатталған MAix: AI шетінде
Сипатталған MAix: AI шетінде

Көп ұзамай мен екі ядролы RISC-V 64 биттік процессоры бар және суретті өңдеу үшін CNN-ді жеделдетуге арналған борттық KPU (нейрондық желі процессоры) бар Sipeed M1w K210 даму тақтасына қол жеткіздім. Толығырақ мына жерден оқи аласыз.

Бұл тақтаның бағасы мені шошытты, бұл Wi-Fi қолдауымен толыққанды интеллектуалды даму тақтасы үшін небәрі 19 доллар! Ескерту бар (әрине бар): тақтаға арналған микропитон микробағдарламасы әлі де жетілдірілуде және жалпы алғанда бұл қазіргі уақытта өте ыңғайлы емес. Дәл қазір оның барлық функцияларына қол жеткізудің жалғыз жолы - жеке енгізілген C кодын жазу немесе кейбір демонстрацияларды өзгерту.

Бұл оқулық Mobilenet 20 сыныпты анықтау моделін объектілерді анықтау және UART арқылы объектінің кодын жіберу үшін қалай қолдануға болатынын түсіндіреді, оны оны Arduino/Raspberry Pi қабылдай алады.

Енді бұл оқулықта сіз Linux пен C кодын құрастыру негіздерімен таныссыз деп ойлаймын. Егер бұл фразаны естігенде сізді біраз бас айналдырса:) онда 4-қадамға өтіңіз, онда сіз менің екілік файлымды Sipeed M1-ге жүктеп, компиляцияны өткізіп жібересіз.

2 -қадам: қоршаған ортаны дайындаңыз

Өз ортаңызды дайындаңыз
Өз ортаңызды дайындаңыз

Мен Ubuntu 16.04 жүйесін C кодын құрастыру және жүктеу үшін қолдандым. Windows -те мұны жасауға болады, бірақ мен оны сынап көрмедім.

RISC-V GNU компиляторлық құралдар тізбегін жүктеңіз, барлық қажетті тәуелділіктерді орнатыңыз.

git clone-қайталанатын

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

Жүктелген құралдар тізбегін /opt каталогына көшіріңіз. Осыдан кейін келесі командаларды орындаңыз

./configure --prefix =/opt/kendryte-toolchain-with-cmodel = medany

жасау

PATH-ге/opt/kendryte-toolchain/bin қосыңыз.

Сіз енді кодты құрастыруға дайынсыз!

3 -қадам: Кодты құрастырыңыз

Кодты құрастырыңыз
Кодты құрастырыңыз

Менің github репозиторийінен кодты жүктеңіз.

Kendryte K210 автономды SDK жүктеу

Github репозиторийімнен /kpu қалтасын SDK ішіндегі /src қалтасына көшіріңіз.

Келесі пәрмендерді SDK қалтасында іске қосыңыз (not /src қалтасы!)

mkdir build && cd build

cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make

мұнда project_name -сіздің жобаңыздың атауы (сізге байланысты) және -DTOOLCHAIN = risc -v құралдар тізбегінің орнын көрсетуі керек (сіз оны бірінші қадамда жүктеп алдыңыз, есте сақтаңыз ба?)

Тамаша! Енді сіз компиляция қатесіз аяқталғанын көресіз деп үміттенеміз және сізде жүктеуге болатын.bin файлы бар.

4 -қадам:.bin файлын жүктеу

. Bin файлын жүктеу
. Bin файлын жүктеу

Енді Sipeed M1 компьютерге қосыңыз және /build қалтасынан келесі пәрменді орындаңыз

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin

Мұндағы kpu.bin -.bin файлыңыздың атауы

Жүктеу әдетте 2-3 минутты алады, ол аяқталғаннан кейін сіз 20 сыныпты анықтайтын тақтаны көресіз. Біз үшін соңғы қадам - оны Arduino мега немесе Raspberry Pi -ге қосу.

!!! Егер сіз 2 -қадамнан жаңа келген болсаңыз !

Github репозиторийімді клондаған қалтадан келесі пәрменді іске қосыңыз

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin

Жүктеу әдетте 2-3 минутты алады, ол аяқталғаннан кейін сіз 20 сыныпты анықтайтын тақтаны көресіз. Біз үшін соңғы қадам - оны Arduino мега немесе Raspberry Pi -ге қосу.

5 -қадам: Arduino -ға қосылу

Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу

Мен Arduino Mega -ді Seeed Studio Mega Shield көмегімен қолдандым, сондықтан мен Grove коннекторын Sipeed M1 тақтасына дәнекерледім. Дегенмен, сіз осы сымдардың схемасына сәйкес, секіргіш сымдарды қолдана аласыз және Sipeed M1 -ді Arduino Mega -ге тікелей қосасыз.

Осыдан кейін camera.ino нобайын жүктеп, сериялық мониторды ашыңыз. Камераны әр түрлі объектілерге көрсеткенде (20 сыныптың тізімі эскизде), ол сериялық мониторда сыныптың атын шығаруы керек!

Құттықтаймын! Енді сізде Arduino үшін кескінді анықтайтын жұмыс модулі бар!

6 -қадам: Raspberry Pi -ге қосылу

Raspberry Pi -ге қосылу
Raspberry Pi -ге қосылу
Raspberry Pi -ге қосылу
Raspberry Pi -ге қосылу

Мен Raspberry Pi 2B үшін Grove Pi+ шляпасын қолдандым, бірақ тағы да, Arduino сияқты, осы сымдар схемасына сәйкес Sipeed M1 -ді Raspberry Pi -дің UART интерфейсіне тікелей қосуға болады.

Осыдан кейін camera_speak.py іске қосылып, камераны әр түрлі нысандарға бағыттаған соң, терминал келесі мәтінді шығарады «Менің ойымша», сонымен қатар егер сізде динамиктер қосылған болса, ол бұл фразаны дауыстап айтады. Өте керемет, солай емес пе?

7 -қадам: Қорытынды

Бұл біз өмір сүріп жатқан уақыт, интеллект пен машиналық оқыту біздің өміріміздің барлық саласына енген. Мен осы саладағы дамуды асыға күтемін. Мен Sipeed командасымен үнемі байланыста боламын және олар CNN жеделдетуді қоса алғанда, барлық қажетті функцияларға арналған микропитон орауышын белсенді түрде дамытып жатқанын білемін.

Дайын болғанда мен CNN модельдерін микропитонмен қалай қолдануға болатынын көрсететін нұсқаулықтар шығаратын шығармын. Өзіңіздің нейрондық желілеріңізді осы бағамен және осы ізмен басқара алатын тақтаға арналған барлық қызықты қосымшалар туралы ойланыңыз!

Ұсынылған: