Saltar a contenido

Algoritmos

Resumen

El sensor de visión Sentry2 integra una variedad de algoritmos de visión offline para reconocer objetos sin necesidad de conexión a la red, y el chip ESP8285-WiFi integrado permite realizar la función de reconocimiento de imágenes basada en la nube.

Listado

ID Nombre Resumen
1 Color Devuelve información sobre el color (valores RGB y una etiqueta de clasificación) de hasta 25 regiones de reconocimiento.
2 Blob
(Burbuja)
Detectar un bloque de color específico. Admite la detección de bloques de color negro, blanco, rojo, verde, azul y amarillo
3 Apriltag \(^*\) Reconoce etiquetas Apriltags en los formatos 16H5, 25H9 o 36H11 (predeterminado: 36H11), hasta 25 etiquetas del mismo formato simultáneamente
4 Line Detecta hasta 5 líneas en la imagen simultáneamente y devuelve las coordenadas de los dos puntos extremos y el ángulo de inclinación
5 Learning \(^*\) Entrenar objetos y clasificarlos. Hasta 25 datos. No requiere ordenador
6 Card \(^*\) Identificar patrones predefinidos de tarjetas. La versión C solo reconoce 10 de tráfico
7 Face \(^*\) Detección y reconocimiento facial, compatible con detección de máscaras, puede almacenar datos de 15 modelos
8 20Class \(^*\) Clasifica 20 objetos comunes, como gato, coche, persona, etc. No soportado en la versión Consumer
9 QrCode Detecta y descodifica un código QR generado por no más de 25 caracteres
10 Custom Ejecutar algoritmos personalizados que se ejecutan en el chip ESP8285-WiFi integrado
11 Motion Determinar si hay áreas en movimiento en la imagen. No soportado en la versión Consumer

Notas:

  • Los algoritmos sin asterisco (*) pueden ejecutarse simultáneamente, mientras que los algoritmos marcados con asterisco solo pueden ejecutarse uno a la vez, aunque pueden ejecutarse en paralelo con algoritmos sin asterisco. Tenga en cuenta que la paralelización de varios algoritmos reducirá la velocidad de procesamiento general.
  • Algunos algoritmos admiten la detección o el reconocimiento de varios objetos a la vez. Sin embargo, ciertos controladores principales, como Arduino Nano y UNO, carecen de suficiente RAM para recibir todos los datos de los resultados, por lo que se debe prestar atención al utilizarlos para evitar el desbordamiento de datos.
  • Para recibir datos de más de cinco resultados de reconocimiento, se recomienda utilizar un controlador principal con mayor capacidad de RAM.

Introducción a los algoritmos

ID:1 Color

  • Resumen
    El usuario puede establecer desde una hasta 25 regiones para el reconocimiento de colores y obtener los valores R (rojo), G (verde) y B (azul) y la etiqueta de cada región. Las coordenadas y el tamaño de cada región se pueden configurar.

ID:1 Color. Resumen

  • Etiqueta Color
    Una etiqueta de color es un número que se utiliza para representar un color:

ID:1 Color. Etiqueta Color

Sentry2 define 7 categorías de color, cada una asociada a una etiqueta de clasificación:

Etiqueta Nombre Etiqueta Nombre Etiqueta Nombre
1 Negro (Black) 2 Blanco (White) 3 Rojo (Red)
4 Verde (Green) 5 Azul (Blue) 6 Amarillo (Yellow)
0 Desconocido (Unknown)

Nota:

Otros colores comunes, como el morado, el cian (azul verdoso), el naranja y el gris, difieren ligeramente de uno o varios colores de la tabla, lo que aumenta la probabilidad de que se produzcan errores de reconocimiento. Estos colores se clasifican como "Desconocido" (etiqueta 0) de forma predeterminada. Si es necesario reconocerlos, se recomienda identificarlos manualmente basándose en los valores RGB devueltos.

  • Parámetros
    El usuario puede configurar las coordenadas y el tamaño para el reconocimiento. En caso de que estos parámetros no estén configurados, el algoritmo funcionará con los valores por defecto que se especifican a continuación:
Parámetro Descripción Valor por defecto
1 Coordenada X del centro de la región 50
2 Coordenada Y del centro de la región 50
3 Ancho de la región 3
4 Alto de la región 4
5 Ninguno -

Al accionar el joystick, se pueden seleccionar las siguientes opciones preestablecidas que se proporcionan en la página de configuración del algoritmo:

  • Cuadrícula (X x Y)

    1x1, 2x2, 3x3, 4x4, 5x5, 1x10, 2x10, 6x1, 6x2

  • Tamaño (Ancho x Alto) en el sistema de coordenadas por porcentaje

    2x2, 4x4, 8x8, 16x16, 32x32

  • Tamaño (Ancho x Alto) en el sistema de coordenadas absolutas

    1x1, 2x3, 3x4, 6x8, 9x12

NOTA:

