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

Detección de puntos objetivo mediante redes neuronales entrenadas por OpenMV – Reconocimiento de señales de tránsito en entornos viales reales

La inteligencia artificial tiene dos tareas muy comunes en el campo de la visión: clasificación y detección de objetos.

Categoría:Determinar a qué categoría pertenece la imagen, por ejemplo, si es un gato o un perro.

Detección de objetos:Se utiliza para encontrar la ubicación, la cantidad y las dimensiones de múltiples objetos distintos en una imagen.

En los tutoriales en video anteriores, explicamos cómo entrenar en línea una red neuronal mediante OpenMV4 Plus para clasificar distintos objetos; esta red puede determinar en tiempo real si la imagen capturada por la cámara de OpenMV corresponde a un objeto determinado, por ejemplo, si una persona lleva mascarilla; sin embargo, no puede proporcionar las coordenadas de posición de la cara o de la mascarilla, ni tampoco el número total de caras detectadas.

Dado que la detección de objetos es considerablemente más compleja y requiere mucho mayor poder computacional que la clasificación, es muy poco común en el ámbito de los microcontroladores. La MCU principal de OpenMV es la STM32H7; actualmente, hemos incorporado una nueva funcionalidad en nuestros dispositivos OpenMV que permite ejecutar tareas similares a la detección de objetos directamente en microcontroladores, con un rendimiento excepcional.

交通标志识别教程-多个目标的识别

Hoy les explicaremosEntrenamiento de demostración para la detección de señales de tránsito en entornos reales de calles y carreteras, detectando las señales de tránsito presentes en nuestras vías reales.por ejemplo, prohibición de bocinazos, prohibición de estacionamiento y límite de velocidad de 80 km/h, en lugar de un entorno de laboratorio sin interferencias.

Puede ver todo el contenido del proyecto en la siguiente dirección, que incluye todo el código y los modelos: https://book.openmv.cc/project/traffic-sign.html

Es bien sabido que el entorno real es extremadamente complejo, especialmente el entorno vial, donde existen numerosas interferencias. Capturamos imágenes de señales de tránsito en entornos reales mediante dispositivos como teléfonos móviles y entrenamos el modelo utilizando el sitio web en línea EdgeImpulse de nuestro socio OpenMV, etiquetando aproximadamente 270 imágenes. El tiempo de entrenamiento fue de solo 10 minutos, logrando una precisión del modelo expresada como puntuación F1 del 92 %. La tasa de fotogramas de ejecución del modelo en OpenMV alcanzó los 10 fotogramas por segundo, ofreciendo un rendimiento muy fluido y una alta precisión.

Los usuarios pueden entrenar cualquier objetivo que deseen detectar, según nuestros tutoriales en video; por ejemplo, distintos dígitos, diversas frutas, diferentes marcadores, piezas variadas o incluso cualquier objetivo irregular específico, entre otros. Así se podrá identificar la cantidad, las coordenadas y el nombre de la categoría del objetivo específico.

Atención:Este tutorial en video explica la función de detección de puntos objetivo mediante redes neuronales, la cual no solo es compatible con la OpenMV4 H7 Plus, sino también con la OpenMV4 H7; esto se debe a que los modelos entrenados de detección de puntos objetivo FOMO son de tamaño reducido, ofrecen un excelente rendimiento y ocupan tan solo decenas de kilobytes, por lo que, aun cuando la memoria de ejecución de la OpenMV4 H7 sea menor que la de la versión Plus, aún es posible entrenar un modelo ligeramente más pequeño para su ejecución en la OpenMV4.

A continuación, se presenta una breve explicación del principio:

Las principales decisiones de diseño de la detección de puntos objetivo FOMO en OpenMV se basan en la idea de que muchos problemas de detección de objetos no requieren realmente el tamaño de los objetos, sino únicamente su ubicación en la imagen. Una vez que conocemos la ubicación de los objetos, podemos realizar operaciones posteriores, como controlar un vehículo para que se desplace hacia el objetivo detectado mediante OpenMV, realizar un aterrizaje preciso de un dron o controlar un brazo robótico para agarrar un objeto objetivo específico.

El modelo FOMO es un modelo diseñado específicamente por EdgeImpulse para entornos de microcontroladores; a diferencia de la detección de objetos convencional, este modelo solo puede detectar la ubicación y la cantidad de múltiples objetos, pero no puede obtener sus dimensiones exactas.

El principio subyacente del modelo FOMO es muy sencillo y flexible. En primer lugar, divide la imagen en bloques de 8×8 píxeles. Si la imagen tiene una resolución de 96×96, se obtiene una cuadrícula de 12×12 celdas; si la imagen tiene una resolución de 360×360, se obtiene una cuadrícula de 40×40 celdas. A continuación, ejecuta de forma independiente una clasificación de imágenes en cada celda.

En comparación con YOLO V5 o MobileNet SSD, FOMO presenta un desempeño significativamente superior en la detección de una gran cantidad de objetos pequeños. La detección de puntos objetivo mediante FOMO es 30 veces más rápida que mediante MobileNet SSD.

Si los objetos que se van a detectar tienen tamaños similares, por ejemplo, si las señales que se deben identificar tienen dimensiones prácticamente iguales y no varían drásticamente entre un objeto muy grande y otro muy pequeño, el rendimiento de FOMO será mejor.

OpenMV utiliza EdgeImpulse para entrenar en línea redes neuronales destinadas a la detección de objetos, lo que implica principalmente los siguientes pasos: adquisición y carga del conjunto de datos de imágenes, etiquetado de los objetos, entrenamiento, prueba del modelo y despliegue.

* Recopilación del conjunto de datos de imágenes: captura de imágenes de objetos específicos en los entornos reales donde se realizará la identificación. Las imágenes reales se recopilan en los mismos entornos donde se llevará a cabo la identificación, de modo que el entorno real de entrenamiento y el entorno real de detección sean esencialmente idénticos, lo que mejora los resultados.

* Etiquetado de objetivos: delimitar cada objetivo que se debe detectar en nuestro conjunto de datos y asociarlo con su nombre correspondiente, a fin de facilitar el entrenamiento posterior, así como la detección de la ubicación y el nombre de los objetivos.

* Modelo de entrenamiento: una vez finalizada la anotación, se entrena el modelo según los parámetros de la red neuronal convolucional diseñada por nosotros.

* Modelo de prueba: Evaluamos el modelo entrenado; si los resultados no son satisfactorios, ampliamos conjuntamente el conjunto de entrenamiento o ajustamos los parámetros de entrenamiento y continuamos el entrenamiento hasta obtener un modelo satisfactorio.

*Implementación: simplemente coloque los archivos del modelo entrenado en la unidad USB integrada de OpenMV para ejecutarlos.

A continuación se muestra el procedimiento específico:

01. Recopilar y cargar el conjunto de datos de imágenes

I. En primer lugar, accedemos al sitio web edgeimpulse.com, seleccionamos «Iniciar sesión», ingresamos el nombre del nuevo proyecto y elegimos «Imágenes» — «Clasificar múltiples objetos»

交通标志识别教程-新建项目.

Dos. Seleccione la imagen para subirla. Existen varias formas de obtener el conjunto de datos de imágenes:

1. Capturar imágenes en tiempo real mediante el IDE de OpenMV. Utilice la herramienta «Editor de conjuntos de datos» incluida en el IDE de OpenMV para crear un nuevo conjunto de datos y capturar imágenes en tiempo real; para más detalles, consulte nuestro tutorial en video anterior sobre clasificación de objetos y reconocimiento de mascarillas.

交通标志识别教程-.实时采集图像

2. Imágenes descargadas desde Internet o capturadas directamente con un teléfono móvil. Lo ideal es que coincidan con el entorno real en el que se realizará la detección. Hemos preparado entre cuatrocientas y quinientas imágenes de señales de tránsito, tales como «Estacionamiento prohibido», «Bocina prohibida» y «Velocidad máxima 80 km/h», todas tomadas en vías reales. Este conjunto de datos está disponible para su descarga en nuestro repositorio de GitHub y en nuestro sitio web de tutoriales.

02. Objetivo de la anotación

