Recentemente em uma empresa que fiz entrevista, havia um desafio para descobrirem se os candidatos atendiam os requisitos para a vaga. O objetivo era claro: desenvolver uma aplicação com uso de inteligência artificial e processamento de imagem .
A solução que apresentei foi na linguagem Python, versão 3.6 um serviço web, desenvolvido com Flask para servir a aplicação e o front-end feito com HTML, CSS e Bootstrap.
Foi uma experiência bacana, o resultado foi bem satisfatório e atendeu aos requisitos da vaga. Então resolvi disponibilizar no github: https://github.com/emannuell/python-webserver-yolov3
Nesta aplicação você vai ver exemplos de:
- Como abrir webcam local com opencv no seu navegador
- Streaming de video com opencv
- Processamento de imagem em tempo real
- Comunicação via API
- API com processo de IA
- YoloV3 com API para detecção de objetos
Para rodar a aplicação você precisa baixar os pesos do YoloV3-tensorflow treinados no dataset COCO.
Recomendo a utilização de um gerenciador de pacotes para python, por exemplo pip ou conda. Também um ambiente virutal como virtualenv para isolar sua aplicação. Um arquivo na raiz do projeto contém todas dependencias e suas versões testadas. Caso utilize o pip basta executar:
pip install -r requirements.txt
Após instalada as versões, execute a aplicação:
python app.py
A iluminação interfere diretamente no resultado do modelo. Luz de led, é mais fria e assim parece saturar menos o sensor.