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: 9.587 ]

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 cabelo@opensuse.org
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

Utilize seu iPad/iPhone/IPod Touch na plataforma GNU/Linux

PEAGLE: Serviço Web de busca indexada em seu servidor local

Android NDK: Desmistificando o acesso a códigos nativos em C

Detectando assalto na multidão com visão computacional

Conectando com Bco Interbase/Firebird em Java

Leitura recomendada

Programação visual (módulo 2)

Fontes personalizadas no GNU/Linux

Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux

Salvando arquivos do Inkscape para o CorelDraw

XGL no Slackware 10.2

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts