Съдържание:
- Стъпка 1: Фърмуер за Flash Micropython
- Стъпка 2: Свържете се с MaiX Bit
- Стъпка 3: Пуснете демонстрацията
Видео: Sipeed MaiX Bit OpenMV Demos - Компютърно виждане: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това е втората поредна статия за Sipeed AI на платформата за микроконтролер Edge. Този път ще пиша за MaiX Bit (връзка към Seeed Studio Shop), по -малка, готова за разработка дъска. Спецификациите му са много подобни на MaiX Dock, дъската, която използвах за последния урок, тъй като използват същия чип, Kendryte K210.
Ще използваме фърмуера на micropython, за да изпробваме някои демонстрации на OpenMV. Ето описание от началната страница на OpenMV:
Проектът OpenMV е за създаване на евтини, разширяеми, захранвани от Python модули за машинно виждане и има за цел да се превърне в „Arduino на Machine Vision“.… Python прави работата с алгоритмите за машинно виждане много по-лесна. Например методът find_blobs () в кода намира цветни петна и връща списък с 8-ценни обекти, представляващи всяка намерена цветна петна. В Python итерацията през списъка с обекти, върнати от find_blobs () и начертаването на правоъгълник около всяка цветна петна се извършва лесно само в два реда код.
Така че, въпреки че MaiX Bit разполага със специален ускорител за невронни мрежи, понякога може да е по-лесно просто да използвате алгоритми с твърдо кодиране на OpenMV, за да свършите работата или да ги използвате един до друг.
Някои случаи на употреба, които ми идват на ум, са:
1) Откриване на линия за бот на последовател на линия
2) Откриване на светофари с разпознаване на кръг и цвят
3) Използване на разпознаване на лица за намиране на лица за разпознаване на лица (с DNN)
Хранилище на Github за тази статия
Стъпка 1: Фърмуер за Flash Micropython
На първо място ще трябва да прехвърлим фърмуера на микропитон на нашата платка. Предварително компилиран двоичен файл е включен в хранилището на github за тази статия, заедно с kflash.py (помощна програма за флаш). Ако искате да компилирате фърмуера от изходния код, просто изтеглете изходния код от https://github.com/sipeed/MaixPy, инсталирайте инструментариума и компилирайте изходния код във файла maixpy.bin. Подробни инструкции за изграждане можете да намерите тук.
Мигайте двоичния файл с
sudo python3 kflash.py kpu.bin
След успешно мигане преминете към следващата стъпка.
Стъпка 2: Свържете се с MaiX Bit
Сега нашият бит MaiX би трябвало да бъде достъпен чрез USB серийна връзка с скорост на предаване 115200. Можете да използвате любимия си софтуер за серийна комуникация или просто команди cat и echo, каквото отговаря на вашите нужди. Използвах екран за серийна комуникация и ми беше много удобно.
Командата за установяване на серийна комуникационна сесия с екран е
sudo screen /dev /ttyUSB0 115200
където /dev /ttyUSB0 е адресът на вашето устройство.
Може да се наложи да натиснете бутона за нулиране на вашия микроконтролер, за да видите поздравителното съобщение и подкана за интерпретатор на python.
Стъпка 3: Пуснете демонстрацията
Сега можете да влезете в режим на копиране, като натиснете Ctrl+E и копирате-поставите демо кодовете. За да ги стартирате, натиснете Ctrl+D в режим на копиране.
Ако не искате да записвате видеоклиповете, трябва да коментирате редовете за видеозапис. В противен случай кодът ще създаде изключение, ако няма поставена SD карта
Ето кратки описания на всяка демонстрация:
Намиране на кръгове - използва функцията find_circles от OpenMV. Нуждае се от по -голяма промяна за вашето конкретно приложение, по -специално праг (контролира какви кръгове се откриват от преобразуването на Hough. Връщат се само кръгове с амплитуда, по -голяма или равна на прага) и r_min, r_max стойности.
Намиране на правоъгълници - използва функцията find_rects от OpenMV. Можете да играете с прагова стойност, но стойността, която имам в демонстрацията, работи доста добре за намиране на правоъгълници.
Намиране на лица, намиране на очи - използва функцията find_features с Haar Cascades за откриване на очи и челно лице в изображението. Можете да си поиграете със стойностите на прага и скалата за правилния компромис с точност на скоростта.
Намиране на безкрайни линии - използва функцията find_lines, за да намери всички безкрайни линии в изображението, използвайки преобразуването на Hough.
Откриване на цвят - използва функцията get_statistics за получаване на обект на процентил и след това преобразува средните стойности на LAB кортежа в RGB стойностите. Аз лично написах този пример и той работи доста добре, но имайте предвид, че резултатите от цветовото разпознаване ще бъдат повлияни от условията на околната светлина.
Можете да намерите още много интересни демонстрации в хранилището на OpenMV github! Те са най -вече съвместими с микропитон MaiX Bit, единственото нещо, което трябва да запомните, е да добавите sensor.run (1) след задаване на pixformat и frameize.
Приятно експериментиране с OpenMV код. Ако имате въпроси или искате да споделите някои от вашите интересни резултати, не се колебайте да се свържете с мен в Youtube или LinkedIn. Сега, извинете, ще отида да направя някои роботи!
Препоръчано:
Прототипни очила за нощно виждане за еърсофт/пейнтбол: 4 стъпки
Прототипни очила за нощно виждане за еърсофт/пейнтбол: Кратка бележка за нощното виждане Истинските очила за нощно виждане (gen 1, gen2 и gen 3) обикновено работят чрез усилване на околната светлина, но очилата за нощно виждане, които ще изградим тук, работят на различен принцип. Ще използваме камерата Pi NoIR, която
Откриване на обект с дъски Sipeed MaiX (Kendryte K210): 6 стъпки
Откриване на обекти с платки Sipeed MaiX (Kendryte K210): Като продължение на предишната ми статия за разпознаването на изображения с платки Sipeed MaiX, реших да напиша друг урок, фокусиран върху откриването на обекти. Наскоро се появи интересен хардуер с чипа Kendryte K210, включително S
Очила за нощно виждане за Google Cardboard: 10 стъпки (със снимки)
Очила за нощно виждане за Google Cardboard: Отказ от отговорност: Използването на това устройство е предназначено само за забавление, образование и научна употреба; не за шпионаж и/или наблюдение. „Шпионската притурка“функции бяха добавени към приложението само за забавление и няма да служат на практическа цел за
Nightvision Laserbeak! (ИЛИ Как да си направим съхраняващ нощно виждане, LED Throwie, трансформатор играчка Mashup фенерче!): 5 стъпки
Nightvision Laserbeak! (ИЛИ Как да си направим фенерче за съхранение на нощно виждане, LED Throwie, Transformer Toy Mashup фенерче!): Инструктируем от noob за noob. Какво получавате, когато комбинирате запазващо нощното виждане фенерче, LED хвърляне и блестящ трансформатор играчка? Инструктаж с наистина дълго име! Ще го наречем " Nightvision Laserbeak " за
Камера за нощно виждане: 16 стъпки (със снимки)
Камера за нощно виждане: Подобно на Светлината на Еарендил, води Фродо на тъмни места, така че и домашната ви камера за нощно виждане ще бъде вашият водещ фар. Независимо дали сте в гората, къмпингувате с приятели, улавяйки този неуловим поглед на скандинавски трол, или докато сте на