Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMPUS ARARANGUÁ
CURSO DE GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO
Araranguá
2021
Matheus de Oliveira Barcelos
Araranguá
2021
Ficha de identificação da obra elaborada pelo autor,
através do Programa de Geração Automática da Biblioteca Universitária da UFSC.
Barcelos, Matheus
Protótipo de Sistema de Visão Computacional para
Captura, Análise e Transmissão de Imagens aquáticas. /
Matheus Barcelos ; orientador, Dr. Roderval Marcelino,
2021.
57 p.
Inclui referências.
Este Trabalho de Conclusão de Curso foi julgado adequado para obtenção do Título de
“Bacharel em Engenharia de Computação” e aprovado em sua forma final pelo Curso de
Graduação em Engenharia de Computação.
Banca Examinadora:
Technology is present in people’s daily lives through techniques and knowledge acquired to
improve or facilitate work, problem solving or the execution of a specific task. Therefore,
the theme of this work is the creation of a Computer Vision System Prototype. Therefore,
the objective of the work was listed: to create a computer vision application to improve the
technique of image capture in trap cameras, in the natural environment, more specifically,
in the underwater habitat. To achieve the objective, we used a real-time object detection
network adapted to capture aquatic fauna, using a development kit to process and a
webcam to capture the images. As for the methodology, this article presents a qualitative
study in which applied research is delimited from the perspective of a case study, based
on exploratory and bibliographic aspects. In order to perform the bench tests, it was
necessary to simulate the environment where the fauna is found in a more precise way,
thus it was possible to validate the tests and prove that detection is feasible even in very
turbid environments and with several species.
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 ORGANIZAÇÃO DO TRABALHO . . . . . . . . . . . . . . . . . . . . . 16
1.4 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 BIOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 MONITORAMENTO DA FAUNA E FLORA . . . . . . . . . . . . . . . . 20
2.2 HABITAT AQUÁTICO . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 SISTEMAS EMBARCADOS . . . . . . . . . . . . . . . . . . . . . 24
3.1 MICROCONTROLADORES . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3 Raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 PERIFÉRICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1.1 Câmeras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1.1.1 Raspberry Pi Camera REV 1.3 . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Nvidia Jetson Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.3 Atuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 VISÃO COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . 32
4.1 YOLO - YOU ONLY LOOK ONCE . . . . . . . . . . . . . . . . . . . . 33
4.2 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 PYTHON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.1 Mahotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 BGSLIBRARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 APLICAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5.1 Agronegócio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5.2 Imagiologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5.2.1 Tomografia computorizada . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.5.3 Inspeção de automóvel . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 METODOLOGIA E DESENVOLVIMENTO . . . . . . . . . . . . . 42
5.1 ESCOLHA DO DATASET . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 ESCOLHA DO MODELO DA REDE E CÂMERA . . . . . . . . . . . . . 44
5.3 TREINO DAS ÉPOCAS . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3.1 Adquirir os pesos depois do treino . . . . . . . . . . . . . . . . . . . 45
5.4 TREINO COM IMAGENS . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5 SALVAMENTO DOS PESOS PARA USOS FUTUROS . . . . . . . . . . 46
5.6 TESTES E VALIDAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
14
1 INTRODUÇÃO
1.1 OBJETIVOS
Nas seções abaixo estão descritos o objetivo geral e os objetivos específicos deste
TCC.
1.2 METODOLOGIA
1.4 JUSTIFICATIVA
Devido a crescente demanda por água na sociedade e a contínua busca para manter
o equilíbrio entre o desenvolvimento e a preservação ambiental, o impacto gerado pelos
seres humanos causa desequilíbrio no meio ambiente. Essas mudanças sigilosas passam
despercebidas, porém, gerando significativos abalos na natureza. No Brasil, há poucos
anos, a gestão dos recursos hídricos não era tema prioritário em nenhuma das esferas
do planejamento e nem mesmo na esfera científica, situação que possivelmente originou
devido à grande abundância de água na maior parte do território nacional. No entanto,
vários exemplos de outras regiões do planeta já são conhecidos há muito tempo onde,
por causas naturais ou induzidas, áreas antes bem providas desse recurso tornaram-se
altamente restritivas às atividades humanas quando a falta de água se tornou um fator
limitante (RESENDE, 2002).
Para minimizar essas disfunção, é necessário uma busca minuciosa nos mesmos
para averiguar quão longo foi a perturbação gerado pelo homem. Para tal feito, existem
câmeras especiais que capturam as imagens da fauna, mas o maior desafio é o meio
aquático próximo aos reservatórios de água. Para descobrir até onde a influência da falta
de água chega, a câmera subaquática pode realizar a captura de imagens dos animais
locais, e assim fazer a análise se houver mudanças significativas no intrínseco meio em que
esses seres vivem. Um argumento que sustenta a criação deste protótipo é a utilização
de softwares livres, logo, se um entusiasta quiser repetir os experimentos, poderá recriá-
los, necessitando apenas do hardware, pois os programas são gratuitos, o que incentiva a
disseminação de informação.
Outra situação favorável a criação de câmeras é o acesso a tecnologia tem transitado
cada vez mais entre as pessoas, ou seja, a criação de meios que facilitem a observação
da natureza está cada vez mais acessível. Nos últimos anos, tem havido um crescimento
significativo no uso de software embutido em equipamentos eletrônicos do cotidiano. É
visível que esta tecnologia não está sendo utilizada apenas em dispositivos complexos e que
sua adoção agrega mais funções e benefícios para a indústria, os equipamentos e o usuário
Capítulo 1. Introdução 18
2 BIOLOGIA
(como depósitos no fundo de lagos e rios), vários tipos de poluentes orgânicos ou inorgânicos,
poluição, mudanças naturais e outros fatores. Em comparação com outros grupos (como
invertebrados), os peixes não são apenas mais fáceis de capturar e identificar, mas também
fornecem mais informações (FREITAS; SIQUEIRA-SOUZA, 2009).
Uma importante espécie analisada nesta área é o Prochilodus nigricans, comumente
referido como papa-terra, peixe que é um importante indicador biológico, é um ciclídeo
nativo, que utiliza diretamente recursos alimentares relacionados ao substrato, mas ainda
resistente à hipóxia, ou seja, falta de oxigênio na água (Carvalho_2015).
Outro fator essencial é o tamanho e a coloração dos vertebrados, pois, a câmera
que for captar, irá utilizar esses parâmetros como ponto de referência para os classificar e
identificar. Se um peixe for pouco chamativo, a turbidez da água poderá impossibilitar a
captura. E, o mesmo vale para o tamanho, se for muito pequeno, a câmera poderá captar
apenas um ponto, e não o registrar como um peixe, mas como um objeto qualquer na
água.
O local onde a câmera ficará também é de suma importância, pois como citado
anteriormente a turbidez da água é extremamente relevante. E, dependendo do nível
de nitidez a câmera poderá capturar imagens melhores. Os rios em sua grande maioria
tem como principal característica suas águas mais claras e límpidas naturalmente. E,
por essa razão o registro de espécies tende a ser menos complicados nesses locais, pois a
água translúcida reduz o efeito negativo na imagem. Em ambientes mais turbulentos e
agitados, como nas ondas quebradas do mar ou em águas muito turvas (como pântanos e
manguezais) a câmera terá dificuldade em identificar as espécies, pois a precipitação da
água fará com que que o software reconheça o peixe como parado ou como outras coisas,
não capturando a imagem.
Outro ser vivo muito importante afim de identificar a qualidade da água são as
algas que, são tão importantes bioindicadores quantos os peixes. Além de bem distribuídas
em escala global, as algas também são consideradas um indicador de mudanças ambientais
como organismos simples. Podem ser unicelulares ou multicelulares. Não têm raízes, caules
ou folhas reais. São todos autotróficos, eucarióticos e fotossintéticos. Como seus níveis de
Capítulo 2. Biologia 23
nutrientes são mais baixos que outros organismos aquáticos, são alterados diretamente
devido à poluição da água. As propriedades de monitoramento das algas são uma ferra-
menta positiva que pode ser usada para avaliar a presença de poluentes prejudiciais aos
organismos aquáticos (JULIANA HELOISA PINÊ AMÉRICO-PINHEIRO, 2017).
24
3 SISTEMAS EMBARCADOS
3.1 MICROCONTROLADORES
3.1.1 PIC
Figura 3 – PIC16F877A.
3.1.2 Arduino
Arduino é uma plataforma de hardware embarcada, que pode ser facilmente progra-
mada, excluída e reprogramada a qualquer momento. A plataforma Arduino foi lançada
em 2005 para fornecer aos entusiastas, estudantes e profissionais uma maneira barata
e conveniente de criar dispositivos que usam sensores e atuadores para interagir com o
ambiente. A plataforma usa uma camada de software simples (ou seja, bootloader) imple-
mentada na placa e uma interface amigável em um computador usando uma linguagem
1
Disponível em: https://www.microchip.com/wwwproducts/en/PIC16F877A
Capítulo 3. Sistemas Embarcados 26
de processamento baseada na linguagem C / C ++, que também é open source. Nesse am-
biente de desenvolvimento, podem ser utilizadas bibliotecas que permitem interfaces com
outros dispositivos de hardware, de forma que aplicativos simples ou complexos possam
ser totalmente desenvolvidos em qualquer área.
Existem várias versões do Arduino, mas todas são baseadas na tecnologia Atmel
AVR. É um microcontrolador RISC de chip único com uma arquitetura Harvard modificada
de 8 bits desenvolvida pela Atmel em 1996. A primeira placa é baseada no ATmega8,
que funciona a uma velocidade de clock de 16MHz e possui 8 KB de memória flash.
Placas posteriores, como Arduino NG plus e Diecimila, estão equipadas com ATmega168
e memória flash de 16 KB (MILSON ANTÓNIO, 2018).
As versões mais recentes do Arduino, Duemilanove e Uno, que pode ser observado
na figura 4, usam ATmega328 com 32KB de memória flash. Para projetos que requerem
mais memória, há o Arduino Mega1280 com 128 MB de memória e o Arduino Mega2560
com 256 KB de memória. Comparado com o Arduino padrão, o Mega oferece funções de
entrada e saída significativamente maiores, de modo que a medida que a memória aumente,
adequa-se para grandes projetos que controlam muitos LEDs. Têm um grande número
de entradas e saídas ou requer várias portas seriais de hardware . Existem 54 pinos de
entrada e saída digitais na placa de avaliação, 14 dos quais podem fornecer saída PWM
analógica e 16 pinos de entrada analógica (VAZZI, 2017).
3.1.3 Raspberry
Fonte: Autor(2020).
3.2 PERIFÉRICOS
3.2.1 Sensores
3.2.1.1 Câmeras
Fonte: Autor(2020).
A Nano Jetson é uma placa que segue a série de processadores Nvidia Jetson. A
placa de prototipagem é relativamente menor que as placas comuns, com um tamanho de
50x18mm. O processador do Jetson Nano é um Tegra K1 quad-core 2. O Nano Jetson
é compatível com Arduino, o GPIO é aberto. Portanto, pode ser usado como qualquer
interface que funcione em 5V e 3,3V. Jetson Nano pode ser alimentado por bateria ou
fonte de alimentação de comunicação.
A placa suporta entrada e saída, como computadores, placas de captura de áudio
e vídeo HDMI / VGA, teclados, mouses, fones de ouvido e outros dispositivos USB. A
maioria dos protótipos com Jetson requer um monitor para visualizar os dados capturados
e executar o programa em alta velocidade.
É possível montar protótipos para uso com o sistema operacional Linux, para os
quais, além do USB, também podem ser utilizadas interfaces seriais. Através do programa
instalado no arquivo boot.img, pode-se estabelecer uma conexão entre o protótipo e o
computador para controle remoto via SSH ou VNC. O Jetson Nano também possui um
arquivo de instalação MicroPython, que pode ser baixado do site oficial da empresa.
O Nano Jetson utilizado para visão computacional tem um padrão de 64 bits e pode
ser usado com outros dispositivos com arquivos executáveis Windows, Linux, Android ou
MacOS. Por exemplo, o cartão possui entrada e saída USB para o próprio computador,
e até arquivos executáveis. O Jetson Nano pode ser usado para o desenvolvimento de
videogames 3D em servidores, serviços da web e sites baseados em memória flash de 5MP.
Os programas Nano Jetson são compatíveis com Linux e Windows. O programador suporta
qualquer placa Nano Jetson e instruções escritas em C / C ++, Python 2.7 ou Python
3.6. A placa é compatível com IDE JetPack.
De acordo com a recomendação da Nvidia para o Jetson Nano, uma vez que todos
os dispositivos necessários estejam conectados, o firmware deve ser atualizado conforme
necessário. Não há software instalado no Jetson Nano para executar esta tarefa auto-
maticamente, porque nenhum outro software está instalado no dispositivo. A aplicação
Developer Kit contém os drivers necessários para conectar dispositivos ao Jetson Nano. A
construção da imagem dos sistemas operacionais incluídos em cada versão do Developer
Capítulo 3. Sistemas Embarcados 30
3.2.3 Atuadores
4 VISÃO COMPUTACIONAL
Em 2016, foi proposta uma estratégia para atingir a detecção de objetos em tempo
real, que se chama YOLO (You Only Look Once). Embora as estratégias anteriores usassem
redes neurais projetadas para classificação, em tarefas de detecção de objetos, YOLO
propõe um método que se concentra apenas na detecção.
O YOLO é um algoritmo de visão computacional que auxilia na utilização de redes
neurais aliado com a captação e reconhecimento de imagens em alta velocidade. Em menos
de um segundo, dez vezes mais rápido do que um piscar de olho humano, o sistema pode
detectar até 80 tipos diferentes de objetos em uma imagem ou quadro de vídeo.
Atualmente, com base no equilíbrio entre velocidade e determinação, é a tecnologia
mais recente em sistemas de reconhecimento de objetos em tempo real (KHAYDAROV
et al., 2020). YOLO usa uma rede neural profunda cuja arquitetura é chamada de dark
Capítulo 4. Visão Computacional 34
web. Esta arquitetura (camada convolucional, filtro, função de ativação) é descrita por
um arquivo de configuração chamado yolov3.cfg. Porém, além da arquitetura da rede
neural, os parâmetros de treinamento da rede (pesos e tendências - ou em inglês, weights
e trends) também são necessários (KUHNE, 2018). Um dos pontos fortes de usar esta
rede é devido a ser completamente open source e não necessita de uma licença, ou seja,
tudo na tecnologia (código-fonte, arquitetura de rede neural, pesos para execução da rede
e conjunto de dados para treinar a rede) é gratuito e, pode ser usado por qualquer pessoa
de qualquer maneira.
4.2 MATLAB
4.3 PYTHON
Python é uma linguagem poderosa e fácil de aprender. Ele tem estruturas de dados
de alto nível eficientes e métodos de programação orientada a objetos simples, mas eficazes.
A sintaxe elegante e a tipagem dinâmica do Python e sua interpretabilidade o tornam
uma linguagem ideal para programas e desenvolvimento rápido de aplicativos em vários
campos e na maioria das plataformas. O interpretador Python e a extensa biblioteca
padrão fornecem códigos binários ou formatos gratuitamente e podem ser distribuídos
gratuitamente. O site Python contém vários módulos gratuitos, versões de programas e
utilitários e outros documentos produzidos por terceiros.
A lista a seguir é um compilado básico das vantagens de utilizar a linguagem de
programação python:
• A licença de código aberto gratuita permite que você venda, use ou distribua apli-
cativos baseados em Python. conforme necessário - nenhuma licença adicional é
necessária.
• O fato de o Python ser executado em tantas plataformas significa que você não
precisa se preocupar em escrever aplicativos com portabilidade limitada, o que
também ajuda a evitar o bloqueio do fornecedor.
Capítulo 4. Visão Computacional 36
• Estender os recursos do Python com seu próprio código compilado significa que o
mesmo pode ser programado para realizar qualquer operação permitida tão rápido
quanto seu hardware permitir.
4.3.1 Mahotas
ser uma matriz contínua. Como esse é um recurso de desempenho (sua finalidade é evitar
a alocação de memória adicional), a flexibilidade da interface é natural (acessar arrays
contíguos é muito mais eficaz do que arrays descontínuos)(COELHO, 2012).
4.4 BGSLIBRARY
4.5 APLICAÇÕES
4.5.1 Agronegócio
4.5.2 Imagiologia
Fonte: Monografia.4
Capítulo 4. Visão Computacional 41
4
Disponível em: https://web.fe.up.pt/~tavares/downloads/publications/relatorios/MONOGR
AFIA_PRODEB_FO.pdf
42
5 METODOLOGIA E DESENVOLVIMENTO
Fonte: Autor(2021)
gratuita os bancos de imagens que outros estudiosos utilizam e criam, desta forma, a tarefa
principal não é mais coletar as imagens de treino, mas o próprio treino.
No próprio site do Roboflow, é possível adquirir um link com o datasheets das
imagens, este possibilita baixar todos os dados automaticamente. Foi escolhido para esse
projeto as fotos de um aquário, figura 17 pois com a rede treinada em captar várias espécies
de peixe, a especialização ficará menos dispendiosa de implementar posteriormente.
3
Disponível em: https://public.roboflow.com/object-detection/fish/1
Capítulo 5. Metodologia e Desenvolvimento 44
Fonte: Autor(2021)
Para fazer a rede de visão computacional era necessário uma câmera capaz de se
conectar com a placa de prototipagem e também ser reconhecida pela linguagem, por
esse motivo, foi escolhida a câmera da Logitech C170 para ser utilizado com o Yolov5. Na
versão mais recente do mercado, nos Github do Yolov5, existe um link para um computador
digital da google, o nome desta plataforma é Google Colab e pode ser analisada na figura
18, nela é possível executar códigos em diversas linguagens, com o benefício de ter o poder
de processamento dos computadores da empresa, podendo então operar por até 12 horas
ininterruptas com uma máquina virtual exclusiva.
Após conectar-se à máquina virtual, é necessário baixar todos os arquivos de pré-
requisitos do yolov5, que são disponibilizados no github da empresa, e iniciar o treinamento
da rede. Yolov5 é subdividido em vários modelos de identificação de imagem, variando de
modelos pequenos a extragrandes. Esses modelos se distinguem pelo tempo de leitura e
precisão, onde o menor modelo detecta objetos em frações de segundos, mas tem menor
4
Disponível em: https://colab.research.google.com/
Capítulo 5. Metodologia e Desenvolvimento 45
precisão, e o extragrande pode identificar objetos com altíssima precisão, mas leva até
cinco segundos para identificar cada imagem devido ao tempo de análise de cada um deles.
A tabela 1 mostra a comparação entre os modelos e tamanhos de rede da yolov5.
Para o escopo do projeto, o reconhecimento precisa ser mais rápido quanto possível,
logo a precisão pode ser mais baixa, pois é interessante reconhecer todos os animais,
mesmo aqueles que não são procurados. Usar uma pequena rede é o ideal, pois a maioria
dos animais podem ser catalogados. Assim como na biologia, identificar todos os animais
do habitat é uma tarefa muito complicada, pois além do animal em análise, suas presas
e predadores também são indicadores biológicos de sua existência por essas razões, o
protótipo usa uma pequena rede.
a quantidade de épocas tornou-se uma tarefa fácil, pois ao ter os valores ótimos para a
identificação, também é encontrado a quantidade de épocas necessária para o trabalho.
Depois de ter os pesos ótimos para os testes, imagens arbitrárias foram escolhidas
para fazer os testes, essas imagens foram pegas na internet e tinham o papel de treino de
repetição, para saber se a calibragem do programa está alinhada com o que ele precisava
identificar.
Depois de adquirir os pesos da rede, que são os responsáveis por destacar em uma
imagem o que é procurado, é preciso testar com imagens diferentes, porque somente dessa
maneira é factível a validade dos dados e da rede. Os testes e resultados serão abordados
posteriormente no próximo capítulo.
Todos os testes tiveram que ser feitos em bancada. Pois devido ao período vigente
em nosso país de pandemia de COVID-19, ficou dificultoso realizar os experimentos em
campo sem o risco de contágio, por esses motivos de força maior, todos os testes de campo
foram cancelados. Além disso, devido ao já citado estado do país, a locomoção para as
áreas de coleta, juntamente com a permissão das empresas responsáveis pelos locais de
estudo foram reivindicadas para não haver risco de perpetuar o contágio.
Para a realização dos experimentos deste trabalho, foram escolhidas imagens da
fauna marinha, retiradas aleatoriamente da internet, figura 20, a fim de manter a maior
confiabilidade possível do resultado, para isso, entre as imagens também havia falsos
positivos, e imagens totalmente fora do escopo.
Como teste inicial, as imagens foram utilizadas na própria tela do computador,
com maior resolução e qualidade, utilizando a webcam para fazer a captura das imagens,
para ter certeza que o programa treinado está reconhecendo as espécies escolhidas. Como
pode-se notar na figura 19, a precisão da captura está dentro do esperado tendo em vista
a quantidade de épocas treinadas.
Posteriormente com as imagens escolhidas, estas foram impressas e laminadas, para
que pudessem ser submersas e os testes feitos. Para esta etapa, as imagens foram colocadas
em uma bacia com água. Com eles prontos, o programa então inicia com a webcam apontada
para a imagem submersa. A câmera utilizada para os teste foi um Logitech C170, com 5
megapixels de resolução, está sendo uma câmera de nível intermediário e serve também
para salvar as imagens.
Capítulo 5. Metodologia e Desenvolvimento 47
Fonte: Autor(2021)
Fonte: Autor(2021)
O programa tem uma variável impressa na tela, um valor entre 0.25 e 1, que é
definido na programação, como na figura 21. Este valor é o percentual correspondente
que a rede identifica que um objeto treinado por ela se assemelha. Quanto mais próximo
do 1, mais certeza a rede identifica que a captura faz parte do seu treino, e o mínimo de
identificação é 0.25, esse valor, é escolhido arbitrariamente, e representa o valor mínimo
necessário de paridade que a rede precisa ter para ela identificar. Valores menores não
são erros, apenas que o programa identificou 25% do que ela treinou na imagem e servem
para calibrar a quantidade de épocas.
Capítulo 5. Metodologia e Desenvolvimento 48
Fonte: Autor(2021)
Após este teste, uma nova etapa é necessária onde a água torna-se turva com o
corante alimentar. Esse teste é para verificar se o programa consegue identificar os peixes
com a água mais turva, pois onde a câmera grava as imagens, a água dificilmente ficará
cristalina, a figura 22 tenta simular uma água mais turva e distorcida para os testes.
Fonte: Autor(2021)
Como resultado dos testes, foi possível gerar um gráfico com as espécies detectadas,
as espécies que tiveram fotos plastificadas foram Lutjanidae, Acanthuridae, Carangidae e
Selachimorpha. como pode ser observado nas figura 23 e 24, onde o primeiro representa
a média de detecção de 10 captações em água limpa, e outro em água turva. Em água
limpa, a câmera teve mais precisão, como era o esperado, pois ela tinha como analisar de
forma mais detalhada cada imagem.
Após os testes, notou que os resultados obtidos foram dentro do esperado, o pro-
grama utilizado para realizar os testes gera um arquivo .mp4 com os resultados da coleta,
analisando-o é possível notar que a precisão estava entre 75% e 90%, como na figura 25.
Valendo ressaltar que as imagens testadas tiveram a perda de qualidade devido ao processo
de plastificar, pois como citado anteriormente, as imagens foram submersas, e a própria
distorção da água foi um fator na hora do programa identificar as imagens.
Capítulo 5. Metodologia e Desenvolvimento 49
Fonte: Autor(2021)
Fonte: Autor(2021)
Fonte: Autor(2021)
Capítulo 5. Metodologia e Desenvolvimento 50
Fonte: Autor(2021)
Fonte: Autor(2021)
habitat dos peixes na natureza, logo o teste com essa cor traz maior precisão, notou-se que
quando ele foi adicionado, o valor de precisão continuou inalterado em relação às imagens
em regime cristalino, reafirmando que o programa conseguiu identificar os peixes mesmo
em regime semelhante ao encontrado na natureza.
Uma característica interessante a ser levada em consideração ao analisar os resul-
tados foi em relação ao banco de dados. A proposta final do projeto é identificar uma
única espécie de peixe, mas como o teste presente foi utilizado um banco dados com várias
espécies, a capacidade de identificar um peixe de uma espécie errônea ainda era de valia
para o projeto, pois durante aplicações reais de câmeras trap, é de vital importância captar
os animais que não fazem parte do objeto de estudo, porque no habitat pode haver presas
que o animal estudado se alimenta, logo essa falha no projeto aponta um ponto mais
positivo que negativo para a calibração da rede final, podendo ser colocada mais uma
variável para apontar a presença do objeto de estudo.
52
6 CONCLUSÕES
Com a conclusão dos experimentos, e com a análise promissora dos dados, percebeu-
se que esse trabalho poderá ser aplicado em câmeras subaquáticas para a captura de
imagens de animais invasores ou acompanhamento de espécies reintroduzidas. Ao utilizar
esse programa com câmeras novas no mercado é viável a análise e monitoramento em leitos
de rio, lagos e lagoas, contando que o ambiente a ser monitorado tenha um percentual de
turbidez capaz de capturar imagens dos animais.
Com os testes foi possível identificar que a acurácia do programa é capaz de captar,
identificar e diferenciar espécies. Com esses dados é possível aplicar em câmeras trap
subaquáticas que podem catalogar, não somente espécies locais, como as invasoras. Com
isso, é possível reagir a descontroles biológicos e tentar combatê los de forma mais rápida
e precisa.
Além de fauna subaquática, com esse programa é possível generalizar seu banco
de dados para flora, pois é de vital importância essa identificação, pois é comprovado que
animais predadores também precisam se alimentar de plantas específicas de tempos em
tempo, logo monitorá-las também agregaria muito a pesquisa de campo.
No ramo da biologia o mais complexo na análise de animais na natureza é justamente
a capacidade de identificá-lo, com essa rede treinada de visão computacional, é factível
captar os animais com uma precisão superior ao olho humano. Logo, aplicações com drones
seriam muito válidas para identificação de longa áreas em tempo real, durante voos de
reconhecimento.
As principais dificuldades encontradas no projeto foram a limitação de hardware,
pois o ramo da visão computacional depende muito do processamento, o que acaba exigindo
máquinas mais potentes ou alternativas não tão excelentes. Esse efeito acaba criando uma
dependência muito grande ao google colab, pois se o processamento com o site for encerrado
pode acarretar em perdas e atrasos.
Outro problema é não poder testar com animais reais em ambientes controlados,
fotos laminadas são substitutos, porém com os animais que a câmera precisa identificar,
seria muito mais preciso encontrar a quantidade necessária de épocas para poder calibrar
o programa de forma mais eficiente, o que despender menos tempo para o programar e
poder ter um programa mais preciso.
53
REFERÊNCIAS
COELHO, Luıs Pedro. Mahotas: Open source software for scriptable computer vision.
CoRR, abs/1211.4907, 2012. arXiv: 1211.4907. Disponível em:
http://arxiv.org/abs/1211.4907.
CORKE, P. MATLAB toolboxes: robotics and vision for students and teachers. IEEE
Robotics Automation Magazine, v. 14, n. 4, p. 16–17, 2007. DOI:
10.1109/M-RA.2007.912004.
MARIA TEREZA PEPE RAZZOLINI, Wanda Maria Risso Günther. Impactos na saúde
das deficiências de acesso a água. pt. Saúde e Sociedade, scielo, v. 17, mar. 2008. ISSN
0104-1290. Disponível em:
http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-
12902008000100003&nrm=iso.
MAYR, Ernest. Biologia, ciência única. [S.l.]: Companhia das Letras, 2005. 1ª Edição.
NEVES, Luiz Antônio Pereira; VIEIRA NETO, Hugo; GONZAGA, Adilson (Ed.).
Avanços em Visão Computacional. 1. ed. Curitiba, PR: Omnipax, 2012. 406 p.
ISBN 978-85-64619-09-8. DOI: 10.7436/2012.avc.0.
ROSS, Lou; RUSS, John C. The image processing handbook. Microscopy and
Microanalysis, Cambridge University Press, v. 17, n. 5, p. 843, 2011.