Biometria Brasil

SENTISIGHT SDK - VISÃO PARA COMPUTADORES

RECONHECIMENTO DE OBJETOS PARA ROBÓTICA E VISÃO DE COMPUTADOR

O SentiSight destina-se a desenvolvedores que desejam usar o reconhecimento de objetos com base em visão por computador em suas aplicações. Através do aprendizado manual ou totalmente automático, ele permite pesquisar objetos aprendidos em imagens de quase qualquer câmera, webcam, imagem estática ou vídeo ao vivo de maneira fácil, mas versátil.

Disponível como um kit de desenvolvimento de software que fornece o desenvolvimento de sistemas de reconhecimento de objetos para plataformas Microsoft Windows ou Linux.

CARACTERÍSTICAS E CAPACIDADES

  • Algoritmo confiável e inovador que é tolerante à variação na aparência: escala do objeto, rotação e pose.
  • Detecção, processamento e rastreamento precisos de objetos em tempo real.
  • Webcams ou outras câmeras de baixo custo são adequadas para obter imagens de objetos.
  • Disponível como SDK multiplataforma que oferece suporte a várias linguagens de programação.
  • SDK para Android está opcionalmente disponível.
  • Preços razoáveis, licenciamento flexível e suporte ao cliente gratuito.

Confira um vídeo de demonstração:

O SentiSight SDK permite desenvolver aplicativos e soluções para uma ampla gama de tarefas, incluindo:

  • Reconhecimento de documentos, selos, etiquetas, embalagens e outros itens para triagem, mascaramento de logotipo, monitoramento de uso e aplicações similares.
  • Contagem e inspeção de objetos para linhas de montagem e outras aplicações industriais.
  • Aplicações de realidade aumentada para brinquedos, jogos, dispositivos e aplicações Web, tais como: brinquedos inteligentes para crianças que reconhecem cartões, imagens, pictogramas, etc ;  reconhecimento de lugares com base em fotografias; reconhecimento de produtos como bebidas, alimentos e outros bens de consumo.
  • Visão robótica para navegação e manipulação
  • Aplicações para aplicação da lei para identificação, como o reconhecimento de uma tatuagem.

A tecnologia SentiSight 3.4 é capaz de realizar a aprendizagem de objetos totalmente automática ou manual e tem esses recursos para aprendizagem e reconhecimento de objetos visuais avançados:

  • Detecção de objeto precisa. O algoritmo SentiSight é capaz de descobrir:
    • se um objeto particular está presente em uma cena;
    • onde o objeto está localizado dentro da cena;
    • quantas instâncias do objeto ocorrem na cena.
  • Dois algoritmos para o reconhecimento de objetos. Dependendo do tipo de objeto, um desses algoritmos (ou ambos) pode ser usado para o reconhecimento bem-sucedido:
    • O algoritmo baseado em blob usa pequenos detalhes de um objeto como características distintivas que são extraídas em um template de objeto e são usadas mais tarde para reconhecer o objeto. Este algoritmo oferece desempenho de alta velocidade, mas não é adequado para objetos de cor sólida, reflectores ou transparentes (vidro, etc.).
    • O algoritmo baseado em forma é útil para objetos que não possuem detalhes distintivos, mas possuem bordas externas estáveis (limites) e / ou bordas internas. Este algoritmo funciona a velocidades mais lentas, mas permite o reconhecimento da maioria dos objetos não identificados pelo algoritmo baseado em blob.
  • Modo de uso de cor. O algoritmo baseado em blob pode ser configurado para detectar cores de objeto e usar essas informações para melhorar a precisão do reconhecimento. Esse modo permite que aplicativos baseados em SentiSight distinguem objetos semelhantes que apenas diferem em cores.
  • Determinação da qualidade da imagem do objeto. Um limiar de qualidade pode ser usado durante o aprendizado do objeto para garantir que apenas o template do objeto de melhor qualidade seja armazenado no banco de dados.

 

ESPECIFICAÇÕES TÉCNICAS
Todas as especificações são fornecidas para um processador Intel Core i7-2600 com 3,4 GHz.

Essas especificações são para algoritmos SentiSight 3.4 reconhecimento em blob e reconhecimento de forma. Esses algoritmos podem ser usados em conjunto ou separadamente, dependendo do tipo de objeto.

As especificações são fornecidas para imagens de 320 x 240 pixels. Essas dependências de desempenho da área de imagem são válidas para as mesmas imagens com diferentes resoluções:

  1. O algoritmo baseado em blob tem dependência linear para o aprendizado de objetos e dependência linearitmática (n log n) para o reconhecimento de objetos.
  2. O algoritmo baseado em forma tem dependência linearitmática (n log n) para aprendizagem de objetos e dependência quadrática para o reconhecimento de objetos.
  3. O modo de uso de cor tem dependência linear para aprendizagem e reconhecimento de objetos.

O tamanho do modelo do objeto depende de como um objeto rico em recursos é, variando para cada objeto.

Essas condições podem alterar o desempenho dos algoritmos:

  1. Rotação e tradução. O algoritmo geralmente é rotativo e invariante de tradução em um plano perpendicular à câmera. O algoritmo também é invariante para rotações de até 10 a 15 graus além de um plano perpendicular à câmera. Diferentes visualizações de um objeto podem ser adicionadas a um modelo para lidar com rotações maiores.
  2. Mudanças de resolução e escala. Escala (tamanho do objeto dentro da imagem) diferença entre o modelo de um objeto e o objeto em si pode ser até 2-3 vezes. Os objetos devem conter detalhes suficientes e ser suficientemente grandes para serem reconhecidos.
  3. Obstrução. O algoritmo é robusto para obstruções de até 50% do objeto se bastantes bordas únicas permanecem visíveis.
  4. Condições de iluminação (iluminação, sombras e reflectância).
    1. Objetos planos terão problemas com reflectância.
    2. Os objetos 3D terão problemas com condições de iluminação variáveis - iluminação consistente reduz consideravelmente os problemas potenciais.
  5. Transparência. Em geral, objetos transparentes podem ser difíceis de reconhecer.
  6. Rigidez. O algoritmo reconhece apenas objetos rígidos / estáveis. No mínimo, uma peça significativa do objeto deve ser imutável.

Os algoritmos de reconhecimento de objetos podem ser configurados para serem executados em mais de um segmento de processadores multi-core, permitindo um aumento na velocidade de verificação do modelo de objeto. A tabela abaixo fornece velocidades de reconhecimento de objetos como um intervalo; o número menor representa a velocidade de reconhecimento usando 1 thread, enquanto o número maior representa a velocidade de reconhecimento usando 8 threads. Observe que o modelo de processador especificado possui 4 núcleos e executa 2 threads por núcleo do processador em paralelo.

 

Algoritmo SentiSight 3.4 baseado em blob para reconhecimento de objetos - especificações técnicas

 

Sem uso de modo de cor

Com uso de modo de cor

Extração de fundo estático / Separação de máscaras de objetos

30 frames por segundo

Aprendizagem: processamento do quadro de um único objeto

0.014 segundos

0.017 segundos

Aprendizado: tempo de generalização
(para 100 quadros de objeto)

0.15 segundos

Velocidade de reconhecimento (1)

160,000 - 290,000
modelos por segundo

90,000 - 140,000
modelos por segundo

 

 

Algoritmo SentiSight 3.4 baseado em forma para reconhecimento de objetos - especificações técnicas

Extração de fundo estático / Separação de máscaras de objetos

30 frames por segundo

 

Aprendizagem: processamento do quadro de um único objeto

0.215 segundos

 

Aprendizado: tempo de generalização
(para 100 quadros de objeto)

Não aplicável

 

Velocidade de reconhecimento (1)

3,500 - 8,000 modelos por segundo

 

(1) Quando o modelo de objeto contém um template. O modelo de objeto pode conter vários templates (geralmente correspondentes com diferentes pontos de vista). Nesse caso, o algoritmo irá comparar um objeto com todos os templates no modelo antes de retornar o resultado do reconhecimento. Além disso, essa velocidade de reconhecimento é alcançada com bancos de dados suficientemente grandes (2.000 imagens ou mais); Com bancos de dados menores, o reconhecimento é mais lento.

 

