Visão Computacional Automatizada
LarLar > blog > Visão Computacional Automatizada

Visão Computacional Automatizada

Jun 03, 2023

História exclusiva para membros

Md. Zubair

Seguir

DataDrivenInvestor

--

Ouvir

Compartilhar

A visão computacional adiciona uma nova dimensão às tecnologias modernas. Consciente ou inconscientemente, estamos usando a visão computacional. Eu sou um professor universitário ministrando um curso de visão computacional. Normalmente, eu faço o atendimento manualmente; consome tempo e energia. Dois dias atrás, surgiu a ideia de automatizar um sistema para economizar energia e tempo. E concluí o projeto com sucesso.

Se você ler o artigo até o final, poderá criar o seu próprio. Nenhuma codificação complexa ou de alto nível ou conhecimento matemático é necessária. Vamos continuar.

Tentei manter o projeto simples e fácil para que os alunos iniciantes se sintam à vontade para criar seu primeiro projeto. Vamos importar as bibliotecas necessárias.

Extraímos os diretórios de imagens de treinamento com o código acima e os salvamos na variável myList.

Com o código acima, extraímos os diretórios das imagens de treinamento e os salvamos na variável myList.

Agora, considere a seguinte célula de código.

O código acima nos ajuda a criar duas listas diferentes nomeadas — imagens e nomes de classes. Salvamos os valores de intensidade das imagens na lista de imagens e o nome de cada pessoa na lista de nomes de classe.

Para fins de demonstração, mostrei o nome das imagens abaixo.

As imagens foram salvas com Anik.jpg, Ferdous.jpg, etc.

[NB De acordo com o código deste projeto, temos que rotular a imagem com o nome de identificação ou ID]

A codificação facial é uma maneira de representar as faces de uma imagem com alguns números medidos por computador. Codificação de face semelhante gera tipos semelhantes de valores codificados. Assim fica fácil reconhecer os rostos.

Usamos a seguinte célula de código para codificar as imagens com a biblioteca de reconhecimento facial.

A função findEncodings retorna todos os valores codificados para as imagens de treinamento.

Geralmente, o OpenCV armazena a imagem no formato BGR em vez do formato RGB. Então, precisamos convertê-lo para RGB para trabalhar com as imagens. E a função face_recognition.face_encodings() extrai o rosto de uma imagem e o codifica.

Queremos tornar nosso projeto realista. Por isso também geramos uma planilha em Excel contendo as informações e o tempo de atendimento em formato tabular para cada dia. Eu criei a seguinte função para fazer o trabalho.

Usamos a biblioteca openpyxl para criar e inserir dados nas planilhas do Excel. Em primeiro lugar, pegamos um arquivo Excel onde armazenamos as informações. Para cada dia, criamos uma nova planilha com a data desse dia no arquivo Excel. Por fim, inserimos o nome, data e hora das pessoas reconhecidas na planilha Excel.

Exemplo de saída —

Detectamos os rostos da entrada da câmera ao vivo para que possamos usar o CCTV em tempo real filmagem da câmera para marcar presença. Também salvamos a imagem em uma pasta diferente do rosto detectado para verificação posterior.

Todas essas tarefas estão em uma única célula de código —

Criamos pastas individuais para cada dia para salvar as imagens detectadas com os.mkdir() . Em seguida, capturamos o vídeo com a função cv2.VideoCapture(0) . Aqui, 0 para a câmera padrão e você também pode usar 1, 2 e assim por diante para outras entradas de câmera. Tiramos quadros de vídeo contínuos com um loop while. Depois disso, reduzimos o tamanho da imagem para 1/4 para minimizar o custo computacional e codificar a imagem com a imagem reduzida. Também calculamos a distância da imagem de entrada para a imagem treinada e, finalmente, rotulamos a imagem de entrada com o rótulo de imagem treinada de menor distância.

Também desenhamos um retângulo vermelho do rosto detectado mostrando o nome da pessoa detectada. Ao mesmo tempo, coletamos o nome do rosto detectado em uma lista e o inserimos na planilha do Excel com a função takeAttendance().

Saída do rosto detectado —

Imagem salva na pasta de data específica —

Planilha Excel gerada —