Visión artificial: calibración de la cámara

1 ¿Por qué la visión artificial necesita calibración de cámara?

La visión artificial es el uso de imágenes de cámaras para lograr la medición, el posicionamiento, la reconstrucción y otros procesos de escenas tridimensionales. Es un proceso de usar imágenes bidimensionales para realizar una inversión tridimensional. El mundo en el que vivimos es tridimensional, mientras que las imágenes o fotos son bidimensionales. La cámara puede considerarse como una función, la entrada es un escena bidimensional y la salida es una imagen bidimensional. Normalmente, este proceso de tridimensional a bidimensional es irreversible.
Si podemos encontrar un modelo matemático adecuado para aproximar el proceso tridimensional a bidimensional anterior, y luego encontrar la función inversa de este modelo matemático, podemos realizar el proceso inverso de bidimensional a tridimensional, es decir, use un modelo matemático simple para Expresar el complejo proceso de creación de imágenes y descubra el proceso inverso de creación de imágenes.
inserte la descripción de la imagen aquí
En los artículos anteriores " Modelo de visión artificial: matriz de proyección " y " Modelo de visión artificial: modelo de distorsión ", discutimos dos modelos matemáticos importantes de visión artificial: el modelo de proyección de imágenes y el modelo de distorsión . Sabemos que varios modelos contienen varios parámetros desconocidos. Entonces, ¿cómo se obtienen estos parámetros desconocidos? Este es el papel de la calibración de la cámara .

2 El papel de la calibración de la cámara

Como se mencionó anteriormente, la matriz de imágenes y el modelo de distorsión incluyen las siguientes incógnitas:

  1. Matriz de referencia interna: 4 parámetros, f/dxf/dxf / d xf / dyf/dyf / d yu 0 u_0tu0v 0 v_0v0
  2. Matriz de parámetros externos: 6 parámetros, 3 parámetros para la pose, traslación y rotación del cuerpo rígido de la cámara.
  3. Parámetros de distorsión: 5 parámetros, distorsión radial 3 k 1 k_1k1k 2 k_2k2k 3 k_3k3, distorsión tangencial 2 p 1 p_1pag1p 2 p_2pag2

Calibración de la cámara: Es el proceso de determinar los parámetros internos y externos y los parámetros de distorsión de la cámara.
Se puede decir que la calibración de la cámara es la base de la visión por computadora/visión artificial. La tarea es resolver 9 (parámetros internos + distorsión) o 15 (parámetros internos + distorsión + referencia externa) Parámetro desconocido. La mayor parte de la calibración de la cámara es para calibrar los parámetros internos y los parámetros de distorsión de la cámara, porque los parámetros externos pertenecen a la pose de la cámara, y la pose de la cámara cambia constantemente durante el proceso de trabajo, pero algunas aplicaciones también necesitan calibrar los parámetros externos al mismo tiempo, es decir, la pose de la cámara.

3 métodos comunes de calibración de cámaras

Según el modelo matemático del proceso de calibración, la calibración de la cámara se puede dividir en:
(1) Método de calibración lineal: velocidad de cálculo rápida, precisión de calibración relativamente baja
(2) Método de calibración de optimización no lineal: alta precisión de calibración, modelo complejo y gran cantidad de cálculo;
(3) Método de dos pasos: la combinación de los dos anteriores, que combina las ventajas y desventajas de los dos, como el método de dos pasos de Tsai, el método de calibración de Zhang, etc.
La siguiente tabla ofrece una comparación de varios métodos de calibración comúnmente utilizados.

Método de calibración ventaja defecto método común
Método de autocalibración de la cámara Gran flexibilidad y calibración en línea Baja precisión y pobre robustez. Calibración jerárquica paso a paso, basada en la ecuación de Kruppa
Método de calibración de la cámara de visión activa Sin necesidad de calibrador, algoritmo simple, alta robustez Equipo costoso y de alto costo. El sistema activo controla la cámara para realizar movimientos específicos
método de calibración del calibrador Se puede utilizar con cualquier modelo de cámara, alta precisión Necesita calibrador, algoritmo complejo Método de dos pasos de Tsai, método de calibración de Zhang

3.1 Método de autocalibración de la cámara

El método de autocalibración de la cámara no necesita conocer las coordenadas tridimensionales del punto de la imagen. Determina los parámetros de calibración de la cámara calculando la relación relativa de un determinado punto en el gráfico de escena en diferentes ángulos de disparo. Esta característica del método de autocalibración le permite completar la calibración de algunos parámetros desconocidos de la cámara.
El método de autocalibración de la cámara puede obtener los parámetros internos y externos del sistema de calibración solo mediante el uso de la relación de correspondencia o restricción entre los puntos de la imagen sin objetos de calibración, lo que hace realidad la calibración de la cámara en algunos movimientos de cámara arbitrarios o escenas desconocidas complejas. del concepto de autocalibración propuesto por primera vez por Luong, Faugeras, Maybank, etc. a principios de la década de 1990.
En la actualidad, los principales métodos de autocalibración son: método de autocalibración basado en la ecuación de Kruppa, método de calibración paso a paso en capas. Estos métodos de autocalibración de la cámara resuelven los parámetros a través de la relación de restricción de los parámetros internos de la cámara, ignorando por completo el entorno externo del sistema de la cámara, por lo que este método de calibración es más flexible que otros métodos, pero la estabilidad no es alta.

1) Método de calibración paso a paso jerárquico

El método de calibración paso a paso en capas consiste en reconstruir primero la secuencia de imágenes de manera proyectiva, luego realizar una calibración afín y una calibración europea sobre la base de la reconstrucción, y obtener los parámetros internos y externos de la cámara a través de un algoritmo de optimización no lineal. Dado que los parámetros iniciales son valores difusos, la convergencia del algoritmo de optimización es incierta.

2) Método de autocalibración basado en Kruppa

El método de autocalibración basado en Kruppa consiste en establecer una ecuación de restricción sobre la matriz de parámetros internos de la cámara a través de una curva cuadrática y usar al menos 3 pares de imágenes para calibrar la cámara. La longitud de la secuencia de imágenes afectará la estabilidad del algoritmo de calibración y no se puede garantizar el plano infinito en el espacio proyectivo.

3.2 Método de calibración basado en visión activa

El método de calibración de la cámara basado en la visión activa consiste en controlar la cámara para que realice un movimiento específico a través del sistema activo, tome varios conjuntos de imágenes y resuelva los parámetros internos y externos de la cámara de acuerdo con la información de la imagen y los cambios de desplazamiento conocidos. Hay dos métodos típicos: uno es hacer que la cámara se traslade de manera estable en un espacio tridimensional; el otro es hacer que la cámara gire con parámetros fijos. El método de calibración basado en visión activa puede simplificar el proceso de cálculo y obtener resultados lineales. La desventaja de este método es que necesita estar equipado con una plataforma de control precisa, el costo del sistema es alto y no es aplicable en algunas ocasiones donde los parámetros de movimiento son desconocidos e incontrolables.

3.3 Método de calibración basado en calibrador

A diferencia del método de calibración de visión activa, el objeto de calibración es indispensable en la calibración de la cámara basada en el objeto de calibración. No solo necesita determinar el tamaño y la forma, sino también determinar las coordenadas de puntos especiales en la superficie del objeto. El principio es utilizar métodos matemáticos para averiguar la relación correspondiente entre las coordenadas espaciales de un determinado punto y las coordenadas de la imagen, y luego obtener los parámetros de la cámara.
Los típicos son: método de transformación lineal directa (DLT), método de dos pasos Tsai, método de calibración del plano Zhang Zhengyou, etc. Entre ellos, los objetos de calibración se dividen además en objetos de calibración tridimensionales y objetos de calibración planos. El método de calibración tridimensional es fácil de operar y confiable en precisión. Sin embargo, el costo de producción del objeto de calibración tridimensional es alto y es difícil de procesar y mantener.La producción del objeto de calibración plana es simple y la precisión requerida se puede garantizar a través del algoritmo mejorado.Por lo tanto, algunas calibraciones Los métodos de los últimos años se basan en el desarrollo y mejora de la calibración del avión.
La precisión de calibración del método de calibración de la cámara basado en el objeto de calibración tiene altos requisitos para el objeto de calibración, y algunos lugares de trabajo no son adecuados para su ubicación, lo que también limita el alcance de la aplicación.

1) El método de dos pasos de Tsai

El método de dos pasos de Tsai primero obtiene los parámetros de la cámara de forma lineal, luego considera el factor de distorsión para obtener los valores de los parámetros iniciales y obtiene los parámetros finales de la cámara a través de la optimización no lineal. El método de dos pasos de Tsai es más rápido, pero solo considera la distorsión radial, que no es aplicable cuando la distorsión de la cámara es severa.

2) método de calibración de Zhang

Consulte la siguiente sección.

4 Introducción al método de calibración de Zhang

El "método de calibración de Zhang" es un documento " Calibración de cámara flexible al ver un avión desde orientaciones desconocidas " ( descarga de PDF del artículo ) publicado por el Dr. Zhang Zhengyou en la principal conferencia internacional ICCV en 1999. Utiliza un tablero de ajedrez plano para la calibración de la cámara. método.

4.1 Principio

