Explicación de los patrones de calibración

Calibrar las cámaras con precisión es importante para el éxito de cualquier configuración de visión artificial o computacional. Sin embargo, existen diferentes patrones entre los que elegir. Para facilitarle la selección, este artículo explica los principales beneficios 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, una consideración importante es el tamaño físico de la misma. 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 longitud focal, lo que alteraría cualquier calibración anterior. Incluso los cambios de apertura suelen tener un efecto negativo en la validez de la calibración, por lo que deben evitarse.

Para lograr una calibración precisa, el modelo de la cámara se limita mejor si la cámara ve que el objetivo de calibración ocupa la mayor parte de la imagen. En términos de popularidad, si se utiliza una placa de calibración pequeña, muchas 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 cuando se observa de frente.

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 adecuado, hay que empezar por considerar qué algoritmo y qué implementación de algoritmo se va a utilizar. En software como Camera Calibrator de Calib y bibliotecas como libCalib , OpenCV o MVTec Halcon, existe cierta libertad en cuanto al patrón, y cada uno tiene sus ventajas y limitaciones individuales.

Objetivos de tablero de ajedrez

Este es el diseño de patrón más popular y común. Los candidatos para las esquinas del tablero de ajedrez generalmente se encuentran binarizando primero la imagen de la cámara y encontrando cuadriláteros (estos son los campos negros del tablero de ajedrez). Un paso de filtrado retiene solo aquellos cuadriláteros que cumplen con 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, es posible determinar la posición de las esquinas con gran precisión, ya que las esquinas (matemáticamente: puntos de silla) son, en principio, infinitamente pequeñas y, por lo tanto, no se ven afectadas por transformaciones de perspectiva o distorsiones de lentes.

En OpenCV, el tablero de ajedrez completo debe ser visible en todas las imágenes para que se pueda detectar. Esto suele dificultar la obtención de información de los bordes de las imágenes. Normalmente, es bueno obtener información de estas áreas, ya que restringen el modelo de distorsión de la lente de forma adecuada.

Tras la detección de un tablero de ajedrez, se puede realizar un refinamiento de subpíxeles para encontrar los puntos de silla con una precisión de subpíxeles. Esto hace uso de los valores de gris exactos de los píxeles alrededor de una posición de esquina determinada, y la precisión es mucho más exacta que la que permitirían las posiciones de píxeles enteros.

Un detalle importante sobre los objetivos de tablero de ajedrez es que para que sean invariantes en cuanto a la rotación, el número de filas debe ser par y el número de columnas impar, o al revés. 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 colocar el origen en dos o cuatro posiciones diferentes en el tablero. 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 conduce a un error 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 verificación de luz están codificados e identificables de forma única. Esto significa que incluso las imágenes de cámara parcialmente ocluidas o no ideales se pueden utilizar para la calibración. Por ejemplo, las luces de anillo intensas pueden producir una iluminación no homogénea en el objetivo de calibración (una región de reflexión semiespecular), lo que haría que la detección de tablero de ajedrez normal fallara. Con ChArUco , las detecciones de puntos de silla restantes (buenas) aún se pueden utilizar. Las localizaciones de puntos de silla se pueden refinar utilizando la detección de subpíxeles al igual que los tableros de ajedrez.

Con observaciones cercanas a las esquinas de la imagen, esta es una propiedad extremadamente útil. Como el objetivo se puede colocar de manera que la cámara solo lo vea parcialmente, podemos recopilar información de los bordes y las esquinas de la imagen de la cámara. Esto generalmente conduce a una determinación muy buena y sólida de los parámetros de distorsión de la lente. Por este motivo, recomendamos enfáticamente el uso de objetivos ChArUco en lugar de objetivos de tablero de ajedrez normales, cuando 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 los tradicionales tableros de ajedrez y pueden utilizar los mismos algoritmos de detección. Además, contienen tres círculos en su centro, lo que permite una referenciación absoluta incluso con vistas parciales del tablero de ajedrez (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 las tareas de calibración estéreo, el objetivo de marcador de tablero de ajedrez ofrece todos los beneficios de un objetivo codificado como ChArUco, pero necesita 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 se pueden detectar como "manchas" en la imagen. Se pueden aplicar algunas condiciones simples en estas regiones de manchas binarias, como área, circularidad, convexidad, etc. para eliminar candidatos de características incorrectas.

Después de 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 mucha precisión, ya que se pueden utilizar todos los píxeles de la periferia de los círculos, lo que disminuye la influencia del ruido de la imagen. Sin embargo, a diferencia de los puntos de silla de montar en los tableros de ajedrez, los círculos se visualizan como elipses bajo la perspectiva de la cámara. Esta perspectiva se puede explicar mediante la rectificación de la imagen. Sin embargo, además, la distorsión desconocida de la lente significa que los círculos no se visualizan como elipses perfectas, lo que agrega un pequeño sesgo. Sin embargo, 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 lograr 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 ninguna de estas dos cosas y, de manera predeterminada, utiliza un detector de manchas simple para encontrar los centroides de las manchas elípticas. Calib Camera Calibrator 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 tienen 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 y/o la calibración estéreo, son necesarias las cuadrículas asimétricas. De lo contrario, no hay una gran diferencia en el rendimiento que se debería esperar para cualquiera de los dos tipos.


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

Dejar un comentario

Por favor tenga en cuenta que los comentarios deben ser aprobados antes de ser publicados