Skip to main content

Seguimiento de objetos con reTerminal y cámara Pi con OpenCV

Una Introducción

El seguimiento de objetos es el proceso de localizar consistentemente un objeto específico a través de fotogramas consecutivos en un video. En el ámbito de los rastreadores de objetos individuales, el fotograma inicial sirve como referencia, con el objeto objetivo marcado por un rectángulo delimitador. Los fotogramas subsiguientes luego emplean algoritmos de seguimiento para seguir y rastrear el movimiento del objeto. Típicamente, estos rastreadores se utilizan junto con detectores de objetos en aplicaciones del mundo real, combinando las fortalezas de ambas tecnologías para mejorar la precisión y eficiencia.

Comenzando

Antes de iniciar este proyecto, es posible que necesites preparar tu hardware y software con anticipación como se describe aquí.

Preparación del hardware

Preparación del Software

Recomendamos instalar la versión Bullesye o Bookworm del SO Raspberry Pi de 64 bits desde su sitio web oficial. Si prefieres instalar un nuevo SO Raspbian, por favor sigue los pasos descritos en esta guía.

note

Recomendamos encarecidamente revisar nuestro tutorial anterior sobre Primeros pasos con OpenCV, ya que este tutorial sirve como una continuación en nuestra serie.

Seguimiento vs. Detección

En wikis anteriores, cubrimos la detección de rostros y detección de colores, pero notamos su naturaleza intermitente. Aquí hay una comparación rápida:

  1. Ventaja de Velocidad: El seguimiento es más rápido que la detección. Al aprovechar los datos de fotogramas anteriores, los algoritmos de seguimiento predicen las ubicaciones de objetos, mientras que los algoritmos de detección a menudo comienzan desde cero en cada fotograma.
  2. Manejo de Fallos: Si un detector de rostros falla debido a oclusión, los algoritmos de seguimiento sobresalen. Pueden manejar obstrucción parcial, ofreciendo rendimiento robusto cuando la detección se queda corta.
  3. Persistencia de Identidad: La detección de objetos proporciona rectángulos de objetos detectados pero carece de persistencia de identidad. El seguimiento sobresale en mantener identidad de objeto consistente a través de fotogramas, crucial para muchas aplicaciones del mundo real.

¿Cuáles son los algoritmos en el dominio de Seguimiento?

Aquí hay algunos algoritmos principales de seguimiento de objetos con sus pros y contras

BOOSTING

  • Pros: Simple y en tiempo real. Funciona bien con movimiento consistente.
  • Contras: Lucha con patrones de movimiento complejos y oclusiones.
  • Velocidad: Rápida.
  • Precisión: Moderada.

MIL (Multiple Instance Learning)

  • Pros: Efectivo en manejar oclusiones y cambios en la apariencia del objeto.
  • Contras: Puede ser sensible al ruido y desorden de fondo.
  • Velocidad: Moderada.
  • Precisión: Buena.

KCF (Kernelized Correlation Filter)

  • Pros: Rendimiento de alta velocidad. Robusto contra variaciones de escala.
  • Contras: Sensible a escenarios fuera de vista.
  • Velocidad: Rápida.
  • Precisión: Moderada a Alta.

TLD (Tracking, Learning, and Detection)

  • Pros: Auto-actualizante y capaz de re-detectar objetos perdidos.
  • Contras: Propenso a deriva y puede tener dificultades con movimiento rápido.
  • Velocidad: Moderada.
  • Precisión: Moderada.

MEDIANFLOW

  • Pros: Robusto en manejar cambios de movimiento abruptos y oclusiones.
  • Contras: Puede luchar con cambios significativos en la apariencia del objeto.
  • Velocidad: Rápida.
  • Precisión: Moderada.

MOSSE (Minimum Output Sum of Squared Error)

  • Pros: Extremadamente rápido y adecuado para aplicaciones en tiempo real.
  • Contras: Robustez limitada bajo condiciones desafiantes.
  • Velocidad: Muy Rápida.
  • Precisión: Moderada.

CSRT (Channel and Spatial Reliability Tracker)

  • Pros: Alta precisión y robustez contra escenarios desafiantes.
  • Contras: Computacionalmente más costoso.
  • Velocidad: Moderada.
  • Precisión: Alta.

Ejecutemos el código

Asegúrate de que estás en la carpeta correcta. Si no

cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam

Entonces o incluso puedes usar el IDE Thonny para ejecutar el script de Python.

python Tracking.py

El script de Python anterior está diseñado para rastrear rostros. El siguiente fragmento de código maneja el escenario donde el rastreo falla, indicando al sistema que inicie un nuevo proceso de detección y viceversa.

python DetectandTrack.py

Soporte técnico

¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...