banner

Reconhecimento Facial na prática




Um assunto que me tira o sono tamanho meu interesse por ele: Computer Vision – reconhecimento, ou melhor, a detecção de objetos e pessoas através de um modelo pré-treinado. Neste vídeo de hoje, vamos utilizar o algoritmo YoloV3, para executar uma aplicação e rodar o projeto.
Trabalhei com rede neural há uns 15 anos atrás e posso dizer que eram tempos “difíceis” tendo em vista os recursos disponíveis na época.





Recursos usados

·         Câmera Logitech C270
·         Computador
·         NVIDIA GeForce GTX 1660




PRÉ-REQUISITOS


Para rodar as redes neurais profundas (DNN) é necessário  o uso de computação paralela utilizando GPU.
Por isso vamos precisar de uma placa de vídeo potente da NVIDIA e rodar o algoritmo com o uso da API CUDA (conjunto de instruções  virtuais da GPU).

               
Para rodar o algoritmo primeiro é necessário ter instalado os seguintes pacotes:


Configurações do Computador





SETUP YOLO

Detecção utilizando um modelo pré-treinado

Abra o terminal e digite os seguintes comandos:


Modifique o arquivo MakeFile como na figura abaixo pois iremos utilizar processamento da GPU, CUDNN e OpenCV.


Após modificar basta dar o comando make.


É com esse comando que é compilado tudo para ser utilizado pelos algoritmos.
Esse comando demora um pouco para rodar.



Setup YOLO

Caso seu computador e placa de vídeo não sejam tão potentes ou deseja uma performance melhor, alterem o arquivo  cfg/yolov3.cfg .
Foi utilizada a seguinte configuração nesse projeto:




YOLO V3

Normalmente sistemas de detecção aplicam o modelo a uma imagem em vários locais e escalas diferentes.
O YOLO aplica uma única rede neural na imagem completa. Essa rede divide a imagem em regiões e prevê caixas delimitadoras e probabilidades para cada região.


YOLO tem várias vantagens. Ele enxerga a imagem como um todo, de modo que suas previsões são geradas pelo contexto global na imagem. Faz previsões com uma única avaliação de rede, ao contrário de R-CNN que fazem milhares de avaliações para uma única imagem.
Chega a ser 1000 vezes mais rápido que o R-CNN e 100 vezes mais rápido que o Fast R-CNN.


Para rodar o YOLO, basta abrir o terminal na pasta “darknet” e digitar um comando.
É possível rodar o YOLO de 4 formas:
·         Imagem
·         Múltiplas Imagens
·         Streaming (Webcam)
·         Vídeo




YOLO V3 - Imagem

Coloque a imagem que deseja na pasta “data” dentro de darknet e após isso rode o comando abaixo modificando o nome da imagem:




YOLO V3 - Imagem Input




YOLO V3 - Imagem Output




YOLO V3 – Múltiplas Imagens

Coloque as imagens em algumas pasta, além de fornecer o caminho da imagem, deixe em branco e rode o comando como esta abaixo:


Após isso vai aparecer algo como a figura abaixo, basta colocar caminho da imagem e clicar em “enter” e repetir esses passos para várias imagens.



YOLO V3 – WebCam

Rode o comando abaixo e após carregar a rede, vai aparecer a webcam.






YOLO V3 – Vídeo

Coloque o vídeo que deseja na pasta “data” dentro de darknet e após isso rode o comando abaixo modificando o nome do vídeo:





YOLO V3 – Vídeo EXPO3D 1




YOLO V3 – Vídeo EXPO3D 2




YOLO V3 – Vídeo EXPO3D 3






FAÇA O DOWNLOAD:




Um comentário:

  1. Consegui reproduzir o OpenCV é bem dificil de fazer rodar no Ubuntu19.04 e sem GPU é extremamente lento, vou tentar usar para fazer um veiculo autonomo para desviar de obstaculos, acho que vou acabar pondo um sensor de proximidade para evitar colisoes e uma segunda rede neural(exclusiva para direção) para aprender mais com esses dados e ir melhorando. Segura ai tesla Kkk

    ResponderExcluir

Tecnologia do Blogger.