Calibración de cámara

Para la captura de la base de datos se utilizaron dos cámaras GoPro Hero3+ black edition. Estas cámaras son conocidas por su lente muy abierta, estilo fisheye, que presenta una distorsión radial importante en sus capturas.

En consecuencia de lo anterior, resulta de extrema importancia la calibración de la cámara, ya que se quieren capturar segmentos rectos (por ejemplo en el caso de los palos), y es entonces deseable reducir la distorsión radial mencionada.

Primer intento

Debido a la "fama" de las cámaras GoPro como cámaras con lente fisheye, se propuso utilizar la calibración de OpenCV diseñada especialmente para estos tipos de lentes, puesto que mecanismos tradicionales ordinarios no suelen arrojar buenos resultados.

Una vez implementada esta calibración se observó que para la base de datos de capturas obtenidas utilizadas y en consideración de los parámetros obtenidos, la corrección de imagen era sensiblemente defectuosa, e incluso incrementaba la distorsión radial.

Se llegó, luego, a la conclusión de que esta calibración es útil para lentes que presentan una apertura mayor que aquellos correspondientes a las cámaras utilizadas (cerca de los 180 grados).

Segundo intento

Luego de los resultados insatisfactorios obtenidos con la calibración fisheye, se implementó una variación sobre el código utilizado para las entregas anteriores del curso Tratamiento de imágenes por computadora, obteniendo muy buenos resultados visuales, así como un valor bajo del error de re-proyección calculado para el curso.

Los resultados se observaron para un vídeo en particular que presentaba considerable distorsión, y optando por los parámetros que proveían los resultados más favorables. Luego se procedió a aplicar la corrección a toda la base de datos a través de un script que recorría todos los archivos.

Problemas de formato de captura

Al momento de la captura de las imágenes del damero que se utilizaría para la calibración, se tomó una gran cantidad de imágenes fijas, con el propósito de trabajar con un código similar al ya utilizado -que tomaba fotos a partir de la captura de la cámara de la computadora. Este método no resultó ser el mejor ya que al final fueron pocas las capturas útiles para las cuales OpenCV pudo detectar el damero, pero además presentó el problema de un cambio de método de captura de la cámara, que tomó las fotos en una calidad significativamente mayor a la del vídeo (240fps) y en un ratio 4:3 cuando la de la filmación era 16:9.

Con esta variación en cuenta, se estudió la diferencia entre los modos de captura de la cámara y se determinó que, con una disminución del tamaño con interpolación cuadrática, y un recorte de los bordes superiores, las capturas del damero serían prácticamente idénticas a aquellas obtenidas si hubiese sido filmado el mismo en el modo de captura utilizado para la base de datos. Esto se verificó al obtener un resultado satisfactorio de la calibración, que presentó una excelente corrección de la gran distorsión radial original de la cámara.

Proyecto Final - TImag 2019 - Facultad de Ingeniería - Universidad de la República - Uruguay
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar