OpenMV
Қалқандар
Объектив
Робототехника
Кітап
Бейне
Жүктеп алу
Құжаттар
Форум
OpenMV.io
GithubӨткен жылдың сәуір айында біздің жаңа өніміміз OpenMV4 H7 Plus нарыққа шықты, бүгін мен сіздерге OpenMV4 H7 Plus-тың жаңа мүмкіндігі – EdgeImpulse онлайн сайты арқылы нейрондық желіні оқып, классификациялау және тануды өз бетінше жаттықтыру туралы таныстырамын.
Осы оқулықта сіз машиналық оқытуды пайдаланып, адамның бетінде маска бар-жоғын анықтайтын тану жүйесін құрасыз. Бұл жүйе OpenMV4 H7 Plus ақылды камерасы арқылы бейнелерді жіктеу міндетін орындайды.

EdgeImpulse - бұл жабдықталған құрылғыларға онлайн нейрондық желілерді оқыту қызметін ұсынатын веб-сайт. Бұл біздің OpenMV серіктесіміз, сонымен қатар STMicroelectronics компаниясының ресми серіктесі. Қазіргі уақытта EdgeImpulse біздің OpenMV пайдаланушылары үшін тегін қол жетімді. OpenMV пайдаланушылары OpenMV үшін арналған нейрондық желілерді онлайн оқыту үшін EdgeImpulse-ты тегін пайдалана алады.
OpenMV кірістірілген құрылғысына нейрондық желі қосу арқылы браконьерлер мен пілдерді ажырату, өндіріс желісінде сапаны бақылау, ұзақ қашықтықтан басқарылатын модельдік көлікті өздігінен жүргізу сияқты мүмкіндіктерді іске асыруға болады.
Осы оқулықта сіз суреттерді жинап, жоғары сапалы деректер жиынтығын құруды, нейрондық желілерді оқыту үшін трансферттік оқытуды қолдануды және жүйені OpenMV-ге орналастыруды үйренесіз.
Сонымен қатар, біз бейне оқулықтарды да ұсынамыз, оларды ресми сайтта "OpenMV4 Plus арқылы нейрондық желілерді оқыту және масканы тану" деген тақырыпта іздеп көруге болады.
Сіз бұл жобаның барлық мазмұнын, барлық кодтар мен модельдерді қоса алғанда, келесі мекен-жайдан қарай аласыз: https://book.openmv.cc/project/mask.html
EdgeImpulse арқылы OpenMV үшін онлайн нейрондық желі моделін оқыту негізінен төмендегі төрт кезеңнен тұрады: деректер жинағының жиналуы, жүктелуі, оқытуы және орналастыруы.
01. Деректер жиынтығын жинау
Осы оқулықта біз бетперде киген және кимеген жүздерді ажырата алатын модель құрастырамыз. Сіз басқа заттарды да жіктей аласыз. Машиналық оқыту моделінің жұмыс істеуі үшін бетперде киген және кимеген жүздердің көптеген мысалдық суреттерін жинауыңыз керек. Оқыту кезінде бұл мысалдық суреттер модельдің ажырату жаттығулары үшін пайдаланылады.
Біз өз деректер жиынтығымызды жинау үшін OpenMV IDE пайдалануымыз керек, суреттерді жинау қадамдары келесідей:
* Екі санат құру:
OpenMV IDE мәзір жолағындағы "Құралдарды" ашып, "Деректер жинағы редакторын" таңдаңыз, содан кейін "Жаңа деректер жинағын" басыңыз. Одан кейін жаңа бума құрып, оны ашыңыз. Деректер жинағы ішінде тағы екі бума құрып, оларды mask (жүз бетінде маска бар адамдардың суреттерін сақтау үшін) және face (жүз бетінде маска жоқ адамдардың суреттерін сақтау үшін) деп атаңыз.


OpenMV арқылы сурет жинау
Алдымен OpenMV-ны қосып, IDE ішіндегі "Қосылу" түймесін басыңыз, содан кейін "Орындау" түймесін басыңыз. Framebuffer кадр буферінде OpenMV-ның нақты уақыттағы кескінін көруге болады. Сол жақ мәзір жолағындағы фотосурет түймесін басқанда, OpenMV бұл суретті автоматты түрде сақтайды, бұл деректер жинағының бір дерегі болып табылады.
Алдымен біз бетперде киген адамның жүзін сақтаймыз, фотосурет түймесін басқанда, IDE төменгі жағында бір фотосурет түсіріледі, ол автоматты түрде 00000 деп аталады, содан кейін келесісі 00001 болады, және т.б.
OpenMV арқылы 200 маска киген (ерлер мен әйелдер әрқайсысы 100-ден) және 200 маска кимеген (ерлер мен әйелдер әрқайсысы 100-ден) жүз суреттерін жинаңыз.


