Carlos Suassuna
Carlos Suassuna02/03/2023 01:45
Compartilhe

SMARTSCHOOL: APLICAÇÕES DE DEEP LEARNING NO CONTEXTO ESCOLAR

    RESUMO

     Atualmente o mundo enfrenta uma pandemia denominada COVID-19, que vem somando milhões de mortes em diversos lugares do mundo e ainda acarretando problemas em todos os âmbitos sociais. Em virtude da taxa de letalidade do vírus e sua alta taxa de transmissão, inúmeras escolas foram fechadas, ocasionando enormes atrasos na educação. Por isso, nossa equipe está desenvolvendo uma aplicação para detectar aglomerações e o uso de máscaras em ambiente escolar para auxiliar no cumprimento das regras determinadas pela OMS. Além de realizar a detecção do fardamento dos alunos para controlar o número de pessoas dentro da instituição, uma vez que é possível identificar através da farda os estudantes pertencentes ao Campus. Esta aplicação faz uso da linguagem python e da biblioteca OpenCV juntamente com o framework Yolo. Através dos testes realizados com as câmeras do Campus IFRN - Pau dos Ferros, foram obtidos resultados preliminares que demonstraram uma acurácia de 95% nas detecções executadas pela aplicação, indicando um grande potencial para aplicar no contexto escolar. 

    Palavras-Chave: Deep learning, COVID-19, Processamento de imagens, Reconhecimento de objetos, escola.

    INTRODUÇÃO

     Desde cedo a humanidade vem enfrentando inúmeros problemas relacionados a pandemias que acarretam danos irreparáveis à sociedade, tanto em perdas de vidas humanas quanto no âmbito econômico. Estima-se que em 1918 mais de 100 milhões de pessoas vieram a óbito vítimas do vírus Influenza (H1N1), uma pandemia que ficou conhecida mundialmente como Gripe Espanhola. Além disso, quase 100 anos depois, o mundo enfrenta uma nova pandemia chamada de Coronavírus (COVID-19), que vem acarretando cerca de 6,48 milhões de mortes em diversos lugares do planeta. Isso revela nitidamente que mesmo depois de anos continuamos despreparados para eventos como esses.

    Doenças desse tipo se propagam principalmente através do contato humano direto, com a troca de fluídos, como saliva e outras secreções. Para haver esta troca é necessário que exista uma pequena distância entre o hospedeiro e uma pessoa não contaminada. Sabendo disso e visando a redução do número de casos, a Organização Mundial de Saúde (OMS) criou inúmeras normas que deveriam ser seguidas para controlar a quantidade de infecções, como o uso de máscara, higienização constante das mãos fazendo o uso de álcool e principalmente a redução de aglomerações em todos os âmbitos sociais.

    Em contrapartida com a época das pandemias passadas, atualmente possui-se uma tecnologia mais avançada que possibilita desenvolver técnicas capazes de solucionar este problema. Considerando esse fato, inúmeros trabalhos na área de T.I foram realizados com o objetivo de ajudar à sociedade. Um trabalho realizado no Centro Universitário Campo Limpo Paulista que visava detectar indivíduos sem máscara dentro das escolas fazendo o uso da arquitetura Yolo foi capaz de realizar detecções em suas fases de teste com 100% de acurácia, mostrando que é possível o uso dessa técnica para o controle da disseminação de um vírus, como próprio trabalho afirma: “os indivíduos da comunidade escolar irão repensar na possibilidade de remover a máscara de proteção ao saber que poderão ser detectados” (BARBOSA & PEREIRA, 2021). Um outro estudo realizado na Universidad María Auxiliadora tinha por objetivo detectar aglomerados de pessoas em centros de saúde. O mesmo conseguiu mostrar a eficácia da Yolo na percepção de aglomerações em ambientes controlados e ainda ressaltar que o mesmo também pode ser usado em outros lugares fornecendo dados que podem ajudar no controle da propagação de um vírus: “Atualmente, continuamos a ver como em vários lugares o número de infecções continua a aumentar diariamente. Por isso, é preciso ser rigoroso com as pessoas para cumprir com as medidas de biossegurança e principalmente com o distanciamento para combater o vírus.”

    (SIGUAS et al., 2021).

    Levando em consideração trabalhos como esses, a nossa equipe está desenvolvendo através de técnicas de programação que usam Machine Learning, como Deep Learning e Computer Vision, um método capaz de detectar precisamente aglomerações juntamente com a detecção de máscaras, entregando informações úteis e essenciais para tornar possível o controle e o cumprimento das regras estabelecidas pela OMS. A aplicação ainda é capaz de identificar o fardamento utilizado pelo indivíduo, podendo possibilitar o controle do número de pessoas em um ambiente fechado e privado, onde em grande parte do tempo é necessário apenas a presença de seus servidores e alunos. Estas funções juntas são capazes de criar uma aplicação que possibilita não só reduzir significativamente o desenvolvimento de uma pandemia futura como também trazer mais segurança e dados importantes para qualquer órgão onde a mesma for usada.

    OBJETIVO E QUESTÃO PROBLEMA

    Este trabalho tem como objetivo o desenvolvimento de um software, utilizando técnicas de processamento de imagens e deep learning para identificar aglomerações de pessoas, uso de máscaras e de fardamento em ambientes escolares.

    O maior diferencial do software está na parte de identificação do fardamento do IFRN, já que não existe nenhum software em vigor que faça essa identificação. O software vem sendo criado para automatizar e tornar mais fácil o controle do cumprimento das normas determinadas pela OMS e pelo instituto, tendo em vista que uma inteligência artificial consegue fazer tais identificações mais rápido que seres humanos a olho nu.


      DESCRIÇÃO DE MATERIAIS E MÉTODOS

    Para o desenvolvimento do referido software foi utilizada uma linguagem de programação de alto nível chamada Python, que foi escolhida pelo seu fácil manuseio e por suas inúmeras bibliotecas para trabalhar com inteligência artificial. Além disso, bibliotecas como OpenCV (INTEL, 1999), Numpy e PyTorch (META AI, 2016) foram utilizadas para fazer a manipulação e processamento de imagem. A parte de aprendizado de máquina foi usada uma rede neural da área de deep learning (aprendizado profundo) chamada YOLO (REDMON et al., 2015), que tem como base em sua arquitetura uma rede convolucional (CNN).

    IDENTIFICAÇÃO DE PESSOAS, MÁSCARAS E FARDAMENTO

    A identificação de máscaras e de fardamento do IFRN é feita utilizando as câmeras de segurança do campus, uma IA, um banco de dados de imagens de alunos do próprio campus do IFRN Pau dos Ferros, e um conjunto de labels, que são etiquetas que são associadas ao objeto identificado.

      A partir do momento que há movimentação na frente da câmera a IA entra em ação fazendo uma varredura na imagem onde será checado se o que se movimentou na frente da câmera é uma pessoa, em seguida vai verificar se a pessoa está usando máscara e por fim se está usando o fardamento.

    Após todas as identificações, a IA faz a associação de uma imagem a uma label e na tela será mostrado ao usuário final qual objeto foi identificado e qual a porcentagem de confiabilidade que o objeto que ela identificou é realmente o objeto que lhe foi ensinada no seu treinamento.

    Para o treinamento da IA foi usado um banco de dados de 390 imagens, onde 300 imagens foram usadas para fazer o treinamento da IA e 90 imagens foram usadas para teste, seguindo a proporção de 70% das imagens para treino e 30% das imagens para teste, lembrando que as imagens usadas para teste não podem ser as mesmas utilizadas no treinamento. A IA também utiliza parâmetros de ajustes como resolução das imagens (img), o número de exemplos de treinamento usados em uma iteração (batch) e a quantidade de épocas (epochs), para tornar os resultados o mais precisos possível.

    IDENTIFICAÇÃO DE AGLOMERAÇÃO

    Primeiramente, carrega-se o modelo que será utilizado na inferência, no caso, a YOLO. Em seguida, inicia-se a captura de vídeo tendo por base o caminho (referência) ou índice da câmera a ser monitorada e se extrai cada frame em que será realizada a inferência.

    É importante mencionar que essa rede recebe uma imagem, nesse caso, o frame da captura e retorna as coordenadas de uma caixa englobando o objeto detectado, sua classe (nome) e a precisão da detecção. Ao contrário da outra aplicação, esta usa os pesos pré-treinados YOLOv5x¹, na sua configuração padrão, para detectar pessoas.

    SELECIONAR REGIÃO DE TRANSFORMAÇÃO

    Um dos problemas de medir distâncias em imagens é a falta de percepção de profundidade que o computador tem sobre elas. Como consequência, numa inferência, duas pessoas podem possuir coordenadas bem próximas na imagem, embora estejam a 3 metros de distância uma da outra a depender do ângulo de visão da câmera em relação a elas. Nesse viés, não se poderia utilizar somente a posição das detecções na imagem para apurar o distanciamento.

    Contudo, para sanar essa questão, o projeto emprega a transformação de perspectiva, a fim de criar uma impressão de tridimensionalidade na imagem. Para isso, o usuário deve selecionar uma área quadrangular de interesse (que, para os fins desta aplicação, deve ser o chão) a ser transformada apenas clicando duas vezes na janela da captura de vídeo para cada ponto dela.

    CENTRÓIDES E TRANSFORMAÇÃO DE PERSPECTIVA

    Com a entrada do usuário, outra lista criada com base nela e a função de transformação getperspectiveTransform() disponibilizada pelo OpenCV, é possível calcular a matriz de transformação que possuirá informações a despeito de como fazer essa mudança visual.

    Em seguida, usando as listas de coordenadas obtidas ao carregar o frame na YOLO, calcula-se o ponto em que cada pessoa toca o chão e armazena numa lista. E, com a matriz computada anteriormente e a função perspectiveTransform(), transpõe-se elas de modo a conseguir uma visão aérea aparente em uma imagem criada transparente maior que a original, como na figura 1. Feitas as detecções, as posições das pessoas são transformadas para as imagens transparentes de sobreposição (nesse caso, pintadas de cinza para facilitar a visualização) e são desenhados os círculos. Nesta, pelo fato da pessoa encontrar-se distanciada das demais, foi pintado de verde. 

    image

    FIGURA 1 – VISÃO ÁREA: DISTANCIAMENTO


    A partir disso, são feitas as medições de distâncias em pixels, nas quais o limite estipulado pelo usuário servirá de parâmetro para indicar se há violação do distanciamento social entre as pessoas. Posteriormente, são desenhados círculos vermelhos (de raio equivalente ao valor mencionado) ao redor do ponto correspondente da imagem transparente em que elas tocam o chão, e verdes, em caso negativo. Por fim, esta imagem sofre uma transformação de perspectiva reversa (figura 2), para que seja sobreposta na original.

    image

    FIGURA 2 – TRANSFORMAÇÃO DE PERSPECTIVA REVERSA DA FIGURA 1


    RESULTADOS E DISCUSSÃO DOS RESULTADOS

    Com base nos testes feitos dentro do âmbito escolar do IFRN campus Pau dos Ferros o software obteve resultados preliminares satisfatórios.

    IDENTIFICAÇÃO DE PESSOAS, MÁSCARA E FARDAMENTO

    Com base nas 90 imagens utilizadas na parte de testes da IA o algoritmo com os parâmetros de img = 768, batch = 30 e epochs = 300 obteve um nível de confiança na identificação de pessoas, máscara e fardamento que variam entre 90% e 97% , valores esses que variam de acordo com a luminosidade do ambiente e se há ou não refração de luz na lente da câmera.

      A figura 3 mostra os gráficos referentes ao treinamento da IA, eles são divididos entre treino, validação e métricas, os gráficos de treino e validação mostram o desempenho do algoritmo em relação aos erros de identificação do objeto e de identificação da caixa delimitadora que vai ser traçada ao redor do objeto e que de acordo com que a IA vai sendo treinada a sua taxa de erro vai diminuindo gradativamente até se aproximar o máximo possível de 0. Já os gráficos das métricas mostram o quão precisa a IA está sendo na identificação dos objetos desejados.

    image

    image

    FIGURA 3 – RESULTADOS DO TREINAMENTO

      A figura 4 mostra a identificação dos objetos, são traçados retângulos ao redor do objeto de interesse. Os objetos são identificados em cascata, primeiro é identificado se é uma pessoa, em seguida se está fazendo o uso da máscara e por último se está usando o fardamento, e acima das suas respectivas identificações é retornada a porcentagem de confiança de identificação daquele objeto.

    image

    image

    FIGURA 4 – IDENTIFICAÇĀO E RECONHECIMENTO DE PESSOAS, USO DE FARDA, MÁSCARA E UNIFORME.

    IDENTIFICAÇÃO DE AGLOMERAÇÃO

    A partir da inferência utilizada na imagem da figura 5 (com os vértices da região quadricular de bordas vermelhas), pôde-se obter a matriz de transformação e as coordenadas das pessoas detectadas.

    image

    FIGURA 5 – REGIÃO SELECIONADA

    Após a sobreposição das camadas dos círculos, adquire-se a imagem da figura 6, com os círculos envolvendo as pessoas detectadas, indicando a distância segura entre elas e se ela foi ultrapassada ou não. Logo, observa-se dois círculos sobrepostos indicando que existem duas pessoas “aglomeradas”.

    image

    FIGURA 6 – SOBREPOSIÇÃO

    CONCLUSÕES

    Foi apresentado um projeto em desenvolvimento envolvendo técnicas de processamento de imagens e uso de redes neurais profundas para identificação e reconhecimento de objetos. Os resultados são iniciais, e precisando um maior dataset de treinamento e teste para obter resultados mais sólidos referente a acurácia da rede treinada. De qualquer forma, esse trabalho tem um grande potencial para auxiliar gestores no monitoramento do cumprimento das medidas sanitárias impostas pela OMS e Ministério da saúde. Assim como o cumprimento das normas do regimento interno da instituição de ensino, podendo ser expandido para outros setores como órgãos públicos e no setor industrial, e, sendo capaz de monitorar o uso dos equipamentos de segurança, os EPIs, em áreas de risco. 

    REFERÊNCIAS

    SAS. Deep Learning, o que é e qual sua importância? disponível em: < https://www.sas.com/pt_br/insights/analytics/deep-learning.html >. Acesso em: 25 junho 2022. 

    RODRIGUES, Gustavo de Freitas; BENTO, José Matheus. USO DE DEEP LEARNING PARA A IDENTIFICAÇÃO E CLASSIFICAÇÃO DE PLACAS AUTOMOTIVAS. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte, Pau dos Ferros 2021 


    FIGUEIREDO, ELAINE BARBOSA; SILVA, ELIANA PEREIRA DA. Combate ao Covid19: Detecção em tempo real de indivíduos sem máscara em ambiente escolar por meio de Deep Learning. Centro Universitário Campo Limpo Paulista – UNIFACCAMP, Campo Limpo Paulista – SP – Brasil 

    SIGUAS, PEREZ ROSA; SOLIS, MATTA EDUARDO; SOLIS, MATTAN HERMAN. Design of a Distance Detection System for Patients in a Health Center, Universidad María Auxiliadora & Av. Canto Bello 431, San Juan de Lurigancho

    Deep Learning Book. introducao-as-redes-neurais-convolucionais disponível em: <https://www.deeplearningbook.com.br/introducao-as-redesneuraisconvolucionais/#:~:text=Uma%20Rede%20Neural%20Convolucional%20(ConvNet,d e%20diferenciar%20um%20do%20outro./>. Acesso em: 25 junho 2022. 

    DATA ANALYTICS, BIG DATA, DATA SCIENCE – BLOG CETAX disponível em: <https://www.cetax.com.br/blog/o-que-e-deep-learning/> Acesso em: 25 junho 2022. 

    IAEXPERTACADEMY. Detecção de Objetos com YOLO – Uma abordagem moderna disponível em: < https://iaexpert.academy/2020/10/13/deteccao-de-objetos-com-yolo-umaabordagemmoderna/#:~:text=Para%20o%20seu%20funcionamento%20o,criador%20do%20YOLO%2C %20Joseph%20Redmon. >. Acesso em: 25 junho 2022

    Compartilhe
    Comentários (0)