El principio básico del método de calibración de Zhang: use una placa de calibración compuesta por cuadrados bidimensionales para la calibración, recopile imágenes de diferentes poses de la placa de calibración, extraiga las coordenadas de píxeles de los puntos de esquina en la imagen y calcule el valor inicial de la parámetros internos y externos de la cámara a través de la matriz de homografía, los coeficientes de distorsión se estiman por el método de mínimos cuadrados no lineales y finalmente los parámetros se optimizan por el método de estimación de máxima verosimilitud.
Este método se encuentra entre el método de calibración fotográfica y el método de autocalibración, que no solo supera las deficiencias del objeto de calibración tridimensional de alta precisión requerido por el método de calibración fotográfica, sino que también resuelve el problema de la poca robustez de la autocalibración. método de calibración. El proceso de calibración solo necesita usar un tablero de ajedrez impreso y tomar varios grupos de imágenes desde diferentes direcciones. Cualquiera puede hacer el patrón de calibración por sí mismo. No solo es flexible y conveniente de usar, sino que también tiene alta precisión y buena robustez. Por lo tanto, pronto fue ampliamente adoptado en todo el mundo, lo que promovió en gran medida el proceso de visión por computadora en 3D desde el laboratorio hasta el mundo real.
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí

4.2 Placa de calibración

Una parte importante del método de calibración de Zhang es el tablero de calibración. En el tablero de calibración, se imprime la estructura topológica y se usan ampliamente las cuadrículas de tablero de ajedrez y de puntos. ¿Por qué se usan comúnmente las cuadrículas de tablero de ajedrez o de origen? Esto se debe a que: la estructura topológica del tablero de ajedrez o la red de origen es clara y uniforme, y el algoritmo de procesamiento de imágenes para detectar su estructura topológica es simple y eficaz.
inserte la descripción de la imagen aquí
Además de estos dos patrones de uso común, existen muchos formatos de placa de calibración, y cada software de calibración tiene un formato de placa de calibración correspondiente, pero independientemente del estilo de placa de calibración, sus funciones básicas son similares:

  1. Determinar la correspondencia entre los puntos del objeto y los puntos de la imagen;
  2. Transforme los puntos de esquina en el tablero de calibración a las coordenadas en el sistema de coordenadas de la cámara, porque la posición de cada punto de esquina en el tablero de calibración en el sistema de coordenadas del tablero de calibración se determina y se conoce.

5 Cómo completar la calibración de la cámara

Lo anterior analiza algunos conocimientos básicos sobre la calibración de la cámara, por lo que si realmente queremos calibrar, ¿qué debemos hacer? Los siguientes métodos son comúnmente utilizados:

5.1 Uso de herramientas de formación

Muchos software o herramientas comerciales tienen funciones de calibración de cámara integradas, como los siguientes dos software típicos:

5.1.1 Halcón

El asistente de calibración en el software Halcon puede completar la calibración de la cámara, como se muestra en la figura a continuación, es el formato de la placa de calibración Halcon.
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
Usando el asistente de calibración Halcon, después de completar los pasos, puede obtener los resultados de calibración de los parámetros internos y externos de la cámara como se muestra en la figura.
inserte la descripción de la imagen aquí

5.1.2 Matlab

Las herramientas de calibración de cámaras también están integradas en Matlab,
inserte la descripción de la imagen aquí
entre ellas, Camera Calibrator se usa para la calibración de cámaras monoculares y Stereo Camera Calibrator se usa para la calibración de cámaras binoculares.
inserte la descripción de la imagen aquí
Los resultados de la calibración muestran:
inserte la descripción de la imagen aquí

5.2 Implementación de la programación

5.2.1 Implementación usando programación Opencv

OpenCV integra funciones relacionadas, como detección de esquinas de tablero de ajedrez, matriz de homografía y cálculos de parámetros internos y externos, que se pueden usar para crear sus propias herramientas de calibración de cámara. Aquí hay algunas referencias a funciones de uso común.

findChessboardCorners();//棋盘格角点检测
drawChessboardCorners();//棋盘格角点绘制
find4QuadCornerSubpix();//粗提取角点精确化
findHomography();//获取单应矩阵
cornerSubPix();//亚像素检测
calibratCamera();//求解相机内外参
initUndistortRectifyMap();//计算畸变参数

5.2.2 Implementación totalmente autoprogramada

Las herramientas y las interfaces de programación anteriores tienen sus propias ventajas y desventajas. De hecho, los resultados de calibración de cada método tienen más o menos desviaciones y la precisión no es la misma.
Por lo tanto, si comprende el principio de la calibración de la cámara, puede programarlo usted mismo si es necesario. Por supuesto, este método también es el más difícil, y el resultado de la calibración de la cámara (precisión, velocidad, etc.) depende completamente de su implementación. Principio y programa Rendimiento, pero este método se puede optimizar y ajustar de acuerdo con sus propias necesidades, y la adaptabilidad es mejor.

referencia

Combate real | Calibración de la cámara
http://www.imrobotic.com/news/detail/5302

Supongo que te gusta

Origin blog.csdn.net/hangl_ciom/article/details/106981186
Recomendado
Clasificación