Proposta: Criação de um Protótipo em Python usando Júpiter Notebooks para o Reconhecimento de Pássaros

Patrícia da Silva Rodrigues
Orientador: Roberto Marcondes César Júnior
15 de Maio de 2024

Resumo

Este trabalho propõe o desenvolvimento de um protótipo em Python usando Júpiter Notebooks pata o reconhecimento de pássaros utilizando vídeos como dados de entrada. Esses vídeos, que podem conter vocalizações, serão processados para identificar as aves presentes na cena. O protótipo será desenvolvido com base em técnicas de processamento de sinais, visão computacional e modelos de aprendizado de máquina. Os desafios incluem lidar com o dimorfismo sexual das espécies, diferenciar aves com coloração similar e garantir a robustez do método. O trabalho abrangerá a coleta de dados, pré-processamento, extração de características, desenvolvimento e treinamento de modelos, validação e implementação do protótipo.

Palavras chave: Deep Learning · Computer Vision · Image Classification

Introdução e Justificativa

Neste trabalho, propõe-se o desenvolvimento de um protótipo de reconhecimento de pássaros com base em vídeos de aves. O objetivo é criar um reconhecedor de aves capaz de identificar diferentes espécies a partir de vídeos como dados de entrada, utilizando técnicas de processamento de sinais, visão computacional e redes neurais artificiais. Um dos desafios do projeto é lidar com o dimorfismo sexual das espécies, onde as fêmeas e aves jovens geralmente têm coloração marrom discreta, em contraste com os machos, que exibem cores vibrantes. Em muitas espécies de pássaros, o dimorfismo sexual é mais evidente na plumagem, tamanho corporal ou características ornamentais, como cristas ou cores vivas. Por exemplo, os machos podem ter plumagem mais colorida ou padrões distintos, enquanto as fêmeas podem ser mais discretas para ajudar na camuflagem durante a incubação dos ovos ou o cuidado com os filhotes. Além disso, outro desafio consiste em diferenciar aves que possuem coloração similar, mas apresentam características marcantes específicas, como cristas coloridas ou tórax distintamente coloridos.

Adicionalmente, o projeto tem como intenção estudar a parte teórica por trás dos modelos e todas as partes relacionadas ao projeto, buscando aprimorar não apenas a implementação prática, mas também o embasamento teórico que sustenta o desenvolvimento do protótipo. Pretende-se explorar os fundamentos dos modelos de processamento de sinais, visão computacional e classificadores, além de investigar novas abordagens e técnicas que possam contribuir para o aperfeiçoamento do protótipo de reconhecimento de pássaros. Pretende-se também trabalhar na robustez do método, lidando com a previsão de incertezas e implementando técnicas capazes de melhorar o aprendizado do modelo. Isso envolverá tanto o tratamento da base de dados, buscando formas de lidar com dados incompletos ou ruidosos, quanto a calibração do modelo para garantir sua precisão e generalização adequadas. A validação do protótipo será realizada através de testes com conjuntos de dados independentes, visando avaliar a precisão e eficácia do reconhecimento de pássaros. O uso final do protótipo de reconhecimento de pássaros está na identificação de diferentes aves através de gravações em vídeos. Esse protótipo pode ser utilizado tanto para identificação por meio de imagens da cena quanto para a captura de áudio.

Justificativa

O uso de imagens e vocalizações como dados de treinamento proporciona uma abordagem abrangente no reconhecimento de pássaros, que possuem diferentes colorações, proporções, além de características vocais. Ao utilizar bases de dados de imagens e vocalizações, é possível capturar tanto características visuais quanto sonoras das aves, tornando o protótipo mais robusto e eficiente na identificação das espécies.

Na base de dados devem estar presentes as principais aves brasileiras ameaçadas de extinção, para enfatizar um dos usos possíveis do protótipo de reconhecimento, como, por exemplo, identificar aves ameaçadas de extinção. Ademais, o desenvolvimento deste protótipo proporciona uma oportunidade de aplicar técnicas de aprendizagem de máquina para a reconhecimento, tais como pré-processamento de dados, escolha do modelo de aprendizagem, treinamento e otimização do modelo, além da possibilidade de lidar com previsões de incertezas no modelo de reconhecimento.

Objetivos

Metodologia

Para que o protótipo possa processar adequadamente os vídeos de entrada, é necessário um tratamento inicial que inclui a extração do áudio e dos frames dos vídeos. Na etapa de reconhecimento, pretende-se identificar os pássaros presentes na cena.

Extração de áudio do vídeo

O processo de extração envolve a separação do canal de áudio do vídeo original, que pode ser realizado utilizando bibliotecas específicas do Python, como a moviepy ou outras ferramentas equivalentes. Uma vez extraído, o áudio será pré-processado para remover ruídos indesejados e normalizar os níveis de volume, garantindo assim que o sinal de áudio esteja em condições ideais para ser analisado por classificadores pré-treinados. Isso pode ser feito, por exemplo, usando a biblioteca scipy.

Extração dos frames do vídeo

O próximo passo envolve a extração dos frames do vídeo em intervalos regulares. Isso é feito para capturar imagens estáticas em diferentes pontos no tempo, proporcionando um conjunto de dados visuais que pode ser analisado posteriormente. O uso de bibliotecas como opencv ou moviepy pode facilitar essa tarefa, permitindo a extração de frames em taxas específicas, como um frame por segundo, ou com base em eventos específicos, como a detecção de mudanças significativas na cena.

Pré-processamento dos frames extraídos

Os frames extraídos serão pré-processados para otimizar a qualidade das imagens. Isso inclui a correção de cores, ajuste de contraste e remoção de artefatos visuais, garantindo que as imagens estejam em condições ideais para serem analisadas pelos classificadores de imagens. Adicionalmente, técnicas de aumento de dados, como rotação, espelhamento e zoom, podem ser aplicadas para aumentar a diversidade do conjunto de dados e melhorar a robustez do modelo de reconhecimento.

Reconhecimento dos pássaros

Após o pré-processamento, as imagens e áudios extraídos do vídeo serão analisados por classificadores previamente treinados. No caso das imagens, classificadores baseados em redes neurais convolucionais (CNNs) serão utilizados para identificar as espécies de pássaros presentes em cada frame. Para o áudio, técnicas de análise de sinais e aprendizado de máquina serão empregadas para reconhecer as vocalizações das aves, complementando a identificação visual. A combinação dessas duas abordagens permitirá uma identificação mais precisa e confiável das espécies presentes na cena.

Identificação de diferentes aves na cena

Uma abordagem para identificar várias aves em uma cena é a utilização de Bounding Boxes, que delimitam as regiões de interesse de cada ave na imagem. Algoritmos de detecção de objetos geralmente amostram um grande número de regiões na imagem de entrada, determinam se essas regiões contêm objetos de interesse e ajustam os limites das regiões para prever as caixas delimitadoras dos objetos de forma mais precisa. Diferentes modelos podem adotar diferentes esquemas de amostragem de região. Um desses métodos envolve a geração de múltiplas caixas delimitadoras com escalas e proporções variadas centradas em cada pixel, conhecidas como anchor boxes.

Validação do protótipo

A validação do protótipo será realizada através de testes em conjuntos de dados independentes, avaliando a precisão e a eficácia do reconhecimento de pássaros. Essa etapa é crucial para garantir que o protótipo seja capaz de generalizar bem para novos dados e situações não vistas durante o treinamento. Os resultados obtidos serão analisados e comparados com outras abordagens existentes, visando identificar possíveis melhorias e refinamentos no modelo proposto.

Conclusão

Este projeto representa uma abordagem inovadora para o reconhecimento de pássaros, utilizando técnicas avançadas de processamento de sinais, visão computacional e aprendizado de máquina. A combinação de dados visuais e sonoros permite uma identificação mais robusta e precisa das espécies, abordando desafios como o dimorfismo sexual e a similaridade de coloração. Através de um processo rigoroso de desenvolvimento e validação, pretende-se criar um protótipo eficiente e confiável, com potencial para aplicações em conservação ambiental, pesquisa científica e educação.

Plano e Cronograma

Etapa Maio Junho Julho Agosto Setembro Outubro
Dissertação TCC
Montar dataset
Tratamento dos dados
Extração de Características
Desenvolvimento dos Modelos (img)
Desenvolvimento dos Modelos (voc)
Treinamento dos Modelos (img)
Treinamento dos Modelos (voc)
Ajuste nos Modelos (img)
Ajuste nos Modelos (voc)
Extração de Áudio e Teste (voc)
Extração de Frames (img)
Integração do Protótipo (img)(voc)
Ajustes Finais

Referências

  1. Zhang, Aston; Lipton, Zachary C.; Li, Mu; Smola, Alexander J. Dive into Deep Learning. Edição 1.0. Capítulo 14.1.1, 2019. Disponível em: http://d2l.ai/chapter_computer-vision/image-augmentation.html. Acesso em: 15 maio. 2024.
  2. Zhang, Aston; Lipton, Zachary C.; Li, Mu; Smola, Alexander J. Dive into Deep Learning. Edição 1.0. Capítulo 5.6: Dropout, 2019. Disponível em: http://d2l.ai/chapter_multilayer-perceptrons/dropout.html. Acesso em: 15 maio. 2024.
  3. Zhang, Aston; Lipton, Zachary C.; Li, Mu; Smola, Alexander J. Dive into Deep Learning. Edição 1.0. Capítulo 14.3, 2019. Disponível em: http://d2l.ai/chapter_computer-vision/bounding-box.html. Acesso em: 15 maio. 2024.
  4. Zhang, Aston; Lipton, Zachary C.; Li, Mu; Smola, Alexander J. Dive into Deep Learning. Edição 1.0. Capítulo 14.8, 2019. Disponível em: http://d2l.ai/chapter_computer-vision/rcnn.html. Acesso em: 15 maio. 2024.
  5. Wiki Aves. Disponível em: https://www.wikiaves.com.br. Acesso em: 15 maio. 2024.
  6. Kaggle. Disponível em: https://www.kaggle.com/datasets. Acesso em: 15 maio. 2024.
  7. Xeno-Canto. Disponível em: https://xeno-canto.org. Acesso em: 15 maio. 2024.

Link para o arquivo LaTeX no Overleaf: https://pt.overleaf.com/project/66394e038e9cb2a86869c271