Cómo hacer que la visión de la máquina 1010GigE sea fiable y asequible, incluyendo las configuraciones multicámara

Descripción general

El uso de varias aplicaciones de sistemas de visión, como líneas de inspección de movimiento rápido, fábricas de semiconductores, sistemas de tráfico inteligente, análisis deportivos y captura volumétrica, requiere una alta resolución, un FPS alto y transferencia de datos para ofrecer mejores resultados. Para los ingenieros de sistemas de visión que busquen mejorar la salida con velocidades de fotogramas más rápidas y cámaras de visión mecánica de mayor resolución, actualizarse de 1GigE a 10GigE es la decisión lógica. Sin embargo, según la investigación de la AIA (Automated Imaging Association), la adopción ha sido bastante lenta. Esto es comprensible teniendo en cuenta tres desafíos técnicos derivados de esta actualización: fiabilidad (paquetes perdidos), uso elevado de la CPU y alta latencia. Este artículo proporciona una actualización sobre cómo la solución combinada Teledyne FLIR Oryx + Myricom está abordando esos desafíos.

Actualización 1: Rendimiento impecable

Si bien 10GigE Vision ha aumentado el ancho de banda 10 veces con respecto al protocolo GigE Vision, el rendimiento del adaptador anfitrión 10GigE no ha seguido el mismo ritmo. La transferencia de datos de la cámara al anfitrión generalmente provoca la sobrecarga de la CPU, lo que da lugar a desbordamientos del búfer de aplicaciones y un nivel de pérdida de paquetes que es inaceptable para las aplicaciones exigentes.

Al utilizar adaptadores anfitriones para gestionar la recepción de paquetes y la reconstrucción de imágenes directamente en la tarjeta, la CPU ya no necesita gestionar estas tareas. El paquete Teledyne FLIR Oryx + Myricom está diseñado específicamente para abordar estas situaciones. Como se indica en los resultados de nuestras pruebas a continuación, la fiabilidad del sistema puede aumentar drásticamente, lo que se traduce en una reducción significativa de la pérdida de paquetes y, a su vez, de la pérdida de fotogramas.

El paquete funciona perfectamente con nuestro nuevo controlador SDK personalizado dedicado a la gestión de datos proporcionados por la tarjeta Myricom. Con esta combinación, los datos de imágenes se transfieren de forma impecable y fiable de la cámara al PC anfitrión. Consulte los resultados de la prueba a continuación en el Apéndice: Pruebas de fiabilidad y uso de CPU.

La relación precio-rendimiento de nuestro paquete Teledyne FLIR Oryx + Myricom lo convierte en una elección fácil, proporcionando una configuración asequible y altamente fiable en comparación con la compra e integración de diferentes hardwares por separado.

Actualización 2: Uso de CPU gestionado

En teoría, las CPU pueden dedicar hasta el 100 % de uno de sus núcleos para gestionar datos entrantes de una conexión 10GigE y se pueden utilizar varios núcleos al ejecutar varias aplicaciones/cámaras. Al utilizar la tarjeta Myricom para gestionar la recepción de paquetes y la reconstrucción de imágenes, el uso de la CPU se reduce hasta el 1 % para cada aplicación, lo que permite utilizar ciclos de CPU adicionales para el procesamiento de imágenes. Consulte los resultados de la prueba a continuación en el Apéndice: Pruebas de fiabilidad y uso de CPU

Actualización 3: Reducción de la latencia

La latencia de fotogramas de 10GigE Vision no es determinista; esto significa que los fotogramas pueden llegar con una fluctuación de tiempo significativa. En algunas condiciones, especialmente con interruptores, no solo hay pérdida de paquetes, sino que a veces los fotogramas se reciben en orden opuesto. El paquete Teledyne FLIR Oryx + Myricom soluciona este problema con una notificación oportuna de la finalización de los fotogramas para reducir la latencia y la fluctuación.

Apéndice: Pruebas de fiabilidad y uso de CPU

Prueba 1: Flujo de 7 días de ancho de banda alto

Mediante una aplicación de consola personalizada creada a través de la API de Spinnaker de Teledyne FLIR, se configuró una cámara Teledyne FLIR Oryx de 8,9 MP para capturar imágenes de forma continua y realizar un seguimiento de cualquier imagen incompleta sin procesamiento adicional ni programas de recursos de terceros que se ejecuten de forma simultánea.

Resultados de la prueba: unos 40 millones de imágenes adquiridas; 0 imágenes incompletas/perdidas detectadas.

Nota: El uso de la CPU se comprobó durante los 7 días de pruebas y se determinó que se mantenía de forma constante en el 1 %. Con el nuevo controlador Myricom deshabilitado y basándose únicamente en el controlador de filtro estándar FLIR, el uso de CPU para el núcleo de CPU dedicado a la aplicación permaneció aproximadamente al 100 %.

Prueba 2: Transmisión de doble cámara

Esta prueba incluye dos cámaras Oryx (ORX-10G-123S6M y ORX-10G-89S6C) que se ejecutan en la misma aplicación de consola personalizada, cada una de las cuales captura imágenes a un ancho de banda de 6,7 Gb/s, durante 24 horas continuas.

Resultados de la prueba: unos 6 millones de imágenes adquiridas por cámara; 0 imágenes incompletas/perdidas detectadas

Prueba 3: Prueba de estrés de la CPU de 24 horas

Esta prueba incluye una única cámara Oryx (ORX-10G-123S6M) con los mismos ajustes que en la Prueba 1.

Se utiliza la misma aplicación de consola utilizada en la Prueba 1, con la diferencia de que, aquí, se utiliza otra aplicación al mismo tiempo; esta aplicación personalizada está diseñada para simular una carga de trabajo elevada, que ocupa aproximadamente el 90 % de la utilización total de la CPU (en los ocho núcleos).

Resultados de la prueba: unos 6 millones de imágenes adquiridas; 0 imágenes incompletas/perdidas detectadas

Probar las especificaciones del software y hardware del sistema:

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

Teledyne FLIR Spinnaker 2.1.0.82 y PgrLwf 2.7.3.397 frente a compilación personalizada 2.3.0.x compatible con Myricom

Oryx ORX-10G-123S6M

Oryx ORX-10G-89S6C

Artículos relacionados