OpenMV
Қалқандар
Объектив
Робототехника
Кітап
Бейне
Жүктеп алу
Құжаттар
Форум
OpenMV.io
GithubЖасанды интеллектінің көру саласындағы екі өте жиі кездесетін тапсырмасы — бұл классификация және мақсатты анықтау.
Санат:Суреттің қай санатқа жататынын анықтау, мысалы, санат мысық немесе ит болуы мүмкін.
Мақсатты анықтау:Суреттегі бірнеше әртүрлі нысанның орнын, санын және өлшемдерін анықтау үшін қолданылады.
Алдыңғы бейне оқу құралдарында біз OpenMV4 Plus платформасын пайдаланып, әртүрлі объектілерді классификациялау үшін нейрондық желіні онлайн тәрбиелеу әдісін қарастырдық. Бұл әдіс OpenMV көрініс аймағындағы суреттерді нақты уақытта талдауға мүмкіндік береді: мысалы, адамның бетінде маска бар ма, жоқ па — деп анықтауға болады. Дегенмен, бұл әдіс бет немесе масканың орналасу координаттарын және беттердің санын шығара алмайды.
Мақсатты анықтау класификацияға қарағанда көпшілік қиындықтарға ие болғандықтан және есептеу көлемі де көбірек болғандықтан, ол микроконтроллерлер саласында өте сирек кездеседі. OpenMV негізгі басқарушы MCU-ы STM32H7 болып табылады; қазір біздің OpenMV платформасына микроконтроллерде мақсатты анықтауға ұқсас есептерді орындай алатын жаңа функция қосылды, оның өнімділігі өте жоғары.

