Este notebook tem como objetivo treinar modelos de detecção de objetos usando a biblioteca Ultralytics com diferentes versões do modelo YOLO (You Only Look Once). O modelo será treinado para identificar tubarões em imagens capturadas por drones, utilizando o Drone Shark Detection Dataset.
Antes de iniciar o treinamento, foi necessário configurar o ambiente:
- Instalação das dependências: Foi instalada a biblioteca
ultralytics
, que contém a implementação oficial do YOLOv5, YOLOv8 e YOLO11. - Importação das bibliotecas: Foram importadas as bibliotecas essenciais para o pré-processamento de dados, treinamento e avaliação do modelo, incluindo
torch
,cv2
ematplotlib
. - Verificação do ambiente: Foi verificado se o notebook estava sendo executado com GPU para acelerar o treinamento.
Para treinar o modelo, foi necessário preparar o conjunto de dados:
- Download do dataset: O Drone Shark Detection Dataset foi baixado e extraído no diretório de trabalho.
- Estruturação das pastas: Os arquivos foram organizados seguindo o formato esperado pelo YOLO:
train/images/
→ Imagens para treinamentotrain/labels/
→ Anotações no formato YOLOval/images/
→ Imagens para validaçãoval/labels/
→ Anotações para validação
- Conversão das anotações: Como o YOLO exige anotações no formato
txt
contendo a classe e as coordenadas do bounding box normalizadas, os arquivos foram convertidos conforme necessário.
O treinamento foi realizado usando o framework Ultralytics YOLO, seguindo os passos abaixo:
- Definição dos hiperparâmetros:
- Modelo:
YOLOv8n.pt
(versão nano para melhor desempenho em tempo real) - Épocas: 60
- Tamanho do batch: 16
- Taxa de aprendizado ajustada para evitar overfitting
- Modelo:
- Execução do treinamento:
- O modelo foi treinado utilizando os dados de treinamento.
- Durante o processo, métricas como perda de classificação, perda de bounding box e precisão mAP foram monitoradas.
- A cada época, os resultados foram armazenados para análise posterior.
Após o treinamento, o modelo foi avaliado utilizando o conjunto de validação. Os seguintes testes foram realizados:
- Cálculo do mAP (mean Average Precision) para avaliar a precisão da detecção dos tubarões.
- Análise das métricas:
- Precisão (Precision): Indica a porcentagem de detecções corretas.
- Recall: Mede a capacidade do modelo de encontrar todos os objetos relevantes.
- F1-score: Combinação da precisão e recall para avaliar o desempenho geral.
- Comparação entre diferentes versões do YOLO:
- Foram realizados testes com YOLOv5 e YOLOv8 para comparar qual apresentava melhores resultados.
Após o treinamento e avaliação, o modelo foi aplicado para detectar tubarões em imagens e vídeos inéditos. Os seguintes experimentos foram feitos:
- Teste com imagens individuais: Foram carregadas imagens do conjunto de testes para visualizar a performance do modelo.
- Inferência em vídeos: O modelo foi aplicado em vídeos capturados por drones para detectar tubarões em tempo real.
- Ajuste dos parâmetros de detecção: Foram ajustados limiares de confiança e supressão de não-máximos para melhorar os resultados.
O treinamento e teste do modelo YOLO para detecção de tubarões apresentou bons resultados, destacando-se os seguintes pontos:
- YOLOv8 demonstrou um melhor desempenho em relação ao YOLOv5, com maior precisão e menor tempo de inferência.
- O modelo conseguiu detectar tubarões em imagens aéreas, mesmo em condições desafiadoras como variação de iluminação e reflexos na água.