Para representar un cuadrado en el sistema de coordenadas porcentuales, la anchura y la altura no son iguales, sino que se ajustan a la relación 3:4. Por ejemplo, si la anchura de un cuadrado es del 12%, entonces su altura h debe ser 12/3 × 4 = 16%.

ID:1 Color. Parámetros

  • Resultados
    En la pantalla aparecerá un recuadro rectangular que identifica el color, y un recuadro de cuatro esquinas que identifica el color desconocido.

ID:1 Color. Resultados

Resultado Descripción
1 R, valor del canal rojo con rango 0 a 255
2 G, valor del canal verde con rango 0 a 255
3 B, valor del canal azul con rango 0 a 255
4 Ninguno
5 Etiqueta de clasificación de color

Consejos:

  • Cuando el área de reconocimiento es pequeña (por ejemplo, 2 x 2), el reconocimiento es rápido, pero, debido al número limitado de píxeles, el resultado es menos fiable y se ve fácilmente afectado. Esto solo es adecuado para aplicaciones con un fondo simple.
  • Por el contrario, cuando el área de reconocimiento es grande (por ejemplo, 20 x 20), el mayor número de píxeles ayuda a filtrar la interferencia de los colores variados dentro del área, lo que da como resultado una mayor fiabilidad. Sin embargo, la velocidad de reconocimiento será más lenta.
  • Si varios colores ocupan áreas similares dentro de la región de reconocimiento, el valor de la etiqueta puede fluctuar de forma impredecible.

ID:2 Blob (Gotas, manchas o bloques de color)

  • Resumen
    El algoritmo detecta si hay bloques de colores y tamaño especificados en la imagen y devuelve las coordenadas de su centro y el tama ño si se detecta. Los algoritmos Color y Blob tienen las mismas etiquetas de clasificación.

ID:2 Blob. Resumen

  • Parámetros
    Es posible especificar el límite de la cantidad de bloques de cada color, su tamaño mínimo y su color. Si estos parámetros no están configurados, el algoritmo funcionará con los valores predeterminados que se indican a continuación:
Resultado Descripción Valor por defecto
1 Ninguno -
2 Ninguno -
3 Anchura mínima (W) del bloque objetivo 3
4 Altura mínima (H) del bloque objetivo 4
5 Etiqueta de clasificación por colores (L) para el bloq8ue objetivo. Los valores 1-6 corresponden a colores predeterminados, mientras que los valores 11-16 corresponden a colores personalizados 3 (Red)

ID:2 Blob. Parámetros

Al accionar el joystick, se pueden seleccionar las siguientes opciones preestablecidas que se proporcionan en la página de configuración del algoritmo:

Nivel de rendimiento del algoritmo. Son seleccionables tres niveles de rendimiento: "Sensitive - Sensible", "Balance - Equilibrado" y "Accurate - Preciso".

  • Sensitive: Este nivel tiene una alta velocidad de reconocimiento y una alta tasa de fotogramas.
  • Balance: Valor por defecto
  • Accurate: Este nivel tiene mejores efectos de reconocimiento y seguimiento, pero la velocidad de detección disminuirá y el número de resultados de detección no será superior a uno.

Número máximo de bloques: Soporta de 1 a 5 bloques para cada color.

Tamaño mínimo del bloque:

En sistema de coordenadas absolutas:

Tamaño (W x H): 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128 píxeles

En sistema de coordenadas porcentuales:

Tamaño (W x H): 1x1, 2x3, 3x4, 6x8, 9x12, 21x28, 42x56 %

Color a detectar: Los ajustes se realizan mediante botones con el dibujo de un ojo. El icono del botón de un color habilitado es un ojo normal, mientras que el icono del botón de un color deshabilitado es un ojo tachado con una barra. El algoritmo admite la habilitación de uno o más colores simultáneamente. La compatibilidad con colores personalizados se introdujo a partir del firmware V2.5.X. Al hacer clic en un botón para ajustar el color, el estado cambia entre: Habilitar color predeterminado → Habilitar color personalizado → Deshabilitar color.

Notas:

  • Si la página de configuración de colores personalizados se abre mediante un botón determinado, el color personalizado generado se asociará a dicho botón y se le asignará la etiqueta de color correspondiente. Los botones, de izquierda a derecha, corresponden a las etiquetas de colores personalizados del 11 al 16.
  • La velocidad de detección de los bloques de colores personalizados es más lenta que la de los bloques de colores predeterminados. Para mejorar la velocidad de detección, establece el rendimiento del algoritmo en el nivel "Sensible".
  • Resultados

ID:2 Blob. Resultados

Cuando el controlador principal obtiene los resultados de la detección, el algoritmo devuelve los siguientes datos:

Resultado Descripción
1 Coordenada horixontal (X) del centro del bloque
2 Coordenada vertical (Y) del centro del bloque
3 Ancho (W) del bloque
4 Alto (H) del bloque
5 Etiqueta de clasificación por color (L)