Бүгін біз сіздерге түсіндіремізТрафик белгілерін анықтау бойынша оқу көрсетілімі – нақты көше жағдайларындағы трафик белгілерін анықтаумысалы, қоңырау соғуға, тұрақтап тоқтауға тыйым салу, жылдамдық шегі 80 км/сағ т.б., зертханалық кедергісіз орта емес.
Барлық код пен модельдер кіретін толық жоба мазмұнын төмендегі адрес бойынша қарауға болады: https://book.openmv.cc/project/traffic-sign.html
Әдетте орташа жағдайлар өте күрделі болады, әсіресе жол жағдайлары, онда көптеген бұрғылаушы факторлар бар. Біз нақты ортадағы көлік белгілерінің суреттерін мобильді телефон сияқты құрылғылар арқылы жинап, OpenMV серіктесіміз EdgeImpulse онлайн веб-сайтында модельді оқыттық. Осы үшін шамамен 270 сурет белгіленді, ал оқыту уақыты тек 10 минут құрады. Оқытылған модельдің F1 score дәлдігі 92% құрайды, ал OpenMV-де жұмыс істегендегі кадр жиілігі 10 кадр/секунд құрайды, нәтижесінде жұмыс өте ұзақ емес және дәлдігі жоғары болды.
Сіздер біздің бейне оқу құралдарын пайдаланып, әртүрлі сандар, жемістер, белгілер, бөлшектер немесе кез келген нақты ирек-сирек объектілер сияқты кез келген анықтағыңыз келетін объектілерді оқытуға болады; осыдан кейін белгілі бір объектілердің саны, координаталары және объектілердің түрлерінің атаулары анықталады.
Ескерту:Бұл бейнеоқу құралындағы нейрондық желілердің мақсатты нүктелерді анықтау функциясы OpenMV4 H7 Plus ғана емес, сонымен қатар OpenMV4 H7 үшін де қолданылады, себебі дайындалған FOMO мақсатты нүктелерді анықтау моделі көлемі өте кішкентай, тиімділігі жоғары және бірнеше ондаған КБ ғана құрайды; осылайша, OpenMV4 H7-нің жады көлемі Plus-ке қарағанда аз болса да, біз OpenMV4 үшін сәл кішірек модельді оқытуымызға болады.
Төменде қағидаты қысқаша түсіндірілген:
OpenMV платформасындағы FOMO мақсатты нүктелерді анықтау әдісінің негізгі жобалау шешімдері көптеген объектілерді анықтау есептерінде объектілердің өлшемі қажет емес, тек олардың суретте орналасуы ғана қажет екендігі туралы идеяға негізделген. Біз объектілердің орналасуын білгеннен кейін, мысалы, OpenMV арқылы көлікті анықталған мақсатқа қозғалту, ұшақты белгіленген нүктеге қондыру немесе механикалық иықты белгілі бір мақсатты объектіні ұстау үшін басқару сияқты әрі қарайғы операцияларды орындай аламыз.
FOMO модель — бұл EdgeImpulse компаниясының микроконтроллер ортасына арнап жасаған, арнайы құрылған модель. Дәстүрлі мақсатты анықтау моделінен ерекшеленетіні, ол тек бірнеше мақсаттың орнын және санын анықтай алады, ал нақты өлшемдерді анықтай алмайды.
FOMO модельінің негізгі принципі өте қарапайым және икемді. Алдымен суретті бөліктерге бөледі, әрбір бөлік 8×8 пиксельден тұрады. Егер суреттің шешімі 96×96 болса, онда ол 12×12 тор көздерден тұрады. Егер суреттің шешімі 360×360 болса, онда ол 40×40 тор көздерден тұрады. Содан кейін әрбір тор көзде бейненің санатын анықтау үшін бейне классификациясын тәуелсіз орындайды.
FOMO YOLO V5 немесе MobileNet SSD салыстырғанда көптеген кішкентай объектілерді анықтауда әлдеқайда жақсы нәтиже көрсетеді. FOMO мақсатты нүктелерді анықтау MobileNet SSD-тен 30 есе тез.
Егер сіз бақылауға алатын объектілер ұқсас өлшемге ие болса, мысалы, танып алатын белгілердің өлшемдері шамамен бірдей болса, ал өте үлкен және өте кішкентай объектілерді тану керек болмаса, FOMO әсері жақсырақ болады.
OpenMV платформасында EdgeImpulse қызметі арқылы нейрондық желілердің мақсатты нүктелерді анықтауын бірлесіп оқыту үшін төмендегі негізгі қадамдар орындалады: суреттер жинағын жинау және жүктеу, мақсаттарды белгілеу, оқыту, модельді сынау, орнату.
*Суреттердің дерекқорын жинау: Танып алуға тиісті нақты объектілердің суреттерін біздің нақты танып алу ортамызда түсіру. Біз қай ортада танып алуға тиісті болсақ, сол ортада нақты суреттерді жинаймыз; нақты оқыту ортасы мен нақты бақылау ортасы негізінен сәйкес келеді, сондықтан нәтиже жақсы болады.
*Белгілеу мақсаты: кейінгі оқыту, мақсаттың орнын анықтау және мақсаттың атауын анықтау үшін біздің деректер жинағымыздағы әрбір анықталатын мақсатты шеңберге алып, оған сәйкес мақсаттың атауын беру.
*Модельді оқыту: Белгілеу аяқталғаннан кейін модельді біз әзірлеген сверткалық нейрондық желі параметрлері бойынша оқытамыз.
*Сынақ моделі: Біз дайындалған модель бойынша сынақ өткіземіз; егер нәтиже қанағаттанарлық болмаса, оқыту жиынын сәйкесінше кеңейтеміз немесе оқыту параметрлерін түзетеміз де, қанағаттанарлық нәтиже алынғанша оқытуды жалғастырамыз.
*Орналастыру: Біз оқытылған модель файлдарын OpenMV-ге тұтас қосылған USB жадыға орналастырамыз, содан кейін оны іске қосамыз.
Төменде нақты процеске мысал келтіріледі:
01. Суреттердің деректер жинағын жинау және жүктеу
Біріншіден, біз веб-сайтқа edgeimpulse.com кіреміз, «Кіру» таңдаймыз, жаңа құрылған жобаның атауын енгіземіз, «Суреттер» — «Бірнеше объектіні классификациялау» таңдаймыз

Екіншісі: суретті жүктеп алу. Суреттер туралы деректер жинағын алу әдістері бірнешеу:
1. OpenMV IDE арқылы тірі уақытта суреттерді жинау. OpenMV IDE-дегі құралды — «Деректер жиынтығы редакторын» пайдаланып, деректер жиынтығын жасаңыз және тірі уақытта суреттерді жинаңыз. Деректер жиынтығын қалай жасау керектігі туралы бізбен бұрын жасалған бейне оқу құралында «Объектілерді классификациялау: маскаларды тану» тақырыбын қараңыз.

2. Интернеттен жүктеп алынған немесе мобильді телефонмен түсірілген суреттер. Мүмкіндігінше сіздің нақты тексеру орталағыңызға сәйкес келуі тиіс. Біз тоқтатуға тыйым салынған, қоңырау соғуға тыйым салынған және 80 км/сағ шектеуі бар көлік белгілерінің төрт жүзден бес жүзге дейінгі суреттерін дайындадық; әрбір сурет нақты жолдардан түсірілген. Бұл дерек қоры GitHub және оқу құралдары сайтымыздан жүктеп алынады.
02. Белгіленетін мақсат
Әрбір санатқа шамамен 100 сурет жүктеледі; суреттерді жүктеуден кейін оларды белгілеу қажет — анықтауға тиісті объектілердің орны мен санатын көрсету керек.


03. Модельді оқыту
Тренинг үшін параметрлерді жобалаңыз, шешімді 128×128 етіп өзгертіңіз, барлық параметрлер үшін әдепкі мәндерді таңдаңыз және Сақтау батырмасын басыңыз.

