Мазмуну:

Sipeed MaiX Bit OpenMV Demos - Computer Vision: 3 Steps
Sipeed MaiX Bit OpenMV Demos - Computer Vision: 3 Steps

Video: Sipeed MaiX Bit OpenMV Demos - Computer Vision: 3 Steps

Video: Sipeed MaiX Bit OpenMV Demos - Computer Vision: 3 Steps
Video: Object Detection With Sipeed MaiX Boards(Kendryte K210) 2024, Июль
Anonim
Image
Image

Бул Edge микроконтроллер платформасындагы Sipeed AI жөнүндө сериядагы экинчи макала. Бул жолу мен MaiX Bit (Seeed Studio дүкөнүнө шилтеме) жөнүндө жазам, кичине, нан үчүн даяр иштеп чыгуу тактасы. Анын өзгөчөлүктөрү MaiX Dockко абдан окшош, мен акыркы окуу куралы үчүн колдонгон такта, анткени алар ошол эле чипти колдонушат, Kendryte K210.

Биз кээ бир OpenMV демолорун сынап көрүү үчүн micropython камтылган программасын колдонобуз. Бул жерде OpenMV башкы барагынын сүрөттөмөсү:

OpenMV долбоору арзан, кеңейтиле турган, Python менен иштөөчү, машинанын көрүнүш модулдарын түзүү жана "Arduino of Machine Vision" болууну көздөйт.… Python машинанын көрүнүштөрүнүн алгоритмдери менен иштөөнү бир топ жеңилдетет. Мисалы, коддогу find_blobs () методу түстүү блокторду табат жана табылган ар бир түстүү блонду чагылдырган 8 баалуу объекттердин тизмесин кайтарат. Pythonдо find_blobs () тарабынан кайтарылган объекттердин тизмесин кайталоо жана ар бир түстүү блоктун тегерегине төрт бурчтук тартуу оңой эле коддун эки сабында жасалат.

Ошентип, MaiX Bit өзгөчөлөнгөн нейрон тармагынын ылдамдаткычына карабай, кээде OpenMV катуу коддуу алгоритмдерди колдонуу же аларды бири-бири менен колдонуу оңой болушу мүмкүн.

Кээ бир учурлар менин оюма келет:

1) Линия жолдоочусу бот үчүн линияны аныктоо

2) Светофорлорду тегерек жана түстү аныктоо менен аныктоо

3) жүздү таануу үчүн жүздөрдү табуу үчүн жүздү аныктоону колдонуу (DNN менен)

Бул макаланын Github репозиторийи

1 -кадам: Flash Micropython Firmware

MaiX Bitке туташыңыз
MaiX Bitке туташыңыз

Биринчиден, биз микропитон программасын тактайыбызга чагылдыруубуз керек. Алдын ала түзүлгөн экилик файл бул макаланын github репозиторийине kflash.py (флэш -утилита) менен кошо киргизилген. Эгерде сиз программалык камсыздоону баштапкы коддон түзгүңүз келсе, жөн гана https://github.com/sipeed/MaixPy баштапкы кодун жүктөп алыңыз, инструмент чынжырын орнотуңуз жана maixpy.bin файлына булак кодун түзүңүз. Куруунун деталдуу көрсөтмөлөрүн бул жерден тапса болот.

Менен бинардык файлды жаркылдатыңыз

sudo python3 kflash.py kpu.bin

Ийгиликтүү жаркырагандан кийин кийинки кадамга өтүңүз.

2 -кадам: MaiX Bitке туташыңыз

Эми биздин MaiX Bitке 115200. baudrate менен USB сериялык туташуусу аркылуу жеткиликтүү болушу керек. Сиз өзүңүздүн муктаждыктарыңызга туура келген нерселерди сериялык байланыш үчүн же жөн эле мышык жана жаңырык буйруктары үчүн колдоно аласыз. Мен сериялык байланыш үчүн экранды колдонуп жүрдүм жана аны абдан ыңгайлуу деп таптым.

Экран менен сериялык байланыш сеансын түзүү буйругу

sudo экраны /dev /ttyUSB0 115200

бул жерде /dev /ttyUSB0 - сиздин түзмөгүңүздүн дареги.

Саламдашуу билдирүүсүн жана питон котормочусунун көрсөтмөсүн көрүү үчүн микроконтроллердеги баштапкы абалга келтирүү баскычын басуу керек болушу мүмкүн.

3 -кадам: Demos иштетүү

Эми сиз Ctrl+E басуу менен көчүрүү режимине кире аласыз жана демо коддорун көчүрүп чаптаңыз. Аларды иштетүү үчүн көчүрүү режиминде Ctrl+D басыңыз.

Эгерде сиз видеолорду жазгыңыз келбесе, видео жазуу линияларына комментарий жазышыңыз керек. Болбосо, эч кандай SD -карта салынбаса, код өзгөчө кырдаалды жаратат

Бул жерде ар бир демонун кыскача сүрөттөмөсү:

Чөйрөлөрдү табуу - OpenMVден find_circles функциясын колдонот. Сиздин конкреттүү колдонмоңуз үчүн, өзгөчө, чегиңиз (hough трансформациясынан кандай чөйрөлөр аныкталаарын көзөмөлдөйт. Чоңдугунан чоңураак же барабар болгон тегерекчелер гана кайтарылат) жана r_min, r_max баалуулуктары керек.

Тик бурчтуктарды табуу - OpenMVден find_rects функциясын колдонот. Сиз босого мааниси менен ойной аласыз, бирок мендеги демо мааниси тик бурчтуктарды табуу үчүн абдан жакшы иштейт.

Беттерди табуу, көздөрдү табуу - сүрөттөгү көздөрдү жана маңдайкы бетти аныктоо үчүн Haar Cascades менен find_features функциясын колдонот. Туура ылдамдык менен соода кылуу үчүн босого жана масштабдык маанилер менен ойной аласыз.

Чексиз сызыктарды табуу - hough трансформациясын колдонуп, сүрөттөгү бардык чексиз сызыктарды табуу үчүн find_lines функциясын колдонот.

Түстү аныктоо - пайыздык объектти алуу үчүн get_statistics функциясын колдонот, андан кийин LAB тупунун орточо маанилерин RGB баалуулуктар топтомуна айландырат. Мен бул мисалды өзүм жазгам жана ал абдан жакшы иштейт, бирок түстү аныктоонун жыйынтыгына айланадагы жарык шарттары таасир этерин унутпаңыз.

Сиз OpenMV github репозиторийинде дагы көптөгөн кызыктуу демонстрацияларды таба аласыз! Алар негизинен MaiX Bit micropython менен шайкеш келет, эстен чыгарбоо керек болгон нерсе - pix. форматын жана фреймзировкасын койгондон кийин sensor.run (1) кошуу.

OpenMV коду менен бактылуу эксперимент. Эгерде сизде кандайдыр бир суроолор болсо же кызыктуу жыйынтыктарыңыз менен бөлүшкүңүз келсе, мага Youtube же LinkedIn аркылуу кайрылыңыз. Эми кечиресиз, мен барып роботторду жасайм!

Сунушталууда: