Yolo Vision Shenzhen
Shenzhen
Únete ahora

Las 8 mejores herramientas y algoritmos de código abierto para el seguimiento de objetos

Explora las 8 mejores herramientas de código abierto para el seguimiento de objetos en el análisis de vídeo en tiempo real. Descubre cómo funciona cada una y cómo elegir la más adecuada para tu proyecto.

Cuando un coche se salta un semáforo en rojo y se envía una multa automática al conductor, o cuando un futbolista regatea por el campo y la cámara sigue con fluidez la jugada, la IA está trabajando silenciosamente en segundo plano. En concreto, estos sistemas se basan en la visión artificial, un subcampo de la IA que permite a las máquinas ver, interpretar y comprender la información visual del mundo.

Dentro de la visión artificial, una de las tareas clave detrás de estas aplicaciones es el seguimiento de objetos. Se utiliza para identificar objetos en cada fotograma de un vídeo y luego seguir esos objetos a medida que se mueven, se superponen con otros o cambian de dirección.

Hoy en día existen muchas herramientas y algoritmos de seguimiento de objetos, cada uno diseñado para diferentes casos de uso, necesidades de rendimiento y niveles de complejidad. Algunos se centran en la velocidad y pueden track de objetos en tiempo real, mientras que otros priorizan la precisión o la estabilidad a largo plazo en condiciones difíciles, como oclusión, movimiento rápido o poca iluminación.

En concreto, los proyectos de código abierto han desempeñado un papel fundamental en el avance de este campo. Dado que su código es de libre acceso, los desarrolladores e investigadores pueden estudiar cómo funcionan, mejorar los métodos existentes y adaptarlos a nuevas aplicaciones. Esta apertura ha contribuido a que el seguimiento de objetos evolucione rápidamente y sea más fácil de integrar en sistemas del mundo real.

En este artículo, exploraremos ocho herramientas y algoritmos populares de código abierto para el seguimiento de objetos. ¡Empecemos!

¿Qué es el seguimiento de objetos?

Imaginemos una situación en la que un guardia de seguridad está viendo las imágenes de las cámaras de seguridad de un aparcamiento. Decide vigilar un coche rojo. A medida que se reproduce el vídeo, marca mentalmente ese coche y sigue su rastro allá donde va, incluso cuando pasan otros coches o hay gente caminando delante de él.

El seguimiento de objetos basado en IA es similar, pero funciona de forma automática y a gran escala. En otras palabras, el seguimiento de objetos es el proceso de seguir un objeto mientras se mueve a través de los fotogramas de un vídeo y mantener su identidad constante de un fotograma a otro. 

En muchos sistemas, esto comienza con la detección de objetos, que encuentra y etiqueta objetos como personas, vehículos o señales de tráfico en cada fotograma. A continuación, a medida que estos objetos se mueven, aparecen, desaparecen o se superponen, el sistema de seguimiento vincula las detecciones entre fotogramas para saber qué objeto es cada uno y dónde se desplaza cada uno a lo largo del tiempo.

Fig. 1. Una mirada al seguimiento de objetos (Fuente)

Hay dos tipos comunes de seguimiento: el seguimiento de un solo objeto (SOT), que se centra en un objeto principal (como seguir solo la pelota en un vídeo deportivo), y el seguimiento de múltiples objetos (MOT), que sigue muchos objetos a la vez y asigna a cada uno un identificador único (como seguir todos los coches en un cruce concurrido). 

Independientemente del tipo de seguimiento, la mayoría de los sistemas se basan en tres componentes básicos: un detector para encontrar objetos en cada fotograma, un modelo de movimiento para predecir cómo es probable que se muevan esos objetos y un paso de coincidencia para conectar las nuevas detecciones con los objetos seguidos anteriormente. Estas partes convierten el vídeo sin procesar en información significativa sobre cómo se mueven e interactúan los objetos a lo largo del tiempo.

La necesidad de herramientas de seguimiento de objetos de código abierto

Antes de entrar en detalles, quizá te preguntes: ¿qué hace que las herramientas y los algoritmos de seguimiento de objetos de código abierto sean tan especiales?

Las herramientas de código abierto han desempeñado un papel importante a la hora de facilitar el uso del seguimiento de objetos y ampliar su disponibilidad. Al ser el código abierto, los desarrolladores e investigadores pueden ver exactamente cómo funciona un rastreador, aprender de él y adaptarlo a sus propios proyectos, en lugar de tratarlo como una caja negra.

