Portal tecnológico

Portal tecnológico

Zero Copy GigE Vision y GPUDirect y complementos de GPU con eCapture Pro

ejemplos del mundo real con varias cámaras gigevision de alta velocidad con tarjetas gpu direct y fpga ecapture 1@3x
visión china shenzhen 2023 china imagen 7

eSDK y eCapture Pro

Nuestra oficina de eSDK es la opción de programador de software de bajo nivel para una completa flexibilidad de aplicaciones personalizadas. Tiene ejemplos de código fuente ejecutables que ejercitan todas las funciones críticas, como capturar cuadros de manera eficiente, sincronización PTP, GPUDirect, multidifusión, activación de IO y más.

Nuestra oficina de software eCapture Pro se basa más en aplicaciones con un enfoque en la implementación del sistema, la creación rápida de prototipos e incluye opciones para el procesamiento personalizado de tarjetas GPU y FPGA. Nos encargamos de todo el trabajo pesado asociado con llevar imágenes a su recurso de procesamiento y lo hacemos con el máximo rendimiento. Te concentras en el código de tu aplicación.

Veamos eCapture Pro en acción en las siguientes demostraciones. Ver para creer.

Polarización

La primera demostración tiene una sola cámara usando GPUDirect a una GPU NVIDIA RTXA6000. Tenemos una polarización complemento cargado en la GPU. Usando los parámetros del complemento, primero seleccionamos la visualización normal de este sensor de polarización IMX253 basado cámara de 10 gigas. Luego seleccionamos la opción del complemento Dirección de polarización. El tono del color es una medida del ángulo de la luz polarizada. Luego seleccionamos la opción de complemento de grado de polarización que nos permite ver en áreas más brillantes cuando la luz reflejada está más polarizada.

Al mirar otro sujeto, primero seleccionamos la visualización normal. Tenga en cuenta el fuerte reflejo en el parabrisas y el capó. Usando la opción de complemento sin polarización ahora podemos mejorar la visibilidad tanto del parabrisas como del capó. Al utilizar la opción enchufable de grado de polarización, podemos ver áreas más brillantes en el parabrisas y el capó, lo que indica una fuerte luz polarizada en estas áreas que, por lo tanto, son buenas áreas candidatas para eliminar la polarización. Veamos la dirección de polarización de este tema.

Por último, nos fijamos en una tapa de lente con un defecto superficial apenas distinguible. Usando la opción plug-in de grado de polarización obtenemos una visión más clara de este defecto.

Complemento personalizado

Veamos cómo uno puede crear su propio complemento personalizado para usarlo dentro de eCapture Pro aprovechando al máximo la funcionalidad GPUDirect de copia cero y pérdida cero mientras escribe solo el código del complemento. Primero escribimos nuestro código, que está basado en cuda para la GPU NVIDIA. Con eCapture Pro, proporcionamos una serie de ejemplos de funcionamiento, como el complemento polarizado que acaba de presenciar. Luego compilamos nuestro código que crea la DLL del complemento que luego cargamos dentro de eCapture. Ahora cargamos la DLL del complemento. Luego creamos una instancia de este complemento en la GPU seleccionada y configuramos la opción del complemento para la visualización inicial. Después de conectar la cámara deseada a esta GPU, ejecutamos el complemento para ver el resultado resultante.

Complemento de inferencia

El siguiente ejemplo muestra un complemento de detección de inferencia OTS de propósito muy general. Cargamos el complemento. Creamos una instancia del complemento en la GPU deseada. Conectamos la cámara a esta GPU. Y finalmente, ejecutamos el complemento y observamos cómo detecta y clasifica las tazas en la escena y observa que esto rastrea los objetos a medida que se mueven.

Complemento de coincidencia de patrones

El siguiente ejemplo muestra un complemento de coincidencia de patrones de uso muy general. La plantilla del patrón se crea de antemano. Como antes, cargamos el complemento. Creamos una instancia del complemento en la GPU deseada. Especificamos la ruta a la plantilla de patrón. Conectamos la cámara a esta GPU. Y finalmente, ejecutamos el complemento para observar cómo se sigue el patrón en la placa de circuito en movimiento.

Flexibilidad en el enrutamiento de complementos

Vamos a mostrar ahora lo fácil que es en eCapture Pro reorganizar la distribución del procesamiento de 21 cámaras 10GigE con 3 GPU RTXA4000 usando un complemento de brillo muy simple. Comenzamos dirigiendo las 21 salidas de la cámara a la GPU 1. Luego ejecutamos el complemento. Tenga en cuenta que aquí estamos usando PTP para una precisión de sincronización de 1us. A continuación, deshabilitamos GPUDirect con un simple clic para ilustrar cómo podemos admitir fácilmente GPU o entornos que no admiten GPUDirect. Realizamos copias de alto rendimiento para pasar imágenes desde la memoria del sistema a la GPU.

Repitamos la prueba anterior pero esta vez dirigimos 7 salidas de cámara a cada GPU para una distribución de procesamiento equilibrada.

Nuevamente, mostramos cómo configurar esto sin GPUDirect. Observamos que sin GPUDirect, independientemente de las transferencias de memoria de alto rendimiento, estamos utilizando el doble del ancho de banda de la memoria del sistema, por lo que definitivamente se prefiere GPUDirect.

Complemento H.265/RTMP

Ahora echemos un vistazo a un sistema de alto número de cámaras para ver cómo esta función de complemento se puede utilizar en dichos sistemas con una facilidad de uso increíble.

Comenzamos con un sistema basado en 24 cámaras que se ejecuta en un único servidor de rango medio y primero lo ampliamos a 48 cámaras. Agregamos un par de puertos de red adicionales al sistema con cámaras conectadas a través del mismo conmutador de 48 puertos. Luego agregamos otra GPU para manejar la carga de trabajo adicional.

