Neste post conheceremos um hardware revolucionário, OAK (OpenCV Artificial Intelligence Kit). Acredito que este equipamento será relevante para a visão computacional, como o Raspberrypi foi para o setor de embarcados. O objetivo deste documento é prover de maneira sucinta o potencial deste produto.
Introdução
Visão computacional é uma parte da ciência que permite a máquina analisar e extrair dados de imagens e vídeos. Se você já se interessou neste campo, provavelmente se deparou com biblioteca OpenCV. Esta biblioteca é um projeto de código aberto popular voltado para a visão computacional em tempo real.
OpenCV AI Kit, ou OAK é uma câmera que utiliza um chip de AI incorporado para processar tarefas de visão computacional, como, por exemplo, detectar objetos, medir distâncias e muitas outras tarefas comum no setor de IA.
OpenCV AI Kit baseado em software livre sob a licença MIT e uma solução baseada em hardware Myriad X para visão computacional por OpenCV (se isso não fosse óbvio). O produto está disponível em duas versões: OAK e OAK-D.A diferença entre estas câmeras, são a capacidade de processamento 3D e a presença de múltiplas câmeras. A seguir os modelos disponíveis. Além de eficaz, apresenta eficiência energética tornado uma solução de grande benefício.
O projeto OpenCV anunciou mundialmente seu projeto de hardware que é basicamente uma placa única especialmente focado em Visão Computacional. Se você encontra-se neste segmente, já deve conhecer o kit de desenvolvedor Nvidia Jetson Nano como uma das alternativas do Raspberry Pi para projetos de IA.
O Jetson Nano pode ser uma opção melhor para projetos de IA, mas o kit OpenCV AI torna mais fácil começar a construir projetos com o OpenCV e já pronto para usar.
OAK: Câmera opensource de visão computacional com AI. Abaixo os modelos para compreendermos melhor:
OAK: A placa OpenCV AI capaz de processar inferência de rede neural, rastreamento de objetos, reconhecimento de objetos e processamento básico de processamento de imagem.
? OAK-D: além de todas as funções ds OAK, possui uma câmera de profundidade 3D e rastreamento de objeto no espaço 3D.
Vantagens do chip Myriad X além do baixo consumo.
1. Inferência neural em tempo real (todos os framework de redes)
2. Profundidade estéreo
3. Rastreamento de movimento
4. Rastreamento de objeto
5. Codificação H.265 / H.264
6. Codificação JPEG
7. Processador vetorial de alta eficiência
8. Processamento com câmera 4k @ 60fps
Sendo assim é possível treinar seus próprios modelo redes neurais ou apenas rastrear e detectar objetos presente na cena ao vivo. Exemplos seriam utilizar as redes neurais para detecção de máscara/sem máscara do COVID, reconhecimento de idade, detecção de rosto, detecção de objeto, detecção de veículo e muito mais.
Para não esquecer, você sempre pode usar OpenVINO já publicado aqui para implantar seu próprio modelo usando qualquer conjunto de dados disponível.
Olhando para outras opções baseadas no Myriad-X, o OpenCV AI Kit parece muito mais promissor, mais barato e fácil de começar.
Mão na Massa:
Requisitos:
Os pacotes requeridos são cmake, git, pkg-config, tbb, python3-devel, python3-numpy e outros.
Para instalação da dependências no Ubuntu, para executar o comando abaixo:
$ sudo wget -qO- http://docs.luxonis.com/_static/install_dependencies.sh | bash
No openSUSE, a seguir os comandos:
$ sudo zypper in patterns-devel-base-devel_basis \ cmake git pkg-config ffmpeg-4-libavcodec-devel \ ffmpeg-4-libavformat-devel ffmpeg-4-libswscale-devel \ python3-devel python3-pip python3-numpy libtbb2 \ tbb-devel libtiff-devel libjpeg8-devel libpng16-devel \ ffmpeg-3 libXext6 libSM6 Mesa-libGL1
Mais informações e suporte para demais distribuições, acessem diretamente a URL: https://docs.luxonis.com/en/latest/pages/api/
Instalação:
Escale o privilégio para o usuario root, e execute o comando abaixo para atribuir corretamente o acesso ao dispositivo.
$ su
# echo ‘SUBSYSTEM==”usb”, ATTRS{idVendor}==”03e7″, MODE=”0666″‘ | sudo tee /etc/udev/rules.d/80-movidius.rules # udevadm control –reload-rules # udevadm trigger
Agora com utilize o comando pip3 para instalar o pacote python depthai no seu sistema operacional.
$ pip3 install depthai
Collecting depthai Downloading depthai-0.4.0.0-cp36-cp36m-manylinux2014_x86_64.whl |????????????????????????????????| 3.4 MB 3.5 MB/s Installing collected packages: depthai Successfully installed depthai-0.4.0.0 Neste momento, se tudo foi configurado e instalado com sucesso, devemos testar o sistema em funcionamento. Para esta tarefa, basta clonar o repositório com o respectivo exemplo no github. $ git clone https://github.com/luxonis/depthai.git Cloning into 'depthai'... remote: Enumerating objects: 88, done. remote: Counting objects: 100% (88/88), done. remote: Compressing objects: 100% (65/65), done. remote: Total 3432 (delta 42), reused 51 (delta 20), pack-reused 3344 Receiving objects: 100% (3432/3432), 17.72 MiB | 1.41 MiB/s, done. Resolving deltas: 100% (2017/2017), done.
Se a biblioteca openCV estiver devidamente instalada no seu sistema operacional, remova-a na lista de requisitos dos pacotes python (presente no arquivo requirements.txt ). Logo abaixo, os comandos para remover a dependência caso necessário.
$ cd depthai/ $ sed -i '2d' requirements.txt $ pip3 install -r requirements.txt
Com tudo conectado e funcionando, execute o programa depthai_demo.py e obtenha o resultado a seguir.
$ python3 depthai_demo.py
“O próximo grande salto evolutivo da humanidade será a descoberta de que cooperar é melhor que competir… Pois colaborar atrai amigos, competir atrai inimigos!”
Mais informações na pagina oficial ou em contato diretamente comigo em [email protected]