logo
OpenMV
Домашня камера
Додатки
Магазин
AI
Канали збуту
Підтримка
OpenMVOpenMV
ЩитиЩити
Об'єктивОб'єктив
РобототехнікаРобототехніка
книгаКнига
відеоВідео
ЗавантажитиЗавантажити
документиДокументи
ФорумФорум
OpenMV.ioOpenMV.io
GithubGithub

OpenMV4 Plus використовує Edge Impulse для самостійного навчання нейронної мережі з розпізнавання масок

У квітні минулого року наша нова модель OpenMV4 H7 Plus вийшла на ринок. Сьогодні я представлю вам нову функцію OpenMV4 H7 Plus — самостійне навчання нейронної мережі для класифікації та розпізнавання за допомогою онлайн-платформи EdgeImpulse.

У цьому посібнику ви використовуватимете машинне навчання для створення системи розпізнавання, яка за допомогою смарт-камери OpenMV4 H7 Plus здатна визначати, чи особа носить захисну маску, тобто реалізувати класифікацію зображень.

OpenMV产品图

EdgeImpulse — це веб-сайт, який надає послуги онлайн-тренування нейронних мережевих моделей для вбудованих пристроїв. Він є нашим партнером OpenMV, а також офіційним партнером компанії STMicroelectronics. Наразі EdgeImpulse безкоштовно доступний для наших користувачів OpenMV, які можуть безкоштовно використовувати EdgeImpulse для онлайн-тренування нейронних мережевих моделей, призначених для OpenMV.

Додавання нейронних мереж до вбудованих пристроїв 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 чоловіків і жінок).

口罩识别教程-用OopenMV采集男生戴口罩的图像
口罩识别教程-用OopenMV采集女生戴口罩的图像

* Увага: переконайтеся, що зібрані фотографії з різних ракурсів, щоб забезпечити різноманітність нашого навчання.

Якщо під час збору ви виявите, що якесь зображення зібрано недостатньо ідеально, ви можете натиснути на нього правою кнопкою миші та вибрати "Видалити".

02、Завантажити

Після збору зображень за допомогою OpenMV вам потрібно зареєструвати обліковий запис та увійти на офіційний сайт EdgeImpulse (https://edgeimpulse.com/), щоб почати завантаження зображень. Кроки для завантаження зображень:

Створіть новий проект на EdgeImpulse, натисніть "keys", виберіть "API Key" та скопіюйте "API Key". За допомогою API Key здійсніть зв'язок між OpenMV IDE та Edge Impulse.

口罩识别教程-和Edge Impulse的连通

Виберіть у верхньому меню OpenMV IDE "Інструменти" — "Редактор даних" — "Експорт" — "Завантажити" — "Завантажити за допомогою API-ключа", скопіюйте "API-ключ" та завантажте.

Дані автоматично розподіляються на навчальний та тестовий набори під час завантаження, ми за замовчуванням обираємо співвідношення "80% і 20%". Ми зібрали понад 400 зображень облич, де 80% Training Date означає, що за замовчуванням 80% даних використовуються для навчання, а решта 20% — для тестового набору.

口罩识别教程-用OpenMV上传数据集
口罩识别教程-将数据集上传到EdgeImpulse上

03、Навчальний набір даних

Після підготовки набору даних ви можете навчати його через веб-інтерфейс EdgeImpulse.

Модуль обробки конфігурації:

Спочатку оберіть "Impulse Design", налаштуйте модуль обробки:

Встановити стандартні розміри зображення як "96 x 96".

Виберіть модуль "Зображення Images", що означає, що ми проводимо навчання класифікації зображень (ви також можете використовувати EdgeImpulse для класифікації звуку, відео тощо);

Виберіть "Перенесення навчання (зображення) Transfer Learning (Images)", налаштуйте модель для навчання.

Виберіть "ЗберегтиSave impulse", якщо відображається "Successfully", то налаштування успішні.

口罩识别教程-配置处理模块

Попередня обробка зображень:

Натисніть "Зображення Image" у лівому меню, встановіть формат кольору на "RGB", а потім натисніть "Зберегти".

口罩识别教程-图像预处理

Далі оберіть "Генерувати ознаки" для запуску процесу, що виконає попередню обробку зображень для понад 400 даних, а праворуч відобразиться 3D-візуалізація повного набору даних.

口罩识别教程-数据可视化处理

Налаштування моделі трансферного навчання

Натисніть "Перенесення навчання Transfer learning" у лівому меню, параметри налаштувань можна залишити за замовчуванням або змінити відповідно до потреб:

1. Встановіть кількість циклів тренування Number of training cycles за замовчуванням на 10

2. Встановіть швидкість навчання Learning rate на 0.0005

3. Можна позначити або не позначити "Покращення даних Data augmentation

4. Встановіть мінімальний рівень довіри Minimum confidence rating за замовчуванням на 0.8.

Натисніть "Почати тренування Start training", процес тренування триватиме приблизно 4-5 хвилин.

Після завершення навчання моделі ви можете переглянути точність, матрицю плутанини confusion matrix та очікувану продуктивність пристрою.

口罩识别教程-训练完成后的表现

* Тестова модель:

Після завершення тренування ми використовуватимемо тестові дані для перевірки моделі.

Виберіть "Тестування моделі Model testing", позначте прапорець біля "Назва зразка Sample name", натисніть "Класифікувати вибране Classify selected". Точність, що відображається тут, досягла 97%, що є рідкісним результатом для моделі з обмеженими даними.

口罩识别教程-测试模型

Виявлено, що це зображення, позначене червоним кольором, є невизначеним. Натисніть на три крапки праворуч від зображення, оберіть "Показати класифікацію", і ви перейдете до інтерфейсу "Класифікація в реальному часі", який містить додаткові деталі про файл. Цей інтерфейс допоможе вам визначити причину неправильної класифікації зображення.

口罩识别教程-无法分类的图片

Якщо дані знаходяться поза межами всіх відомих кластерів (у масці/без маски), це можуть бути дані, які не відповідають жодній з раніше визначених категорій — можливо, через те, що волосся закриває більшу частину обличчя.

04. Запуск моделі на OpenMV

Після завершення кроків проектування тренування, тренування моделі та перевірки моделі, ви можете експортувати цю модель на свій OpenMV. Виберіть "OpenMV", виберіть "Build" для генерації, і система автоматично створить 3 файли:

trained.tflite навчена модель нейронної мережі

labels.txt два класифікаційні мітки (face та mask)

* ei_image_classification.py — це код, який потрібно запускати на OpenMV

口罩识别教程-在OpenMV上运行模型

Підключіть OpenMV IDE та збережіть ці 3 файли у вбудовану Flash пам'ять OpenMV. Відкрийте файл ei_image_classification.py в OpenMV IDE, щоб побачити код, згенерований нами раніше в EdgeImpulse. Натисніть "Запустити", і результати виконання відобразяться в послідовному терміналі.

口罩识别教程-识别戴口罩的人脸.
口罩识别教程-识别不戴口罩的人脸

Добре, ви успішно додали функцію самостійного навчання нейронної мережі до OpenMV.

Очікуємо на ваші результати!

Схожі статті

机房/配电房/单元门敞开识别

AI-охоронець на основі OpenMV: автоматичне сповіщення про незакриті об’єкти в ключових місцях

Автоматично визначає, чи двері важливих приміщень залишаються відкритими протягом тривалого часу, і негайно надсилає сповіщення.

越界识别

Попередження про виходу осіб за межі: OpenMV забезпечує відчуття безпечної зони

Виявлення поведінки виходу осіб або обладнання за межі віртуальної охоронної лінії.

占道经营识别

З’явився «AI-інспектор з муніципального нагляду»: автоматизована система розпізнавання незаконної торгівлі на вулиці, побудована на базі OpenMV

Автоматичне розпізнавання порушень правил ведення підприємницької діяльності на проїзній частині для підтримки повсякденної міської управління.

煤气罐违规摆放识别

Неправильне розміщення газових балонів? Використовуйте OpenMV для автоматичного спрацьовування попередження про небезпеку

Автоматичне виявлення неправильного розташування газових балонів та попереднє виявлення потенційних небезпек, пов’язаних із газом.

绝缘手套佩戴识别

Виконання робіт під напругою без діелектричних рукавиць? OpenMV негайно подасть сигнал тривоги!

Автоматичне розпізнавання того, чи одягнуто ізоляційні рукавиці на працівників, що виконують роботу, для забезпечення безпеки.

铝板缺陷识别

Використання інтелектуальної камери OpenMV для реального часу виявлення дефектів на поверхні алюмінієвої пластини

Онлайн-виявлення дефектів на поверхні алюмінієвих листів, таких як подряпини та вмятини, для підтримки контролю якості.

Популярні категорії

Мова та регіон
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号