También se benefician de comunidades sólidas. Muchas herramientas de seguimiento de código abierto son mantenidas por colaboradores activos que añaden nuevas funciones, mejoran la velocidad y la precisión, corrigen errores y mantienen las herramientas alineadas con las últimas investigaciones. Esta colaboración continua les ayuda a seguir siendo fiables y útiles en diferentes aplicaciones.

El coste es otra razón importante por la que son importantes. Dado que las herramientas de código abierto son gratuitas, los estudiantes, las empresas emergentes y los equipos pequeños pueden experimentar, crear prototipos y construir sistemas reales sin preocuparse por los costes de licencia o suscripción.

Las 8 mejores herramientas y algoritmos de código abierto para el seguimiento de objetos

Hoy en día existe una amplia variedad de opciones de código abierto para crear sistemas de seguimiento. Algunas son algoritmos o modelos de seguimiento que se pueden conectar directamente a su canalización, mientras que otras son bibliotecas y marcos que facilitan la ejecución, la gestión y la integración de esos modelos. En conjunto, cubren todo, desde la lógica central del seguimiento hasta las herramientas complementarias que se necesitan en un proyecto real. 

A continuación, echemos un vistazo a ocho herramientas y algoritmos populares de código abierto para el seguimiento de objetos.

1.YOLO Ultralytics y elPython Ultralytics

Una de las opciones más sencillas y prácticas para el seguimiento de objetos es utilizar los YOLO Ultralytics en combinación con el Python Ultralytics .YOLO Ultralytics , como Ultralytics YOLO11 y el próximo Ultralytics son modelos de visión artificial que admiten una amplia gama de tareas de visión, entre las que se incluyen la detección de objetos, la segmentación de instancias, la estimación de poses y el seguimiento de objetos.

Fig. 2. Ejemplo del uso YOLO11 detect track . (Fuente)

Curiosamente, los modelos en sí mismos no track a través de los fotogramas. En su lugar, elPython Ultralytics Python , una biblioteca que simplifica la ejecución y la implementación deYOLO Ultralytics YOLO , hace posible el rastreo combinando las detecciones fotograma a fotograma YOLOcon algoritmos dedicados al rastreo de múltiples objetos, como BoT-SORT y ByteTrack. 

Gracias a su capacidad de seguimiento integrada, el Ultralytics yYOLO Ultralytics YOLO pueden utilizarse para detect en cada fotograma y, a continuación, asignarles identificadores coherentes para poder seguirlos mientras se mueven, se superponen, salen del fotograma y vuelven a entrar más tarde. Este enfoque se está adoptando cada vez más en sectores como la fabricación y el comercio minorista, lo que permite aplicaciones como los flujos de trabajo de inspección de defectos, el seguimiento del flujo de inventario y el seguimiento de los clientes en las tiendas.

2. OpenCV

OpenCV es una amplia biblioteca de visión artificial que incluye una colección de algoritmos de seguimiento de objetos. Esta biblioteca ha sido desarrollada y mantenida por la OpenCV desde 1999. 

En lugar de basarse en el aprendizaje profundo, la mayoría de estos rastreadores utilizan métodos tradicionales de visión artificial, como filtros de correlación y técnicas basadas en kernels (que siguen un objeto comparando su aspecto visual, como el color y la textura, de un fotograma a otro, en lugar de aprender características mediante redes neuronales). 

Al utilizar estos algoritmos, normalmente se puede seleccionar primero el objeto que se desea track, y el rastreador busca continuamente la región visual más similar en los fotogramas posteriores a medida que el objeto se mueve. 

Fig. 3. Seguimiento de objetos mediante OpenCV Fuente)

Aunque estos métodos pueden no ser tan robustos como los modernos sistemas de seguimiento basados en el aprendizaje profundo en escenas complejas o concurridas, siguen siendo muy utilizados porque son ligeros, rápidos y fáciles de ejecutar. Además, dado que estos rastreadores funcionan de manera eficiente en las CPU y no suelen requerir una GPU, son muy adecuados para experimentos rápidos, el aprendizaje en el aula y proyectos de ocio. 

3. ByteTrack

ByteTrack es uno de los algoritmos de código abierto más populares para el seguimiento de múltiples objetos. En lugar de limitarse a comparar solo las detecciones de las que el modelo está muy seguro, también utiliza detecciones de menor fiabilidad que muchos sistemas suelen ignorar. 

