Prévia do material em texto
UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE CURSO INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONAL PARA DETECÇÃO DE EQUIPAMENTOS DE PROTEÇÃO INDIVIDUAL EM ÁREA DE CONSTRUÇÃO CIVIL Daniel Augusto Pinto Pereira Junior - N702JA-8 Gabriel Bateli de Siqueira Neves - G2413G-7 Jaqueline Jaques dos Santos - G28989-7 João Marcelo Trigo Santos - N7223C-8 2 Yan Benjamin Pereira - N66128-3 SÃO JOSÉ DOS CAMPOS 2024 SÃO JOSÉ DOS CAMPOS 2024 Daniel Augusto Pinto Pereira Junior - N702JA-8 Gabriel Bateli de Siqueira Neves - G2413G-7 Jaqueline Jaques dos Santos - G28989-7 João Marcelo Trigo Santos - N7223C-8 Yan Benjamin Pereira - N66128-3 INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONAL PARA DETECÇÃO DE EQUIPAMENTOS DE PROTEÇÃO INDIVIDUAL EM ÁREA DE CONSTRUÇÃO CIVIL Trabalho de Curso apresentado ao Instituto de Ciências Exatas e Tecnologia da Universidade Paulista, como parte dos requisitos necessários para a obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Lamartine Nogueira Frutuoso Guimarães UNIVERSIDADE PAULISTA CURSO DE CIÊNCIA DA COMPUTAÇÃO SÃO JOSÉ DOS CAMPOS / 2024 Daniel Augusto Pinto Pereira Junior - N702JA-8 Gabriel Bateli de Siqueira Neves - G2413G-7 Jaqueline Jaques dos Santos - G28989-7 João Marcelo Trigo Santos - N7223C-8 Yan Benjamin Pereira - N66128-3 INTELIGÊNCIA ARTIFICIAL PARA DETECÇÃO DE EQUIPAMENTOS DE PROTEÇÃO INDIVIDUAL EM ÁREA DE CONSTRUÇÃO CIVIL APROVADO EM ____/____/____ BANCA EXAMINADORA __________________________________/____/____ Prof. Dr. Lamartine Nogueira Frutuoso Guimarães - Orientador Universidade Paulista – UNIP __________________________________/____/____ Prof. - Membro da Banca Universidade Paulista – UNIP Este trabalho é dedicado aos nossos pais, pois é graças aos seus esforços que hoje podemos concluir o nosso curso e dar um passo adiante aos nossos sonhos. AGRADECIMENTOS Agradecemos ao nosso orientador Professor Doutor Lamartine Nogueira Frutuoso Guimarães por ter nos guiado durante a produção desse projeto e por fim agradecemos a instituição educacional UNIP por proporcionar todo material e conhecimento adquirido durante a realização do curso de ciência da computação. Aprender é a única coisa de que a mente nunca se cansa, nunca tem medo e nunca se arrepende. Leonardo da Vinci (1452-1519) RESUMO Segurança é um fator muito importante em uma área de trabalho, principalmente quando se trata de um funcionário que trabalha em um setor onde existem um certo nível de risco, como por exemplo em certos setores industriais, produção, e especialmente na construção civil, e é exatamente por essa razão a existência de EPI (Equipamento de Proteção Individual), para oferecer uma camada maior de segurança para o operário durante o seu expediente. Porém, existem certos cenários onde as pessoas não levam isso em consideração durante seu trabalho, e acabam se tornando vítimas de um acidente dentro de seu setor, e com o passar dos anos, esses incidentes se tornaram mais frequentes. O objetivo deste trabalho é de criar um sistema com Processamento de Imagens e Inteligência Artificial para identificar irregularidades dentro da área de trabalho da Engenharia Civil, com a identificação de equipamentos e utensílios, e em caso de irregularidades, notificar a área da segurança. Palavras-chave: Visão Computacional, Python, Yolov8, Inteligência artificial, Segurança do trabalho, Equipamentos de proteção individual. ABSTRACT Safety is a very important factor in a workplace, especially when it involves an employee working in a sector where there is a certain level of risk, such as in certain sectors of industrial companies, production, and especially in the construction industry. It is precisely for this reason that PPE (Personal Protective Equipment) exists, to offer an additional layer of safety for the worker during their shift. However, there are certain scenarios where people do not take this into consideration during their work and end up becoming victims of an accident within their sector, and over the years, these incidents have become more frequent. The objective of this work is to create a system with Image Processing and Artificial Intelligence to identify irregularities within the work area of Civil Engineering, with the identification of equipment and utensils, and in case of irregularities, notify the safety area. Keywords: Computer Vision, Python, Yolov8, Artificial Intelligence, Occupational Safety, Personal Protective Equipment. LISTA DE ILUSTRAÇÕES Figura 1 - Word Cloud, Fundação da Inteligência Artificial 25 Figura 2 - Conjunto de EPIs 29 Figura 3 - Colete Refletivo 30 Figura 4 - Capacete de Segurança 31 Figura 5 - Luva de Segurança 31 Figura 6 - Protetor Auricular 32 Figura 7 - Máscara de Proteção 33 Figura 8 - Óculos de proteção 33 Figura 9 - Calçados de Segurança 34 Figura 10 - Hierarquia de aprendizado 39 Figura 11 - Exemplo de uma Rede Neural 40 Figura 12 - Funcionamento YOLO Bounding Boxes 41 Figura 13 - Top 10 linguagens de programação mais utilizadas de 2024 42 Figura 14 - Funções dos capacetes de segurança Wang, Zijian. 49 Figura 15 - Modelo Arquitetura Física do Projeto 51 Figura 16 - Câmera IP Yoosee 54 Figura 17 - Especificações Câmera Yoosee 55 Figura 18 - Posicionamento da câmera 56 Figura 19 - Diagrama de Classes 57 Figura 20 - Diagrama de Classe de Uso 58 Figura 21 – Interface: Tela de Login 59 Figura 22 - Interface: Mensagem Erro de Login 60 Figura 23 – Interface: Tela de Cadastro 60 Figura 24 - Interface: Tela Principal do Software 61 Figura 25 – Interface: Diretório de Captura 62 Figura 26 - Matriz de confusão do modelo 63 Figura 27 - Exemplo dos vídeos de teste 64 Figura 28 - Exemplo da câmera de frente 65 LISTA DE TABELAS Tabela 1 - Setores de Atividade Econômica com mais acidentes no Brasil. 27 Tabela 2 - Requisitos Funcionais do Software 52 Tabela 3 - Requisitos Não Funcionais do Software 53 Tabela 4 - Caso de Uso: Acesso às câmeras 75 Tabela 5 - Caso de Uso: Requisitar Fotos Salvas 76 Tabela 6 - Caso de Uso: Deletar Foto 77 Tabela 7 - Caso de Uso: Detecção de Falta de EPI 78 Tabela 8 - Caso de Uso: Captura de Imagem com Trabalhador sem EPI 79 Tabela 9 - Caso de Uso: Salvar Imagem Coletada Localmente 80 Tabela 10 Caso de Uso: Notificação ao Administrador Sobre a Imagem Capturada 81 LISTA DE ABREVIATURAS E SIGLAS AEPS - Anuário Estatístico de Previdência Social APR - Análises Preliminares de Risco API - Application Programming Interface AWS - Amazon Web Services CNN - Convolutional Neural Network COCO - Common Objects in Context EPI - Equipamento de Proteção Individual GB – Gigabyte GPU – Graphics Processing Unit GPS - Global Positioning System IA – Inteligência Artificial IDE – Integrated Development Environment IoU - Interseção sobre União IP - Internet Protocol HD – High Definition LASSOP - Laboratório de Sistema de Separação e Otimização de Processos mAP - Mean Average Precision MLP – Multi Layer Perceptron ONU - Organização das Nações Unidas RAM - Random Access Memory RNC – Rede Neural Convolucional RSTP – Rapid Spanning Tree Protocol SGBD - Sistema de Gerenciamento de Banco de Dados SQL - Structured Query Language SQLite - Structured Query Language Lite SSD - Single Shot Multibox Detector XOR – Or Exclusivo WIFI - Wireless Fidelity YOLO – You Only Look Once YOLOR - You Only Learn One Representation SUMÁRIO AGRADECIMENTOS 9 RESUMO 13 ABSTRACT 15 LISTA DE ILUSTRAÇÕES 17 LISTA DE TABELAS 19 LISTA DE ABREVIATURAS E SIGLAS 21 SUMÁRIO 23 1 INTRODUÇÃO 25 1.1 Motivação 26 1.2 Definição do Problema 28 1.3 Objetivo Geral 28 1.4 Objetivos Específicos 28 2 REFERENCIAL TEÓRICO 29 2.1 Conhecimento Básico 29 2.1.1 Equipamentos de Proteção Individual 29 2.1.2 Visão Computacional 35 2.1.3 Redes Neurais Convolucionais 36 2.1.4 Inteligência Artificial 37 2.1.5 Aprendizado de Máquina 38 2.1.6 Aprendizado Profundo 39 2.2 Conhecimento de Ferramentas 41 2.2.1 YOLO 41 2.2.2 Python 42 2.2.3 Git e Github43 2.2.4 Roboflow 44 2.2.5 SQLite 44 3 METODOLOGIA 45 4 TRABALHOS RELACIONADOS 47 4.1 Detecção de EPIs através de uma CNN 47 4.2 Safety Helmet Detection in Industrial Environment using Deep Learning 48 4.3 Fast Personal Protective Equipment Detection for Real Construction Sites Using Deep Learning Approaches 49 4.4 Avaliação da Aplicação da Inteligência Artificial na Detecção do Uso de Equipamentos de Proteção Individual em Ambientes de Trabalho 50 5 PROJETO 51 5.1 Arquitetura física do projeto 51 5.2 Análise de requisitos 52 5.2.1 Requisitos funcionais 52 5.2.2 Requisitos não funcionais 53 5.3 Especificação e posicionamento da câmera. 54 5.3.1 Especificação de modelo e funcionalidade da câmera. 54 5.3.2 Informações sobre o posicionamento da câmera e modo de captura dos das imagens. 56 5.4 Diagrama de Classes 57 5.5 Diagrama de Casos de Uso 58 5.5.1 Descrição dos Casos de Uso 58 5.6 Descrição da interface do projeto 58 5.6.1 Tela de Login 59 5.6.2 Falha do Login 59 5.6.3 Tela de Cadastro 60 5.6.4 Tela da Aplicação 61 6 TESTES E RESULTADOS 63 6.1 Validação do modelo 63 7 TRABALHOS FUTUROS 67 8 CONCLUSÃO 69 REFERÊNCIAS 71 APÊNDICE A - DETALHAMENTO DOS CASOS DE USO 75 1 INTRODUÇÃO O fascínio pela criação de máquinas capazes de pensar marcam a história com raízes que se estendem desde a Grécia antiga. Dentro do misticismo grego são descritas as figuras de Pigmalião, Dédalo e Hefesto que podem ser retratados como inventores e Galatea, Talos e Pandora interpretados como exemplos de vida artificial. (Goodfellow et al, 2016). A inteligência artificial (IA), como a conhecemos hoje, é fruto da convergência de diversos saberes. A sua formação tem como base diversas ideias, perspectivas e métodos de diferentes ramos do conhecimento. (Russell, S.J. et al, 2009). A figura 1 apresenta as principais disciplinas e questionamentos que auxiliaram na fundação da IA. Figura 1 - Word Cloud, Fundação da Inteligência Artificial Fonte: De autoria própria, 2024 No meio século 20 é criado o Logic Theorist, um dos primeiros sistemas inteligentes. Inventado por Herbert Simon e Allen Newell, tinha o objetivo de verificar a veracidade de teoremas matemáticos. A IA se desenvolveu gradativamente com o passar dos anos se tornando uma área próspera com diversas aplicações tanto para o cotidiano como para o desenvolvimento científico e tecnológico. (Goodfellow et al, 2016). 1.1 Motivação Acidentes de trabalho sempre foram uma questão de grande importância e preocupação ao longo da história. De acordo com estimativas da Organização das Nações Unidas (ONU), a cada ano, em média, cerca de 2 milhões de pessoas no mundo perdem suas vidas em acidentes ocorridos no local de trabalho. Além disso, mais de 374 milhões de pessoas sofrem acidentes não fatais (ONU, 2021) que, apesar de não resultarem em morte, são causa de lesões incapacitantes e até permanentes, afetando profundamente a qualidade de vida dos trabalhadores envolvidos. Atualmente, na era da quarta revolução industrial, a indústria 4.0 é responsável pela integração e adaptação de uma série de tecnologias avançadas no mercado de trabalho, com o objetivo de aumentar a manufatura e reduzir os impactos dos erros humanos, sendo a automação industrial e a inteligência artificial extensivamente discutidas no cenário científico (Silva. A. P. et al, 2023). A área construção civil é destacada como uma das áreas que mais tem utilizado as tecnologias de inteligência artificial em projetos para reduzir o número acidentes no local de trabalho. (Gnoni, M. G et al, 2020). No Brasil, a utilização da inteligência artificial e outras tecnologias vertentes da indústria 4.0 ainda são recursos pouco utilizados nas empresas. Tal que, segundo dados apresentados em notícia do Uol, mostra que o Brasil em 2024 ocupa a 62ª posição no ranking de competitividade mundial. Tal ranking é realizado pelo International Institute for Management Development, onde são classificados 67 países, atribuindo importância a mais de 300 critérios de avaliação de competitividade entre os países participantes. (Carneiro, Leandro 2024) O Anuário Estatístico de Previdência Social (AEPS) aponta que foram registradas aproximadamente 648.366 notificações de acidentes relacionados à jornada de trabalho no país, sendo 42.462 destes relacionados a área de construção civil, o que representa uma média 6,5% de todos os acidentes de trabalho no ano. Segundo dados apresentado pelo Observatório de Segurança e Saúde no Trabalho, no ano de 2022 registrava-se 1 óbito de trabalhadores com carteira assinada a cada 3 horas 47 minutos (SmartLab, 2022). A tabela 1 mostra alguns dos setores de atividade que tiveram mais acidentes laborais no país nos anos de 2021 e 2022. Tabela 1 - Setores de Atividade Econômica com mais acidentes no Brasil. Número de acidentes em 2021 Número de acidentes em 2022 Acidentes Totais 580.833 648.366 Saúde e Serviços Sociais 87.353 95.997 Comércio e Reparação de Serviços Automotores 85.775 93.216 Serviços Prestados Principalmente a Empresas 44.525 59.147 Produtos Alimentícios e Bebidas 45.702 46.612 Construção 36.369 42.462 Transporte, Armazenagem e Correios 36.968 38.938 Fonte: Adaptado de AEPS (2021/2022 capítulo 31.7) 1.2 Definição do Problema Em relação a construção civil, como a visão computacional e a inteligência artificial pode auxiliar na prevenção de acidentes de trabalho causados por falta de equipamentos de proteção individual? A visão computacional e inteligência artificial, trabalham em colaboração para detectar a falta de uso de EPI’S no ambiente da construção civil, auxiliando na prevenção de acidentes. 1.3 Objetivo Geral O objetivo desse trabalho é a elaboração de um sistema baseado em visão computacional e inteligência artificial que realize a deteção de equipamentos de proteção individual (EPI’s) em funcionários, com o propósito de auxiliar na diminuição de acidentes de trabalho ocasionados pela ausência de seu uso no contexto de um canteiro de obras de uma construção civil. 1.4 Objetivos Específicos · Obter os dados para treinamento do sistema através de conjuntos de dados (datasets) presentes na internet. · Realizar o treinamento do sistema através dos datasets obtidos. · Garantir que o sistema realizará a deteção de 3 EPIs. · Fazer que o sistema entregue os alertas gerados ao chefe segurança. 2 2 REFERENCIAL TEÓRICO 2.1 Conhecimento Básico 2.1.1 Equipamentos de Proteção Individual Os equipamentos de proteção individual, conhecidos popularmente como EPI’s, são dispositivos destinados a proteção de um indivíduo durante a realização de determinadas atividades que possam trazer algum risco à sua saúde. Sua principal função é garantir a segurança do trabalhador, evitando possíveis danos ou acidentes de trabalho. Figura 2 - Conjunto de EPIs Fonte: ELASTA (2021) 2.1.1.1 Colete Refletivo O colete refletivo, também conhecido como colete de segurança, é uma peça que tem como finalidade aumentar a visibilidade do usuário, auxiliando a identificação da pessoa em ambientes de baixa luminosidade. Os coletes costumam ser em cores como amarelo, laranja ou verde limão, que são cores bem visíveis, e acompanham faixas refletivas que brilham na presença de luz, como uma lanterna ou faróis de um carro. Figura 3 - Colete Refletivo Fonte: Google Imagens, Loja online Zeus do Brasil (2024) 2.1.1.2 Capacete de Segurança O capacete de segurança é um item utilizado em diversos setores com o intuito de proteger a cabeça do trabalhador contra impactos, que podem ocorrer por queda de materiais, ou do próprio indivíduo de uma certa altura. Há modelos de capacete que também oferecem uma proteção extra contra possíveis choques elétricos. (INBRAEP, 2019) Os capacetes de segurança também funcionam como uma forma de identificação de cada operador, segue uma breve de lista de exemplos: · Capacete Amarelo: Visitante · Capacete Azul: Pedreiros · Capacete Verde: Serventes, operários e técnico em segurança do trabalho · Capacete Branco: Engenheiro, estagiário, mestre de obra· Capacete Vermelho: Carpinteiros, bombeiros. Figura 4 - Capacete de Segurança Fonte: Google Imagens, loja online Delta Plus (2024) 2.1.1.3 Luvas de Segurança O principal papel das luvas é proteger as mãos do funcionário que trabalha em ambientes de risco. As luvas auxiliam ao manipular produtos químicos e objetos cortantes, elas também são fundamentais para evitar possíveis queimaduras. (CISZ, Cleiton Rodrigo, 2015) Figura 5 - Luva de Segurança Fonte: Google Imagens, loja online Worker (2024) 2.1.1.4 Protetor Auricular Protetor Auricular/Abafador é um equipamento usado para proteger a audição, evitando danos aos tímpanos que podem levar à perda auditiva. São itens muito utilizados por trabalhadores que operam máquinas ou atuam em áreas que emitem uma grande frequência sonora. Seu uso se torna obrigatório quando a frequência é acima de 85 decibéis. É altamente recomendado que estes equipamentos sejam confortáveis e que estejam sempre limpos, sendo de grande importância que sejam substituídos com frequência, para higienização mensal ou de acordo com a periodicidade de utilização. (SILVA, 2009) Figura 6 - Protetor Auricular Fonte: Google Imagens, Loja online 3M (2024) 2.1.1.5 Máscara de Proteção Máscara de Proteção tem como propósito evitar a contaminação através da boca e nariz, por contato de gotículas e fluidos químicos. Na indústria seu uso também é feito para evitar incidentes por inalação de substâncias toxicas, poeiras e gases que podem causar danos à saúde. (UFES, 2013) Figura 7 - Máscara de Proteção Fonte: Google Imagens, Loja online 3M 2024 2.1.1.6 Óculos de proteção Os óculos de segurança têm como função a proteção dos olhos de elementos como partículas de poeira, pequenos pedaços de madeira e outros impactos físicos que oferecem risco de perfuração dos olhos ou prejudiquem a visão ao trabalhador. Este equipamento é utilizado em diversos segmentos da indústria e construção civil. (CISZ, Cleiton Rodrigo, 2015) Figura 8 - Óculos de proteção Fonte: Google Imagens, Loja online Delta Plus 2024 2.1.1.7 Calçados de segurança Para proteção dos membros inferiores se faz necessário o uso de calçados de segurança durante toda a jornada de trabalho do funcionário, para que seja evitado o risco de perfuração e laceração dos pés. Em casos de muita umidade do solo é recomendado a utilização de botas de borracha. (Silva, 2009) Figura 9 - Calçados de Segurança Fonte: Google Imagens, Loja online Wurth, 2024 2.1.2 Visão Computacional Como o próprio nome sugere, visão computacional é um campo responsável por dar a “visão” às máquinas, ou seja, permite que os computadores “enxerguem” o mundo ao seu redor. Isso é realizado por meio de imagens capturadas por dispositivos, que são processadas para obter informações. (MILIANO e HONORATO, 2010) Inicialmente visto na década de 50, a visão computacional se mostrou um grande desafio, principalmente pela falta de informações e modelos que pudessem representar a forma como o ser humano enxerga os objetos, parte disso se dá pela localização do objeto na imagem, muitas vezes ele se encontra em uma posição que não o define muito bem, parecendo ser outra coisa. Alguns pesquisadores se concentram em estudar o córtex visual do cérebro para então aplicar isso a visão computacional. Embora seja uma tecnologia nova, seu uso já está empregado no nosso dia a dia, como nas câmeras de celulares que já possuem o reconhecimento facial. (MILIANO e HONORATO, 2010) O objetivo da visão computacional é utilizar informações das imagens observadas para inferir algo sobre o mundo, seja identificando objetos em uma imagem, realizando análise de movimento em um vídeo, ou realizando uma reconstrução 3D. Essas informações podem ser medidas de distância, tamanho, cor, etc. O problema se torna complexo quando as medidas podem variar dependendo da posição do objeto e da intensidade da luz. Um objeto pequeno pode se tornar maior que outro caso a distância mude, tal como a cor de um objeto pode mudar totalmente se a luz do ambiente mudar de intensidade. De acordo com o autor, para resolver um problema desse tipo são necessários três componentes: Um modelo que consiga relacionar o mundo real com os dados visuais, um algoritmo de aprendizado que possa ajustar os parâmetros recebidos do modelo anterior e um algoritmo de inferência que receba uma nova observação e utilize o modelos do mundo real. (PRINCE, 2012) A visão computacional nos permite identificar objetos mais simples com eficiência, no entanto, quando um problema se torna complexo os resultados podem não ser tão precisos. Utilizar uma técnica de aprendizado de máquina para problemas de visão computacional pode melhorar os resultados obtidos. (PRINCE, 2012) 2.1.3 Redes Neurais Convolucionais Os algoritmos de aprendizado de máquinas vêm evoluindo cada vez mais com o passar do tempo, especialmente as redes neurais. O Perceptron, desenvolvido por Frank Rosenblatt, é capaz de resolver problemas linearmente separáveis, mas se limitava a problemas com complexidades maiores, como o problema do XOR. Ao adicionar mais uma camada, criando assim o Perceptron de múltiplas camadas (MLP), o algoritmo conseguiu resolver problemas mais complexos, junto com o backpropagation se torna um algoritmo poderoso. Uma rede neural utiliza um modelo de neurônios, que são baseados nos neurônios humanos, onde é recebido um dado, somado com o peso, com o bias e então passado por uma função de ativação. A MLP funciona da mesma maneira, mas a diferença é o algoritmo de correção de erros que automaticamente altera os pesos dos neurônios para corrigir os erros das classificações. (RAUBER, 2005) Uma Rede Neural Convolucional (RNC) funciona de maneira semelhante a MLP, a diferença é que a RNC emprega uma operação matemática chamada de convolução, que é um tipo de operação linear, feita em pelo menos uma de suas camadas de neurônios. (GOODFELLOW et al, s.d.) A convolução é um operador linear que faz a junção de duas funções em uma terceira, isso é feito deslocando uma função sobre a outra e calculando como elas se sobrepõem ao longo de tempo. O resultado é uma nova função que mostra como as duas funções se interagem a cada ponto ao longo desse deslocamento. Em outras palavras, a convolução utiliza uma matriz contendo os valores dos pixels de uma imagem, uma segunda matriz, chamada de Kernel (um filtro), vai se deslocando sobre a imagem original e soma os valores do filtro com os elementos da imagem, que se limita ao tamanho do filtro, gerando um novo pixel. O processo se repete em toda a imagem até gerar uma nova imagem. A soma é feita de elemento a elemento, não é feita como uma multiplicação de matrizes normais. Os filtros são os mais variados possíveis e podem ser aplicado a várias situações de acordo com o problema, podendo alterar toda a imagem aplicando efeitos como o de Blur, efeitos para detectar bordas, outline, sharpen etc. Consequentemente a nova imagem fica menor que a imagem original. (GOODFELLOW et al, s.d.) Além da convolução algumas RNCs podem fazer o uso do pooling, que é uma operação aplicada após a convolução, visando diminuir ainda mais a dimensão da imagem e extrair as características mais relevantes de uma região de pixels. O pooling e a convolução podem ser aplicadas várias vezes dependendo do tamanho da imagem. (GOODFELLOW et al, s.d.) A RNC tornou o processamento de imagens muito mais rápido, reduzindo drasticamente o número de operações necessárias para chegar ao mesmo resultado que seria obtido sem a utilização de convoluções. (GOODFELLOW et al, s.d.) 2.1.4 Inteligência Artificial Inteligência artificial é uma área da ciência da computação que explica a capacidade das máquinas de raciocinar e atuar de maneira semelhante ao cérebro humano, isso é aplicado em diferenciação de variantes, tomadas de decisão, e resolução de problemas. (ABT, 2023.) Ela é utilizada para sistemas que necessitam de uma inteligência auto associativa com a de um humano, por exemplo para interpretação de grandes volumes de dados, e aplica esse aprendizado pararesolver tarefas e atingir objetivos, porém, também é necessário o providenciar de informações de qualidade para a IA utilizar. (ABT, 2023.) Além desta área, a inteligência artificial é dividida em duas subáreas, sendo elas o aprendizado de máquina, que dispõe sobre a capacidade da máquina de aprender sozinha, e o aprendizado profundo, que é parte do anterior, e se refere a sua grande capacidade de aprendizado com a utilização de redes neurais. (ABT, 2023.) Existem vários exemplos para a utilização de inteligência artificial, alguns deles presente nos aplicativos de celular: o GPS para a busca de uma melhor rota, um tradutor de línguas baseado em fotos, aplicativos de entretenimento para recomendações baseado no que você assiste, entre outros. (ABT, 2023) 2.1.5 Aprendizado de Máquina Aprendizado de Máquina é uma subárea da inteligência artificial que se trata do potencial de uma máquina aprender por conta própria e tomar decisão. Na prática, é usado para processamento de dados e identificação de padrões, como em sistema de câmeras, pesquisa de dados, e entre outros. (ABT, 2023) Dentro desta subárea, existem dois tipos de aprendizado, o aprendizado supervisionado e não supervisionado. O aprendizado supervisionado é quando a inteligência artificial recebe dados rotulados, ou seja, dados com informações abundantes e com várias características. Nele, o administrador está presente constantemente para treiná-lo. (MONARD/BARAUNAUSKAS, 2002) Figura 10 - Hierarquia de aprendizado Fonte: MONARD, C. M; BARAUNAUSKAS, J. A. (2002) O aprendizado não supervisionado é exatamente o contrário do aprendizado supervisionado, ele recebe os dados sem nenhuma informação, e ele deve reconhecer e separar as informações baseado na sua observação dos dados em questão. (MONARD/BARAUNAUSKAS, 2002) Exemplos do uso do aprendizado de máquina na realidade é o reconhecimento de padrões por fotos e vídeo, pesquisa de dados, e entre outros. (MONARD/BARAUNAUSKAS, 2002) 2.1.6 Aprendizado Profundo O aprendizado profundo é uma Subárea do aprendizado de máquina que diz respeito à grande capacidade de aprendizado do software com a utilização de redes neurais. (ABT, 2023) As redes seguem a mesma lógica dos neurônios do cérebro humano, a rede recebe a informação pelo ponto de entrada, as informações então passam por vários pontos que estão nas camadas escondidas, onde cada ponto analisa e elimina informações desnecessárias, e o resultado depois é passada para uma saída. (RAUBER, 2001.) Figura 11 - Exemplo de uma Rede Neural Fonte: RAUBER (2001) Existe várias áreas que usam o aprendizado profundo, entre as mais comuns sendo o reconhecimento de voz e faces. (ABT, 2023) 2.2 Conhecimento de Ferramentas 2.2.1 YOLO Desenvolvido por Joseph Redmon e Ali Farhadi em 2015, seu lançamento foi inovador, o modelo de rede neural convolucional You Only Look Once (YOLO) se destacou pelo seu rápido processamento de imagem, precisão e por ser de código aberto, onde o usuário pode alterar qualquer parte do modelo como ele desejar. (ALVEZ, 2020) O nome YOLO se dá pelo fato de que o modelo só passa pela imagem uma vez e envia os dados para a rede neural, diferente de outros modelos. O YOLO divide a imagem em uma grade de SxS células, cada célula é responsável por fazer a predição de cinco bounding boxes, caso exista mais de um objeto naquela célula. Nas primeiras versões do modelo o YOLO utilizava um modelo de deep learning, o Darknet, para o seu funcionamento. É importante destacar também funções como o Non maximum suppression, que elimina os bounding boxes com baixa confiabilidade, e o Anchor box, que são bounding boxes criadas durante o treinamento que mostram o nome do objeto de acordo a classe. (ALVEZ, 2020) Figura 12 - Funcionamento YOLO Bounding Boxes Fonte: ALVEZ, (2020) O YOLOv8 é o último modelo estável lançado pela Ultralytics, baseado nos modelos anteriores ele se mantém rápido e preciso, e oferece suporte a uma variedade de tarefas, como estimativa, detecção, segmentação, tracking e classificação. (ULTRALYTICS, 2024) 2.2.2 Python Python segundo CARVALHO,Caroline, é uma linguagem de programação de uso geral que se destaca por sua versatilidade e facilidade de uso. Desenvolvida por Guido van Rossun no final da década de 1980, com sua primeira versão lançada em 1991. Em pesquisa feita pelo TIOBE em 2024 o Python foi classificado em primeiro lugar, como a linguagem de programação mais utilizada no mundo sendo ativamente, utilizada por 22% dos profissionais do mercado. A Figura 13 mostra em detalhes esses dados. Figura 13 - Top 10 linguagens de programação mais utilizadas de 2024 Fonte: Adaptado de TIOBE 2024 Uma das características mais notáveis do Python é sua sintaxe simples e intuitiva, que se aproxima da linguagem humana. Isso torna a linguagem particularmente acessível para iniciantes, ao mesmo tempo em que mantém sua potência para desenvolvedores experientes. Python é uma linguagem interpretada, o que significa que não requer compilação prévia, acelerando assim o processo de desenvolvimento. (CARVALHO,Caroline, 2024) A natureza multiparadigma do Python permite que os desenvolvedores trabalhem com diferentes estilos de programação, incluindo procedural, funcional e orientada a objetos. Esta flexibilidade torna o Python adequado para uma ampla gama de aplicações, desde desenvolvimento web até análise de dados e inteligência artificial. (CARVALHO,Caroline, 2024) As áreas de aplicação do Python são diversas, incluindo análise de dados, aprendizado de máquina, desenvolvimento web, automação e DevOps. Sua versatilidade e eficiência o tornaram uma escolha popular em diversos setores da indústria de tecnologia. (CARVALHO,Caroline, 2024) 2.2.3 Git e Github O Git é um sistema gratuito, open source, rápido e distribuído para controle de versões de software. Este sistema foi inicialmente desenvolvido por Linus Torvalds que assim disponha de um mecanismo automático para disponibilizar o código referente ao desenvolvimento do Kernel Linux. (PINTO Pedro., 2024) Ao utilizar o Git, você pode esquecer aquela prática de salvar versão por versão em um arquivo de texto em uma pasta em seu computador, até porque o usuário salva as versões de sua aplicação em nuvem, podendo acessar histórico de alteração. (IT Forum, 2019) Em um cenário de desenvolvimento ágil e colaborativo, a habilidade de rastrear alterações, mesclar contribuições e restaurar versões anteriores do código se torna uma necessidade. É exatamente isso que o Git e suas ferramentas de versionamento oferecem. (PAIVA Brenda., 2023) 2.2.4 Roboflow O Roboflow é um software de criação de repositórios, seu principal propósito é facilitar o processo de aprendizado de máquina para projetos que envolve inteligência artificial. (DWYER, Brad; GALLAGHER, James, 2024) O software coleta informações de fotos e vídeos, a coleta é feita de forma manual nos primeiros dados, e depois pode ser feita de forma automática. É selecionado a informação na foto ou vídeo e é colocado um rotulo. Com o tempo e quantidade de dados coletados, o software vai ter a habilidade de coletar e analisar de forma automática após o treino. (DWYER, Brad; GALLAGHER, James, 2024) 2.2.5 SQLite SQL (Structure Query Language) É uma linguagem de programação responsável pela iteração e manipulação do banco de dados. O banco de dados serve como um local para armazenar uma coleção de dados e é um dos pilares principais da área da computação. (MILANI, Andre, 2024) O banco de dados é feito utilizando uma SGBD (Sistema de Gerenciamento de Banco de Dados) onde é configurado o banco de dados do projeto e é armazenado as informações, A IDE de SGBD utilizada no projeto é o SQLite, um software para projetos de baixo e baixo porte relacionado a banco de dados. (MILANI, Andre, 2024) 3 METODOLOGIA Nesta seção serão descritos os procedimentos e métodos utilizados na elaboração deste trabalho. As etapas foram as seguintes: · Definição do escopo da pesquisa: realizaram-se pesquisas em sites confiáveis que continham informações e dados estatísticossobre acidentes de trabalho no Brasil e no mundo. Além disso, investigou-se o atual estágio de desenvolvimento da indústria 4.0, com foco na aplicação de tecnologias para prevenir acidentes laborais, bem como a posição do país na adoção dessas inovações. Adicionalmente, realizou-se um levantamento específico sobre acidentes de trabalho no setor da construção civil no Brasil. · Elaboração do referencial bibliográfico: nesta etapa, foi realizada uma pesquisa abrangente sobre todas as tecnologias que serão utilizadas na implementação e implantação do software. As informações coletadas fornecem o embasamento teórico necessário para o desenvolvimento do projeto. · Definição de Arquitetura de Software: A arquitetura completa do software foi desenvolvida, considerando os requisitos identificados e aplicando os princípios e conceitos de Engenharia de Software. 4 TRABALHOS RELACIONADOS 4.1 Detecção de EPIs através de uma CNN O trabalho de conclusão de curso de FLÔRES, Douglas Souza (2023) “Detecção de EPIs através de uma CNN” apresenta um projeto que visa auxiliar a empresa Vorotech, focada no desenvolvimento de soluções digitais para segurança do trabalho e compliance, como a aplicação de Análises Preliminares de Risco (APRs) de forma digital. O aplicativo facilita a documentação e a verificação do uso de EPIs, integrando funcionalidades de captura de imagens e visão computacional para garantir que os trabalhadores estejam adequadamente equipados. As ferramentas tecnológicas empregadas na realização do trabalho são o YOLOv8, que é utilizado para fazer a classificação dos EPIs (Capacete, Cinto de segurança, Luvas, Botas). Além disso, FLÔRES também utiliza o AWS Lambda para hospedar o software na nuvem, possibilitando que seja feito um serverless hosting. O software opera permitindo que os usuários tirem fotos, que são enviadas para a nuvem para serem processadas. O servidor processa as imagens usando o modelo YOLOv8, armazena os resultados em um banco de dados e responde ao smartphone com os resultados da detecção e caixas delimitadoras. O autor do trabalho se preocupa em mostrar como superou os desafios encontrados na detecção de pequenos objetos pelo modelo YOLOv8, especificamente, as luvas e botas dos trabalhadores. Ele explica como incrementou seu Dataset e as técnicas utilizadas, como Tiling e mosaicos, para melhorar a acurácia da inteligência artificial, indicando se foram ou não viáveis. FLÔRES conclui o trabalho de conclusão de curso explicando que o software cumpriu os objetivos propostos de forma satisfatória, focando em demostrar os resultados dos testes antes e depois das alterações feitas. 4.2 Detecção de capacete de segurança em ambiente industrial usando Aprendizado Profundo O artigo de KAMBOJ, Ankit e POWAR, Nilesh, chamado “Safety Helmet Detection in Industrial Environment using Deep Learning” descreve uma aplicação responsável pela detecção de capacetes de segurança em ambiente de trabalho industrial. O software funciona em quatro passos principais, entre as ferramentas de visão computacional nesse sistema são utilizadas o modelo SSD MobileNet, o Dataset COCO e a implementação do software são realizados pela plataforma de software de aprendizado profundo TensorFlow. O modelo SSD-mobilenet-v1-coco com os pesos pré-treinados no dataset COCO é usado no primeiro passo para detectar a classe “pessoas”. Segundo passo é feito o recorte das imagens que serão classificadas. Como o MobileNet tem dificuldade na detecção de objetos pequenos todas as configurações das imagens de altura e largura são definidas como 300*300, e todas as imagens cujo altura e largura seja igual ou menor a 160*160 são descartadas para que posteriormente possa ser feito outro processamento, pois seriam de qualidade razoavelmente inferior quando fossem ampliadas a 300*300. No terceiro passo, são manualmente feitas as anotações das caixas delimitadoras (bounding boxes). Nesta etapa, foram rotuladas duas classes: “Capacete” para pessoas usando o capacete de segurança e “Sem_Capacete” para os demais casos. Quando várias pessoas estão presentes em uma única imagem, ambas as classes são anotadas, e as caixas delimitadoras são desenhadas apenas para a área da cabeça. Essas anotações manuais são realizadas em todas as imagens utilizando a biblioteca Python chamada labelImg. No quarto passo os dados pré-treinados do modelo SSD-mobilenet-v1-coco são utilizados mais uma vez, porém em outra rede neural convolucional para a detecção das classes “Capacete” e “Sem_Capacete”. Os autores do trabalho utilizam o aprendizado por transferência e retropropagação do erro com o objetivo de agilizar o processo de treinamento do sistema e melhorar a acurácia do sistema. KAMBOJ, Ankit e POWAR, Nilesh concluem o artigo mostrando resultados bastante favoráveis em relação ao software criado, que teve em média uma acurácia de 96%. No entanto vale ressaltar que para a realização dos testes desse sistema foi utilizado um servidor com hardware muito robusto e caro, sendo um Intel(R) Xeon(R) Gold 6148 CPU @2.40Ghz, com 384 GB de memória RAM, uma placa de vídeo 16 GB NVIDIA Quadro P5000 GPU utilizando o sistema operacional Windows10. 4.3 Detecção rápida de equipamentos de proteção individual para canteiros de obras reais usando abordagens de aprendizado profundo Projeto de WANG, Zijian et al, realizado em 2021, apresenta um sistema responsável pela deteção de 6 classes de objetos sendo eles: trabalhador, colete e quatro cores diferentes de capacete de segurança onde suas funções são explicadas pela Figura 14 abaixo: Figura 14 - Funções dos capacetes de segurança Wang, Zijian. Fonte: WANG, Zijian et al, 2021 O software funciona implementando um processo de treinamento em uma plataforma na nuvem usando o framework YOLO (You Only Look Once). Isso envolve selecionar um modelo desejado, configurar as definições, adotar pesos pré-treinados para acelerar o treinamento e definir parâmetros de treinamento. O modelo treinado então processa imagens para detectar e classificar objetos como EPI’s em tempo real, utilizando técnicas como desfoque gaussiano e medindo o desempenho através de métricas como Interseção sobre União (IoU). A conclusão do estudo é que os modelos YOLO v5, particularmente o YOLO v5x, demonstram desempenho superior na detecção de equipamentos de proteção individual (EPI) em comparação com versões anteriores, alcançando a maior precisão média (mAP) e acurácia. O estudo destaca a eficácia do framework YOLO na melhoria da segurança na construção, identificando com precisão o cumprimento do uso de EPI. No geral, os resultados sugerem que os modelos YOLO v5 podem contribuir significativamente para melhorar a gestão de segurança em ambientes de construção. 4.4 Avaliação da Aplicação da Inteligência Artificial na Detecção do Uso de Equipamentos de Proteção Individual em Ambientes de Trabalho O objetivo do trabalho de PEREZ, Filipe Brito é avaliar técnicas computacionais aplicadas à prática de segurança do trabalho e à utilização de Equipamentos de Proteção Individual (EPI). Isso inclui a construção de um modelo de detecção em tempo real de EPIs utilizando Redes Neurais Artificiais Convolucionais, visando aumentar a segurança dos trabalhadores em ambientes de laboratório Os dados foram obtidos através de técnicas de web scraping e web crawling. O web scraping consiste na extração automática de dados estruturados de páginas da web, enquanto a web crawling envolve a navegação por páginas da web utilizando uma engine especializada, simulando o comportamento de um usuário humano. A conclusão do trabalho é que o autor conseguiu criar modelos de detecção de Equipamentos de Proteção Individual (EPI) em tempo real com sucesso. As redes treinadas apresentaram uma precisão média acima de 90%, demonstrando a capacidade dos modelos de abstrair e generalizar os EPIs mais utilizados em laboratórios químicos. A rede com melhor desempenho foi a YOLOR, que obteve um mAP@0.5 de 0.984, enquanto a YOLOv5, que apresentou uma detecção mais próxima de tempo real, necessitouapenas de 3.3 milissegundos para realizar predições e teve um mAP@0.5 de 0.983. No entanto, a implementação de um sistema para detectar EPIs no LASSOP não foi viável devido à falta de câmeras para a detecção em tempo real e a avaliação da incidência de acidentes 5 PROJETO 5.1 Arquitetura física do projeto O software funcionará da seguinte maneira: Quando captado a imagem de um trabalhador da construção civil pela câmera de segurança, os dados serão enviados para um servidor Windows, onde a rede neural que utiliza o algoritimo de detecção de objetos YOLO terá o papel de analisar as imagens captadas e realizar a classificação dos EPI’s: capacete, óculos, colete, luva e bota de segurança, no corpo do funcionário. Quando detectado a falta de um dos EPI’s requisitados na área de trabalho onde está localizada a câmera de segurança, a foto com discrepância no uso do EPI será gravada localmente na unidade de armazenamento do computador que está a aplicação. Além disso o software criará um alerta que será enviado através de um bot para um grupo dentro do aplicativo Telegram para que seja feita análise posterior pela equipe de segurança. A arquitetura do software se encontra na disposição conforme a Figura 15. Figura 15 - Modelo Arquitetura Física do Projeto Fonte: Autoria Própria (2024) 5.2 Análise de requisitos Nessa seção serão apresentados os requisitos funcionais e requisitos não funcionais para o funcionamento do sistema. 5.2.1 Requisitos funcionais Os requisitos funcionais apresentam as necessidades que devem ser atendidas e resolvidas pelo software através de serviços e funções. A tabela 2 mostra os requisitos funcionais do projeto. Tabela 2 - Requisitos Funcionais do Software REQUISITOS FUNCIONAIS Requisitos Descrição Desejável Obrigatório RF01 O sistema vai disponibilizar uma tela de autenticação e cadastro apenas para administradores. (X) ( ) RF02 O software contará com a visualização do funcionamento da detecção feito pela rede neural. ( ) (X) RF03 Após detectada uma discrepância no EPI de algum trabalhador o sistema gerará um alerta informando a falta de um ou mais EPIs. ( ) (X) RF04 O sistema permitirá a configuração de alertas diferentes baseado no uso de EPI de cada local. ( ) (X) RF05 Após o alerta, o software deverá salvar automaticamente as fotos do trabalhador sem o EPI no computador local. ( ) (X) Fonte: Autoria Própria (2024) 5.2.2 Requisitos não funcionais Os requisitos não funcionais estão relacionados à forma como o software será projetado, porém, não está relacionado com serviços e funções exercidos pelo sistema. A tabela 3 mostra os requisitos não funcionais do projeto. Tabela 3 - Requisitos Não Funcionais do Software REQUISITOS NÃO FUNCIONAIS Requisitos Descrição Desejável Obrigatório RFN01 O software vai ser compatível exclusivamente para sistemas operacionais Windows. ( ) (X) RFN02 A detecção deve ser feita utilizando uma rede neural. ( ) (X) RFN03 A câmera deve estar em uma posição que possa pegar todo o corpo do colaborador. ( ) (X) RFN04 A foto salva deve ter uma boa qualidade de acordo com a da própria câmera. ( ) (X) RFN05 O local onde está sendo feito a detecção deve ter uma iluminação adequada. ( ) (X) Fonte: Autoria Própria (2024) 5.3 Especificação e posicionamento da câmera. 5.3.1 Especificação de modelo e funcionalidade da câmera. Durante o planejamento do projeto foi constatada a necessidade de uma câmera que conectasse a rede WIFI e capturasse imagens em qualidade Full HD (1920x1080). O modelo de câmera que atendeu essas necessidades e foi utilizada durante os testes do trabalho é uma Câmera IP giratória da marca Yoosee, demonstrada na Figura 16. Além das características mencionadas, a câmera é equipada com várias funcionalidades como: microfone, sensor de luz, alto falante, que não foram utilizadas durante o projeto. Todas as funcionalidades da câmera são descritas na Figura 17. Figura 16 - Câmera IP Yoosee Fonte: Adaptado de Google Imagens (2024) Figura 17 - Especificações Câmera Yoosee Fonte: Google Imagens, Loja Online: Magazine Luiza, 2024 5.3.2 Informações sobre o posicionamento da câmera e modo de captura dos das imagens. Durante o planejamento do trabalho foi identificado o posicionamento e a forma que seria feita a captura das imagens dos trabalhadores com EPI. Os testes foram feitos levando em consideração as seguintes informações: a câmera de vigilância ficaria instalada na parede a uma altura de 2 metros do chão, podendo ser tanto fixada a um bocal de lâmpada parafusado ou em um adaptador do tipo socket E27, para tomada padrão brasileiro. O ângulo da câmera seria de 90 graus, ficando praticamente de frente com o trabalhador. Apenas a pessoa que será alvo da captura deve ficar parada em frente ao equipamento, à uma distância de 3 metros do eixo óptico da câmera de segurança, com o propósito de que todo o seu corpo estivesse visível. Figura 18 - Posicionamento da câmera Fonte: Autoria Própria, 2024 5.4 Diagrama de Classes O diagrama de classes é uma ferramenta importante para modelagem de sistema, que permite a visualização das classes, métodos, atributos e o relacionamento entre elas. O diagrama de classes pode auxiliar uma equipe a entender melhor a arquitetura do software, tornando a comunicação entre os membros mais fluida e ajudando nas tomadas de decisões durante o desenvolvimento (FOWLER, M. 2005). A Figura 19 mostra o diagrama de classes do projeto. Figura 19 - Diagrama de Classes Fonte: Autoria Própria (2024) 5.5 Diagrama de Casos de Uso O diagrama apresentado na Figura 20 representa a relação entre o usuário e o software com base nas informações descritas pelos requisitos funcionais. Figura 20 - Diagrama de Classe de Uso Fonte: De autoria própria, 2024 5.5.1 Descrição dos Casos de Uso Todas as descrições dos casos de uso serão encontradas no apêndice a – “detalhamento dos casos de uso” após a seção de referências do trabalho. 5.6 Descrição da interface do projeto Quando o sistema é iniciado, o usuário é obrigado a fazer a autenticação via login para ter acesso à plataforma. A interface foi desenvolvida utilizando a biblioteca CustomTKinter do Tkinter, que permite criar interfaces agradáveis e eficientes para o propósito do sistema. 5.6.1 Tela de Login Quando o sistema é iniciado, a janela de login é aberta, mostrando a interface onde o usuário deverá realizar a autenticação com seu nome de usuário e senha. Caso não tenha um cadastro, ele deverá criar sua conta clicando no botão 'Cadastrar-se'. Figura 21 – Interface: Tela de Login Fonte: Autoria Própria (2024) 5.6.2 Falha do Login Se o usuário não estiver cadastrado e tentar fazer o login, uma caixa de diálogo do sistema será aberta avisando que o usuário não foi encontrado. Em seguida, ele será redirecionado para a tela de login novamente para uma nova tentativa de acesso ao sistema. Figura 22 - Interface: Mensagem Erro de Login Fonte: Autoria Própria (2024) 5.6.3 Tela de Cadastro Quando o usuário clica no botão 'Cadastrar', ele é direcionado para a página de cadastro. Nessa tela, o usuário deverá preencher seu nome de usuário, e-mail, senha e confirmar a senha. Após o preenchimento de todos os campos, o usuário poderá realizar o cadastro clicando no botão 'Cadastrar', que aciona o banco de dados para efetivar o cadastro. Após isso, ele é automaticamente redirecionado para a tela de login. Figura 23 – Interface: Tela de Cadastro Fonte: Autoria própria (2024) 5.6.4 Tela da Aplicação A tela da aplicação contém as ferramentas do sistema, onde, na parte superior direita, é exibido o nome do usuário que está logado, juntamente com uma mensagem de saudação. Na lateral esquerda, está localizado o menu em que o usuário pode selecionar o setor onde a câmera está instalada, podendo configurar até quatro câmeras. A parte central exibe o vídeo em tempo real capturado pela câmera e a identificação, também em tempo real, da utilização dos equipamentos de proteção individual. Na lateraldireita, encontra-se o menu de identificação, onde o usuário marca nas checkboxes quais equipamentos serão detectados. Figura 24 - Interface: Tela Principal do Software Fonte: Autoria Própria (2024) 5.6.5 Pasta de Captura de Imagens Essa pasta é onde serão armazenadas as imagens capturadas quando a utilização do equipamento de proteção individual não for identificada. Dessa forma, o usuário poderá visualizar todas as fotos capturadas dos colaboradores que não estiverem utilizando algum equipamento. Figura 25 – Interface: Diretório de Captura Fonte: Autoria Própria (2024) 6 TESTES E RESULTADOS Nesta seção se encontra os resultados de validação do modelo de inteligência artificial que utilizamos em nosso projeto. 6.1 Validação do modelo O modelo foi validado por meio da função de validação da Ultralytics para observarmos graficamente os resultados, além de vídeos autorais que simulam o ângulo da câmera e a vestimenta de um operário, com o objetivo de obtermos uma confirmação visual dos resultados dos treinos. A Figura 24 apresenta a matriz de confusão dos dados de validação do modelo. A diagonal principal mostra a taxa de acerto da IA em porcentagem. Figura 26 - Matriz de confusão do modelo Fonte: Autoria Própria (2024) A Figura 25 é um frame retirado de um dos vídeos utilizados para a validação do sistema. Podemos observar que uma das luvas não foi reconhecida, assim como os óculos de proteção. EPIs menores apresentam uma porcentagem mais baixa de acerto, especialmente no caso dos óculos de proteção. Figura 27 - Exemplo dos vídeos de teste Fonte: Autoria Própria (2024) Foram realizados testes em outros ângulos para avaliarmos a precisão do modelo em diferentes cenários. A Figura 26 é um exemplo de um vídeo gravado com a câmera posicionada de frente para o operário. Figura 28 - Exemplo da câmera de frente Fonte: Autoria Própria (2024) 7 CONCLUSÃO Conclui-se que o trabalho cumpriu com sucesso os objetivos gerais e específicos. Os conceitos adquiridos durante a disciplina de engenharia de software auxiliaram na organização da implementação do software apresentado. A ferramenta YOLO se provou eficaz na detecção de EPIs e pode ser efetivamente utilizada em situações que demandam análises de risco por falta de equipamentos de proteção individual. Python auxiliou muito a incrementarão do projeto tanto por causa da sua versatilidade, quanto pela robustez de suas bibliotecas. No desenvolvimento do sistema, todo o conjunto de aplicações se mostrou eficaz para alcançar os objetivos do trabalho, entretanto algumas ferramentas não se obteve o desempenho quanto planejado, com isso, possibilitando a chegar as seguintes conclusões: · O Python juntamente com as bibliotecas OpenCV, CustomTKinter e Ultralytics tiveram uma ótima interoperabilidade entre si, mostrando a sua robustez e versatilidade para as aplicações. · A plataforma Roboflow, que é um site de criação de datasets e rotulagem, demonstrou ser bastante eficiente para a criação de uma aplicação de visão computacional, obtendo resultados contundentes e satisfatórios no processo de treinamento da inteligência artificial. · O Protocolo RSTP (Rapid Spanning Tree Protocol), não mostrou resultados como planejado, enfrentando algumas interferências e alta latência na obtenção das imagens para a detecção da inteligência artificial. Entretanto mesmo com esses problemas foram possíveis de obter resultados minimamente satisfatórios. · A API do Telegram se mostrou muito consistente na interação com a aplicação, enviando mensagens de alerta para o usuário sistema e funcionando perfeitamente com a linguagem de programação Python. 8 TRABALHOS FUTUROS Nessa seção serão apresentadas possíveis melhorias para amadurecer a incrementação do protótipo criado nesse trabalho: · Treinar a IA com o objetivo de melhorar a acurácia sobre os EPIs pequenos. · Melhorar a heterogeneidade do programa fornecendo compatibilidade a mais de um sistema operacional. · Melhorar elementos da interface do programa, com o principal objetivo de implementar um tutorial inicial de como utilizar a ferramenta. · Disponibilizar o software em inglês e outras linguagens REFERÊNCIAS ABT – ASSOCIAÇÃO BRASILEIRA DE TECNOLOGIA EDUCACIONAL. REVISTA TECNOLOGIA EDUCACIONAL 236: INTELIGÊNCIA ARTIFICIAL. 2023. Disponível em: https://abt-br.org.br/wp-content/uploads/2023/03/RTE_236.pdf#page=16. Acesso em: 14 de maio. AEPS – ANUÁRIO ESTATÍSTICO DA PREVIDÊNCIA SOCIAL (2022). Disponível em: https://www.gov.br/previdencia/pt- br/assuntos/previdencia- social/arquivos/copy_of_online-aeps-2022- ALVEZ, Gabriel. Expert Academy, Detecção de Objetos com YOLO – Uma abordagem moderna (2020). Disponível em: iaexpert.academy/2020/10/13/deteccao-de-objetos-com-yolo-uma-abordagem-moderna/ Acesso em 18 de abril de 2024. CARNEIRO, Leandro. Brasil cai em ranking de competitividade e fica à frente de só 5 países. (2024) Disponível em: https://economia.uol.com.br/noticias/redacao/2024/06/19/brasil-cai-pelo-quarto-ano-e-e-o-62-em-ranking-global-de-competitividade.htm Acesso em 23 de abril de 2024 CARVALHO,Caroline, O que é Python? — um guia completo para iniciar nessa linguagem de programação, 2024 Disponível em: https://www.alura.com.br/artigos/python Acesso em: 12 de junho. CISZ, Cleiton Rodrigo. Conscientização do uso de EPIs, quanto à segurança pessoal e coletiva. Monografia do Curso de Especialização em Engenharia de Segurança do Trabalho. Universidade Tecnológica Federal do Paraná-UTFP, Curitiba, 2015. DWYER, BRAD; GALLAGHER, JAMES. Getting Started with Roboflow. Roboflow Blog. Disponível em: https://blog.roboflow.com/getting-started-with-roboflow/. Acesso em: 14 de maio. FLÔRES, Douglas Souza Detecção de EPIs através de uma CNN, 2023 Disponível em: https://lume.ufrgs.br/handle/10183/272129 Acesso em: 08 de julho. FOWLER, M. UML essencial: um breve guia para a linguagem- padrão de modelagem de objetos. 3.ed. Porto Alegre: Bookman, 2005. GOODFELLOW, Ian, BENGIO, Yoshua, COURVILLE, Bengio. Deep Learning, MIT Press, (2016). Disponível em: http://www.deeplearningbook.org Acesso em 20 de março. 2024. GNONI, M. G., BRAGATTO, P. A., MILAZZO, M. F., & SETOLA, R. (2020). Integrating IoT technologies for an “intelligent” safety management in the process industry. Procedia manufacturing, 42, 511- 515. Disponível em: https://www.sciencedirect.com/science/article/pii/S2351978920305898 Acesso em 20 de março de 2024. INBRAEP, INSTITUTO BRASILEIRO DE ENSINO PROFISSIONALIZANTE, 2019 Tipos de capacete de Segurança do Trabalho disponível em: https://inbraep.com.br/publicacoes/tipos-de-capacete-de-seguranca-do-trabalho/ Acesso em: 20 de Maio de 2024 KAMBOJ, Ankit, POWAR, Nilesh, SAFETY HELMET DETECTION IN INDUSTRIAL ENVIRONMENT USING DEEP LEARNING, 2020 Disponível em: https://csitcp.net/paper/10/105csit18.pdf Acesso em 20 de Julho de 2024. MILANI, ANDRE. MYSQL, Guia do Programador. 2006. Disponível em: https://books.google.com.br/books?hl=pt-BR&lr=&id=81EwMDA-pC0C&oi=fnd&pg=PA19&dq=Mysql&ots=xQys7akO3C&sig=Qm-5paWJ5YzKdsgZg9DnsO9xD4w#v=onepage&q&f=false Acesso em: 14 de maio MILANO, Danilo; HONORATO, Luciano Barrozo. Visão computacional. Faculdade de Tecnologia, Universidade Estadual de Campinas, 2010. MONARD, C. M; BARAUNAUSKAS, J. A. Conceitos Sobre Aprendizado de Máquina. 2002. Disponível em:https://dcm.ffclrp.usp.br/~augusto/publications/2003-sistemas-inteligentes-cap4.pdf. Acesso em: 14 de maio de 2024. ONU – ORGANIZAÇÃO DAS NAÇÕES UNIDAS (2021). Disponível em: https://unglobalcompact.org/take-action/safety-andhealth Acesso em 5 de março de 2024. PAIVA Brenda, Git e GitHub: Controle de Versões (2023). Disponível em: https://medium.com/@brena.freire.15/git-e-github-navegando-pelo-universo-do-controle-de-vers%C3%B5es-459a86c30d3c Acesso em 25 de abril de 2024. PEREZ, Filipe Brito, Avaliação da Aplicação da Inteligência Artificial na Detecção do Uso de Equipamentos de Proteção Individual em Ambientes de Trabalho 2022, Disponível em: https://www.repositorio.ufal.br/handle/123456789/13103Acesso em 25 de julho de 2024. PINTO Pedro, Git: O popular sistema de controlo de versões de software (2024). Disponível em: https://pplware.sapo.pt/software/git-o-popular-sistema-de-controlo-de-versoes-de-software/ Acesso em 25 de abril de 2024. PRINCE, Simon J.D. Computer vision: models, learning and inference. Cambridge University, 2012. RAUBER, T. W. Redes Neurais Artificiais. 2001. Disponível em: https://www.researchgate.net/profile/Thomas-Rauber-2/publication/228686464_Redes_neurais_artificiais/links/02e7e521381602f2bd000000/Redes-neurais-artificiais.pdf. Acesso em: 14 de maio. RAUBER, Thomas Walter. Redes neurais artificiais. Universidade Federal do Espírito Santo, v. 29, 2005. RUSSELL, S. J., NORVIG, Peter. Artificial Intelligence A Modern Approach Third Edition, Upper Saddle River, NJ 07458: Pearson, 01 de dezembro de 2009. SILVA, Marcos Pinheiro Barroso da. Ambientes severos na construção de obras civis industriais. 2009. Monografia. UFS, São Cristovão. Disponível em: http:. Disponível em: Acesso em 15 de março de 2024. SILVA, A.P., DUTRA, F. G. C, CÔRREA, Fábio, RIBEIRO, J. A. N., Disponível em: https://ojs.revistagesec.org.br/secretariado/article/view/2585 Acesso em 15 de março de 2024. SMARTLAB, Observatório de Segurança e Saúde no Trabalho (2022). Disponível em: https://smartlabbr.org/sst Acesso em 5 de março de 2024. UFES, UNIVERSIDADE FEDERAL DO ESPIRITO SANTO, 2013, Máscaras de Proteção Respiratória: N95, PFF1, PFF2 ou PFF3?, Disponível em: https://qualidadedoar.ufes.br/conteudo/mascaras-de-protecao-respiratoria-n95-pff1-pff2-ou-pff3 Acesso em 4 de Maio de 2024. ULTRALYTICS, documentação YOLO (2024). Disponivel em: https://docs.ultralytics.com/pt%23yolo-licenses-how-is-ultralytics-yolo-licensed Acesso em 18 de abril de 2024. WANG, Zijian et al, Fast Personal Protective Equipment Detection for Real Construction Sites Using Deep Learning Approaches, 2021, Disponivel em: https://www.mdpi.com/1424-8220/21/10/3478? Acesso 15 de julho de 2024 APÊNDICE A - DETALHAMENTO DOS CASOS DE USO A tabela 4 apresenta a descrição do caso de relacionado a acesso às câmeras Tabela 4 - Caso de Uso: Acesso às câmeras Nome do Caso de Uso Acesso às câmeras Ator Principal Administrador Ator Secundários - Resumo Após o administrador entrar no sistema, ele vai ter acesso as câmeras de segurança do edifício, ele também pode checar as imagens salvas pelo sistema. Pré-Condições O administrador precisa estar logado no sistema. Pós-Condições O administrador ganha acesso as câmeras de segurança. Fluxo Básico 1. O administrador acessa o sistema de câmeras. 1. O administrador pode checar as imagens salvas no menu de fotos. Fluxo Alternativo - Restrições e Validações 1. É necessário que o administrador esteja logado. Fonte: De autoria própria, 2024 A tabela 5 representa a condições para o caso em que se requisitam fotos salvas Tabela 5 - Caso de Uso: Requisitar Fotos Salvas Nome do Caso de Uso Requisitar fotos salvas Ator Principal Administrador Ator Secundários - Resumo O administrador pode requisitar a fotos guardadas pelo software. Pré-Condições O Administrador precisa estar logado no sistema. Pós-Condições O administrador acessa o menu de foto salvas. Fluxo Básico 1. Anteriormente, o administrador foi notificado da detecção da falta de EPI em um dos setores. 1. O administrador acessa um menu apertando em um botão no canto superior da tela. 1. O administrador tem acesso ao diretório de imagens com discrepâncias. 1. O administrador acessa a foto tirada recentemente, as fotos são ordenadas dos mais recente para os mais antigos. Fluxo Alternativo - Restrições e Validações - Fonte: De autoria própria, 2024 A tabela 6 demonstra condições para o caso de uso em que é solicitado deletar foto. Tabela 6 - Caso de Uso: Deletar Foto Nome do Caso de Uso Deletar Foto Ator Principal Administrador Ator Secundários - Resumo O administrador pode deletar fotos com falsos positivos selecionando-o, e apertando no botão de apagar foto. Pré-Condições A foto precisa ser um falso-positivo Pós-Condições A foto é apagada com sucesso. Fluxo Básico 1. O administrador analisa a foto para saber se é um falso-positivo 1. O administrador seleciona a foto apertando no quadrado no canto da foto 1. Após selecionar a foto, o administrador aperta no botão de apagar foto. 1. A foto em seguida é apagada do diretório de imagens. Fluxo Alternativo - Restrições e Validações - Fonte: De autoria própria, 2024 A tabela 7 a seguir descreve sobre caso de detecção de falta de EPI Tabela 7 - Caso de Uso: Detecção de Falta de EPI Nome do Caso de Uso Detecção de Falta de EPI Ator Principal Software Ator Secundários - Resumo O software detecta se existe alguma irregularidade com a EPI do trabalhador, e detecta de acordo com as regras colocadas dentro do local da empresa especificada na câmera. Pré-Condições O trabalhador precisar estar com irregularidades na EPI. Pós-Condições A falta de EPI é detectada. Fluxo Básico 1. A câmera detecta um trabalhador. 1. A câmera analisa a presença de EPI do trabalhador. 1. O software determina se o trabalhador está ou não com irregularidades de acordo com as regras do local. 1. A câmera detecta a falta de EPI. Fluxo Alternativo - Restrições e Validações 1. A câmera deve detectar EPI de acordo com as regras de EPI necessário no local da empresa que está a câmera. 1. A detecção precisa ser quase instantânea, de no máximo um segundo. Fonte: De autoria própria, 2024 A tabela 8 descreve a respeito do processo envolvendo a captura de imagens de indivíduos que não estão utilizando algum EPI. Tabela 8 - Caso de Uso: Captura de Imagem com Trabalhador sem EPI Nome do Caso de Uso Capturar imagem com indivíduo sem EPI Ator Principal Software Ator Secundários - Resumo Após detectar e o trabalhador na área de trabalho com irregularidades, o software captura a imagem da câmera no momento que for detectado e confirmado a irregularidade. Pré-Condições A câmera precisa detectar e confirmar a irregularidade do trabalhador. Pós-Condições A foto é capturada. Fluxo Básico 1. A câmera detecta a irregularidade e confirma de acordo com as regras e diretrizes do local especificado da câmera. 1. Após a confirmação, a câmera captura a imagem no momento da detecção. Fluxo Alternativo - Restrições e Validações 1. A câmera precisa estar em uma posição que pegue o corpo todo do trabalhador. 1. A imagem capturada precisa estar em boa qualidade de acordo com a própria câmera. Fonte: De autoria própria, 2024 A tabela 9 a seguir descreve sobre caso de uso responsável por salvar Imagem Tabela 9 - Caso de Uso: Salvar Imagem Coletada Localmente Nome do Caso de Uso Salvar Imagem Coletada Localmente Ator Principal Software Ator Secundários - Resumo Após a imagem ser capturada, a imagem é salva dentro do computador do sistema. Pré-Condições A câmera precisa ter capturado a imagem com a irregularidade na EPI. Pós-Condições A foto é salva no servidor e pode ser acessado no menu de fotos salvas. Fluxo Básico 1. Após a câmera capturar a imagem da irregularidade, a foto é salva. 1. A foto é guardada localmente poderá ser acessada por um menu. Fluxo Alternativo - Restrições e Validações 1. A imagem salva precisa estar em boa qualidade de acordo com a própria câmera. Fonte: De autoria própria, 2024 A tabela 10 que se segue expõe informações envolvendo o processo de notificação ao administrador a respeito da imagem capturada Tabela 10 Caso de Uso: Notificação ao Administrador Sobre a Imagem Capturada Nome do Caso de Uso Notificar o administrador sobre a imagem capturada. Ator Principal Software Ator Secundários - Resumo Após a Imagem ser capturada, o software lança uma notificação, avisando que uma imagem com irregularidades de EPI foi capturada e precisa ser analisada. Pré-Condições A imagem precisa ser capturada. Pós-CondiçõesÉ notificado sobre a foto capturada. Fluxo Básico 1. Inicialmente, a câmera precisa capturar uma imagem com a irregularidade da EPI 1. Após a imagem ser capturada, o administrador é notificado com uma imagem no canto superior da tela 1. A imagem capturada esta salvo no menu de fotos. Fluxo Alternativo - Restrições e Validações 1. A notificação precisa aparecer ao mesmo tempo que a imagem foi salva. Fonte: De autoria própria, 2024 image1.png image2.jpeg image3.jpeg image4.jpeg image5.jpeg image6.jpeg image7.jpeg image8.jpg image9.jpg image10.png image11.png image12.png image13.png image14.png image15.png image16.png image17.png image18.png image19.jpeg image20.png image21.png image22.png image23.png image24.png image25.png image26.png image27.png image28.png