Tornando a visão de máquina 10GigE confiável e acessível - incluindo configurações de várias câmeras

Visão geral

Várias aplicações do sistema de visão como linhas de inspeção rápidas, fábricas de semicondutores, sistemas de tráfego inteligentes, análise de esportes e captura volumétrica exigem alta resolução, FPS alto e transferência de dados para fornecer melhores resultados. Para engenheiros de sistema de visão que procuram melhorar a saída usando taxas de quadros mais rápidas e câmeras de visão de máquina de resolução mais alta, atualizar de 1GigE para 10GigE é uma opção óbvia. No entanto, de acordo com uma pesquisa da AIA (Automated Imaging Association), a adoção tem sido bastante lenta. Isso é compreensível considerando três desafios técnicos decorrentes dessa atualização: confiabilidade (pacotes descartados), uso elevado de CPU e alta latência. Este artigo fornece uma atualização sobre como a solução em pacote da Teledyne FLIR Oryx + Myricom está enfrentando esses desafios.

Atualização 1: Desempenho impecável

Enquanto o 10GigE Vision aumentou a largura de banda 10 vezes em relação ao protocolo GigE Vision, o desempenho do adaptador de host 10GigE não acompanhou o avanço. Transferir dados da câmera para o host geralmente resulta em sobrecarga da CPU, levando a transbordamentos de buffer de aplicativos e um nível de perda de pacote inaceitável para aplicativos exigentes.

Ao usar adaptadores de host para lidar com o recebimento de pacotes e a reconstrução de imagens diretamente no cartão, a CPU não precisa mais gerenciar essas tarefas. O pacote da Teledyne FLIR Oryx + Myricom foi especificamente projetado para lidar com tais situações. Conforme observado em nossos resultados de teste abaixo, a confiabilidade do sistema pode aumentar drasticamente, resultando em perda de pacotes significativamente reduzida e, por sua vez, quadros perdidos.

O pacote funciona perfeitamente com nosso novo driver SDK personalizado dedicado ao manuseio de dados fornecidos pelo cartão Myricom. Com essa combinação, os dados de imagem são transferidos de forma impecável e confiável da câmera para o PC host. Veja os resultados do teste abaixo no Apêndice: Testes de confiabilidade e uso da CPU.

A relação preço/desempenho do nosso pacote Teledyne FLIR Oryx + Myricom torna-o uma escolha fácil; fornecendo uma configuração acessível e altamente confiável em comparação com a compra e integração de hardware separadamente.

Atualização 2: Uso de CPU gerenciado

Teoricamente, as CPUs podem dedicar até 100% de um de seus núcleos para lidar com dados recebidos de uma conexão de 10GigE e vários núcleos podem ser utilizados ao executar vários aplicativos/câmeras. Ao usar a placa Myricom para gerenciar o recebimento de pacotes e a reconstrução de imagens, o uso da CPU cai para até 1% para cada aplicativo, permitindo que ciclos adicionais de CPU sejam usados para processamento de imagens. Veja os resultados do teste abaixo no Apêndice: Testes de confiabilidade e uso da CPU

Atualização 3: Latência reduzida

A latência de quadro 10GigE Vision não é determinística; isso significa que os quadros podem chegar com uma flutuação de tempo significativa. Em algumas condições, especialmente com switches, não só há perda de pacotes, às vezes os quadros são recebidos em ordem oposta. O pacote Teledyne FLIR Oryx + Myricom trata disso com notificação oportuna de conclusão de quadros para menor latência e menor instabilidade.

Apêndice: Testes de confiabilidade e uso da CPU

Teste 1: Fluxo de sete dias de alta largura de banda

Usando um aplicativo de console personalizado criado por meio da API Teledyne FLIR Spinnaker, uma câmera Teledyne FLIR Oryx de 8,9 MP foi configurada para capturar imagens continuamente e acompanhar quaisquer imagens incompletas sem processamento adicional ou programas de terceiros intensivos em recursos sendo executados simultaneamente.

Resultados do teste: ~40 milhões de imagens adquiridas; 0 imagens incompletas/descartadas detectadas.

Observação: O uso da CPU foi verificado ao longo dos 7 dias de teste e descobriu-se que ela permanece consistentemente em 1%. Com o novo driver Myricom desabilitado, e contando exclusivamente com o driver de filtro padrão FLIR, o uso da CPU para o núcleo da CPU dedicado ao aplicativo permaneceu em aproximadamente 100%.

Teste 2: Fluxo de câmera duplo

Este teste inclui duas câmeras Oryx (ORX-10G-123S6M e ORX-10G-89S6C) em execução no mesmo aplicativo de console personalizado, cada uma capturando imagens a uma largura de banda de 6,7 Gb/s, por 24 horas continuamente.

Resultados do teste: ~6 milhões de imagens adquiridas por câmera; 0 imagens incompletas/quedas detectadas

Teste 3: Teste de estresse da CPU de 24 horas

Este teste inclui uma única câmera Oryx (ORX-10G-123S6M) com as mesmas configurações do Teste 1.

O mesmo aplicativo de console usado no Teste 1 é usado, exceto que, desta vez, outro aplicativo é usado ao mesmo tempo; esse aplicativo personalizado destina-se a simular uma carga de trabalho alta, ocupando cerca de 90% da utilização total da CPU (em todos os oito núcleos).

Resultados do teste: ~6 milhões de imagens adquiridas; 0 imagens incompletas/quedas detectadas

Especificações do sistema de teste de software e de hardware:

i7-9700k a 3,6 GHz | 16GB | Windows 10 1809

Teledyne FLIR Spinnaker 2.1.0.82 e PgrLwf 2.7.3.397 vs compilação personalizada 2.3.0.x com suporte Myricom

Oryx ORX-10G-123S6M

Oryx ORX-10G-89S6C

Artigos Relacionados