Esto le ayuda a realizar track objetos que son difíciles de ver momentáneamente, como cuando están parcialmente bloqueados, lejos o se mueven rápidamente. Debido a su rapidez y fiabilidad, ByteTrack se utiliza habitualmente en aplicaciones como el análisis del tráfico, el seguimiento de peatones y la supervisión de comercios minoristas, donde el rendimiento en tiempo real y la coherencia de las identificaciones son importantes. 

Como se mencionó anteriormente, si utilizaYOLO Ultralytics para la detección, es fácil habilitar ByteTrack a través delPython Ultralytics . Pero también se puede utilizar de forma independiente en canalizaciones personalizadas, lo que lo hace adecuado para todo, desde prototipos de investigación hasta sistemas de producción escritos en C++.

4. DeepSORT

Otro algoritmo muy utilizado para el seguimiento de múltiples objetos es DeepSORT, abreviatura de Deep Simple Online and Real-Time Tracking (Seguimiento sencillo en línea y en tiempo real). Se trata de una versión avanzada de SORT, que significa Simple Online and Real-Time Tracking (Seguimiento sencillo en línea y en tiempo real).

Al igual que ByteTrack, SORT sigue un enfoque de seguimiento por detección. Sin embargo, SORT se basa en un filtro Kalman, un modelo matemático que estima la posición futura de un objeto basándose en su movimiento pasado, para predecir hacia dónde es probable que se mueva cada objeto a continuación.

A continuación, compara las nuevas detecciones con las pistas existentes, basándose principalmente en la posición y la superposición de los cuadros delimitadores. Esto hace que SORT sea rápido y ligero, pero puede tener dificultades cuando los objetos se superponen, se cruzan o desaparecen brevemente de la vista.

DeepSORT mejora SORT al añadir información sobre la apariencia al proceso de seguimiento. Además del movimiento y la posición, utiliza un modelo de reidentificación o re-id basado en el aprendizaje profundo que aprende cómo se ven los objetos. Esto permite al rastreador reconocer el mismo objeto en todos los fotogramas, incluso cuando el movimiento no es suficiente para distinguirlo de otros.

Por este motivo, DeepSORT se utiliza habitualmente en aplicaciones como la vigilancia y la supervisión de multitudes, donde las personas suelen solaparse o quedar ocultas brevemente. Sin embargo, hoy en día se considera una referencia clásica, y los métodos de seguimiento más recientes suelen ofrecer un mejor rendimiento en situaciones más complejas.

5. Norfair

Norfair es una biblioteca de seguimiento ligera diseñada para ser flexible, en lugar de obligarte a utilizar un proceso de seguimiento fijo. Puede añadir seguimiento a casi cualquier detector, siempre que los resultados del detector puedan representarse como un conjunto de puntos, como centros de cuadros delimitadores, puntos clave o datos de coordenadas personalizados.

Fig. 4. Seguimiento de objetos del mundo real utilizando Norfair (Fuente)

Esta flexibilidad lo hace especialmente eficaz para proyectos que implican entradas inusuales o patrones de movimiento dinámicos, en los que las herramientas estándar de seguimiento de múltiples objetos pueden resultar insuficientes. La biblioteca también proporciona funciones de distancia integradas para controlar cómo se comparan las detecciones entre fotogramas. 

Estas funciones de distancia miden el grado de similitud entre dos puntos u objetos, lo que proporciona a los usuarios un control total sobre la lógica de seguimiento. Norfair se utiliza a menudo en robótica, análisis de movimientos deportivos, navegación con drones y aplicaciones que dependen en gran medida del seguimiento de puntos de referencia o puntos clave.

6. MMTracking

MMTracking es una caja de herramientas de seguimiento de código abierto del equipo OpenMMLab, que también está detrás de bibliotecas de visión artificial ampliamente utilizadas como MMDetection. Basada en MMDetection, proporciona un marco flexible para desarrollar y experimentar con sistemas de seguimiento.

Una de sus mayores ventajas es su diseño modular. En lugar de limitarte a un único proceso, MMTracking te permite configurar e intercambiar diferentes componentes, como detectores, módulos de seguimiento y, en algunas configuraciones, modelos de reidentificación. Debido a esta flexibilidad, es especialmente popular en proyectos de investigación y avanzados en los que los equipos desean comparar métodos, probar nuevas ideas o ajustar los procesos de seguimiento.

7. FairMOT

FairMOT es un marco de seguimiento de múltiples objetos diseñado para track objetos al mismo tiempo. A diferencia de los procesos tradicionales de seguimiento por detección, que primero ejecutan la detección y luego vinculan los objetos entre fotogramas como un paso separado, FairMOT aprende la detección y la reidentificación juntas en una sola red. 

Fig. 5. Cómo funciona el marco FairMOT (Fuente)

Esta configuración conjunta ayuda a mantener identidades más consistentes, especialmente en escenas concurridas donde las personas a menudo se superponen o se mueven rápidamente. FairMOT se utiliza comúnmente en escenarios como el seguimiento de peatones y la supervisión de multitudes, y también se aplica en entornos como el análisis minorista y la supervisión del tráfico, donde es importante realizar un seguimiento de muchos objetivos en tiempo real.

8. SiamMask

SiamMask es un método de seguimiento de un solo objeto que va un paso más allá que muchos rastreadores, ya que produce una máscara de segmentación junto con un cuadro delimitador. En pocas palabras, no se limita a dibujar un rectángulo alrededor del objetivo. También perfila la forma del objeto a nivel de píxeles, lo que puede resultar útil cuando el objetivo cambia de forma, gira o queda parcialmente oculto. 

Fig. 6. Seguimiento y segmentación de un objeto utilizando SiamMask (Fuente)

Este enfoque utiliza un diseño de seguimiento siamés, en el que el rastreador primero toma una pequeña vista de referencia del objetivo desde el primer fotograma, a menudo denominada plantilla. A continuación, en cada nuevo fotograma, busca una región más grande y encuentra el punto con mayor similitud con esa plantilla. 

SiamMask se basa en esta idea de coincidencia. También predice una máscara a nivel de píxel para el objetivo, de modo que se obtiene tanto la ubicación del objeto como un contorno más preciso a medida que se reproduce el vídeo.

Factores clave a la hora de elegir una herramienta de seguimiento de objetos

Con las diversas opciones de herramientas de seguimiento de objetos de código abierto disponibles actualmente en el ámbito de la IA, la mejor opción para su proyecto de visión artificial depende de los requisitos específicos de su caso de uso. A continuación, se indican algunos factores que debe tener en cuenta:

  • Precisión: esto es más importante en escenas concurridas o visualmente complejas, en las que el sistema de visión debe mantener identificaciones estables incluso durante superposiciones, oclusiones o movimientos rápidos.
  • Velocidad: Para aplicaciones en tiempo real como la robótica, la supervisión del tráfico y el análisis deportivo, la capacidad de respuesta puede ser más importante que la precisión perfecta.
  • Facilidad de integración: algunas herramientas de seguimiento de objetos son fáciles de conectar y funcionar, y solo requieren unas pocas líneas de código, mientras que otras requieren más trabajo de configuración o personalización del proceso.
  • Restricciones de implementación: El entorno de destino, como GPU , dispositivos periféricos o hardware móvil, puede determinar qué enfoque de seguimiento es más práctico.
  • Escalabilidad: si su sistema necesita track objetos a la vez o procesar múltiples transmisiones de vídeo, el rastreador debe escalarse de manera eficiente sin una gran caída en el rendimiento.

Cada herramienta o algoritmo de seguimiento de objetos tiene una finalidad diferente. En última instancia, la elección adecuada depende de tus requisitos específicos, las limitaciones de tiempo de ejecución, las métricas de rendimiento y el grado de personalización que requiera tu proyecto en cuanto al enfoque de seguimiento. 

Conclusiones clave

El seguimiento de objetos ha evolucionado desde las primeras técnicas artesanales hasta los sistemas de aprendizaje profundo de última generación actuales, que interpretan el movimiento, la identidad y el comportamiento con una precisión impresionante. Las herramientas de código abierto han sido una fuerza impulsora detrás de este progreso. Democratizan el acceso a potentes algoritmos, fomentan la experimentación y permiten a los investigadores crear sofisticados procesos de seguimiento sin licencias restrictivas ni infraestructuras pesadas. 

Echa un vistazo a nuestra comunidad y al repositorio GitHub para obtener más información sobre la IA. Explora nuestras páginas de soluciones sobre IA en agricultura y visión artificial en fabricación. Descubre nuestras opciones de licencia y empieza a crear tu propio modelo de visión.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis