OpenVino: Inteligência Artificial em tempo real sem GPU

Hoje é muito comum sistema de deep learning com inferência matemática para visão computacional utilizando técnicas de redes neurais convolucionais. Mas também é muito comum estes sistemas trabalharem com as poderosas GPUs. Neste artigo conheceremos o OpenVino, uma tecnologia da Intel que permite processar reconhecimento de objeto com 100 fps em processadores i5.

[ Hits: 6.245 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 26/03/2019 | Blog: http://assuntonerd.com.br


Configurando e testando o OpenVino



Agora configuraremos as variáveis ambientais para o desenvolvimento com a tecnologia OpenVino.

source /opt/intel/computer_vision_sdk/bin/setupvars.sh
[setupvars.sh] OpenVINO environment initialized

Nesta etapa determinaremos quais frameworks o otimizador do OpenVino será compatível. Os comandos a seguir serão para todos os disponíveis (Caffe, TensorFlow, MXNet, Kaldi, e ONNX):

cd /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites
$ sudo pip3 install --upgrade pip
$ sudo ./install_prerequisites.sh


Agora testaremos com um script o reconhecimento e processamento do OpenVino:

cd /opt/intel/computer_vision_sdk/deployment_tools/demo
$ ./demo_squeezenet_download_convert_run.sh


Se tudo funcionar corretamente PARABÉNS, o script submeterá a imagem car.png, onde o carro será identificado com 83% de similaridade.
Agora testaremos um exemplo visual para identificar o veículo, cor e leitura da respectiva placa:

./demo_security_barrier_camera.sh
[ INFO ]     /opt/intel/computer_vision_sdk/deployment_tools/demo/car_1.bmp
[ INFO ] Number of input image files: 1
[ INFO ] Number of input video files: 0
[ INFO ] Number of input channels:    1
[ INFO ] Loading plugin CPU

	API version ............ 1.5
	Build .................. lnx_20181004
	Description ....... MKLDNNPlugin
[ INFO ] Loading network files for VehicleDetection
[ INFO ] Batch size is forced to  1
[ INFO ] Checking Vehicle Detection inputs
[ INFO ] Checking Vehicle Detection outputs
[ INFO ] Loading Vehicle Detection model to the CPU plugin
[ INFO ] Loading network files for VehicleAttribs
[ INFO ] Batch size is forced to 1 for Vehicle Attribs
[ INFO ] Checking VehicleAttribs inputs
[ INFO ] Checking Vehicle Attribs outputs
[ INFO ] Loading Vehicle Attribs model to the CPU plugin
[ INFO ] Loading network files for Licence Plate Recognition (LPR)
[ INFO ] Batch size is forced to  1 for LPR Network
[ INFO ] Checking LPR Network inputs
[ INFO ] Checking LPR Network outputs
[ INFO ] Loading LPR model to the CPU plugin
[ INFO ] Start inference 
	
Avarage inference time: 14.9847 ms (66.7346 fps)

Total execution time: 25057.7

[ INFO ] Execution successful


###################################################

Demo completed successfully.

Pronto! Acredito que este documento é mais que incentivador, pois transmite a simplicidade e potencial da ferramente OpenVINO. Agradecimento em especial para Jomar Silva, Bob Duffy, Wendy Boswell, Kim Karalekas e Karl Fezer por todo apoio no programa Intel Innovator.

Dúvidas e sugestões em [email protected]
People - Alessandro de Oliveira Faria | Intel Developer Mesh

Página anterior    

Páginas do artigo
   1. Introdução
   2. Configurando e testando o OpenVino
Outros artigos deste autor

KDE-Edu e Gcompris: Software Livre a serviço da educação

Linguagem LOGO: Crianças programando de maneira divertida

Como instalar Firefox OS junto ao Android com gerenciador de boot

ePub - O MP3 dos livros

Apache Cassandra NoSQL, uma tecnologia emergente

Leitura recomendada

Instalando o Inkscape no Slackware

GIMP - Colocando um desenho de traços sobre outra superfície

Imagination: Transforme suas fotos em DVD

Efeitos tridimensionais nas seleções dos desktops virtuais

Compiz no Debian Etch

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts