logo
OpenMV
Домашняя камера
Приложения
Магазин
AI
Каналы продаж
Поддерживать
OpenMVOpenMV
ЩитыЩиты
ОбъективОбъектив
РобототехникаРобототехника
КнигаКнига
ВидеоВидео
СкачатьСкачать
ДокументыДокументы
ФорумФорум
OpenMV.ioOpenMV.io
ГитхабГитхаб

OpenMV4 Plus использует Edge Impulse для самостоятельного обучения нейронной сети для распознавания масок.

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

В этом руководстве вы будете использовать машинное обучение для создания системы распознавания, которая с помощью интеллектуальной камеры OpenMV4 H7 Plus определяет, носит ли человек маску, то есть реализует классификацию изображений.

OpenMV产品图

EdgeImpulse — это онлайн-платформа для обучения нейронных сетей, предназначенная для встраиваемых устройств. Она является партнёром OpenMV, и оба проекта входят в число официальных партнёров STMicroelectronics. В настоящее время EdgeImpulse бесплатно доступен для пользователей OpenMV, которые могут использовать платформу для обучения нейронных сетей, совместимых с 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 Key", скопируйте "API Key" и загрузите.

При загрузке данные автоматически разделяются на обучающую и тестовую выборки. По умолчанию мы выбираем соотношение "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%, что является выдающимся результатом для модели с таким малым объёмом данных.

口罩识别教程-测试模型

Обнаружено, что данное изображение, отмеченное красным, является неопределенным. Нажмите на три точки справа от этого изображения, выберите "Показать классификацию Show classification", и вы перейдете в интерфейс "Классификация в реальном времени", где содержатся дополнительные детали файла. Этот интерфейс поможет вам определить причину ошибки классификации изображения.

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

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

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

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

trained.tflite обученная модель нейронной сети

labels.txt два классификационных тега (face и mask)

* ei_image_classification.py — это код, который должен выполняться на OpenMV

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

Подключите OpenMV IDE и сохраните эти три файла во встроенную Flash-память OpenMV. Откройте файл ei_image_classification.py в OpenMV IDE, чтобы увидеть код, который мы только что сгенерировали в EdgeImpulse. Нажмите "Запуск", и результаты выполнения будут отображены в последовательном терминале.

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

Хорошо, вы успешно добавили функцию самостоятельного обучения нейронной сети для OpenMV.

Ждем ваших результатов!

Похожие статьи

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

ИИ-сторож на базе OpenMV: автоматическое уведомление о незакрытых объектах в ключевых местах

Автоматически определяет, не оставалась ли дверь в ключевых местах открытой в течение длительного времени, и своевременно уведомляет об этом.

越界识别

Срабатывание тревоги при выходе человека за пределы зоны: OpenMV демонстрирует «чувство безопасности границы»

Обнаружение нарушения границы персоналом или оборудованием с помощью виртуальной охранной линии.

占道经营识别

Появилась система «ИИ-инспектор по городскому хозяйству»: автоматическая система распознавания несанкционированной торговли на основе платформы OpenMV

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

煤气罐违规摆放识别

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

Автоматическое распознавание несанкционированных мест размещения газовых баллонов и своевременное выявление потенциальных угроз безопасности при использовании газа.

绝缘手套佩戴识别

Выполняете работы под напряжением без диэлектрических перчаток? OpenMV немедленно подаст сигнал тревоги!

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

铝板缺陷识别

Использование интеллектуальной камеры OpenMV для распознавания дефектов на поверхности алюминиевых листов в режиме реального времени

Онлайн-идентификация дефектов на поверхности алюминиевых листов, таких как царапины и вмятины, для поддержки контроля качества.

Популярные категории

Язык и регион
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号