logo
OpenMV
Cámara de inicio
Aplicaciones
Almacenar
AI
Canales de Venta
Apoyo
OpenMVOpenMV
EscudosEscudos
LenteLente
RobóticaRobótica
LibroLibro
VideoVideo
DescargarDescargar
DocumentosDocumentos
ForoForo
OpenMV.ioOpenMV.io
GitHubGitHub

OpenMV4 Plus utiliza Edge Impulse para entrenar de forma autónoma redes neuronales en el reconocimiento de mascarillas.

En abril del año pasado, nuestro nuevo producto OpenMV4 H7 Plus salió al mercado. Hoy, me gustaría presentarles la nueva función de OpenMV4 H7 Plus: utilizar el sitio web en línea EdgeImpulse para entrenar de forma autónoma redes neuronales y realizar clasificación y reconocimiento.

En este tutorial, utilizarás el aprendizaje automático para construir un sistema de reconocimiento que, mediante la cámara inteligente OpenMV4 H7 Plus, pueda identificar si una persona lleva mascarilla en su rostro, es decir, lograr la clasificación de imágenes.

OpenMV产品图

EdgeImpulse es un sitio web que proporciona servicios de entrenamiento en línea de modelos de redes neuronales para dispositivos integrados. Es nuestro socio de OpenMV y también es socio oficial de STMicroelectronics. Actualmente, EdgeImpulse está abierto de forma gratuita para nuestros usuarios de OpenMV, quienes pueden utilizar EdgeImpulse para entrenar en línea modelos de redes neuronales adecuados para OpenMV sin costo alguno.

Al añadir redes neuronales al dispositivo integrado OpenMV, se pueden lograr funciones como distinguir entre cazadores furtivos y elefantes, realizar control de calidad en líneas de producción de fábricas y permitir que los coches teledirigidos conduzcan de forma autónoma.

En este tutorial, aprenderás cómo recopilar imágenes para construir un conjunto de datos de alta calidad, cómo aplicar el aprendizaje por transferencia para entrenar una red neuronal y cómo desplegar el sistema en OpenMV.

Además, ofrecemos un tutorial en video que puede buscar en el sitio web oficial "OpenMV4 Plus Entrenamiento de Red Neuronal para Reconocimiento de Mascarillas" para verlo.

Puede consultar todo el contenido del proyecto en la siguiente dirección, incluyendo todos los códigos y modelos: https://book.openmv.cc/project/mask.html

El proceso principal para entrenar modelos de redes neuronales en línea con EdgeImpulse, adecuados para OpenMV, se divide en los siguientes cuatro pasos: recopilación de datos, carga, entrenamiento e implementación.

01、Recopilación de conjuntos de datos

En este tutorial, construiremos un modelo capaz de distinguir si una persona lleva mascarilla o no. Por supuesto, también puedes optar por clasificar otros objetos. Para que el modelo de aprendizaje automático funcione, necesitarás recopilar una gran cantidad de imágenes de ejemplo de rostros con y sin mascarilla. Durante el entrenamiento, estas imágenes de ejemplo se utilizarán para que el modelo practique la diferenciación.

Necesitamos utilizar OpenMV IDE para recopilar nuestro conjunto de datos. Los pasos para capturar imágenes son los siguientes:

Crear dos categorías:

Abra el menú "Herramientas" en OpenMV IDE, seleccione "Editor de conjuntos de datos", haga clic en "Nuevo conjunto de datos", luego cree una nueva carpeta y ábrala. Dentro del conjunto de datos, cree dos carpetas adicionales, nómbrelas "mask" (para guardar fotos de rostros con mascarilla) y "face" (para guardar fotos de rostros sin mascarilla).

口罩识别教程-新建数据集
口罩识别教程-创建分类文件夹

Capturar imágenes con OpenMV

Primero conectamos el OpenMV, hacemos clic en "Conectar" en el IDE, luego en "Ejecutar". En el búfer de fotogramas Framebuffer podemos ver la imagen en tiempo real del OpenMV. Al hacer clic en el botón de fotografía en la barra de menú izquierda, el OpenMV guardará automáticamente esta imagen, que constituye un dato dentro del conjunto de datos.

Primero, debemos guardar el rostro de la persona que lleva mascarilla. Al hacer clic en el botón de la foto, el IDE tomará una fotografía en la parte inferior, que se nombrará automáticamente como 00000, y la siguiente será 00001, y así sucesivamente.

Se utilizó OpenMV para capturar respectivamente 200 fotografías de rostros con mascarilla (100 de hombres y 100 de mujeres) y 200 fotografías de rostros sin mascarilla (100 de hombres y 100 de mujeres).

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

Nota: Asegúrese de capturar fotografías desde diversos ángulos para garantizar la diversidad en nuestro entrenamiento y aprendizaje.

Si durante el proceso de recopilación se descubre que una imagen no se ha capturado de manera óptima, puede hacer clic con el botón derecho en dicha imagen y seleccionar eliminar.

02、Subir