En la vista de flujo de datos, hemos cargado y creado una instancia de un complemento de compresión H.265. Tenga en cuenta que tenemos varias GPU en este único servidor y necesitamos dirigir las otras 24 cámaras a la segunda GPU. Si bien todas las imágenes de la cámara se comprimen y almacenan en una única unidad m.2 local, también configuramos una cámara para transmitir a un cliente RTMP como YouTube.

Por último, podemos reproducir los archivos h265 convirtiéndolos a mp4, por ejemplo.

Complemento de grabación SSD

De manera similar, existen muchos sistemas con un gran número de cámaras que utilizan eCapture y los complementos aplicables para aplicaciones de captura volumétrica.

Este sistema en particular tiene un diseño de 48 x 25 GigE, 25 MP y 60 fps que almacena todas las imágenes en SSD. Aquí mostramos cómo todas las cámaras están conectadas a las NIC a través de un conmutador de 48 puertos.

En la vista de flujo de datos, mostramos cómo enrutamos las cámaras a SSD específicos. Podemos editar los parámetros de una cámara y luego transmitir la configuración a todas las demás cámaras del sistema. Luego comenzamos la breve grabación de prueba usando el modo de sincronización PTP con una precisión de 1us.

Mientras grabamos, vemos la pestaña Sistema para ilustrar que no hay problemas durante la grabación, como cuadros perdidos, pérdida de sincronización PTP o guardados perdidos debido a eventos completos de la unidad, por nombrar algunos. Con la grabación completa, podemos revisar el resumen del proyecto.

Q&A

1. ¿El código fuente del complemento GPU es gratuito para las demostraciones que se muestran?

Absolutamente, está incluido y es gratuito al igual que eCapture Pro para hasta 2 cámaras. Podrías tomar uno de estos ejemplos y crear rápidamente un prototipo del tuyo propio.

2. ¿Qué GPU admite con GPUDirect y copia cero?

Por ejemplo, RTXA6000, A5000, A4000, RTX6000 ADA, por nombrar algunos.

3. ¿Pueden los complementos funcionar con una GPU que no sea compatible con GPUDirect?

Por supuesto, tenemos una opción que realiza una copia de alto rendimiento a la GPU desde la memoria del sistema una vez que se recibe el fotograma. Esto equivale a 2 veces el ancho de banda de la memoria y se puede utilizar en la mayoría de los sistemas dependiendo del rendimiento general del sistema de la cámara.

4. ¿Pueden los cálculos de IA/inferencia/aprendizaje profundo mantenerse al día con las aplicaciones de servidor único multicámara de alto rendimiento?

Por supuesto, estamos trabajando en modelos entrenados óptimos para ilustrar esto, pero observamos que tenemos clientes que ya ejecutan más de 10 cámaras 10GigE en un solo servidor que ejecuta dichos modelos de inferencia usando GPUDirect.

5. ¿Su tecnología está más enfocada a aplicaciones deportivas y de realidad virtual?

Absolutamente no. La tecnología que desarrollamos es tan aplicable a la visión artificial y otras aplicaciones como lo ha demostrado esta presentación. Más del 50% de nuestro mercado se centra en aplicaciones de visión artificial.

Emergent es socio de NVidia y trabaja con la tecnología NVidia y Mellanox desde 2015

Acerca de las tecnologías de visión emergentes

logo tecnologías de visión emergente 300x110

Aquí hay un resumen de lo que se trata Emergent...

  • Más de 10 premios a la innovación y a ser pioneros en la alta velocidad GigE Vision movimiento de imagen
  • 10+ años de envío 10GigE cámaras con más de 140 modelos
  • 5+ años de envío 25GigE cámaras con más de 55 modelos
  • 2+ años de envío 100GigE cámaras con más de 16 modelos
  • Líder en rendimiento de tecnología de cámaras
  • Centrado en Ethernet de alta velocidad/GigE Vision
  • Enfocado en permitir el procesamiento de datos de imagen de alta velocidad
  • Escaneo de área y Escaneo de línea modelos
  • Modelos UV, NIR, Polarizados, Color, Mono para aplicaciones multiespectrales
  • eSDK emergente para una flexibilidad total de aplicaciones
  • Emergente ecaptura profesional para una solución de software muy completa
  • La gama más completa de productos y soporte para aplicaciones de imágenes de alta velocidad
  • Cualquier velocidad, cualquier resolución, cualquier longitud de cable
  • ¡Disponible ahora!

Somos una empresa ganadora de múltiples premios centrada en el producto GigE Vision de alta velocidad.

Tenemos muchos años enviando productos que varían en velocidades desde 10GigE hasta 100GigE.

Tenemos un fuerte enfoque en proporcionar tecnologías de extremo a extremo y soporte para las aplicaciones de nuestros clientes.

Podemos satisfacer la mayoría de las necesidades de las aplicaciones.

Por último, los productos presentados ya están disponibles.

Adopción de 10GigE Vision y superior

A continuación se ofrece un breve resumen de la adopción de productos GigE Vision que varían en velocidades desde 10GigE hasta 100GigE. Emergent ha demostrado cómo se puede lograr el máximo rendimiento y abrió muchos mercados, incluida la visión artificial, para el uso de tales tecnologías. Algunas empresas ahora están aprovechando nuestros esfuerzos para lanzar productos de 25G y de mayor velocidad, pero aún queda mucho camino por recorrer para lanzar productos ratificados y de rendimiento.

Adopción de 10GigEVision y superior

Figura: Emergent Vision Technologies es el primer proveedor de cámaras basadas en interfaces 10GigE, 25GigE, 50GigE y 100GigE.