Consejos:

  • Cuando se rastrea un solo objeto, por ejemplo, la línea negra durante el seguimiento de líneas o una pelota, se debe establecer el recuento máximo de detección en 1 para mejorar la velocidad de detección y reducir los falsos positivos.
  • El uso de una región de reconocimiento más pequeña con el modo preciso permite detectar objetos distantes.
  • Al detectar grandes manchas de color, la velocidad de detección disminuye significativamente. En este caso, cambia al modo sensible.
  • Si hay un sesgo de color en la imagen, bloquea el balance de blancos o ajusta otros parámetros de la cámara para corregir el color.

ID:3 Apriltag\(^*\) (etiquetas)

Los AprilTag son marcadores visuales para detección e identificación mediante sistemas de visión artificial desarrollados por investigadores de la universidad de Michigan.

Tecnicamente su diseño fiducial y sistema de codificación se basan en lexicografia. El sistema se describe en los artículos enlazados en la web anterior.

Conceptualmente son similares a los códigos QR pero diseñados para cargas de datos mucho mas pequeñas (entre 4 y 12 bits), lo que permite una detección mejor a mayor distancia. Están diseñados para calcular su posición 3D precisa respecto a la cámara.

Se utilizan como marcadores fiduciales en robótica y otras aplicaciones.

Un marcador fiducial o solamente fiducial es un objeto colocado en el campo de visión de un sistema de imágenes que aparece en la imagen producida, para su uso como punto de referencia o medida.

Su nombre procede del laboratorio de robótica "April" de la Universidad de Michigan, siendo AprilTag una biblioteca y algoritmo que permite a un sistema identificar características en hasta seis grados de libertad.

  • Resumen
    Este algoritmo detecta si hay AprilTags en las imágenes, los identifica y genera sus ID, y admite tres formatos de codificación: 16H5, 25H9 y 36H11.

Antes de ejecutar el algoritmo, se debe seleccionar un formato de codificación; el predeterminado es 36H11.

No se pueden reconocer AprilTags con diferentes formatos de codificación simultáneamente, pero el algoritmo puede reconocer hasta 25 AprilTags del mismo formato al mismo tiempo.

Nota:

Este algoritmo no puede ejecutarse simultaneamente con otros algoritmos marcados con un asterísco (\(^*\))

ID:3 AprilTag. Resumen

Etiqueta

Etiquetas AprilTag soportadas

Un Apriltag es un patrón cuadrado en blanco y negro predefinido. El número de cuadrados (módulos) varía en función del formato de codificación (por ejemplo, 16H5, 25H9 o 36H11). Cada patrón corresponde a una etiqueta de clasificación única (ID).

Una vez reconocida una etiqueta, el algoritmo devuelve su valor al controlador principal.

En el enlace puedes descargar imágenes en formato png de AprilTag y aprender mas sobre el tema.

Puedes imprimir etiquetas AprilTag de las especificaciones y tamaños adecuados descargando de alguno de los enlaces siguientes. O puedes generar e imprimir etiquetas AprilTag con las especificaciones y dimensiones deseadas desde el Generador de etiquetas ArUco.

IMPORTANTE

Cuando imprimimos nuestras propias etiquetas AprilTags es muy importante dejar alrededor del fondo negro un marco de color blanco (u otro color) para que el sensor Sentry2 pueda definir correctamente los límites de la etiqueta. Si no dejamos dicho borde no puede delimitar el tamaño y no reconocerá la misma. La imagen aclara lo que debemos y no debemos hacer:

Borde en las etiquetas AprilTags

  • Parámetros

ID:3 AprilTag. Parámetros

Existen varios parámetros preestablecidos en la página de configuración de la interfaz de usuario:

Nivel de rendimiento del algoritmo. Son seleccionables tres niveles de rendimiento: "Sensitive - Sensible", "Balance - Equilibrado" y "Accurate - Preciso".

En el modo "Sensitive - Sensible" la velocidad de reconocimiento es rápida con una alta frecuencia de imagen. En el modo "Accurate - Preciso" se pueden detectar etiquetas distantes, pero la velocidad disminuye. El ajuste predeterminado es "Balance - Equilibrado".

Formato. Antes de ejecutar el algoritmo, se debe especificar un formato de codificación AprilTag. Si no se especifica, el algoritmo adoptará la configuración predeterminada: 36H11.

Tras cambiar el formato de codificación, es necesario reiniciar el algoritmo para que los cambios surtan efecto.

  • Resultados

ID:3 AprilTag. Resultados

Una vez que el controlador principal ha obtenido los resultados del reconocimiento, el algoritmo procede a la devolución de los siguientes datos:

Resultado Descripción
1 Coordenada horizontal (X) del centro del marcador
2 Coordenada vertical (Y) del centro del marcador
3 Ancho (W) del marcador detectado
4 Alto (H) del marcador detectado
5 Tag ID (clasificación de la etiqueta)

