Você está na página 1de 56

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CAMPUS ARARANGUÁ
CURSO DE GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO

Matheus de Oliveira Barcelos

Protótipo de Sistema de Visão Computacional para captura, análise e


Transmissão de Imagens aquáticas.

Araranguá
2021
Matheus de Oliveira Barcelos

Protótipo de Sistema de Visão Computacional para captura, análise e


Transmissão de Imagens aquáticas.

Trabalho de Conclusão de Curso do Curso de Gra-


duação em Engenharia de Computação do Campus
Araranguá da Universidade Federal de Santa Cata-
rina para a obtenção do título de Bacharel em Enge-
nharia de Computação.
Orientador: Prof. Roderval Marcelino, Dr.

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.

Trabalho de Conclusão de Curso (graduação) -


Universidade Federal de Santa Catarina, Campus Araranguá,
Graduação em Engenharia de Computação, Araranguá, 2021.

Inclui referências.

1. Engenharia de Computação. 2. Câmera Trap . 3. Fauna


Subaquática . 4. Visão Computacional . 5. Detecção de
Imagem 4.. I. Marcelino, Dr. Roderval . II. Universidade
Federal de Santa Catarina. Graduação em Engenharia de
Computação. III. Título.
Matheus de Oliveira Barcelos

Protótipo de Sistema de Visão Computacional para captura, análise e


Transmissão de Imagens aquáticas.

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.

Araranguá, 22 de setembro de 2021.

Prof. Fabrício de Oliveira Ourique, Dr.


Coordenador do Curso

Banca Examinadora:

Prof. Roderval Marcelino, Dr.


Orientador

Prof. Ricardo Alexandre Reinaldo De


Moraes, Dr.
Avaliador
Universidade Federal de Santa Catarina

Prof. Antonio Carlos Sobieranski, Dr.


Avaliador
Universidade Federal de Santa Catarina
Este trabalho é dedicado aos meus colegas de classe e aos
meus queridos pais.
AGRADECIMENTOS

O desenvolvimento desse trabalho de conclusão de curso contou com a ajuda de


inúmeras pessoas, dentre as quais agradeço:
Aos meus pais, grandes incentivadores durante todos esses anos de estudos,
auxiliando-me e me motivando nessa caminhada;
Ao meu professor orientador que, durante meses, me acompanhou pontualmente,
dando-me o auxílio e a motivação necessários à elaboração desse projeto;
Aos professores por me proporcionaram os conhecimentos necessários para a con-
cretização desse curso de graduação; Aos meus colegas e amigos, pela compreensão das
ausências e afastamentos temporários;
E, a todos aqueles que de alguma forma contribuíram e colaboraram para a finali-
zação deste.
A vocês, meu muitíssimo obrigado!!!
“Honrado é aquele que vagueia pela sombra da morte e continua digno de alcançar o Elísio.”
(Theus, 2020)
RESUMO

A tecnologia está presente no cotidiano das pessoas através de técnicas e de conhecimentos


adquiridos para aperfeiçoar ou facilitar trabalhos, resolução de problemas ou a execução
de uma tarefa específica. Portanto, o tema deste trabalho é a criação de um Protótipo
de Sistema de Visão Computacional. Para tanto, elencou-se como objetivo do trabalho:
criar uma aplicação de visão computacional para aperfeiçoar a técnica de captura de
imagem em câmeras trap, no meio natural, mais especificamente, no habitat subaquático.
Para alcançar o objetivo, utilizou-se de uma rede de detecção de objetos em tempo real
adaptada para captura de fauna aquática, utilizando kit de desenvolvimento para fazer o
processamento e uma webcam para fazer a captura das imagens. Quanto à metodologia,
este artigo apresenta um estudo qualitativo no qual delimita-se a pesquisa aplicada sob
a ótica de um estudo de caso, com base nos aspectos exploratório e bibliográfico. Para
fazer os testes de bancada, foi necessário simular da forma mais precisa o ambiente onde
a fauna se encontra, desse modo foi possível validar os testes e comprovar que a detecção
é viável mesmo em meios muito turvos e com várias espécies.

Palavras-chave: 1. Câmera Trap. 2. Fauna Subaquática. 3. Visão Computacional. 4.


Detecção de Imagem.
ABSTRACT

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.

Keywords: 1. Camera Trap. 2. Underwater fauna. 3. Computer Vision. 4. Image Detec-


tion.
LISTA DE FIGURAS

Figura 1 – Javali, espécie invasora. . . . . . . . . . . . . . . . . . . . . . . . . . . 21


Figura 2 – Jundiás, exemplo de peixe bioindicador. . . . . . . . . . . . . . . . . . 22
Figura 3 – PIC16F877A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figura 4 – Arduino Uno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 5 – Raspberry PI 2017. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 6 – Exemplos de Periféricos. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 7 – Raspberry Pi Camera REV 1.3. . . . . . . . . . . . . . . . . . . . . . . 29
Figura 8 – Exemplo de visão computacional para identificar frutas na árvore. . . . 38
Figura 9 – VANT utilizado em plantações. . . . . . . . . . . . . . . . . . . . . . . 39
Figura 10 – Software que detecta órgão. . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 11 – Esquema simplificado da projeção dos raios X. . . . . . . . . . . . . . . 40
Figura 12 – Software de identificação de Peças de Carro. . . . . . . . . . . . . . . . 41
Figura 13 – Fluxograma da Metodologia. . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 14 – Placa de desenvolvimento Nano jetson. . . . . . . . . . . . . . . . . . . 43
Figura 15 – Exemplo de imagem de treino. . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 16 – Bloco de texto com as coordenadas. . . . . . . . . . . . . . . . . . . . . 44
Figura 17 – layout do Roboflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 18 – layout do Colab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 19 – Testes da captura da tela do Computador. . . . . . . . . . . . . . . . . 47
Figura 20 – Imagens de testes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figura 21 – Testes com água limpa. . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figura 22 – Testes com água turva. . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figura 23 – Gráfico de detecção água Limpa. . . . . . . . . . . . . . . . . . . . . . 49
Figura 24 – Gráfico de detecção água Turva. . . . . . . . . . . . . . . . . . . . . . . 49
Figura 25 – Leitura com água Turva. . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 26 – Parte do código utilizado no Google colab. . . . . . . . . . . . . . . . . 50
Figura 27 – Continuação do Código. . . . . . . . . . . . . . . . . . . . . . . . . . . 50
LISTA DE TABELAS

Tabela 1 – Tabela de comparação entre os modelos do Yolov5. . . . . . . . . . . . 45


SUMÁRIO

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

A tecnologia vem transformando cada vez mais a vida da população. Os aparelhos


tecnológicos do cotidiano considerados meros delírios das mentes brilhantes hoje nos
auxiliam em tarefas cotidianas. Antigamente, o simples ato de lavar a roupa era uma
tarefa árdua e cansativa. Graças ao advento da tecnologia é possível realizar cada vez
mais atividades, tidas como braçais, com conforto e comodidade. A evolução dos meios
habitacionais traz cada vez mais soluções inovadoras, que em primeiro foco podem ser
tratadas como complexas, mas com o passar do tempo, adequam-se ao estilo de vida,
assim trazendo simplificação das tarefas diárias.
Tendo isso em mente, um dos principais problemas da nova era certamente é
conectar o estilo de vida das pessoas com a proteção ambiental, visto que o formato
atual tende a consumir mais recursos do que renová-lo, assim sobrecarregando toda uma
intrínseca e frágil cadeia. Portanto, preservar não se tornou um capricho, mas uma urgência.
Frente às dificuldades que enfrenta um país em desenvolvimento, é inegável que
estas questões de regulamentação e legislação ambiental enfrentam grandes dificuldades
para se consolidarem, ao nível de uma gestão ambiental que garanta a sustentabilidade e
o bem-estar da sociedade (CARMINO HAYASHI, 2015).
Uma das necessidades mais básicas dos seres vivos é a hidratação. A água é respon-
sável pelo funcionamento do metabolismo celular animal e vegetal, mantendo a homeostase
do corpo. Além disso, também é fundamental em processos referentes ao ecossistema, como
por exemplo, a lixiviação, pluviosidade, regulação do clima e temperatura, entre outros.
A relação entre a água e a saúde humana não mudou. A água é essencial, não só para a
vida, mas sobretudo para uma boa saúde e bem-estar. Cerca de mais de 60% do corpo
humano é água e, tê-la prontamente em quantidade e qualidade suficientes é fundamental
para a saúde. A água que as pessoas consomem deve ser limpa e isenta de contaminação
química e microbiana. Os efeitos negativos à saúde que podem resultar do consumo de
água contaminada variam de efeitos agudos à saúde, como doença gastrointestinal aguda, a
efeitos de longo prazo, como câncer e atrasos físicos e neurológicos em crianças(VAMMEN
et al., 2019).
Devido a sua ampla importância é preciso descobrir novos meios de preservar este
recurso e, aliado ao desenvolvimento sustentável, levá-lo a todos que necessitam. Porém,
com o crescente aumento populacional, a água tem se tornado um recurso cada vez mais
escasso, sendo consumida em excesso e liberada na natureza com poluentes que prejudicam
e desequilibram os ecossistemas, promovendo consequências que reverberam dos biomas de
diversos habitats até as cidades. Este modelo de urbanização se caracterizou pela aparente
desordem dos espaços urbanos, mas ordenada segundo a lógica da reprodução do capital e
pela ocupação irregular do território, que invadiu áreas vulneráveis e de proteção ambiental,
culminando em assentamentos humanos irregulares e, contribuindo para a degradação da
Capítulo 1. Introdução 15