Features-ті құру, үш түс үш белгіні білдіреді.

Мақсатты анықтау үшін оқыту параметрлерін орнатыңыз. Оқыту циклдарының саны бойынша әдепкі мән – 60, оқыту жылдамдығы – 0,001, тексеру жиынының үлесі – 20%, деректерді кеңейту опциясын таңдаңыз, ал көшіру оқытуы үшін модель ретінде әдепкі MobileNetV2 0,35 немесе MobileNetV2 0,1 моделін таңдауға болады. (Ескерту: SSD-ны қолдануға болмайды, себебі SSD OpenMV-да іске қосылмайды.)
Тренировкаға кірісіңіз. Тренировка аяқталғаннан кейін алынған нейрондық желінің F1 Score көрсеткіші 91,2% құрайды, сондықтан біз қазіргі нұсқаны сақтай аламыз.

Сақтау орнын таңдаңыз, сіздің сипаттамаңызды енгізіңіз, содан кейін сақтауды таңдаңыз.

04. Модельді орналастыру
Оқытылған модельдің файлын экспорттау. Тек кітапхананы ғана экспорттау керек; OpenMV-ді таңдаңыз, содан кейін Build батырмасын басыңыз — модельді орнату мен экспорттау басталады.

Ол автоматты түрде біз әзірлеген модельді жүктеп алады; бұл — біздің 300 суреттің негізінде әзірленген модель, осылайша біздің барлық оқыту процесі аяқталды.

05. Модельді іске қосу
OpenMV-де модельді іске қосу:
OpenMV Plus құрылғысына қосылыңыз, үш дайындалған файлды OpenMV-ның ішкі USB дискісіне сақтаңыз, ei_object_detection.py файлын OpenMV IDE-де ашыңыз. Орындау батырмасын басыңыз, нәтижелер сериялық терминалда көрсетіледі.


Бұл функция OpenMV4-те де жұмыс істейді. OpenMV4 сыртқы SDRAM-ға ие емес болғандықтан, жады көлемі аздап кішірек. Сондықтан модельдің көлемін азайтып, оны OpenMV4-те жұмыс істетуге болады.
Модельдің көлемін азайтудың екі тәсілі бар:
Бірінші, оқыту үшін пиксельдік шешімді азайтыңыз: 128×128-ді 96×96-ға өзгертіңіз.
Екіншісі, қолданылатын көшірме оқыту моделін өзгерту: MobileNetV2 0.35-ті MobileNetV2 0.1-ге ауыстыру.
Соңында оқытылған жаңа файлды OpenMV4-ке орналастырып, оны іске қосуға болады.
Жоғарыда аталған құрылғының мақсатты нүктелерін анықтау бойынша оқу құралы. Сіздің нәтижелеріңізді күтеміз!

OpenMV негізіндегі ИИ қарауышы: маңызды орындарда қосылмаған жағдайда автоматты түрде ескертеді
Негізгі орындардың есіктері ұзақ уақыт бойы жабылмағанын автоматты түрде анықтайды және уақтылы ескертеді.

Адамдардың шекараны бұзуы — қауіпсіздік хабарламасы; OpenMV «қауіпсіздік шекарасының» ұғымын түсіндіреді
Виртуалдық қауіпсіздік сызығы арқылы адамдар мен құрылғылардың шекараның сыртына шығуын анықтау.

«AI қала қызметкері» келді: OpenMV негізінде орын басуға байланысты сауда іс-әрекеттерін автоматты түрде анықтау жүйесі
Көшеге шығып сауда іс-әрекетін автоматты түрде анықтау арқылы қаланы күнделікті басқаруға көмек береді.

Газдық баллондардың ретсіз орналасуы? Қауіпті жағдайларды автоматты түрде анықтау үшін OpenMV-ді пайдаланыңыз
Газдық баллондардың ережеге сай емес орналасуын автоматты түрде анықтау арқылы газбен қамтамасыз ету қауіпсіздігіне қатысты қауп-қатерлерді уақытылы анықтау.

Токтың әсерінде жұмыс істеу кезінде изоляциялық қолғаптарды киюді ұмыттыңыз ба? OpenMV дереу ескертеді!
Жұмысшылардың изоляциялық қолғаптарды киіп жүргенін автоматты түрде анықтайды, қауіпсіз жұмыс істеуге көмектеседі.

OpenMV интеллектуалдық камерасын қолдана отырып, алюминий тақтайшаларының бетіндегі ақауларды нақты уақытта анықтау
Алюминий тақтайшаларының бетіндегі сызықтар, шұңғымалар сияқты ақаулықтарды онлайн анықтау арқылы сапаны бақылауға көмек береді.