Consejos:

  • Los valores de anchura (W) y altura (H) que devuelve el algoritmo son relativamente estables y se pueden utilizar para estimar la distancia a la etiqueta. La rotación de la etiqueta no afecta a su tamaño; sin embargo, la inclinación de esta puede causar una distorsión del mismo.
  • Cuando es necesario reconocer varias etiquetas, se pueden desactivar las líneas de coordenadas para reducir el contenido mostrado y facilitar la observación de los resultados.

ID:4 Line (lineas)

  • Resumen
    BEl algoritmo detecta segmentos de línea en la imagen y devuelve las coordenadas de los extremos de las líneas y los ángulos de inclinación.

Si la línea es curva, el algoritmo devuelve el ángulo de la línea recta que se forma al conectar los puntos inicial y final de la curva.

ID:4 Linea. Resumen

  • Parámetros

ID:4 Linea. Parámetros

Nivel de rendimiento del algoritmo. Son seleccionables tres niveles de rendimiento: "Sensitive - Sensible", "Balance - Equilibrado" y "Accurate - Preciso".

Número máximo de líneas. El número máximo de segmentos de línea detectables es configurable en un rango de 1 a 5. Si no se especifica este parámetro, el algoritmo adoptará el ajuste por defecto: 1 segmento de línea.

  • Resultados

ID:4 Linea. Resultados

NOTA:

La horizontal hacia la derecha es 0 grados, el valor aumenta en sentido antihorario. Hacia arriba es 90 grados, y la horizontal hacia la izquierda es 180 grados.

Se utilizan 5 colores diferentes para distinguir las líneas: rojo, amarillo, verde, azul y púrpura.

ID:4 Linea. Colores de las líneas

Cuando el controlador principal obtiene resultados de detección, el algoritmo devuelve los siguientes datos:

Resultado Descripción
1 Coordenada horizontal (X) del punto final del segmento de línea
2 Coordenada vertical (Y) del punto final del segmento de línea
3 Coordenada Horizontal (X) del punto inicial del segmento de línea
4 Coordenada vertical (Y) del punto inicial del segmento de línea
5 Ángulo de inclinación del segmento de línea

Notas:

  • El ángulo de inclinación aumenta en sentido antihorario en el rango: 0°-180°.
  • Una línea horizontal hacia la derecha tiene un ángulo de 0°.
  • Una línea vertical hacia arriba tiene un ángulo de 90°.
  • Una línea horizontal hacia la izquierda tiene un ángulo de 180°.

Consejos:

  • No utilices planos con superficies suavizadas o brillantes para evitar que los reflejos provoquen fallos en la detección.
  • Las líneas deben tener límites claros y bien definidos, con un contraste de color significativo, por ejemplo, líneas negras sobre fondo blanco.
  • Manten el fondo lo más sencillo y monocromático posible. Si el fondo está recargado, las líneas que contiene pueden provocar detecciones falsas.
  • El grosor de las líneas debe ser moderado; tanto las líneas excesivamente finas como las anchas afectarán a la detección. Durante el seguimiento de líneas, el primer segmento de línea es siempre el que se detecta primero en la mitad inferior de la pantalla.

ID:5 Learning\(^*\) (aprendizaje)

  • Resumen
    El algoritmo permite aprender y reconocer nuevos objetos. Puede aprender hasta 15 objetos. Los datos de los objetos pueden borrarse por completo o individualmente.

ID:5 Learning. Resumen

Notas:

  • Este algoritmo sólo puede clasificar objetos y no puede detectar sus coordenadas o tamaños.
  • La edición Enterprise admite el aprendizaje de 25 objetos, mientras que la edición Consumer admite el aprendizaje de 15 objetos
  • El algoritmo no puede ejecutarse simultáneamente con otros algoritmos marcados con un asterisco (*).
  • Etiquetas de clasificación
Etiqueta Descripción
1-15 ID de la clasificación del objeto
  • Entrenamiento de un nuevo objeto: Cuando el algoritmo esté en marcha, apunta Sentry2 hacia el objeto de destino y pulsa brevemente el botón del joystick; Sentry2 iniciará el proceso de aprendizaje. Cuando finalice el proceso, los datos del objeto se guardarán y se les asignará un ID (es decir, un valor de etiqueta).

ID:5 Learning. Parámetros

El principio para asignar ID es el siguiente: se utiliza el ID más pequeño disponible. Si no existe ningún ID disponible, Sentry2 indicará un fallo de almacenamiento.

Eliminar todos los objetos: Manten pulsado verticalmente el joystick durante más de 2 segundos en la página en ejecución.

ID:5 Learning. Eliminar todos los objetos

  • Borrar o renombrar datos de un solo objeto

Puedes renombrar o borrar el objeto entrenado.

ID:5 Learning. Renombrar o borrar el objeto entrenado

Renombrar:

ID:5 Learning. Renombrar el objeto entrenado

Borrar:

ID:5 Learning. Borrar el objeto entrenado

Notas:

  • Sólo se pueden utilizar caracteres del alfabeto inglés.
  • La longitud máxima de un nombre es de 32 caracteres.
  • Los nombres no se pueden devolver al controlador principal y sólo se pueden mostrar en la pantalla.
  • Parámetros
Parámetro Descripción
1 Ninguno
2 Ninguno
3 Ninguno
4 Ninguno
5 0: Si ya existen datos de objeto para el ID especificado, al escribir "0" se eliminarán los datos.
100: Al escribir "100" se aprenderá un objeto y se le asignará el ID especificado. Si ya existen datos de objeto para ese ID, primero se eliminarán los datos existentes.
  • Resultados
    Sólo se puede reconocer la existencia del objeto entrenado, pero no sus coordenadas y tamaño, por lo que el cuadro de reconocimiento es un valor de salida fijo.

ID:5 Learning. Resultados

Cuando el controlador adquiere resultados del reconocimiento, el algoritmo devuelve los siguientes datos:

Resultado Descripción
1 Valor fijado, 160
2 Valor fijado, 120
3 Valor fijado, 224
4 Valor fijado, 224
5 ID de la clasificación del objeto

Consejos:

  • Para ciertas aplicaciones, como el reconocimiento de un objeto a larga distancia o desde diferentes ángulos (por ejemplo, una tarjeta girada 60° o 120°), la solución es la siguiente:

Aprende el objeto a diferentes distancias o desde diferentes ángulos y asígnale ID1, ID2, etc. Durante el reconocimiento, si el valor de la etiqueta devuelta coincide con cualquiera de los ID asignados, se puede considerar que se ha reconocido el mismo objeto.

  • El entorno de trabajo (incluidas las condiciones de iluminación) durante el reconocimiento de objetos debe ser idéntico o similar al del aprendizaje de objetos. Cualquier discrepancia en el fondo o la iluminación puede afectar al rendimiento del reconocimiento.

ID:6 Card\(^*\) (tarjeta)

  • Resumen

El algoritmo detecta si hay tarjetas coincidentes en la imagen y devuelve información sobre ellas, como las coordenadas centrales, el tamaño y la etiqueta de clasificación.

Puede reconocer varias tarjetas al mismo tiempo. Estas se pueden reconocer dentro de ciertos límites de ángulos de rotación, inclinación y cabeceo. Para obtener un rendimiento óptimo, se recomienda colocar las tarjetas directamente frente al dispositivo durante su uso.

ID:6 Tarjeta (Card). Resumen

Notas:

  • La edición Enterprise admite el reconocimiento de las 29 tarjetas, mientras que la edición Consumer solo puede reconocer las 10 tarjetas de señales de tráfico.
  • El algoritmo no admite tarjetas personalizadas.
  • El algoritmo no puede ejecutarse simultáneamente con otros algoritmos marcados con un asterisco (*).
  • Tarjetas de señales de tráfico

Las etiquetas se muestran en la siguiente tabla. Del 1 al 10 para Tráfico, del 11 al 19 para Formas y del 20 al 29 para Números.

Tráfico

Etiqueta Icono Descripción Etiqueta Icono Descripción
1 Avanzar (Forward) Avanzar (Forward) 2 Izquierda (Left) Izquierda (Left)
3 Derecha (Right) Derecha (Right) 4 Cambio de sentido (Turn Around) Cambio de sentido (Turn Around)
5 Aparcamiento (Park) Aparcamiento (Park) 6 Semáforo verde (Green light) Semáforo verde (Green light)
7 Semáforo rojo (Red light) Semáforo rojo (Red light) 8 Velocidad 40 (Speed 40) Velocidad 40 (Speed 40)
9 Velocidad 60 (Speed 60) Velocidad 60 (Speed 60) 10 Velocidad 80 (Speed 80) Velocidad 80 (Speed 80)

Formas (Sólo disponible en la versión Enterprise)

Etiqueta Icono Descripción Etiqueta Icono Descripción
11 Validar (Check) Validar (Check) 12 Multiplicación (Times) Multiplicación (Times)
13 Círculo (Circle) Círculo (Circle) 14 Cuadrado (Square) Cuadrado (Square)
15 Triángulo (Triangle) Triángulo (Triangle) 16 Suma (Plus) Suma (Plus)
17 Resta (Minus) Resta (Minus) 18 División (Division) División (Division)
19 Igual (Equal) Igual (Equal)

Números (Sólo disponible en la versión Enterprise)

Etiqueta Icono Descripción Etiqueta Icono Descripción
21 1 1 22 2 2
23 3 3 24 4 4
25 5 5 26 6 6
27 7 7 28 8 8
29 9 9 20 0 0
  • Parámetros
    Ninguno.

  • Resultados

ID:6 Tarjeta (Card). Resultados

Cuando el controlador principal adquiere resultados del reconocimiento, el algoritmo devolverá los siguientes datos:

Resultado Descripción
1 Coordenada horizontal (X) del centro de la tarjeta
2 Coordenada vertical (Y) del centro de la tarjeta
3 Ancho (W) de la tarjeta
4 Alto (H) de la tarjeta
5 Etiqueta de clasificación (L) de la tarjeta

Notas:

  • Este algoritmo puede detectar tarjetas a distancia. No obstante, si las operaciones correspondientes solo se van a realizar cuando la distancia entre el Sentry2 y la tarjeta no supere un rango determinado, el valor W devuelto se puede utilizar para la evaluación. Por ejemplo, si W es mayor que 50, se considera que la distancia cumple los requisitos de la aplicación.
  • Cuando hay varias tarjetas en la imagen (por ejemplo, tarjetas dispuestas en dos filas), los resultados se mostrarán en el siguiente orden: según las coordenadas centrales de las tarjetas, comenzando por la esquina superior izquierda de la imagen y continuando de izquierda a derecha y de arriba abajo.

ID:7 Face\(^*\) (Caras)

  • Resumen
    El algoritmo detecta rostros humanos en la imagen y realiza el reconocimiento facial. El aprendizaje de rostros o la eliminación de todos los datos faciales se puede llevar a cabo mediante el botón de navegación. Sentry2 puede aprender hasta 25 rostros.

ID:7 Face (Cara). Resumen

Notas:

  • La edición Enterprise admite el aprendizaje de 25 rostros, mientras que la edición Consumer admite el aprendizaje de 15 rostros.
  • El algoritmo no puede ejecutarse simultáneamente con otros algoritmos marcados con un asterisco (*).
  • Clasificación de etiquetas
Clasificación Descripción
0 Nueva cara
1-15 ID
200 Lleva puesta una máscara
  • Entrenando carad

Después de ejecutar este algoritmo, apunta la cámara directamente hacia el rostro. Pulsa brevemente el botón del joystick y, a continuación, suéltalo; el algoritmo aprenderá el rostro actual y le asignará un ID (es decir, una etiqueta de clasificación).

El principio para asignar ID es el siguiente: utiliza el ID más pequeño disponible. Si no hay ningún ID disponible, Sentry2 mostrará un mensaje de error de almacenamiento.

ID:7 Face (Cara). Parámetros

  • Borrar todas las caras

Pulsa y manten pulsado el botón del joystick por un tiempo superior a 2 segundos, y después suéltalo. Esto borra todos los datos relativos a caras.

  • Borrar o renombrar una sola cara

Realiza esta operación en la página Setting UI.

ID:7 Face (Cara). Renombrar o borrar

  • Parámetros

La escritura de valores diferentes en el parámetro 5 permite el aprendizaje facial o la eliminación de los datos faciales:

Parámetro Descripción
1 Ninguno
2 Ninguno
3 Ninguno
4 Ninguno
5 0: Si ya existen datos de objeto para el ID especificado, al escribir "0" se eliminarán los datos.
100: Al escribir "100" se aprenderá un objeto y se le asignará el ID especificado. Si ya existen datos de objeto para ese ID, primero se eliminarán los datos existentes.
  • Resultados

ID:7 Face (Cara). Resultados

ID:7 Face (Cara). Resultados

Este algoritmo permite la detección simultánea de rostros (para rostros no entrenados) y el reconocimiento de rostros (para rostros entrenados). Cuando se detecta un rostro no entrenado, se muestra una etiqueta con el número 0 y el nombre "New Face" (rostro nuevo). Si se detecta un rostro entrenado, se muestra el ID correspondiente y el nombre registrado.

En particular, si se detecta un rostro nuevo que lleva mascarilla, se mostrará New Face (Mask) con una etiqueta fija de 200.

Cuando el controlador principal obtiene resultados del reconocimiento, el algoritmo devuelve los siguientes datos:

Resultado Descripción
1 Coordenada horizontal (X) del centro de la cara
2 Coordenada vertical (Y) del centro de la cara
3 Ancho (W) de la cara
4 Alto (H) de la cara
5 Etiqueta de clasificación (L) de la cara

Consejos:

  • El reconocimiento funciona mejor cuando hay suficiente iluminación, el rostro está directamente frente a la cámara y ocupa un área relativamente grande en la imagen.
  • Los obstáculos pueden afectar a la detección: el uso de gafas o el cabello que cubre el rostro pueden reducir la precisión de la detección facial.

ID:8 20Class\(^*\) (objetos)

  • Resumen
    El algoritmo reconoce 20 tipos comunes de objetos y devuelve sus coordenadas, tamaño y etiquetas.

ID:8 20Class. Resumen

Nota:

El algoritmo no puede ejecutarse simultáneamente con otros algoritmos marcados con un asterisco (*).

  • Etiquetas de clasificación
Resultado Descripción Resultado Descripción
1 Avión (Airplane) 2 Bicicleta (Bicycle)
3 Pájaro (Bird) 4 Barco (Boat)
5 Botella (Bottle) 6 Autobús (Bus)
7 Coche (Car) 8 Gato (Cat)
9 Silla (Chair) 10 Vaca (Cow)
11 Mesa de comedor (DiningTable) 12 Perro (Dog)
13 Caballo (Horse) 14 Motocicleta (Motorbike)
15 Persona (Person) 16 Maceta (PottedPlant)
17 Oveja (Sheep) 18 Sofá (Sofa)
19 Tren (Train) 20 Monitor de televisión (Tvmonitor)
  • Parámetros

ID:8 20Class. Parámetros

Nivel de rendimiento del algoritmo

Elige el rendimiento del algoritmo que mejor se adapte a los requisitos de la aplicación. Hay tres opciones disponibles: "Sensitive - Sensible", "Balance - Equilibrado", y "Accurate - Preciso".

En el modo Sensitive, los objetos se detectan con mayor facilidad, pero puede haber una mayor tasa de falsos positivos. En el modo Accurate, los reconocimientos falsos se reducen considerablemente y el modo predeterminado es Balance.

  • Resultados

ID:8 20Class. Resultados

Cuando el controlador adquiere resultados del reconocimiento, el algoritmo devuelve los siguientes datos:

Resultado Resumen
1 Coordenada horizontal (X) del centro del objeto
2 Coordenada vertical (Y) del centro del objeto
3 Ancho (W) del objeto
4 Alto (H) del objeto
5 Etiqueta de clasificación (L) del objeto

!!! Tip "Consejos:| * Cuando el objeto es demasiado pequeño, es necesario acercarse a él para ampliar su tamaño en la imagen. Si la distancia es demasiado corta, el objeto se desviará del punto focal de la lente, lo que dará lugar a una imagen borrosa y a un posible fallo en el reconocimiento. * Al reconocer patrones que se muestran en una pantalla, ajusta el brillo de esta adecuadamente para evitar la sobreexposición.

ID:9 Código QR

SOLAMENTE DISPONIBLE PARA LA VERSIÓN ENTERPRISE

  • Resumen

ID:9 Código QR. Resumen

El algoritmo es capaz de reconocer un código QR sencillo y devolver sus coordenadas, su tamaño y el contenido de texto. La información textual del código QR no debe exceder de 25 caracteres y los caracteres ASCII pueden mostrarse en pantalla.

Tabla ASCII

Etiqueta ASCII Etiqueta ASCII Etiqueta ASCII
32 Espacio 33 ! 34
35 # 36 $ 37 %
38 & 39 40 (
41 ) 42 * 43 +
44 , 45 - 46 .
47 / 48 0 49 1
50 2 51 3 52 4
53 5 54 6 55 7
56 8 57 9 58 :
59 ; 60 < 61 =
62 > 63 ? 64 @
65 A 66 B 67 C
68 D 69 E 70 F
71 G 72 H 73 I
74 J 75 K 76 L
77 M 78 N 79 O
80 P 81 Q 82 R
83 S 84 T 85 U
86 V 87 W 88 X
89 Y 90 Z 91 [
92 \ 93 ] 94 ^
95 _ 96 ` 97 a
98 b 99 c 100 d
101 e 102 f 103 g
104 h 105 i 106 j
107 k 108 l 109 m
110 n 111 o 112 p
113 q 114 r 115 s
116 t 117 u 118 v
119 w 120 x 121 y
122 z 123 { 124
125 } 126 ~

Notas:

  • Este algoritmo sólo está integrado en la edición Enterprise.
  • En cualquier momento, el número de códigos QR en el campo de visión no debe ser superior a uno.
  • Parámetros
    Ninguno

  • Resultados
    El algoritmo devuelve dos tipos de datos: información de atributos y datos de caracteres descodificados. Estos datos se transmiten en grupos de 5 bytes.

ID:9 Código QR. Resultados

Dato ID Descripción Dato ID Descripción
1 Coordenada horizontal (X) del centro del QR 1 Caracter 1
2 Coordenada vertical (Y) del centro del QR 2 Caracter 2
3 Ancho (W) del QR 3 Caracter 3
4 Alto (H) del QR 4 Caracter 4
5 Número de grupos de datos 5 Caracter 5

ID:10 Custom (Personalizado)

  • Resumen
    Habilitar este algoritmo significa ejecutar el que está flasheado en el chip ESP8285, como el algoritmo de reconocimiento de imágenes basado en la nube. El firmware del ESP8285 se puede programar utilizando Arduino IDE. Mas detalles en:

Versión en Inglés:

Sentry2 WiFi Firmware Developing User Guide_V1.1.pdf

Versión en Castellano:

Guía de desarrollo del firmware WiFi Sentry2_V1.1.pdf

ID:10 Personalizado. Resumen

  • Parámetros
    Personalizados

  • Resultados
    Personalizados

ID:11 Motion (Movimiento)

SOLAMENTE DISPONIBLE PARA LA VERSIÓN ENTERPRISE

  • Resumen
    Cuando el Sentry2 permanece inmóvil, el algoritmo compara las diferencias de píxeles entre fotogramas consecutivos para determinar si alguna región de la imagen ha cambiado. Si se detectan cambios, se asume que hay un objeto en movimiento en el campo de visión, y se devolverán las coordenadas del objeto en movimiento. El algoritmo sólo devuelve un resultado de detección.

ID:11 Movimiento. Resumen

  • Parámetros
    Ninguno

  • Resultados

ID:11 Movimiento. Resultados

Resultado Resumen
1 Coordenada horizontal (X) del centro del objeto en movimiento
2 Coordenada vertical (Y) del centro del objeto en movimiento
3 Valor fijo
4 Valor fijo
5 Ninguno

Ejecutar/Detener algoritmos

Existen 3 métodos para activar/desactivar los algoritmos de visión: a través de la página de configuración de visión, a través del joystick o a través de comandos.

Desde la página de configuración

Desde la página de la interfaz de usuario

El proceso a seguir es el siguiente:

  1. Selecciona un algoritmo de la lista de la parte izquierda de la página de Configuración de Visión, pulsa brevemente el botón del joystick.
  2. Algunos algoritmos son configurables, pulsa el botón "SETTING" para entrar en la página de configuración.
  3. Si aparece el botón rojo "STOP" en la esquina inferior izquierda de la ventana de la derecha, significa que este algoritmo está actualmente desactivado. Después de hacer clic en él, cambiará a un botón verde "RUN", lo que significa que el algoritmo se ha iniciado. Vuelve a hacer clic en él y volverá a aparecer el botón rojo "STOP".

Con el joystick

Mueve el joystick hacia arriba o hacia abajo para activar o desactivar un algoritmo de visión. El algoritmo anterior se detendrá automáticamente antes de que se inicie uno nuevo.

La secuencia de cambio de algoritmo se ordena por Vision-ID.

Con el joystick

Con comandos

De esta manera, el controlador principal debe escribir registros para habilitar o deshabilitar los algoritmos. Hay disponibles diversas bibliotecas de controladores encapsulados para diferentes entornos de desarrollo integrado (IDE).

En el modo UART, la lectura o escritura de registros debe realizarse de acuerdo con el protocolo de comandos estándar o comandos simples. Para obtener más detalles, consulta las secciones correspondientes en el apartado Protocolo de comunicaciones.

En el modo I2C, los registros se pueden leer o escribir directamente.

El proceso de funcionamiento es el siguiente:

  1. Escribe el **ID del algoritmo** en el registro **0x20(VISION_ID)**
  2. Escribe **0x01** en el registro **0x21(VISIO_CONF1)** para habilitar el algoritmo. De lo contrario, escribe **0x00** para desactivar el algoritmo.

Datos de resultados

Visualización de datos de resultados

El objeto objetivo se marcará en la pantalla cuando sea detectado. Significado de las marcas:

Significado de las marcas

Obtención de datos de resultados mediante comandos

De esta manera, el controlador principal necesita escribir y leer registros para obtener los datos de los resultados. Existe una gran variedad de bibliotecas de controladores encapsulados para diferentes entornos de desarrollo integrados de programación (IDE).

En el modo UART, la lectura o escritura de registros debe realizarse de acuerdo con el protocolo de comandos estándar o comandos simples. Para obtener más detalles, consulta las secciones correspondientes en el apartado Protocolo de comunicaciones.

En el modo I2C, los registros se pueden leer o escribir directamente.

El proceso de funcionamiento es el siguiente:

  1. Escribe el **ID del algoritmo** en el registro **0x20(VISION_ID)**
  2. Lee el valor del registro 0x34(RESULT_NUM) para obtener el número de objetos objetivo que se han detectado. Por ejemplo, si el valor de retorno es 2, indica que se han detectado 2 objetos.
  3. Escribe el ID del resultado en el registro 0x24(RESULT_ID). Por ejemplo, escribir 1 significa leer el primer grupo de datos de resultados, y escribir 2 significa leer el segundo grupo de datos de resultados.
  4. Lee los valores de los registros 0x80 a 0x89 para obtener los datos del resultado de la detección.
Dirección Nombre Descripción
0x80 RESULT_DATA1_H8 8 bits de mayor peso de Resultado 1
0x81 RESULT_DATA1_L8 8 bits de menor peso de Resultado 1
0x82 RESULT_DATA2_H8 8 bits de mayor peso de Resultado 2
0x83 RESULT_DATA2_L8 8 bits de menor peso de Resultado 2
0x84 RESULT_DATA3_H8 8 bits de mayor peso de Resultado 3
0x85 RESULT_DATA3_L8 8 bits de menor peso de Resultado 3
0x86 RESULT_DATA4_H8 8 bits de mayor peso de Resultado 4
0x87 RESULT_DATA4_L8 8 bits de menor peso de Resultado 4
0x88 RESULT_DATA5_H8 8 bits de mayor peso de Resultado 5
0x89 RESULT_DATA5_L8 8 bits de menor peso de Resultado 5