qualidade do meio ambiente (MARIA TEREZA PEPE RAZZOLINI, 2008).


Com essa crescente demanda de água, é necessário saber o impacto gerado nos
ecos- sistemas aquáticos dulcícolas, tanto lênticos quanto lóticos, pois, a fauna e flora dos
reservatórios de água é afetada drasticamente por essas mudanças. Para fazer uma análise
técnica sobre esse impacto é necessário fazer um monitoramento dessas áreas com ajuda de
equipamentos especializados, os quais são chamados Câmeras Trap ou Câmeras armadilha,
que são equipamentos que capturam as imagens dos seres que ali residem. Entre esses
animais, existem os bioindicadores, isto é, exemplares cuja própria existência indica se um
ambiente está saudável. Essas câmeras conseguem esse feito pois se camuflam ao ambiente
para que a fauna não se sinta ameaçada pelo mesmo. Existem diversos modelos, para
diversos biomas, porém os modelos aquáticos são muito rudimentares e de alto custo, pois
a imagem subaquática é imprecisa e o isolamento do equipamento é fundamental, pois se
entrar em contato direto com a água ele certamente queimará. Outro fator é que em sua
plenitude funcionam com cartão de memória, ou seja, precisam ser deixados no local, e
posteriormente removidos para a coleta de dados, o que gera estresse aos habitantes de
onde o equipamento está.
A visão computacional é a ciência, que estuda como as máquinas podem interagir
com o meio onde estão inseridas através da visão. Ela é um estudo muito recente, porém
tem crescido continuamente com o passar dos anos devido a sua alta capacidade de
adaptar-se às necessidades das pessoas. Uma câmera com essa capacidade, pode identificar
em tempo real, qualquer elemento previamente estipulado em uma imagem, por exemplo,
um rosto, um objeto, um animal. Devido ao alto processamento que esses componentes
possuem, eles conseguem identificar mais rápido que os olhos humanos. Por esses motivos,
para aprimorar a qualidade das câmeras Trap é necessário que elas possam identificar
os animais a serem capturados nas imagens, para isso, a visão computacional aplicada
ao projeto tem como principal eixo, catalogar os animais nas imagens obtidas nos meios
aquáticos.
A visão computacional visa integrar as áreas de processamento digital de imagens
e inteligência artificial de forma a obter algoritmos capazes de interpretar o conteúdo
visual das imagens. Suas aplicações estão presentes em diversos segmentos tecnológicos
que incluem análise de imagens, reconhecimento de padrões e controle inteligente, abran-
gendo diversos campos do conhecimento como agronomia, astronomia, biologia, biometria,
medicina e muitos outros. É, portanto, um campo multidisciplinar com muitas aplicações
práticas (NEVES; VIEIRA NETO; GONZAGA, 2012).
Tendo como base o que foi exposto nesta introdução, neste trabalho é proposto
um protótipo de uma Câmera Trap de baixo custo que atenda as necessidades básicas
de utilização na modalidade aquática, aliada com novos métodos de coleta de dados a
distância de forma a amenizar o impacto do ambiente ante a recuperação dos dados e
conseguir classificar as espécies que residem próximo ao local dos reservatórios.
Capítulo 1. Introdução 16

1.1 OBJETIVOS

Nas seções abaixo estão descritos o objetivo geral e os objetivos específicos deste
TCC.

1.1.1 Objetivo Geral

Desenvolver e validar um protótipo de identificação e análise para Câmeras Traps


subaquática, que atenda aos apelos ambientais, aliado às necessidades do projeto, utili-
zando um sistema embarcado para suprir a carência de software através de um algoritmo
de processamento de imagem. E, dessa forma conseguir registar as atividades da fauna
nos reservatórios de água da região de Araranguá.

1.1.2 Objetivos Específicos

Esse trabalho possui como objetivos específicos:

• Desenvolver um protótipo de captura para Câmera Trap;

• Implementar um protótipo de análise de imagens;

• Testar o modelo proposto e analisar os resultados obtidos.

1.2 METODOLOGIA

A metodologia empregada para o desenvolvimento do trabalho será dividida em qua-


tro etapas. A primeira etapa consiste na pesquisa bibliográfica sobre a tecnologia aplicada
neste trabalho, com foco no sistema embarcado escolhido e os programas que serão utiliza-
dos para a criação do protótipo, como também, sobre os conceitos biológicos necessários
para classificar se o meio é saudável realizando a identificação dos bioindicadores.
Na segunda etapa será construída o sistema da câmera, contando com o raspberry,
que é o sistema embarcado escolhido. Esse protótipo será utilizado para a realização de
testes futuros.
Na terceira etapa, um algoritmo que processará as imagens e catalogará a fauna
obtida nelas.
Na quarta e última etapa, o protótipo será testado com os seguintes critérios a
serem avaliados: a capacidade de capturar imagens dos animais, nitidez da captura, análise
da imagem pelo algoritmo.

1.3 ORGANIZAÇÃO DO TRABALHO

Este trabalho está dividido em seis capítulos. O Capítulo 1 apresenta a introdução


e a problemática do trabalho, objetivos gerais e objetivos específicos.
Capítulo 1. Introdução 17

O Capítulo 2 traz um breve resumo sobre o apelo biológico do projeto juntamente


com a importância das imagens subaquáticas e a identificação de um bioindicador. O
Capítulo 3 trata dos sistemas embarcados, elencando o selecionado no projeto, um breve
relato dos modelos que existem no mercado e os motivos da escolha do sistema adotado.
O Capítulo 4 sintetiza a visão computacional, expondo os métodos mais utilizados
no mercado e a escolha do que será empregado neste trabalho.
O Capítulo 5 expõe a metodologia de todo o trabalho, com detalhes enfáticos
como foi possível realizar os experimentos visto neste documento.
O Capítulo 6 contém as considerações finais, onde nela estarão os resultados
obtidos nos testes práticos.

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

final. Portanto, os sistemas embarcados geralmente fazem parte de um sistema maior, a


fim de realizar algumas tarefas pré-programadas (LUIZ ARTHUR MALTA PEREIRA,
2014).
19

2 BIOLOGIA

A biologia sempre esteve presente na humanidade. Quando os primeiros estudiosos


olhavam para os pássaros voando e se perguntavam sobre esse fenômeno, esses cientistas
estavam dando os primeiros passos nos estudos que hoje chama-se de biologia. Por muitos
anos, essa ciência era tida apenas como uma ramificação da física focada nos animais,
porém, com o passar do tempo, notou-se que ela era um ramo diferente a ser abordado,
pois suas descobertas abalaram toda sua base previamente existente. De fato, novas
descobertas na Física tão pouco influenciavam a biologia e de maneira recíproca, o estudo
da vida pouco mudava as leis estabelecidas na companheira. Outro critério a ser levado
em consideração para o surgimento da biologia moderna, foram as teorias de um estudioso
chamado Charles Darwin (MAYR, 2005).
Bioindicadores são organismos vivos que podem indicar se o ecossistema é saudável.
Esses seres só habitam regiões não poluídas, ou com pouco impacto ambiental. Logo, a
simples presença deles no ambiente indica que o local está livre de impurezas. Para o estudo,
esses indivíduos são fundamentais, pois se constatada sua existência, comprovaria que a
região analisada, no caso, o rio que abastece a cidade de Araranguá, não está sendo afetados
pelo impacto humano e comprovaria também a qualidade da água. Tradicionalmente, a
avaliação da qualidade da água é realizada por meio do diagnóstico de parâmetros físico-
químicos, porém muitos autores concordam que a avaliação biológica deva ser incluída
nos programas de monitoramento da qualidade da água (SCHILLER et al., 2017).
Sobre os bioindicadores e sua relação com o ambiente podemos dizer que:

Os bioindicadores são organismos ou comunidades cujas funções vitais se corre-


lacionam tão estreitamente com determinados fatores ambientais, que podem
ser empregados como indicadores na avaliação de uma dada área. Respondem às
alterações ambientais, modificando suas funções vitais, ou sua composição quí-
mica e, com isso, fornecem informações sobre a situação ambiental. (KAPUSTA,
2008, p.23).

Como afirmado anteriormente, a qualidade da água é um forte ponto para o estudo,


pois a região de Araranguá tem grandes plantações de arroz, o que impacta fortemente o rio.
Através deste estudo, essa análise paralela acabará sendo feita. Os principais contaminantes
de origem agrícola são resíduos de fertilizantes e pesticidas. Esses produtos, quando
aplicados nas lavouras, podem atingir os corpos d’água diretamente, por meio da água
da chuva e da irrigação, ou indiretamente, por percolação no solo, atingindo o lençol
freático. Outras formas de contaminação indireta podem ocorrer por meio da volatilização
de compostos aplicados nas lavouras e da formação de poeira do solo contaminado ou
da pulverização de agrotóxicos, que podem ser transportados pelas correntes de ar e
depositados no solo e na água, longe das áreas onde se encontram originalmente (ARIAS
et al., 2007).
Capítulo 2. Biologia 20

Portanto, o monitoramento da fauna aquática neste contexto permite não só com-


provar a qualidade da água e o baixo impacto ambiental causado na região através do
reconhecimento de bioindicadores, como também permite uma rápida leitura da condição
física das espécies, o que também pode comprovar a qualidade da água uma vez que,
mesmo espécies resistentes a poluentes, podem apresentar problemas de saúde se muito
expostas a eles. Além deste fato também é importante destacar a possibilidade de mapea-
mento da fauna aquática da região de maneira geral, o que pode gerar futuras pesquisas e
estudos, já que se trata de um bioma de difícil acesso e visualização. As imagens portanto,
teriam como objetivo preencher essa lacuna.
As mudanças morfológicas dos rios, além de afetar o regime de vazões, reduzem o
corredor do rio e degradam a zona ribeirinha com consequentes perdas na biodiversidade
e na integridade ecológica desses ambientes. A compreensão do habitat é interessante,
pois permite compreender os fatores que condicionam a biodiversidade fluvial e esta
compreensão representa uma melhoria do conhecimento sobre os atributos da paisagem à
escala regional e local, contribuindo para explicar a distribuição e diversidade biológica
dos rios, entre diferentes regiões ecoclimáticas (GUILHERME MALAFAIA E PAULO
CASTRO, 2010).

2.1 MONITORAMENTO DA FAUNA E FLORA

O monitoramento da natureza é de fundamental importância para a vida humana,


pois mudanças sutis no equilíbrio natural podem provocar efeitos devastadores tanto para
o bem-estar populacional quanto para a economia. Um exemplo seria a proliferação de
uma espécie invasora que provavelmente iria acabar com os alimentos no local em que
estivesse inserida, e assim afastando os animais que previamente vivem no local, gerando
todo um efeito cascata culminando com o fim da vida selvagem no local.
A disseminação desequilibrada de certas plantas aquáticas no reservatório da hi-
drelétrica causa sérios danos ambientais e econômicos à sociedade, incluindo competição e
substituição de espécies nativas, produção de energia, navegação, pesca, esportes náuticos,
proliferação de insetos e doenças (ROCHA; MARTINS, 2011).
Além de afetar a fauna e flora, uma espécie invasora pode acabar alterando drasti-
camente a região, chegando a níveis críticos de alteração de fluxo ou os caminhos que o rio
faz pela região. A figura 1 exemplifica o Sus scrofa (javali), espécie invasora do Rio Grande
do Sul, que causou grande comoção na região e começou a causar grandes prejuízos desde
do ano de 1995. As fontes de pressão dos ecossistemas fluviais têm natureza e intensidade
diferentes e desempenham um papel importante na destruição e degradação de habitats.
Além de afetar o fluxo das águas, as mudanças morfológicas dos cursos de água também
reduzem os corredores dos rios e destroem as zonas ribeirinhas, resultando na perda da
biodiversidade e da integridade ecológica desses ambientes (RODRIGUES; MALAFAIA;
CASTRO, 2010).
Capítulo 2. Biologia 21

Figura 1 – Javali, espécie invasora.

Fonte: site Revista News1 .

Um problema enfrentado no Brasil é a falta de informação tanto quanto os animais


que invadem os habitats aquáticos brasileiros e não são monitorados. Esse ramo de pesquisa
recebe mais informações estrangeiras, o que aumenta em muito o tempo de respostas
ao combate dessas espécies. Embora atualmente haja esforços para reunir informações
sobre a questão das invasões biológicas em águas brasileiras, a maioria das publicações
correspondem a situações na América do Norte e na Europa. Em contraste, a literatura
na África, no Oceano Índico, no Sudoeste do Pacífico e na América Latina ainda é escassa.
No Brasil, os organismos invasores já são introduzidos há muito tempo, causando sérios
problemas às águas nacionais (SOUZA; CALAZANS; SILVA, 2009).

2.2 HABITAT AQUÁTICO

O meio aquático é um campo complexo de pesquisa, pois além das preocupações


relacionadas ao manuseio de equipamentos, é preciso ter um cuidado especial com os seres
aquáticos. Estes são muito sensíveis porque vivem em um mundo completamente diferente
do nosso, e seus corpos rejeitam nosso habitat terrestre, por isso é necessário adaptar o
equipamento para que não prejudique ou interfira no meio em que vive.
Os peixes são o foco da pesquisa deste trabalho, pois são os primeiros bioindicadores
que podem ser vistos em ambientes aquáticos e portanto, são de fundamental importância
na determinação da qualidade das águas em que vivem. O uso de bioindicadores pode ser
uma ferramenta importante para o monitoramento ambiental e, no caso dos ecossistemas
aquáticos, o uso de espécies de peixes é bastante eficiente porque são comuns e fáceis de
amostrar, e também podem variar seus habitats ao longo de seu ciclo de vida.
Na figura 2, podemos ver as jundiás, um exemplo de bioindicador de rios, muito
importante para determinar a qualidade da água.
Alguns peixes são mais sensíveis a mudanças nas propriedades químicas e físicas da
água, como pH e oxigênio dissolvido, que podem ser causados por distúrbios ambientais
1
Disponível em: https://revistanews.com.br/2020/04/21/estados-do-sul-no-combate-a-espe
cies-invasoras/
2
Disponível em: https://gia.org.br/portal/bioindicadores1/
Capítulo 2. Biologia 22

Figura 2 – Jundiás, exemplo de peixe bioindicador.

Fonte: site GIA2 .

(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

Com a evolução da sociedade tivemos diversos avanços tecnológicos. Os sistemas


embarcados foram uma das que mais se destacou nos últimos anos, pois conseguem
processar dados com baixo custo, sem a necessidade de um computador completo para
realizar tarefas. Portanto, esses sistemas não param no tempo e, com o conhecimento
que temos atualmente, eles estão mais potentes e robustos, permitindo cada vez mais
realizar tarefas complexas. Geralmente, a maioria das funções dos sistemas eletrônicos
atuais envolve algum tipo de cálculo e controle e são realizadas por componentes digitais.
Atualmente, é uma tendência processar sinais analógicos em sinais digitais, de modo
que os componentes usados para processamento digital dominem os sistemas eletrônicos
(BARROS; CAVALCANTE, 2003).
Os sistemas embarcados são sistemas de computação completos e independentes,
mais simples que os computadores desktop normais. Eles são projetados para executar
apenas funções específicas que geralmente são executadas repetidamente. Os sistemas
embarcados são de baixo custo, possuem capacidade computacional comparável à sua
escala e podem diminuir o custo de qualquer projeto envolvendo áreas técnicas. Dispositivos
embarcados descobertos hoje têm poder de computação cada vez maior, enquanto o
custo é cada vez menor, o que confirma a Lei de Moore. Este crescimento possibilita o
desenvolvimento de sistemas cada vez mais complexos, portanto, ambientes de design e
simulação são necessários para acompanhar este desenvolvimento (NEGREIROS; BRITO,
2013).

3.1 MICROCONTROLADORES

Um microcontrolador é um computador de chip único com memória RAM, ROM


e um gravador de deslocamento. Um microcontrolador também pode ter vários outros
periféricos no mesmo chip. Conversor digital para analógico, temporizador, comparador de
tensão, modulação por largura de pulso, comunicação serial, USB, Ethernet. Todos seus
periféricos são colocados externamente para que que sua velocidade de processamento, que
é baixa, não seja prejudicada. Por meio da comunicação, você pode conectar o microcon-
trolador a outros dispositivos. Por serem mais lentos, também consomem menos energia,
o que possibilita não ter uma grande fonte de energia dentro do circuito em que ele estiver
inserido. Outra vantagem do microcontrolador é que ele não vem programado de fábrica,
o que faz com que ele possa agir de várias formas no projeto que estiver atrelado.

3.1.1 PIC

Os microcontroladores PIC são chips inteligentes compostos por circuitos de pro-


cessador, entrada, saída e memória. É fabricado pela Microchip e possui uma arquitetura
Capítulo 3. Sistemas Embarcados 25

Harvard. A unidade de processamento central está ligada à memória de dados e a memória


de programa por meio de diferentes barramentos, dados e endereços e um conjunto de
instruções RISC. Portanto, possui uma alta velocidade de processamento. O projeto com
microcontrolador PIC é uma solução para agilizar seu projeto, pois é fácil de programar e
tem excelente desempenho, indicado para projetos industriais, automotivos e de automação
residencial.
Os microcontroladores PIC têm núcleos de processamento de 12 bits, 14 bits e 16
bits e, em alguns modelos, a velocidade operacional é de 0 KHz a 48 MHz e a velocidade é
de 16 MIPS. O PIC é popular devido ao seu baixo custo, ampla disponibilidade e grande
base de usuários (REZA; TARIQ; REZA et al., 2010).
Um exemplo é o microcontrolador PIC16F877A, ilustrado na figura 3, que pode ser
usado como o dispositivo de controle principal fabricado pela Microchip Technology Inc.
É um dispositivo de 40 pinos com 8K bytes de memória de programa flash. PIC16F877A,
tem cinco portas de E/S, nomeadamente, PORTA, PORTB, PORTC, PORTD e PORTE.
Alguns pinos dessas portas de E/S são multiplexados com a função de multiplexação das
funções periféricas do dispositivo. Geralmente, após ativar o periférico, este pino não pode
ser usado como um pino de E/S de uso geral. Algumas funções importantes do PIC16F877A
são: RISC, CPU que requer apenas 35 instruções de palavra única, velocidade operacional
de entrada de relógio DC-20MHz, memória de programa flash de 8K x 14 palavras, ampla
faixa de tensão operacional: 2V a 5,5V, Ciclo de entrada e conversor analógico-digital de
8 canais (ALLDATASHEET.COM, 2020).

Figura 3 – PIC16F877A.

Fonte: site Microchip1 .

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).

Figura 4 – Arduino Uno.

Fonte: site Arduino.cc2 .

3.1.3 Raspberry

O Raspberry Pi é um computador do tamanho de um cartão de crédito desenvolvido


pela Raspberry Pi Foundation para incentivar os jovens a programar e promover o ensino
básico de informática nas escolas. Apesar de seu tamanho pequeno, o Raspberry ainda
pode executar e gerenciar tarefas como qualquer outro computador.
2
Disponível em: https://store.arduino.cc/usa/arduino-uno-rev3
Capítulo 3. Sistemas Embarcados 27

Atualmente, o Pi costuma ter duas versões, o modelo A + é mais simples, com


512Mb de RAM, porta USB, porta HDMI, conexão Bluetooth, Wi-Fi, mas não sem conexão
de rede cabeada. O tipo B+ é mais robusto, além de possuir as mesmas entradas HDMI,
Bluetooth e Wi-Fi do tipo A+, também possui 4 portas USB, 1GB de RAM e uma entrada
Gigabit Ethernet. Ambas as versões dos produtos que eles usam são alimentadas por uma
porta micro USB e têm um slot para cartão de memória no qual uma distribuição Linux é
normalmente instalada como um sistema operacional. O Raspbian é o sistema operacional
oficial da placa de desenvolvimento, embora outros produtos também possam ser baixados
e instalados no site do produto.
Para realizar esta operação, o sistema necessário deve ser instalado no cartão SD e
inserido no Pi. Devido ao seu pequeno tamanho, simplicidade, preço e facilidade de uso,
o raspberry foi desenvolvido para inspirar os jovens na área de programação, por isso se
tornou muito popular e criou uma enorme comunidade internacional (DUTRA, 2019). Na
Figura 5, percebe-se o tamanho compacto do raspberry.

Figura 5 – Raspberry PI 2017.

Fonte: Autor(2020).

Na página do produto, encontra-se um fórum de tecnologia da informação, eventos


independentes sobre disseminação e compartilhamento de conhecimento (ocorrendo nos
Estados Unidos, Europa e China) e até projetos que estão prontos para estimular os
usuários, como robôs de observação. Um gerador de senha ou programa usado para crip-
tografar e descriptografar mensagens. Além do ambiente escolar originalmente projetado,
o Raspberry tem uma ampla gama de usos, principalmente devido à presença de pinos
GPIO (General Purpose Input / Output), ambos os quais são pinos de entrada e saída de
uso geral.

3.2 PERIFÉRICOS

Dispositivos periféricos são interfaces entre uma unidade de processamento e o


mundo externo que fornece ou envia informações para ela. Um exemplo de dispositivo
periférico seria um conversor analógico-digital acoplado a um sensor térmico que converte
a temperatura ambiente em números binários para que a unidade de processamento possa
interpretar e processar as informações (DELAI, 2013).
Capítulo 3. Sistemas Embarcados 28

Figura 6 – Exemplos de Periféricos.

Fonte: (DELAI, 2013)

3.2.1 Sensores

O sensor é responsável por obter as informações do processo a ser controlado. Essas


informações são essenciais para as unidades de processamento, pois as decisões podem
ser tomadas a partir delas. Bons sensores devem fornecer informações confiáveis e não
podem promover mudanças no processo de destino. Isso significa que o sensor não pode
alterar o valor da grandeza física que é responsável por medir, reduzir a velocidade do
motor monitorado. Na prática, pode ser difícil conseguir isso dependendo da tecnologia
do sensor (por exemplo, contato mecânico). Esses tipos de periféricos incluem sensores de
temperatura (termistor), pressão (piezoelétrico), contato (teclas mecânicas), toque (tela
sensível ao toque), distância (sonar/infravermelho), movimento (acelerômetro), óptica
(câmera). São dispositivos periféricos que enviam informações do processo ao SE (DELAI,
2013).

3.2.1.1 Câmeras

No mercado atualmente existem diversos tipos de câmeras disponíveis, porém para


este trabalho, alguns critérios precisam ser atendidos tais como: as câmeras a serem
utilizadas necessitam ser compatíveis com o sistema embarcado, com uma qualidade
suficiente para que o software de reconhecimento identifique as espécies; necessita ter valor
de mercado dentro do número proposto.

3.2.1.1.1 Raspberry Pi Camera REV 1.3

A figura 7 mostra o módulo de câmera de 5MP para Raspberry Pi. Conecta-se


através da porta CSI (interface serial da câmera). Possui uma lente de foco fixo que pode
fornecer 2592 x 1944 pixels para fotos e 1080p30, 720p60 e 640x480p60/90 para vídeos. A
câmera é compatível com o sistema operacional Raspbian rodando em cartões Raspberry
Pi B, B+, 2 e 3.
Capítulo 3. Sistemas Embarcados 29

Figura 7 – Raspberry Pi Camera REV 1.3.

Fonte: Autor(2020).

3.2.2 Nvidia Jetson Nano

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

Kit é controlada por scripts Python embutidos na BIOS do dispositivo.


Utilizando a Visão Computacional junto com as placas Nano Jetson da NVIDIA,
pode-se desenvolver aplicações que farão com que a realização das tarefas cotidianas seja
mais fácil e divertida. Apesar de existirem outras opções no mercado para utilização da
visão computacional, a plataforma da NVIDIA é uma das mais completas. Ela permite que
as pessoas construam aplicações de visão computacional, utilizando sua interface gráfica
Sulley e ferramentas de desenvolvimento.
Usando os Jetson Nano (ou o Jetson TX2), pode-se construir aplicações para
câmeras de visão computacional com resolução 4K em tempo real, e funcionar em ambiente
indoor e outdoor, tanto em condições de iluminação saturada quanto escura. Estas câmeras
de visão computacional estão disponíveis no segmento do entretenimento, como parte de
aplicações de gaming. Além disso, com a visão computacional, pode-se atualizar sua
plataforma para utilização em dispositivos móveis e tablets, com o Jetson TX2.
Os desenvolvedores têm usado a plataforma NVIDIA como parte de sistemas inteli-
gentes de ar condicionado, câmeras integradas, sensores, robôs e carros autônomos. Pode-se
usá-lo como parte de uma câmera IP para inspecionar edifícios ou pontos comerciais. Para
cada função de visão computacional é necessário escolher uma das opções de montagem
da placa. Em países com custos de energia mais baixos, utiliza-se o sistema de energia do
Jetson Nano como fonte de energia para outros dispositivos, como roteadores 4G.
No desenvolvimento de eletrônicos, há vantagens em utilizar a plataforma NVIDIA
para projetos. Com o Jetson TX2, pode-se utilizar como base uma das maiores marcas
do mundo na área de tecnologia de ponta. Além disso, pode-se desenvolver seus projetos
com a possibilidade de usufruir das melhores API de visão computacional do mundo e de
um software proprietário do Jetson.
Não é necessário preocupar-se com a parte de hardware, pois a NVIDIA contará com
uma plataforma completa. Pode-se testar as ideias, apenas incluindo o software que deseja,
utilizando a tecnologia do Jetson para desenvolver aplicações de visão computacional para
GPUs e processadores ARM, que são os mais utilizados na área de visão computacional.

3.2.3 Atuadores

Os atuadores fornecem aos sistemas embarcados a capacidade de intervir em seu


ambiente operacional. Como o nome sugere, são dispositivos que realizam ações que
interferem no processo sob controle, como motores, ventiladores, luzes, aquecedores, refri-
geradores, interruptores etc. São os dispositivos periféricos que enviam informações do SE
para o processo. Geralmente, a unidade de processamento decide ativar o atuador com
base nas informações recebidas do sensor, que é chamado de sistema de malha fechada
ou sistema de feedback. Outra forma de acionar os atuadores é baseada no tempo, em um
sistema denominado malha aberta. Neste não há informações do processo (no qual não há
sensores) (DELAI, 2013).
Capítulo 3. Sistemas Embarcados 31

Atuadores para todos os tipos de funcionamento são tipicamente utilizados na


indústria. Sintetizando, pode-se dizer que atuadores possuem a função de acionar certas
operações, como motores e ventiladores. A principal característica dos atuadores é que
não possuem problemas de inércia ou deslizamento. É por isso que são usados nos tipos
de movimento mais simples, como levantar e abaixar um dispositivo. Eles podem ser
seccionados na estrutura, fazendo com que sejam empurrados por correntes ou cabos, ou
então possuir a capacidade de se movimentar sobre a base, com dispositivos que lhes
proporcionam mobilidade (RITTER, 2011).
32

4 VISÃO COMPUTACIONAL

Visão Computacional é a responsável por traduzir as informações que a câmera


está filmando para o computador, pois, os seres vivos interpretam o que os olhos enxergam
através de um conhecimento prévio. Logo, se observarmos o fogo, o cérebro saberá que ele
é perigoso. Porém se não tivermos essa informação, certamente acontecerá algo inesperado,
como por exemplo, alguém poderá acabar tocando o fogo e queimando-se. Com as máquinas
é igual.
A visão computacional é a ciência responsável pela visão de máquina, é a forma
como os computadores observam o ambiente circundante. Ela extrai muitas informações
de imagens capturadas por câmeras, sensores, scanners e outros dispositivos. Essas infor-
mações permitem identificar, manipular e considerar os objetos que compõem a imagem
(MILANO; HONORATO, 2014).
Se um sistema embarcado for programado sem um banco de dados prévio, ele não
saberá interpretar as imagens que o mecanismo de captura está enviando para ele. Logo,
ele não servirá de nada. Por essa razão, a Visão Computacional é tão importante nos
dias atuais. Ela está presente na maior parte do cotidiano e, o exemplo mais importante
é o reconhecimento facial. Quando alguém vai até um banco, um mercado, ou mesmo
caminha na rua, pode estar sendo monitorado por alguma câmera. Com essa tecnologia é
possível identificar quem uma pessoa é apenas com uma amostra do rosto do indivíduo.
Isso aumenta a praticidade, segurança e bem-estar da população, pois se uma pessoa
está sendo procurada, ela pode ser identificada em poucos minutos. Em contrapartida,
sua privacidade acaba sendo reduzida, pois com o monitoramento constante, torna-se
muito difícil não ser captado em algum dispositivo atualmente. A maioria das aplicações
que usam visão computacional vêm de outros campos de pesquisa para resolver certos
problemas de uma determinada maneira. Este sistema é denominado sistema especializado,
que requer conhecimentos específicos para resolver um problema. Portanto, não existe um
modelo padrão claro para a implantação de aplicativos de visão computacional (MILANO;
HONORATO, 2014).
Na natureza o trabalho é o mesmo, quando algum pesquisador procura uma espécie
nova, ou está monitorando, as câmeras traps tem a função de identificar o animal o mais
rápido possível, para que assim uma captura digital possa ser registrada e ter certeza que
o espécime estudado ainda está no local. Um exemplo são armadilhas que reconhecem o
Javali Sus scrofa, uma espécie invasora, e assim ela ativa caso ele, e somente ele, esteja
dentro da armadilha (MAMANN; AGUILAR; MARTINS, 2017). Esse exemplo mostra
como a visão computacional pode ser versátil, tendo aplicações em várias áreas.
A etapa de aquisição de imagens é a primeira etapa de um sistema de visão
computacional, que se caracteriza por capturar, armazenar e transmitir imagens. De acordo
com a resolução da imagem, é possível desenvolver trabalhos de baixo custo e fornecer
Capítulo 4. Visão Computacional 33

resultados precisos para diferentes aplicações. No processo de formação da imagem, existe


uma relação entre nós e o dispositivo de captura, podemos citar: o tipo de sensor, a lente
utilizada, a iluminação, a velocidade de aquisição, a resolução e o número de níveis de
cinza da imagem digitalizada. Esta etapa produzirá uma imagem digital formada por
vários pixels como saída. Esses pixels podem adotar diferentes formatos de arquivo, como
jpg, png, raw, etc.
A etapa de pré-processamento deve ser realizada para melhorar a qualidade da
imagem, pois visa reduzir o ruído ou defeitos inerentes ao processo de aquisição da imagem,
tais como: melhoria da imagem, remapeamento de pixel, redução de ruído de pixel, correção
geométrica, restauração, reconstrução, correção de contraste, brilho, iluminação, distorção
e clareza. A função desta etapa é melhorar a imagem para as etapas subsequentes (ROSS;
RUSS, 2011).
Na etapa de segmentação, o objetivo é dividir a imagem em regiões de interesse
de acordo com o problema a ser resolvido, como a separação da região do objeto e do
fundo da imagem. Em alguns casos, envolve a contagem ou o reconhecimento de vários
objetos. Além de separar elementos irrelevantes, a etapa de segmentação também separa
objetos de interesse em diferentes regiões. O número de clipes a serem criados nesta etapa
depende do problema a ser resolvido e corresponde à unidade estrutural da cena.
Reconhecer objetos, rostos, cenas, defeitos, estruturas ou qualquer tipo de coisa
que possa ser classificada de qualquer forma em uma imagem é uma das principais tarefas
da visão computacional e, está diretamente relacionada ao reconhecimento de padrões.
Este objeto pode ser definido com mais de um padrão, como textura, forma, cor, dimensão
etc. Assim, o alvo a ser reconhecido pode já estar isolado em uma única imagem ou existir
junto com outros objetos e neste caso, além do reconhecimento, existe a tarefa de detectar
uma ou mais instâncias do alvo na imagem. Portanto, reconhecer padrões individualmente
pode ajudá-lo a reconhecer um objeto como um todo (BORTH et al., 2014).

4.1 YOLO - YOU ONLY LOOK ONCE

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

O Matlab é um software interativo de alto desempenho voltado para computação


numérica. Ao contrário da programação tradicional, o matlab integra análise numérica,
computação de matrizes, processamento de sinais e construção de gráficos em um ambiente
fácil de usar, cujos problemas e soluções só podem ser expressos matematicamente. O
matlab é um sistema interativo, e seu elemento básico de informação é uma matriz que
não precisa ser descrita. O sistema pode resolver muitos problemas numéricos ao escrever
programas semelhantes em Fortran, Basic ou C. Além disso, a maneira de resolver o
problema pode ser expressa no matlab tão matematicamente quanto no momento da
escrita.
Por ser um ambiente de computação para álgebra linear, gráficos e simulação
dinâmica. Pode ser usado em várias plataformas de computador e é amplamente utilizado
no ensino e na pesquisa em universidades. A funcionalidade central do matlab pode ser
estendida por meio de caixas de ferramentas específicas do aplicativo. Muitas caixas de
ferramentas estão disponíveis comercialmente ou por meio de várias licenças de código
aberto. Os tipos de dados básicos, vetores e matrizes do matlab são muito adequados para
robótica e problemas de visão computacional (CORKE, 2007).
O Robotics Toolbox (RT) é uma ferramenta para Matlab que fornece um conjunto de
funções que suportam algoritmos robóticos básicos, como representação da orientação do
sistema operacional, cinemática, dinâmica e geração de trajetórias. A caixa de ferramentas
contém funções que tornam a operação em um robô de link duplo tão fácil quanto a
operação em seis (ou mais) robôs vinculados. Por exemplo, é fácil explorar o efeito da
massa da carga útil na matriz de inércia, ou as mudanças na inércia da biela observadas
pelo motor, que é difícil ou impossível de analisar. A caixa de ferramentas é baseada em
um método muito geral de representar a cinemática e a dinâmica de manipuladores de link
serial que usam objetos. Cada link é representado por um objeto de link cujos atributos
são os parâmetros Denavit e Hartenberg padrão ou modificados, bem como a inércia do
link, o motor, o atrito e a relação de engrenagem (CORKE, 2007).
O Machine Vision Toolbox (MVT) fornece uma coleção de funções para visão de
má- quina e controle baseado em visão. Esta é uma coleção eclética que reflete os interes-
Capítulo 4. Visão Computacional 35

ses pessoais do autor nas áreas de fotometria, fotogrametria e colorimetria. A imagem é


geralmente considerada como uma matriz retangular de valores escalares (representando
intensidade ou intervalo), que é o tipo de dados natural do Matlab, e muitas operações de
imagem como limiar, filtragem e estatísticas podem ser obtidas usando funções existentes.
A caixa de ferramentas expande esta função central com mais de 60 funções. Essas fun-
ções incluem as seguintes operações: leitura e gravação de arquivos e imagem, aquisição,
exibição, filtragem, localização, extração de recursos de ponto e linha, morfologia mate-
mática, homografia, visão Jacobiana, calibração de câmera e conversão do espaço de cores
(CORKE, 2007).
Para tamanhos de imagem moderados, a velocidade de processamento pode ser
em tempo real o suficiente para permitir o controle de malha fechada. As funções nessas
duas caixas de ferramentas são escritas direta ou manualmente por motivos de ensino, em
vez de maximizar a eficiência computacional. A vetorização do matlab tem sido usada
tanto quanto possível para melhorar a eficiência, e algumas funções computacionalmente
intensivas são fornecidas no código-fonte C como arquivos MEX que são executados na
arquitetura nativa. Pode-se usar arquivos MEX para interagir com hardware de aquisição
de imagens e robôs, transformando assim uma ferramenta de simulação pura para uma
ferramenta de controle (CORKE, 2007).

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.

