Artículos técnicos

Visión 3D mejorada

IDS hace más fácil trabajar con datos de cámaras 3D

La percepción del entorno con datos de cámaras 3D hace posibles muchas aplicaciones innovadoras que hasta ahora solo podían ser realizadas por personas. Entre otras, los robots pueden reconocer objetos de forma similar a como lo hace el ojo humano y reaccionar con autonomía a distintas situaciones. Además de captar dimensiones espaciales y la ubicación en el espacio, también se pueden extraer conclusiones precisas sobre desviaciones o defectos comparados con objetos de referencia.
 
Trabajar con cámaras 3D y sus datos es muy complejo y requiere mucha preparación y mucho tiempo de configuración a la hora de desarrollar una aplicación. Precisamente en aplicaciones con varias cámaras o en combinación con robots son necesarias calibraciones complejas de varios sistemas coordinados antes de poder usar los datos. Dado el alto grado de dependencia del sistema, con frecuencia es necesario desarrollar la aplicación directamente en el sistema para poder generar datos útiles. Además, el campo de visión y la resolución de muchas cámaras 3D no es suficiente en aplicaciones con espacios de trabajo más amplios.
 
Estos requisitos se han tenido en cuenta en el desarrollo del nuevo SDK 2.2 para Ensenso y de la nueva variante de 5 MP de la serie Ensenso X. Con ellos hemos podido mejorar muchos detalles que facilitan notablemente la integración.

 

Amplia gama de modelos optimizados en velocidad y calidad

Las cámaras 3D Ensenso son perfectas tanto para aplicaciones estáticas como para aplicaciones en movimiento. Su tecnología FlexView combinada con los sofisticados algoritmos SC (sequence correlation) optimizan la precisión de los resultados de los modelos N35, X36 1.3 MP, X36 5 MP en las operaciones de bin picking o en las comparaciones de objetos de alta precisión. Un proyector de alto rendimiento de posición regulable proyecta un patrón aleatorio sobre el objeto de ensayo generando imágenes con distintas texturas superficiales del objeto. Los algoritmos SC utilizan esa información para calcular los datos del objeto 3D aprovechando cada par de imágenes adicional (hasta 16) para aumentar la precisión.
 
Con los modelos N30, X30 1.3 MP, X30 5 MP, la serie Ensenso también está sobradamente preparada para aplicaciones con objetos en movimiento, como en cintas transportadoras o en casos en los que es la cámara la que está en movimiento. Los algoritmos SGM (Semi Global Matching) optimizados ya pueden conseguir una precisión considerable de los datos de profundidad también a partir de un solo par de imágenes. El selector de cámaras Ensenso del sitio web de IDS permite encontrar la cámara más adecuada para cada aplicación.

Ojos más grandes para un campo de visión más amplio

Con la integración de dos sensores IMX264 de 5 MP de Sony la resolución 3D de la familia de cámaras 3D Ensenso ha aumentado aproximadamente un 35% con respecto a la variante anterior de 1,3 MP ampliando al mismo tiempo alrededor de un 20% el campo de visión. La distancia entre la cámara y el objeto de ensayo se ha podido reducir de 1,5 m a 1,25 m para captar completamente un europalet lleno con un volumen de 120 x 80 x 100 cm. Esta ventaja permite aprovechar de forma mucho más eficaz la resolución nativa. Si a esto le añadimos el menor ruido de píxeles de los sensores Sony, obtenemos una mejora de los datos de profundidad calculados (precisión Z), pasando de los 0,43 mm a unos excelentes 0,2 mm.

Lista para aplicaciones embebidas mediante el cálculo acelerado

Los sensores más potentes generan como es natural una cantidad de datos mayor y también unos tiempos de procesamiento posiblemente más largos hasta disponer de los resultados. Las mediciones de referencia con un modelo de 5 MP confirmaron un tiempo de procesamiento cuatro veces mayor para el cotejo de un par de imágenes o del tiempo para completar una imagen 3D. Sin embargo, los tiempos de cálculo de imágenes 3D de una correlación de secuencias con 16 pares de imágenes de 5 MP de alta resolución son de solo 2,5 segundos aproximadamente. Para la mayoría de aplicaciones estos tiempos son más que suficientes. En aplicaciones que exigen una mayor velocidad el método semi-global matching con un par de imágenes de 5 MP ofrece una precisión suficiente con un tiempo de cálculo de solo 1,1 segundos.
 
A pesar de ello para contrarrestar el mayor volumen de datos y la pérdida de tiempo asociada a este los cálculos importantes se han optimizado para CUDA. La capacidad de cálculo adicional de los procesadores gráficos NVIDIA puede multiplicar por cinco la velocidad de los procesos en función de la GPU utilizada y de la parametrización de los algoritmos correspondientes.
 
