Visión por ordenador

RoboDK proporciona numerosas utilidades para simular, desarrollar e implantar sistemas de visión por ordenador. RoboDK le permite simular cámaras 2D y 3D para desarrollar y entrenar sus algoritmos de visión por ordenador. También puede integrar cámaras 2D y 3D reales.

Este documento le guiará a través de algunos pasos para simular cámaras.

Computer Vision - Imagen 1

Cámara simulada

Las cámaras simuladas le permiten ver lo que ve la cámara. Puede especificar los parámetros de la cámara, como el tamaño del sensor, el tamaño de los píxeles o el campo de visión, y podrá ver una vista simulada de la cámara. Puede acoplar cámaras a un robot o mantenerlas fijas.

Añadir una vista de cámara

Añadir una cámara requiere que la fije a un punto de anclaje para determinar su ubicación. Esto suele hacerse con un marco de referencia.

1.Seleccione Programa➔ Añadir marco de referencia para crear un nuevo sistema de coordenadas. Más información en la sección Primeros pasos.

2.Coloque el marco en la ubicación deseada de la cámara, donde las coordenadas XYZ son la ubicación de la cámara, el eje Z+ representa la dirección de apuntamiento y el eje Y+ representa la dirección hacia abajo.

3.Seleccione Conectar➔ Simular cámara 2D y seleccione el marco de referencia.

Ahora tiene una cámara por defecto unida al punto de anclaje.

Ventana de vista previa de la cámara

La ventana de vista previa de la cámara le permite ver lo que ve la cámara. Esta ventana se abre automáticamente cuando se añade una nueva cámara.

Para volver a abrir la ventana de vista previa de una cámara, sólo tiene que hacer doble clic en el elemento de la cámara en el árbol. También puede hacer clic con el botón derecho en el árbol y seleccionar Mostrar cámara. Por defecto, la ventana de vista previa se puede redimensionar, minimizar o cerrar (consulte la siguiente sección para ver más opciones).

Computer Vision - Imagen 2

Cuando se abre la ventana de previsualización, el espacio de trabajo de la cámara también se muestra el entorno 3D. Puede desactivar el espacio de trabajo de la cámara haciendo clic con el botón derecho en la cámara y seleccionando Mostrar espacio de trabajo de la cámara.

Ajustes de la cámara

Los ajustes de la cámara le permiten personalizar los parámetros de su cámara para tener una visión realista de la misma en el entorno simulado de RoboDK.

Para editar los ajustes de una cámara, haga clic con el botón derecho en ella en el árbol y seleccione Ajustes de la cámara. RoboDK proporciona los siguientes ajustes por defecto para las cámaras recién añadidas:

Cámara: Proporciona el nombre del ancla (Cuadro 1)

Distancia focal (mm): distancia focal, en milímetros (5,00). Es la distancia entre el centro óptico virtual del objetivo y el sensor de imagen virtual de la cámara. El cambio de este valor afectará al tamaño de los píxeles.

Tamaño del píxel (μm): tamaño del píxel, en micrómetros (2,481). El cambio de este valor afectará al campo de visión.

Campo de visión (deg): campo de visión (FOV), en grados (30,0). Afecta al tamaño del área que puede percibir la cámara. El cambio de este valor afectará al tamaño de los píxeles.

Distancia de trabajo (mm): distancia de trabajo, en milímetros (2000,0). Es la distancia a la que la cámara puede percibir el entorno, y los objetos que se encuentren más allá de esa distancia no formarán parte de la imagen.

Tamaño del sensor fijo: Si se deja sin marcar, el tamaño del sensor de la cámara (o resolución) se establece por el tamaño de la ventana de previsualización de la cámara, que puede ser redimensionada por el usuario.

Tamaño del sensor de la cámara: Para un tamaño de sensor fijo, proporciona la anchura y la altura de la cámara, en píxeles. Redimensionar la ventana de previsualización no afectará al tamaño.

Permitir redimensionar la ventana: Permita al usuario cambiar el tamaño de la ventana de previsualización sin que ello afecte al tamaño del sensor. Por ejemplo, redimensionar la ventana a 720p manteniendo la resolución a 4K.

Vista en perspectiva: Si desmarca esta opción, la cámara se convertirá en una cámara ortográfica, eliminando las perspectivas.

Tipo de vista: Determina el tipo de vista de la cámara, como Color, Escala de grises o Profundidad. El tipo de vista cambiará la imagen de salida en función de los datos pertinentes.

Vista acoplada: permite arrastrar la ventana de previsualización a las barras de herramientas, en lugar de una ventana flotante separada.

Establecer colores de luz: Anula los colores de luz predeterminados con los suyos propios (colores de luz ambiente, difusa y especular). No afecta al color de fondo y sólo es compatible con el tipo de vista Color.

Color de fondo: color de lo desconocido, del infinito. Es el color utilizado si no se encuentra ningún objeto desde el sensor de la cámara hasta la distancia de trabajo.

Computer Vision - Imagen 3

Acceso a la imagen de la cámara simulada a través de la API

Es posible acceder a la imagen de la cámara para todos los tipos de vista a través de la API. Por ejemplo, puede recuperar la imagen en color (8 bits), la imagen en escala de grises (8 bits) y el mapa de profundidad (8 bits o 32 bits) como archivo de disco o como datos planos.

El acceso a los datos de la cámara simulada le permite procesarlos externamente, ya sea a través de una biblioteca de imágenes de terceros o de la suya propia.

Aunque RoboDK no proporciona su propia biblioteca de imágenes ni está asociado a ninguna, nuestra API Python proporciona código de ejemplo para procesar datos de imágenes 2D y 3D. Se cubren los siguientes temas:

Obtenga los datos de la imagen y muéstrelos en directo.

Calibre una cámara estenopeica utilizando un patrón de tablero de ajedrez.

Estime la pose de la cámara utilizando patrones soportados.

Aplique la imagen de la cámara simulada a la alimentación de una cámara de hardware para la realidad aumentada.

Lea códigos de barras y códigos QR.

Detecte características como manchas, imagen de referencia, superficie, contornos, momentos de la imagen y mucho más.

Recupere mapas de profundidad, procéselos en nubes de puntos, reconstruya mallas, cree un livestream 3D.

Para acceder a nuestros ejemplos de API de Python, siga este enlace: https://robodk.com/doc/en/PythonAPI/examples.html.

Calibración mano-ojo

El calibrado manual es el proceso de calibrar la posición de la cámara con respecto a la brida o la herramienta del robot.

RoboDK le permite simular el proceso de calibración ojo-mano. Puede utilizar el mismo procedimiento para calibrar cámaras reales con respecto a la brida o la herramienta del robot.

Computer Vision - Imagen 4

Puede encontrar un ejemplo completamente funcional en la sección de ejemplos de la API de RoboDK para Python: https://robodk.com/doc/en/PythonAPI/examples.html#camera-hand-eye-calibration.

Ejemplos de simulación de cámara

Esta sección ofrece algunos ejemplos para integrar la visión por ordenador en su proceso de fabricación.

La mayoría de los ejemplos que integran la visión por ordenador requieren cierta codificación para obtener todo el potencial de los algoritmos de visión por ordenador.

Lectura de códigos de barras

Puede leer automáticamente códigos de barras, incluidos los códigos QR, EAN-13 y UPC-A 1D utilizando una cámara simulada en RoboDK.

Puede arrastrar y soltar imágenes de códigos de barras en RoboDK y crear una nueva cámara simulada que apunte a su código de barras.

Encontrará el ejemplo en la sección API Python de RoboDK: https://robodk.com/doc/en/PythonAPI/examples.html#qr-codes-and-barcodes

Computer Vision - Imagen 5

Detección de objetos

Puede obtener la estimación de la posición de un objeto (pose 2D) utilizando una cámara simulada en RoboDK.

Puede encontrar el ejemplo en la sección de ejemplos de la API de RoboDK: https://robodk.com/doc/en/PythonAPI/examples.html#object-detection.

Computer Vision - Imagen 6