Calibración

Mientras muchos de los números del código para procesar visión pueden ser determinados de manera teórica, hay algunos parámetros que son típicamente mejores de medir de manera empírica para después meterlos en el código (este proceso es conocido como calibración). Este articulo le mostrará como realizar la calibración de color (enmascaramiento) y ángulo de visión (distancia) usando el NI Vision Assistant. Si está usando C++ o Java y no ha instalado todavía NI Vision Assistant, vea el artículo Instalando NI Vision Assistant.

Activando fotos instantáneas

AXIS Camera's web interface.

Para capturar fotos desde la cámara Axis, usted primero debe activar el botón para tomar fotos instantáneas. Abra un navegador web y busque la dirección de la cámara (10.TE.AM.11), ingrese el Nombre de usuario/Contraseña de FRC si lo sugiere, entonces haga click en Setup->Live View Config->Layout. Seleccione la casilla de “Show snapshot button” y haga click en Save.

Comprobando la configuración de la cámara

Video & Image Setting page.

Dependiendo de como es que usted está capturando la imagen del stream en su programa, es posible tener el stream en una diferente resolución, cuadros por segundo y/o compresión que la ya establecida en la cámara. Antes de hacer cualquier calibración es recomendable verificar cual es la configuración de la cámara y si esta corresponde con el código. Para verificar la configuración de la cámara, haga click en el subtitulo de Video and Image en el lado izquierdo de la pantalla y después haga click en Video and Image.

Capturando imagenes

Camera image after clicking the "Live View" button.

Haga click en el botón de Live View para regresar a la página de Video en vivo y usted debería ser capaz de ver un botón para fotos instantáneas. Hacer click en este botón abrirá otra Ventana con una imagen estática. Haga click derecho y seleccione “Guardar imagen como” y seleccione la localización donde quiere que el archivo se guarde, paso siguiente guarde la imagen.

Subiendo imágen(es) al Vision Assistant

Open the image using the folder icon in the top left of the NI Vision Assistant.

Abra el NI Vision Assistant y seleccione la opción de Open Images en la esquina superior de la barra de herramientas, busque sus imágenes y repita el proceso hasta que suba todas las imágenes deseadas.

Umbral de colores

Setting up a color threshold on the image we took.

Haga click en Process Images en la orilla de superior derecha y seleccione la pestaña de color en el botón derecho y click en el botón de Color Threshold.

Calibración del HSV

HSV calibration to tune to the color of your light.

Cambie el menú desplegable del Modelo de color a HSV. A continuación, ajuste la ventana en cada uno de los tres valores para cubrir la mayor parte del objetivo posible mientras filtra todo lo demás. Si usa una luz verde, puede usar los valores en el código de muestra como punto de partida. Si tiene varias imágenes, puede usar los controles en la esquina superior izquierda para recorrerlas. Use los controles centrales de dos flechas o el control deslizante para cambiar la imagen de vista previa en la ventana superior izquierda, luego haga clic en la flecha de la derecha para convertirla en la imagen activa. Cuando esté satisfecho con los valores que ha seleccionado, anote los rangos de Tono, Saturación y Valor. Deberá ingresarlos en el lugar apropiado en el código de visión. Haga clic en OK.

Puede que usted desee usar imágenes de ejemplo usando el tiempo para la calibración de la cámara en eventos para verificar sus rangos basados en las condiciones de luz del lugar de evento.

Verificando la calibración Angulo/Distancia

Mientras que una vista teórica del Angulo de cada cámara puede ser encontrada en su ficha de datos, probar empíricamente ha demostrado que estos números pueden estar algo desfasados para el ángulo horizontal. Dado que el código de este año utiliza una vista vertical lo mejor es realizar su propia calibración de la cámara (a través de valores empíricos para cada cámara). Para hacer esta configuración se debe de hacer una ecuación donde el Angulo θ, es la unica incógnita. Para hacer esto utilice el objetivo a una distancia conocida dejando solamente la vista angular como lo único desconocido. Vamos a agarrar nuestra ecuación del articulo anterior, \(d = T_{\mathrm{ft}} \cdot \frac{\textit{FOV}_{\mathrm{pixel}}}{T_{\mathrm{pixel}}\tan\theta}\), y la despejamos para θ:

\[\tan\theta = T_{\mathrm{ft}} \cdot \frac{\textit{FOV}_{\mathrm{pixel}}}{T_{\mathrm{pixel}} \cdot d}\]
\[\theta = \arctan \left(T_{\mathrm{ft}} \cdot \frac{\textit{FOV}_{\mathrm{pixel}}}{T_{\mathrm{pixel}} \cdot d} \right)\]

Tomando medidas

Measuring the height of the selected portion.

Una manera de tomar las medidas necesarias es usar las mismas imágenes de cinta retroreflectiva usadas para la calibración de color anterior. Podemos usar Vision Assistant para proveer la altura detectada en pixeles y medir la distancia en la vida real entre la cámara y el objetivo, ahora tenemos todas las variables para resolver nuestra ecuación para conocer el ángulo.

Para medir las partículas de una imagen haga click en la pestaña Binary y haga click en el icono de Particle Analysis.

Seleccionando medidas

Select "Bounding Rectangle Height".

Haga click en el botón de Select Measurements. En éste caso solo estamos interesados en un cuadro delimitador de altura. Click en el botón con la X para quitar la selección de todas las medidas/all measurements, después localice la medida Bounding Rect Height y seleccione la casilla. Click en OK para guardar.

Midiendo la Partícula

Boxes at the bottom display the height for each of the detected particles.

Las medidas para cada partícula puede ahora ser desplegada en la ventana del fondo de la pantalla. Si su imagen tiene múltiples partículas, puede dar click en cada caja para que Visión Assistant resalte la partícula y pueda estar seguro de tener el correcto. Éste artículo mostrará el calculo usando una sola imagen, pero debe desear realizar el calculo en múltiples imágenes con múltiples distancias y usando técnicas como promedio o ajustes de mínimos cuadrados para determinar el valor apropiado para el ángulo de Visión. Puede usar el mismo control de flecha explicado en la sección de color arriba para cambiar la imagen activa.

Calcular

Como vimos en pasos pasados, las partículas representan un objetivo vertical de 32 pulgadas de alto en éste ejemplo que mide 85 pixeles de alto en una imagen de 640x480. La imagen mostrada fue tomada (manera dificil) desde 18 pies. Ponemos estos números en la ecuación desde arriba…

\[\theta = \arctan \left(2.66 \cdot \frac{480}{2 \cdot 85 \cdot 18} \right) = 22.65^{\circ}\]

Dependiendo de lo que use para calcular el arcotangente, la respuesta debe estar en radianes, asegúrese de convertir de vuelta a grados si lo pone directamente en el código de ejemplo como el ángulo de visión.

Nota

El código usa Ángulo de Visión y nosotros justo calculamos θ. Asegúrese de multiplicar θ por 2 si remplaza las constantes en el código. Multiplicando nuestro resultado por 2 resultando 45.3°. Ésta imagen es de una cámara M1013, entonces nuestro valor es un poco menor de lo anteriormente medido 29.1 pero dando los 18 pies fue una medida más difícil, esto muestra que estamos en un campo de juego y debemos hacer un cálculo correcto.