De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Alessandro de Oliveira Faria
Data de Publicação: 08 de abril de 2019
OpenVino é uma tecnologia da Intel que permite processar Inteligência Artificial no segmento de Visão Computacional com o diferencial de permitir explorar todo o reconhecimento e/ou processamento com CPU. Entretanto podemos utilizar muito além da CPU, e sim orquestrar VPU, FPGA e GPU simultaneamente. Ou seja, processar o módulo facefind na CPU, calculo de estimativa de sexo na VPU e estimativa de idade CPU por exemplo.
Resumindo, a solução é baseada em cálculos convolucionais e permite utilizar a inferência de deep learning com CPU, GPU, VPU e FPGA com um único SDK. Um ponto interessante é o desempenho do processamento que está diretamente relacionado com a otimização para os processadores Intel (SSSE4_1, SSSE4_2, AVX, AVX2 e outros).
Outro ponto excepcional é a possibilidade da tecnologia OpenVino permitir o uso dos frameworks populares de deep learning, como por exemplo o TensorFlow, Caffe, Torch e outros. Os modelos são convertidos para a tecnologia OpenVino e tudo funciona de maneira mágica e eficiente. O real diferencial é a possibilidade de mudar o projeto de hardware durante o desenvolvimento sem sofre enormes traumas.
Primeiramente entre no link de download do OpenVino e efetue o download da última versão.
Após o download, entre na pasta e descompacte o arquivo recém obtido com o comando tar
:
$ cd ~/Downloads/ $ tar -zxvf l_openvino_toolkit_p_2018.5.455.tgz
Após a descompactação, entre na pasta recém-criada e execute o script de checagem e instalação de dependências conforme o exemplo a seguir:
$ cd l_openvino_toolkit_p_2018.5.455 $ sudo -E ./install_cv_sdk_dependencies.sh
Agora efetuaremos a execução do script que iniciará a interface gráfica de instalação:
$ sudo ./install_GUI.sh
Ao executar, teremos a primeira janela de dialogo conforme o exemplo abaixo, então aceite o termo clicando em I ACCEPT THE TERM e clique no botão NEXT
.
Agora marque uma das opções, se você aceita ou não o envio de informações e clique no botão NEXT
.
Nesta janela receberemos algumas informações sobre os requisitos das bibliotecas openCV. Clique em NEXT
para continuar.
Agora veremos na janela o resumo da instalação, ou seja, todos os componentes que serão instalados, então clique novamente em NEXT
para iniciar a instalação.
Ao término da instalação, se tudo estiver funcionando corretamente, veremos a janela a seguir. Para terminar clique no botão FINISH
.
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
Average 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 (a) opensuse org>
People - Alessandro de Oliveira Faria | Intel Developer Mesh
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários