Manual

do

Maker

.

com

OMROM HCV - Human Vision Components

OMROM  HCV - Human Vision Components

Hardware de visão computacional

Tenho escrito alguns artigos sobre visão computacional e outros sobre inteligência artificial (mais precisamente, deep learning e machine learning) e como estou iniciando nesse mundo, estou fazendo o máximo de anotações possíveis, por isso que sendo você iniciante também, certamente se beneficiará dos detalhes que tenho colocado em meus artigos.

O tema desse post é um hardware utilizado para visão computacional. Um pequeno módulo chamado OMRON HVC, que inclui 10 algorítmos de visão computacional, incluindo Face Recognition, Expression Estimation, Hand Detection, Eyes Direction, Blink e outros.

Dependendo do tamanho de seu projeto e da acuidade requerida por ele, pode ser suficiente a utilização de um módulo desses, desde que a captura seja próxima do dispositivo. Isto é, não dá pra fazer um face recognition (e provavelmente sequer um face detection) a uma distância de metros, como pode ser feito com uma câmera comum. Isto porque em uma câmera comum você pode (no pior dos casos) colocar em uma resolução full hd e fazer ROI (Region Of Interest) em uma região cuja face normalmente seria capturada, de modo a reduzir o processamento. Já com a OMRON, você pode obter apenas frames de 160x120 pixels com tempo de processamento inferior a 3 segundos ou então capturar frames de 320x240 pixels com tempo de processamento inferior a 4 segundos. Se combinar filtros, esse processamento pode subir consideravelmente.

Utilizado em conjunto com um dispositivo que permita senha ou RFID pode ser uma boa opção, considerando que seu custo é inferior a 200 dólares, que é menos do que custa um Raspberry com câmera.

Suas funcionalidades são:

  1. Face Detection

  2. Human Body Detection,

  3. Gender Estimation

  4. Age Estimation

  5. Gaze Estimation

  6. Facial Pose Estimation

  7. Face Recognition

  8. Expression Estimation (satisfied, unsatisfied, happiness, surprise, anger, sadness, and neutral)

  9. Hand Detection

  10. Blink Estimation

Claro que o dispositivo gera falsos-positivo, ainda mais que não é possível um tunning como se faz com OpenCV, seu processamento é alto e lento, mas é sim uma opção dependendo da aplicação.

Seu tamanho é de 6x4cm, com uma porta USB conectada a ele, mas que pode ser removida. Possui uma interface UART 3.3V e é alimentado em 5V.

Código fonte

Eu não encontrei nada aberto, infelizmente, mas acredito que deva ter alguma coisa. Não tive tempo de pesquisar muito porque esse é um produto do projeto do meu trabalho e estou escrevendo esse artigo em formato de nota.

O código é disponibilizado através de email onde após baixar o arquivo, será necessário extraí-lo com uma senha. Essa foi a primeira decepção que tive com esse produto.

Ao extraí-lo, uma estrutura de diretórios é disposta, contendo as seguintes amostras:

src

Tudo está dentro deste diretório.

HVCAPI

Funções da interface e defines.

bmp

Função para salvar arquivo de bitmap.

uart

Funções UART para Windows (minha segunda decepção)

main

main.

register_main

Amostra do processo de registro para face recognition.

Plataforma

Os códigos de exemplo foram feitos para compilar em Windows 7, utilizando Visual Studio 2010 C++. Todos os binários devem ser compilados a partir desses códigos.

Para compilar em uma plataforma diferente de Windows, o README dentro do diretório do código diz que é possível compilá-lo "no estado" ou "como é" (não sei a melhor tradução para "as-is"), bastando ter o ambiente para compilação em C (funcionará em Linux? Veremos...).

Por fim, os códigos de amostra são meros exemplos e todo e qualquer tratamento deverá ser feito por você. Isso significa que apesar de ser um hardware dedicado e com bons recursos implementados, ainda haverá codificação para uma boa implementação, não existe mágica.

Ao final do README encontra-se a seguinte nota:

[NOTES ON USAGE] * This sample code and documentation are copyrighted property of OMRON Corporation * This sample code does not guarantee proper operation

Documentação

Todo o conteúdo vem dentro do arquivo com senha e abrindo o manual de uso do software me deparei de cara com as "notas adicionais", que diz "você não pode reproduzir o conteúdo deste documento sem a devida autorização por escrito da OMRON Corporation". Essa é uma tradução e não estou copiando essa linha, só para que fique claro, antes que me processem.

A partir da primeira página já tem a palavra "Confidencial" em vermelho, ou seja, o material é para uso exclusivo e fechado, na velha mentalidade pré-globalização.

Software de avaliação

Dentro do arquivo zip você encontrará um software compilado incluindo as dependências. Se você é afobado e usa Windows, pode ser uma boa pedida.

Ainda terei que compilar isso e fazer alguns testes pra poder dizer mais, mas você pode encontrar alguns videos no Youtube mostrando as características desse dispositivo, que pode levar entre 2.5s e 4s para disponibilizar uma saída na serial. Assim que eu me der com os códigos, faço um artigo mostrando o funcionamento, por enquanto, fiquem o video desse outro careca:

https://www.youtube.com/watch?v=JPDTRtM11Qo

Ainda não sei se farei meu próprio video ou apenas farei um parecer técnico, mas de qualquer modo, podem esperar por novidades.

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.