• As ligações do Python existem para todos os kits de ferramentas GUI padrão, o


que significa que você pode aplicar técnicas de desenvolvimento rápido ao construir
interfaces de usuário.

4.3.1 Mahotas

Mahotas é uma biblioteca de visão computacional para a linguagem de programa-


ção Python (versão 2.5 e superior, incluindo a versão 3 e superior). Ele roda em uma
matriz numpy. Para isso, utiliza toda a infraestrutura construída pelo projeto para ar-
mazenar informações e realizar operações e cálculos básicos. Em particular, ao contrário
das bibliotecas escritas em linguagem C ou linguagem Java, Mahotas não precisa definir
uma nova estrutura de dados de imagem, mas usa uma estrutura de array numpy. Mui-
tas funções básicas de operação que de outra forma fariam parte da biblioteca de visão
computacional são gerenciadas pelo numpy. Por exemplo, você pode usar a função numpy
integrada para realizar cálculos de valores médios e outras estatísticas simples, processar
imagens multicanais e converter entre tipos (mahotas suporta imagens inteiras e de ponto
flutuante). Para os usuários, isso tem a vantagem adicional de não precisar aprender outro
conjunto de funções.
Ele contém mais de 100 funções, que vão desde filtragem de imagem tradicional
e operações morfológicas até decomposição de wavelet mais moderna e cálculos de recur-
sos locais. Além disso, ao integrar-se ao ecossistema digital Python, os usuários podem
continuar a usar outros pacotes de software. Em particular, o mahotas não implementa
nenhuma função de aprendizado de máquina, mas é recomendado que os usuários usem
outros pacotes dedicados, como scikits-learn ou milk (COELHO, 2012).
Matrizes numpy contêm tipos específicos de dados, como inteiros de 8 bits sem sinal
ou números de ponto flutuante. Embora as imagens em cores naturais sejam geralmente
de 8 bits, os dados científicos geralmente são maiores e o processamento pode resultar em
imagens de ponto flutuante. Mahotas pode lidar com todos os tipos de dados. Isso pode
ser feito sem qualquer cópia de memória adicional. Mahotas foi altamente otimizado para
velocidade e uso de memória (disponível para matrizes muito grandes).
Existem convenções de interface que se aplicam a muitas funções. Se fizer sentido,
o uso de elementos estruturais pode ser usado para definir vizinhanças ou relações de
adjacência (especialmente funções morfológicas). Geralmente, se nenhum filtro estrutural
for fornecido, o padrão é usar cruzamentos 3x3 como padrão. Quando uma nova imagem
deve ser retornada, essas funções recebem um parâmetro denominado como o local onde a
saída será armazenada. Este argumento geralmente é mais rigoroso. Em particular, deve
Capítulo 4. Visão Computacional 37

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

A subtração do fundo é uma etapa básica em muitas aplicações no campo da visão


computacional e processamento digital de imagens, como vigilância por vídeo, captura
de movimento e aplicativos de multimídia. Geralmente envolve a comparação da imagem
observada com outra imagem que representa uma estimativa do fundo. Uma área com uma
diferença significativa acima de um certo limite entre a imagem de entrada e a imagem
de referência (fundo) indica a posição do objeto de interesse. Geralmente, o processo de
subtração de plano de fundo inclui as etapas de inicializar o modelo de plano de fundo
para um certo limite, manter o modelo após o limite e detectar o primeiro plano.
OpenCV (Open Source Computer Vision Library) é uma biblioteca multiplata-
forma, totalmente gratuita para uso acadêmico e comercial, para o desenvolvimento de
aplicações na área de visão computacional. A biblioteca contém mais de 500 algoritmos
e é desenvolvida em linguagem de programação C/C++, portanto, BGSLibrary também
é desenvolvida em C/C++. O BGSLibrary fornece uma estrutura C++ para realizar a
subtração de fundo por imagem ou sequência de vídeo. A BGSLibrary foi originalmente
lançada em março de 2012. Havia 14 algoritmos no início. Atualmente, a versão da BGS-
Library é 3.0 e consiste em 43 algoritmos de subtração de fundo. Muitos algoritmos são
fornecidos e adaptados de vários autores. O código-fonte está disponível sob a licença
GNU GPL v3. A biblioteca é open source e gratuita para uso acadêmico e não comercial.
Para usá-lo, você deve instalar a biblioteca OpenCV (SOBRAL et al., 2013).

4.5 APLICAÇÕES

A aplicação mais atraente no campo da visão computacional é o reconhecimento


rápido de dados. Os exemplos mais famosos são o reconhecimento facial nos dispositivos
móveis de hoje, o reconhecimento de retina que abre portas e o reconhecimento de animais.
Todos esses exemplos podem ser vistos em nosso cotidiano.

4.5.1 Agronegócio

Aplicações industriais podem ser exemplificadas no agronegócio, devido à maior


produtividade e à qualidade dos produtos, exigindo que os empresários rurais utilizem cada
vez mais equipamentos tecnológicos para as atividades agrícolas, pecuárias e industriais.
E, quem não utilizar a tecnologia em seu proveito acabará perdendo espaço de mercado,
devido à redução da competitividade. A figura 8 expõe como a visão computacional pode
ser utilizada para se obter a colheita mais eficiente, visto que com algoritmos de visão
Capítulo 4. Visão Computacional 38

computacional, é possível averiguar em tempo real o estado de maturação das frutas da


colheita.

Figura 8 – Exemplo de visão computacional para identificar frutas na árvore.

Fonte: site Agro Planning1 .

A visão computacional pode ser aplicada à agricultura nos seguintes campos de


ação, mas não se limitando: classificação e seleção de produtos agrícolas, sementes e
frutas, colheita robótica, posicionamento de ferramentas agrícolas, direção e navegação
autônomas, identificação de doenças, pragas e ervas daninhas, análise o grau de danos
às plantas e folhas causados por pragas e doenças, automação de processos agrícolas:
automação de processos por meio do uso de sensores, sensoriamento remoto e sistemas
de informação geográfica, sistemas de posicionamento e orientação de campo, sistemas
incorporados, tecnologias que aplicam entradas em taxas diferentes, e fusão de sensores
(BORTH et al., 2014).
A agricultura de precisão pode aproveitar várias características ambientais, como
tipo de solo, armazenamento de água, teor de nutrientes, pH, matéria orgânica, declividade,
luz solar, presença de pragas e/ou doenças. Por exemplo, ao usar uma entrada específica,
o sistema de pulverização pode identificar as plantas e suas necessidades e acionar o bico
com precisão (abrir e fechar). Os agronegócios estão cada vez mais na vanguarda das
novas tecnologias para melhorar seus sistemas de produção e obter maior precisão nas
aplicações que beneficiam a produção e o cultivo de grãos. Portanto, a visão computacional
tornou- se uma das tecnologias mais recentes para o uso de veículos aéreos não tripulados
para interagir com a agricultura. O uso de veículos aéreos não tripulados combinado com
tecnologia de visão computacional pode ser usado para muitos tipos de operações, como
vigilância, reconhecimento, monitoramento agrícola e ambiental, transporte de carga, etc.
A figura 9 exemplifica o uso de drones em plantações, algo que se tornou muito utilizado
pelos agricultores devido a novas tecnologias implantadas no agronegócio.(BORTH et al.,
2014)
1
Disponível em: https://www.agroplanning.com.br/2018/07/12/cientistas-vao-treinar-robo
s-para-identificacao-automatica-de-plantas/
Capítulo 4. Visão Computacional 39

Figura 9 – VANT utilizado em plantações.

Fonte: TRR São José2

4.5.2 Imagiologia

Na área médica, a correspondência e o alinhamento de imagens têm muitas aplica-


ções, como mesclar informações obtidas a partir de diferentes métodos, monitorar tamanho,
forma e mudanças ao longo do tempo, preparar cirurgias, comparar bancos de dados e
correspondência. A imagiologia é a aplicação de técnicas analíticas à medicina. Estas pro-
porcionam novas e mais precisas informações sobre a anatomia humana. A imagem pode
ser captada por meio de diferentes técnicas, tais como: microscopia óptica, microscopia
fotoelétrica, microscopia digital ou em imagens computadorizadas. A imagiologia médica
é um conjunto de tecnologias e sistemas utilizados para obter imagens médicas, sendo
uma tecnologia essencial no diagnóstico de muitas doenças (esclerose múltipla, doença de
Alzheimer, fracturas, cancro, aneurismas, etc.). Geralmente utiliza-se em imagens médicas,
apenas técnicas não invasivas, como raios-X, tomografia computadorizada, ressonância
magnética e ultrassom são consideradas. As técnicas de imagem podem ser classificadas
como anatômicas ou funcionais. A anatomia é uma descrição básica da morfologia, como
o raio X, a tecnologia de imagem funcional é essencialmente a descrição de informações
sobre o metabolismo, como a medicina nuclear (OLIVEIRA, 2009).
2
Disponível em: http://trrsaojose.com.br/uso-de-drones-e-vants-na-agricultura/
3
Disponível em: https://www.unicamp.br/unicamp/unicamp_hoje/ju/dezembro2009/ju451_pag03
.php
Capítulo 4. Visão Computacional 40

Figura 10 – Software que detecta órgão.

Fonte: Jornal da UNICAMP.3

4.5.2.1 Tomografia computorizada

A tomografia computadorizada por raios X é o primeiro método de tomografia


baseado inteiramente na reconstrução de imagens digitais. Sua aparência mudou muito
a imagem médica. Devido à sua boa resolução espacial e rápido processo de aquisição,
é amplamente utilizado. Além disso, é muito versátil e pode se adaptar à maioria das
situações. Sua principal desvantagem advém do uso de radiação ionizante (raios X), que
pode causar lesões ou tumores subsequentes no paciente (OLIVEIRA, 2009).
A distância focal dos raios X e os sensores giram simultaneamente, dependendo do
ângulo θ, como pode ser observado na figura 11. Desta forma, a distância entre o foco e
os detectores é mantida, e os raios sempre caem perpendiculares a eles. Para evitar que a
radiação difusa alcance os sensores, são usados colimadores. Eles agem como filtros porque
permitem que os detectores atinjam a perpendicular a eles. Desta forma, uma redução
significativa no ruído da imagem é alcançada. Normalmente, uma linha de detecção consiste
em várias centenas ou milhares de detectores (OLIVEIRA, 2009).

Figura 11 – Esquema simplificado da projeção dos raios X.

Fonte: Monografia.4
Capítulo 4. Visão Computacional 41

4.5.3 Inspeção de automóvel

O objetivo da inspeção de automóveis é verificar a segurança do veículo nas vias


públicas sem comprometer a segurança dos condutores e passageiros e outras pessoas
na estrada. A entidade responsável pela fiscalização é o Instituto da Mobilidade e dos
Transportes Terrestres ou IMTT (MEDINAS, 2017).

Figura 12 – Software de identificação de Peças de Carro.

Fonte: (MEDINAS, 2017)

A maneira mais comum de detectar defeitos é inspecioná-los. Devido às conclusões


erradas causadas pela subjetividade ou cansaço do inspetor, esse tipo de inspeção é fácil de
cometer erros. Por esse motivo a visão computacional auxilia na parte de detecção precisa,
diminuindo drasticamente a chance de erro quando o computador está bem treinado, pois
ele não está sujeito aos mesmos erros de uma pessoa (MEDINAS, 2017).
Por causa de seus recursos de análise rápida, o software que usa visão computacional
pode ajudar a analisar as peças do carro de uma maneira muito útil. Essas análises precisas
auxiliam os profissionais da área a reduzir erros, garantindo assim maior segurança e
confiabilidade ao produto final.

4
Disponível em: https://web.fe.up.pt/~tavares/downloads/publications/relatorios/MONOGR
AFIA_PRODEB_FO.pdf
42

5 METODOLOGIA E DESENVOLVIMENTO

Este capítulo apresentará a metodologia e o desenvolvimento deste projeto em suas


etapas, materiais e soluções. Um fluxograma mostrando cada etapa da metodologia pode
ser visto na figura 13.
Para capturar imagens de forma eficiente, foi utilizado o NVIDIA Nano Jetson,
como mostra a figura 14, que é um kit de desenvolvimento com maior capacidade de
processamento disponível no mercado. Uma vez selecionado, foi necessário instalar o kit
NVIDIA jetpack 4.5, que contém várias sub-rotinas para operar a tecnologia de visão
computacional, incluindo CUDA (Unified Computing Device Architecture), que permite
que as imagens sejam reconhecidas na GPU, tornando o reconhecimento da imagem mais
rápido do que o tradicional.

Figura 13 – Fluxograma da Metodologia.

Fonte: Autor(2021)

5.1 ESCOLHA DO DATASET

Para fazer o código de reconhecimento, era imprescindível um banco de dados com


imagens, mas estas deveriam tem um tratamento especial, que pode ser observado na
figura 15, onde um lugar de destaque precisa estar marcado e também possuir arquivos
extras, chamados de validação e treino, esses arquivos além de conter a imagem original,
tem um arquivo de texto com as coordenadas de onde a rede deve analisar para treinar,
como na figura 16.
Para ter acesso às imagens tratadas mencionadas anteriormente, foi utilizado o
Roboflow, um site onde tem vários datasheets prontos, com os arquivos de validação e
treinos completos, agilizando o processo de treino da rede. Esse site, disponibiliza de forma
1
Disponível em: https://developer.nvidia.com/embedded/jetson-nano-developer-kit
2
Disponível em: https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
Capítulo 5. Metodologia e Desenvolvimento 43

Figura 14 – Placa de desenvolvimento Nano jetson.

Fonte: site Nvidia1

Figura 15 – Exemplo de imagem de treino.

Fonte: Github Yolov52

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

Figura 16 – Bloco de texto com as coordenadas.

Fonte: Autor(2021)

Figura 17 – layout do Roboflow

Fonte: site Roboflow3

5.2 ESCOLHA DO MODELO DA REDE E CÂMERA

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

Figura 18 – layout do Colab

Fonte: site Google Colab4

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.

Tabela 1 – Tabela de comparação entre os modelos do


Yolov5.

Model size(pixels) mAPval mAPtest mAPval Speed(ms)

YOLOv5s 640 36.7 36.7 55.4 2.0


YOLOv5m 640 44.5 44.5 63.1 2.7
YOLOv5l 640 48.2 48.2 66.9 3.8
YOLOv5x 640 50.4 50.4 68.8 6.1
Fonte: Github Yolov5.5

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.

5.3 TREINO DAS ÉPOCAS

Antes de iniciar o treino do programa, primeiramente é necessário saber quantas


épocas vão bastar para que a visão computacional atinja o grau necessário de identificação
de imagem. Esta medida é totalmente teórica, necessitando de tentativas e erros para
calibrar a captação dos objetos de estudo.
Capítulo 5. Metodologia e Desenvolvimento 46

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.

5.4 TREINO COM IMAGENS

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.

5.5 SALVAMENTO DOS PESOS PARA USOS FUTUROS

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.

5.6 TESTES E VALIDAÇÕES

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

Figura 19 – Testes da captura da tela do Computador.

Fonte: Autor(2021)

Figura 20 – Imagens de testes.

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

Figura 21 – Testes com água limpa.

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.

Figura 22 – Testes com água turva.

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

Figura 23 – Gráfico de detecção água Limpa.

Fonte: Autor(2021)

Figura 24 – Gráfico de detecção água Turva.

Fonte: Autor(2021)

Figura 25 – Leitura com água Turva.

Fonte: Autor(2021)
Capítulo 5. Metodologia e Desenvolvimento 50

Figura 26 – Parte do código utilizado no Google colab.

Fonte: Autor(2021)

Figura 27 – Continuação do Código.

Fonte: Autor(2021)

Outro ponto a ser levado em consideração é com relação a coloração da água. Ao


usar o corante alimentar, o azul é utilizado porque simula com maior precisão a cor do
Capítulo 5. Metodologia e Desenvolvimento 51

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

ALLDATASHEET.COM. PIC16F877A Datasheet(PDF) - Microchip


Technology. [S.l.: s.n.], 2020. Disponível em: https:
//www.alldatasheet.com/datasheet-pdf/pdf/82338/MICROCHIP/PIC16F877A.html.

ARIAS, Ana Rosa Linde et al. UtilizaçÃde bioindicadores na avaliaçÃde impacto e


no monitoramento da contaminaçÃde rios e cÃpor agrotÃ. pt. Cià SaÃColetiva,
scielo, v. 12, p. 61–72, mar. 2007. ISSN 1413-8123. Disponível em:
http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1413-
81232007000100011&nrm=iso.

BARROS, Edna; CAVALCANTE, Sérgio. Introduçao aos sistemas embarcados. Grupo


e Engenharia da Computação–GRECO, Centro de Informática–CIn,
Universidade Federal de Pernambuco–UFPE, 2003.

BORTH, Marcelo Rafael et al. A visão computacional no agronegócio: Aplicações e


direcionamentos. 7º Encontro Cientıfico de Administração, Economia e
Contabilidade (ECAECO), 2014.

CARMINO HAYASHI, Leonardo Henrique de Almeida e Silva. A GESTÃO


AMBIENTAL E SUSTENTABILIDADE NO BRASIL. Periódico Eletrônico Fórum
Ambiental da Alta Paulista, v. 11, n. 7, 2015. ISSN 1980-0827. Disponível em:
https://www.amigosdanatureza.org.br/publicacoes/index.php/forum_
ambiental/article/view/1222.

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.

DELAI, Andre Luiz. Sistemas Embarcados: a computação invisível. [S.l.]:


Hardware.com.br, mai. 2013. Disponível em:
https://www.hardware.com.br/artigos/sistemas-embarcados-computacao-
invisivel/conceito.html.

DUTRA, Fabiano Oliveira. O uso do raspberry pi no auxılio do controle da reserva de


armamento do curso de comunicações, 2019.

FREITAS, Carlos Edwar C.; SIQUEIRA-SOUZA, Flávia K. O uso de peixes como


bioindicador ambiental em áreas de várzea da bacia amazônica. Revista
Agrogeoambiental, v. 1, n. 2, ago. 2009. DOI: 10.18406/2316-1817v1n2200975.
REFERÊNCIAS 54

GUILHERME MALAFAIA E PAULO CASTRO, Aline Rodrigues e. A IMPORTÂNCIA


DA AVALIAÇÃO DO HABITAT NO MONITORAMENTO DA QUALIDADE DOS
RECURSOS HÍDRICOS: UMA REVISÃO. SaBios-Revista de Saúde e Biologia,
v. 5, n. 1, 2010. ISSN 1980-0002. Disponível em: http:
//revista2.grupointegrado.br/revista/index.php/sabios2/article/view/537.

JULIANA HELOISA PINÊ AMÉRICO-PINHEIRO, Sâmia Momesso Marques e. Algas


como bioindicadores da qualidade da água. Revista Científica ANAP Brasil, v. 10,
n. 19, 2017. ISSN 1984-3240. Disponível em: http://www.amigosdanatureza.org.br/
publicacoes/index.php/anap_brasil/article/view/1651.

KAPUSTA, Simone. Bioindicação Ambiental. [S.l.: s.n.], 2008. P. 1–89.


Disponível em: http://proedu.rnp.br/bitstream/handle/123456789/716/
Bioindicacao_PB.pdf?sequence=3&i.

KHAYDAROV, Valentin et al. From stirring to mixing: artificial intelligence in the


process industry. In: IEEE. 2020 25th IEEE International Conference on Emerging
Technologies and Factory Automation (ETFA). [S.l.: s.n.], 2020. P. 967–974.

KUHNE, Felipe. YOLO: um sistema para detecção de classes de objetos em


tempo real. [S.l.: s.n.], jul. 2018. Disponível em:
https://www.profissionaisti.com.br/yolo-um-sistema-para-deteccao-de-
classes-de-objetos-em-tempo-real/.

LUIZ ARTHUR MALTA PEREIRA, Francine Roberta Carvalho. SOFTWARE


EMBARCADO, O CRESCIMENTO E AS NOVAS TENDÊNCIAS DESTE MERCADO.
pt. REVISTA DE CIÊNCIAS EXATAS E TECNOLOGIA, Kroton, v. 6, abr.
2014. Disponível em:
https://revista.pgsskroton.com/index.php/rcext/article/view/2308.

MAMANN, Lucas Vilela Sanches de; AGUILAR, Nıkolas Nascimento;


MARTINS, Raul Matheus. Automação de dispositivos para captura de javalis
com base em visão computacional. 2017. B.S. thesis – Universidade Tecnológica
Federal do Paraná. Disponível em: http://repositorio.roca.utfpr.edu.br/jspui/
bitstream/1/8826/1/CT_COEAU_2017_2_6.pdf.

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.

MEDINAS, Bruno Daniel Horta. InspFocus Análise de Imagem para Inspeção


Semi-Automática de Veıculos Automóveis. 2017. Tese (Doutorado).
REFERÊNCIAS 55

MILANO, Danilo de; HONORATO, Luciano Barrozo. Visão computacional.


[S.l.: s.n.], 2014. Disponível em:
https://d1wqtxts1xzle7.cloudfront.net/35825905/2010_IA_FT_UNICAMP_
visaoComputacional.pdf?1417697059=&response-content-disposition=inline%
5C%3B+filename%5C%3DVISAO_COMPUTACIONAL_Palavras_Chaves.pdf&Expires=
1604725820&Signature=K2EetnRkJEuzvhcsk4N3L4jgP9yFrcO8sTiY-
NrdMAfAFlS2xQK36uBNI1-ki6KNClsmE614JAJ9j2QjSG~VHChbGA5qyf3SwPE~~FXHbi9r8
EAY1pkZbPXX0rniWUuevzb0PFyw0pRuQvXfR55NNeRccWoSW7FMB1swLFWzh7mCWv7t-
I6QPO7KY~r8iSvF9riGdj-rzme3k0Bb6AqQd6zD2w8ClESEgny8SMwDodZzaejgpBiTiHoX7
YAur7kFvLh6qf3kWX6e5OWFK9MIDg1lRxlPZ1Vwaz7g1ZSve9~jyOEMmMnavfhw12
pKgGIjhkRVm5DgzqEf2cI~fJ6nfg__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA.

MILSON ANTÓNIO, Mauro Marcelo Mattos. DC ALERTA: PROTÓTIPO DE UM


SISTEMA DE MONITORAMENTO DA TEMPERATURA E UMIDADE PARA DATA
CENTERS, 2018. Disponível em:
http://dsc.inf.furb.br/arquivos/tccs/monografias/2018_2_milson-
antonio_monografia.pdf.

NEGREIROS, ALV de; BRITO, Alisson V. Analise da aplicacao de simulacao distribuida


no projeto de sistemas embarcados. In: SIMPOSIO Brasileiro de Sistemas de Informacao.
[S.l.: s.n.], 2013.

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.

OLIVEIRA, FPM de. Emparelhamento e alinhamento de estruturas em visão


computacional: aplicações em imagens médicas. Faculdade de Engenharia da
Universidade do Porto, 2009.

RESENDE, Álvaro Vilela de. Agricultura e qualidade da agua: contaminacao da


agua por nitrato. pt. [S.l.], 2002. Disponível em: http:
//ainfo.cnptia.embrapa.br/digital/bitstream/CPAC-2009/24718/1/doc_57.pdf.

REZA, SM Khaled; TARIQ, Shah Ahsanuzzaman Md; REZA, SM Mohsin et al.


Microcontroller based automated water level sensing and controlling: design and
implementation issue. In: PROCEEDINGS of the world congress on engineering and
computer science. [S.l.: s.n.], 2010. P. 20–22.

RITTER, Carla Silvane. Modelagem matemática das caracterısticas não lineares de


atuadores pneumáticos, 2011.

ROCHA, D.C; MARTINS, D. Levantamento de plantas daninhas aquáticas no


reservatÃde Alagados, Ponta Grossa-PR. pt. Planta Daninha, scielo, v. 29, p. 237–246,
jun. 2011. ISSN 0100-8358. Disponível em:
http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0100-
83582011000200001&nrm=iso.
REFERÊNCIAS 56

RODRIGUES, Aline Sueli de Lima; MALAFAIA, Guilherme;


CASTRO, Paulo de Tarso Amorim. A importância da avaliação do habitat no
monitoramento da qualidade dos recursos hıdricos: uma revisão., 2010.

ROSS, Lou; RUSS, John C. The image processing handbook. Microscopy and
Microanalysis, Cambridge University Press, v. 17, n. 5, p. 843, 2011.

SCHILLER, Andréia Da Paz et al. BIOINDICADORES DE QUALIDADE DE ÁGUA


COMO FERRAMENTA DE IMPACTO AMBIENTAL DE UMA BACIA
HIDROGRÁFICA. Revista Gestão Sustentabilidade Ambiental, v. 6, n. 3, p. 165,
nov. 2017. DOI: 10.19177/rgsa.v6e32017165-180. Disponível em: http://www.
portaldeperiodicos.unisul.br/index.php/gestao_ambiental/article/view/5560.

SOBRAL, Andrews et al. BGSLibrary: An opencv c++ background subtraction library.


In: IX Workshop de Visao Computacional. [S.l.: s.n.], 2013.

SOUZA, Rosa Cristina Corrà Luz de; CALAZANS, Sálvio Henrique;


SILVA, Edson Pereira. Impacto das espÃinvasoras no ambiente aquático. pt. CiÃe
Cultura, scielocec, v. 61, p. 35–41, 2009. ISSN 0009-6725. Disponível em:
http://cienciaecultura.bvs.br/scielo.php?script=sci_arttext&pid=S0009-
67252009000100014&nrm=iso.

VAMMEN, Katherine et al. Water Quality in the Americas. Risks and


Opportunities. [S.l.]: Inter-American Network of Academies of Sciences (IANAS-IAP),
mar. 2019. Disponível em: https://www.researchgate.net/publication/336854712_
Water_Quality_in_the_Americas_Risks_and_Opportunities.

VAZZI, Marcio Roberto Gonçalves de. O Arduıno e a Aprendizagem de Fısica: um kit


robótico para abordar conceitos e princıpios do Movimento Uniforme. Universidade
Estadual Paulista (UNESP), 2017.

Você também pode gostar