DEV Community

Cover image for Rastreamento de Contatos por Visão Computacional
Rafael Rocha
Rafael Rocha

Posted on • Edited on

1

Rastreamento de Contatos por Visão Computacional

Introdução

Devido a situação pandêmica vivenciada desde o inicio do ano de 2020, diversas estratégias surgiram para realizar o rastreamento de contatos de pessoas infectadas com o vírus SARS-CoV-2.

Aqui é apresentado um rascunho de rastreamento de contatos por visão computacional, onde considera-se um ambiente de trabalho fechado (um escritório, por exemplo), com um número limitado de pessoas e câmeras disponíveis em locais específicos para realizar a análise. Esse exemplo visa detectar as pessoas através de detecção de faces, e com base nas distâncias euclidianas (em pixels) entre as faces, avaliar e gerar um alerta informando que determinada pessoa esteve próxima/teve contato com uma pessoa que está com o vírus.

Etapa 1

A primeira etapa da aplicação tem como objetivo detectar todos as faces em uma determinada cena/imagem. Para isso, é utilizado o algoritmo Viola-Jones para detectar as faces, onde utiliza-se um arquivo XML treinado com as características (features) Haar para detecção de faces frontais.

Faces detectadas pelo algoritmo Viola-Jones.

Através dos bounding boxes gerados na detecção das faces, são calculados os pontos centrais destes, que são utilizados na obtenção da distância euclidiana entre as faces na imagem.

Etapa 2

A segunda etapa visa classificar, através de uma rede neural convolucional, as faces detectadas na etapa anterior, cujo objetivo real seria identificar as pessoas (faces) na imagem, possibilitando assim o rastreamento de contatos. Utilizou-se o dataset VGGFace, que possui faces rotuladas de 8631 celebridades. Para a classificação, foi usado o modelo pré-treinado ResNet50.

Imagem de entrada e mapas de características da ResNet50.
Os resultados da classificação são mostrados abaixo:

Detecção 1
Edinson Cavani: 98.043%, Juliano Cazarre: 0.075%, Tino Costa: 0.075%

Detecção 2
Anthony Ogogo: 99.913%, Brahim Asloum: 0.007%, Scott Quigg: 0.006%

Detecção 3
Sharon Stone: 97.929%, Noelle Reno: 0.985%, Tina Maze: 0.092

Os resultados mostram que todas as três pessoas foram classificadas corretamente, com distribuições de probabilidades superiores a 95%.

Etapa 3

Por fim, a etapa final, que visa obter as distâncias euclidianas entre as combinações de pessoas (faces) detectadas na imagem. A Tabela abaixo mostra as distâncias euclidianas entre as pessoas na imagem.

Distância euclidiana entre as pessoas na imagem.
Ao considerar o limiar (threshold) da distância entre as pessoas como 500 pixels, e considerando Edinson Cavani com o vírus, a pessoa que teve um contato mais próximo dele é Sharon Stone, sendo necessário alertar essa pessoa para as medidas e precauções cabíveis.


O código com o rascunho do rastreamento de contatos por visão computacional pode ser encontrado em: https://github.com/rlrocha/pdi. Um melhor detalhamento do código desenvolvido encontra-se em: https://youtu.be/RJd7ufq_tZU. Siga o blog se o post for útil para você.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay