Universidad de San Andrés — Trabajo Final, Visión Artificial
Autores: Antonio Tepsich · Máximo Gubitosi
Detección de objetos multiespectral a partir de drones con cámaras RGB y térmicas — evaluada en escenarios de monitoreo de fauna silvestre y detección de personas en entornos urbanos.
Este proyecto explora cómo combinar imágenes RGB e infrarrojas (térmicas) capturadas por drones puede mejorar significativamente la detección de objetos en condiciones difíciles: animales camuflados en entornos naturales, poca luz, niebla y oclusiones. Se implementaron y evaluaron múltiples arquitecturas de modelos y estrategias de fusión de imágenes sobre dos datasets aéreos distintos.
Mejor resultado: mAP50 = 96% en detección de fauna silvestre usando YOLOv11 con fusión HST y data augmentation.
- Fusión en espacio de color HST: Técnica de preprocesamiento que fusiona imágenes RGB y térmicas en un formato estándar de 3 canales — Hue + Saturation del espacio RGB, reemplazando el canal Value por el canal Térmico. Permite entrada multimodal sin modificar ninguna arquitectura de modelo.
- YOLOv5-RGBT: YOLOv5 modificado con capa de entrada de 4 canales (R + G + B + T) mediante Early Fusion, con estrategia de inicialización de pesos personalizada para el canal térmico.
- Benchmark exhaustivo sobre 11 configuraciones de entrenamiento: 5 arquitecturas × múltiples formatos de entrada × con/sin data augmentation.
| Estrategia | Canales | Descripción |
|---|---|---|
| RGB | 3 | Solo RGB estándar (baseline) |
| HST | 3 | Hue + Saturation (del RGB) + Térmica (reemplaza Value) |
| RGBT | 4 | RGB + Térmico apilados — requiere arquitectura modificada |
La representación HST resultó la más efectiva: codifica información de color y firma térmica en una imagen estándar de 3 canales, compatible con cualquier modelo preentrenado sin modificaciones.
Se adaptó la primera capa convolucional de YOLOv5 para aceptar 4 canales (RGB + T). Los pesos del canal térmico se inicializan en cero, manteniendo los pesos RGB del modelo preentrenado.
| Modelo | Notas |
|---|---|
| YOLOv4-Tiny | Basado en Darknet; flexibilidad arquitectural limitada |
| YOLOv5s | PyTorch — baseline RGB/HST |
| YOLOv5-RGBT | Primera capa conv modificada para entrada RGBT de 4 canales (Early Fusion) |
| YOLOv11s | Último modelo Ultralytics; mejor rendimiento general |
| Detectron2 | Facebook AI Research — backbone RetinaNet R-101-FPN-3x |
Universidad de Mississippi · Cámaras estéreo DJI Zenmuse XT2 (calibradas y rectificadas)
- 164 pares de imágenes duales (RGB + térmico)
- 3 clases: Vaca · Ciervo · Caballo
- División: 131 entrenamiento / 33 validación (80/20)
- Data augmentation: Rotaciones (±15°) + ajuste de brillo (±10%) → conjunto triplicado a 393 imágenes
- Desafío: animales camuflados en fondos naturales; tamaño reducido del dataset
Subconjunto del benchmark de drones VisDrone2019
- 1.000 pares de imágenes RGB-térmico (reducido desde los 3.600 originales)
- 1 clase: Persona
- División: 800 entrenamiento / 200 validación (80/20)
- Desafío: altura variable, condiciones nocturnas o de poca luz, niebla, oclusión densa
| Modelo | Augmentation | Formato | mAP50 | mAP50:95 | Precisión |
|---|---|---|---|---|---|
| YOLOv5 | No | RGB | 0.86 | 0.44 | 0.79 |
| YOLOv5 | Sí | RGB | 0.88 | 0.44 | 0.91 |
| YOLOv5 | No | HST | 0.93 | 0.53 | 0.95 |
| YOLOv5 | Sí | HST | 0.95 | 0.57 | 0.97 |
| YOLOv5 | No | RGBT | 0.85 | 0.42 | 0.81 |
| YOLOv11 | No | RGB | 0.88 | 0.45 | 0.89 |
| YOLOv11 | Sí | RGB | 0.87 | 0.43 | 0.80 |
| YOLOv11 | No | HST | 0.91 | 0.55 | 0.94 |
| YOLOv11 | Sí | HST | 0.96 | 0.53 | 0.98 |
| YOLOv4-Tiny | No | RGB | 0.79 | 0.43 | 0.78 |
| Detectron2 | No | RGB | 0.84 | 0.44 | — |
El modelo no presenta confusión entre clases de animales (vaca/ciervo/caballo). Los únicos errores son con el fondo: 6 falsos positivos en vacas y 1 en caballos.
| Modelo | Formato | mAP50 | mAP50:95 | Precisión |
|---|---|---|---|---|
| YOLOv11 | RGB | 0.45 | 0.18 | 0.52 |
| YOLOv11 | HST | 0.64 | 0.26 | 0.62 |
| YOLOv5 | HST | 0.64 | 0.24 | 0.63 |
De las 4.027 personas en el set de validación:
| RGB | HST | |
|---|---|---|
| Detecciones correctas | 2.539 | 2.693 |
| Falsos positivos | 3.199 | 1.796 |
- HST mejoró el mAP50 en +42% relativo sobre RGB puro en VisDrone (0.45 → 0.64)
- Augmentation + HST llevó el AWIR a mAP50 = 0.96, Precisión = 0.98
- La fusión HST reduce consistentemente los falsos positivos al incorporar información térmica sin modificar la arquitectura
- YOLOv5-RGBT obtuvo resultados aceptables (mAP50 = 0.85), pero se beneficiaría de más épocas y mejor inicialización del canal térmico
- YOLOv11 mostró cero confusión entre clases de animales
├── create-Dataset-RGBT.ipynb # Construcción del dataset RGBT de 4 canales
├── yolo5-RGBT.ipynb # Entrena YOLOv5 modificado (4 canales RGBT)
├── train-yolo-AWIR-VisDrone.ipynb # Entrena modelos YOLO estándar (YOLOv5/YOLOv11)
├── yolov4_tiny.ipynb # Entrena YOLOv4-Tiny
├── Detectron2.ipynb # Entrena Detectron2 (RetinaNet)
│
├── yolov5_RGBT/ # Fork modificado de YOLOv5 (soporte 4 canales)
│
├── AWIR/
│ ├── utils/histogram_eq.py # Ecualización de histograma
│ ├── utils/train_test_split.py # División del dataset
│ └── Datasets/ # Splits locales del dataset
│
├── VisDrone/
│ ├── utils/convert_to_YOLO.py # Conversión VisDrone → formato YOLO
│ ├── utils/reduce_dataset.py # Muestreo del subconjunto
│ └── Datasets/ # Splits locales del dataset
│
└── extras/
└── collage/ # Imágenes de muestra térmicas del dron
cd yolov5_RGBT
pip install -r requirements.txt
python train.py --data ../data.yaml --weights yolov5s.pt --img 640 --epochs 500 --batch-size 16pip install ultralytics
yolo task=detect mode=train model=yolov11s.pt data=data.yaml epochs=500 imgsz=640 plots=TrueEl entrenamiento fue realizado en Google Colab (GPU). Ver train-yolo-AWIR-VisDrone.ipynb para el flujo completo incluyendo integración con Drive.
Los pesos entrenados, datasets completos, matrices de confusión y curvas de entrenamiento están disponibles en Google Drive:
🔗 Google Drive — Resultados, Pesos y Datasets
- Roszyk et al. (2022). Adopting the YOLOv4 Architecture for Low-Latency Multispectral Pedestrian Detection. Sensors. https://doi.org/10.3390/s22031082
- Duan et al. (2023). DroneRGBT: A Drone-Based RGB-Thermal Dataset for Object Detection and Tracking. https://github.com/VisDrone/DroneRGBT
- Brito et al. (2023). Aerial Wildlife Image Repository (AWIR): A Multispectral Dataset. Oxford University Press. https://doi.org/10.1093/database/baae070
- Redmon et al. (2016). You Only Look Once: Unified, Real-Time Object Detection. CVPR. https://doi.org/10.1109/CVPR.2016.91
- Wu et al. (2019). Detectron2: A PyTorch-based modular object detection library. Facebook AI. https://github.com/facebookresearch/detectron2









