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

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

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

Dia: O Editor de diagrama (Microsoft Visio) para Linux

Camera Kombat: Mortal Kombat ao vivo com WebCam

Biometria: Processamento de imagens capturadas em leitores de impressão digital

Gerando em tempo real efeito de voz robotizada

Leitura recomendada

Instalando o Cacti via APT no Debian Etch

Extraindo na "marra" textos de um PDF bloqueado

Como simular fluidos 3D com o Blender

Hydroxygen - Ubuntu Linux com cara de KDE4

E17 no Slackware 13.37

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts