Solução feita por Alysson Machado de Oliveira Barbosa
- Escreva um algoritmo em Python que realize o treinamento de um modelo para a detecção de torres de energia e linhas de energia em imagens.
- Siga as instruções do repositório para extração de rótulos no formato COCO dataset. Utilize imagens de tamanho 640 x 360.
- Respeite a divisão da base de dados quanto aos conjuntos de treino, validação e teste.
- Atente-se a um código limpo, organizado, documentado e com ideias claras da solução proposta.
- Caso mais de um modelo seja produzido, comente sobre os resultados obtidos, explicitando qual deles funcionou melhor e o porquê.
- Na falta de uma GPU para o treinamento, recomenda-se o uso do Kaggle ou do Google Colab.
Segmentação por instância de torres de energia e linhas de força.
Arquitetura Utilizada
: YoloV8.
A YOLOv8 é um modelo de rede neural utilizado para resolver problemas de segmentação por instância e detecção de objetos de forma simultânea. YOLO, que significa "You Only Look Once", é uma abordagem de detecção de objetos em tempo real que opera diretamente em uma imagem inteira, em vez de dividir a imagem em regiões menores, como outros métodos. O YOLOv8 é uma versão aprimorada que utiliza uma arquitetura de rede neural convolucional profunda para detectar e segmentar objetos em uma imagem, atribuindo rótulos e coordenadas de caixa delimitadora a cada objeto encontrado. Essa abordagem oferece uma detecção rápida e eficiente de objetos em tempo real, sendo amplamente utilizado em aplicações de vigilância, automação industrial, veículos autônomos e outras áreas onde a detecção de objetos é essencial.
Servidor para treinar o modelo
: Google Colab (GPU Tesla T4).
Dataset utilizado
: TTPLA: An Aerial-Image Dataset for Detection and Segmentation of Transmission Towers and Power Lines.
O dataset TTPLA contém imagens aéreas de torres e linhas de transmissão. Cada imagem possui anotações de segmentação poligonal dos objetos em análise, organizada em arquivos .json
no formato Coco Dataset.
As etapas de preparação dos dados e treinamento do modelo estão disponívels no arquivo Jupyter Notebook:
A seguir, é possível analisar os resultados obtidos com a predição feita nos três vídeos selecionados. Os vídeos estão localizados na pasta resultados-videos/
e também os coloquei no YouTube para maior facilidade de análise:
- Primeiro Vídeo: https://youtu.be/QyB5Sq-Rt_A
- Segundo Vídeo: https://youtu.be/5booA-m-5Ns
- Terceiro Vídeo: https://youtu.be/KNTggwp_2WI
A seguir, é possível visualizar o resultado de algumas imagens disponíveis no conjunto de teste. Mais imagens podem ser visualizadas na pasta resultados-teste/
.