Съдържание:
- Стъпка 1: Sipeed MAix: AI на ръба
- Стъпка 2: Подгответе вашата среда
- Стъпка 3: Компилирайте кода
- Стъпка 4: Качване на.bin файла
- Стъпка 5: Свързване с Arduino
- Стъпка 6: Свързване към Raspberry Pi
- Стъпка 7: Заключение
Видео: AI камера за Raspberry Pi/Arduino: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Ако наскоро сте следили новините, имаше експлозия от стартиращи фирми, разработващи чипове за ускоряване на изводите и обучението по алгоритми за МЛ (машинно обучение). Повечето от тези чипове обаче все още се разработват и всъщност не са нещо, което обикновеният производител може да хване. Единственото значително изключение досега беше Intel Movidius Neural Compute Stick, който е достъпен за закупуване и се предлага с добър SDK. Той има няколко съществени недостатъка - а именно цената (около 100 USD) и факта, че се предлага във формат USB флаш. Чудесно е, ако искате да го използвате с лаптоп или Raspberry PI, но какво ще стане, ако искате да направите някои проекти за разпознаване на изображения с Arduino? Или Raspberry Pi Zero?
Стъпка 1: Sipeed MAix: AI на ръба
Не толкова отдавна се докопах до платката за разработка на Sipeed M1w K210, която има двуядрен 64-битов процесор RISC-V и може да се похвали с вграден KPU (Neural Network Processor), специално проектиран за ускоряване на CNN за обработка на изображения. Можете да прочетете повече подробности тук.
Цената на тази платка ме откровено шокира, тя е само 19 USD за пълноценна платка за разработка на AI на ръба с поддръжка на Wi-Fi! Има обаче едно предупреждение (разбира се, че има): фърмуерът на микропитона за платката все още се разработва и като цяло не е прекалено удобен за потребителя към момента. Единственият начин за достъп до всички негови функции в момента е да напишете свой собствен вграден 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
Копирайте изтегления набор от инструменти в директорията /opt. След това изпълнете следните команди
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
направете
Добавете/opt/kendryte-toolchain/bin към вашия PATH сега.
Вече сте готови да компилирате кода!
Стъпка 3: Компилирайте кода
Изтеглете кода от моето хранилище на github.
Изтеглете самостоятелен SDK на Kendryte K210
Копирайте /kpu папка от моето хранилище на github в /src папка в SDK.
Изпълнете следните команди в папка SDK (не /папка src!)
mkdir build && cd build
cmake.. -DPROJ = име на проект -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. Можете обаче просто да използвате джъмперни кабели и да свържете Sipeed M1 директно към Arduino Mega, следвайки тази схема на свързване.
След това качете скицата на camera.ino и отворете серийния монитор. Когато насочите камерата към различни обекти (списъкът от 20 класа е в скицата), тя трябва да изведе името на класа в серийния монитор!
Честито! Вече имате работещ модул за откриване на изображения за вашия Arduino!
Стъпка 6: Свързване към Raspberry Pi
Използвах шапка Grove Pi+ за Raspberry Pi 2B, но отново, както с Arduino, можете просто да свържете директно Sipeed M1 към UART интерфейса на Raspberry Pi, следвайки тази схема на свързване.
След това стартирайте camera_speak.py и насочете камерата към различни обекти, терминалът ще изведе следния текст „Мисля, че е“, а също така, ако имате свързани високоговорители, той ще произнесе тази фраза на глас. Доста готино, нали?
Стъпка 7: Заключение
Това е много изходно време, в което живеем, като AI и машинното обучение проникват във всички области на нашия живот. Очаквам с нетърпение развитието в тази област. Поддържам връзка с екипа на Sipeed и знам, че активно разработват обвивка от микропитон за всички необходими функции, включително ускорение на CNN.
Когато е готов, много вероятно ще публикувам повече инструкции за това как да използвате вашите собствени модели CNN с микропитон. Помислете за всички вълнуващи приложения, които можете да имате за дъска, която може да управлява вашите собствени невронни мрежи за обработка на изображения за тази цена и с този отпечатък!
Препоръчано:
Камера за видеонаблюдение с NodeMCU + модул за камера на стар лаптоп (със и без използване на Blynk): 5 стъпки
Камера за видеонаблюдение с NodeMCU + модул за камера на стария лаптоп (със и без използване на Blynk): Здравейте момчета! В тази инструкция ще ви покажа как използвах модул за камера на стар лаптоп и nodeMCU, за да направя нещо подобно на CCTV
Най -лесната уеб камера като охранителна камера - Откриване на движение и снимки по имейл: 4 стъпки
Най -лесната уеб камера като камера за сигурност - Откриване на движение и снимки по имейл: Вече не е необходимо да изтегляте или конфигурирате софтуер, за да получавате картини, открити от движение от вашата уеб камера, до вашия имейл - просто използвайте браузъра си. Използвайте актуален браузър Firefox, Chrome, Edge или Opera в Windows, Mac или Android, за да заснемете снимката
Направи си сам голяма камера за надземна камера под 50 $: 3 стъпки
Направи си сам голяма камера с надземна камера Под 50 $: Снимките отгоре могат да бъдат много ценни при определени видове продуктова фотография или дори художествени композиции. Но понякога сте с ограничен бюджет. Това обаче не трябва да спира вашата творческа работа. Вместо това потърсете други начини да направите тези снимки с c
Използвайте повторно модул за уеб камера HP WebCam 101 Aka 679257-330 като обща USB уеб камера: 5 стъпки
Използвайте повторно модул на уеб камера HP WebCam 101 Aka 679257-330 като обща USB уеб камера: Искам да подправя 14-годишния си Panasonic CF-18 с чисто нова уеб камера, но Panasonic вече не поддържа тази прекрасна машина, затова трябва да използвайте сивото вещество за нещо по -лесно от b & b (бири и бургери). Това е първата част
Направете шпионска камера с една уеб камера: 6 стъпки
Направете шпионска камера с една уеб камера: Здравейте, казвам се Себастиан и това е първият ми инструктаж, английският ми е лош, така че преводачът ще използва, така че да остави най -доброто възможно нещо, тогава ако модът или администраторът могат да го коригират от вече благодаря ти много! Браво за този проект ние ще