* Ескерту: Әртүрлі бұрыштардан суреттерді жинауды қамтамасыз етіңіз, біздің оқытудың әртүрлілігін қамтамасыз ету үшін.
Егер жинау барысында белгілі бір суреттің жеткіліксіз тамаша жиналғанын байқасаңыз, оны оң жақ түймешікпен басып, жоюды таңдауға болады.
02、Жүктеу
OpenMV арқылы суреттерді жинағаннан кейін, EdgeImpulse ресми сайтына (https://edgeimpulse.com/) тіркеліп, кіруіңіз керек. Суреттерді жүктеу қадамдары:
EdgeImpulse-те жаңа жоба жасаңыз, "keys" батырмасын басып, "API Key" таңдап, "API Key" көшіріңіз. API Key арқылы OpenMV IDE мен Edge Impulse байланысын орнатыңыз.

OpenMV IDE жоғарғы мәзір жолағындағы "Құралдар" — "Деректер редакторы" — "Экспорттау" — "Жүктеу" — "API Key арқылы жүктеу" таңдаңыз, "API Key" көшіріп, жүктеңіз.
Деректеу кезінде деректер автоматты түрде оқыту жиынтығына және тестілеу жиынтығына бөлінеді, біз әдепкі бөлу қатынасын "80% және 20%" деп таңдаймыз. Біз барлығы 400-ден астам бет суреттерін жинадық, оның 80%-ы Training Date, яғни 80% деректеріңіз әдепкі түрде оқытуға, қалған 20%-ы тестілеу жиынтығына арналған.


03. Оқыту деректер жиынтығы
Деректер жинағы дайын болғаннан кейін, сіз оны EdgeImpulse веб-сайтының интерфейсінде оқытуға болады.
Конфигурацияны өңдеу модулі:
Алдымен "Impulse Design" таңдаңыз, өңдеу модулін конфигурациялаңыз:
* Әдепкі сурет өлшемін "96 x 96" деп орнату;
* "Суреттер Images" модулін таңдаңыз, бұл біздің суреттерді жіктеу үшін жаттығу жасайтынымызды білдіреді (сіз EdgeImpulse арқылы дыбыстарды, бейнелерді және т.б. де жіктей аласыз);
* "Көшіру оқыту (суреттер) Transfer Learning (Images)" таңдаңыз, оқыту моделін орнатыңыз;
СақтауSave impulse" таңдаңыз, "Successfully" көрсетілсе, конфигурация сәтті аяқталды.

Кескін алдын ала өңдеу:
Сол жақ мәзіріндегі "Сурет Image" түймесін басыңыз, түс пішімін "RGB" деп орнатыңыз, содан кейін "Сақтау" түймесін басыңыз.

Келесіде 400-ден астам суреттерді кескіндеу алдындағы өңдеу үшін процесті бастау үшін "Ерекшеліктерді жасау Generate features" таңдаңыз, оң жақта толық деректер жиынтығының 3D визуализациясы көрсетіледі.

Конфигурациялық трансферлік оқыту моделін орнату
Сол жақ мәзіріндегі "Көшіру арқылы оқыту Transfer learning" батырмасын басыңыз, параметрлерді орнату үшін әдепкі мәндерді таңдаңыз немесе қажеттілікке сәйкес өзгертіңіз:
1. Жаттығу циклдарының саны Number of training cycles әдепкі бойынша 10-ға орнатылсын
2. Оқу жылдамдығын Learning rate 0.0005 деп орнатыңыз
3. «Деректерді көбейту» опциясын белгілеуге немесе белгілемеуге болады
4. Ең төменгі сенімділік рейтингін Minimum confidence rating әдепкі бойынша 0.8 деп орнатыңыз.
Бастау жаттығуын басыңыз" түймесін басыңыз, жаттығу процесі шамамен 4-5 минутқа созылады.
Модельді оқыту аяқталғаннан кейін, сіз дәлдікті, шатастыру матрицасын және күтілетін құрылғы өнімділігін көре аласыз.

* Сынақ моделі:
Оқыту аяқталғаннан кейін, біз модельді тексеру үшін сынақ деректерін қолданамыз.
Модельді тексеруModel testing" таңдаңыз, "Үлгі атауыSample name" жанындағы құсбелгіні белгілеңіз, "Таңдалғанды жіктеуClassify selected" басыңыз. Мұнда көрсетілген дәлдік 97% құрады, деректері аз модель үшін бұл өте тамаша нәтиже.

Қызыл түсті көрсетілген бұл сурет белгісіз болып табылады. Осы суреттің оң жағындағы үш нүктені басып, "Классификацияны көрсету Show classification" таңдаңыз, сіз "Нақты уақыттағы классификация" интерфейсіне өтесіз, онда файл туралы толығырақ мәліметтер бар. Бұл интерфейс суреттің классификациясы қате болуының себебін анықтауға көмектеседі.

Егер деректер барлық белгілі кластерлерден (жұмсақ киген/жұмсақ кимеген) тыс болса, бұл бұрын кездескен ешбір санатқа сәйкес келмейтін деректер болуы мүмкін — бұл адамның бетінің көп бөлігін шаштың жауып қоюынан болуы мүмкін.
04. Модельді OpenMV-де іске қосу
Оқыту дизайнын, модельді оқытуды және модельді тексеруді аяқтағаннан кейін, сіз бұл модельді OpenMV-ге экспорттауға болады. "OpenMV" таңдаңыз, содан кейін "Build" таңдаңыз, ол автоматты түрде 3 файлды жасайды:
* trained.tflite жаттықтырылған нейрондық желі моделі
* labels.txt екі санат белгілері (face және mask)
* ei_image_classification.py - OpenMV-да орындалатын код

OpenMV IDE-ге қосылып, осы 3 файлды OpenMV-дің ішкі Flash-ына сақтаңыз. ei_image_classification.py файлын OpenMV IDE-де ашып, біздің EdgeImpulse-та жасаған кодты көре аласыз. Орындау түймесін басыңыз, сериялық терминалда нәтиже көрсетіледі.


Жарайды, сіз OpenMV-ге өз бетінше нейрондық желілерді оқыту мүмкіндігін сәтті қосқансыз.
Сіздің нәтижелеріңізді күтемін!

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

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

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

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

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

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