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.745 ]

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

Solução open source para clínicas médicas

Leitor de impressão digital Futronic FS80 no Linux

Transmitindo dados para relógios Timex Datalink no GNU/Linux

Ångström: Linux em Palmtops, portáteis e embarcados sem mistério

Babytrans, o Babylon for Linux

Leitura recomendada

Imagination: Transforme suas fotos em DVD

Criando o seu próprio wallpaper com o Gimp

Mais um guia de instalação XGL no Fedora Core 5

Mudando o tema dos cursores do mouse no Linux

Alguém aí falou em deformação?

  
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