Inteligencia Artificial

Como utilizar YOLO com Keras

Já vimos em outro artigo como utilizar o YOLO com Darknet. Agora vamos ver como implementar utilizando Keras!

YOLO com Keras

Sem delongas, sejamos objetivos. Faça o clone do repositório:

Ou com YOLOv3, nesse repositório:

Entre no diretório clonado antes de baixar os pesos:

Agora, baixe os pesos do site do YOLO:

Precisamos converter o formato do model para o formato utilizado no Keras. Para isso:

TypeError: unicode argument expected, got ‘str’

Se seu ambiente for Python-2.7, ocorrerá um erro. Para corrigir o problema, edite o arquivo convert.py e modifique as seguintes linhas:

Linha 9 – import io

Modifique para :

Linha 46 – output_stream = io.StringIO()

Modifique para:

Agora deve funcionar. Sem essa conversão, não tem como utililzar o dataset da Darknet no YOLO com Keras.

YOLO com Keras

ValueError: height and width must be > 0

Se obtiver esse erro também, não se angustie. Edite o arquivo yolo3/utils.py e insira antes do primeiro import:

Agora já podemos fazer uso dos recursos baixados e depois de brincar, é só estudar as conversões para entender como funciona, além do programa principal, yolo_video.py, que pode ser utilizado tanto para vídeo como para imagem:

YOLO com Keras - webcam

Para capturar diretamente da webcam como fiz acima, utilize:

A saída é lançada por padrão em stdout, mostrando a classificação, a acurácia e a região de interesse. Com isso, poderíamos criar uma base fazendo crop da região para registro de evento, ou criar um log para análise de vídeo a posteriori.

Um trecho da saída do YOLO com Keras:

YOLO com Keras

Vou procurar um vídeo com mais objetos por aqui e mais tarde subo um vídeo com o Yolo em ação no nosso canal DobitAoByteBrasil no Youtube. Se ainda não é inscrito, aproveite para assinar o canal, clique no sininho para receber notificações de novos vídeos e deixe seu like para incentivar.

Assim que possível escreverei um artigo para utilizar esses recursos com seu próprio dataset. Se não leu ainda a respeito, recomendo esses dois outros artigos:

Como criar um dataset para deep learning.

Reconhecimento de armas com inteligência artificial.

Até a próxima!