Implementar algoritmos de detección e integrar resultados
Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.
Esta guía cubre la implementación, calibración, configuración e integración de resultados de los algoritmos MRDVS de detección humana, de ubicaciones de almacenamiento y de volumen. El algoritmo se ejecuta en la cámara; la aplicación host del algoritmo se utiliza para la configuración, las actualizaciones y la inspección de resultados.
El firmware del algoritmo y la aplicación host del algoritmo se entregan por proyecto. Antes de instalar el firmware del algoritmo, confirma que la cámara ejecute una versión de firmware MDS. Obtén un paquete de instalación que coincida con el proyecto y el modelo de cámara.
Usa un soporte rígido para evitar movimientos o vibraciones después de la instalación. La detección humana normalmente utiliza una instalación horizontal o una instalación con un ángulo no superior a 30°.
Alimenta la cámara con una fuente regulada de 24 V DC. Usa un cable Cat6A o Cat7 para conectar la cámara a un switch gigabit o a un controlador.
2
Implementar varias cámaras
Instala cada cámara a la altura y en la posición especificadas en el plano CAD. Conecta todas las cámaras mediante un switch gigabit y verifica el estado de alimentación y de enlace de cada una.
3
Preparar los objetivos de prueba
Coloca en la vista de la cámara las personas, los palés o las mercancías que se van a detectar antes de calibrar los parámetros extrínsecos y configurar las regiones.
Coloca el ordenador host y la cámara en la misma subred. El ejemplo original utiliza el siguiente plan:
Elemento
Ejemplo
Dirección IP del host
192.168.100.xxx
Máscara de subred
255.255.255.0
Puerta de enlace predeterminada
192.168.100.1
1
Abrir la configuración del adaptador
En Windows, abre Panel de control → Centro de redes y recursos compartidos → Cambiar configuración del adaptador y selecciona el adaptador Ethernet conectado a la cámara.
2
Configurar IPv4
Abre Protocolo de Internet versión 4 (TCP/IPv4), selecciona Usar la siguiente dirección IP e introduce una dirección estática sin utilizar en la subred de la cámara.
3
Confirmar la conexión
Guarda la configuración, confirma que el enlace sea gigabit y utiliza la aplicación host para descubrir o abrir la cámara.
No dejes el firewall desactivado en una red de producción. Si la aplicación host no puede conectarse, crea primero una regla para la aplicación o el puerto necesarios. Desactiva temporalmente el firewall solo en una red de depuración de confianza y, después, restaura la protección.
Instala la aplicación host de la cámara fuera de la unidad del sistema.
Copia los archivos de la aplicación host del algoritmo entregados para el proyecto en la carpeta Tools del directorio de la aplicación host de la cámara. Reemplaza los archivos con el mismo nombre y, después, haz doble clic en el ejecutable para iniciarlo.
Para actualizar solo la aplicación host del algoritmo, reemplaza su archivo .exe por la versión entregada.
La cámara se reinicia durante la instalación. No desconectes la alimentación ni la red y no cierres la aplicación host. El paquete debe coincidir con el modelo de cámara, la versión de firmware MDS y el algoritmo del proyecto.
Aplicación host de la cámara
Aplicación host del algoritmo
Inicia LxCameraViewer.exe y abre la cámara.
Selecciona Herramientas básicas → Configuración de funciones → Actualización de firmware.
Elige el archivo de algoritmo de detección entregado y selecciona Ejecutar.
Selecciona la cámara de destino en la lista de dispositivos.
Selecciona Actualizar firmware, elige el archivo de algoritmo de detección y ábrelo.
Espera a que la cámara vuelva a aparecer en la lista de dispositivos.
Cuando la cámara vuelva a aparecer después de reiniciarse, la instalación habrá terminado. Un fondo verde en la cámara dentro de la aplicación host del algoritmo indica que la cámara está conectada y que el algoritmo está disponible.
Inicia LxApplicationViewer.exe. Un icono verde en la lista de dispositivos indica que hay una cámara conectada. Selecciona un dispositivo para cambiar la vista actual entre los modos RGB y nube de puntos. Los usuarios estándar pueden ver resultados; los administradores pueden modificar los parámetros de la cámara y del algoritmo.
Detiene el algoritmo actual. No se reinicia automáticamente hasta que la cámara vuelva a encenderse.
Actualizar firmware
Abre el flujo de actualización del firmware del algoritmo.
Reiniciar cámara
Reinicia la cámara seleccionada.
Cuando cambia el estado, el software guarda un fotograma RGB y los datos de la nube de puntos. Los datos de reproducción no se comparten entre algoritmos. El tiempo de reproducción utiliza el reloj interno de la cámara, no la hora del sistema del ordenador host.Si el fondo del dispositivo es amarillo, o es verde pero la imagen no se actualiza, activa la actualización automática para reanudar la adquisición de imágenes.
Identifica una cámara en una implementación con varias cámaras.
Modo de simulación
Función interna; déjalo desactivado.
Modo de guardado de imágenes
Guarda los datos de imagen del algoritmo en la cámara.
Modo de adquisición de imágenes
MDS no ocupa el acceso a la cámara. SDK sí lo ocupa; la aplicación host no puede abrir la cámara mientras se ejecuta el algoritmo.
x, y, z
Posición extrínseca de la cámara; z es la altura de la cámara sobre el suelo.
roll, pitch, yaw
Ángulos de orientación extrínseca de la cámara.
Suelo ideal
Conserva el valor predeterminado.
Leer configuración de la cámara
Lee la configuración actual de la cámara.
Guardar y enviar
Escribe los cambios en la cámara. Los parámetros no guardados no tienen efecto.
Calibración extrínseca
Calibra la altura y la orientación de la cámara.
Instalación vertical
Instalación horizontal
Abre Configuración de la cámara. Antes de la calibración, establece x, y, z, roll, pitch y yaw en 0 y, después, selecciona Guardar y enviar.
Selecciona Calibración extrínseca. Cuando la calibración termine correctamente, verifica el resultado en el panel de parámetros.
Abre Configuración de la cámara y entra en la página de calibración de parámetros.
Alinea el suelo de la nube de puntos con el sistema de coordenadas: los ejes X rojo y Y verde están sobre el suelo, mientras que el eje Z azul es perpendicular al suelo y apunta hacia arriba.
Normalmente ajusta primero solo roll y z; establece los demás valores en 0. Selecciona Guardar y enviar después de verificarlo.
Selecciona Guardar y enviar después de cambiar cualquier parámetro del algoritmo. Conserva los parámetros de filtro predeterminados salvo que una prueba en el sitio demuestre que es necesario ajustarlos.
Detección humana
Detección de ubicaciones de almacenamiento
Detección de volumen
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Frecuencia de detección
Frecuencia de actualización de imágenes y resultados.
Filtro temporal
Con 3, se requieren tres resultados idénticos consecutivos antes de considerar válido un resultado.
Tamaño del kernel
Tamaño del kernel para operaciones morfológicas 2D. Los valores mayores reducen los objetivos y amplían el fondo.
Umbral de distancia
Determina si los puntos son similares o pertenecen a la misma clase.
Cantidad mínima de puntos
Cantidad mínima de puntos de la nube necesaria para la agrupación semántica.
Cantidad mínima de puntos no semánticos
Cantidad mínima de puntos de la nube necesaria para la agrupación no semántica.
Tamaño del vecindario
Define el rango del vecindario de puntos y afecta a la granularidad de la agrupación.
Detección de rotación
Coincide con la dirección de instalación de la cámara; usa la orientación con el logotipo hacia abajo como referencia de 0°.
Parámetro de región
Descripción
Añadir/eliminar región
Crea o elimina una región de detección humana.
Cuadro actual
Selecciona la región de detección activa.
X, Y, Z mínimos/máximos
Define los límites 3D de la región.
Arrastrar para ajustar la región
Arrastra con el botón izquierdo del ratón a lo largo de x e y; arrastra con el botón derecho a lo largo de z.
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Filtro AI
Segmentación semántica; actualmente no disponible.
Frecuencia de detección
Frecuencia de actualización de resultados.
Ángulo de alineación
Desviación angular máxima permitida de la carga cuando la comprobación de alineación está activada.
Comprobación de alineación
Comprueba la desviación angular y el estado de los límites. Los objetos detectados se muestran con cajas de volumen amarillas.
Filtro temporal
Emite un estado válido solo después de varios resultados consecutivos coherentes.
Cantidad mínima de puntos
Los objetos con menos puntos que este valor se ignoran.
Modo de región
Configuración
RGB 2D
Usa los píxeles X e Y mínimos y máximos para definir la ubicación de almacenamiento. Se requieren el modo semántico y un modelo semántico.
Nube de puntos 3D
Usa X, Y y Z mínimos y máximos para definir la ubicación. Arrastra con el botón izquierdo del ratón a lo largo de x e y, o con el botón derecho a lo largo de z.
Función avanzada
Descripción
Copiar cuadro actual
Copia la región de ubicación de almacenamiento activa.
Dirección, espaciado, cantidad
Define copias espaciadas uniformemente a lo largo del eje X, Y o Z.
Ejecutar
Genera varias regiones a partir de la configuración.
Calibración con código QR
Introduce la anchura, la longitud, Z_MIN y Z_MAX de la ubicación y, después, calibra con un código QR.
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Modo de activación
Cuando está activado, adquiere una imagen y un resultado por cada activación.
Detección ascendente
Detecta mediante el sistema de coordenadas inverso de la cámara.
Frecuencia de detección
Frecuencia de actualización de imágenes y resultados.
Distancia del plano de detección
Posición de referencia de la superficie inferior del objeto, en mm.
Cantidad de vecinos/umbral de distancia
Parámetros de filtro; conserva los valores predeterminados en la mayoría de las implementaciones.
Umbral de filtro de vectores normales
Filtra planos inclinados de la nube de puntos. La recomendación original es 60.
Umbral de distancia de vectores normales
Parámetro de filtro. El rango recomendado originalmente es 20–30.
Cantidad mínima de puntos
Los objetos con menos puntos que este valor se ignoran.
X, Y, Z mínimos
Umbrales mínimos de longitud, anchura y altura, en mm.
Parámetro de región
Descripción
X, Y, Z mínimos/máximos
Define los límites 3D de la región de detección de volumen.
Alinea los ejes X e Y con la nube de puntos del suelo. El eje Z debe ser perpendicular al suelo y apuntar hacia arriba.
2
Configurar los parámetros globales
Abre Detección humana. Normalmente solo es necesario configurar Detección de rotación. La rotación horaria de la cámara admite 0°, 90°, 180° y 270°.
3
Crear la región de detección
Selecciona Añadir región de detección, establece los valores X, Y y Z mínimos y máximos y mueve la región sobre el objetivo. El ejemplo original utiliza una región de 1000 × 1000 × 2000 mm.
4
Guardar y verificar
Selecciona Guardar y enviar, ejecuta una prueba de paso de una persona por el área y verifica el resultado en la barra de estado o en la reproducción histórica.
Regla de coincidencia
Sin persona
Persona
Obstáculo
Persona y obstáculo
Solo profundidad
0
2
2
2
Semántica más profundidad
0
1
0
1
El modo de solo profundidad informa de todos los objetos de la región. El modo semántica más profundidad solo informa de los grupos clasificados como personas.
Sigue el procedimiento de calibración extrínseca. Alinea X e Y con el suelo y mantén Z perpendicular y apuntando hacia arriba.
2
Configurar los parámetros globales
Configura Comprobación de alineación, Ángulo de alineación y Cantidad mínima de puntos para el sitio. Activa la comprobación de alineación cuando la carga deba colocarse con un ángulo definido.
3
Crear ubicaciones de almacenamiento
En el modo de nube de puntos, selecciona Añadir ubicación de almacenamiento, cambia a la vista superior y pulsa X para iniciar o detener el dibujo. Arrastra el rectángulo sobre el palé y ajusta los límites X, Y y Z. Pulsa X de nuevo para salir del modo de dibujo.
4
Guardar y verificar
Selecciona Guardar y enviar. Configura las ubicaciones en el modo RGB 2D o nube de puntos 3D y comprueba Resultado en la barra de estado.
Estado de la ubicación de almacenamiento
Resultado
Vacía
0
Ocupada, u ocupada y alineada
1
Ocupada con un ángulo superior al umbral de alineación
2
Ocupada y fuera de los límites de la ubicación
3
Para una disposición regular, utiliza Copiar cuadro actual para crear ubicaciones con una dirección y un espaciado fijos. Si se requiere verificación mediante código QR, usa Calibración con código QR para configurar las dimensiones de la ubicación y el rango de profundidad.
La detección de volumen funciona de arriba hacia abajo. Después de la calibración, el eje Z apunta hacia abajo y el plano X/Y es paralelo al suelo.
2
Configurar el plano de detección
Para mercancías colocadas directamente en el suelo, establece el plano de detección a la altura del suelo. Para medir solo mercancías sobre un palé, alinea el plano con la nube de puntos del palé.
3
Configurar las dimensiones mínimas y la región
Establece los valores mínimos de X, Y y Z para filtrar objetivos pequeños. Después, configura los límites de la región según el plano de detección y las dimensiones de la carga.
4
Guardar y verificar
Selecciona Guardar y enviar, coloca uno o varios objetos en la región y verifica la longitud, la anchura, la altura y la cantidad devueltas.
Para utilizar la adquisición de una sola activación, activa Modo de activación en Detección de volumen y selecciona Guardar y enviar. Después, selecciona Activación única en Herramientas básicas o envía TM_TRIGGER mediante TCP o UDP.
La dirección IP de los ejemplos es ilustrativa. Reemplázala por la dirección de la cámara en el sitio y, después, verifica la red, el estado del algoritmo y el formato de los resultados antes de integrarlos con un sistema de nivel superior.
El sistema de nivel superior envía una solicitud de resultados al endpoint de visión, que devuelve una cadena JSON. Utiliza en tu cliente HTTP las cabeceras de solicitud entregadas para el proyecto y el siguiente cuerpo de solicitud.
Objeto de estado indexado por el ID de la región de detección: 0 significa que no hay objetivo, 1 que se ha detectado una persona y 2 que un objeto se ha detectado solo mediante la regla de profundidad.
Marca de tiempo del resultado de detección humana.
Los detalles de los grupos incluyen rbx2d, rby2d, tlx2d y tly2d (coordenadas de la caja 2D), semantic_index, traceID y x_min, x_max, y_min, y_max, z_min y z_max (límites de la caja 3D).
Detalles de la ubicación X: centro x, y y z, longitud, anchura, altura y desviación angular respecto a la caja delimitadora. Una ubicación creada en 2D devuelve todos los valores como -1.
El siguiente ejemplo utiliza el ID de transacción 0x0001 para leer un registro de retención en la dirección 0x0104. La respuesta contiene el estado 0x0002.
Confirma que el host y la cámara compartan una subred, que el adaptador de red sea gigabit y que los enlaces de alimentación y del switch estén en buen estado.
Los parámetros no tienen efecto
Confirma que se haya seleccionado Guardar y enviar después del cambio.
No hay resultados del algoritmo
Confirma que se haya instalado el firmware del algoritmo correcto, que el dispositivo esté en verde y que el algoritmo esté activado.
Nube de puntos vacía o desactualizada
Desplázate sobre el área de nube de puntos para mostrar los datos; activa la actualización automática si es necesario.
Resultados anómalos de ubicación o volumen
Vuelve a comprobar las direcciones de los ejes extrínsecos, el plano de detección y los límites de la región y, después, repite la prueba con objetos del sitio.