Con la compatibilidad CUDA, las aplicaciones 3D también son interesantes para el entorno embebido. Una plataforma indicada es por ejemplo la placa NVIDIA Jetson TX2. Los cálculos estéreo utilizan 256 CUDA Cores, mientras que un procesamiento de imágenes posterior como HALCON para dispositivos embebidos utiliza las CPU ARM disponibles.

Capacidad multicámara

Las bibliotecas del software Ensenso ofrecen una serie de funciones útiles para utilizar simultáneamente varias cámaras en una aplicación. Utilizando diferentes vistas y posiciones los sistemas de coordenadas de varias cámaras se tienen que ajustar entre sí o con respecto a puntos fijos en el mundo real y calibrarse en relación con un sistema de coordenadas de objetos unificado. Si las cámaras tienen que trabajar con un robot y sus movimientos se deben coordinar con los datos de la cámara, también se puede llevar a cabo una calibración mano-ojo. Un asistente de calibración integrado ayuda al usuario durante la ejecución.
 
Además de añadir cámaras estéreo Ensenso adicionales, el SDK permite también integrar y calibrar de forma muy sencilla cámaras 2D-uEye monoculares en la misma aplicación. La calidad de los resultados de inspección y medición en aplicaciones 3D se puede mejorar significativamente con las capacidades de las cámaras 2D. En situaciones en las que las cámaras estéreo presentan dificultades para identificar objetos en zonas límite, las cámaras 2D ofrecen una valiosa ayuda con la detección de bordes o el reconocimiento de colores. Las cámaras 2D también permiten adquirir información adicional como el contenido de los códigos de barras. Con el software Ensenso se pueden integrar de forma óptima ambas tecnologías. Los patrones de calibración desarrollados específicamente facilitan el montaje y la configuración en sistemas multicámara. La biblioteca NxLib reconoce sistemas de coordenadas de objetos de cualquier tamaño y la posición de las cámaras en relación con las otras utilizando varias placas de calibración, algunas de las cuales están cubiertas por las cámaras, y puede sincornizarlas entre sí.

Virtualización para facilitar el desarrollo y la depuración

Los desarrolladores de aplicaciones pueden beneficiarse sobre todo de las ampliaciones "File Cameras" y "Virtual Cameras". Para mejorar los algoritmos y los procesos es necesario poder depurar varias veces datos idénticos. En el sistema una "file camera" se comporta como una cámara real con la diferencia de que sus imágenes proceden de una carpeta local con juegos de datos guardados. De ese modo las secuencias de aplicaciones se pueden volver a simular una y otra vez con los datos sin acceder al sistema real o sin tener que recrear situaciones. Se trata de una herramienta muy útil para detectar y depurar errores: los usuarios pueden guardar los juegos de datos problemáticos y ponerlos a disposición de los especialistas en procesamiento de imágenes. Esto permite reproducir fácilmente los errores.
 
Las "cámaras virtuales" permiten realizar simulaciones en un entorno offline por ejemplo para evaluar la calidad de los datos, la integridad, la resolución y los ruidos de una escena con distintos modelos de cámaras. Se pueden importar, renderizar y colocar como se desee objetos en formato STL o PLY (formatos de datos habituales para guardar datos tridimensionales). Esto permite evaluar el rendimiento de distintas variantes de un proceso de inspección sin necesidad de construir un sistema real. También se integra un editor de escenas como alternativa a la creación de modelos manual. Esto permite simular fácilmente aplicaciones bin picking con piezas distintas y su orientación en las cajas. Con una función aleatoria se puede disponer de innumerables variantes para pruebas como sucede en la realidad en la alimentación de piezas no clasificadas. Todos los modelos Ensenso se pueden aplicar como "cámara virtual". Así, los posibles modelos se pueden seleccionar utilizando el selector de cámaras online y se pueden simular antes de construir el sistema. Con estas dos herramientas se pueden llevar a cabo fácilmente estudios previos y optimizaciones también para aplicaciones 3D.
Escena virtual en el programa de demostración NxView

Conclusión

La "optimización" de las aplicaciones 3D implica inevitablemente una mayor complejidad del manejo del hardware de las cámaras y de sus datos. Con Ensenso SDK 2.2 y sus nuevos modelos de cámara de 5 MP, IDS ofrece algunas soluciones que facilitan el trabajo con datos 3D a los integradores de sistemas y a los desarrolladores. Gracias a la mejora del hardware y del software, IDS ayuda a desarrollar aplicaciones 3D más potentes. Incluso en tareas difíciles como el "bin picking" se pueden cumplir las exigencias en materia de calidad, velocidad de ciclo y rentabilidad, además de lograr una rápida disponibilidad de aplicaciones de visión robótica.