Explicación de los patrones de calibración

Calibrar las cámaras con precisión es fundamental para el éxito de cualquier configuración de visión artificial/computadora. Sin embargo, existen diferentes patrones para elegir. Para facilitarle la selección, este artículo explica las principales ventajas de cada uno.

Una selección de los patrones de calibración que ofrecemos en Calib.io: ChArUco, tablero de ajedrez, círculos asimétricos y tablero de ajedrez.

Tamaño del patrón

Al elegir una placa de calibración, es importante considerar su tamaño. Esto, en última instancia, se relaciona con el campo de visión (FOV) de medición de la aplicación final. Esto se debe a que las cámaras deben enfocarse a esa distancia específica y calibrarse. Cambiar la distancia de enfoque afecta ligeramente la distancia focal, lo que desvirtuaría cualquier calibración previa. Incluso los cambios de apertura suelen afectar negativamente la validez de la calibración, por lo que deben evitarse.

Para una calibración precisa, el modelo de la cámara se restringe mejor si esta detecta que el objetivo de calibración ocupa la mayor parte de la imagen. En términos generales, si se utiliza una placa de calibración pequeña, diversas combinaciones de parámetros de la cámara podrían explicar las imágenes observadas. Como regla general, la placa de calibración debe tener un área de al menos la mitad del área de píxeles disponible al observarse frontalmente.

Tipo de patrón

A lo largo de los años se han introducido diferentes patrones, cada uno con propiedades y beneficios únicos.

Para elegir el tipo correcto, primero hay que considerar el algoritmo y su implementación. En software como el calibrador de cámara de Calib y bibliotecas como libCalib , OpenCV o MVTec Halcon, existe cierta libertad en cuanto al patrón, aunque cada uno presenta sus propias ventajas y limitaciones.

Objetivos de tablero de ajedrez

Este es el diseño de patrón más popular y común. Las esquinas candidatas para el tablero de ajedrez se suelen encontrar binarizando primero la imagen de la cámara y encontrando cuadriláteros (los campos negros del tablero de ajedrez). Un paso de filtrado conserva solo los cuadriláteros que cumplen ciertos criterios de tamaño y están organizados en una estructura de cuadrícula regular cuyas dimensiones coinciden con las especificadas por el usuario.

Tras la detección inicial del patrón, la ubicación de las esquinas se puede determinar con gran precisión. Esto se debe a que las esquinas (matemáticamente: puntos de silla) son, en principio, infinitamente pequeñas y, por lo tanto, no sesgan ante transformaciones de perspectiva o distorsión de la lente.

En OpenCV, el tablero de ajedrez completo debe ser visible en todas las imágenes para que sea detectado. Esto suele dificultar la obtención de información de los bordes de las imágenes. Estas áreas suelen ser útiles para obtener información, ya que restringen correctamente el modelo de distorsión de la lente.

Tras la detección de un tablero de ajedrez, se puede realizar un refinamiento de subpíxeles para encontrar los puntos de silla con precisión de subpíxeles. Esto utiliza los valores de gris exactos de los píxeles alrededor de una esquina determinada, y la precisión es mucho mayor que la que permitirían las posiciones de píxeles enteras.

Un detalle importante sobre los objetivos de tablero de ajedrez es que, para ser invariantes a la rotación, el número de filas debe ser par y el de columnas impar, o viceversa. Si, por ejemplo, ambos son pares, existe una ambigüedad de rotación de 180 grados. Sin ninguna suposición sobre la orientación del tablero, el detector de características podría ubicar el origen en dos o cuatro posiciones diferentes. Para la calibración con una sola cámara, esto significa que la geometría del objetivo no se puede optimizar, y si los mismos puntos deben ser identificados por dos o más cámaras (para la calibración estéreo), esta ambigüedad provoca un fallo de calibración. Esta es la razón por la que todos nuestros objetivos de tablero de ajedrez estándar tienen esta propiedad de filas/columnas pares/impares.

Objetivos de ChArUco

Los patrones ChArUco superan algunas de las limitaciones de los tableros de ajedrez clásicos. Sin embargo, su algoritmo de detección es algo más complejo.

La principal ventaja de ChArUco es que todos los campos de luz del verificador están codificados e identificables de forma única. Esto significa que incluso imágenes de cámara parcialmente ocluidas o no ideales pueden usarse para la calibración. Por ejemplo, las luces anulares intensas pueden producir una iluminación heterogénea en el objetivo de calibración (una región de reflexión semiespecular), lo que provocaría un fallo en la detección de tablero de ajedrez convencional. Con ChArUco , las detecciones de punto de silla restantes (buenas) aún pueden usarse. La localización de los puntos de silla puede refinarse mediante la detección de subpíxeles, al igual que en los tableros de ajedrez.

Con observaciones cercanas a las esquinas de la imagen, esta propiedad resulta extremadamente útil. Dado que el objetivo puede posicionarse de forma que la cámara solo lo vea parcialmente, podemos recopilar información de los bordes y esquinas de la imagen. Esto suele resultar en una determinación muy precisa y robusta de los parámetros de distorsión de la lente. Por esta razón, recomendamos encarecidamente el uso de objetivos ChArUco en lugar de objetivos de tablero de ajedrez normales, siempre que Calibrator, libCalib u OpenCV 3.x estén disponibles.

Además de los beneficios mencionados anteriormente, los objetivos ChArUco con rangos de identificación no superpuestos se pueden utilizar para la calibración de red, lo que permite cubrir grandes campos de visión con una colección de objetivos.

Objetivos marcadores de tablero de ajedrez

Se basan en tableros de ajedrez tradicionales y pueden utilizar los mismos algoritmos de detección. Además, contienen tres círculos en el centro, lo que permite una referenciación absoluta incluso con vistas parciales del tablero (siempre que los círculos se vean en todas las imágenes). Por lo tanto, se pueden incluir datos de la periferia de la imagen, lo que garantiza que el modelo de lente ajustado también sea válido en esas partes de la imagen.

Para tareas de calibración estéreo, el objetivo de marcador de tablero de ajedrez ofrece todas las ventajas de un objetivo codificado como ChArUco, pero requiere menos píxeles para una detección robusta. Por lo tanto, se pueden utilizar tableros de ajedrez más densos con más características. Estos patrones son totalmente compatibles con Calibrator y libCalib con un único objetivo de calibración.

Cuadrículas circulares

Las cuadrículas circulares también son un diseño de objetivo de calibración popular y muy común, basado en círculos, ya sea con círculos blancos sobre fondo oscuro o círculos oscuros (negros) sobre fondo blanco. En términos de procesamiento de imágenes, los círculos pueden detectarse como "manchas" en la imagen. Se pueden aplicar algunas condiciones simples en estas regiones binarias de manchas, como el área, la circularidad, la convexidad, etc., para eliminar candidatos a características incorrectas.

Tras encontrar candidatos adecuados, se vuelve a utilizar la estructura regular de características para identificar y filtrar el patrón. La determinación de círculos se puede realizar con gran precisión, ya que se pueden utilizar todos los píxeles de su periferia, lo que reduce la influencia del ruido de la imagen. Sin embargo, a diferencia de los puntos de silla en los tableros de ajedrez, los círculos se visualizan como elipses desde la perspectiva de la cámara. Esta perspectiva se puede explicar mediante la rectificación de la imagen. No obstante, la distorsión desconocida de la lente implica que los círculos no se visualizan como elipses perfectas, lo que añade un pequeño sesgo. No obstante, podemos considerar el modelo de distorsión como localmente lineal (que obedece a una transformación de perspectiva/homografía), por lo que este error es muy pequeño en la mayoría de las lentes.

Para una calibración de alta precisión, es necesario tener en cuenta tanto la forma elíptica como el centro del círculo proyectado, especialmente con lentes de distancia focal corta y círculos grandes. OpenCV no tiene en cuenta ninguno de estos factores y, por defecto, utiliza un detector de manchas simple para encontrar los centroides de las manchas elípticas. Calib Camera Calibrator sí tiene en cuenta estos efectos y puede producir resultados más precisos para objetivos circulares.

Una diferencia importante entre las cuadrículas circulares simétricas y asimétricas es que las primeras presentan una ambigüedad de 180 grados, como se explica en la sección "Tablero de ajedrez". Por lo tanto, para la optimización de la geometría del objetivo o la calibración estéreo, se requieren cuadrículas asimétricas. Por lo demás, no existe una gran diferencia en el rendimiento esperado para ninguno de los dos tipos.

Regresar al blog

3 comentarios

@Peter: The standard web-store targets have a dimensional tolerance of 0.1mm + 0.3mm/m (at 20°C). We can offer lithography processed targets with dimensional tolerance as low as 10um (feature to feature).

Jakob

Hi,
What accuracy are your patterns printed with?

Peter

Thank you. This helped me understand what is actually happening in calibration, and why my true 8×8 chessboard is a terrible choice for calibrating stereo cameras. Maybe I’ll have better luck with an even-odd combo.

Chris

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.