Se deben subir aproximadamente 100 imágenes por cada categoría; una vez finalizada la subida de las imágenes, se procede a su anotación, indicando la ubicación y la categoría de los objetos que se desean identificar.

交通标志识别教程-上传图片
交通标志识别教程-标记物体

03. Entrenar el modelo

Configure los parámetros del entrenamiento: cambie la resolución a 128 × 128 y seleccione todos los parámetros predeterminados; luego haga clic en Guardar.

交通标志识别教程-训练模型1.

Generar funciones; los tres colores representan respectivamente las tres marcas.

交通标志识别教程-训练模型2

Configurar los parámetros de entrenamiento para la detección de objetos. El número predeterminado de épocas de entrenamiento es 60, la tasa de aprendizaje es 0,001 y la proporción del conjunto de validación es del 20 %. Seleccione la casilla de verificación para aumentar los datos. Para el modelo de aprendizaje por transferencia, podemos elegir como predeterminado MobileNetV2 0,35 o MobileNetV2 0,1. (Nota: no se puede utilizar SSD, ya que SSD no es compatible con OpenMV.)

Seleccione «Iniciar entrenamiento». Tras completar el entrenamiento, el modelo de red neuronal obtenido obtiene una puntuación F1 del 91,2 %; podemos guardar esta versión actual.

交通标志识别教程-训练模型3

Seleccione el almacenamiento, complete su descripción y seleccione Guardar.

交通标志识别教程-训练模型4

04. Implementación del modelo

Exporte el archivo del modelo entrenado. Solo es necesario exportar la biblioteca; seleccione OpenMV y haga clic en Build para comenzar la implementación y exportación del modelo.

交通标志识别教程-部署模型1

Descargará automáticamente el modelo que exportamos; aquí se muestra el modelo entrenado con nuestras 300 imágenes, con lo cual concluye todo el proceso de entrenamiento.

交通标志识别教程-部署模型2

05. Ejecutar el modelo

Ejecutar el modelo en OpenMV:

Conecte la OpenMV Plus, guarde los tres archivos entrenados en la unidad flash integrada de la OpenMV y abra el archivo ei_object_detection.py en el IDE de OpenMV. Haga clic en Ejecutar; los resultados de la ejecución se mostrarán en la terminal serie.

交通标志识别教程-运行模型1
交通标志识别教程-运行模型2

Esta función también es compatible con OpenMV4. Dado que OpenMV4 no dispone de SDRAM externa y tiene menos memoria, podemos reducir el tamaño del modelo para que sea compatible con OpenMV4.

Existen dos métodos para reducir el tamaño del modelo:

Uno. Reducir la resolución de entrenamiento, cambiando la resolución de 128 × 128 a 96 × 96.

II. Modificar el modelo de aprendizaje por transferencia utilizado, cambiando MobileNetV2 0.35 por MobileNetV2 0.1.

Finalmente, coloque el nuevo archivo entrenado en la OpenMV4 para ejecutarlo.

Este es nuestro tutorial sobre la detección de puntos objetivo. ¡Esperamos con interés sus resultados!

Artículos relacionados

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

Centinela de IA basado en OpenMV: recordatorio automático cuando un lugar crítico no está cerrado

Detecta automáticamente si las puertas de lugares clave permanecen abiertas durante un tiempo prolongado y emite una alerta oportuna.

越界识别

Alerta ante el cruce de personal, OpenMV interpreta la «sensación de límite de seguridad»

Identificación del cruce de personas o equipos por líneas virtuales de vigilancia.

占道经营识别

¡Llegó el «agente municipal de IA»! 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 apoya la gestión cotidiana de la ciudad.

煤气罐违规摆放识别

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

Identificación automática de ubicaciones inadecuadas de los cilindros de gas, detectando con anticipación riesgos potenciales relacionados con el suministro de gas.

绝缘手套佩戴识别

¿Trabajo en vivo sin guantes aislantes? ¡OpenMV emite una alerta inmediata!

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

铝板缺陷识别

Utiliza la cámara inteligente OpenMV para identificar en tiempo real los defectos en la superficie de las láminas de aluminio

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

Categorías populares

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