Seguimiento y Reidentificación de Personas en Múltiples Cámaras con YOLO y Torchreid

Este proyecto presenta una solución simplificada para el seguimiento y la reidentificación de individuos a través de múltiples fuentes de video o cámaras. Utiliza YOLOv3 o YOLOv4 para la detección de objetos y la biblioteac Torchreid de KaiyangZhou para la reidentificación (ReID). La integración de estas tecnologías permite rastrear y reconocer de manera efectiva a la misma persona incluso cuando aparece en diferentes ángulos o cámaras.

Inicio Rápido del Proyecto

Preparación del Entorno

Asegúrate de tener Anaconda instalado. Si no es así, descárgalo e instálalo desde el sitio oficial de Anaconda.

Clonación del Repositorio

Clona el proyecto en tu máquina local usando el siguiente comando:


git clone https://github.com/samihormi/Multi-Camera-Person-Tracking-and-Re-Identification.git

Creación de un Entorno Virtual

Navega al directorio del proyecto y crea un entorno virtual de Python 3.7:


cd Multi-Camera-Person-Tracking-and-Re-Identification
conda create --name reid_env python=3.7
conda activate reid_env

Instalación de Depnedencias

Instala las dependencias requeridas por el proyecto:


pip install -r requirements.txt

Instala PyTorch y TorchVision compatible con tu versión de CUDA:


conda install pytorch torchvision cudatoolkit -c pytorch

Conversión de Modelos

Descarga los archivos de pesos para YOLOv3 y YOLOv4 y colócalos en el directorio model_data/weights/. Luego, ejecuta los siguientes comandos para convertir los modelos:


# Conversión del modelo YOLOv3
python convert_y3.py model_data/weights/yolov3.weights model_data/models/yolov3.h5

# Conversión del modelo YOLOv4
python convert_y4.py model_data/weights/yolov4.weights model_data/models/yolov4.h5

Ejecución de la Demostración

Puedes usar el script demo.py para procesra tus propios videos. El script generará un video de salida en el directorio videos/output que contendrá los resultados del seguimiento y la reidentificación.


python demo.py --videos videos/init/Double1.mp4 videos/init/Single1.mp4 --version v3

Casos de Uso y Mejores Prácticas

Casos de Uso

  • Vigilancia de Seguridad: Rastrea y reidentifica individuos en áreas cubiertas por múltiples cámaras para mejorar la seguridad.
  • Monitorización de Tráfico: Realiza un seguimiento de vehículos o peatones en intersecciones con múltiples cámaras para identificar infracciones.
  • Análisis Minorista: Analiza el comportamiento de los clientes a través de sistemas de cámaras múltiples en centros comerciales o supermercados para optimizar la disposición de los productos.

Mejores Prácticas

  • Preprocesamiento de Datos: Asegura la alta calidad de los videos de entrada para evitar que el desenfoque o la baja resolución afecten negativamente el rendimiento del seguimiento.
  • Selección del Modelo: Elige la versión de YOLO apropiada (YOLOv3 o YOLOv4) según tus requisitos. YOLOv4 generalmente ofrece un mejor equilibrio entre velocidad y precisión que YOLOv3.
  • Ajuste de Parámetros: Adapta los parámetros del modelo a diferentes escenarios de aplicación para lograr resultados óptimos de seguimiento y reidentificación.

Proyectos Ecosistémicos Relacionados

  • YOLO (You Only Look Once): Un sistema de detección de objetos en tiempo real disponible en versiones YOLOv3 y YOLOv4.
  • Torchreid: Una biblioteca de PyTorch especializada en la reidentificación de peatones, que ofrece varios modelos preentrenados y herramientas de entrenamiento.
  • Deep SORT: Un algoritmo que combina detección de objetos con seguimiento, comúnmente utilizado en tareas de seguimiento multiobjeto.

La combinación de estos componentes permite que el proyecto Multi-Camera-Person-Tracking-and-Re-Identification logre un seguimiento y reidentificación eficientes de personas en entornos multicanal.

Etiquetas: YOLOv3 YOLOv4 Torchreid Re-identification Object Detection

Publicado el 7-25 00:16