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:
- Drive Placa de VídeoNvidia
- CUDA
- CUDNN (Biblioteca de Deep Neural Network do CUDA)
- OpenCV
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:
2 Comentários
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
ResponderExcluira instalação não apresenta mensagem de erro mas na execução do programa apresenta: ./darknet: error while loading shared libraries: libcudart.so.10.1: cannot open shared object file: No such file or directory
ResponderExcluiralguém tem ideia de como consertar isso, ou redirecionar esse diretório?