Después de recopilar imágenes con OpenMV, necesitas registrarte e iniciar sesión en el sitio web oficial de EdgeImpulse (https://edgeimpulse.com/) para comenzar a subir las imágenes. Los pasos para subir las imágenes son:

Cree un nuevo proyecto en EdgeImpulse, haga clic en "keys", seleccione "API Key" y copie la "API Key". Utilice la API Key para conectar OpenMV IDE con Edge Impulse.

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

Seleccione "Herramientas" en la barra de menú superior de OpenMV IDE, luego "Editor de datos", "Exportar", "Subir", "Subir mediante clave API", copie la "Clave API" y súbala.

Los datos se dividirán automáticamente en conjuntos de entrenamiento y prueba durante la carga. Por defecto, seleccionamos la proporción "80% y 20%". Hemos recopilado más de 400 imágenes faciales en total. El 80% de los datos de entrenamiento significa que, por defecto, el 80% de los datos se utiliza para entrenar, y el 20% restante se destina al conjunto de prueba.

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

03、Conjunto de datos de entrenamiento

Una vez que el conjunto de datos esté preparado, podrá entrenarlo en la interfaz web de EdgeImpulse.

Módulo de procesamiento de configuración:

Primero seleccione "Impulse Design" y configure el módulo de procesamiento:

Establecer las dimensiones predeterminadas de la imagen como "96 x 96".

* Seleccione el módulo "Imágenes" para indicar que estamos realizando un entrenamiento de clasificación de imágenes (también puede utilizar EdgeImpulse para clasificar sonidos, vídeos, etc.);

* Seleccione "Aprendizaje por Transferencia (Imágenes) Transfer Learning (Images)" y configure el modelo de aprendizaje;

Seleccione "Guardar impulso Save", si aparece "Successfully", la configuración se ha completado con éxito.

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

Preprocesamiento de imágenes:

Haga clic en "Imagen" en el menú izquierdo, establezca el formato de color en "RGB" y luego haga clic en "Guardar".

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

A continuación, seleccione "Generar características" para iniciar el proceso, que realizará el preprocesamiento de imágenes de más de 400 conjuntos de datos, y se mostrará una visualización 3D del conjunto de datos completo en el lado derecho.

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

Configurar el modelo de aprendizaje por transferencia

Haga clic en "Transfer learning" en el menú izquierdo, seleccione todos los parámetros de configuración como predeterminados o ajústelos según sus necesidades:

1. Establecer el número de ciclos de entrenamiento Number of training cycles por defecto en 10

2. Establecer la tasa de aprendizaje Learning rate en 0.0005

3. Puede marcar o no la opción "Aumento de datos Data augmentation".

4. Establecer la calificación de confianza mínima Minimum confidence rating por defecto en 0.8.

Haga clic en "Iniciar entrenamiento Start training", el proceso de entrenamiento dura aproximadamente de 4 a 5 minutos.

Una vez completado el entrenamiento del modelo, puede consultar la precisión, la matriz de confusión y el rendimiento esperado del dispositivo.

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

* Modelo de prueba:

Una vez completado el entrenamiento, utilizaremos los datos de prueba para evaluar el modelo.

Seleccione "Prueba de modelo Model testing", marque la casilla junto a "Nombre de muestra Sample name" y haga clic en "Clasificar seleccionado Classify selected". La precisión mostrada aquí alcanza el 97%, lo cual es notable para un modelo con tan pocos datos.

口罩识别教程-测试模型

Descubra que esta imagen en rojo es incierta, haga clic en los tres puntos a la derecha de la imagen, seleccione "Mostrar clasificación Show classification", y accederá a la interfaz de "Clasificación en tiempo real", que contiene más detalles del archivo. Esta interfaz le ayudará a determinar la razón del error de clasificación de la imagen.

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

Si los datos están fuera de todos los clústeres conocidos (con mascarilla/sin mascarilla), pueden ser datos que no coincidan con ninguna categoría vista anteriormente, posiblemente debido a que el cabello cubre la mayor parte del rostro.

04. Ejecutar el modelo en OpenMV

Tras completar los pasos de diseño de entrenamiento, entrenamiento del modelo y validación del modelo, puedes exportar este modelo a tu OpenMV. Selecciona "OpenMV", elige "Build" para generar, y automáticamente se crearán tres archivos:

trained.tflite Modelo de red neuronal entrenado

labels.txt dos etiquetas de clasificación (face y mask)

* ei_image_classification.py es el código que se ejecuta en OpenMV

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

Conecte OpenMV IDE y guarde estos tres archivos en la memoria Flash integrada de OpenMV. Abra el archivo ei_image_classification.py en OpenMV IDE para ver el código que acabamos de generar en EdgeImpulse. Haga clic en ejecutar y los resultados de la operación se mostrarán en el terminal serie.

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

Bien, ya has logrado añadir la función de entrenar redes neuronales por ti mismo a OpenMV.

Esperamos con interés sus resultados.

Artículos relacionados

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

Centinela de IA basado en OpenMV: recordatorio automático cuando las instalaciones críticas no están cerradas

Detecta automáticamente si la puerta de un lugar clave permanece abierta durante un tiempo prolongado y emite una alerta oportuna.

越界识别

Alerta ante la entrada no autorizada de personas; OpenMV interpreta la «sensación de límite de seguridad».

Detección de comportamientos de cruce de líneas virtuales por personas o equipos.

占道经营识别

Llega el «gestor urbano inteligente»: sistema automático de reconocimiento de ocupación ilegal de vías públicas basado en OpenMV

Identificación automática de actividades comerciales que ocupan vías públicas, lo que facilita la gestión urbana cotidiana.

煤气罐违规摆放识别

¿Cilindros de gas colocados de forma inadecuada? Utilice OpenMV para activar automáticamente alertas de peligro

Detección automática de ubicaciones inadecuadas de los cilindros de gas, identificando con antelación los riesgos de seguridad relacionados con el gas.

绝缘手套佩戴识别

¿Trabajo en tensión sin guantes aislantes? ¡OpenMV emite una alerta inmediata!

Reconocimiento automático de si el personal operativo lleva guantes aislantes, para facilitar la realización segura de las tareas.

铝板缺陷识别

Utilización de la cámara inteligente OpenMV para la detección en tiempo real de defectos en la superficie de las láminas de aluminio

Detección en línea de defectos en la superficie de las láminas de aluminio, como rayaduras y abolladuras, para apoyar el control de calidad.

Categorías populares

Idioma y región
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号