TCC Nicolas 2023
TCC Nicolas 2023
TCC Nicolas 2023
MINISTÉRIO DA EDUCAÇÃO
INSTITUTO FEDERAL DE MATO GROSSO
CAMPUS CUIABÁ – CEL. OCTAYDE JORGE DA SILVA
DEPARTAMENTO DE COMPUTAÇÃO
BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO
Cuiabá - MT
Junho 202
Nícolas Timoteu Cuerbas
Cuiabá - MT
Junho 2023
Dados internacionais de catalogação na fonte
Ficha catalográfica elaborada automaticamente de acordo com os dados fornecidos pelo(a) autor(a).
______________________________________
Prof. Me. Matheus Cândido Teixeira – Orientador
Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
______________________________________
Prof. Dr. Constantino Dias da Cruz Neto
Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
______________________________________
Prof. Dr. Juliana Fonseca Antunes
Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Cuiabá - MT
Junho 2023
DEDICATÓRIA
Não posso deixar de agradecer aos meus amigos e entes queridos que me apoiaram
emocionalmente durante todo o processo de pesquisa e redação deste trabalho. Os
encorajamentos foram fundamentais para superar os desafios. Por fim, expresso minha
profunda gratidão a todos os que contribuíram direta ou indiretamente para este trabalho. Seu
apoio e incentivo desempenharam um papel vital na minha jornada acadêmica.
RESUMO
Este trabalho apresenta uma abordagem para detecção de objetos utilizando a rede neural
YOLOv8, com foco na detecção da logo da instituição IFMT. A metodologia envolveu a
aquisição de imagens de uniformes para a construção de um conjunto de dados, seguida pela
anotação das imagens e treinamento do modelo. Posteriormente, foi realizada a implantação
do modelo utilizando FastAPI. Os resultados obtidos indicaram que não houve diferença
significativa em termos de precisão entre as versões YOLOv8n e YOLOv8s. No entanto,
observou-se que o YOLOv8n apresentou uma vantagem em relação ao tamanho, sendo quase
4 vezes menor que o YOLOv8s. E o tempo de inferência do YOLOv8n sendo quase a metade
do tempo. Este trabalho contribui fornecendo um guia prático para a construção de um banco
de imagens, treinamento de modelos de detecção de objetos e sua implantação.
This work presents an approach to object detection using the YOLOv8 neural network,
focusing on detecting the logo of the IFMT institution. The methodology involved acquiring
uniform images to build a dataset, followed by image annotation and model training.
Subsequently, the model was deployed using FastAPI. The results obtained indicated no
significant difference in accuracy between the YOLOv8n and YOLOv8s versions. However, it
was observed that YOLOv8n had an advantage in terms of size, being nearly 4 times smaller
than YOLOv8s. Additionally, the inference time of YOLOv8n was almost half the time. This
work contributes by providing a practical guide for building an image database, training
object detection models, and their deployment.
1 INTRODUÇÃO 13
1.1 PROBLEMA DE PESQUISA 13
1.2 OBJETIVO GERAL 14
1.3 OBJETIVO ESPECÍFICO 14
1.4 CONTRIBUIÇÕES 14
1.5 ORGANIZAÇÃO DO TRABALHO 15
2 FUNDAMENTAÇÃO TEÓRICA 16
2.1 PYTHON 16
2.2 API REST 16
2.3 WEB SCRAPING 17
2.4 WEBSOCKET 18
2.5 APRENDIZADO PROFUNDO 19
2.6 REDE NEURAL CONVOLUCIONAL 21
2.7 DETECÇÃO DE OBJETOS 22
2.8 MATRIZ DE CONFUSÃO 22
2.9 INTERSECTION OVER UNION 23
2.10 MEAN AVERAGE PRECISION 24
2.11 YOLO 25
3 METODOLOGIA 29
3.1 AQUISIÇÃO DAS IMAGENS 29
3.2 ANOTAÇÃO DAS IMAGENS 31
3.3 TREINAMENTO DO MODELO 32
3.4 IMPLEMENTAÇÃO 33
4 RESULTADOS E DISCUSSÕES 36
4.1 RESULTADOS DO TREINO 36
4.2 RESULTADOS DA IMPLEMENTAÇÃO 39
4.3 LIMITAÇÕES 40
41
5 CONCLUSÃO 42
6 TRABALHOS FUTUROS 43
REFERÊNCIAS 44
ANEXO 49
ANEXO A - Diagrama da arquitetura YOLOv8 50
APÊNDICE 51
Apêndice A - Link para código fonte da aplicação 52
13
1 INTRODUÇÃO
Com a tecnologia ficando cada vez mais sofisticada, com o rápido crescimento das
Inteligências Artificiais (IA), a área que mais se beneficiou foi a de aprendizagem profunda,
deep learning (DP). A qual foi possível memorizar e identificar padrões em texto, imagens, e
outros dados. Podendo estabelecer conexões entre dados por meio da análise e processar uma
grande quantidade de informações (Wu, 2021). Em termos de reconhecimento de objetos, o
algoritmo de deep learning tem como representante a rede neural convolucional,
convolutional neural networks (CNNs), que tem um maior precisão e velocidade de detecção
se comparada a outros métodos em dados espaciais (imagens, vídeos, etc). As CNNs se
dividem em dois tipos de algoritmos. Algoritmo de dois estágios baseados em detecção de
frame e classificação, como o algoritmo R-CNN, que tem alta precisão, mas a estrutura da sua
rede é mais lenta e com isso não tem o requisito para um reconhecimento de tempo real. O
outro é algoritmo de primeira ordem baseado em regressão, como SDD e You Only Look
Once(YOLO), com inferência mais rápida e praticabilidade mais forte, podendo detectar e
reconhecer objetos em tempo real (YAO, 2021).
Para identificação das logos seja em tempo real, pensando no caso da instituição.
Existem muitos uniformes feitos pelos alunos do Ensino Médio e Curso Superior. Além
daquele que a instituição tem como padrão de uniforme e vestimenta. Estes uniformes têm em
comum que é a logo da instituição. Então foi pensado que para identificar os uniformes
adequados, seria preciso achar a logo da instituição. E por consequência o sistema vai
identificar a logo em outros lugares. Como paredes e cartazes, mas para o escopo do trabalho
esta identificação é o suficiente.
1.4 CONTRIBUIÇÕES
As contribuições deste trabalho estão na abordagem prática adotada para o desafio de
detecção de logotipos da instituição. Devido a ausência de um conjunto de dados para a tarefa
específica de reconhecimento da logotipo da instituição, surgiu a necessidade de criar uma
base de dados personalizada. Atualmente, esse conjunto de dados é composto por 1.525
imagens.
Devido a limitação de tempo máquina no Google Colab e a restrição de memória da
GPU na versão gratuita fornecida, essa base está limitada em tamanho. Essa iniciativa
permitiu superar uma lacuna significativa no campo de reconhecimento de objetos fornecendo
uma base sólida para futuras pesquisas e aplicações práticas.
15
2 FUNDAMENTAÇÃO TEÓRICA
2.1 PYTHON
Segundo Martelli (2023), Python é uma linguagem de propósito geral. O seu criador
Guido van Rossum começou a desenvolvê-la em 1990. Ela é uma linguagem estável e de alto
nível, dinâmica, orientada a objetos e multiplataforma. Python é executada nas principais
plataformas de hardware e sistemas operacionais.
1
A URI "https://localhos:800/video/?link=https://www.video.com/video.mp4" é um exemplo de um endpoint
REST. O caminho do endpoint é "/video" e o recurso é representado por
"?link=https://www.video.com/video.mp4". Essa URI é usada para acessar um recurso específico relacionado a
vídeos por meio de uma solicitação HTTP.
17
● Todo URI começa com um scheme name(nome do esquema), que se refere a uma
especificação para atribuir identificadores dentro do esquema.
● Seguido por uma coluna com barra dupla “//”, se e apenas se o authority
component(componente de autoridade) estiver presente.
[nome do esquema]:[//autoridade]caminho[?requisição][#fragmento]
Fonte: Adaptado de SHARMA (2021).
Exemplos de URI:
● ftp://192.168.15.1:21/
● maito:[email protected]
● https://ifmt.edu.br/
● https://localhost:8000/video/index.html?link=https://video.com/video.mp4
Uma URL refere-se ao subconjunto de URI que identifica recursos por meio de uma
representação de seu mecanismo de acesso, ele representa um recurso web. URL identifica
uma página web correspondente na World Wide Web (WWW) (Lee, 2023).
Web Scraping, também conhecido como web extrator, é a técnica de extrair dados da
World Wide Web (WWW) e salvar em um arquivo de sistema ou em um banco de dados para
18
recuperação ou uma análise. O processo de extração de dados da Internet pode ser dividido
em dois passos: aquisição de recursos web e então extrair as informações desejadas.
Especificamente, o programa web scraping inicializa começa compondo uma requisição
HTTP para adquirir os recursos de um site desejado. Esta requisição pode ser formada por
uma URL conteúdo uma requisição GET ou um pedaço de mensagem HTTP com uma
requisição do tipo POST. (ZHAO, 2017).
Selenium é um programa que serve para compor uma solicitação HTTP, fornece
extensões para emular a interação do usuário com navegadores. Com ele é possível a
automatização de ações do usuário em um navegador real, WebDriver. Outra ferramenta é
Beautiful Soup faz a extração de informações em um HTML e XML, fornecendo funções
Pythonic convenientes para navegar, pesquisar e modificar(ZHAO, 2017; SELENIUM, 2023).
2.4 WEBSOCKET
Onde:
Xj : sinais de entrada
yk : sinais de saída
bk : bias
Embora cada neurônio realize um processamento simples, uma rede neural com
múltiplos neurônios é capaz de executar operações complexas através da interconexão
sináptica e do processamento em paralelo. E inspirado nele que nasceu o perceptron.
De acordo com Castro (2011), normalmente a métrica utilizada é a acurácia, mas ela é
ineficaz para cenários desbalanceados, uma forma melhor de avaliar é através da distinção dos
erros, que pode ser obtido por meio de uma matriz de confusão. Onde os elementos da
diagonal principal, que representa as decisões corretas, número de verdadeiro negativo (TN -
True Negative) e verdadeiro positivo (TP - True Positive). Enquanto na diagonal secundária
representa os erros cometidos, número de falso positivo (FP - False Positive) e falso negativo
(FN - False Negative).
23
Verdadeiro Falso
A sensibilidade (do inglês, recall), é uma métrica que mede a porcentagem do grupo
positivo que foi corretamente classificada, conforme pode ser observado na Equação 4, onde
TP é dividido pela soma de TP + FN. A precisão mede a porcentagem de amostras
classificadas como positivas que realmente são positivas, a expressão é dada na Equação 5,
onde o TP é dividido pela soma de TP com FP. (LUCHI; ADAMI, 2020). Ambas as métricas
variam no intervalo de [0, 1], onde o valor 1 indica 100% de acerto e 0 indica 100% de erro, a
porcentagem aceitável de acerto depende da dificuldade do conjunto de dados.
𝑇𝑃
𝑆𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 = 𝑇𝑃 + 𝐹𝑁
(4)
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 = 𝑇𝑃 + 𝐹𝑃
(5)
A precisão média, Average Precision AP, é o cálculo da média para cada classe.
Significa que podemos ter muitos valores de AP. E este valores AP tem um média que pode
ser obtida pela média da precisão média, Mean Average Precision (mAP). O IoU é calculado
para cada classe, equação 3. A mAP é padrão como uma para medir a precisão de um sistema
de detecção de objetos de todas as classes, obtendo a média de todos os APs, equação 4.
(SKÖLD, 2023).
1
𝐼𝑛𝑡𝑒𝑟𝑠𝑒𝑐𝑡𝑖𝑜𝑛 𝑜𝑣𝑒𝑟 𝑈𝑛𝑖𝑜𝑛 (𝐼𝑜𝑈) 𝑜𝑢 𝐴𝑃 = ∫ 𝑝(𝑟)𝑑𝑟 (3)
0
𝑛
1
𝑚𝐴𝑃 = 𝑛
∑ 𝐴𝑃(𝑘) (4)
𝑘=1
𝑛
1
𝑚𝐴𝑃@0. 5 = 𝑛
∑ 𝐴𝑃@0. 5𝑘 (5)
𝑘=1
2.11 YOLO
Segundo YAO (2021), o algoritmo YOLO, vê a imagem como um problema de
regressão linear com um pipeline simples e de alta performance. Conseguindo processar um
streaming de vídeo com um atraso de menos de 25s. Durante o processo de treinamento ele
consegue examinar toda a imagem com mais atenção, junto com as informações globais na
detecção de objetos. A ideia central é usar a imagem inteira como entrada da rede, e retornar
diretamente a posição da caixa delimitadora, bounding box, e a categoria à qual a caixa
delimitadora pertence na saída. No YOLO, cada caixa delimitadora é prevista pelas
características de toda a imagem, e cada caixa delimitadora contém cinco previsões e
confianças, que são relativas à unidade de grade no centro da caixa delimitadora de fronteira.
O quadro básico do YOLO são os seguintes: w e h são predições de largura e altura de toda
imagem (em relação a imagem inteira). YOLO é composto principalmente por três
componentes:
● Backbone: Uma rede neural convolucional que agrega e forma recursos de imagens
em diferentes tipos de granularidade de imagem;
● Neck: Uma série de camadas de redes que mistura e combina recursos de imagens e
passa os recursos de imagens para a camada de predição;
● Head: Ele pode prever recursos de imagem, gerar caixas delimitadoras e prever
categorias. A confiança indica a precisão da classificação sob a condição específica;
Para melhorar a precisão e acurácia do YOLO, foi proposto uma nova versão YOLOv2
em 2017. A nova estrutura de rede Darknet-19 foi projetada removendo completamente as
camadas de conexão da rede, e a normalizando em lote foi aplicada a cada camada.
Referenciado ao mecanismo de ancoragem do Faster R-CNN, o agrupamento k-means foi
usado para obter as caixas de ancoragem. Além disso, as caixas de predição foram treinadas
26
com predição direta, comparando com o YOLO, o YOLOv2 melhora muito a precisão e a
velocidade de detecção de objetos (SANG, 2018).
Na versão YOLOv3, ele tem uma camada de detecção em várias escalas para detectar o
alvo final, e a sua estrutura de rede é mais complexa do que o YOLOv2, o YOLOv3 prevê
caixas delimitadoras em diferentes escalas tornando-o mais eficaz para detectar alvos
pequenos que o YOLOv2 (TIAN, 2019). Ao fazer isso, recurso de diferentes escalas
(resolução) que podem ser efetivamente extraídas da imagem de entrada, excede assim o
limite da resolução única nos resultados da detecção (TENG, 2022). Como mostrado na
Figura 10, a camada de detecção utilizada dos mapas de recursos, feature maps, de três
tamanho diferentes, se utilizando de um fator de divisão conhecido como downsampling, de
32, 16 e 8 vezes o seu tamanho respectivamente. Se foi utilizada uma imagem de entrada com
resolução de 416 x 416, temos os mapas de recursos de 13x13, 26x26 e 52x52
respectivamente, dessa forma beneficiando a detecção de pequenos objetos (CHENG, 2020).
3 METODOLOGIA
O banco de imagens foi obtido pelo autor utilizando a linguagem Python utilizando
das técnicas de Web Scraping. Uma parte das imagens foram obtidas no site do Instituto
Federal Mato Grosso Campus Cuiabá-MT na seção galeria. O padrão observado foi que se no
link para o álbum não tivesse uma imagem, então este álbum não tem imagens.
Na Figura 13, como dito, o link “4º JIFMT – Jogos do Instituto Federal de Mato
Grosso” não tem imagens. Então o primeiro filtro foi capturar apenas links com fotos e após
isso entrar nessas páginas e salvar as imagens.
30
Figura 13: Seção álbuns do site do Instituto Federal Mato Grosso Campus Cuiabá-MT.
Para obter as imagens, foi realizada uma segunda etapa que envolveu o acesso à
página do Facebook, mais especificamente ao álbum intitulado "IFMT - Instituto Federal de
Mato Grosso's Photos". A Figura 14 apresenta uma visualização parcial desta página, que
continha várias imagens relevantes para o estudo em questão. Com o objetivo de evitar a
necessidade de abrir e salvar manualmente cada imagem, foi desenvolvido um script
utilizando a biblioteca Selenium. Esse script automatizou o processo, permitindo a obtenção
das imagens de forma mais eficiente e rápida. Essa abordagem foi adotada para agilizar a
coleta das imagens necessárias, garantindo a integridade do conjunto de dados e facilitando a
análise posterior.
Para contornar essa limitação, implementamos um mecanismo de delay de uma hora. Caso a
conexão fosse bloqueada, o programa aguardava uma hora antes de retomar a coleta dos links
das imagens, recomeçando a partir do último link salvo.
Figura 16: Estrutura de divisão da base de dados para o treinamento do modelo antes do argumentos.
3.4 IMPLEMENTAÇÃO
Ao enviar o arquivo de vídeo, o vídeo de saída é completo, mas não possui áudio. Ele
é convertido para o codec H.264, permitindo a visualização no navegador sem a necessidade
de baixá-lo e reproduzi-lo em um vídeo player no computador. A Figura 21 ilustra a página,
com o vídeo de saída sendo exibido à direita e a parte inferior da página mostrando o vídeo.
se tenta abrir outra conexão, quando já tem uma mensagem de aviso. A conexão termina
quando o usuário sai da página e o tempo de espera para abrir a próxima conexão com o
cliente é de 20 segundos, como mostrado na Figura 22, à esquerda mostra a imagem da
webcam enviada do servidor para o cliente, e na direita quando o socket está ocupado.
4 RESULTADOS E DISCUSSÕES
Nesta seção, serão apresentados os resultados obtidos pelo treinamento dos modelos
YOLOv8n e YOLOv8s, com as métricas obtidas foi feito um comparativo entre eles, também
será apresentado a implementação do modelo utilizando FastAPI e quais foram os resultados
obtidos e suas discussões.
Métricas
Tempo de
Modelo mAP50-95 mAP50 Precisão Parâmetros Tamanho
inferência
Como neste caso o modelo trabalha apenas com uma classe, o que é considerado
fundo e é detectado como fundo não será contado pois não tem uma amostra de outra classe
(Jocher 2023). Então em ambos os modelos ele sempre será zero como mostrado na Figura
24.
38
Figura 26: Diferença das caixas delimitadoras identificadas erroneamente entre os modelos. YOLOv8n(a), e
YOLOv8s(b).
Quanto ao envio de link para inferência de vídeo, a saída não entrega o vídeo por
completo saltando quadros, pois na implementação da biblioteca da Ultralyrics ele recebe o
link como um streaming de vídeo, e não como um arquivo. Se o vídeo tem 60fps significa que
cada quadro tem 16,667ms e se a inferência for feita em uma máquina leva cerca de 50
milissegundos. Significando que a 4 quadros do vídeo ele processaria um desses. E que ele
salva apenas o quadro que passou pela inferência. E se o tempo de inferência for menor ele
repete o quadro fazendo que a duração do vídeo seja maior.
4.3 LIMITAÇÕES
Uma das principais limitações deste trabalho reside na ausência de uma GPU local
para treinar os modelos de detecção de objetos. Tendo a dependência exclusiva da CPU para
treinamento local, resultando em tempos de treinamento significativamente mais longos e na
impossibilidade de explorar todo o potencial de aceleração oferecido por uma GPU dedicada.
Tornando o autor deste trabalho dependente da máquina disponível no Google Colab para
treinar os modelos, sendo extremamente desafiador treinar um modelo mais robusto como o
YOLOv8m. Além disso, a restrição de horas máquina disponíveis impossibilita o treinamento
dos modelos propostos por mais de 100 épocas, e explorar outras variáveis que o treinamento
de um modelo possui.
Uma outra limitação a ser considerada é a falta de uma GPU para acelerar as
inferências realizadas pela máquina de implementação. Afetando o desempenho e a
velocidade das inferências, uma vez que a GPU é capaz de processar cálculos paralelos de
forma mais eficiente. Como resultado, as inferências podem ser mais demoradas em
comparação com um sistema equipado com uma GPU adequada.
42
5 CONCLUSÃO
Além disso, também foi criada uma API que fornece um serviço de detecção de logo
em uniformes. A API utiliza o modelo desenvolvido neste trabalho para fazer a detecção do
logo na imagem. Uma das funcionalidades da API consiste em receber e retornar imagens
juntamente com as coordenadas da caixa delimitadora da posição da logo na imagem. Outra
funcionalidade é receber um vídeo, sendo ele um arquivo ou link, e retornar o vídeo com as
predições das caixas delimitadoras. Os resultados mostram que o sistema é capaz de detectar
logos presentes em vídeos e imagens, porém é necessário hardware com uma capacidade
elevada para melhorar a precisão do modelo e para acelerar o processo de inferência.
6 TRABALHOS FUTUROS
Para trabalhos futuros, seria interessante explorar alternativas para ajustar o tempo de
Keep-alive da conexão. Isso pode ajudar a otimizar a comunicação entre o servidor e o
cliente, melhorando a eficiência e a estabilidade do sistema. Uma outra sugestão é investigar o
desempenho de modelos mais avançados, como o YOLOv8m ou versões superiores, esses
modelos têm arquiteturas mais complexas e podem oferecer melhores resultados em termos
de precisão e detecção de objetos.
REFERÊNCIAS
ALMEIDA JUNIOR, Israel Nunes de; BARROS, Pedro Henrique Guimarães. Data Mining.
In: ALMEIDA JUNIOR, Israel Nunes de; BARROS, Pedro Henrique Guimarães. Análise dos
Tipos de Gravação Sonora para Identificação da Doença de Parkinson Utilizando
Machine Learning. 2018. Relatório de Projeto de Pesquisa (Doutorado) - Universidade
Federal do Rio de Janeiro, [S. l.], 2018. Disponível em:
<https://www.researchgate.net/publication/326546843_Analise_dos_Tipos_de_Gravacao_Son
ora_para_Identificacao_da_Doenca_de_Parkinson_Utilizando_Machine_Learning>. Acesso
em: 2 jun. 2023.
BUDUMA, Nithin; BUDUMA, Nikhil; PAPA, Joe. Fundamentals of deep learning. 2. ed.
Sebastopol: O‘Really Media, Inc., 2017.
CHENG, Zhe et al. YOLOv3 Object Detection Algorithm with Feature Pyramid Attention for
Remote Sensing Images. Sensors & Materials, v. 32, 2020. Disponível em:
<https://doi.org/10.18494/SAM.2020.3130>. Acesso em: 7 mar. 2023.
CHEN, Zhaoyi et al. Plant disease recognition model based on improved YOLOv5.
Agronomy, v. 12, n. 2, p. 365, 2022. Disponível em:
<https://doi.org/10.3390/agronomy12020365>. Acesso em: 10 mar. 2023.
CORREIA, Igor Bispo de Moraes Coelho. Redes neurais profundas. In: CORREIA, Igor
Bispo de Moraes Coelho. Detecção de desmatamento em imagens de SAR usando redes
neurais profundas. 2021. Adicionais: Trabalho de conclusão de curso (Bacharelado) -
Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da
Computação, [S. l.], 2021. Disponível em: <https://bdm.unb.br/handle/10483/31188>. Acesso
em: 24 maio 2023.
DENG, Li; YU, Deng. Deep Learning: Methods and Applications. Foundations and
Trends® in Signal Processing, [S. l.], v. 7, p. 197-387, 30 jun. 2014. DOI
http://dx.doi.org/10.1561/2000000039. Disponível em:
<https://nowpublishers.com/article/Details/SIG-039>. Acesso em: 1 maio 2023.
FURTADO, Maria Inês Vasconcellos. Redes Neurais Artificiais: Uma Abordagem Para
Sala de Aula. [S. l.: s. n.], 2019. ISBN 978-85-7247-326-2. Disponível em:
<http://educapes.capes.gov.br/handle/capes/432794>. Acesso em: 1 jul. 2023.
GAI, Rongli; CHEN, Na; YUAN, Hai. A detection algorithm for cherry fruits based on the
improved YOLO-v4 model. Neural Computing and Applications, [S. l.], v. 35, p.
13895–13906, 26 jun. 2021. DOI https://doi.org/10.1007/s00521-021-06029-z. Disponível
em: <https://link.springer.com/article/10.1007/s00521-021-06029-z>. Acesso em: 25 maio
2023.
SERRANO, Albert Soto i; PEÑA, López; MANUEL, Antonio. YOLO Object Detector for
Onboard Driving Images. 2017. Trabalho de conclusão de curso (Graduação em Engenharia
de Computação) - Universitat Autonoma de Barcelona, [S. l.], 2017. Disponível em:
<https://ddd.uab.cat/record/181557>. Acesso em: 17 maio 2023.
JOCHER, Glenn. 2023. Yolov5 confusion matrix with background FP=1 and TN=0
Disponível em: <https://github.com/ultralytics/yolov5/issues/11194>. Acesso em: 8 jun. 2023.
SANTOS JUNIOR, Juarez Monteiro dos. Analisando a viabilidade de deep learning para
reconhecimento de ações em datasets pequenos. 2018. Dissertação de Mestrado. Pontifícia
Universidade Católica do Rio Grande do Sul. Disponível em:
<https://tede2.pucrs.br/tede2/handle/tede/8036>. Acesso em: 18 mai. 2023.
KUKIL. 2022. “Intersection over Union (IoU) in Object Detection & Segmentation.”
Disponível em:
<https://learnopencv.com/intersection-over-union-iou-in-object-detection-and-segmentation/>
. Acesso em: 8 jun. 2023.
46
LEE, Sang Ho; KIM, Sung Jin; HONG, Seok Hoo. On URL normalization. In: International
Conference on Computational Science and Its Applications. Berlin, Heidelberg: Springer
Berlin Heidelberg, 2005. p. 1076-1085.Disponível em
<https://doi.org/10.1007/11424826_115> .Acesso em: 16 jun. 2023.
Library of Congress. URI Generic Syntax -- Summary: URI Resource Pages - IFLA
CDNL Alliance for Digital Standards (ICABS) (Standards - Library of Congress). 2007.
Disponível em: <https://www.loc.gov/standards/uri/generic.html> Acesso em: 16 jun. 2023.
LIU, Yang; WANG, Yongfu; LI, Yang; LI, Qiansheng; WANG, Jian. SETR-YOLOv5n: A
Lightweight Low-Light Lane Curvature Detection Method Based on Fractional-Order Fusion
Model. IEEE Access, [S. l.], p. 93003 - 93016, 1 set. 2022. Disponível em:
<https://ieeexplore.ieee.org/abstract/document/9874851>. Acesso em: 10 abr. 2023.
LUCHI, Lucas; ADAMI, Andre. (2020). Deep Learning aplicado a inspeção visual da
presença de um componente de conjunto de eixo. Scientia cum Industria. 8. 135-144. 2020 .
Disponível em: <http://dx.doi.org/10.18226/23185279.v8iss2p135>. Acesso em: 8 jun. 2023.
MANUABA, I. B. P.; RUDIASTINI, E. API REST web service and backend system of
lecturer’s assessment information system on politeknik negeri bali. In: Journal of Physics:
Conference Series. IOP Publishing, 2018. p. 012069. Disponível em:
<https://iopscience.iop.org/article/10.1088/1742-6596/953/1/012069>. Acesso em: 8 mar.
2023.
MARTINS, Roberto Augusto Philippi. API REST Web service and backend system Of
Lecturer’s Assessment Information System on Politeknik Negeri Bali. In: MARTINS,
Roberto Augusto Philippi. Aplicação de Redes Convolucionais Profundas para Detecção
de Massas em Mamografias. 2019. Trabalho de conclusão de curso (Graduação) -
Universidade Federal de Santa Catarina. Centro Tecnológico. Engenharia Eletrônica., [S. l.],
2019. Disponível em: <https://repositorio.ufsc.br/handle/123456789/197793>. Acesso em: 9
abr. 2023.
MUNIN, Alicia, et al. Real Time Vessel Detection Model Using Deep Learning
Algorithms for Controlling a Barrier System, 2023. Disponível em:
<https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4423353>. Acesso em: 9 abr. 2023.
REN, Z.; ZHANG, H.; LI, Z. Improved YOLOv5 Network for Real-Time Object Detection in
Vehicle-Mounted Camera Capture Scenarios. Sensors, v. 23, n. 10, p. 4589, 9 mai 2023.
Disponível em: <https://www.mdpi.com/1424-8220/23/10/4589>. Acesso em: 12 mai. 2023.
ROSEBROCK, Adrian. 2016. Intersection over Union (IoU) for object detection.
Disponível em:
<https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/>.
Acesso em: 8 jun. 2023.
47
SANG, Jun et al. An improved YOLOv2 for vehicle detection. Sensors, v. 18, n. 12, p. 4272,
2018. Disponível em: <https://www.mdpi.com/1424-8220/18/12/4272>. Acesso em: 9 mar.
2023.
SHARMA, Sourabh. Modern API Development with Spring and Spring Boot: Design
highly scalable and maintainable APIs with REST, gRPC, GraphQL, and the reactive
paradigm. Packt Publishing Ltd, 2021.
SKÖLD, Jesper. Automatic quality assessment of formed fiber products via Computer
Vision and Artificial Intelligence. Dissertation, 2023. Disponível em:
<https://urn.kb.se/resolve?urn=urn:nbn:se:hh:diva-50376>. Acesso em: 5 jun. 2023.
SOLAWETZ, Jacob. Train, Validation, Test Split for Machine Learning. [S. l.], 4 set.
2020. Disponível em: <https://blog.roboflow.com/train-test-split/>. Acesso em: 2 jul. 2023.
TENG, Shuai; LIU, Zongchao; LI, Xiaoda. Improved YOLOv3-Based Bridge Surface Defect
Detection by Combining High-and Low-Resolution Feature Images. Buildings, v. 12, n. 8, p.
1225, 2022. Disponível em: <https://www.mdpi.com/2075-5309/12/8/1225>. Acesso em: 2
abr. 2023.
TIAN, Yunong et al. Apple detection during different growth stages in orchards using the
improved YOLO-V3 model. Computers and electronics in agriculture, v. 157, p. 417-426,
2019. Disponível em: <https://dl.acm.org/doi/abs/10.1016/j.compag.2019.01.012>. Acesso
em: 21 mar. 2023.
WANG, V., Salim, F., & Moskovits, P. (2013). The Definitive Guide to HTML5
WebSocket. New York: Apress, 2013.
YAO, Jia et al. A real-time detection algorithm for Kiwifruit defects based on YOLOv5.
Electronics, v. 10, n. 14, p. 1711, 2021. Disponível em:
<https://www.mdpi.com/2079-9292/10/14/1711>. Acesso em: 21 jan. 2023.
YU, Jimin; ZHANG, Wei. Face mask wearing detection algorithm based on improved
YOLO-v4. Sensors, v. 21, n. 9, p. 3263, 2021. Disponível em:
<https://doi.org/10.3390/s21093263>. Acesso em: 20 jan. 2023.
48
ZOPH, Barret et al. Learning data augmentation strategies for object detection. In: Computer
Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020,
Proceedings, Part XXVII 16. Springer International Publishing, 2020. p. 566-583.
Disponivel: <https://arxiv.org/abs/1906.11172> Acesso em: 15 jun. 2023.
49
ANEXO
50
APÊNDICE
52