Object_Detection_Tracker

Esta función realiza el seguimiento de objetos a través de fotogramas usando los resultados de detección que le proporciones. Asigna IDs consistentes a los objetos en movimiento, mantiene un historial corto por cada pista (incluyendo una etiqueta de clase más estable cuando esté disponible) y produce una imagen anotada además de listas que puedes usar para conteo, registro o análisis de nivel superior.

📥 Entradas

  • Input Image El fotograma de imagen actual usado para visualización y como contexto de seguimiento.

  • Detected Rectangles Lista de rectángulos detectados (bounding boxes). Proporciona aquí las detecciones generadas por un bloque de detección de objetos.

  • Detected Classes Lista de nombres de clase correspondientes a las detecciones. Se usa para construir una etiqueta de clase estable para cada pista.

Nota: Estos son conectores de entrada. Conecta aquí las salidas de un bloque de detección de objetos.

📤 Salidas

  • Result Image Imagen anotada con rectángulos, IDs y etiquetas de clase para cada pista activa.

  • Position - ID List Lista de posiciones (centros) de los objetos seguidos con sus IDs asignados y el nombre de clase estable.

  • Rectangle - ID List Lista de rectángulos emparejados con sus IDs asignados y nombres de clase estables.

Nota: Estos son conectores de salida. Úsalos para visualizar, contar o enviar los datos de seguimiento a otros bloques.

🕹️ Controles

Este bloque no tiene controles visibles para el usuario en el propio bloque. Su comportamiento depende de las detecciones que le suministres y de cómo los bloques aguas arriba configuren la sensibilidad y la frecuencia de detección.

⚙️ Mecanismo de funcionamiento

  • El bloque recibe por fotograma las detecciones (rectángulos y clases) junto con la imagen del fotograma actual.

  • Asocia nuevas detecciones con pistas existentes para mantener identidades consistentes entre fotogramas.

  • Para cada pista, mantiene un historial corto de clases detectadas para estabilizar la etiqueta mostrada (evita cambios rápidos de etiqueta por fallos momentáneos).

  • El bloque tolera fallos cortos (fotogramas temporales sin detección) para que las pistas no desaparezcan de inmediato, y elimina pistas que permanezcan inactivas demasiado tiempo.

  • Las salidas incluyen una imagen anotada para visualización y listas estructuradas (posiciones y rectángulos emparejados con IDs y nombres de clase) para procesamiento posterior.

Este comportamiento es automático; la calidad del seguimiento la controlas principalmente mediante la calidad y la frecuencia de las detecciones entrantes.

🎯 Características clave

  • Asignación de IDs estables entre fotogramas para cada objeto detectado.

  • Estabilización de la clase por pista para que las etiquetas mostradas sean consistentes en el tiempo.

  • Produce resultados visuales y listas estructuradas para análisis o registro.

  • Robusto frente a breves caídas de detección (detecciones perdidas temporalmente).

  • Crea nuevas pistas para detecciones no emparejadas y retira automáticamente pistas obsoletas.

📝 Instrucciones de uso

  1. Conecta una fuente de imagen al conector Input Image (ej.: cámara USB, cámara IP, stream o fotogramas precargados).

  2. Conecta un bloque de detección para proporcionar rectángulos y nombres de clase a Detected Rectangles y Detected Classes.

  3. Usa Result Image para previsualizar el resultado del seguimiento.

  4. Usa Position - ID List y Rectangle - ID List para alimentar bloques posteriores para conteo, registro o análisis.

💡 Consejos y trucos

  • Para mejores resultados, alimenta este bloque con detecciones confiables desde un bloque de detección como Object Detection, Object Detection - Custom o Object Detection (D-FINE).

  • Para visualizar antes/después del seguimiento, conecta Result Image a un bloque Show Image o Draw Detections.

  • Para grabar resultados visuales, envía Result Image a Image Logger o Record Video.

  • Si quieres centrar el seguimiento en un área específica, recorta la entrada primero con Image ROI, Image ROI Select o Image ROI Polygon antes de enviar las detecciones.

  • Para filtrar detecciones falsas o contar solo objetos dentro de una región, combina Rectangle - ID List con Rectangles in Rectangle o Check Area (Polygon).

  • Usa la salida Rectangle - ID List para alimentar aplicaciones de más alto nivel como Traffic Intersection Analysis (conteo de tráfico o eventos de cruce de área).

  • Si las detecciones son ruidosas, prueba añadir preprocesamiento upstream como Blur, Image Threshold o HSV Filter para mejorar la calidad de las detecciones antes del seguimiento.

🛠️ Solución de problemas

  • No aparecen pistas: Verifica que Detected Rectangles y Detected Classes reciban datos de detección válidos desde un bloque de detección de objetos.

  • Los IDs cambian rápidamente o las etiquetas cambian con frecuencia: Mejora la estabilidad de las detecciones (mejor detector, preprocesamiento) o reduce el ruido en las detecciones para que el bloque pueda construir un historial de clase estable.

  • Las pistas desaparecen muy rápido: Asegúrate de que se proporcionen detecciones en fotogramas consecutivos; si tienes detecciones intermitentes, considera suavizar o aumentar la frecuencia de detección en bloques anteriores.

  • Muchas pistas de corta duración: Filtra detecciones pequeñas o de baja confianza antes de enviarlas, o usa recorte de región (por ejemplo, Image ROI Select) para reducir falsos positivos.

Ejemplo rápido de configuración: Camera USB -> un bloque de detección (por ejemplo Object Detection (D-FINE)) -> Object_Detection_Tracker -> Show Image / Image Logger / Traffic Intersection Analysis.

Última actualización