REQUISITOS DE SISTEMA

  • PC com processador x86 (32 bits) ou x86-64 (64 bits):
    • É necessário um suporte SSE2. Os processadores que não suportam SSE2 não podem executar o algoritmo SentiSight 3.4. Verifique se seu modelo de processador específico suporta o conjunto de instruções SSE2.
    • O suporte SSSE3 é recomendado, pois o algoritmo SentiSight 3.4 fornece maior desempenho usando este conjunto de instruções. Verifique se seu modelo de processador específico suporta SSSE3.
    • A arquitetura de 64 bits permite trabalhar com imagens maiores, bancos de dados de modelos maiores e também aumenta o desempenho geral do algoritmo SentiSight 3.4 devido ao uso de registros de CPU de 64 bits.
  • Pelo menos 256 MB de RAM livre devem estar disponíveis para o aplicativo baseado em SentiSight. RAM adicional pode ser necessária para:
    • Aplicativos que precisam reconhecer objetos usando um banco de dados grande, já que o banco de dados inteiro deve ser carregado na RAM antes do reconhecimento. O tamanho do banco de dados depende da quantidade de objetos e do número de templates salvos em cada modelo de objeto. Cada modelo de objeto pode ser bastante grande devido ao uso de vídeos longos para aprendizagem (como o modelo aprendido de cada quadro é salvo separadamente) e / ou usando várias visualizações para cada objeto. Por exemplo, um banco de dados de 100 modelos de objetos com 36 templates por modelo exigirá cerca de 25 MB de RAM quando o algoritmo de reconhecimento de blob for usado, ou cerca de 50 MB quando o algoritmo de reconhecimento de forma for usado (para resolução de 320 x 240 pixels).
    • Aplicações que precisam trabalhar com vídeos de alta resolução. Uma resolução mais alta permite extrair mais recursos de objetos, assim o tamanho do modelo de objeto será maior. Em geral, o tamanho do modelo tem a ver com a dependência linear da imagem ou resolução de vídeo. Por exemplo: um quadro de uma câmera de 1 MegaPixel é cerca de 13 vezes maior que um quadro de uma câmera normal de 320 x 240 pixels (0,08 MegaPixel). Se um modelo de objeto aprendido a partir de uma seqüência de 320 x 240 quadros ocupa 250 KB de memória, um modelo aprendido a partir da mesma seqüência de quadros obtidos de uma câmera de 1 MegaPixel exigirá cerca de 3,4 MB de memória. Observe que cada quadro de vídeo é processado separadamente e o template de objeto obtido é salvo no modelo.
  • Câmera ou webcam opcional. Essas câmeras são suportadas pelo SentiSight:
    • Qualquer webcam ou câmera acessível usando:
      • Interface do DirectShow para a plataforma Microsoft Windows.
      • Interface GStreamer para plataforma Linux.
    • Qualquer câmera IP, que suporte RTSP (Real Time Streaming Protocol):
      • Somente RTP sobre UDP é suportado.
      • H.264 / MPEG-4 AVC ou Motion JPEG devem ser usados para codificar a transmissão de vídeo.
  • Estes modelos de câmeras fotográficas são suportados:
    • Câmeras fotográficas da família Canon EOS (somente Microsoft Windows)
    • Câmeras fotográficas Nikon DSLR (Somente no Microsoft Windows, um modelo de câmera específico deve suportar a captura de vídeo e deve estar listado aqui).
  • Esses modelos específicos de câmeras IP de alta resolução são suportados:
    • Câmera Axis M1114 (Microsoft Windows e Linux)
    • Câmera IP Basler BIP2-1600-25c-DN (Microsoft Windows e Linux)
    • Câmera Cisco 4500 IP (apenas Microsoft Windows)
    • CMITech EMX-30 - câmera de face e íris (somente Microsoft Windows)
    • IrisGuard IG-AD100 - câmera de face e íris (somente Microsoft Windows)
    • Câmera PiXORD N606 (Microsoft Windows e Linux)
    • Câmera Prosilica GigE Vision (Microsoft Windows e Linux)
    • Sony SNC-CS50 (Microsoft Windows e Linux)
    • Câmeras de face e íris VistaFA2 / VistaFA2E / VistaEY2 (apenas Microsoft Windows)
  • Requisitos específicos do Microsoft Windows:
    • Microsoft Windows XP / Vista / 7/8/10 / Server 2003 / Server 2008 / Server 2008 R2 / Server 2012, 32 bits ou 64 bits.
    • Microsoft .NET framework 3.5 ou posterior (para o uso de componentes .NET).
    • Microsoft DirectX 9.0 ou posterior (para uso da câmera / webcam).
    • Um dos seguintes ambientes de desenvolvimento para desenvolvimento de aplicativos:
      • Microsoft Visual Studio 2008 SP1 ou posterior (para desenvolvimento de aplicativos em C / C ++, C #, Visual Basic .Net)
      • Sun Java 1.6 SDK ou posterior
  • Requisitos específicos do Linux:
    • O kernel Linux 2.6 ou posterior (32 bits ou 64 bits) é necessário. O kernel Linux 3.0 ou mais recente é recomendado.
    • glibc 2.11.3 ou mais recente
    • GStreamer 1.2.2 ou posterior com gst-plugin-base e gst-plugin-good (para captura de face usando câmera / webcam ou vídeo rtsp)
    • libgudev-1.0 164-3 ou mais recente (para uso da câmera)
    • GTK + 2.10.x ou mais recentes libs e pacotes de dev (para executar amostras de SDK e aplicativos com base neles)
    • GCC-4.0.x ou posterior (para desenvolvimento de aplicativos)
    • GNU Make 3.81 ou posterior (para desenvolvimento de aplicativos)
    • Sun Java 1.6 SDK ou posterior (para desenvolvimento de aplicativos com Java)

Nome Descrição Data Tamanho (KB)
SENTISIGHT SDK RECONHECIMENTO DE OBJETOS PARA ROBÓTICA E VISÃO DE COMPUTADOR 28/02/2018 583.844