estudio de investigación sobre técnicas de calibración de cámaras
Post on 13-Dec-2014
2.235 Views
Preview:
DESCRIPTION
TRANSCRIPT
ALUMNO: Jaime Martínez Verdú E-MAIL: jaime.martinez@alu.umh.es POSTGRADO: Máster Universitario de Investigación en Tecnologías Industriales y de telecomunicación ASIGNATURA: Visión por computador PROFESOR: Oscar Reinoso
Prefacio....
En este texto se pretende sintetizar un curso Calibración de Cámaras integradas a
un Sistema de Visión Artificial. En este trabajo se plantea la existencia, inherente a
cualquier Sistema de Visión Artificial, de un proceso de calibración de su cámara. Se
considera como sistema de visión, una cámara de video con la suficiente capacidad
técnica para realizar los estudios y lograr nuestros objetivos, así como los algoritmos
desarrollados para calibrar la cámara.
Muchas técnicas diferentes, en la actualidad, muestran como obtener información
3D del mundo físico usando una imagen o secuencia de imágenes capturadas por una o
más cámaras. Cada técnica incluye una serie de procesos que influyen directamente en
lograr un rendimiento eficaz; dentro de éstos, el principal proceso es la calibración. La
calibración es el inconveniente básico en aplicaciones de sistemas de visión en las que se
pretenda obtener información geométrica del espacio. Este problema consiste en
encontrar los valores de la posición y orientación de una cámara, así como sus
propiedades ópticas, geométricas y digitales a partir de puntos conocidos en el espacio
que son proyectados en una imagen. Es decir, la calibración de cámaras tiene como
objetivo establecer los parámetros que intervienen en el proceso geométrico de formación de la
imagen.
En la mayoría de los medios actuales, las propiedades de una cámara pueden
considerarse como estables y conocidas por lo que el problema se reduce a determinar la
orientación y posición del sistema de referencia de una imagen. Un modelo matemático
que describa y relacione correctamente la información del espacio 3D y su
correspondiente información 2D de una o unas imágenes, es la base principal de realizar
una buena calibración. De hecho, la calibración depende de la precisión con que
obtengamos la información del espacio y de la imagen.
El contenido de este texto comienza en el Capítulo 1 - Introducción que se trata una
breve presentación al desarrollo del trabajo. En este capítulo vendrá detallada la historia
de los sistemas de representación de geometrías e introduciremos una serie de conceptos y
términos relacionados con el campo de la calibración de cámaras. Asimismo,
expondremos aquellos factores que influyen directamente en la formación de la imagen y
analizaremos, a grandes rasgos, los parámetros principales que puede presentar una
cámara. En este capítulo desarrollaremos, a su vez, el procedimiento general de
calibración de una cámara.
Al Capítulo anterior le sucede el Capítulo 2 – Planteamiento matemático Geometría
de la formación de imágenes y que realiza un estudio de las herramientas matemáticas en las
cuales nos basaremos. Además, considera una descripción de la Teoría que mejor modela
la formación de las imágenes: La Geometría Proyectiva. Finalmente, éste capítulo expone el
modelo matemático de la cámara y estudia analíticamente los parámetros de localización y
orientación de la cámara.
A continuación, se ilustrarán distintos modelos existentes para establecer la
función de transferencia 3D ↔ 2D en un Sistema de Visión Artificial y se analizarán los
algoritmos más conocidos para llevar a cabo la calibración del sistema. Entre los expuestos
podremos encontrar los cuatro siguientes:
• Método de calibración del cálculo de la matriz de transformación
perspectiva.
• Método de calibración de los dos planos.
• Método de calibración de Roger Y. Tsai.
• Técnica de Ayache.
• Técnica de Song De Ma.
• Método de calibración de Zhang.
Finalmente, realizaremos un breve estudio sobre el auge de las aplicaciones de un
sistema de calibración de cámaras en la actualidad. Desarrollaremos dos ejemplos donde
se podrá comprobar la importancia, sobre todo en la industria y robótica, de la
calibración de un sistema de Visión Artificial.
Jaime Martínez Verdú
PREFACIO.
CAPÍTULO 1: INTRODUCCIÓN.
CAPÍTULO 2: PLANTEAMIENTO MATEMÁTICO.
CAPÍTULO 3: TECNOLOGÍAS Y TÉCNICAS EXISTENTES.
CAPÍTULO 4: APLICACIONES.
CONCLUSIÓN.
BIBLIOGRAFÍA.
APÉNDICE A. La matriz pseudoinversa.
APÉNDICE B. Matemáticas De Zhang.
APÉNDICE C. Caso ejemplo
CAPÍTULO 1: INTRODUCCIÓN.
1.1. Un poco de historia 1-4
1.2. Terminología de calibración 1-7
1.2.1. Calibración de la cámara 1-7
1.2.2. Orientación de la cámara 1-7
1.2.3. Sistema de calibración 1-7
1.3. Factores que influyen en la formación de una imagen 1-8
1.3.1. Efectos internos 1-8
1.3.2. Efectos externos 1-9
1.4. Parámetros que influyen en la calibración de una cámara 1-10
1.4.1. Parámetros intrínsecos 1-10
1.4.2. Parámetros extrínsecos 1-11
1.5. Distorsión de la lente 1-12
1.5.1. Distorsión radial 1-12
1.5.2. Distorsión tangencial 1-13
1.6. Procedimiento general del método de calibración 1-14
CAPÍTULO 2: PLANTEAMIENTO MATEMÁTICO. GEOMETRÍA DE LA
FORMACIÓN DE IMÁGENES.
2.1. Algunas transformaciones básicas 2-2
2.1.1. Coordenadas homogéneas 2-2
2.1.2. Traslación 2-2
2.1.3. Escalado 2-3
2.1.4. Rotación 2-4
2.1.5. Concatenación y transformación inversa 2-6
2.2. Proyecciones 2-8
2.2.1. Proyección de perspectiva 2-8
2.2.2. Proyección ortográfica 2-13
2.2.3. Proyección paralela 2-14
2.3. Modelo de la cámara 2-15
2.4. Recuperación de los parámetros de la cámara 2-16
2.4.1. Localización de la cámara 2-16
2.4.2. Orientación de la cámara 2-16
CAPÍTULO 3: TECNOLOGÍAS Y TÉCNICAS EXISTENTES.
3.1. Método de calibración del cálculo de la matriz de transformación perspectiva 3-5
3.1.1. Desarrollo matemático generalizado 3-6
3.1.2. Desarrollo matemático singularizado 3-10
3.1.3. Obtención del vector incógnita mediante el Método de los M C 3-12
3.1.4. Ejemplo de calibración del método estudiado 3-14
3.1.5. Procedimiento de calibración del método estudiado 3-17
3.2. Método de calibración de los dos planos 3-18
3.3. Método de calibración de Roger Y. Tsai 3-25
3.1.1. Los cuatro pasos de transformación desde las coordenadas 3D del mundo
a las coordenadas de la imagen en el computador 3-27
3.1.2. Ecuaciones de correspondencia entre las coordenadas 3D del mundo y las
coordenadas 2D de la imagen en el computador 3-31
3.1.3. Calibración de la cámara utilizando un conjunto de puntos coplanares 3-34
3.1.4. Calibración de la cámara utilizando un conjunto de puntos no coplanares 3-40
3.1.5. Enmiendas del método de calibración de Tsai I: Técnica de Ayache 3-44
3.1.6. Enmiendas del método de calibración de Tsai I:Técnica de Song De Ma 3-45
3.4. Método de calibración de Zhang 3-46
3.4.1. Desarrollo matemático generalizado 3-47
3.4.2. Resolución de la calibración de la cámara 3-53
3.4.3. Procedimiento de calibración del método estudiado 3-55
3.5. Comparativa sobre las técnicas y tecnologías existentes 3-56
CAPÍTULO 4: APLICACIONES.
4.1. Aplicaciones de calibración simultánea 4-5
4.2. Aplicaciones con cámaras precalibradas 4-7
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-1
INTRODUCCIÓN
¿Qué es la Visión Artificial? Dicho concepto hace referencia a una gran herramienta
para establecer la relación entre el mundo tridimensional y sus vistas bidimensionales
tomadas de él. Por medio de esta teoría se puede conseguir, por un parte, una
reconstrucción del espacio tridimensional a partir de sus vistas y, por otra, efectuar una
simulación de una proyección de una escena 3D en la posición deseada a un plano
bidimensional.
El presente texto estudia la técnica de calibración de cámaras y reflexiona sobre su
interés actual, pues se trata de un proceso esencial para lograr el buen funcionamiento de
un Sistema de Visión Artificial (AVS del inglés “Artificial Vision System”). De acuerdo con
la definición de la Real Academia de la Lengua Española, se entiende por calibración:
“Establecer con la mayor exactitud posible, la correspondencia entre las indicaciones de un instrumento de medida y los valores de la magnitud que se mide con él.”
En nuestro caso, se desea conseguir la relación entre píxeles de una imagen y
valores de la imagen en medidas reales. En un sentido amplio, la calibración de una
cámara hace referencia a la obtención de todos aquellos parámetros que intervienen en la
formación de la imagen, tanto los denominados geométricos, involucrados en el proceso
geométrico de formación de la imagen, como los radiométricos, que tienen que ver con
el brillo de los objetos proyectados. La calibración de una cámara es un proceso
importante en muchos problemas actuales; posiblemente los dos más importantes estén
relacionados con la construcción de un objeto tridimensional y la medición no invasiva.
Estos problemas tienen crecientes aplicaciones en robótica, metrología, diseño de
entornos visuales, análisis de movimiento, seguimiento de objetos, etc.
CAPÍTULO 1
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-2
El uso de sistemas del tratamiento digital de imágenes con propósitos de, por
ejemplo, robótica o metrología (ciencia que tiene por objeto el estudio de los sistemas de
pesas y medidas) implica la necesidad de calibración o verificación de dichos sistemas.
Por un lado, es conocido que la calibración simultánea de cámaras durante la
medida es un método muy empleado en la actualidad, y por otro lado, la calibración
independiente es particularmente útil en los casos siguientes:
o Cuando se desea obtener información acerca de la exactitud de un sistema
de adquisición de imágenes empleado para medir una escena y también
sobre la exactitud de la medida del objeto.
o Cuando la calibración simultánea del sistema de medida es irrealizable
durante la medida por razones intrínsecas al sistema de modo que algunos
parámetros del sistema, o incluso todos, deben ser predeterminados.
o Cuando sistemas de visión completos o componentes de ellos deban ser
ensayados por el fabricante con la intención de elaborar planes de calidad.
o Cuando las imágenes digitales, libres de los efectos del AVS, son generadas
para la configuración de un proceso de adquisición (como la rectificación).
Además, para la configuración o el setup del sistema de visión artificial, será
preciso determinar posiciones de cámaras u otros sensores respecto a un sistema de
coordenadas de orden superior denominado Sistema del Mundo que permitirá la
determinación de objetos tridimensionales respecto este sistema.
Cada vez que es fijado el entorno donde se va a utilizar la cámara requerimos de
su calibración. Una cámara normalmente se aproxima por el modelo pin—hole, esto es, por
medio del reflejo luminoso de un objeto los haces de luz entran por un orificio y a su vez,
éstos se reflejan en un plano denominado imagen. Para fines de modelación matemático,
este modelo es equivalente al proyectivo, donde el plano de la imagen está colocado entre
el foco y el objeto.
A lo largo del estudio, asumiremos que el plano de la imagen es ortogonal al eje
óptico de la cámara y por ello nos interesa conocer la posición de ésta con respecto al
escenario. Esta información queda resumida en una matriz de orientación R y un vector
de traslación T
, que se denominan parámetros extrínsecos. Sin embargo, la proyección
no consiste únicamente en desplazamientos y rotaciones, pues la imagen puede sufrir
deformaciones (por efecto óptico, diseño de la cámara CCD) que pueden ser vistas como
elongaciones o reducciones en alguno de los ejes, como sesgo de la imagen o corrimiento
del punto principal. Estos últimos suelen denominarse parámetros intrínsecos.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-3
Entonces, calibrar la cámara consiste en encontrar los parámetros que influyen en
la transformación entre puntos 3D del entorno específico de la aplicación y puntos 2D de
la imagen, esto es, los parámetros intrínsecos y extrínsecos. En realidad, los sensores CCD
son muy sensibles a cambios ambientales:
Temperatura.
Humedad.
Iluminación.
y aunque los cambios no sean drásticos, pueden ser significativos en muchas
aplicaciones. En las cámaras más especializadas, las modificaciones de los valores
intrínsecos son compensadas vía programación o electrónica, aunque en muchas
ocasiones la excelente calidad de sus componentes evitan dichas distorsiones.
No obstante, la gran diversidad de cámaras fotográficas digitales y webcams que
existen comercialmente, evitan la necesidad de adquirir costosos equipos especializados,
utilizando las primeras para múltiples aplicaciones. No obstante, estas cámaras no fueron
diseñadas para estas actividades, ni se conocen sus parámetros, además de que son
susceptibles a variaciones, por lo que es muy importante la calibración que se realice en
ellas.
Lo primero que se debe obtener es un cuerpo geométrico preciso con dimensiones
conocidas, para usarlo como patrón de calibración, que corrientemente son cubos o
pirámides con base cuadrangular o planos patrón.
Las dimensiones de los objetos de calibración deben ser muy precisas y regulares.
Además, los ángulos rectos deben ser exactos, porque de ellos dependen la medición de
las distorsiones y rotaciones. Es difícil conseguir objetos de características tan estrictas,
porque implican una fabricación especial y una supervisión muy exigente de calidad.
Por supuesto, para que tales restricciones sean útiles, es necesario que la
calibración se realice bajo condiciones controladas. Antes de entrar de lleno con el tema
de calibración de la cámara se consideran los parámetros que intervienen en la formación
de una imagen y también un aspecto muy importante que es la distorsión de la lente.
En capítulos posteriores se expondrá la necesidad de conocer la geometría de la
cámara, a veces llamada el modelo de la cámara y se describirá algún método o proceso de
calibración de un AVS, enfocando principalmente en las técnicas fotogramétricas que
permiten la determinación homóloga y muy exacta de los parámetros requeridos.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-4
1.1. Un poco de historia.
Todos sabemos que una cámara fotográfica origina imágenes planas procedentes
de un mundo físico percibido como tridimensional. Antes de la invención de la fotografía
existía un gran interés en interpretar este mundo 3D en imágenes planas 2D, como es el
caso de la pintura.
Los griegos llegaron a conocer muchas de las propiedades geométricas de la
proyección. Como es el caso de Thales de Mileto (640 a.C. – 548? a.C.) que con sus
conocimientos sobre el campo de la Geometría consiguió predecir un eclipse solar y,
además, medir la altura de una pirámide a partir de su sombra proyectada sobre el suelo.
No obstante, los griegos se engañaban al pensar que la visión era activa, es decir, que los
ojos emitían partículas al mundo 3D en vez de considerar a los ojos como dispositivos
pasivos receptores de luz.
Cabe mencionar dentro de los matemáticos griegos a Euclides, quien en el siglo
IV a.C. ideó la geometría plana. Para Euclides la geometría era concebida como un
conjunto de líneas y puntos, independientes de un sistema de coordenadas.
Posteriormente, los pintores italianos del Renacimiento fueron los primeros en
concebir la formación de las imágenes y, además, los primeros en estudiar la Geometría
para reproducir correctamente los efectos de la perspectiva en las imágenes del mundo
que observaban. La pintura anterior a esta época era plana, es decir, no mostraba la
diferencia de profundidad en los objetos representados, como se muestra en la Figura 1.1
izq.
La perspectiva fue inventada por Filippo Brunelleschi (1377-1446) alrededor de
1413. Brunelleschi fue un gran arquitecto del Renacimiento Temprano. Sus principales
obras se encuentran en Florencia, como por ejemplo la Catedral Santa Maria de Fiore,
cuya cúpula es la más grande del mundo con más de 50 metros de diámetro.
Artistas como Piero della Francesca (1415-1492), Leonardo da Vinci (1452- 1519)
y Albrecht Dürer (1471-1528), los dos primeros italianos y el tercero alemán que viajó a
Italia para llevar el Renacimiento a Alemania, realizaron serios estudios geométricos que
han venido empleándose hasta día de hoy. A partir de esta época, se empieza a considerar
el punto de fuga, en el que líneas paralelas que se alejan del observador convergen en un
punto.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-5
Figura 1.1: Pintura pre-renacentista y renacentista. Izquierda: Jesús entrando a Jerusalén. Derecha: Iglesia del Espíritu Santo, Bruneleschi.
A modo de ejemplo, la Figura 1.1 muestra dos pinturas: una pre-renacentista y
otra renacentista. En la primera se puede observar la polidimensionalidad, en la cual los
puntos de vista de los objetos representados no son únicos. Asimismo, el tamaño de los
objetos está relacionado más con la importancia dentro de la obra que con la ubicación
espacial. En la segunda pintura se aprecia claramente la profundidad producida por las
líneas que convergen en un punto de fuga.
De esta manera se le hace creer al observador que está frente a una escena
tridimensional.
En el siglo XVI se desarrolla la teoría de la perspectiva. Se introducen las
Máquinas de Perspectiva (para obtener más información sobre este invento acuda a la
dirección http://www2.latech.edu/~wtwillou/A301_syl.htm) para ayudar a los pintores a
reproducir exactamente la perspectiva sin tener que recurrir a engorrosos cálculos
matemáticos.
Una de estas máquinas es representada en la Figura 1.2 por Albrecht Dürer. En
esta figura, el ojo del dibujante es mantenido fijo y un dispositivo es utilizado para
materializar la intersección de cada rayo visual con el plano de la imagen.
Las máquinas de perspectiva pueden ser consideradas como el primer intento de
una cámara. Ellas utilizan un plano R (plano de la imagen, ver rejilla en Figura 1.2) donde
se forma la imagen y un punto C (centro óptico, ver ojo del dibujante en Figura 1.2) que
no pertenece a R en el que se intersectan todos los rayos que forman la imagen.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-6
Figura 1.2: Varias imágenes de la Máquina de Perspectiva de Albrecht Dürer.
En el año 1545, el astrónomo Germina Frisius publica un estudio donde presenta
la cámara oscura. En la Figura 1.3 se representa un esquema de la cámara oscura.
Mediante un orificio muy pequeño C en una pared se deja entrar la luz externa que es
proyectada en una pared interior de la
cámara oscura. El resultado es una imagen
invertida del mundo exterior. La cámara
oscura sirvió a algunos pintores como a
Vermeer (1632-1675) para representar de la
manera más precisa posible la realidad.
A partir de la teoría del plano
cartesiano introducida por el matemático
Descartes (1596-1650) se empieza a concebir la geometría desde un punto de vista
algebraico. Así, las entidades geométricas son descritas como coordenadas y entidades
algebraicas.
En el año 1826 el químico francés Niepce (1765-1833) llevó a cabo la primera
fotografía, colocando una superficie fotosensible dentro de una cámara oscura para fijar la
imagen. Posteriormente, en 1838 el químico francés Daguerre (1787-1851) hizo el primer
proceso fotográfico práctico. Daguerre utilizó una placa fotográfica que era revelada con
vapor de mercurio y fijada con trisulfato de sodio.
En la actualidad se utilizan cámaras reflex y CCD que emplean lentes para
incrementar la potencia de la luz y mejorar el enfoque de la imagen. A pesar de la gran
mejora en cuanto a tecnologías empleadas para la obtención de imágenes en el día de
hoy, es inevitable la aplicación de técnicas de calibración, pues es un inconveniente
incrustado a la obtención de imágenes.
Figura 1.3: Cámara oscura.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-7
1.2. Terminología de la calibración.
1.2.1. Calibración de la cámara.
La calibración de la cámara, en terminología fotogramétrica, se refiere a la
determinación de los parámetros de orientación y posición individuales y que son
intrínsecos a la cámara. Al tratar con imágenes digitales, es aconsejable analizar el sistema
de adquisición de imágenes por completo, incluso la cámara, las unidades de transmisión y
las posibles tarjetas digitalizadoras. Los parámetros a encontrar mediante una técnica de
calibración cualquiera dependen del tipo de cámara utilizado. Una vez el sistema ha sido
calibrado, después de haber orientado la cámara cuidadosamente, pueden realizarse las
medidas.
1.2.2. Establecimiento de la cámara.
El establecimiento de la cámara usualmente incluye la fijación de los parámetros
de orientación exterior para definir la posición del origen de la cámara y del eje de la
cámara en el sistema de coordenadas del mundo. Esto requiere la determinación de tres
rotaciones y tres parámetros de traslación, es decir, un total de seis parámetros para cada
cámara.
1.2.3. Sistema de calibración.
En muchas aplicaciones, se fijan setup’s de varios sensores para la realización de la
medida. Como ejemplos tenemos los sistemas de medida online en donde, por ejemplo,
varias cámaras, indicadores del láser, proyectores de patrón, fases rotatorias,… pueden ser
empleados simultáneamente. Si el sistema por completo se aplica como una herramienta
de medición integrada, entonces la calibración simultánea y el establecimiento de todos
los componentes involucrados debe definir la calibración del sistema de forma global.
Figura 1.4: Esquema general de las partes que componen un sistema de adquisición.
Aumento de la resolución
de los elementos
Sistema mecánico de
ajuste piezoeléctrico
Ópticas Sensores Almacenamiento de la imagen
Transmisión de señal
Sincronización interna
Sincronización externa
Sincronización a nivel de píxel
Transmisión digital
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-8
1.3. Factores que influyen en la formación de una imagen.
Todo componente que forma parte de un Sistema de Visión Artificial “deja
huella” en la imagen de un objeto y, por lo tanto, en las medidas resultantes obtenidas del
procesamiento de la imagen.
A continuación, presentamos una breve descripción de los elementos que son más
relevantes.
1.3.1. Efectos internos.
El sistema óptico. Prácticamente todas lentes presentan distorsión con simetría
radial lo cual puede provocar variaciones considerables en la magnitud medida. Por un
lado, las lentes destinadas a sistemas ópticos de medición están casi libres de distorsión.
Por otro lado, lentes de grandes ángulos, sobre todo, frecuentemente manifiestan
distorsión de varios 100 µm en los bordes de la imagen.
Las lentes de ojo de pez tienen su propia categoría; éstas, frecuentemente tienen
una distorsión extrema en los bordes. No obstante, a menudo se hace inevitable la
aparición de errores durante la fabricación de la lente, ocasionando aberraciones
manifestadas por los componentes en forma de distorsión simétrica radial y de distorsión
tangencial.
Los elementos ópticos adicionales en el camino recorrido por la luz, tales como un
filtro de barrera de IR o un filtro preservador del sensor, también pueden alterar la
imagen y deben ser considerados en la calibración de un sistema.
Los elementos de mejora de la resolución. Tanto el tamaño de la imagen como la
resolución de los sensores CCD están limitados por sus características y naturaleza.
Actualmente, en mercado se venden cámaras digitales con más de 4.000 × 4.000 elementos
del sensor. Con respecto a la estabilidad del bastidor de la cámara y la calidad de las
lentes, algunos de ellos se diseñan principalmente para mediciones, por ejemplo, la
cámara Rollei Q16 MetricCamera. Otros, usan las técnicas diseñadas para lograr una
resolución más alta cambiando los sensores comerciales en paralelo al plano de la imagen.
Básicamente, hay dos técnicas diferentes: microscanning y macroscanning.
En el caso de “el microscanning”, los sensores CCD del interline transfer son
reemplazados de modo que los elementos fotosensibles del sensor CCD caigan dentro de
los huecos entre los elementos de este tipo de sistema, dónde adquieren la información
adicional de la imagen.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-9
Alternativamente, en “el macroscanning”, los sensores pueden cambiarse por un
múltiplo de su propio tamaño, produciendo un formato de la imagen más grande. Las
imágenes individuales se orientan entonces con respecto a la imagen global por un
sistema mecánico muy preciso u opto-numéricamente.
Todos los elementos que logran mejorar la resolución afectan a la exactitud global
del sistema de adquisición de imágenes. En los sistemas de escaneado de imágenes
individuales con correlación plenamente mecánica, la exactitud del mecanismo tiene un
efecto directo en la geometría de la imagen.
El sensor y el sistema de transferencia de señales. Debido a su diseño, los
sensores Charge-Coupled Device (CCD) normalmente ofrecen una alta exactitud
geométrica. Al analizar un sistema de adquisición de imágenes, su sensor debe evaluarse
junto con la tarjeta digitalizadora empleada.
Los errores geométricos de diferente magnitud pueden originarse durante la
conversión de A/D de la señal de video, dependiendo del tipo de sincronización, sobre
todo si la transferencia del píxel desde la cámara a su almacenamiento en la imagen no
está garantizada que se realice de forma síncrona.
Con cualquier sincronización, se hace necesario responder de un factor de
afinidad para más combinaciones del sensor de almacenamiento; en otros términos, los
píxeles pueden tener una extensión diferente en la dirección de líneas y columnas.
1.3.2. Efectos externos.
Si se usan varias cámaras online en un sistema de visión, tanto los parámetros de
ubicación interior como los de ubicación exterior pueden variar; el primero, por ejemplo,
puede ser causado por un reenfocando o por una variación de temperatura, y el último
por efectos mecánicos o fluctuaciones de temperatura.
El rango de efectos resultantes de los errores de la escala durante la medida de un
objeto da lugar a la determinación de un modelo de deformación compleja. Esto es por lo
que todos los sistemas de este tipo deben hacer posible la verificación o predeterminación
de los parámetros convenientes.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-10
1.4. Parámetros que influyen en la calibración de una cámara.
La idea principal de calibrar una cámara es escribir las ecuaciones de proyección
uniendo las coordenadas conocidas de un conjunto de puntos en 3D con sus
correspondientes proyecciones, y resolverlas para los parámetros de la cámara. En una o
más imágenes se toma un patrón de calibración, que es un objeto en 3D de geometría
conocida y posiblemente ubicado en una posición también conocida en el espacio, y se
generan características de imagen que se pueden ubicar con precisión [Trucco y Verri,
1998]. La calibración implica el diseño de un modelo matemático para estimar los
parámetros extrínsecos e intrínsecos de la cámara dadas imágenes de un patrón de
calibración, y su precisión depende de cuán eficazmente ubiquemos los puntos en el
espacio y los puntos de referencia de la cámara. Los parámetros de calibración de una
cámara se dividen en dos tipos: Parámetros Intrínsecos y Parámetros Extrínsecos.
1.4.1. Parámetros intrínsecos.
Los parámetros intrínsecos son aquellos que definen las propiedades inherentes
de la cámara y de la óptica, es decir, aquellos involucrados en la transformación de puntos
3D en el sistema de referencia de la cámara a puntos 2D del plano imagen. Estos
caracterizan las propiedades ópticas, geométricas y digitales de la visión de la cámara que
son necesarias para unir las coordenadas en píxeles de un punto imagen con las
coordenadas correspondientes en el marco de la cámara. Estos parámetros también se
muestran en la Figura 1.5. Suelen considerarse los siete siguientes:
Distancia focal: f. Es la longitud de la lente al plano imagen.
Desplazamiento del centro de la imagen: cx y cy. Centro de imagen o
punto principal que intersecta el eje óptico de la cámara y el plano imagen.
Tamaño efectivo del píxel en dirección horizontal y vertical sx, sy (en
milímetros), que dan el aspecto de una escena tomada según el
escalamiento y los elementos receptores de la cámara. También es
conocida como la razón de aspecto α, que es igual al tamaño del píxel en
dirección horizontal entre el tamaño del píxel en dirección vertical.
Coeficientes de distorsión: k1 y k2. Se presenta debido a que por la
naturaleza de la lente o del proceso de adquisición de una imagen al captar
objetos formados por líneas rectas, estas aparecen en la imagen como
líneas curvas, es decir, representa el desplazamiento radial dependiendo de
la calidad del lente de la cámara usado y la distancia del punto en el
espacio al centro de imagen. La distorsión es un fenómeno no deseable y
más aún en modelos geométricos.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-11
Todas estas definiciones se refieren al centro óptico del sistema de lentes. El
origen de la cámara es justamente este punto (el eje óptico es el eje que, siendo
perpendicular el plano imagen, pasa por el centro óptico). El punto principal es de hecho,
pero no en todos los casos, el píxel central de la imagen.
1.4.2. Parámetros extrínsecos.
Estos identifican la orientación y posición de la cámara con respecto a las
coordenadas mundiales. De hecho, hacen referencia a seis parámetros que definen la
posición y orientación de la cámara con respecto al sistema de referencia absoluto:
Vector de Traslación: Tx, Ty, Tz. Este vector está definido en el espacio
describiendo las posiciones relativas de los orígenes de los dos marcos de
referencia, el de la cámara y las mundiales.
Matriz de Rotación R : ángulos , , . Cuyo efecto es traer los ejes
correspondientes de los dos marcos uno sobre el otro, con la condición de
ser una matriz ortogonal IRRRRTT .
Los parámetros que definen la traslación, describen la posición de la cámara
respecto a un sistema de coordenadas absoluto que denominaremos Sistema de
Coordenadas del Mundo. Los parámetros de la rotación, análogamente, describen la
orientación adquirida por la cámara respecto al sistema del mundo. Nosotros Se pretende
enfatizar diciendo que sólo existen tres
parámetros de rotación que sean
independientes y no nueve parámetros
como podríamos pensar.
En la Figura 1.5 se muestran los
parámetros extrínsecos de una cámara
en un modelo en proyección perspectiva
en donde se identifican a ),,( www ZYX
como los ejes en coordenadas del
sistema mundial, ),,( ccc zyx como los
ejes en coordenadas de la cámara y
),( yx las coordenadas en el plano de la
imagen. Se aprecia que w0 denota la transformación de (R,T
) de los parámetros
extrínsecos para alinear los ejes del sistema coordenadas mundiales y el de la cámara, es
decir, trasladar el origen de las coordenadas mundiales con el origen de las coordenadas
de la cámara y la rotación para alinear los respectivos ejes.
Figura 1.5: Modelo de cámara en proyección perspectiva.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-12
1.5. Distorsión de la lente.
Como resultado de imperfecciones en el diseño, pulido y ensamblado de la
estructura de las lentes que conforman un sistema óptico, la relación lineal de proyección
en perspectiva no se cumple causando un deterioro en la calidad geométrica de la imagen
y, por lo tanto, en la capacidad para medir posiciones de los objetos en ella. Estas
imperfecciones implican que la proyección observada en el plano imagen difiere de la
ideal. En las distorsiones producidas por una lente cabe considerar dos componentes: una
radial y otra tangencial.
1.5.1. Distorsión radial.
Esta deformación es producida por el radio de curvatura de la lente. Este tipo de
distorsión de la lente hace que los puntos de las imágenes se desplacen en forma radial a
partir del eje óptico. Así, un desplazamiento radial negativo indica que los puntos de la
imagen adoptan una distorsión radial en “barril”. Esto es, las líneas rectas son vistas como
líneas curvas. Por otro lado, un desplazamiento radial positivo indica que los puntos
adoptan una distorsión tipo “cojín” alargándose en los extremos de la imagen. La
distorsión no es lineal y varía en función de la distancia al centro de la imagen. Su
principal causa es un pulido defectuoso de la lente (ver Figura 1.6 y 1.7).
Figura 1.6: Distorsión en una reja rectangular. Izquierda: reja sin distorsión. Centro: distorsión tipo “barril”. Derecha: la distorsión tipo “cojín”.
Considerando la distorsión radial de las lentes y las coordenadas en el plano se
tiene:
uxd XDX
uyd YDY
donde ),( dd YX son las coordenadas reales de la imagen, esto es distorsionadas,
y ),( uu YX son las coordenadas del punto corregido.
1.5.1
1.5.2
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-13
Los términos que suponen la distorsión vienen definidos de la siguiente forma:
)( 4
2
2
1 rkrkXD dx
)( 4
2
2
1 rkrkYD dy
22
dd YXr
donde r es la distancia radial observada y los términos ki son los distintos
coeficientes de distorsión y se requiere una serie infinita de términos. Sin embargo, de
acuerdo a la experiencia con un único coeficiente se obtienen buenos resultados:
)(
)(
22
22
2
2
22
dddy
dddxYXr
dy
dx
YXYkD
YXXkD
rkYD
rkXD
dd
Por lo tanto, al coeficiente k es llamado factor de distorsión radial, el cuarto
parámetro intrínseco de la cámara. No obstante, es una práctica común emplear dos
coeficientes:
))()((
))()((
222
2
22
1
222
2
22
1
dddddy
dddddx
YXkYXkYkD
YXkYXkXkD
Distorsión del barril - 0.6% en granangular. longitud focal: 38 milímetros Distorsión del barril - 0.1% en Telephoto. longitud focal: 380 milímetros
Figura 1.7: Geometrías de distorsión radial.
1.5.2. Distorsión tangencial.
Este tipo de distorsión se introduce cuando el sistema óptico no es estrictamente
colineal. Este tipo de imperfecciones aparecen debidas al diseño de la lente y a errores en
el ensamblaje de la cámara. Su efecto sobre la imagen suele ser mucho menor que la
distorsión radial por lo que a veces este efecto no suele ser considerado.
1.5.3
1.5.4
1.5.5
1.5.6
1.5.7
1.5.8
1.5.9
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-14
1.6. Procedimiento general del método de calibración.
La calibración de la cámara es un procedimiento necesario en visión por
computador para conseguir extraer la información dimensional y geométrica de una
imagen 2D. Como ya sabemos, la calibración es el método mediante el cual se estiman los
parámetros intrínsecos y extrínsecos de la cámara, así como los parámetros del
manipulador. También es posible estimar los parámetros del modelo de distorsión del
lente de la cámara. Existen dos métodos que son extensamente empleados para la
calibración: auto-calibración (self-calibration) y calibración fotogramétrica.
La auto-calibración. Las técnicas en esta categoría no usan ningún patrón de calibración.
Simplemente moviendo una cámara en una escena estática, la rigidez de la
escena da lugar, en general, a dos restricciones en los parámetros intrínsecos
de las cámaras para un determinado desplazamiento de la cámara usando tan
sólo la información procedente de la imagen. Por consiguiente, si las
imágenes son tomadas por la misma cámara con los parámetros intrínsecos
fijos, las correspondencias entre tres imágenes son suficientes para recuperar
tanto los parámetros intrínsecos como los extrínsecos que nos permiten
reconstruir la estructura 3D. Mientras que este método de calibración es muy
flexible, no es lo suficientemente maduro todavía pues existen muchos
parámetros por estimar, y no siempre es posible obtener unos resultados
fiables.
Calibración fotogramétrica. La calibración de la cámara, que puede hacerse eficazmente,
se ha realizado observando un patrón de calibración cuya la geometría en el
espacio 3D es conocida con alta precisión. Dicho patrón consiste
habitualmente en dos o tres planos ortogonales entre sí. Aunque, a veces,
también se emplea un plano sometido a una traslación conocida (métodos
estudiados hasta ahora). Estos procedimientos requieren un aparato de la
calibración caro, y una costosa preparación del equipo.
En la auto-calibración se toman varias imágenes de una misma escena y mediante
la correspondencia entre puntos de distintas imágenes se puede encontrar los mejores
parámetros del modelo que puedan otorgar esta correspondencia. La reconstrucción 3D
realizada con el modelo encontrado está afectada, sin embargo, por un factor de escala ya
que en este método no se puede saber cual es el tamaño real de los objetos captados por
las cámaras (un objeto pequeño cerca del centro óptico puede tener la misma imagen que
el mismo objeto agrandado más cerca del plano de imagen).
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-15
Si lo que se busca es una reconstrucción 3D precisa, como es el caso de muchas de
las aplicaciones de la robótica, es recomendable utilizar la calibración fotogramétrica. Esta
calibración utiliza un objeto 3D de referencia cuya geometría es conocida a la perfección.
N puntos de interés son escogidos del objeto de referencia, obteniendo así las
coordenadas Mi = [Xi Yi Zi 1]T, para i = 1,…, N. El objeto es a continuación captado por la
cámara y sus puntos de interés son vistos como puntos 2D con coordenadas wi = [ui vi 1]T.
Teniendo un modelo de la proyección es posible obtener una estimación teórica de los
puntos 3D. De esta manera se calculan los puntos: wi = f(Mi) donde f es la función de
proyección que involucra los parámetros de la cámara, de la lente y/o del manipulador
según sea el caso. Formalmente f es una función no lineal que depende de un vector de
parámetros µ que agrupa los parámetros del modelo. Para el caso de una proyección sin
distorsión se puede usar como función de proyección f.
El problema de calibración se transforma en un problema de optimización
mediante el cual una función objetivo que mide el error entre la proyección estimada iw y
la proyección medida iw debe ser minimizada. Se deben encontrar los parámetros de la
función de proyección f de tal manera que se minimice la siguiente función objetivo:
minˆ1
)(1
N
i
ii wwN
J
Además de estas técnicas, existen otras tales como la eliminación de los puntos
que coincidan en direcciones ortogonales y como técnicas basadas en rotaciones puras o
traslaciones puras.
Como ya se mencionó anteriormente, la calibración es un método estándar para
obtener los parámetros intrínsecos y extrínsecos de la cámara cuyo fin es el de obtener
imágenes de una estructura 3D conocida y buscar el conjunto de parámetros que mejor
proyectan los puntos observados entre las coordenadas del mundo tridimensional y las
coordenadas del píxel correspondiente.
Aunque existe una gran variedad de métodos y técnicas para la calibración de una
cámara, el procedimiento fundamental coincide para cada técnica y método diseñado.
Los pasos fundamentales de un proceso de calibración son los tres siguientes:
1. Determinar de forma precisa un cierto número de puntos 3D.
2. Definir sus correspondientes proyecciones en la imagen 2D.
3. Obtener los parámetros que mejor se adecuan a la correspondencia entre
unos y otros.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-16
Para la realización de los dos primeros pasos se requiere conocer un conjunto de
puntos tridimensionales y sus respectivas proyecciones en la imagen. Estos son
denominados comúnmente puntos de calibración. Su disposición dependen del tipo de
método empleado para la calibración pues pueden, por ejemplo, ser coplanarios o no.
Para realizar el proceso de calibración mediante puntos coplanarios, comúnmente,
uno de los objetos más simples es un objeto o patrón de calibración plano, como el que
se muestra en la Figura 1.8. El plano de calibración
consiste de 49 marcas circulares sobre un fondo
blanco situadas dentro de un margen negro. La
distancia entre los centros de las marcas es de 1.25
cm y la distancia entre los bordes del margen es de
10 cm. Para facilitar el posicionamiento de los
puntos, y siempre que sea posible, el patrón de
calibración se coloca de forma paralela al plano XY
del sistema del mundo, lo cual implica que todos
ellos tengan la misma cota.
Para el caso de un conjunto de puntos no coplanarios el sistema es análogo
exceptuando porque el sistema emplea ahora varias plantillas en vez de una en diferentes
planos.
Figura 1.9: Plantilla de puntos no coplanarios. Izq: Dos planos. Der: Tres planos.
Figura 1.8: Plantilla de puntos coplanarios.
Capítulo 1 Introducción
Jaime Martínez Verdú MTIT: Visión por Computador 1-17
Las características que, según el criterio descrito por Javier González Jiménez en su
libro Visión por Computador, debe verificar una técnica de calibración son, básicamente, las
que vienen expuestas a continuación:
Autonomía: Cualquier procedimiento de calibración diseñado no debería
necesitar de la intervención de un operador, es decir, una buena
técnica debe prestarse a ser traducida a un algoritmo de forma que
el proceso de calibración pudiera automatizarse. Este
inconveniente se contempla, por ejemplo, cuando es necesario
proporcionar estimaciones iniciales o seleccionar ciertos
parámetros de manera mensual para la determinación de los cuales
es preciso la intervención de un operador.
Precisión: Gran cantidad de aplicaciones requieren una precisión enorme.
Estas aplicaciones, tales como la inspección de tolerancias
mecánicas, ensamblado o calibrado de un brazo robot,… necesitan
de una técnica de calibración capaz de poder alcanzar tales
requisitos.
Eficiencia: Al decir eficiencia nos referimos, principalmente, a eficiencia en
cuanto a carga computacional o número de operaciones realizadas
por el ordenador. Por tanto, el método de calibración al completo
no debería, en ninguno de los caso, incluir procedimientos de
coste computacional elevados.
Versatilidad: Finalmente, podríamos exigir a nuestro sistema de calibración que
su funcionamiento o manera de operar fuera uniforme y
autónomo en un amplio rango de funcionamiento en lo referente
a la aplicación, a las ópticas empleadas, a los niveles de precisión,…
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-1
PLANTEAMIENTO MATEMÁTICO GEOMETRÍA DE LA FORMACIÓN
DE IMÁGENES
Para poder afrontar de una forma segura y clara la teoría orientada a la calibración
de cámaras necesitamos un respaldo matemático que viene detallado en el presente
capítulo 2. Puesto que la calibración de una cámara es un proceso donde debemos tener
conocimientos de la posición y orientación de la misma, es necesario que conozcamos,
antes de empezar a analizar las técnicas y tecnologías existentes, las transformaciones
básicas que pueden realizarse en el espacio ya sean traslaciones, rotaciones, escalados,…
Gracias a los conocimientos adquiridos a lo largo de la asignatura de Control de
Robots en 4º de Ingeniería Industrial reforzadas con los conceptos estudiados en Visión
por Computadora del MTIT, éstas bases necesarias para poder estudiar este texto ya son
conocidas por el estudiante. Efectivamente, en robótica las transformaciones en
coordenadas homogéneas son muy empleadas para el análisis de la estructura y
funcionamiento de un robot.
A continuación, se aborda el problema de la proyección de los objetos de la escena
en el plano imagen donde se presentan varias transformaciones importantes empleadas
en el estudio de la imagen y desarrollo de un modelo de cámara. En este estudio se
considera que la proyección se realiza mediante una transformación perspectiva.
CAPÍTULO 2
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-2
2.1. Algunas transformaciones básicas.
En este subapartado se presenta una representación unificada para problemas
como la rotación de la imagen, el cambio de escala y la traslación de objetos en el espacio.
Todas las transformaciones se expresan en un sistema cartesiano tridimensional en el cual
un punto posee unas coordenadas denotadas con letras mayúsculas [ ]TZYX ,, . En los
casos que impliquen imágenes bidimensionales, las coordenadas de un píxel se
representaran con letras minúsculas [ ]Tyx, .
2.1.1. Coordenadas homogéneas.
Las coordenadas homogéneas de un punto con coordenadas cartesianas [ ]TZYX ,,
se definen como [ ]TkZkYkXk ,,, ⋅⋅⋅ , donde k es una constante arbitraria distinta de
cero. En el caso de que 0=k las coordenadas determinan un vector en el infinito y, por
tanto, no definen una dirección.
La conversión de coordenadas homogéneas a coordenadas cartesianas se realiza
fácilmente dividiendo las tres primeras coordenadas homogéneas por la cuarta. Un punto
del sistema de coordenadas cartesiano real se expresa en forma vectorial como:
=Z
Y
X
w
mientras que su homogénea viene dada por:
=
k
kZ
kY
kX
wh
2.1.2. Traslación.
Las coordenadas de un punto cualquiera [ ]TZYX 222 ,, tras haber sufrido una
traslación de [ ]TZYX 000 ,, vienen dadas por:
012
012
012
ZZZ
YYY
XXX
+=+=+=
donde [ ]TZYX 111 ,, son las coordenadas del punto antes de realizar la traslación.
2.1.1
2.1.2
2.1.3
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-3
Este sistema de ecuaciones puede expresarse de forma matricial como:
⋅
=
1
1
1
0
0
0
2
2
2
100
010
001
Z
Y
X
Z
Y
X
Z
Y
X
Para simplificar y facilitar la notación necesaria en la representación de varias
transformaciones (y por otros motivos que no serán analizados en este trabajo) se emplean
matrices cuadradas, quedando de esta forma la expresión anterior:
⋅=
⇒
⋅
=
1111000
100
010
001
1
1
1
1
2
2
2
1
1
1
0
0
0
2
2
2
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
Z
Y
X
T
donde T es la matriz de traslación y [ ]TZYX 000 ,, es el vector de traslación.
2.1.3. Escalado.
Las coordenadas de un punto que ha sido escalado a raíz de los factores Sx, Sy y Sz
en los ejes ZYX ,, respectivamente vienen dadas por:
z
y
x
SZZ
SYY
SXX
⋅=⋅=⋅=
12
12
12
Escribiendo en forma matricial donde S es la matriz de escalado:
⋅=
⋅
=
111000
000
000
000
1
1
1
1
1
1
1
2
2
2
Z
Y
X
SZ
Y
X
Sz
Sy
Sx
Z
Y
X
Si se pretende realizar un escalado uniforme en el que los tres ejes se escalan por
el mismo factor, es decir zyx SSS == , se puede utilizar la matriz de transformación:
S1000
0100
0010
0001
donde S es el factor de escalado elegido.
2.1.4
2.1.6
2.1.5
2.1.7
2.1.8
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-4
2.1.4. Rotación.
Se considera un vector cuyo extremo viene dado por las coordenadas [ ]TZYX 111 ,,
como muestra la Figura 2.1.
Figura 2.1: Rotación alrededor del eje Z.
donde R indica la longitud de dicho vector y φ el ángulo del vector con el eje X:
φφ
RsenY
RX
==
1
1 cos
Supongamos que el vector se rota un ángulo θ alrededor del eje Z en sentido
anti-horario. Las nuevas coordenadas [ ]TZYX 222 ,, del punto después de la rotación se
pueden expresar en función de sus coordenadas iniciales y del ángulo de rotación:
( )( ) φθφθφθ
φθφθφθsenRRsenRsenY
senRsenRRX
coscos
coscoscos
2
2
+=+=−=+=
Sustituyendo las dos primeras ecuaciones:
θθθθ
cos
cos
112
112
YsenXY
senYXX
+=−=
En forma matricial:
=
−
=
−
111000
0100
00cos
00cos
1
1
1
1
1
1
1
2
2
2
Z
Y
X
RZ
Y
X
sen
sen
Z
Y
X
Z
θθθθθ
donde ZR θ− es la matriz de rotación. El superíndice indica el eje de rotación y el
subíndice el ángulo en sentido de las agujas del reloj.
2.1.9
2.1.10
2.1.11
2.1.12
[ ]TZYX 111 ,,
[ ]TZYX 222 ,,
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-5
Otra forma de obtener la matriz de rotación es considerando dos sistemas de
coordenadas X, Y, Z y U, V, W (vectores unitarios) como muestra la Figura 2.2. Rotando
el sistema de coordenadas UVW alrededor del eje Z con un ángulo θ, se observa que el eje
W permanece fijo con el eje Z sin embargo, los ejes U y V han cambiado. Las nuevas
coordenadas del sistema U’, V’, W’ pueden escribirse en función del sistema X, Y, Z.
Figura 2.2: Sistemas de coordenadas XYZ y UVW. Figura 2.3: Sistema U’V’W’.
El vector U’ tiene dos componentes, una a lo largo del eje X y otra a lo largo del
eje Y, por tanto, el nuevo vector U’ viene dado por [ ]T0),sen(),cos( θθ . Del mismo modo
se obtiene las componentes del vector V’ [ ]T0),cos(),sen( θθ− . Como el vector W no ha
cambiado, permanece con las coordenadas [ ]T1,0,0 . La matriz de rotación se puede
obtener situando las coordenadas de U’, V’ y W’ en la primera, segunda y tercera
columna y la cuarta columna estará compuesta por [ ]T1,0,0,0 .
Luego,
−=
−
=−
1000
0100
00cos
00cos
1000
0100
00cos
00cos
θθθθ
θθθθ
θθsen
sen
Rsen
sen
R ZZ
Realizando el mismo procedimiento se obtiene la transformación de un punto
sobre el eje Y con un ángulo β (sentido horario):
−
=
−
=−
1000
0cos0
0010
00cos
1000
0cos0
0010
00cos
ββ
ββ
ββ
ββ
ββsen
sen
Rsen
sen
R YY
2.1.13
2.1.14
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-6
Finalmente, la rotación de un punto con un ángulo α alrededor de X se realiza
empleando la transformación:
−=
−=−
1000
0cos0
0cos0
0001
1000
0cos0
0cos0
0001
αααα
αααα
ααsen
senR
sen
senR XX
Figura 2.4: Rotación de un punto sobre cada uno de los ejes de coordenadas.
2.1.5. Concatenación y transformación inversa.
La aplicación de varias transformaciones se puede representar mediante una única
matriz de transformación que contenga la traslación, rotación y escalado.
Por ejemplo, la matriz de transformación de un punto que ha sufrido una
traslación, rotación y escalado viene dada por:
( ) AVVTSR =⋅⋅θ
donde A es la matriz de transformación. El orden en que se produce las sucesivas
transformaciones es importante ya que la multiplicación de matrices no es una operación
conmutativa.
La siguiente expresión representa la estructura de una transformación resultado
de la concatenación de una matriz de rotación R de dimensión 3 x 3, una matriz de
traslaciónTr
de 3 x 1 y una matriz S de dimensión 1 x 1 que realiza el escalado uniforme
del vector al que se aplica A.
=
S
TRA
0
2.1.15
2.1.16
2.1.17
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-7
Para poder realizar la transformación inversa es importante obtener la matriz
inversa de una matriz compuesta a partir de las inversas de las transformaciones
elementales de rotación, traslación y escalado. Por tanto, para la transformación A se
obtiene:
1111 −−−− = θRSTA
donde:
=−
S
S
000
0100
0010
0001
1
−−−
=−
1000
100
010
001
0
0
0
1
Z
Y
X
T
−−−−−
=−
1000
0100
00)cos()(
00)()cos(
1θθθθ
θsen
sen
R
2.1.18
2.1.18A
2.1.18B
2.1.18C
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-8
2.2. Proyecciones.
2.2.1. Proyección de perspectiva.
También conocida como proyección central, es la proyección de un punto del
espacio tridimensional en una superficie bidimensional por medio de líneas rectas que
pasan a través de un punto, llamado centro óptico o de proyección. La proyección de
perspectiva modela la formación de imágenes en una cámara pin-hole. Este modelo de
proyección no distorsiona los objetos en la proyección, sino que éstos se proyectan
invertidos y escalados de acuerdo con un factor dado por la distancia focal f.
En la Figura 2.5 se muestra un modelo de formación de imágenes. Definimos el
sistema de coordenadas de la cámara ),,( zyx de forma que el plano de la imagen coincida
con el plano xy y que el eje óptico (el que pasa por el centro óptico) coincida con el eje z.
Así el centro de la imagen es el origen de coordenadas y el centro de la lente tiene como
coordenadas [ ]Tf,0,0 . En esta sección suponemos que el sistema de coordenadas de la
cámara está alineado con el sistema de coordenadas absoluto.
Figura 2.5: Modelo básico del proceso de formación de imágenes.
Sean X, Y, Z las coordenadas absolutas de cualquier punto de una imagen en 3D y
suponiendo que Z es mayor que f, se obtiene la siguiente relación (mediante triángulos
semejantes) que nos da las coordenadas x e y de la proyección del punto X, Y, Z en el
plano imagen:
fZ
Y
f
y
fZ
X
f
x
−−=
−−=
donde los signos negativos indican que los puntos de la imagen son invertidos.
2.2.1B2.2.1A
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-9
Por tanto, las coordenadas sobre el plano imagen del punto proyectado:
Zf
fYy
Zf
fXx
−=
−=
Como se puede observar, estas ecuaciones no son lineales al aparecer divisiones
por la variable Z. Es habitual expresar dichas ecuaciones en coordenadas homogéneas. Las
coordenadas homogéneas de un punto cuyas coordenadas cartesianas son [ ]TZYXw ,,=
vienen dadas por [ ]Th kZkYkXkw ,,, ⋅⋅⋅= donde k es una constante arbitraria distinta de
cero.
Definiendo la matriz de transformación de perspectiva como:
−
=
1100
0100
0010
0001
f
P
El producto de dicha matriz por el vector expresado en coordenadas homogéneas
viene dado por:
+−=
−
==
kf
kZkZ
kY
kX
k
kZ
kY
kX
f
Pwc hh
1100
0100
0010
0001
Los elementos de ch son las coordenadas de la cámara en forma homogénea.
Dividiendo cada uno de los tres componentes de ch por el cuarto, se obtiene las
coordenadas de cualquier punto en el sistema de coordenadas de la cámara:
−
−
−
=
=
Zf
fZ
Zf
fY
Zf
fX
z
y
x
c
La transformación de perspectiva inversa proporciona los puntos de la imagen al
espacio tridimensional:
hhhh cPwPwc 1−=→=
2.2.2B2.2.2A
2.2.3
2.2.4
2.2.5
2.2.6
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-10
donde:
=
1100
0100
0010
0001
f
P
−
=−
1100
0100
0010
0001
1
f
P
Supongamos que un punto dado en la imagen tiene coordenadas [ ]Tyx 0,, 00 .
Dicho punto se puede expresar en forma de vector homogéneo como:
=
k
ky
kx
ch0
0
0
Luego, el vector de coordenadas absolutas homogéneas:
=
k
ky
kx
wh0
0
0
O bien en coordenadas cartesianas,
=
=0
0
0
y
x
Z
Y
X
w
Esto no es obviamente lo esperado, ya que se obtiene Z = 0 para cualquier punto
tridimensional. Este problema es causado por el hecho de que proyectar un conjunto de
puntos en el plano de la imagen es una transformación "varios a uno". El punto de la
imagen ),( 00 yx corresponde al con junto de puntos tridimensionales colineales que se
encuentran en la línea que pasa por [ ]Tyx 0,, 00 y [ ]T
f,0,0 . La ecuación de esta recta en el
sistema de coordenadas absoluto es,
)(
)(
0
0
Zff
yY
Zff
xX
−=
−=
2.2.7
2.2.8
2.2.9
2.2.10
2.2.11A
2.2.11B
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-11
Estas ecuaciones muestran que a menos que se conozca algo sobre el punto
tridimensional que generó un punto de imagen dado (por ejemplo su coordenada Z), no
podemos recuperar completamente el punto tridimensional a partir de su imagen. Esta
observación, se puede usar como una manera de formular una transformación de
perspectiva inversa usando simplemente la componente z de ch como una variable libre
en vez de ponerla a cero. Así suponiendo,
=
k
kz
ky
kx
ch
0
0
De la ecuación
hhhh cPwPwc 1−=→=
se obtiene
+
=
kf
kzkz
ky
kx
wh
0
0
que después de convertirse a coordenadas cartesianas, da como resultado,
+
+
+
=
=
zf
fz
zf
fy
zf
fx
Z
Y
X
w 0
0
Dicho de otro modo, tratando a z como una variable libre obtenemos,
zf
fzZ
zf
fyY
zf
fxX
+=
+=
+=
0
0
2.2.12
2.2.13
2.2.14
2.2.15
2.2.16A
2.2.16C
2.2.16B
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-12
Despejando z en la última ecuación y sustituyendo,
)(
)(
0
0
Zff
yY
Zff
xX
−=
−=
que resulta congruente con la observación ya mencionada de que recuperar un
punto tridimensional partiendo de su imagen y usando la transformación de perspectiva
inversa requiere el conocimiento de cómo mínimo una de las coordenadas absolutas del
punto.
Comentario:
Como la imagen aparece invertida es costumbre utilizar en su lugar una
configuración geométricamente equivalente para conseguir que la imagen se sitúe en el
mismo lado del centro de proyección tal y como se muestra en la siguiente figura:
Figura 2.6: Transformación de perspectiva equivalente a la mostrada en la Figura 2.5.
Por semejanza de triángulos
2.2.17A
2.2.17B
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-13
Z
fYy
Z
fXx
=
=
2.2.18A
2.2.18B
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-14
2.2.2. Proyección ortográfica.
La proyección ortográfica es la proyección de una entidad tridimensional sobre un
plano por un conjunto de rayos paralelos ortogonales a este plano. En la figura se tiene
que Xx = e Yy = donde de nuevo ),( YX y ),( yx denotan las coordenadas del objeto y la
imagen respectivamente. Esta proyección es útil para la representación de la orientación
de cada vector perpendicular a una superficie en lo que se conoce como espacio
gradiente.
Figura 2.7: Proyección ortográfica.
Considerar la geometría de proyección de perspectiva de la Figura 2.6. A medida
que el objeto se aleja del centro óptico a lo largo del eje z, la imagen se hace más pequeña.
Y el factor de reducción f/Z en las ecuaciones de proyección de perspectiva se disminuye
la sensibilidad al parámetro Z. Esto es, f/(Z+∆Z) tiende a tomar un valor próximo a f/Z a
medida que Z/∆Z tiende a ser grande, esto significa que la distancia a la que se encuentra
un objeto Z es grande con relación al rango de distancias en el propio objeto ∆Z. Esta
aproximación de f/Z en lugar de f/(Z+∆Z) es válida siempre que la distancia a la que se
encuentra un objeto es grande con relación al rango de distancias en el propio objeto.
Para que la proyección de perspectiva pueda aproximarse por proyección ortográfica hasta
un factor de escala uniforme se han de cumplir dos condiciones:
1. El objeto debe situarse próximo al eje óptico.
2. Las dimensiones del objeto deben ser pequeñas.
Los términos próximo y pequeño se toman con respecto a la distancia del objeto a
partir del centro de proyección. La Figura 2.8 ilustra la aproximación de proyección de
perspectiva como un proceso de dos pasos: proyección ortográfica sobre un plano
próximo al objeto y paralelo al plano de la imagen y luego proyección de perspectiva sobre
el plano de la imagen.
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-15
Figura 2.7: Aproximación de la proyección de perspectiva por proyección ortográfica
2.2.3. Proyección paralela.
La proyección paralela es una generalización de la proyección ortográfica en la que
el objeto se proyecta sobre el plano de la imagen por un conjunto de rayos paralelos que
no son necesariamente ortogonales a este plano.
La proyección paralela, como la proyección ortográfica, es una transformación
lineal en el espacio tridimensional. La proyección paralela proporciona también una
aproximación conveniente para la proyección de perspectiva hasta un factor de escala
uniforme.
La proyección de perspectiva puede aproximarse por proyección paralela hasta un
factor de escala uniforme siempre que las dimensiones del objeto sean pequeñas
comparadas con la distancia media del objeto al centro óptico. La dirección de proyección
paralela es a lo largo de la dirección media de proyección de perspectiva. Cuando el
objeto además de ser pequeño está próximo al eje óptico, la dirección de proyección
paralela puede tomarse a lo largo del eje óptico, y en este caso obtendríamos proyección
ortográfica.
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-16
2.3. Modelo de la cámara.
La transformación de perspectiva relaciona las coordenadas del mundo con las
coordenadas de la imagen cuando la cámara se encuentra en el origen de coordenadas del
mundo. Sin embargo, en la realidad necesitamos trasladar y rotar la cámara para obtener
la imagen deseada de un objeto.
En un modelo simplificado asumimos que al principio la cámara se encuentra en
el origen de coordenadas del mundo, luego es trasladado mediante la matriz
G(X0, Y0, Z0), rotado alrededor del eje Z con un ángulo θ en de las agujas del reloj y
entorno al eje X con un ángulo φ en sentido horario y posteriormente trasladado por la
matriz C(r1, r2, r3). En este caso, las coordenadas homogéneas del mundo wh están
referidas a las coordenadas de la cámara ch de la siguiente manera:
h
ZX
h GWRPCRC θφ=
donde
−
=
1100
0100
0010
0001
f
P
−−−
=
1000
100
010
001
0
0
0
Z
Y
X
G
−−−
=
1000
100
010
001
3
2
1
r
r
r
C
−=
1000
0100
00cos
00cos
θθθθ
θsen
sen
RZ
−=
1000
0cos0
0cos0
0001
φφφφ
φsen
senR X
Nótese que las transformaciones inversas para la traslación y rotación son usadas
aquí. Esto es porque el sistema de coordenadas ligado a la cámara es el que se traslada y
rota en vez del objeto. Luego, las coordenadas cartesianas de la imagen son las siguientes:
frZZsenYYsensenXX
rsenZZYYsenXXfy
frZZsenYYsensenXX
rsenYYXXfx
++−−−+−−−−+−+−−=
++−−−+−−−−+−=
3000
2000
3000
100
cos)(cos)()(
)(coscos)(cos)(
cos)(cos)()(
)(cos)(
φφθφθφφθφθ
φφθφθθθ
2.3.1
2.3.2
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-17
2.4. Recuperación de los parámetros de la cámara.
Un problema interesante es recuperar los parámetros de una cámara. Por ejemplo,
dada una fotografía tomada por una cámara desde una posición desconocida la cual ha
sido cortada o ampliada, ¿cómo podemos determinar la posición de la cámara y su orientación, y
la medida en la que ha sido cortada o ampliada? Este tipo de aplicaciones son frecuentes en
diversas áreas. Por ejemplo, en navegación autónoma, un misil podría obtener la matriz
de transformación de la cámara que define la posición del vehículo. Otra aplicación sería
el monitorizar el área de trabajo de un brazo robot mediante una cámara estacionaria con
la que se determinaría la posición en la que se encuentra el brazo. Los parámetros de la
cámara se pueden obtener a partir de su matriz de transformación, y la posición y
orientación del manipulador en función de la cámara estacionaria.
2.4.1. Localización de la cámara.
Considérese un punto 3D X1 con coordenadas (X1, Y1, Z1,1). Si la matriz A de la
cámara es conocida se puede determinar las coordenadas de la imagen de un punto de la
siguiente manera, U1=A·X1 donde U1=(ch1 , ch2, ch3, ch4). Multiplicando U1 por la inversa
de A obtendremos el vector X1. Si ponemos ch3 = 0 entonces, U1’=(ch1 , ch2, 0, ch4),
realizando la misma multiplicación obtendremos nuevas coordenadas X11 que se
encuentran en la línea que une X1 con el centro de proyección L.
'
1
1
11 UX ⋅= −A
Del mismo modo, podemos coger otro punto X2(X2, Y2, Z2) y generar X21, el cual
se encontrará en la línea que pasa por X2 y el centro de proyección. Ahora, podemos
determinar fácilmente L mediante la intersección de ambas líneas.
2.4.2. Orientación de la cámara.
La orientación de la cámara se define como la orientación del plano imagen. A
medida que el objeto se acerca a la lente su imagen se sitúa más lejos, a lo largo del eje Y,
del centro de la imagen. Cuando el objeto se encuentre en la lente, la imagen se formará
en el infinito. La única forma de que la imagen de un punto infinito se forme en el
infinito es que la cuarta componente de las coordenadas homogéneas sea cero, es decir:
⋅=
10
3
2
1
Z
Y
X
C
C
C
h
h
h
A 2.4.2
2.4.1
Capítulo 2 Planteamiento matemático
Jaime Martínez Verdú MTIT: Visión por Computador 2-18
La última ecuación proporciona la siguiente restricción en la orientación de la
cámara:
044434241 =+++ aZaYaXa
Dicha ecuación pertenece a un plano que pasa por la lente L paralelo al plano
imagen. De esta ecuación queda claro que (a41, a42, a43) es el vector normal al plano
imagen y paralelo a la cámara.
La orientación en función de una rotación θ (sentido horario) alrededor del eje X,
seguido de otra rotación φ alrededor del eje Y viene dada por:
2
43
2
42
2
41
41
43
42
aaa
aarcsen
a
aarctg
++
−=
−=
φ
θ
2.4.3
2.4.4
2.4.5
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-1
TECNOLOGÍAS Y TÉCNICAS EXISTENTES
Esta sección introduce al conocimiento de varias técnicas para la estimación de los
parámetros intrínsecos y extrínsecos de una cámara, proceso comúnmente conocido con
el nombre de calibración geométrica de una cámara. Concretamente, toda la teoría
desarrollada en este capítulo va dirigida a la computación de los parámetros intrínsecos y
extrínsecos de una cierta cámara según una matriz de transformación que puede adoptar
varias formas dependiendo la naturaleza de la técnica de calibración:
• Método de calibración del cálculo de la matriz de transformación perspectiva.
• Método de calibración de los dos planos.
• Método de calibración de Tsai.
− Enmienda del método de calibración de Tsai realizada por Ayache.
− Enmienda del método de calibración de Tsai realizada por Song de Ma.
• Método de calibración de Zhang.
• …
Sin adentrarnos todavía en tales técnicas de calibración, en este apartado todavía
de carácter introductorio, daremos nuestros primeros pasos en un proceso de calibración
concreto e ideal que expondremos a continuación.
CAPÍTULO 3
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-2
Precisamente, supongamos que la cámara observa n entidades geométricas tales
como puntos o líneas cuyas posiciones son conocidas y se encuentran fijadas en el
Sistema de Coordenadas del Mundo.
Una vez la cámara ha sido calibrada, es posible establecer una cierta relación con
cualquier punto de la imagen de la cual nos estamos valiendo para, por ejemplo, la
realización de una operación llevada a cabo por un brazo robótico, el dimensionamiento
de un objeto, el control de calidad de una cadena de producción,… Esta relación con
cualquier punto de la imagen queda perfectamente definida mediante la recta de
proyección que pasa a través de dicho punto y el centro óptico de la cámara, y que
conduce a mediciones cuantitativas tridimensionales a partir de imágenes digitalizadas.
Un método de calibración de cámaras conceptualmente sencillo e intuitivo que,
llegados a este punto, puede plantearse, consiste en medir y almacenar los parámetros de
la recta de proyección de cada píxel de la imagen. No obstante, este método produciría
una tabla de consulta excesivamente grande, lo cual llevaría consigo una serie de
impedimentos relacionados con la velocidad de procesamiento de datos.
Utilizando éste método, dado un píxel, un simple indexado proporcionaría la
recta de proyección de dicho píxel, resolviendo con precisión el problema de la
proyección perspectiva inversa.
Efectivamente, si deseamos saber cual es la recta de proyección de un determinado
píxel (x*,y
*) lo único que hemos de hacer es obtener la información almacenada en dicha
posición tal y como viene mostrado en la Figura 3.1.
Figura 3.1: Proceso de ejecución del problema de la proyección perspectiva inversa.
A pesar de la simplicidad de la resolución del problema de la proyección
perspectiva inversa, existe un problema respecto a la resolución de la proyección directa
pues ésta no es tan simple ni precisa, ya que necesitaría recorrer la tabla hasta encontrar la
recta de proyección que pasase más cerca del punto en cuestión. Obviamente, estas
circunstancias comportarían una elevada carga computacional asociada a cada búsqueda.
Deseamos saber los parámetros de la
recta de proyección
del píxel (x* , y*)
Un simple indexado
proporciona la recta de
proyección del píxel del
cual deseábamos
Buscamos la
posición (x* , y*)
f(x* , y*)
cx,(x* , y*) cy,(x* , y*)
k1,(x* , y*) k2,(x* , y*)
Tx Ty Tz α β γ
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-3
Figura 3.2: Proceso de ejecución del problema de la proyección perspectiva directa.
Puesto que esta tabla de calibración puede llegar a ser tremendamente costosa de
operar, una posible solución sería almacenar una cantidad menor de píxeles e interpolar
entre los píxeles seleccionados. Caso de que el error en la interpolación fuese menor que
el error de medida no se perdería precisión con respecto a la tabla completa.
Fundamentalmente, la mayoría de los métodos de calibración desarrollados hasta
hoy día se basan en esta aproximación, es decir, escogen unos pocos píxeles de la imagen
y calculan los parámetros de la función de interpolación.
Las diferencias entre los distintos enfoques radican en la forma de la función de
interpolación y en la técnica matemática utilizada para determinar los parámetros. En las
diversas secciones del capítulo 3, se describirán algunas de las más empleadas.
Figura 3.3: Fotografía de una cámara mientras está siendo calibrada.
Deseamos saber los
parámetros de la recta de proyección
del píxel (x* , y*)
Una exhaustiva
búsqueda para hallar la
recta de proyección más
cercana a la deseada
Buscamos la
posición (x* , y*)
f(x* , y*)
cx,(x* , y*) cy,(x* , y*)
k1,(x* , y*) k2,(x* , y*)
Tx Ty Tz α β γ
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-4
En esta sección, principalmente se discuten dos métodos clásicos para calibración
de una cámara. Ambos métodos, que son los más populares dentro de la literatura, se
encuentran catalogados dentro del grupo de m de calibración de aquellas que realizan el
proceso basadas en una o más imágenes de un patrón de calibración.
Obviamente, la precisión de ambos métodos va de la mano con la precisión de las
mediciones realizadas del patrón de calibración, además de que la calibración de la
cámara implica la estimación de sus parámetros intrínsecos y de su orientación y posición.
Una técnica de calibración directa, recupera directamente los parámetros extrínsecos e
intrínsecos de la cámara mientras calibración basada en la matriz de proyección [Trucco
E. y Verri A., 1998], calcula los parámetros de la cámara como funciones en lazo cerrado
de las entradas de una matriz de proyección.
Existen otros métodos que a diferencia de los dos anteriores suponen que los
parámetros intrínsecos de la cámara son conocidos, por lo que se enfocan en hacer
únicamente la estimación de su posición y orientación.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-5
3.1. Método de calibración del cálculo de la matriz de transformación perspectiva.
En el modelo de proyección
perspectiva descrito en el capítulo
anterior, la imagen de un punto del
espacio es la intersección con el
plano imagen de la recta que pasa
por el propio punto y por el centro
óptico de la cámara. Y es por el
centro óptico, lógicamente, por
donde pasarán todas las rectas de
proyección. De acuerdo con la ecuación 2.1 de la sección anterior se tiene lo siguiente:
hh wcrr ⋅⋅⋅⋅= GRCP
Un punto del espacio hwr
en coordenadas homogéneas absolutas (respecto al
sistema XYZ ) se proyecta según una matriz de transformación A, de tamaño 4×4, que es
función de los parámetros intrínsecos (sólo la distancia focal en este caso) y da lugar a las
coordenadas de un punto proyectado en la imagen. El vector hcr
se refiere a coordenadas
homogéneas vinculado al punto vista de la cámara.
Como se muestra en la ecuación anterior, la resolución de dicha igualdad requiere
el conocimiento de la distancia focal, las posiciones y los ángulos según ambos planos
(pan y tilt):
),,(),(),,()( 000 ZYXtttf zyx GRCPA ⋅⋅⋅= αθ
Aunque estos parámetros podrían medirse directamente, a menudo es más
conveniente (sobre todo cuando la cámara varía de posición frecuentemente) determinar
uno o más de estos parámetros empleando la propia cámara como instrumento de
medida. Esto requiere un conjunto de puntos de la imagen cuyas coordenadas espaciales
sean conocidas y, asimismo, un procedimiento de cálculo empleado para obtener los
parámetros de la cámara utilizando tales puntos conocidos.
Si despejamos la expresión que relaciona la matriz A con las matrices P, C, R y G
de la ecuación 3.1.1, sabemos que los elementos de A contienen todos los parámetros de
la cámara y, de esa misma ecuación, conocemos la relación entre plano imagen y plano
fotografía:
hh wcrr ⋅= A
3.1.1
3.1.2
3.1.3
X Y
Z
(X,Y,Z)
(xi,yi)
Espacio Objeto
Plano Imagen
Centro óptico
de la lente
Figura 3.4: Esquema del modelo de la cámara.
x
y
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-6
3.1.1. Desarrollo matemático generalizado.
Haciendo k = 1 en la representación homogénea, se tiene lo siguiente:
[ ] [ ]Th
kT
h ZYXwkkZkYkXw 11 =→= = rr
Además del resultado anterior obtenido, por un lado, conocemos la forma general
de las coordenadas desde un punto vista de la cámara (ya formulada en el capítulo
anterior) y, por otro lado, podemos representar la matriz A de forma general:
⋅
=
⇒⋅=
144434241
34333231
24232221
14131211
4,
3,
2,
1,
Z
Y
X
aaaa
aaaa
aaaa
aaaa
c
c
c
c
wc
h
h
h
h
hh
rrA
Recuérdese que la cuarta componente del vector hcr
es un factor de escala por el
cual hay que dividir las primeras dos componentes de modo que sea posible pasar de
coordenadas homogéneas a coordenadas cartesianas. Llevando a cabo el escalado y
apoyándonos en las representaciones del planteamiento matemático, las coordenadas de
la cámara en forma cartesiana quedarían del siguiente modo:
4,2,
4,
2,
4,1,
4,
1,
hh
h
h
hh
h
h
cycc
cy
cxcc
cx
⋅=⇒=
⋅=⇒=
Sustituyendo los dos valores obtenidos en las ecuaciones 3.1.6A y 3.1.6B en el
sistema matricial (definido anteriormente en la expresión 3.1.5) y desarrollando el
producto matricial se obtiene lo siguiente:
444342414,
242322214,
141312114,
44434241
34333231
24232221
14131211
4,
3,
4,
4,
1 aZaYaXac
aZaYaXacy
aZaYaXacx
Z
Y
X
aaaa
aaaa
aaaa
aaaa
c
c
cy
cx
h
h
h
h
h
h
h
+++=
+++=⋅
+++=⋅
→
→
→
⋅
=
⋅
⋅
donde la tercera de estas componentes (la que se establece en la dirección del eje
de la cámara) puede ser descartada puesto que, en este caso, no tiene ningún significado
(a priori). Las otras dos ch,1 y ch,2 están relacionadas con las coordenadas en la imagen del
punto proyectado x e y.
3.1.6A
3.1.6B
3.1.7
3.1.8
3.1.9
3.1.5
3.1.4
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-7
Aclaración.
Se ha omitido el desarrollo de ch,3 a causa de estar relacionado con el eje z y,
además, “por carecer de sentido el estudio de la componente z de una imagen 2D”. En un
principio esta afirmación puede parecer aberrante puesto que realmente sí tiene sentido
estudiar la profundidad de un objeto que aparece en una imagen 2D; no obstante, puesto
que estamos realizando el estudio de la calibración de cámaras y no el estudio concreto y
ceñido a la determinación de profundidades de objetos que aparecen en una imagen,
obviaremos este hecho y continuaremos con nuestro desarrollo matemático.
La sustitución de ch,4 3.1.9 en las dos primeras ecuaciones anteriores 3.1.7 y 3.1.8
proporciona dos nuevas ecuaciones con 12 incógnitas:
[ ][ ] 2423222144434241
1413121144434241
aZaYaXaaZaYaXay
aZaYaXaaZaYaXax
+++=+++⋅+++=+++⋅
0
0
4443424124232221
4443424114131211
=−−−−+++
=−−−−+++
yayZayYayXaaZaYaXa
xaxZaxYaxXaaZaYaXa
Desarrollando la ecuación 3.1.10 para un punto del espacio i en concreto se tiene
que, para su píxel correspondiente, existe un sistema de 2 ecuaciones y 12 incógnitas:
0
0
4443424124232221
4443424114131211
=−−−−+++=−−−−+++
iiiiiiiiii
iiiiiiiiii
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
donde Pi = (Xi, Yi, Zi) es el punto del espacio y pi = (xi, yi) su proyección en la
imagen, ambos conocidos. La proyección inversa viene dada por la recta de intersección
de los dos planos dados en la ecuación anterior, cuyos coeficientes son los elementos de la
matriz A. Si deseamos obtener la forma matricial de dicho sistema de ecuaciones hemos
de hacer lo siguiente:
=
⋅
−−−−−−−−
0
0
10000
00001
44
43
42
41
24
23
22
21
14
13
12
11
a
a
a
a
a
a
a
a
a
a
a
a
yZyYyXyZYX
xZxYxXxZYX
iiiiiiiiii
iiiiiiiiii
3.1.10
3.1.11
3.1.12
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-8
Se puede reconocer que tras este sistema de ecuaciones de la expresión anterior se
esconden 12 incógnitas (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43, a44) y 5 variables
conocidas (Xi, Yi, Zi, xi, yi). Efectivamente, un punto tridimensional con coordenadas del
mundo (Xi, Yi, Zi) y al cual le corresponde unas coordenadas imagen (xi, yi) aporta 2
ecuaciones con 12 incógnitas. Por tanto, n puntos darán lugar a 2n ecuaciones, que
pueden ser resueltas para las mismas 12 incógnitas. Primero supongamos que hemos
obtenido n puntos medidos:
Punto 1
=−−−−+++=−−−−+++
0
0
14411431142114124123122121
14411431142114114113112111
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
Punto 2
=−−−−+++=−−−−+++
0
0
24422432242224124223222221
24422432242224114213212211
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
Punto 3
=−−−−+++=−−−−+++
0
0
34433433342334124323322321
34433433342334114313312311
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
M
Punto n-1
=−−−−+++=−−−−+++
−−−−−−−−−−
−−−−−−−−−−
0
0
14411431142114124123122121
14411431142114114113112111
nnnnnnnnnn
nnnnnnnnnn
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
Punto n
=−−−−+++=−−−−+++
0
0
4443424124232221
4443424114131211
nnnnnnnnnn
nnnnnnnnnn
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
Una vez expresadas las 2n ecuaciones, podemos agruparlas para determinar el
sistema de ecuaciones global donde las ecuaciones vienen ordenadas según los puntos
1,2,…,n (la utilización de colores nos facilitará la visualización del sistema):
0
0
0
0
0
0
0
0
0
0
4443424124232221
4443424114131211
14411431142114124123122121
14411431142114114113112111
34433433342334124323322321
34433433342334114313312311
24422432242224124223222221
24422432242224114213212211
14411431142114124123122121
14411431142114114113112111
=−−−−+++=−−−−+++=−−−−+++=−−−−+++
=−−−−+++=−−−−+++=−−−−+++=−−−−+++=−−−−+++=−−−−+++
−−−−−−−−−−
−−−−−−−−−−
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
MMMMMMMMM
Sin embargo, está forma de agruparlos no es la idónea pues en lugar de agruparlos
dispuestos respecto el número del punto, convendría agruparlos en función de las
coordenadas del punto imagen. Este procedimiento viene contemplado en la ecuación de
la página siguiente.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-9
0
0
0
0
0
0
0
0
0
0
4443424124232221
14411431142114124123122121
34433433342334124323322321
24422432242224124223222221
14411431142114124123122121
4443424114131211
14411431142114114113112111
34433433342334114313312311
24422432242224114213212211
14411431142114114113112111
=−−−−+++=−−−−+++
=−−−−+++=−−−−+++=−−−−+++=−−−−+++=−−−−+++
=−−−−+++=−−−−+++=−−−−+++
−−−−−−−−−−
−−−−−−−−−−
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
yaZyaYyaXyaaZaYaXa
yaZyaYyaXyaaZaYaXa
yaZyaYyaXyaaZaYaXa
yaZyaYyaXyaaZaYaXa
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
xaZxaYxaXxaaZaYaXa
xaZxaYxaXxaaZaYaXa
xaZxaYxaXxaaZaYaXa
xaZxaYxaXxaaZaYaXa
MMMMMMMMM
MMMMMMMMM
Tal y como podemos observar, la forma de representar el sistema facilita
enormemente la transformación a la forma matricial. El sistema de ecuaciones anterior
puede representarse en su forma matricial de la siguiente manera:
=
⋅
−−−−−−−−
−−−−−−−−−−−−−−−−
−−−−
−−−−−−−−−−−−
−−−−−−−−−−
−−−−−−−−−−
0
0
0
0
0
0
0
0
0
0
10000
10000
10000
10000
10000
00001
00001
00001
00001
00001
44
43
42
41
24
23
22
21
14
13
12
11
1111111111
333333333
2222222222
111111111
1111111111
3333333333
2222222222
1111111111
M
M
MMMMMMMMMMMM
MMMMMMMMMMMM
a
a
a
a
a
a
a
a
a
a
a
a
xZxYxXxZYX
yZyYyXyZYX
yZyYyXyZYX
yZyYyXyZYX
yZyYyXyZYX
xZxYxXxZYX
xZxYxXxZYX
xZxYxXxZYX
xZxYxXxZYX
xZxYxXxZYX
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
O, expresado en su forma reducida, tenemos lo siguiente:
( ) ( )( ) ( ) [ ]ij
ninnnnn
ninnnnn ay
x=
−−−−
=××××××
×××××× XXXXAAAAr
rrr
rrr
131313
131313
10
01
iiiiiii
iiiiiii
ZYXyZYX0
ZYXx0ZYX
0rr
=⋅ XXXXAAAA
donde AAAA es una matriz de dimensión 2n×12, XXXX es un vector columna de 12×1. Así
pues, calibrar la cámara según este método equivale a determinar los 12 elementos de XXXXr
que intervienen en la expresión, para lo cual es necesario plantear un sistema de 12
ecuaciones, que requiere un mínimo de 6 puntos. Nosotros podemos ser capaces de
determinar las 12 incógnitas recurriendo a la inversa si son conocidos 6 o la
pseudoinversa si son conocidos más de 6 puntos 3D y sus respectivas coordenadas imagen.
3.1.13
3.1.14B
3.1.14A
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-10
3.1.2. Desarrollo matemático singularizado: 144 =a .
Puesto que el sistema de ecuaciones resultante es homogéneo, existen infinitas
soluciones, se hace necesario fijar una de las incógnitas, por ejemplo a44 = 1:
iiiiiiiiii
iiiiiiiiii
iiiiiiiiii
iiiiiiiiii
iiiiiiiiii
iiiiiiiiii
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
a
yaZyaYyaXyaaZaYaXa
xaZxaYxaXxaaZaYaXa
=
=−−−+++
↓
=−−−−+++
=−−−−+++
↓
=
↓
=−−−−+++
=−−−−+++
43424124232221
43424114131211
43424124232221
43424114131211
44
4443424124232221
4443424114131211
0
0
1
0
0
En efecto, si se pone la ecuación en forma matricial se tiene el siguiente sistema:
=
⋅
−−−−−−
i
i
iiiiiiiii
iiiiiiiii
y
x
a
a
a
a
a
a
a
a
a
a
a
ZyYyXyZYX
ZxYxXxZYX
43
42
41
24
23
22
21
14
13
12
11
10000
00001
En la práctica es conveniente emplear un mayor número de puntos, resultando un
sistema sobredeterminado que se resuelve por mínimos cuadrados. Tal como sabemos,
tras este sistema de ecuaciones se esconden 11 incógnitas (a11, a12, a13,…, a41, a42, a43) y
5 variables conocidas (Xi, Yi, Zi, xi, yi). Naturalmente, un punto tridimensional con
coordenadas del mundo (Xi, Yi, Zi) y al cual le corresponde unas coordenadas imagen
(xi, yi) aporta dos ecuaciones con 11 incógnitas. Por tanto, n puntos darán lugar a 2n
ecuaciones, que pueden ser resueltas para 11 incógnitas.
3.1.15
3.1.16
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-11
Primero supongamos que hemos obtenido las n medidas de igual manera que en
el caso anterior. Al igual que en el procedimiento preliminar, una vez expresadas las 2n
ecuaciones, podemos agruparlas para determinar el sistema de ecuaciones global donde
las ecuaciones viene ordenadas según los puntos 1, 2,…, n (la utilización de colores nos
facilitará la visualización del sistema):
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
=−−−+++=−−−+++=−−−+++=−−−+++
=−−−+++=−−−+++=−−−+++=−−−+++=−−−+++=−−−+++
−−−−−−−−−−
−−−−−−−−−−
43424124232221
43424114131211
111431142114124123122121
111431142114114113112111
333433342334124323322321
333433342334114313312311
222432242224124223222221
222432242224114213212211
111431142114124123122121
111431142114114113112111
MMMMMMMM
Igual que en la táctica anterior, hemos de modificar la representación del sistema
de ecuaciones. Como ya sabemos, la forma previa de agrupar los términos no es la idónea
pues en lugar de agruparlos ordenados en función del número del punto, se deberían
agrupar en función de las coordenadas del punto imagen, es decir, agruparemos primero
todos los puntos desde 1 hasta n con las coordenadas de la imagen en x y posteriormente
aquellos restantes con las coordenadas de la imagen en y:
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
nnnnnnnnnn
yZyaYyaXyaaZaYaXa
yZyaYyaXyaaZaYaXa
yZyaYyaXyaaZaYaXa
yZyaYyaXyaaZaYaXa
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
xZxaYxaXxaaZaYaXa
xZxaYxaXxaaZaYaXa
xZxaYxaXxaaZaYaXa
xZxaYxaXxaaZaYaXa
=−−−+++=−−−+++
=−−−+++=−−−+++=−−−+++=−−−+++=−−−+++
=−−−+++=−−−+++=−−−+++
−−−−−−−−−−
−−−−−−−−−−
43424124232221
111431142114124123122121
333433342334124323322321
222432242224124223222221
111431142114124123122121
43424114131211
111431142114114113112111
333433342334114313312311
222432242224114213212211
111431142114114113112111
MMMMMMMM
MMMMMMMM
Tal y como podemos observar, al igual que en el caso anterior, la forma de
representar el sistema facilita enormemente la transformación a la forma matricial.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-12
El sistema de ecuaciones anterior puede representarse en su forma matricial de la
siguiente manera:
=
⋅
−−−−−−
−−−−−−−−−−−−
−−−
−−−−−−−−−
−
−
−−−−−−−−−
−−−−−−−−−
n
n
n
n
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
y
y
y
y
y
x
x
x
x
x
a
a
a
a
a
a
a
a
a
a
a
ZxYxXxZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
1
3
2
1
1
3
2
1
43
42
41
24
23
22
21
14
13
12
11
111111111
33333333
222222222
11111111
111111111
333333333
222222222
111111111
10000
10000
10000
10000
10000
00001
00001
00001
00001
00001
M
M
MMMMMMMMMMM
MMMMMMMMMMM
O, expresado en su forma reducida, tenemos lo siguiente:
bbbbXXXXAAAArr
=⋅
donde AAAA es una matriz de dimensión 2n×11, XXXXr
es un vector columna de
dimensión 11×1 y bbbbr
otro vector columna de dimensión 1×2n:
( ) ( )( ) ( )
[ ] ( )( )
==
−
−=
×
×
×××××
×××××
n
n
ij
nnnnn
nnnnna
1
1
31313
31313
10
01
i
i
iiiiiii
iiiiiii
y
x
ZYXyZYX0
ZYXx0ZYXbbbbXXXXAAAArr
rr
rr
Respecto a este sistema, la matriz AAAA y el vector bbbbr
son conocidos. Nosotros
podemos ser capaces de determinar las 11 incógnitas del vector XXXXr
utilizando la matriz
pseudoinversa, si al menos son conocidos 6 o más puntos 3D y sus respectivas
coordenadas imagen para así trabajar con un sistema sobredeterminado. Eso es así debido
a que para que el sistema sea resoluble, el número de columnas debe ser mayor al número
de filas, esto es,
65.52
11filas 11columnas 2 enteroser debe ≥ →=≥⇒≥ nnn n
3.1.3. Obtención del vector incógnita mediante el Método de los Mínimos Cuadrados.
Sabemos que un sistema de ecuaciones lineales, bxrr =⋅A , puede ser compatible,
con una o infinitas soluciones, o incompatible. A priori, puede parecer lógico pensar que
son estos últimos sistemas los menos interesantes, pero no es el caso: el cálculo de una
solución aproximada del sistema cuando no podemos encontrar una solución exacta es
un problema importante, sobre todo en ciencias experimentales, y nada trivial.
3.1.17
3.1.18A
3.1.18B
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-13
Existen diferentes métodos para encontrar esa solución aproximada, uno de ellos
es el Método de los Mínimos Cuadrados que es el que se va a desarrollar. Aplicaremos este
método a la resolución del problema de obtención de las 11 incógnitas (a11, a12, …, a42,
a43). El método se desarrolla en hojas posteriores.
Un poco de Álgebra Matricial: Técnica de Mínimos Cuadrados.
Consideremos un sistema de ecuaciones lineales bxrr =⋅A . Supongamos que
el sistema es incompatible. Se
trata de encontrar un vector ∗xr
que se acerque a la solución
minimizando:
bxErr −⋅= A
En pos, resolveremos el
problema desde un punto de
vista geométrico. Aquello que
estamos buscando es el elemento del espacio vectorial deA que más se acerca a br
.
La solución es conocida, ese elemento es “la proyección ortogonal de br
sobre el
espacio vectorial de A ”. Por tanto, la solución en mínimos cuadrados que
minimizaA es aquella tal que pxrr =⋅ ∗
A es la proyección ortogonal de br
sobre el
espacio vectorial de A :
0)(0)(0,rrrrrrrrrrrr =⋅−⋅⋅⋅⇒=−⋅⋅⋅⇒>=−⋅⋅< bxybxybxy ttttt AAAAAAA
Por tanto, la solución que nos proporciona el método de los mínimos
cuadrados para un sistema incompatible bxrr =⋅A , es aquella que satisface
bx ttrr ⋅=⋅⋅ AAA . Es decir,
⇒⋅⋅⋅= −− bx ttrr
AAA 11 )( bx ttrr ⋅⋅⋅= −
AAA1)(
Nota.
Podríamos haber resuelto el problema también a partir de un cálculo distinto
(tal y como viene detallado en el Apéndice A). Para el vector ∗xr
que minimice la
función del error cuadrático:
0000 22
2
2
1
22
2r
Lrr =∇⇔=
∂∂=
∂∂=
∂∂
⇒−⋅= Ex
E
x
E
x
EbxE
n
A
∗⋅= xprr
A
bxrr −⋅Ab
r
Espacio vectorial deA
Figura 3.5: Vector solución por Mínimos Cuadrados.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-14
Al aplicar el método de resolución matemático de la aproximación por mínimos
cuadrados, que viene detallado en el apéndice A, llegamos a la conclusión de que los
elementos de la matriz de transformación A pueden calcularse como la matriz
pseudoinversa multiplicada por el vector de componentes bbbbr
, es decir,
( ) bbbbAAAAXXXXbbbbAAAAAAAAAAAAXXXXrrrr
⋅=⇔⋅⋅⋅= ∗−∗ ψtt 1
Si observamos el valor despejado del vector de incógnitas, podemos comprobar
como la matriz ( ) ttAAAAAAAAAAAAAAAA ⋅⋅= −1ψ es la matriz pseudoinversa de la matriz AAAA . Obtenido
el vector solución ∗XXXXr
, y por consiguiente la matriz de transformación perspectivaA , es
posible determinar los parámetros del modelo de la cámara.
3.1.4. Ejemplo de calibración del método estudiado.
En la Tabla 3.1 se muestra un ejemplo con los resultados de computar la matriz de
transformación A para la calibración de una cámara utilizando el método estudiado. El
objeto empleado para la calibración viene mostrado en la Figura 3.6.
Cada uno de los vértices pertenecientes al objeto esta etiquetado con letras desde
la ‘A’ hasta la ‘P’ y sus coordenadas homogéneas absolutas o coordenadas desde el mundo
(Xi,Yi,Zi) vienen dadas en la Tabla 3.1 junto con las coordenadas de la imagen (xi,yi).
DATOS DE INPUT DATOS DE OUTPUT
Point Imagen 2-D (x,y) Coordenadas 3-D (X,Y,Z) Imagen 2-D computada Residuos X Y
A 95.00 336.00 0.00 0.00 0.00 94.53 337.89 0.47 -1.89
B 0.00 6.00 0.00
C 11.00 6.00 0.00
D 592.00 368.00 11.00 6.00 0.00 592.21 368.36 -0.21 -0.36
E 472.00 168.00 8.25 0.00 -4.50 470.14 168.30 1.86 -0.30
F 232.00 155.00 2.75 0.00 -4.50 232.30 154.43 -0.30 0.57
G 350.00 205.00 5.50 0.00 -3.50 349.17 202.47 0.83 2.53
H 362.00 323.00 5.00 6.00 -3.50 363.44 324.32 -1.44 -1.32
I 97.00 305.00 0.00 0.00 -0.75 97.90 304.96 -0.90 0.04
J 592.00 336.00 11.00 0.00 -0.75 591.78 334.94 0.22 1.06
K 184.00 344.00 2.00 0.00 0.00 184.46 343.40 -0.46 0.60
L 263.00 431.00 2.00 6.00 0.00 261.52 429.65 1.48 1.35
M 9.00 6.00 0.00
N 501.00 363.00 9.00 0.00 0.00 501.16 362.78 -0.16 0.22
O 467.00 279.00 8.25 0.00 -1.81 468.35 281.09 -1.35 -2.09
P 224.00 266.00 2.75 0.00 -1.81 224.06 266.43 -0.06 -0.43
Tabla 3.1: Datos de la calibración de la cámara utilizando el objeto de calibración
mostrado en la Figura 3.6.
3.1.19
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-15
Figura 3.6: Objeto de calibración de manufactura precisa con geometría dotada con
vértices. Las dimensiones del jig son 11 cm de profundidad, 6 cm de anchura y 4.5 cm de
altura. Todos y cada uno de los vértices viene dados en la Tabla 3.1.
Figura 3.7: Los residuos planos de la imagen son las diferencias entre los puntos
de la imagen actual observada y los puntos computerizados usando la matriz de
transformación A de la ecuación 3.1.2.
wPj
wP2
wP1
x
y
P1
∆x1
∆y1
∆y2
∆x2
P2
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-16
Hemos de notar que los vértices ‘B’, ‘C’ y ‘M’ permanecen ocultos en esta vista
por lo que no existen coordenadas imagen posibles.
La matriz A obtenida al utilizar las 13 correspondencias viene dada en lo alto de la
Figura y los residuos (diferencias entre los puntos observados en la imagen actual y los
puntos computados utilizando la matriz A de la cámara, Figura 3.7) viene mostrados a la
derecha.
Tal y como podemos observar, 16 de las 26 coordenadas (13×2 = 26) que han sido
computerizadas por la matriz A aplicadas a los puntos 3D tiene una diferencia menor a
un píxel con la coordenada observada de la imagen, 10 presentan una diferencia mayor a
un píxel, y sólo 2 presentan residuos mayores a 2 píxeles.
Este ejemplo está resuelto empleando un archivo de MatLab. Existen dos ficheros
donde el problema se ha resuelto para este caso concreto o para un caso más general. A
continuación se muestra la matriz de transformación obtenida A al ejecutar el código
implementado para el objeto y los puntos disponibles.
44.83753640 29.80557529 -5.52017968 94.52269238
2.51607339 42.24953970 40.77846773 337.8771055
-0.00068834 0.06491677 -0.01031234 1.0000000
Por tanto, a través de los datos obtenidos tenemos que el sistema es el siguiente
(recordemos que la tercera fila carecía de sentido por lo que podíamos desecharla):
⋅
+−+−
+++++−++
=
10000000.101031234.006491677.000068834.0
8771055.33777846773.4024953970.4251607339.2
52269238.9452017968.580557529.2983753640.44
34333231
4,
3,
2,
1,
Z
Y
X
aaaa
c
c
c
c
h
h
h
h
⇓
⋅
+−+−+++++−++
=
10000000.101031234.006491677.000068834.0
8771055.33777846773.4024953970.4251607339.2
52269238.9452017968.580557529.2983753640.44
4,
3,
2,
1,
Z
Y
X
c
c
c
c
h
h
h
h
Este ejemplo apoya la validez de la eficacia y precisión del modelo de la cámara
empleado, pero muestra los errores relacionados con la localización de las esquinas y la
distorsión debida a una longitud focal escasa.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-17
3.1.5. Procedimiento de calibración del método estudiado.
El procedimiento de calibración, por lo visto anteriormente, consiste en:
1. Obtener 6≥n puntos del espacio (puesto que hay 2 ecuaciones) de coordenadas
conocidas ( )iii ZYX ,, para ni ,,2,1 K= .
2. Calcular las imágenes de estos puntos cuando la cámara está en una posición
determinada, para obtener los puntos correspondientes en la imagen ( )ii yx , para
ni ,,2,1 K= .
3. Emplear estos resultados en las ecuaciones siguientes para crear un sistema de
ecuaciones y disponerlo en su forma matricial:
iiiiiiiiii
iiiiiiiiii
yZyaYyaXyaaZaYaXa
xZxaYxaXxaaZaYaXa
=−−−+++=−−−+++
43424124232221
43424114131211
4. Obtener el sistema en forma matricial y diferenciar la matriz AAAA :
bbbbXXXXAAAArr
=⋅
=
⋅
−−−−−−
−−−−−−−−−−−−
−−−
−−−−−−−−−
−
−
−−−−−−−−−
−−−−−−−−−
n
n
n
n
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
y
y
y
y
y
x
x
x
x
x
a
a
a
a
a
a
a
a
a
a
a
ZxYxXxZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
1
3
2
1
1
3
2
1
43
42
41
24
23
22
21
14
13
12
11
111111111
33333333
222222222
11111111
111111111
333333333
222222222
111111111
10000
10000
10000
10000
10000
00001
00001
00001
00001
00001
M
M
MMMMMMMMMMM
MMMMMMMMMMM
5. Calcular la pseudoinversa de AAAA para así poder calcular (a11,…, a43) y, por tanto, A :
( ) bbbbAAAAAAAAAAAAXXXXrr
⋅⋅⋅= −∗ tt 1
⋅
=
144434241
24232221
14131211
4,
2,
1,
Z
Y
X
aaaa
aaaa
aaaa
c
c
c
h
h
h
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-18
3.2. Método de calibración de los dos planos.
Esta técnica de calibración, propuesta por Martins y otros estudiosos del campo de
la visión artificial allá por el año 1981, es capaz de resolver únicamente el problema de la
proyección inversa pero solventándolo, pese a todo, con eficacia. A pesar de no conseguir
una solución para el problema de la proyección directa, presenta la ventaja de ofrecer
claramente la recta de proyección correspondiente a cada píxel de la imagen sin tener que
asumir ningún modelo de cámara en particular.
La Figura 3.8 ilustra el concepto de este método de calibración. Imaginemos dos
planos de calibración (también denominados planos de control) cualesquiera P1 y P2
separados entre sí una cierta distancia 12 ddd −= y, a su vez, separados respecto al plano
imagen una distancia 1d (medida desde el primer plano de control hasta el plano imagen).
Figura 3.8: Esquema general que representa el método de calibración de los dos planos.
Supongamos que tras un proceso de obtención de datos se conoce la información
de las posiciones tridimensionales de los puntos de calibración ubicados en cada plano (o
también patrón de calibración). Primeramente, hemos de realizar una captura de imagen
de ambos planos P1 y P2 para así poder extraer las posiciones de los puntos de calibración
proyectados. Al realizar la captura de imagen, tratamos con dos tipos de puntos:
• ijp � Son los puntos empleados en la calibración ubicados en los planos P1 y P2.
• ijq � Son los puntos resultantes de proyectar ijp en el plano imagen.
donde los subíndices i y j denotan el plano por un lado y el índice del punto
correspondiente por otro lado; para los puntos el rango de i y j es de 2,1=i (recordemos
que en esta técnica de calibración se emplean únicamente dos planos) y nj ,...,2,1= (si
tenemos n puntos). Efectivamente, tal y como podemos intuir, la relación entre ambas
variables ijp y ijq es el hecho de que la proyección de ijp en el plano imagen es ijq .
PLANO IMAGEN PLANO (O REJILLA) DE CALIBRACIÓN P1
PLANO (O REJILLA) DE CALIBRACIÓN P2
q1j q2j
v
p1j
u1
p2j
u2
X
Z
Y
Centro lente
M (x,y,z)
d1 d2
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-19
Un poco de geometría analítica en el espacio: La recta.
Supongamos tres puntos colineales, por lo que nosotros podemos obtener la
recta que pasa por dichos tres puntos:
12
1
12
1
12
1
zz
zz
yy
yy
xx
xx
−−=
−−=
−−
Si las igualdades consecutivas las dividimos en dos subproblemas distintos,
podemos realizar las siguientes operaciones:
)()()()(
)()()()(
12112112
1
12
1
12112112
1
12
1
xxzzzzxxzz
zz
xx
xx
xxyyyyxxyy
yy
xx
xx
−⋅−=−⋅−⇒−−=
−−
−⋅−=−⋅−⇒−−=
−−
Si a raíz de esto, realizamos una serie de simplificaciones modificando la forma
de la expresión, llegamos a las dos siguientes ecuaciones:
)()()()(
)()()()(
1211211212
1211211212
xxzzzxxxzzzx
xxyyyxxxyyyx
−⋅−−⋅=−⋅−−⋅−⋅−−⋅=−⋅−−⋅
que expresada en forma matricial se representa de la siguiente manera:
−⋅−−⋅
−⋅−−⋅=
⋅
−−
−−
)()(
)()(
0
0
121121
121121
1212
1212
xxzzzx
xxyyyx
z
y
x
xxzz
xxyy
Para continuar con la exposición del método de los dos planos, antes
expondremos una metodología de trabajo planteada por el autor del texto. Para aplicar
esta metodología, imaginemos un píxel genérico v de la imagen cuyas coordenadas
en x e y son ρ yγ , respectivamente. En efecto, la recta de proyección de dicho píxel v se
puede obtener, esencialmente, del siguiente modo:
1. Determinar el centro de la lente empleando para ello los puntos jp1 y jq1 y
jp2 y jq2 , conocidos.
RECTA 1 QUE PASA POR CENTRO LENTE jp1 y jq1
zz
z
yy
y
xx
x
jj
j
jj
j
jj
j
pq
pz
pq
py
pq
px
11
1
11
1
11
1
−−
=−
−=
−−
RECTA 2 QUE PASA POR CENTRO LENTE jp2 y jq2
zz
z
yy
y
xx
x
jj
j
jj
j
jj
j
pq
pz
pq
py
pq
px
22
2
22
2
22
2
−−
=−
−=
−−
3.2.1A 3.2.1B R1 R2
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-20
Figura 3.9: Obtención de la posición del centro focal del sistema de lentes de la cámara.
De ambas expresiones 3.2.1A y 3.2.1B podemos obtener la expresión de las dos
rectas representadas en la Figura 3.9 en forma matricial:
R1
−⋅−−⋅
−⋅−−⋅=
⋅
−−
−−
)()(
)()(
0
0
111111
111111
1111
1111
xxzzzx
xxyyyx
xxzz
xxyy
jjjjjj
jjjjjj
jjjj
jjjj
pqppqp
pqppqp
z
y
x
pqpq
pqpq
R2
−⋅−−⋅
−⋅−−⋅=
⋅
−−
−−
)()(
)()(
0
0
222222
222222
2222
2222
xxzzzx
xxyyyx
xxzz
xxyy
jjjjjj
jjjjjj
jjjj
jjjj
pqppqp
pqppqp
z
y
x
pqpq
pqpq
que se convierte en un sistema de cuatro ecuaciones y tres incógnitas (que hacen
referencia a las coordenadas del centro óptico) tal y como viene mostrado a continuación:
−⋅−−⋅
−⋅−−⋅
−⋅−−⋅
−⋅−−⋅
=
⋅
−−
−−
−−
−−
)()(
)()(
)()(
)()(
0
0
0
0
222222
222222
111111
111111
2222
2222
1111
1111
xxzzzx
xxyyyx
xxzzzx
xxyyyx
xxzz
xxyy
xxzz
xxyy
jjjjjj
jjjjjj
jjjjjj
jjjjjj
jjjj
jjjj
jjjj
jjjj
pqppqp
pqppqp
pqppqp
pqppqp
z
y
x
pqpq
pqpq
pqpq
pqpq
Por tanto, para resolver el problema aplicamos la técnica vista de mínimos
cuadrados por lo que el punto central de la lente se podrá calcular como:
),(),( 2121 jjjj ppbxpprr =⋅A ⇒ ( ) bx tt
rr ⋅⋅⋅= −AAA
1
2. Determinar la localización del píxel v en el primer plano P1 empleando
únicamente el centro de la lente y obteniendo como resultado el punto 1u .
Supongamos tres puntos colineales por lo que nosotros podemos obtener la recta
que pasa por dichos puntos que son: el centro de la lente, el punto v y el buscado 1u .
q1j q2j
p1j
p2j
x
z
y
Centro lente
M (x,y,z)
RECTA 1
RECTA 2
3.2.2A
3.2.2B
3.2.3
3.2.4
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-21
RECTA QUE PASA POR CENTRO LENTE v y 1u
ϑϑ
γγ
ρρ
−−
=−
−=
−−
z
u
y
u
x
uzyx 111
Podemos obtener la expresión de las dos rectas en forma matricial:
−⋅−−⋅
−⋅−−⋅=
⋅
−−
−−
)()(
)()(
0
0
1
1
1
ρϑϑρ
ργγρ
ρϑ
ργ
xz
xy
u
u
u
xz
xy
z
y
x
de donde conocemos los valores de x, y y z obtenidos en la ecuación 3.2.3 y los
valores de ρ ,γ y ϑ que hacen referencia a las coordenadas del píxel v y las incógnitas
que se pueden despejar son x
u1 y y
u1 puesto que z
u1 es un valor conocido ya que es la
distancia entre el plano imagen y el primero de los dos planos de control. Por tanto, el
sistema a resolver es en realidad el siguiente:
−⋅+−−⋅
−⋅−−⋅=
⋅
−
−−
)()()(
)()(
0 11
1
ρϑϑρ
ργγρ
ϑ
ργ
xdz
xy
u
u
z
xy
y
x
cuya solución se puede obtener de la siguiente manera:
−⋅+−−⋅
−⋅−−⋅⋅
−
−−=
−
)()()(
)()(
0 1
1
1
1
ρϑϑρ
ργγρ
ϑ
ργ
xdz
xy
z
xy
u
u
y
x
Si calculamos el valor de la inversa de la matriz solicitada podremos resolver el
sistema de ecuaciones. La solución se calcula de la siguiente manera:
−⋅+−−⋅
−⋅−−⋅⋅
−⋅−−
−
−=
)()()(
)()(
)()(
1
10
11
1
ρϑϑρ
ργγρ
ϑργ
ρ
ϑxdz
xy
zx
y
x
z
u
u
y
x
−⋅−−⋅+−−⋅−+
−−⋅−−⋅
−−⋅+−−⋅
=
)()(
))()()()(()()(
)()()(
1
1
1
1
ϑρρϑϑργ
ρργγρ
ϑρϑϑρ
zx
xdzy
x
xyz
xdz
u
u
y
x
111
11
1
)()(2
)()(du
z
dy
x
yu
z
xdu
zyx=
−+⋅−−−
−−⋅=
−−⋅+−=
ϑϑγγ
ργρ
ϑρϑρ
3.2.5
3.2.6
3.2.7
3.2.8
3.2.9
3.2.10
3.2.11
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-22
3. Determinar mediante interpolación la localización del píxel la localización de v
en el primer plano P2 empleando para ello los puntos jp2 y jq2 o usando únicamente el
centro de la lente y obteniendo como resultado el punto 2u .
Supongamos tres puntos colineales por lo que nosotros podemos obtener la recta
que pasa por dichos tres puntos que son el centro de la lente, el punto v y el buscado 2u .
RECTA QUE PASA POR CENTRO LENTE v y 2u
ϑϑ
γγ
ρρ
−−
=−
−=
−−
z
u
y
u
x
uzyx 222
Podemos obtener la expresión de las dos rectas en forma matricial:
−⋅−−⋅
−⋅−−⋅=
⋅
−−
−−
)()(
)()(
0
0
2
2
2
ρϑϑρ
ργγρ
ρϑ
ργ
xz
xy
u
u
u
xz
xy
z
y
x
de donde conocemos los valores de x, y y z obtenidos en la ecuación 3.2.3 y los
valores de ρ ,γ yϑ que hacen referencia a las coordenadas del píxel v y las incógnitas que
se pueden despejar son x
u2 y y
u2 puesto que z
u2 es un valor conocido puesto que es la
distancia entre el plano imagen y el segundo de los dos planos de control. Por tanto, el
sistema a resolver es en realidad el siguiente:
−⋅+−−⋅
−⋅−−⋅=
⋅
−
−−
)()()(
)()(
0 22
2
ρϑϑρ
ργγρ
ϑ
ργ
xdz
xy
u
u
z
xy
y
x
cuya solución se puede obtener de la siguiente manera:
−⋅+−−⋅
−⋅−−⋅⋅
−
−−=
−
)()()(
)()(
0 2
1
2
2
ρϑϑρ
ργγρ
ϑ
ργ
xdz
xy
z
xy
u
u
y
x
De forma análoga al caso anterior, si calculamos el valor de la inversa solicitada
podremos resolver el sistema de ecuaciones.
Finalmente, después de operar de forma similar al caso anterior, obtenemos la
solución:
222
22
2
)()(2
)()(du
z
dy
x
yu
z
xdu
zyx=
−+⋅−−−
−−⋅=
−−⋅+−=
ϑϑγγ
ργρ
ϑρϑρ
3.2.12
3.2.13
3.2.14
3.2.15
3.2.16
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-23
4. La recta de proyección tiene la dirección 1u - 2u y pasa por el punto 1u :
zz
z
yy
y
xx
x
uu
uZ
uu
uY
uu
uX
21
2
21
2
21
2
−−
=−
−=
−−
Nota aclaratoria: Simplificaciones.
Para hacer las matrices mucho más sencillas se ha optado por establecer el
origen de coordenadas sobre el plano imagen por lo que los puntos tiene las siguientes
coordenadas:
[ ] [ ][ ] [ ]
[ ] [ ][ ] [ ]
[ ] [ ][ ] [ ][ ] [ ]22222222
11111111
22222222
11111111
2222222
1111111
,,,,
,,,,
0,,,,
,,,,
,,,,
0,,,,
0,,,,
duuuuuuu
duuuuuuu
vv
dppppppp
dppppppp
qqqqqqq
qqqqqqq
yxzyx
yxzyx
yjxjjzjyjxjj
yjxjjzjyjxjj
yjxjjzjyjxjj
yjxjjzjyjxjj
=⇒==⇒==⇒=
=⇒=
=⇒=
=⇒=
=⇒=
γρϑγρ
A partir de estos valores de coordenadas, resolver la calibración es resolver los
siguientes sistemas de ecuaciones, que se simplifican de la siguiente manera:
⋅−
−⋅−−⋅
⋅−
−⋅−−⋅
=
⋅
−−
−−
−−
−−
x
xxyyyx
x
xxyyyx
xx
xxyy
xx
xxyy
j
jjjjjj
j
jjjjjj
jj
jjjj
jj
jjjj
qd
pqppqp
qd
pqppqp
z
y
x
pqd
pqpq
pqd
pqpq
22
222222
11
111111
222
2222
111
1111
)()(
)()(
0
0
0
0
−⋅−⋅−⋅−−⋅
=
⋅
−−)(
)()(
0 11
1
ρρργγρργ
xdz
xy
u
u
z
xy
y
y
−⋅−⋅−⋅−−⋅
=
⋅
−−)(
)()(
0 22
2
ρρργγρργ
xdz
xy
u
u
z
xy
y
y
21
2
21
2
21
2
dd
dZ
uu
uY
uu
uX
yy
y
xx
x
−−=
−
−=
−−
3.2.18
3.2.19
3.2.20
3.2.17
3.2.21
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-24
A pesar de lo sencillo del sistema propuesto en este texto, no es fielmente el
expuesto por Martins y otros puesto que la recta de proyección del píxel v se puede
obtener de la otra siguiente forma que sí corresponde con el método de calibración
propuesto por Matins:
1. Determinar mediante interpolación la localización del píxel v en el primer
plano P1 empleando para ello los puntos jp1 y jq1 para obtener el punto 1u .
2. Determinar de igual manera la localización del punto en el plano P2 para
obtener el punto 2u .
3. La recta de proyección tiene la dirección 1u - 2u y pasa por el punto 1u .
Martins y otros (1981) proponen tres tipos de interpolación con diferentes grados
de precisión:
• Precisión lineal.
• Precisión cuadrática.
• Precisión “spline” (special line) lineal.
La mayor precisión se obtiene con este último tipo de interpolación, y es del
orden de 4 mm a una distancia de unos 0.6 mm. Como es lógico, la precisión depende
del número de puntos de calibración escogidos en cada plano, siendo necesario un
mínimo de 24 puntos (12 en cada plano) para los cuales hay que almacenar los
parámetros de interpolación correspondientes al método que se utilice.
Una ventaja adicional es que las ecuaciones a resolver son lineales, lo que
computacionalmente es una gran ventaja.
A partir de esta técnica se ha propuesto otras que de una manera más general
resuelven tanto la proyección directa como la inversa (Isaguirre y otros, 1985, Breaban y
otros, 1985).
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-25
3.3. Método de calibración de Roger Y. Tsai.
La técnica propuesta por Roger Y. Tsai en [1] es, a día de hoy, una de las más
extensamente empleadas, mayormente en aplicaciones industriales de visión artificial, por
su precisión y versatilidad. En esta técnica, se consideran
cuatro etapas en el proceso de transformación de puntos
3D en el sistema de referencia del mundo a píxeles en la
imagen.
El estudio de investigación de Roger Y. Tsai tiene
como objetivo fundamental la búsqueda de una
restricción, o ecuación en donde intervengan diversas
constantes, que sean únicamente una función de un
subconjunto de los parámetros de calibración para
reducir el tamaño del espacio de parámetros de
calibración.
Éste método tiene muy en cuenta el efecto
producido por la distorsión de la lente pues deteriora la
calidad geométrica de la imagen y, por tanto, la capacidad para medir posiciones de los
objetos en ella. La distorsión de la lente puede clasificarse como radial o tangencial.
Ambos tipos de distorsión surgen porque los rayos de luz no emergen de las lentes en las
direcciones previstas por las leyes ópticas. Ambos tipos se explican a grosso modo a
continuación:
La distorsión radial de la lente
hace que los puntos de las imágenes se
desplacen de forma radial a partir del
eje óptico. Su principal causa es un
pulido defectuoso de la lente.
La distorsión tangencial ocurre
en ángulos rectos a las líneas radiales a
partir del eje óptico. Su principal causa
es un centrado defectuoso de todos los
elementos que configuran el sistema de
lentes.
La restricción mencionada es únicamente función de la rotación y traslación
(excepto para la componente z ) entre la cámara y los puntos de calibración.
Figura 3.10: Imagen de Roger Y. Tsai
Figura 3.11: Distorsión de la lente.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-26
Además, aunque la restricción no es una función lineal de los parámetros de
calibración antes mencionados (que denominaremos como parámetros del grupo I), existe
una manera sencilla y eficiente de computarlos. El resto de parámetros de calibración
(que denominaremos parámetros del grupo II) son computados con ecuaciones de
perspectiva normal. Además de describir la geometría de la cámara (posición y
orientación de la misma respecto a algún sistema de coordenadas), el modelo de la
cámara describirá varias características internas, es decir, los parámetros intrínsecos que se
obtendrán, tal y como apunta Arturo de la Escalera en su libro [2]:
• Distancia focal, f .
• Coeficiente de distorsión radial, K .
Por otro lado, los parámetros intrínsecos que se toman como datos son los
siguientes:
• Factor de escala xs , necesario para establecer la relación entre el número
de elementos de la cámara CCD y el número de píxeles que constituyen la
imagen.
• Centro de la imagen xc y yc .
• El número de píxeles de la cámara CCD, cxN .
• Número de píxeles en una línea muestreados por el ordenador, fxN .
• El tamaño en la dirección del elemento sensor de la cámara,'xd ,
'yd .
• El tamaño del píxel en una línea muestreada por el ordenador,''
xd ,''
yd .
Para pasar de un sistema de coordenadas que se trata de la referencia del mundo
al de la cámara, se aplicará, en este método, una rotación seguida de una traslación;
transformación que viene representada por la ecuación 3.3.1A. Los parámetros
extrínsecos que describen la geometría serán, por lo tanto, los siguientes:
• Las rotaciones para la transformación entre el origen de coordenadas del
mundo y el de la cámara : θRr
, φRr
, ψRr
.
• Las traslaciones para la transformación entre el origen de coordenadas del
mundo y el de la cámara: xT , yT , zT .
En esta sección se establece el modelo de la cámara y se definen los parámetros
de calibración. El modelo de la cámara empleado es básicamente el mismo que se ha
empleado para cualquier tipo de técnica vista hasta ahora.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-27
3.3.1. Los cuatro pasos de transformación desde las coordenadas 3D del mundo a las
coordenadas de la imagen en el computador.
Primeramente se establece el modelo de la cámara y, seguidamente, las ecuaciones
que lo describen bajo la transformación de perspectiva equivalente. Tal y como podemos
observar en la Figura 3.12, aparecen una serie de relaciones entre algunos de los
parámetros involucrados en el proceso. Los diferentes sistemas de coordenadas que
intervienen en el proceso de formación de imágenes según la Figura 3.12 son:
• El Sistema de Coordenadas del Mundo ),,( www zyx , tiene el centro en el
punto wO y sus orientaciones son arbitrarias. En pos, se designará SCM.
• El Sistema de Coordenadas de la Cámara ),,( zyx , tiene el centro en el
punto O, que es a su vez el centro óptico, y con el eje z superpuesto al eje
óptico. De ahora en adelante tal sistema será apodado como SCC.
• El Sistema de Coordenadas de la Imagen ),,( zYX está centrado en iO
(intersección del eje óptico z y el plano de la imagen) y paralelo a los
ejes ),( yx . A partir de ahora, dicho sistema se denominará SCI.
Figura 3.12: Esquema general que representa el método de calibración de los dos planos.
wx
wy
wz ),,( cccc zyxP
),,( wwww zyxP
x
yO
X
Yiyx Occ =),(
),( uuu YXP
),( ddd YXP
PLANO DE LA IMAGEN
SISTEMA DE LA CÁMARA
SISTEMA DEL MUNDO
),0,0( coc zP
OBJETO
f
wO
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-28
Los elementos de interés ilustrados en la Figura 3.12 son los siguientes:
• El punto ),,( wwww zyxP son las coordenadas 3D del punto del objeto que
vienen expresadas respecto el sistema de coordenadas SCM.
• Por otro lado, las coordenadas 3D del punto del objeto vistas en el SCC se
expresa mediante ),,( cccc zyxP .
• La variable f hace referencia a la distancia de separación entre el plano de
la imagen y el centro óptico.
• El punto ),( uuu YXP son las coordenadas del punto imagen ),,( cccc zyxP
teniendo en cuenta el modelo de la cámara ideal de pin-hole.
• Si nos fijamos en el punto ),( ddd YXP , podemos comprobar que se trata de
las coordenadas reales de la imagen que difieren de ),( uuu YXP debido al
fenómeno de distorsión que ocurre en el sistema de lentes.
Nota aclaratoria: Conversión de unidades.
Puesto que las unidades para las coordenadas utilizadas en el computador
),( YX son número de píxeles para la imagen discreta, necesita especificar (y calibrar)
parámetros adicionales para relacionar las coordenadas de la imagen en el plano de la
imagen con el sistema de coordenadas del computador.
La transformación absoluta para pasar de coordenadas ),,( www zyx a ),( YX se
muestra en la Figura 3.13. A continuación, explicaremos en cuatro pasos y de forma
analítica dicha transformación, viniendo todo ello ilustrado en la Figura 3.13.
Figura 3.13: Esquema general que representa los cuatro pasos de transformación.
),,( www zyx
),,( ccc zyx
Paso 1 Transformación desde ),,( www zyx a ),,( ccc zyx
Parámetros a calibrar: R y Tr
Paso 2
Paso 3
Paso 4
Proyección de perspectiva ideal
Parámetros a calibrar: f
Distorsión radial de las lentes
Parámetros a calibrar: 1k y 2k
Transformación desde ),,( www zyx a ),,( ccc zyx
Parámetros a calibrar: cx, cy y sx
),( YX
Coordenadas 3D desde SCM
Coordenadas 3D desde SCC
),( uu YXCoordenadas
imagen ideales sin distorsión
),( dd YXCoordenadas imagen con distorsión
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-29
Paso 1: Transformación desde el Sistema de Coordenadas del Mundo ),,( wwww zyxP =
hacia el Sistema de Coordenadas de la Cámara ),,( cccc zyxP = . Se aplicarán una
rotación seguida de una traslación; transformación de viene representada por:
TPP wc
r+⋅= R ⇔ T
z
y
x
z
y
x
w
w
w
c
c
c
r+
⋅=
R
donde R es una matriz de rotación de dimensión 3×3, compuesta por vectores
ortonormales [ ] [ ] [ ]TTT rrrrrrrrr 963852741 ,,y ,,,,, como cualquier matriz de rotación que se
precie, y Tr
es un vector de traslación de dimensión 1×3. Los parámetros a calibrar son la
matrizR y el vectorTr
:
=
987
654
321
rrr
rrr
rrr
R
=
z
y
x
T
T
T
Tr
Debemos percatarnos de que la transformación desde un sistema de coordenadas
cartesiano ),,( www zyx a otro ),,( ccc zyx es única si dicha transformación viene definida
como una rotación respecto el origen (tal rotación puede ser definida como tres
rotaciones individuales – Yaw, Pitch and Roll YPR – sobre un eje que pase a través del
origen) seguida de una traslación 3D.
Muchas de las técnicas existentes para la calibración de cámaras definen la
transformación como una traslación seguida de una rotación. Se verá posteriormente que
el orden de las operaciones (rotación seguida de traslación) es crucial para la estimulación
y desarrollo de la nueva técnica de calibración.
Paso 2: Transformación desde el Sistema de Coordenadas de la Cámara
tridimensional ),,( cccc zyxP = hacia el Sistema de Coordenadas de la Imagen ideal (no
distorsionada) ),( uuu YXP que viene dada por la proyección de perspectiva, vista en el
Capítulo 2 Sección 2.2. Se usan las ecuaciones ya vistas para el modelo pin-hole:
c
cu z
xfX =
c
cu z
yfY =
En el paso 2, el parámetro que debemos calibrar es la longitud focal efectiva de la
lente f .
3.3.1B
3.3.1A
3.3.2A
3.3.2B
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-30
Paso 3: Transformación de imagen ideal a imagen distorsionada (se considera
únicamente distorsión radial) en el plano imagen. En efecto, si consideramos tanto la
distorsión radial de las lentes como las coordenadas de la imagen se tiene lo siguiente:
xdu DXX +=
ydu DYY +=
donde ),( dd YX son las coordenadas reales de la imagen, esto es, distorsionadas, en
el plano imagen y los valores xD y yD viene expresados a continuación:
)( 63
42
21 L+⋅+⋅+⋅⋅= rkrkrkXD dx
)( 63
42
21 L+⋅+⋅+⋅⋅= rkrkrkYD dy
Los parámetros a calibrar son los coeficientes de distorsión ik . El modelado de
distorsión de las lentes puede encontrase en la sección de introducción a nuestro texto. Si
recordamos, existen dos clases de distorsiones: radial y tangencial. Para cada clase de
distorsión se requiere una serie infinita de términos. Sin embargo, siguiendo la
experiencia expuesta en Tsai, 1987, con un único coeficiente se logran buenos resultados.
Paso 4: La transformación de coordenadas de la imagen distorsionada en el sensor
),( dd YX a coordenadas de la imagen tal y como las proporciona el computador:
xx
xd c
d
sXX +⋅=
''
yy
d cd
YY +⋅=''
1
donde ),( YX es el par formado por el número de fila y el número de columna
del píxel de la imagen en memoria del computador. El factor xs se denomina factor de
incertidumbre de escala. Se trata de una relación entre las coordenadas calculadas de los
píxeles y las coordenadas reales ),( dd YX , debido a errores en el proceso de digitalización.
Los valores ),( yx cc definen el número de fila y de columna del centro de la imagen en
memoria del computador, respectivamente. Por otro lado, la distancia entre centros de los
elementos sensores CCD adyacentes en la dirección Y es '''yy dd = . Además, se conoce
una relación entre la distancia en la dirección de exploración X , 'xd , y la distancia, ''
xd :
x
x
f
cxx N
Ndd ''' =
donde cxN es el número de elementos sensores CCD en la dirección X y fxN es el
de píxeles en una línea tal y como aparecen tras el proceso de muestreo del computador.
En este cuarto paso, el parámetro a calibrar será el factor de incertidumbre xs .
3.3.3A
3.3.3B
3.3.4A
3.3.4B3.3.4C
3.3.5A
3.3.5B
3.3.6
22dd YXr +=
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-31
3.3.2. Ecuaciones de correspondencia entre las coordenadas 3D del mundo y las
coordenadas 2D de la imagen en el computador.
Combinando los tres últimos pasos, es decir, operando sobre las ecuaciones
3.3.2A, 3.3.2B, 3.3.3A, 3.3.3B, 3.3.4A, 3.3.4B, 3.3.5A y 3.3.5B de la siguiente manera:
c
cu z
xfX =
xdu DXX +=
21 rkXD dx ⋅⋅=
xx
dx c
d
XsX /+⋅=
''
c
cu z
yfY =
ydu DYY +=
21 rkYD dy ⋅⋅=
yy
d cd
YY /+=
'
3.3.2A ⇔ 3.3.3A
xdc
c DXz
xf +=
3.3.7A ⇔ 3.3.4A
)1( 21 rkX
z
xf d
c
c ⋅+⋅=
3.3.8A ⇔ 3.3.5A
)1( 21
''
rks
dX
z
xf
x
x
c
c ⋅+⋅⋅=
3.3.2B ⇔ 3.3.3B
ydc
c DYz
yf +=
3.3.7B ⇔ 3.3.4B
)1( 21 rkY
z
yf d
c
c ⋅+⋅=
3.3.8B ⇔ 3.3.5B
)1( 21
' rkdYz
yf y
c
c ⋅+⋅⋅=
de donde se obtienen las ecuaciones que relacionan las coordenadas 2D
),( YX del computador con las coordenadas 3D ),,( ccc zyx del sistema de la cámara para
el punto del objeto y, suponiendo que ),( yx cc es )0,0( , vienen dadas por:
)1( 21
''
rks
dX
z
xf
x
x
c
c ⋅+⋅⋅=
)1( 21
' rkdYz
yf y
c
c ⋅+⋅⋅=
Nota aclaratoria: El valor derrrr.
El valor de la variable r se puede obtener a partir de la ecuación 3.3.4C,
sustituyendo en ella las ecuaciones 3.3.5A y 3.3.5B obteniendo el siguiente resultado:
( )2'
2''22
''
''
''
yx
xdd
ydy
dx
xd
x
dx
dYs
dXrYXr
dYYd
YY
s
dXX
d
XsX
⋅+
⋅=⇒+=⇒
⋅=⇒=
⋅=⇒⋅=
3.3.2A
3.3.3A 3.3.3B
3.3.4B
3.3.5B
3.3.2B
3.3.5A
3.3.4A
3.3.7A
3.3.8A
3.3.9A
3.3.7B
3.3.8B
3.3.9B
3.3.9A
3.3.9B
0 0
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-32
Si desarrollamos el sistema matricial de la ecuación 3.3.1A, sustituyendo antes los
respectivos valores que aparecen en la ecuación 3.3.1B obtenemos tres ecuaciones
distintas que conforman las siguientes coordenadas:
wwwc
wwwc
wwwc
z
y
x
w
w
w
c
c
c
zryrxrz
zryrxry
zryrxrx
T
T
T
z
y
x
rrr
rrr
rrr
z
y
x
⋅+⋅+⋅=⇒
⋅+⋅+⋅=⇒
⋅+⋅+⋅=⇒
+
⋅
=
987
654
321
987
654
321
Si sustituimos el valor de la ecuación 3.3.10A y 3.3.10C en la ecuación 3.3.9A se
obtiene lo siguiente:
)1( 21
''
987
321 rks
dX
Tzryrxr
Tzryrxrf
x
x
zwww
xwww ⋅+⋅⋅=+⋅+⋅+⋅+⋅+⋅+⋅
Análogamente, si sustituimos las expresiones 3.3.10B y 3.3.10C en la ecuación
3.3.9B se obtiene lo siguiente:
)1( 21
'
987
654 rkdYTzryrxr
Tzryrxrf y
zwww
ywww ⋅+⋅⋅=+⋅+⋅+⋅+⋅+⋅+⋅
La técnica propuesta por Tsai asume que la única distorsión que se produce en la
imagen es radial, lo que significa que ésta no afecta a la dirección del vector que va desde
el origen al punto en la imagen, es decir, los vectores diPO y uiPO , son colineales. Del
mismo modo, el vector wocPP es paralelo a estos vectores, donde ocP es un punto sobre el eje
Z a la altura de P (ver Figura 3.12). Esta restricción se conoce con el nombre de restricción
de alineamiento radial, y se cumple independientemente de los coeficientes radiales k1 y k2,
de la distancia focal efectiva f, y de la componente Tz del vector de traslación Tr. Sobre esta
base descansa la metodología de esta técnica.
Para la realización del método de calibración
de Tsai, se suele emplear una imagen de cuadrados
similar al que aparece en la Figura 3.14, cuyas
esquinas se utilizan como puntos de calibración.
Dicha imagen es tomada de una estructura de bloques
metálica. Con todo lo anterior, el problema que se
plantea es el de obtener los parámetros intrínsecos y
extrínsecos (que viene representados en la Tabla 3.2)
resolviendo las ecuaciones 3.3.11A y 3.3.11B a partir
de un conjunto de puntos de los objetos cuyas coordenadas en el sistema del
mundo ),,( www zyx son conocidas y cuyas coordenadas de la imagen ),( YX son medidas.
3.3.10A
3.3.10B
3.3.10C
3.3.11A
3.3.11B
Figura 3.14: Imagen patrón para calibración.
xd'xd
yd
'yd
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-33
Nota aclaratoria: El valor deR .
Los parámetros que intervienen en el Paso 1 de la Figura 3.13 de
transformación de coordenadas del objeto 3D al sistema de coordenadas 3D de la
cámara centrado en el centro óptico son justamente los parámetros extrínsecos. Existen
seis parámetros extrínsecos: los ángulos de Euler de Yaw θ, pitch φ y tilt ψ para la
rotación, y las tres componentes del vector de traslaciónTr
. En concreto, la matriz de
rotación R puede ser expresada en función de θ, φ y ψ del siguiente modo:
⋅⋅⋅+⋅−⋅⋅+⋅+
⋅⋅⋅+⋅+⋅⋅+⋅−
−⋅⋅+
=
)cos()cos()cos()sen()sen()sen()cos()cos()sen()cos()sen()sen(
)sen()cos()sen()sen()sen()cos()cos()cos()sen()cos()cos()sen(
)sen()cos()sen()cos()cos(
φθφθψφψφθψφψ
φθφθψφψφθψφψ
θθψθψ
R
PRÁMETROS INTRÍNSECOS PARÁMETROS EXTRÍNSECOS
DESIGNACIÓN OBSERVACIONES DESIGNACIÓN OBSERVACIONES
Longitud focal efectiva, f
Distancia entre el plano imagen y el centro de
proyección o centro óptico Matriz de rotación, R
Parámetros de la transformación entre el
sistema de coordenadas del mundo y el de la cámara
Distorsión de la lente, 1
k
Parámetro que modela la distorsión radial de la lente en
las direcciones x e y Matriz de traslación, T
r
Incertidumbre de escala, x
s
Factor de escala entre las coordenadas calculadas de los
píxeles y las coordenadas reales, debido a errores en el
proceso de digitalización
Coordenadas ),( yx cc Las coordenadas del punto
central de la imagen en píxeles
Tabla 3.2: Esquema general que representa el método de calibración de los dos planos.
El método de Tsai presenta dos variantes: una que emplea puntos de calibración
coplanarios y otra que requiere puntos de calibración en distintos planos. Ambas son
parecidas, si bien la segunda que es algo más precisa, exige un poco más de tiempo de
computación y es algo más laboriosa ya que necesita varios planos de calibración.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-34
3.3.3. Calibración de la cámara utilizando un conjunto de puntos coplanares.
Para ayudar a aquellos lectores que piensan llevar a cabo la técnica propuesta en
sus propias aplicaciones, el desarrollo se orientará a la utilización del algoritmo.
Primeramente se expondrá el procedimiento del cómputo para cada paso de forma
individual aunque puedan aparecer otros problemas teóricos. La mayoría de los detalles
técnicos aparece en los cuadros de texto de demostraciones.
Figura 3.15: Esquema de la preparación experimental para la calibración de una cámara empleando un conjunto de puntos coplanares.
La Figura 3.15 ilustra el esquema de calibración empleando una cámara que usa
un patrón de puntos coplanar, todos ellos en el mismo plano. En el setup real, el plano
ilustrado en la figura es la superficie superior de un bloque de metal. La descripción
detallada del setup físico se da en la Sección IV-A1 del documento “A versatile camera
calibration technnique for high-accuracy 3D machina vision metrology usin off-the-shelf
TV cameras and lenses”.
Puesto que los puntos de la calibración están en un plano común, el Sistema de
Coordenadas ),,( www zyx puede escogerse tal que 0=wz y el origen de manera que no
esté próximo al centro de la vista, o eje de y, del Sistema de Coordenadas de la Cámara.
La ubicación del sistema ),,( www zyx puede ser definido por el propio usuario pues el
origen es arbitrario; de hecho, no presenta ningún problema que el origen de ),,( www zyx
esté fuera del campo de vista y no cerca del eje de y. El propósito de esto último es
asegurarse de que Ty no sea exactamente cero, para que el procedimiento de cómputo
descrito pueda hacerse de forma sencilla y concernida.
HARDWARE PARA ADIQUISICIÓN DE IMÁGENES
Y COMPUTADORA
CÁMARA
SUPERFÍCIE PLANA QUE CONTIENE LOS PUNTOS DE CALIBRACIÓN QUE SON LAS ESQUINAS DE LOS CUADRADOS
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-35
Los detalles sobre la resolución de las diferentes ecuaciones y los pasos a seguir,
según Roger Y. Tsai, son los que se citan a continuación:
1) Para cada punto de calibración i, obtener ),( didi YX despejando los oportunos
valores diX e diY de la ecuación 3.3.5A y 3.3.5B considerando el factor de escalado sx con
valor 1, puesto que no se calibra.
2) Resolver las cinco incógnitas 11 rTy ⋅−
, 21 rTy ⋅−
, xy TT ⋅−1, 4
1 rTy ⋅−, 5
1 rTy ⋅−, a partir de
la ecuación 3.3.12, que se obtiene por la aplicación de la restricción de alineamiento
radial, es decir, a partir de las ecuaciones 3.3.8A y 3.3.8B:
[ ] di
y
y
xy
y
y
widiwididiwidiwidi X
rT
rT
TT
rT
rT
yXxXYyYxY =
⋅
⋅
⋅
⋅
⋅
⋅⋅−⋅−⋅⋅
−
−
−
−
−
51
41
1
21
11
El conjunto de i puntos daría lugar a un sistema matricial que resolveríamos por
mínimos cuadrados estudiado en el apéndice A si la cantidad de puntos no es 5. Los
subíndices i corresponden a los diferentes puntos de calibración.
Demostración 3.1: Obtención de la ecuación 3.3.12.
El sistema de ecuaciones 3.3.12 se puede obtener dividiendo las expresiones
3.3.8A y 3.3.8B y realizando posteriores operaciones. Además, debemos saber 0=wz :
di
di
ci
ci
di
di
ci
ci
ci
ci
Y
X
y
x
rkY
rkX
z
yf
z
xf
=⇒⋅+⋅⋅+⋅=⇒
)1(
)1(
B8.3.3
A8.3.32
1
21
Aplicando lo conocido en las ecuaciones 3.3.10A y 3.3.10B tenemos:
di
di
ywiwi
xwiwi
di
di
ywiwi
xwiwi
Y
X
Tyrxr
Tyrxr
Y
X
Tryrxr
Tryrxr =+⋅+⋅+⋅+⋅
⇒=+⋅+⋅+⋅+⋅+⋅+⋅
44
21
654
321
0
0
Operando en la expresión llegamos al resultado final que es el sistema matricial:
diwidiywidiydixywidiywidiy
ydiwidiwidixdiwidiwidi
ydiwidiwidixdiwidiwidi
ywiwidixwiwidi
XyXrTxXrTYTTyYrTxYrT
TXyXrxXrTYyYrxYr
TXyXrxXrTYyYrxYr
TyrxrXTyrxrY
=⋅⋅⋅−⋅⋅⋅−⋅⋅+⋅⋅⋅+⋅⋅⋅
⋅=⋅⋅−⋅⋅−⋅+⋅⋅+⋅⋅
⋅+⋅⋅+⋅⋅=⋅+⋅⋅+⋅⋅
+⋅+⋅⋅=+⋅+⋅⋅
−−−−− )()()()()(
)()(
41
411
21
11
5421
5421
5421
3.3.12
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-36
En pos, presentados las dos situaciones posibles, un sistema con una matriz
cuadrada de fácil resolución y otro sobredeterminado a resolver por mínimo cuadrados:
1
51
41
1
21
11
555555555
444444444
333333333
222222222
111111111
d
y
y
xy
y
y
wdwddwdwd
wdwddwdwd
wdwddwdwd
wdwddwdwd
wdwddwdwd
X
rT
rT
TT
rT
rT
yXxXYyYxY
yXxXYyYxY
yXxXYyYxY
yXxXYyYxY
yXxXYyYxY
=
⋅⋅⋅⋅⋅
⋅
⋅−⋅−⋅⋅⋅−⋅−⋅⋅⋅−⋅−⋅⋅⋅−⋅−⋅⋅⋅−⋅−⋅⋅
−
−
−
−
−
1
51
41
1
21
11
222222222
111111111
d
y
y
xy
y
y
wndnwndndnwndnwndn
wdwddwdwd
wdwddwdwd
X
rT
rT
TT
rT
rT
yXxXYyYxY
yXxXYyYxY
yXxXYyYxY
=
⋅⋅⋅⋅⋅
⋅
⋅−⋅−⋅⋅
⋅−⋅−⋅⋅⋅−⋅−⋅⋅
−
−
−
−
−
MMMMM
La restricción de alineamiento radial POPO ocdi || que aparece en la Figura 3.12 se
obtiene del argumento geométrico de que diPO y POoc son la intersección de un plano
que pasa a través de O, Poc y P con dos planos paralelos, uno el plano de la imagen y el
otro paralelo al plano de la imagen y que pasa a través de Poc y P. Igualmente,
POPO ocui || , por tanto uiocdi POPOPO |||| . La condición POPO ocdi || es equivalente a
decir que el producto vectorial POPO ocdi × es nulo, esto significa que
0)()( =⋅+⋅×⋅+⋅ jyixjYiX ccdd
rrrr
Aplicando el método general de producto escalar podemos calcular el vector
resultante y su correspondiente módulo:
0)(
0
0 =⋅−⋅ →⋅⋅−⋅= cdcdMÓDULO
cdcd
cc
dd xYyXkxYyX
yx
YX
kjir
rrr
La ecuación anterior 3.3.14 puede derivarse algebraicamente de 3.3.10A y 3.3.10B
para llegar a una ecuación semejante a la 3.3.12, que contiene las coordenadas de la
imagen ),( dd YX y las coordenadas mundiales ),,( www zyx de los puntos de calibración. Se
pueden usar las ecuaciones citadas obteniendo,
)()( 321654 xwwwdywwwd TzryrxrYTzryrxrX +⋅+⋅+⋅⋅=+⋅+⋅+⋅⋅
Reagrupando los términos en 3.3.15 de modo que, 11 rTy ⋅−
, 21 rTy ⋅−
, xy TT ⋅−1,
41 rTy ⋅−
, 51 rTy ⋅−
sean tratadas como incógnitas, y considerando el caso coplanar,
haciendo 0=wz , se obtiene la ecuación 3.3.12.
3.3.13
3.3.14
3.3.15
3.3.12A
3.3.12B
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-37
3) Obtener los valores de ),,,,( 91 yx TTrr K a partir de 11 rTy ⋅−
, 21 rTy ⋅−
, xy TT ⋅−1,
41 rTy ⋅−
, 51 rTy ⋅−
. Para ello, se define ia para 5,4,3,2,1=i del siguiente modo:
11
1 rTa y ⋅= − 21
2 rTa y ⋅= −
xy TTa ⋅= −13 4
14 rTa y ⋅= −
51
5 rTa y ⋅= −
que son valores previamente obtenidos a través de la ecuación 3.3.12.
3.1) Obtener || yT . Para ello, a partir de 11 rTy ⋅−
, 21 rTy ⋅−
, xy TT ⋅−1, 4
1 rTy ⋅−, 5
1 rTy ⋅−, se
define la siguiente matriz C como:
=
=
YY
YY
T
r
T
rT
r
T
r
cc
cc
54
21
54
21C
Si no hay ninguna fila o columna de C totalmente nula, entonces obtener 2yT
como sigue:
( )( )2
4251
24251
22
2
4
cccc
ccccSST rr
y ⋅−⋅⋅⋅−⋅⋅−−
=
24
23
22
21 ccccSr +++=
En caso contrario obtener 2yT como sigue,
222 1
jiy cc
T+
=
donde ci y cj son elementos de una fila o una columna no nula de la matriz C, es
decir, c1 y c2 o c4 y c5 o c1 y c4 o c2 y c5.
3.2) Determinar el signo de Ty de igual manera al caso coplanar.
3.2.1) Seleccionar un punto concreto i del objeto cuyas coordenadas de la imagen
),( ii YX estén lejos del centro de la imagen ),( yx cc .
Las coordenadas de dicho punto respecto al Sistema de Coordenadas Mundial
son ),,( wiwiwi zyx .
3.2.2) Elegir el signo de Ty como +1.
3.3.17
3.3.18
3.3.20
3.3.19
3.3.16A
3.3.16E
3.3.16B
3.3.16C 3.3.16D
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-38
3.2.3) Obtener las siguientes expresiones:
yTar ⋅= 11 yTar ⋅= 22
yx TaT ⋅= 3 yTar ⋅= 44
yTar ⋅= 55
xwiwic Tyrxrx +⋅+⋅= 21 ywiwic Tyrxry +⋅+⋅= 54
donde los valores de ai son los obtenidos al resolver el sistema 3.3.12.
3.2.4) Si cx y iX coinciden en signo y además cy y iY , entonces el signo de yT es +1, sino -1.
3.3) Obtener la matriz de rotación R, es decir, los valores 987654321 ,,,,,,,, rrrrrrrrr .
3.3.1) Obtener las siguientes expresiones (las mismas que en caso anterior):
yTar ⋅= 11 yTar ⋅= 22
yx TaT ⋅= 3 yTar ⋅= 44
yTar ⋅= 55
donde los valores de ai son los obtenidos al resolver el sistema 3.3.12.
3.3.2) Obtener la matriz de rotación R empleando la expresión 3.3.1B.
Dados los valores 6,5,4,3,2,1=iri , que son elementos en las dos primeras filas
de R, los términos que faltan 963 y , rrr se determinan a partir de la propiedad de
ortonormalidad de la matriz R con las dos primeras filas y considerando que los vectores
fila son unitarios y el determinante de R es 1. Esto es,
111
11
11
11
11
25
24
22
21
28
279
29
28
27
25
228
28
25
22
24
217
27
24
21
25
246
26
25
24
22
213
23
22
21
−+++=−−=⇒=++
−−=⇒=++
−−=⇒=++
−−⋅=⇒=++
−−=⇒=++
rrrrrrrrrr
rrrrrr
rrrrrr
rrsrrrr
rrrrrr
−+++−−−−−−⋅
−−=
111
1
1
25
24
22
21
25
22
24
21
25
2454
22
2121
rrrrrrrr
rrsrr
rrrr
R
3.3.22A
3.3.22B
3.3.22C
3.3.21A
3.3.21E
3.3.21B
3.3.21C 3.3.21D
3.3.21F 3.3.21G
3.3.21A
3.3.21E
3.3.21B
3.3.21C 3.3.21D
3.3.23
3.3.22D
3.3.22E
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-39
4) Obtener la longitud focal efectiva, los coeficientes de distorsión y la posición cz .
4.1) Obtener un valor aproximado de f y zT , ignorando la distorsión de la lente.
Para cada punto de calibración i, debemos establecer la siguiente ecuación lineal
donde intervienen f y zT como incógnitas,
[ ] iyi
z
yi YdwT
fdy ⋅⋅=
⋅− ''
donde ywiwii Tryrxry +⋅+⋅+⋅= 0654 y 0987 ⋅+⋅+⋅= ryrxrw wiwii .
Con varios puntos de calibración del objeto se obtiene un sistema
sobredeterminado de ecuaciones lineales que se puede resolver para encontrar solución a
las incógnitas f y zT . El plano de calibración debe ser lo menos paralelo posible al plano
imagen puesto que esto conllevaría que en el sistema de ecuaciones 3.3.1B aparecerían
dependencias lineales impidiendo su resolución.
La ecuación 3.3.1B se obtiene, tal y como podría haber intuido el lector, de la
ecuación 3.3.11B considerando la constante de distorsión k1 nula. Puesto que a esta
altura del procedimiento ya son conocidos R, Tx y Ty son conocidos, la ecuación 3.3.1B es
una ecuación lineal con incógnitas f y zT . El sistema de ecuaciones sobredeterminado
puede resolverse por el método de mínimo cuadrados.
Conviene advertir que aunque la ecuación 3.3.11A proporciona una ecuación
similar, resultaría redundante, puesto que las incógnitas que de dicho sistema de
ecuaciones ya las habríamos obtenido antes.
Si tras este proceso de longitud focal resultara con un valor negativo ( 0<f ),
entonces la matriz R de 3.3.23 debe recalcularse de la siguiente manera:
−+++−−−−−−−−⋅−
−−−=
111
1
1
25
24
22
21
25
22
24
21
25
2454
22
2121
rrrrrrrr
rrsrr
rrrr
R
4.2) Obtener la solución exacta de f , zT y 1k .
Resolver la ecuación 3.3.11B con f , zT y k1 como incógnitas utilizando algún
método de optimización, tal como el gradiente conjugado. Utilizar las estimas anteriores
para f y zT como estimas iniciales y poner k1 a cero también para la estima inicial.
3.3.24
3.3.25
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-40
3.3.4. Calibración de la cámara utilizando un conjunto de puntos no coplanares.
Con el método de calibración de Tsai de datos coplanares no puede calcularse el
factor de escala sx. Para poder obtenerlos se debe usar otro método en el que los puntos
no estén en el mismo plano. Por tanto, cuando sx no sea conocido a priori deben usarse
las técnicas de la calibración que usan un conjunto de puntos de calibración no
coplanares.
El mismo patrón usado en el caso coplanar puede emplearse ahora, sólo con la
diferencia de que en el caso anterior el patrón se movía a varias alturas z. Podemos pensar
en emplear para el procedimiento de calibración un patrón que sea físicamente no
coplanar, claro, pero es mucho más sencillo de fabricar un patrón de puntos coplanares
que de no coplanares pues deben conocerse las coordenadas de la imagen con precisión.
Por tanto, la dificultad radica ahora en generar un patrón de puntos del que se conozcan
con exactitud sus coordenadas, ya que es más fácil realizarlo si todos están en el mismo
plano.
Los detalles sobre la resolución de las diferentes ecuaciones y los pasos a seguir
son:
1) Para cada punto de calibración i, obtener ),( didi YX despejando los
correspondientes valores diX e diY de la ecuación 3.3.5A y 3.3.5B considerando el factor de
escalado sx.
2) Resolver las siete incógnitas 11 rsT xy ⋅⋅−
, 21 rsT xy ⋅⋅−
, 31 rsT xy ⋅⋅−
, xxy TsT ⋅⋅−1,
41 rTy ⋅−
, 51 rTy ⋅−
, 61 rTy ⋅−
a partir de la ecuación 3.3.26, que se obtiene por la aplicación de
la restricción de alineamiento radial y a partir de las ecuaciones 3.3.8A y 3.3.8B como en
el caso coplanar.
[ ] di
y
y
y
xxy
xy
xy
xy
widiwidiwididiwidiwidiwidi X
rT
rT
rT
TsT
rsT
rsT
rsT
zXyXxXYzYyYxY =
⋅
⋅
⋅
⋅⋅
⋅⋅
⋅⋅
⋅⋅
⋅⋅−⋅−⋅−⋅⋅⋅
−
−
−
−
−
−
−
61
51
41
1
31
21
11
El conjunto de i puntos daría lugar a un sistema matricial que resolveríamos por
mínimos cuadrados si tenemos más de siete puntos de calibración, en caso contrario,
resolveríamos de forma directa si tiene exactamente siete puntos de calibración.
3.3.26
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-41
3) Obtener los valores de ),,,,( 91 yx TTrr K a partir de 11 rsT xy ⋅⋅−
, 21 rsT xy ⋅⋅−
,
31 rsT xy ⋅⋅− , xxy TsT ⋅⋅−1 , 4
1 rTy ⋅− , 51 rTy ⋅− , 6
1 rTy ⋅− . Para ello, se define ia para 7,,2,1 K=i
del siguiente modo:
11
1 rsTa xy ⋅⋅= − 21
2 rsTa xy ⋅⋅= − 31
3 rsTa xy ⋅⋅= −
xxy TsTa ⋅⋅= −14 4
15 rTa y ⋅= − 5
16 rTa y ⋅= −
61
7 rTa y ⋅= −
3.1) Obtener || yT . Para ello, a partir de las expresiones 3.3.27ELF, se aplica la
siguiente expresión:
27
26
25
1||
aaaTY
++=
Demostración 3.2: Obtención de la ecuación 3.3.28.
El valor de la variable r se puede obtener a partir de la ecuación 3.3.4C,
sustituyendo en ella las ecuaciones 3.3.5A y 3.3.5B obteniendo el siguiente resultado:
2
2
26
25
24
2
2
26
25
24
2
26
2
25
2
24
26
125
124
1
61
7
51
6
41
5
27
26
25
||1
||||1
||1
||
)()()(
1||
1||
yY
y
Y
y
Y
y
Y
yyy
Y
yyy
Y
y
y
y
Y
TTT
Trrr
TT
T
rrrT
T
r
T
r
T
rT
rTrTrTT
rTa
rTa
rTa
aaaT
=⇒=⇒++
=⇒++
=⇒
++=
⋅+⋅+⋅=⇒
⋅=
⋅=
⋅=
⇒++
=−−−
−
−
−
3.2) Determinar el signo de Ty de igual manera al caso coplanar.
3.3) Determinar el valor de sx. Para ello, a partir de las expresiones 3.3.27ALC,
23
22
21|| aaaTs Yx ++⋅=
Demostración 3.3: Obtención de la ecuación 3.3.29.
El valor de la variable r se puede obtener a partir de la ecuación 3.3.4C,
sustituyendo en ella las ecuaciones 3.3.5A y 3.3.5B obteniendo el siguiente resultado:
22
2
23
22
212
2
2
22
32
22
22
22
1
23
122
121
1
31
3
21
2
11
1
23
22
21
1||
||||
)()()(||||
xxx
y
Yx
y
xYx
y
x
y
x
y
xYx
xyxyxyYx
xy
xy
xy
Yx
sssT
Tsrrr
T
sTs
T
sr
T
sr
T
srTs
rsTrsTrsTTs
rsTa
rsTa
rsTa
aaaTs
=⇒⋅⋅=⇒++⋅⋅=⇒⋅+⋅+⋅⋅=
⋅⋅+⋅⋅+⋅⋅⋅=⇒
⋅⋅=
⋅⋅=
⋅⋅=
⇒++⋅= −−−
−
−
−
3.3.28
3.3.29
3.3.27A 3.3.27B
3.3.27G
3.3.27C
3.3.27D 3.3.27E 3.3.27F
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-42
3.4) Obtener la matriz de rotación R, es decir, los valores 987654321 ,,,,,,,, rrrrrrrrr .
3.4.1) Obtener las siguientes expresiones:
11
1 asTr xy ⋅⋅= − 21
2 asTr xy ⋅⋅= − 31
3 asTr xy ⋅⋅= −
54 aTr y ⋅= 65 aTr y ⋅= 76 aTr y ⋅=
41 asTT xyx ⋅⋅= −
que puede convertirse en las siguientes nuevas ecuaciones si aplicamos lo
conocido de 3.3.25 y 3.3.26:
23
22
21
11 )sgn(
aaa
aTr y
++⋅=
27
26
25
54 )sgn(
aaa
aTr y
++⋅=
23
22
21
22 )sgn(
aaa
aTr y
++⋅=
27
26
25
65 )sgn(
aaa
aTr y
++⋅=
23
22
21
33 )sgn(
aaa
aTr y
++⋅=
27
26
25
76 )sgn(
aaa
aTr y
++⋅=
23
22
21
4)sgn(aaa
aTT yx
++⋅=
donde los valores de ai son los obtenidos al resolver el sistema 3.3.26 y la función
sgn(x) define el signo de la variable x, es decir, ||)sgn(y
yy T
TT = .
3.4.2) Obtener la matriz de rotación R empleando la expresión 3.3.1B.
Dados los valores 6,5,4,3,2,1=iri , que son elementos en las dos primeras filas
de R, los términos que faltan 987 y , rrr se determinan a partir de la propiedad de
ortonormalidad de la matriz R con las dos primeras filas y considerando que los vectores
fila son unitarios y el determinante de R es 1. Esto es,
26
239
29
26
23
25
228
28
25
22
24
217
27
24
21
11
11
11
rrrrrr
rrrrrr
rrrrrr
−−=⇒=++
−−=⇒=++
−−=⇒=++
−−−−−−=
26
23
25
22
24
21
654
321
111 rrrrrr
rrr
rrr
R
3.3.30A 3.3. 30B
3.3.30G
3.3.30C
3.3.30D 3.3.30E 3.3.30F
3.3.31A
3.3.31B
3.3.31G
3.3.31C
3.3. 31D
3.3.31E
3.3.31F
3.3.32A
3.3.32B
3.3.32C
3.3.33
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-43
4) Obtener la longitud focal efectiva, los coeficientes de distorsión y la posición cz .
4.1) Obtener un valor aproximado de f y zT , ignorando la distorsión de la lente.
Para cada punto de calibración i, debemos establecer la siguiente ecuación lineal
donde intervienen f y zT como incógnitas,
[ ] iyi
z
yi YdwT
fdy ⋅⋅=
⋅− ''
donde ywiwii Tryrxry +⋅+⋅+⋅= 0654 y 0987 ⋅+⋅+⋅= ryrxrw wiwii . Con varios
puntos de calibración del objeto se obtiene un sistema sobredeterminado de ecuaciones
lineales que se puede resolver para encontrar solución a las incógnitas f y zT .
El plano de calibración debe ser lo menos paralelo posible al plano imagen puesto
que esto conllevaría que en el sistema de ecuaciones 3.3.1B aparecerían dependencias
lineales impidiendo su resolución.
La ecuación 3.3.1B se obtiene, tal y como podría haber intuido el lector, de la
ecuación 3.3.11B considerando la constante de distorsión k1 nula. Puesto que a esta
altura del procedimiento ya son conocidos R, Tx y Ty son conocidos, la ecuación 3.3.1B es
una ecuación lineal con incógnitas f y zT . El sistema de ecuaciones sobredeterminado
puede resolverse por el método de mínimo cuadrados.
Conviene advertir que aunque la ecuación 3.3.11A proporciona una ecuación
similar, resultaría redundante, puesto que las incógnitas que de dicho sistema de
ecuaciones ya las habríamos obtenido antes.
Si tras este proceso de longitud focal resultara con un valor negativo ( 0<f ),
entonces la matriz R de 3.3.26 debe recalcularse de la siguiente manera:
−−−−−−−−−−
=2
62
32
52
22
42
1
654
321
111 rrrrrr
rrr
rrr
R
4.2) Obtener un valor aproximado de f y zT , ignorando la distorsión de la lente.
Resolver la ecuación 3.3.11B con f , zT y k1 como incógnitas utilizando algún
método de optimización, tal como el gradiente conjugado. Utilizar las estimas anteriores
para f y zT como estimas iniciales y poner k1 a cero también para la estima inicial.
3.3.34
3.3.35
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-44
3.3.5. Enmiendas del método de calibración de Tsai I: Técnica de Ayache.
Este método se fundamenta, principalmente, en la
utilización de un modelo de cámara que coincide con el modelo
empleado en la calibración de Tsai y que, como recordaremos,
venía expresado a través de la ecuación 3.3.1A.
En sí, y al igual que el método de calibración de Tsai, este
método trata de obtener los elementos que conforman la matriz
de rotación R y las componentes del vector de
traslación Tr
partiendo de la ecuación 3.3.1A:
TPP wc
r+⋅= R ⇔ T
z
y
x
z
y
x
w
w
w
c
c
c
r+
⋅=
R
Sin embargo, y a pesar de la gran cantidad de similitudes que presenta éste
método respecto al anterior, la diferencia principal entre ambas técnicas radica en el valor
de la componente Tr
del vector Tr
pues puede considerase con un valor unitario, de forma
que se tiene las once incógnitas siguientes:
[ ]Tyx TTrrrrrrrrr 987654321=θ
Además, se toma la consideración de asumir un valor para la distancia focal
de 1=f . Dado un punto de la imagen representado en coordenadas 3D del mundo
),,( wwww zyxP y su respectiva proyección dada por la expresión 3.3.1A, se obtiene dos
ecuaciones sustituyendo las premisas indicadas en las ecuaciones 3.36A y 3.36B:
)1(1
21
''
987
321 rks
dX
zryrxr
Tzryrxr
x
x
www
xwww ⋅+⋅⋅=+⋅+⋅+⋅
+⋅+⋅+⋅
)1(1
21
'
987
644 rkdYzryrxr
Tzryrxry
www
ywww ⋅+⋅⋅=+⋅+⋅+⋅
+⋅+⋅+⋅
En esta situación, dados n puntos de la imagen, se obtiene un sistema de
ecuaciones que puede resolverse por el método de mínimo cuadrados o por el filtro de
Kalman. En este último caso, añadiendo un ruido adicional en la medida de las
coordenadas del punto imagen.
3.3.1A
3.36B
3.36A
Figura 3.15: Imagen de Nicholas Ayache.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-45
3.3.6. Enmiendas del método de calibración de Tsai II: Técnica de Song De Ma.
Este método de calibración considera exactamente los mismos parámetros
extrínsecos que venían descritos en la sección 3.3 y que eran empleados el método de
Tsai, aunque no ocurre lo mismo con los parámetros intrínsecos. Los parámetros
intrínsecos obtenidos durante el proceso de calibración son los siguientes:
• Centro de la imagen ),( yx cc .
• Distancias focales, xf y yf donde dichos valores son:
xx d
ff =
yy d
ff =
Siendo xf y yf las dimensiones de un píxel en las direcciones x e y.
En cuanto al procedimiento de calibración, éste se realiza mediante
desplazamientos de la cámara. Cuando tales desplazamientos se pueden definir como
traslaciones puras, los vectores desplazamiento intersectan en un punto conocido como
Foco de Expansión.
Los parámetros extrínsecos se determinan a partir de un movimiento general y los
parámetros intrínsecos a partir de 6 traslaciones puras. Como quiera que dichos
parámetros puedan desajustarse, propone un método de auto-calibración sin usar objeto
de referencia conocido.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-46
3.4. Método de calibración de Zhang.
A lo largo de este apartado proponemos una nueva
técnica flexible para calibrar una cámara fácilmente. Sólo se
exige a la cámara observar un patrón bidimensional mostrado
en unas pocas (por lo menos dos) orientaciones diferentes.
Una de las partes tiene libertad de movimiento, es decir, o la
cámara o el patrón plano puede moverse libremente, pero
ambos a la vez no. No es completamente necesario tener
conocimiento del movimiento llevado a cabo y, como otra de
las ventajas que puede tener este método, se trata del
planteamiento de un modelo de distorsión radial de la lente.
El procedimiento propuesto consiste en una solución closed-form, seguida por un
refinamiento no lineal basado en el criterio de máxima probabilidad. Según Zhengyou
Zhang, se han obtenido unos resultados tremendamente buenos y se han empleado los
datos reales obtenidos de la cámara para aplicarlos en simulación de la computadora y
probar, de este modo, la técnica propuesta. El software correspondiente está disponible
de la página de Web del autor http://research.microsoft.com/~zhang/.
Comparado con técnicas clásicas que usan un equipo más caro, la técnica
propuesta es fácil de usar y flexible. Avanza un paso más en la visión 3D por computador
permitiendo un salto desde laboratorios hacia un uso en el mundo cotidiano. La técnica
que viene desarrollada en la presente sección únicamente exige la observación,
obviamente por parte de la cámara, de un patrón de calibración plano en unas (por lo
menos) diferentes orientaciones. Tal patrón puede imprimirse directamente de una
impresora o fotocopiadora láser y puede unirse a otros patrones ya creados mediante, por
ejemplo, una encuadernación dura. Tanto la cámara como el patrón plano pueden
moverse a mano, pero recordando que tal movimiento debe ejecutarse alternativamente y
no simultáneamente. Además, no debemos obligatoriamente ejecutar un movimiento
conocido por lo que no es necesario afinar en el movimiento. El procedimiento
propuesto, que emplea información de medición 2D, esta catalogado como una
combinación de calibración fotogramétrica, que utiliza un modelo explícito 3D y auto-
calibración, que emplea movimientos rígidos o, equivalentemente, información 3D
explícita. Se ha experimentado usando simulación por computador a partir de los datos
reales para probar la técnica propuesta, y se han obtenido los resultados muy buenos.
Comparado con las técnicas clásicas, la técnica propuesta es considerablemente más
flexible. Comparado con la auto-calibración, gana un grado considerable de robustez.
Figura 3.15: Imagen
de Zhengyou Zhang
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-47
3.4.1. Desarrollo matemático generalizado.
Examinaremos las restricciones que aparecen en los parámetros intrínsecos de la
cámara procedentes de la observación de un solo plano. Primeramente expondremos la
notación matemática empleada en esta sección.
Un punto bidimensional viene denotado por un vector de la siguiente manera:
=
y
xpr
Un punto tridimensional se denota por un vector cuyas componentes son las
siguientes:
=
Z
Y
X
Pr
Emplearemos el carácter alfanumérico ~ para referirnos a la adición de una
componente con valor unitario al final del correspondiente vector, esto es,
=
1
~y
x
pr
=
1
~
Z
Y
X
Pr
En esta técnica, como en las anteriores estudiadas, se basa en la utilización de un
modelo de cámara apoyado en el modelo pin-hole. Por lo tanto, la relación entre un punto
tridimensional y su correspondiente imagen viene dado por la expresión siguiente:
[ ] PTps~~ rrr ⋅⋅=⋅ RA
donde s es un factor de escala arbitrario y A es llamada matriz intrínseca de la
cámara.
3.4.1A
3.4.2B
3.4.1B
3.4.2B
3.4.3
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-48
En la matriz A aparecen las coordenadas del punto principal ),( 00 yx , α y β son
factores de escala en las direcciones de los ejes x e y del sistema de coordenadas de la
imagen y, además, el parámetro γ describe la inclinación de ambos ejes de la imagen:
=
100
0 0
0
y
x
β
γα
A
Los parámetros R y Tr
son conocidos como los parámetros extrínsecos (similares a
los seleccionados en la técnica de calibración de Tsai) y hacen referencia a una rotación R
y una traslación Tr
que relacionan el sistema de coordenadas del mundo con el sistema de
coordenadas de la cámara:
=
987
654
321
rrr
rrr
rrr
R
=
z
y
x
T
T
T
Tr
Sin perdida de generalidad, a lo largo del desarrollo teórico de esta técnica
asumiremos que el modelo plano está a una altura 0=Z respecto al sistema de
coordenadas del mundo. De la expresión 3.4.3 podemos obtener, sustituyendo en ella los
valores de cada término (ecuaciones 3.4.1B, 3.4.2B, 3.4.3A y 3.4.3B), una expresión
nueva del modelo seguido:
[ ] PTps T~~ rrr ⋅⋅=⋅ RA ⇔
⋅
⋅
=
⋅
1
0100
0
1 987
654
321
0
0
Y
X
Trrr
Trrr
Trrr
y
x
y
x
s
z
y
x
β
γα
Abusando de notación, emplearemos Pr
para referirnos a un punto en el modelo
plano, pero, en realidad, la ecuación 3.4.2B se convierte en [ ]TYXP =r
puesto que Z
siempre va a anularse. De igual manera, pasamos a una expresión [ ]TYXP 1~
=r
:
=
Y
XPr
=
1
Y
X
Pr
3.4.3A
3.4.3B
3.4.4
3.4.5A
3.4.5B
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-49
Debido a los cambios realizados, un punto tridimensional y su imagen viene
relacionados por la siguiente expresión:
⇒
⋅
⋅
=
⋅
1
0100
0
1 987
654
321
0
0
Y
X
Trrr
Trrr
Trrr
y
x
y
x
s
z
y
x
β
γα
⋅
⋅
=
⋅
1100
0
1 87
54
21
0
0
Y
X
Trr
Trr
Trr
y
x
y
x
s
z
y
x
β
γα
Pps~~ rr ⋅Η=⋅
donde la matriz que relaciona ahora ambas coordenadas se denomina homografía
H:
⋅
=
z
y
x
Trr
Trr
Trr
y
x
87
54
21
0
0
100
0 β
γα
H
Dada una imagen del modelo plano, podremos estimar una homografía, es decir,
desarrollando la ecuación 3.4.8 multiplicando ambas matrices, obtenemos la siguiente
expresión:
⋅+⋅⋅+⋅⋅+⋅
⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅
=
z
zy
zyx
Trr
TyTryrryr
TxTTrxrrrxrr
87
0805704
080527041
βββ
γαγαγα
H
Definimos una nueva matriz como el resultado de la ecuación 3.4.9 multiplicado
por un cierto escalar:
[ ]TT
hhh
hhh
hhh
rRA ⋅⋅=
λ
987
654
321
⋅+⋅⋅+⋅⋅+⋅
⋅+⋅+⋅⋅+⋅+⋅⋅+⋅+⋅
⋅=
z
zy
zyx
Trr
TyTryrryr
TxTTrxrrrxrr
hhh
hhh
hhh
87
0805704
080527041
987
654
321
βββ
γαγαγα
λ
donde λ es un escalar arbitrario.
3.4.6
3.4.8
3.4.7
3.4.9
3.4.10B
3.4.10A
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-50
Usando el conocimiento de que los vectores [ ]Trrr 741 y [ ]Trrr 852 son
ortogonales, tenemos lo siguiente:
[ ] ( ) 0
8
5
2
11
741 =
⋅⋅⋅ −−
h
h
h
AAhhhT
que viene demostrado en el apéndice B, apartado B, del final del estudio.
Además, podemos obtener otra expresión:
[ ] ( ) [ ] ( )
⋅⋅⋅=
⋅⋅⋅ −−−−
8
5
2
11
852
7
4
1
11
741
h
h
h
AAhhh
h
h
h
AAhhhTT
que también viene demostrado en dicho apéndice, apartado C. Estas dos
expresiones 3.4.11 y 3.4.12 son dos restricciones básicas de los parámetros intrínsecos,
que dan lugar a una homografía. Puesto que una homografía tiene ocho grados de
libertad, siendo seis de ellos parámetros extrínsecos (tres para rotación y otros tres para
traslación), nosotros seremos capaces de obtener dos restricciones para los parámetros
intrínsecos. Debemos tener en cuenta que el valor de ( ) 11 −− ⋅ AAT
viene desarrollado en el
apéndice B, apartado A. En seguida, daremos a lo visto una interpretación geométrica.
Nota Aclaratoria: las homografías y las escenas planas.
Este tipo de ente matemático es empleado, generalmente, en estudios de
geometría descriptiva de dos cámaras cuando el mundo está compuesto por un plano.
Las imágenes de puntos 3D sobre un plano están relacionadas por una homografía,
por tanto se dice que un plano induce una homografía entre las vistas. La homografía
transfiere puntos de una vista a la otra como si estos estuvieran sobre el plano.
Figura 3.15: Imagen de Zhengyou Zhang
3.4.11
3.4.12
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-51
Si relacionamos las ecuaciones 3.4.11 y 3.4.12, no es excesivamente complicado
verificar que el modelo plano, en arreglo a nuestra conformidad, esté descrito en el
sistema de coordenadas de la cámara por la siguiente ecuación:
[ ] 0963963 =
⋅⋅+⋅+⋅
c
c
c
c
zyx
w
z
y
x
TrTrTrrrr
De la expresión anterior conocemos que si 0=cw , lo es para puntos ubicados en
el infinito y 1=cw para el resto de casos. Este plano intersecta el plano en el infinito en
una línea que puede percibiese fácilmente:
0
7
4
1
r
r
r
y
0
8
5
2
r
r
r
Son dos puntos particulares de la línea. Cualquier otro punto contenido en esta
recta es una combinación lineal de tales puntos, es decir,
⋅+⋅
⋅+⋅
⋅+⋅
=
⋅+
⋅=∞
000
87
54
21
8
5
2
7
4
1
rbra
rbra
rbra
r
r
r
br
r
r
axr
Por definición, el punto ∞xr
, conocida con el nombre de punto circular, satisface
la siguiente expresión:
0=⋅ ∞∞ xxT rr
3.4.13
3.4.14A
3.4.14B
3.4.15
3.4.16
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-52
es decir,
⋅+
⋅⋅
⋅+
⋅=⋅ ∞∞
0000
8
5
2
7
4
1
8
5
2
7
4
1
r
r
r
br
r
r
ar
r
r
br
r
r
axx
T
T rr
El resultado final, demostrado en el apéndice B apartado C, es el siguiente:
022 =+ ba
La solución a la última expresión es iab ⋅±= , donde i es la variable imaginaria.
Sustituyendo este valor obtenido en la ecuación 3.4.15, tenemos que los dos puntos de
intersección son:
⋅±⋅
⋅±⋅
⋅±⋅
⋅=
⋅⋅±
⋅=∞
000
87
54
21
8
5
2
7
4
1
rira
rira
rira
ar
r
r
iar
r
r
axr
El significado de este par de puntos complejos conjugados radica en que éstos son
invariantes a transformaciones euclídeas. Su proyección en el plano imagen viene dada,
para un factor escalar, por
⋅±
=
⋅±
⋅⋅=∞
8
5
2
7
4
1
8
5
2
7
4
1
00
~
h
h
h
i
h
h
h
r
r
r
ir
r
r
p Aλr
De igual manera, tendríamos,
[ ] [ ]( ) ( ) 0
8
5
2
7
4
1
11
852741 =
⋅±
⋅⋅⋅⋅± −−
h
h
h
i
h
h
h
AAhhhihhhT
que requiere que tanto la parte imaginaria como la real sean nulas. Esto puede
verse al aplicar las expresiones 3.4.11 y 3.4.12.
3.4.17
3.4.19
3.4.20
3.4.21
3.4.22
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-53
3.4.2. Resolución de la calibración de la cámara.
Esta sección proporciona los detalles suficientes para conocer cómo resolver el
problema de calibración de cámara de manera eficaz. Nosotros empezamos con una
solución analítica, seguida por una técnica de optimización de no lineal basada en el
criterio de probabilidad máximo. Finalmente, tal y como se había explicado al principio
de la sección 3.4, tenemos en cuenta la distorsión de lente, damos ambas soluciones,
tanto la analítica como la del no lineal.
Primeramente obtenemos como solución de closed-form la siguiente matriz B:
( ) 11 −− ⋅= AABT
Para ello nos hace falta conocer el valor de la inversa por lo que la calcularemos
empleando el método por pivotación de Gauss:
−
−−
=−
100
10
1
0
00
1
ββ
αββγ
αβγ
αy
xy
A
Por tanto, tenemos que la matriz B se puede obtener de la siguiente forma:
( )
++−+−−
+−+−
−−
=
⋅= −−
22
22
0
22
00
22
22
00
2
00
22
22
00
22
22
2
2
00
22
333231
232221
131211
11
)()()(
)(
1
βαβαβγ
βααγβγ
βαβγ
βααγβγ
βααγ
βαγ
βαβγ
βαγ
α
yxyyxxy
yx
xy
BBB
BBB
BBB
TAAB
Debemos notar que la matriz B es simétrica, definida por un vector de seis
componentes,
[ ]TBBBBBBb 332322131211 ,,,,,=r
Una vez estimado el vectorbr
, nosotros podemos computar todos los parámetros
intrínsecos de la cámara. La matriz B se estima para un cierto escalar, es decir,
( ) 11 −− ⋅⋅= AABTλ
con λ un escalar arbitrario.
3.4.23
3.4.24
3.4.25
3.4.26
3.4.27
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-54
Sin dificultad alguna, podemos extraer los parámetros intrínsecos de la matriz B:
2
122211
231113120
BBB
BBBBy
−−=
11
231113120
2
1333
)(
B
BBBByBB
−+−=λ
11B
λα =
2
122211
11
BBB
B
−= λβ
12
2
Bλ
βαγ −=
13
2
00 Byxλ
ααγ −=
Una vez obtenido el valor de la matriz A, los parámetros extrínsecos para una
imagen son rápidamente computados. De la ecuación 3.4.8, tenemos lo siguiente:
⋅⋅=
−
7
4
1
1
7
4
1
h
h
h
r
r
r
Aλ
⋅⋅=
−
8
5
2
1
8
5
2
h
h
h
r
r
r
Aλ
×
=
8
5
2
7
4
1
9
6
3
r
r
r
r
r
r
r
r
r
⋅⋅=
−
9
6
3
1
h
h
h
T
T
T
z
y
x
Aλ
Con un valor de λ concreto. Por supuesto, si existiera un ruido en la obtención de
la información, la matriz computada R no sería, en general, una matriz que satisfaciera las
propiedades de una matriz de rotación, es decir, los módulos de los vectores deben ser
unitarios. Por tanto, el valor de λ debe ser:
1
8
5
2
1
1
7
4
1
1
−
−
−
−
⋅=
⋅=
h
h
h
h
h
h
AAλ
3.4.28A
3.4.28B
3.4.28C
3.4.28D
3.4.28E
3.4.28F
3.4.29A
3.4.29B
3.4.29C
3.4.29D
3.4.30
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-55
3.4.3. Procedimiento de calibración del método estudiado.
El procedimiento de calibración recomendados es el siguiente:
1) Imprimir un patrón y unirlo a una superficie plana.
2) Tomar una serie de imágenes del modelo plano desde diferentes
orientaciones moviendo para ello la cámara o el plano.
3) Detectar los puntos importantes de la imagen.
4) Estimar los cinco parámetros intrínsecos y todos los parámetros
extrínsecos utilizando una solución de tipo closed-form, descrita antes.
5) Afinar todos los parámetros, incluyendo la distorsión de la lente.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-56
3.5. Comparativa sobre las técnicas y tecnologías existentes.
En esta sección se realiza una comparativa analizando las ventajas y desventajas de
las tecnologías expuestas en el capítulo anterior para la realización de una buena
calibración de cámaras.
La calibración de la cámara es un procedimiento necesario en visión por
computador para conseguir extraer la información dimensional y geométrica de una
imagen 2D. Como ya sabemos, la calibración es el método mediante el cual se estiman los
parámetros intrínsecos y extrínsecos de la cámara, así como los parámetros del
manipulador.
El calibrar la cámara según la matriz de transformación de perspectiva equivale a
determinar 12 elementos, para lo cual es necesario plantear un sistema de 12 ecuaciones,
que requiere un mínimo de 6 puntos. Cuando el sistema de ecuaciones es homogéneo se
hace necesario fijar una de las incógnitas.
Respecto a este sistema podemos ser capaces de determinar las 11 incógnitas del
vector utilizando la matriz pseudoinversa, si al menos son conocidos 6 o más puntos
3D y sus respectivas coordenadas imagen para así trabajar con un sistema
sobredeterminado.
El método de calibración de cámaras mediante dos planos aunque no soluciona el
problema de la proyección directa, presenta la ventaja de ofrecer la recta de proyección
correspondiente a cada píxel de la imagen sin tener que asumir ningún modelo de cámara
en particular además de que las ecuaciones a resolver son lineales, ya que la calibración de
cámaras mediante dicho método se realiza a partir de rectas de proyección, lo que
computacionalmente es de gran importancia.
Sin embargo, la técnica propuesta por Roger Y. Tsai es a día de hoy, una de las
más extensamente empleadas. La mayor parte de las aplicaciones industriales de visión
artificial utilizan dicha técnica por su gran precisión y versatilidad. Ya que como se ha
comentado anteriormente, el objetivo fundamental de dicha técnica es la búsqueda de
una restricción, o ecuación en donde intervengan diversas constantes, que sean
únicamente una función de un subconjunto de los parámetros de calibración para reducir
el tamaño del espacio de parámetros de calibración.
Capítulo 3 Técnicas y Tecnologías Existentes
Jaime Martínez Verdú MTIT: Visión por Computador 3-57
Además, la técnica propuesta por Tsai tiene en cuenta el efecto de la distorsión de
la lente, asumiendo que la única distorsión que se produce en la imagen es radial.
Se ha de tener encuenta que el método de Tsai presenta dos variantes: una que
emplea puntos de calibración coplanarios y otra que requiere puntos de calibración en
distintos planos. Ambas son parecidas, si bien la segunda que es algo más precisa, exige
un poco más de tiempo de computación y es algo más laboriosa ya que necesita varios
planos de calibración.
Una técnica flexible para calibrar una cámara fácilmente se basa en la observación
de un patrón bidimensional mostrado en unas pocas (por lo menos dos) orientaciones
diferentes. Dicha técnica es la correspondiente al método de calibración de Zhang, donde
como se ha comentado en capítulos previos, una de las partes tiene libertad de
movimiento sin necesidad de conocer el movimiento llevado a cabo en la observación de
dicho patrón.
Comparado con técnicas clásicas que usan un equipo más caro, la técnica
propuesta es fácil de usar y flexible. Avanza un paso más en la visión 3D por computador
permitiendo un salto desde laboratorios hacia un uso en el mundo cotidiano.
Otros métodos comúnmente utilizados para realizar la calibración de cámaras son
la auto-calibración y la calibración fotogramétrica. Como se comentó en el capítulo
anterior, mediante la auto-calibración no se puede saber cual es el tamaño real de los
objetos captados por las cámaras (un objeto pequeño cerca del centro óptico puede tener
la misma imagen que el mismo objeto agrandado más cerca del plano de imagen), ya que
la reconstrucción realizada con dicho modelo viene afectada por un factor de escala.
Si lo que se busca es una reconstrucción 3D precisa, como es el caso de muchas de
las aplicaciones de la robótica, es recomendable utilizar la calibración fotogramétrica.
Capítulo 5 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-1
APLICACIONES
En cualquier sistema de visión artificial que se precie es necesaria una calibración
de la cámara de dicho sistema puesto que, como ya conocemos, si la cámara está
correctamente calibrada, será posible establecer una relación entre las coordenadas
tridimensionales de los objetos que forman parte de la escena y sus correspondientes
proyecciones bidimensionales, y viceversa.
A continuación, expondremos una serie de aplicaciones o ejemplos de utilización
de un sistema de visión donde se encuentra implicada la calibración de la cámara en el
desarrollo del proceso que realiza dicho sistema.
Efectivamente, en esta sección se muestran algunos ejemplos en los que se puede
apreciar el campo de aplicaciones de la calibración de un Sistema de Visión Artificial:
• Fotogrametría.
En la fotogrametría se persigue realizar mediciones del espacio 3D a partir de
fotografías tomadas de la escena. De esta manera es posible medir superficies,
construcciones, objetos, etc.
Asimismo, se puede llevar a cabo una topología de un terreno o incluso la
medición del posicionamiento de una borrasca.
CAPÍTULO 4
Capítulo 5 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-2
• Rectificación Métrica.
Mediante esta técnica es posible hacer correcciones de perspectiva (ver Figura 4.1)
y correcciones de distorsión de lente (ver Figura 4.2).
Si se elimina la distorsión por proyección de una imagen (imagen afín), es posible
medir distancias en esta imagen mediante el hecho de que dos líneas ortogonales (en
espacio euclidiano, pero medidas en la proyección) l’, m’ cumplen con la siguiente
relación:
0'' *r
=⋅⋅ ∞ mClT
Se requieren en este caso dos pares de líneas ortogonales en espacio euclidiano.
(a) Distorsión de perspectiva (b) Corrección de perspectiva
Figura 4.1: Ejemplo de rectificación desde la perspectiva (a) a la (b).
(a) Distorsión de la lente (b) Corrección de la distorsión
Figura 4.2: Ejemplo de rectificación de distorsión de una lente.
Capítulo 5 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-3
• Reconstrucción 3D.
A partir de las vistas, mediante la técnica de triangulación, es posible obtener un
modelo 3D del objeto proyectado en las vistas. El principio de triangulación viene
mostrado en la Figura 4.3: sabiendo que los puntos A y B son proyecciones de un mismo
punto tridimensional Q, es decir A y B son correspondientes, y conociendo los centros
ópticos de la proyección C1 y C2, se puede encontrar el punto Q a partir de la intersección
entre las dos rectas ⟨C1 , A⟩ y ⟨C2 , B⟩.
Figura 4.3: Esquema de triangulación.
• Matching y Tracking.
Por medio del Matching y Tracking es posible encontrar la correspondencia entre
puntos de varias imágenes. Los puntos correspondientes son aquellos que representan
una proyección del mismo punto físico en el espacio 3D. En la Figura 4.4 se pueden
apreciar tres vistas de una taza tomadas por una cámara fija mediante la rotación del eje
central de la taza.
Se puede observar que los puntos m1, m2 y m3 en las imágenes 1, 2 y 3
respectivamente, son correspondientes entre sí porque son proyecciones del mismo punto
m de la taza.
Capítulo 5 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-4
Mediante la teoría de Visión Artificial podemos responder las siguientes
preguntas:
i) Conociendo el punto m1 en la imagen 1, ¿dónde está su punto
correspondiente en las imágenes 2 y 3?
ii) Conociendo los puntos m1 y m2 y sabiendo que son correspondientes,
¿dónde se encuentra el punto correspondiente en la tercera imagen?
Figura 4.4: Obtención de correspondencia de puntos.
• Computación gráfica.
Si se tiene un modelo de la formación de la imagen f: 3D/2D, es posible entonces
simular gráficamente las vistas bidimensionales que se obtendrían de un objeto
tridimensional.
• Estimación de Movimiento.
Mediante una cámara que toma imágenes de un objeto en movimiento es posible
estimar el movimiento del objeto a partir de los puntos de correspondencia en la
secuencia de imágenes.
Capítulo 4 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-5
4.1. Aplicaciones con calibración simultánea.
La configuración del sistema de adquisición para algunas aplicaciones
fotogramétricas permite el proceso de calibración simultánea de cámaras. Éste suceso es una
ventaja de la solución pues no requiere ningún esfuerzo adicional para la calibración
externa de las cámaras y la cámara de datos configurada como actual durante el momento
de la exposición puede determinarse por ajuste. Este procedimiento, sin embargo, sólo es
posible si el software de evaluación ofrece la opción de calibración simultánea. Como
ejemplo, permita mostrarle la medida de una parte automovilística (Figura 4.5).
Figura 4.5: Medida del lateral trasero de un coche.
Se tomaron un total de nueve fotografías con una cámara de tipo Rollei Q16
MetricCamera (Figura 4.6) con una resolución de 4.096 × 4.096 elementos del sensor. De
hecho, se usó, con gran efectividad para la evaluación de la técnica, el software del Puesto
de Trabajo Digital que proporcionaba RolleiMetric. Esto permite la determinación
totalmente automática de las coordenadas 3D, mientras que partiendo de la medida de
los puntos de la imagen se consigue corregir el cómputo de todos los parámetros
conocidos de la cámara. Además de los tamaños del objeto y de las coordenadas 3D de
todos los puntos medidos en el sistema de Coordenadas Mundiales, éstos incluyen los
parámetros de la cámara y todos los posibles estados de la cámara. Para este ejemplo las
coordenadas tienen una exactitud de aproximadamente 1/100 mm en cada uno de los
tres ejes de coordenadas. La Figura 4.7, b ilustra otro ejemplo dentro de la industria
automovilística. Aquí, las pruebas de la torsión se realizan en función del curso de
medidas de la deformación. Los datos se obtuvieron por medio de fotogrametría.
Capítulo 4 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-6
Un total de 3.000 puntos alrededor del vehículo fueron grabados en un total de
170 imágenes con la ayuda de una cámara digital con una resolución de 3.000 × 2.000
elementos sensores. Aquí también, la cámara se calibró simultáneamente durante la
adquisición de la imagen. Los puntos medidos eran exactos dentro de un rango de
aproximadamente 5/100 mm.
La mayoría de las aplicaciones de fotogrametría para el trabajo de alta precisión
tridimensional de la metrología industrial se basa en la calibración simultánea. Pueden
encontrarse numerosos usos en la industria de la aviación (midiendo componentes del
avión y adornos), en la industria aeronáutica (midiendo satélites y antenas), y en la
ingeniería civil (midiendo los componentes acabados).
Figura 4.6: Cámara Rollei Q16 MetricCamera.
Figura 4.7: a Medida de un coche; b Vista 3D de los puntos medidos.
Capítulo 4 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-7
4.2. Aplicaciones con cámaras precalibradas.
Los robots de la industria KUKA Robotertechnik de Augsburg han sido ajustados,
medidos y calibrados en dos lugares con instalaciones especiales durante años. Para medir
la posición y orientación necesaria se ha utilizado un sistema de metrología que consiste
en posicionar una o dos cámaras del tipo RolleiMetric Réseau Scanning Cameras (RSCs)
en un trípode (Ver figura 4.8). Utilizando un sensor CCD estándar, estas cámaras
alcanzan una resolución de 4.200 x 4.200 píxeles en un formato de imagen de 50 x 50
mm2 con una sensibilidad de 1µm. La orientación de las imágenes por separado en
relación con la imagen completa se realiza de una forma óptico-numérica con una medida
réseau.
Además, este método permite enfocar la cámara sin necesidad de cambiar la
orientación interna.
Figura 4.8: Ajuste de un robot.
Las cámaras son controladas con un computador comercial mediante un captador
funcionando en Windows NT. El PC realiza el procesado y proporciona los resultados
además de realizar la conexión para el control del robot. El sistema de medición es
independiente del control del robot.
Capítulo 4 Aplicaciones
Jaime Martínez Verdú MTIT: Visión por Computador 4-8
La orientación interior de las cámaras se determina con una calibración previa
especial. Con el conocimiento de la orientación interior se puede determinar la
orientación de las cámaras. Se utilizan varias tarjetas con reflectantes como puntos de
control, que también se identifican como herramientas para el robot. Una tarjeta
secundaria con un adaptador se utiliza para una determinación previa de la orientación
externa y de la base del robot.
La calidad del sistema de orientación se verifica con unas medidas especiales. Se
suele realizar una recalibración del sistema en periodos de algunos meses.
Otras aplicaciones para la captura de objetos en 3D se pueden encontrar, por
ejemplo, en la fotografía de accidentes y en arquitectura. En estos campos, la cámara es
calibrada para diferentes puntos de vista utilizando distintos métodos. Un ejemplo es el
RolleiMetric ChipPack con una resolución de 2.000 x 2.000 elementos sensores. Para
mantener la calibración interior de la cámara durante periodos largos se utiliza unas
lentes métricas especiales. Los datos de la orientación interior se almacenan en el
software. Esto garantiza una gran precisión en las imágenes con mínimo coste en la fase
de adquisición de la imagen.
Conclusión....
En este texto se definió el término calibración, el cual, es esencial su
entendimiento para los intereses de este trabajo; así también se mostró los parámetros
extrínsecos e intrínsecos que constituyen la calibración de una cámara y como afectan
cada uno de ellos a un sistema de visión. Se explicaron a detalle dos métodos clásicos de
calibración y otros dos más novedosos y sus diferencias, que nos dan una idea de las
herramientas matemáticas necesarias y condicionantes para alcanzar los resultados
correctos de una calibración.
Hay que remarcar que muchos de los métodos de calibración en la literatura se
han desarrollado con la base de obtener los puntos 3D en el espacio de patrones de
calibración, los cuales se han explicado como funcionan en este ámbito y para con ello
hacer notar diferencias con respecto a nuestro trabajo.
De la misma forma se han revisado antecedentes de la calibración, desde aquellos
trabajos que han propuesto el uso de los mencionados patrones de calibración a otros en
esencia más complejos al estimar los parámetros de una cámara en base a objetos en
movimiento, y que se pretendió hacer énfasis en ellos por encontrar ideas cercanas a la
propuesta que se hace en este estudio.
Bibliografía....
ARTÍCULOS DE INVESTIGACIÓN. [1] A versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision metrology Using Off-th-Shelf TV Cameras and Lenses. ROGYER Y. TSAI [2] Análisis aplicado de métodos de calibración de cámaras para usos fotogramétricos. Sanchez Martín. [3] A Flexible New Technique for Camera Calibration. Zhengyou Zhang. [4] Tsai’s camera calibration method revisited. Berthold K.P. Horn
LIBROS. [1] Visión por Computador. Javier González Jiménez. [2] Visión por Computador. Fundamentos y Métodos. Arturo de la Escalera Hueso. [3] Visión por Computador: Imágenes Digitales y Aplicaciones. Pajares, G., de la Cruz, J. M. [4] Robótica: Control, Detección, Visión e Inteligencia. Fu, K. S., González, R. C., Lee, C. S. G. [5] Tratamiento digital de imágenes. Rafael C. González, Richard E. Woods. [6] Computer Vision. Linda Saphiro. [7] Computer Vision - A Modern Approach (Prentice Hall 2002).pdf [8] Computer Vision and Aplications. Bernd Jähne, Horst HauBecker.
Apéndice A La matriz pseudoinversa
Jaime Martínez Verdú MTIT: Visión por Computador A-1
APÉNDICE A
LA MATRIZ PSEUDOINVERSA
Primeramente, recordaremos el sistema del cual partíamos y el objetivo de nuestro
análisis matemático pues éste residía en la obtención de las incógnitas que conformaban
la matriz de transformaciónA (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43). El sistema
de ecuaciones se podía expresar, según la ecuación 3.17, de forma matricial así:
=
⋅
−−−−−−
−−−−−−−−−−−−
−−−
−−−−−−−−−
−
−
−−−−−−−−−
−−−−−−−−−
n
n
n
n
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
nnnnnnnnn
y
y
y
y
y
x
x
x
x
x
a
a
a
a
a
a
a
a
a
a
a
ZxYxXxZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZyYyXyZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
ZxYxXxZYX
1
3
2
1
1
3
2
1
43
42
41
24
23
22
21
14
13
12
11
111111111
33333333
222222222
11111111
111111111
333333333
222222222
111111111
10000
10000
10000
10000
10000
00001
00001
00001
00001
00001
M
M
MMMMMMMMMMM
MMMMMMMMMMM
Efectivamente, tanto el estudio matemático aplicado como los cálculos metódicos
desarrollados a lo largo de este apéndice, van encaminados a conseguir una solución
analítica que permita obtener, de forma rápida y precisa, el conjunto de variables
incógnitas (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43) a partir de las medidas de 5
variables conocidas (Xi, Yi, Zi, xi, yi) para n puntos distintos.
APÉNDICE A
Apéndice A La matriz pseudoinversa
Jaime Martínez Verdú MTIT: Visión por Computador A-2
A la par, a partir de las ecuaciones 3.18A y 3.18B, somos capaces de representar el
sistema de ecuaciones anterior en su forma matricial reducida tal y como se muestra a
continuación:
bbbbXXXXAAAArr
=⋅
( ) ( )( ) ( )
[ ] ( )( )
==
−
−=
×
×
×××××
×××××
n
n
ij
nnnnn
nnnnna
1
1
31313
31313
10
01
i
i
iiiiiii
iiiiiii
y
x
ZYXyZYX0
ZYXx0ZYXbbbbXXXXAAAArr
rr
rr
donde AAAA es una matriz de dimensión 2n×11, XXXXr
es el vector de incógnitas de
dimensión 11×1 y bbbbr
otro vector columna de dimensión 1×2n.
Una vez establecida la problemática, primeramente, debe definirse el vector de
error EEEEr
de manera que nos sirva de herramienta útil para buscar un vector ∗XXXXr
que se
acerque a la solución. Por lo tanto, definiremos dicha variable del siguiente modo:
bbbbXXXXAAAAEEEErrr
−⋅=
Puesto que deseamos que el vector se acerque todo lo posible a la solución, es
necesario minimizar el error cuadrático definido como la norma del vector de error al
cuadrado, esto es,
{ }{ } { })()(minmin
minmin2
2
bbbbXXXXAAAAbbbbXXXXAAAAEEEEEEEE
bbbbXXXXAAAAEEEE
rrrrrr
rr
−⋅⋅−⋅=⋅
−⋅=
tt
Desarrollando algunos de los términos, la expresión A.2 se transfigura a otra
expresión, la ecuación A.3. Las operaciones para variar de una expresión a otra son:
bbbbbbbbXXXXAAAAbbbbbbbbAAAAXXXXXXXXAAAAAAAAXXXX
bbbbbbbbXXXXAAAAbbbbbbbbXXXXAAAAXXXXAAAAXXXXAAAA
bbbbXXXXAAAAbbbbbbbbXXXXAAAAXXXXAAAA
bbbbXXXXAAAAbbbbXXXXAAAAbbbbXXXXAAAAbbbbXXXXAAAA
rrrrrrrr
rrrrrrrr
rrrrrr
rrrrrrrr
⋅+⋅⋅−⋅⋅−⋅⋅⋅=
⋅+⋅⋅−⋅⋅−⋅⋅⋅=
−⋅⋅−−⋅⋅⋅=
=−⋅⋅−⋅=−⋅⋅−⋅
tttttt
tttt
tt
ttt
)()(
)()()(
)())(()()(
{ } { }bbbbbbbbXXXXAAAAbbbbbbbbAAAAXXXXXXXXAAAAAAAAXXXXEEEEEEEErrrrrrrrrr
⋅+⋅⋅−⋅⋅−⋅⋅⋅=⋅ tttttttminmin
Puesto que el mínimo se alcanza cuando la derivada se hace cero:
{ } [ ] 0minrrr
rrrr
r=⋅⇔⋅=
∗
∗
XXXX
EEEEEEEEXXXXdddd
EEEEEEEEXXXXtt d
A.1
A.2
A.3
A.4
Apéndice A La matriz pseudoinversa
Jaime Martínez Verdú MTIT: Visión por Computador A-3
A partir de las ecuaciones A.3 y A.4, obtenemos la siguiente igualdad:
[ ] [ ]0r
r
rr
r
rr
r
rr
r
rr
rrrrrrrrr
rrr
=⋅+⋅⋅−⋅⋅−⋅⋅⋅=
=⋅+⋅⋅−⋅⋅−⋅⋅⋅=⋅
XXXXdddd
bbbbbbbb
XXXXdddd
XXXXAAAAbbbb
XXXXdddd
bbbbAAAAXXXX
XXXXdddd
XXXXAAAAAAAAXXXX
bbbbbbbbXXXXAAAAbbbbbbbbAAAAXXXXXXXXAAAAAAAAXXXXXXXXdddd
EEEEEEEEXXXXdddd
tttttt
ttttttt
dddd
dd
La derivada de cada término se calcula a continuación:
AAAAAAAAXXXXXXXXAAAAAAAA
AAAAAAAAXXXXXXXXAAAAXXXXXXXXAAAAXXXXXXXXAAAAAAAA
XXXXdddd
XXXXAAAAAAAAXXXXXXXX
XXXXdddd
AAAAAAAAXXXX
XXXXAAAAXXXXdddd
AAAAXXXXXXXXAAAAAAAA
XXXXdddd
XXXX
XXXXdddd
XXXXAAAAAAAAXXXX
⋅⋅+⋅⋅=
=⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅=
⋅⋅⋅+⋅⋅⋅+
+⋅⋅⋅+⋅⋅⋅=⋅⋅⋅
ttt
ttttttt
tttt
ttt
ttt
dd
ddd
rr
rrrrrr
r
rrr
rr
rr
rrr
r
r
rr
I00I
bbbbAAAA
AAAAXXXXbbbbXXXXbbbbAAAA
XXXXdddd
bbbbAAAAXXXXbbbb
XXXXdddd
AAAAXXXXbbbbAAAA
XXXXdddd
XXXX
XXXXdddd
bbbbAAAAXXXX
r
rrrr
r
rrr
rrr
r
r
r
rr
⋅=
=⋅⋅+⋅⋅+⋅⋅=
=⋅⋅+⋅⋅+⋅⋅=⋅⋅
t
ttttt
ttt
ttttt dddd
00I
AAAAbbbb
AAAAbbbbXXXXbbbbXXXXAAAA
XXXXdddd
XXXXAAAAbbbbXXXX
XXXXdddd
AAAAbbbbXXXXAAAA
XXXXdddd
bbbb
XXXXdddd
XXXXAAAAbbbb
⋅=
=⋅⋅+⋅⋅+⋅⋅=
=⋅⋅+⋅⋅+⋅⋅=⋅⋅
t
tt
tttt dddd
r
rrrr
r
rrr
rrr
r
r
r
rr
I00
0
00
==⋅+⋅=
=⋅⋅+⋅=⋅
t
ttt ddd
bbbbbbbb
XXXXdddd
bbbbbbbbbbbb
XXXXdddd
bbbb
XXXXdddd
bbbbbbbb
rr
r
rrr
r
r
r
rr
Una vez calculado cada término, sustituimos sus respectivos valores A.5A, A.5B,
A.5C y A.5D en la derivada global A.5:
[ ] [ ]
AAAAbbbbbbbbAAAAAAAAAAAAXXXXXXXXAAAAAAAA
XXXXdddd
bbbbbbbb
XXXXdddd
XXXXAAAAbbbb
XXXXdddd
bbbbAAAAXXXX
XXXXdddd
XXXXAAAAAAAAXXXX
bbbbbbbbXXXXAAAAbbbbbbbbAAAAXXXXXXXXAAAAAAAAXXXXXXXXdddd
EEEEEEEEXXXXdddd
⋅−⋅−⋅⋅+⋅⋅=
⋅+⋅⋅−⋅⋅−⋅⋅⋅=
=⋅+⋅⋅−⋅⋅−⋅⋅⋅=⋅
ttttt
tttttt
ttttttt
dddd
dd
rrrr
r
rr
r
rr
r
rr
r
rr
rrrrrrrrr
rrr
A.5
A.5A
A.5B
A.5C
A.5D
A.6
Apéndice A La matriz pseudoinversa
Jaime Martínez Verdú MTIT: Visión por Computador A-4
Para minimizar, despejamos lo obtenido en la ecuación A.6 en la A.5 de modo
que tenemos lo siguiente:
[ ]
0
0
0
rrrrr
rrrrr
rrrr
r
r
=⋅−⋅−⋅⋅+⋅⋅
=⋅−⋅−⋅⋅+⋅⋅
=⋅
∗∗
∗
∗
AAAAbbbbbbbbAAAAAAAAAAAAXXXXXXXXAAAAAAAA
A)A)A)A)bbbbbbbbAAAAAAAAAAAAXXXXXXXXAAAA(A(A(A(A
EEEEEEEEXXXXdddd
XXXX
XXXX
ttttt
ttttt
td
Para solventar la expresión que resulta podemos resolverla por partes, es decir, los
términos de ∗XXXXr
y bbbbr
por un lado y por otro los términos det∗
XXXXr
y tbbbbr
por otro,
0000
0
00
rrrr444 3444 21
rr
444 3444 21
rr
rrrrr
rr=+⇔=⋅−⋅⋅+⋅−⋅⋅
=⋅−⋅−⋅⋅+⋅⋅
=
∗
=
∗
∗∗
AAAAbbbbAAAAAAAAXXXXbbbbAAAAXXXXAAAAAAAA
AAAAbbbbbbbbAAAAAAAAAAAAXXXXXXXXAAAAAAAA
ttttt
ttttt
De la resolución del primer término obtenemos la solución buscada denominada
en términos matemáticos matriz pseudoinversa:
( ) bbbbAAAAAAAAAAAAXXXX
bbbbAAAAXXXXAAAAAAAAbbbbAAAAXXXXAAAAAAAArr
rrrrr
⋅⋅⋅=⇒
⋅=⋅⋅→=⋅−⋅⋅−∗
∗∗
tt
tttt
1
0
Resolviendo el segundo término llegamos a una conclusión cierta, de donde partía
nuestro problema, puesto que el vector solución debe estar contenido en el espacio
vectorial de A:
( )( ) ( ) ( ) ( )( )
( ) ( )( ) ( )bbbbXXXXAAAA
bbbbAAAAXXXXbbbbAAAAXXXX
AAAAbbbbXXXXAAAAbbbbXXXXAAAAAAAAAAAAbbbbXXXX
AAAAAAAAAAAAbbbbXXXXAAAAbbbbAAAAAAAAXXXXAAAAbbbbAAAAAAAAXXXX
rr
rrrr
rrrrrr
rrrrrrr
=⋅⇒
⋅=→⋅=→
⋅=→⋅=→⋅⋅⋅=→
⋅⋅⋅=→⋅=⋅⋅→=⋅−⋅⋅
∗
−∗−∗
−∗−∗−−∗
−∗∗∗
11
1111
10
tt
tt
tt
ttt
tttttttt
ttttttttt
Si observamos el valor despejado del vector de incógnitas, podemos comprobar
cómo la matriz ( ) ttAAAAAAAAAAAAAAAA ⋅⋅= −1ψ es la matriz pseudoinversa de la matriz AAAA .
Obtenido el vector solución ∗XXXXr
,
bbbbAAAAXXXXrr
⋅=∗ ψ
y por consiguiente, la matriz de transformación perspectivaA , es posible
determinar los parámetros del modelo de la cámara.
A.7
A.8A
A.8B
A.8
A.8B
Apéndice B Matemáticas de Zhang
Jaime Martínez Verdú MTIT: Visión por Computador B-1
APÉNDICE B
MATEMÁTICAS DE ZHANG
a) Si deseamos obtener el valor ( ) 11 −− ⋅ AAT
, primeramente nos hace falta conocer
el valor de la inversa de la matriz A por lo que la calcularemos empleando el método por
pivotación de Gauss:
→
⋅−→
⋅−→
3022
3011
100|100
010|0
001|
0
0
FyFF
FxFF
y
x
β
γα
→
−
−→ 22
1
0
0
100|100
10|00
01|0FF
y
x
ββ
γα
→
−
−
⋅−→ 211
100|100
10|010
01|0
0
0
FFFy
x
γ
ββ
γα
APÉNDICE B
Apéndice B Matemáticas de Zhang
Jaime Martínez Verdú MTIT: Visión por Computador B-2
→
−
−−
→ 11
1
0
00
100|100
10|010
1|00
FFy
xy
α
ββ
βγ
βγα
−
−−
100|100
10|010
1|001
0
00
ββ
ααβγ
αβγ
αy
xy
Por lo tanto, la inversa de la matriz A es la siguiente matriz:
−
−−
=−
100
10
1
0
00
1
ββ
αββγ
αβγ
αy
xy
A
De igual modo, conocemos que la matriz transpuesta de la matriz inversa de A es
la siguiente:
( )
−−
−=−
1
01
001
000
1
βαββγ
βαβγ
α
yxy
TA
Finalmente, el producto de ambas es el siguiente:
( )
−
−−
⋅
−−
−=⋅ −−
100
10
1
1
01
001
0
00
000
11
ββ
αββγ
αβγ
α
βαββγ
βαβγ
αy
xy
yxy
AAT
Apéndice B Matemáticas de Zhang
Jaime Martínez Verdú MTIT: Visión por Computador B-3
( )
++−+−−
+−+−
−−
=⋅ −−
22
2222
0
2
00
22
22
00
2
00
22
22
00
22
22
2
2
00
22
11
)()(
)(
1
βαβααβγ
βααγβγ
βαβγ
βααγβγ
βααγ
βαγ
βαβγ
βαγ
α
yxyyxxy
yx
xy
AAT
( )
++−+−−
+−+−
−−
=⋅ −−
)()()(
)(1
22
0
22
00
22
00
2
00
22
00
22
2
00
2
22
11
βαβγαγβγβγβ
αγβγαγγβ
βγβγββ
βαyxyyxxy
yx
xy
AAT
Por tanto, hemos obtenido el valor de la matriz resultante del producto.
b) Demostración de la ecuación 3.4.11.
[ ] ( ) 0
8
5
2
11
741 =
⋅⋅⋅ −−
h
h
h
AAhhhT
⋅+⋅
⋅+⋅+⋅
⋅=
7
704
7041
7
4
1
r
ryr
rxrr
h
h
h
β
γα
λ
⋅+⋅
⋅+⋅+⋅
⋅=
8
805
8052
8
5
2
r
ryr
rxrr
h
h
h
β
γα
λ
( ) 0
8
805
8052
11
7
704
7041
=
⋅+⋅⋅+⋅+⋅
⋅⋅⋅⋅
⋅+⋅⋅+⋅+⋅
⋅ −−
r
ryr
rxrr
AA
r
ryr
rxrrT
T
βγα
λβγα
λ
0
)()()(
)(
1
8
805
8052
22
22
0
22
00
22
22
00
2
00
22
22
00
22
22
2
2
00
22
7
704
7041
2 =
⋅+⋅⋅+⋅+⋅
⋅
++−+−−
+−+−
−−
⋅
⋅+⋅⋅+⋅+⋅
⋅r
ryr
rxrr
yxyyxxy
yx
xy
r
ryr
rxrrT
βγα
βαβαβγ
βααγβγ
βαβγ
βααγβγ
βααγ
βαγ
βαβγ
βαγ
α
βγα
λ
3.4.11
[ ]
⋅⋅+⋅⋅⋅−⋅⋅−⋅⋅⋅
⋅⋅+⋅⋅⋅−
⋅−⋅+⋅⋅
⇓
++−+⋅+⋅⋅+−+⋅+⋅+⋅⋅−
+−+⋅+⋅⋅++⋅+⋅+⋅−
−+⋅+⋅−⋅+⋅+⋅
⇓
⋅+⋅⋅+⋅+⋅
⋅
++−+−−
+−+−
−−
22
8
22
5
2
0200
22
5
2
2
2
802
822
2222
0
2
00
22
805
22
00
2
805200
822
22
00
22
805
22
2
8052
82
00
2
805
2
8052
8
805
8052
22
2222
0
2
00
22
22
00
2
00
22
22
00
22
22
2
2
00
22
)(
)1(
)()()()()(
)()()(
)()(
)(
1
βαβαβαβγβα
βαβαγβα
βαγβα
βαβααβγ
βαβαγβγ
βαγαβγ
βααγβγ
βαβαγ
βαγαγ
βαβγ
βαβγ
αγα
βγα
βαβααβγ
βααγβγ
βαβγ
βααγβγ
βααγ
βαγ
βαβγ
βαγ
α
rryrxy
rr
ryr
NDOSIMPLIFICA
ryxyryryxrxrrxy
ryxryrrxrr
rxyryrrxrr
r
ryr
rxrr
yxyyxxy
yx
xy
[ ]
)(
)1()1(
)1(
))((
))(())1()((
)(
)()1(
)(
)(
)1(
875421
22
87
22
750
2
720
2
720750
2
72054
22
42
2
8700840
81072
2
042
2
21
22
78
22
5
2
0200
5
2
27048027041
722
8
22
5
2
0200
22
5
2
2
7042
802
7041
22
8
22
5
2
0200
22
5
2
2
2
802
77047041
2
rrrrrr
rrrryrrxrryrry
rryrrrrrryxrry
rryrrxrrrr
rrryrxy
rrryrryrrxrr
rrryrxy
rrryr
ryrrxrr
rryrxy
rr
ryr
rryrrxrr
⋅+⋅+⋅⋅⋅=
⋅⋅⋅+⋅⋅⋅⋅−⋅⋅⋅⋅−⋅⋅⋅⋅⋅+⋅⋅⋅⋅+
+⋅⋅⋅⋅⋅−⋅⋅⋅+⋅⋅⋅⋅−⋅⋅⋅⋅−⋅+⋅⋅⋅−⋅⋅+
+⋅⋅⋅−⋅⋅+⋅⋅⋅⋅+⋅⋅⋅⋅+⋅⋅⋅=
⋅⋅+⋅⋅⋅−⋅⋅−⋅⋅⋅+
+⋅⋅+⋅⋅⋅−⋅+⋅+⋅−⋅+⋅⋅⋅+⋅+⋅=
⋅⋅+⋅⋅⋅−⋅⋅−⋅⋅⋅+
+⋅⋅+⋅⋅⋅−
⋅+⋅+⋅−⋅+⋅⋅
⋅+⋅+⋅=
=
⋅⋅+⋅⋅⋅−⋅⋅−⋅⋅⋅
⋅⋅+⋅⋅⋅−
⋅−⋅+⋅⋅
⋅⋅+⋅⋅+⋅+⋅⋅
βαβαβαβαγβαβα
γβαβαγβαγβγγβγβαβαγβαβα
βαβαβγβαβαγβαββγβαγα
βαβαβαβγβα
βαβαγβαβ
βαγβαγα
βαβαβαβγβα
βαβαγβα
βαγβα
βγαλ
0)( 875421
22 =⋅+⋅+⋅⋅⋅ rrrrrrβα
Lo cual es lógico puesto que 875421 rrrrrr ⋅+⋅+⋅ representa el producto escalar de dos vectores ortonormales que es justamente nulo.
Apéndice B Matemáticas de Zhang
Jaime Martínez Verdú MTIT: Visión por Computador B-5
c) Si desarrollamos tal producto 3.4.17 sabiendo que son vectores
ortonormales, es decir, son perpendiculares entre si y a su vez son de
módulo unitario, tenemos lo siguiente:
[ ] [ ] [ ] [ ]
⋅⋅+
⋅⋅⋅+
⋅⋅⋅+
⋅⋅=⋅ ∞∞
0
0
0
0
0
0
0
0
8
5
2
852
2
7
4
1
852
8
5
2
741
7
4
1
741
2
r
r
r
rrrbr
r
r
rrrbar
r
r
rrrbar
r
r
rrraxxTrr
Si observamos la expresión término a término tenemos lo siguiente:
[ ]
⋅⋅
0
0
7
4
1
741
2
r
r
r
rrra 2222
7
2
4
2
1
2 1)0( aarrra =⋅=+++⋅= , por ser un vector ortonormal.
[ ]
⋅⋅⋅
0
0
8
5
2
741
r
r
r
rrrba 00 =⋅⋅= ba , por ser ortogonales entre sí.
[ ]
⋅⋅⋅
0
0
7
4
1
852
r
r
r
rrrba 00 =⋅⋅= ba , por ser ortogonales entre sí.
[ ]
⋅⋅
0
0
8
5
2
852
2
r
r
r
rrrb 2222
8
2
5
2
2
2 1)0( bbrrrb =⋅=+++⋅= , por ser un vector ortonormal.
Por lo tanto, a partir de la ecuación 3.4.16 y de la 3.4.18, el resultado final es el
siguiente:
022 =+ba 3.4.19
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-1
APÉNDICE C
CASO EJEMPLO
A continuación, se muestran varias maneras de resolver el ejemplo 3.1.4:
Empleando Derive I:
APÉNDICE C
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-2
Empleando Derive II:
X1 ≔ 0
Y1 ≔ 0
Z1 ≔ 0
x1 ≔ 95
y1 ≔ 336
X2 ≔ 11
Y2 ≔ 0
Z2 ≔ 0
x2 ≔ 592
y2 ≔ 368
X3 ≔ 8.25
Y3 ≔ 0
Z3 ≔ -4.5
x3 ≔ 472
y3 ≔ 168
X4 ≔ 2.75
Y4 ≔ 0
Z4 ≔ -4.5
x4 ≔ 232
y4 ≔ 155
X5 ≔ 5.5
Y5 ≔ 0
Z5 ≔ -3.5
x5 ≔ 350
y5 ≔ 205
X6 ≔ 5
Y6 ≔ 6
Z6 ≔ -3.5
x6 ≔ 362
y6 ≔ 323
X7 ≔ 0
Y7 ≔ 0
Z7 ≔ -0.75
x7 ≔ 97
y7 ≔ 305
X8 ≔ 11
Y8 ≔ 0
Z8 ≔ -0.75
x8 ≔ 592
y8 ≔ 336
X9 ≔ 2
Y9 ≔ 0
Z9 ≔ 0
x9 ≔ 184
y9 ≔ 344
X10 ≔ 9
Y10 ≔ 0
Z10 ≔ 0
x10 ≔ 501
y10 ≔ 363
X11 ≔ 2.75
Y11 ≔ 0
Z11 ≔ -1.81
x11 ≔ 224
y11 ≔ 266
X12 ≔ 8.25
Y12 ≔ 0
Z12 ≔ -1.81
x12 ≔ 467
y12 ≔ 279
X13 ≔ 2
Y13 ≔ 6
Z13 ≔ 0
x13 ≔ 263
y13 ≔ 431
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-3
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-4
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-5
Empleando MatLab I:
X01=0; Y01=0; Z01=0; x01=95; y01=336; X02=11; Y02=0; Z02=0; x02=592; y02=368; X03=8.25; Y03=0; Z03=-4.5; x03=472; y03=168; X04=2.75; Y04=0; Z04=-4.5; x04=232; y04=155; X05=5.5; Y05=0; Z05=-3.5; x05=350; y05=205; X06=5; Y06=6; Z06=-3.5; x06=362; y06=323; X07=0; Y07=0; Z07=- 0.75; x07=97; y07=305; X08=11; Y08=0; Z08=-0.75; x08=592; y08=336; X09=2; Y09=0; Z09=0; x09=184; y09=344; X10=2; Y10=6; Z10=0; x10=263; y10=431; X11=9; Y11=0; Z11=0; x11=501; y11=363; X12=8.25; Y12=0; Z12=-1.81; x12=467; y12=279; X13=2.75; Y13=0; Z13=-1.81; x13=224; y13=266; a=[X01, Y01, Z01, 1, 0, 0, 0, 0, - x01*X01, - x01*Y 01, - x01*Z01; X02, Y02, Z02, 1, 0, 0, 0, 0, - x02*X02, - x02*Y 02, - x02*Z02; X03, Y03, Z03, 1, 0, 0, 0, 0, - x03*X03, - x03*Y 03, - x03*Z03; X04, Y04, Z04, 1, 0, 0, 0, 0, - x04*X04, - x04*Y 04, - x04*Z04; X05, Y05, Z05, 1, 0, 0, 0, 0, - x05*X05, - x05*Y 05, - x05*Z05; X06, Y06, Z06, 1, 0, 0, 0, 0, - x06*X06, - x06*Y 06, - x06*Z06; X07, Y07, Z07, 1, 0, 0, 0, 0, - x07*X07, - x07*Y 07, - x07*Z07; X08, Y08, Z08, 1, 0, 0, 0, 0, - x08*X08, - x08*Y 08, - x08*Z08; X09, Y09, Z09, 1, 0, 0, 0, 0, - x09*X09, - x09*Y 09, - x09*Z09; X10, Y10, Z10, 1, 0, 0, 0, 0, - x10*X10, - x10*Y 10, - x10*Z10; X11, Y11, Z11, 1, 0, 0, 0, 0, - x11*X11, - x11*Y 11, - x11*Z11; X12, Y12, Z12, 1, 0, 0, 0, 0, - x12*X12, - x12*Y 12, - x12*Z12; X13, Y13, Z13, 1, 0, 0, 0, 0, - x13*X13, - x13*Y 13, - x13*Z13; 0, 0, 0, 0, X01, Y01, Z01, 1, - y01*X01, - y01*Y 01, - y01*Z01; 0, 0, 0, 0, X02, Y02, Z02, 1, - y02*X02, - y02*Y 02, - y02*Z02; 0, 0, 0, 0, X03, Y03, Z03, 1, - y03*X03, - y03*Y 03, - y03*Z03; 0, 0, 0, 0, X04, Y04, Z04, 1, - y04*X04, - y04*Y 04, - y04*Z04; 0, 0, 0, 0, X05, Y05, Z05, 1, - y05*X05, - y05*Y 05, - y05*Z05; 0, 0, 0, 0, X06, Y06, Z06, 1, - y06*X06, - y06*Y 06, - y06*Z06; 0, 0, 0, 0, X07, Y07, Z07, 1, - y07*X07, - y07*Y 07, - y07*Z07; 0, 0, 0, 0, X08, Y08, Z08, 1, - y08*X08, - y08*Y 08, - y08*Z08; 0, 0, 0, 0, X09, Y09, Z09, 1, - y09*X09, - y09*Y 09, - y09*Z09; 0, 0, 0, 0, X10, Y10, Z10, 1, - y10*X10, - y10*Y 10, - y10*Z10; 0, 0, 0, 0, X11, Y11, Z11, 1, - y11*X11, - y11*Y 11, - y11*Z11; 0, 0, 0, 0, X12, Y12, Z12, 1, - y12*X12, - y12*Y 12, - y12*Z12; 0, 0, 0, 0, X13, Y13, Z13, 1, - y13*X13, - y13*Y 13, - y13*Z13]; b=[x01;x02;x03;x04;x05;x06;x07;x08;x09;x10;x11;x12; x13;y01;y02;y03; y04;y05;y06;y07;y08;y09;y10;y11;y12;y13]; c=(a'*a)^(-1)*a'*b;
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-6
k=[c(1,1),c(2,1),c(3,1),c(4,1);c(5,1),c(6,1),c(7,1) ,c(8,1);c(9,1),c(10,1),c(11,1),1] im01=k*[X01,Y01,Z01,1]'; im01=(im01(1:2,:)/im01 (3,1))'; im02=k*[X02,Y02,Z02,1]'; im02=(im02(1:2,:)/im02 (3,1))'; im03=k*[X03,Y03,Z03,1]'; im03=(im03(1:2,:)/im03 (3,1))'; im04=k*[X04,Y04,Z04,1]'; im04=(im04(1:2,:)/im04 (3,1))'; im05=k*[X05,Y05,Z05,1]'; im05=(im05(1:2,:)/im05 (3,1))'; im06=k*[X06,Y06,Z06,1]'; im06=(im06(1:2,:)/im06 (3,1))'; im07=k*[X07,Y07,Z07,1]'; im07=(im07(1:2,:)/im07 (3,1))'; im08=k*[X08,Y08,Z08,1]'; im08=(im08(1:2,:)/im08 (3,1))'; im09=k*[X09,Y09,Z09,1]'; im09=(im09(1:2,:)/im09 (3,1))'; im10=k*[X10,Y10,Z10,1]'; im10=(im10(1:2,:)/im10 (3,1))'; im11=k*[X11,Y11,Z11,1]'; im11=(im11(1:2,:)/im11 (3,1))'; im12=k*[X12,Y12,Z12,1]'; im12=(im12(1:2,:)/im12 (3,1))'; im13=k*[X13,Y13,Z13,1]'; im13=(im13(1:2,:)/im13 (3,1))'; im=[im01;im02;im03;im04;im05;im06;im07;im08;im09;im 10;im11; im12;im13] res01=[x01,y01]-im01; res02=[x02,y02]-im02; res03=[x03,y03]-im03; res04=[x04,y04]-im04; res05=[x05,y05]-im05; res06=[x06,y06]-im06; res07=[x07,y07]-im07; res08=[x08,y08]-im08; res09=[x09,y09]-im09; res10=[x10,y10]-im10; res11=[x11,y11]-im11; res12=[x12,y12]-im12; res13=[x13,y13]-im13; res=[res01;res02;res03;res04;res05;res06;res07;res0 8; res09;res10;res11;res12;res13] X=[0, 0, 0, 95, 336; 11, 0, 0, 592, 368; 8.25, 0, -4.5, 472, 168; 2.75, 0, -4.5, 232, 155; 5.5, 0, -3.5, 350, 205; 5, 6, -3.5, 362, 323; 0, 0, -0.75, 97, 305; 11, 0, -0.75, 592, 336; 2, 0, 0, 184, 344; 2, 6, 0, 263, 431; 9, 0, 0, 501, 363; 8.25, 0, -1.81, 467, 279; 2.75, 0, -1.81, 224, 266]; figure plot(im(:,1),im(:,2), 'yo' ,X(:,4),X(:,5), 'r+' ) XLABEL('Componente en x de la imagen' ) YLABEL('Componente en y de la imagen' ) TITLE( 'Comparacion entre las imagen de input y las de out put' ) LEGEND('Coordenadas del punto proyectado empleando la tran sformacion homogenea' , 'Coordenadas del punto proyectado ideales' )
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-7
Los resultados obtenidos al ejecutar este código son los siguientes:
>> mattranfpersconc k = 44.8375 29.8056 -5.5202 94.5227 2.5161 42.2495 40.7785 337.8771 -0.0007 0.0649 -0.0103 1.0000 im = 94.5227 337.8771 592.2197 368.3429 470.1265 168.2782 232.3253 154.4196 349.1691 202.4502 363.4382 324.3184 97.9056 304.9348 591.7796 334.9156 184.4517 343.3820 261.5265 429.6493 501.1653 362.7691 468.3418 281.1742 224.0594 266.5171 res = 0.4773 -1.8771 -0.2197 -0.3429 1.8735 -0.2782 -0.3253 0.5804 0.8309 2.5498 -1.4382 -1.3184 -0.9056 0.0652 0.2204 1.0844 -0.4517 0.6180 1.4735 1.3507 -0.1653 0.2309 -1.3418 -2.1742 -0.0594 -0.5171
0 100 200 300 400 500 600150
200
250
300
350
400
450
Componente en x de la imagen
Com
pone
nte
en y
de
la im
agen
Comparacion entre las imagen de input y las de output
Coordenadas del punto proyectado empleando la transformacion homogeneaCoordenadas del punto proyectado ideales
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-8
Empleando MatLab II:
X=[0, 0, 0, 95, 336; 11, 0, 0, 592, 368; 8.25, 0, -4.5, 472, 168; 2.75, 0, -4.5, 232, 155; 5.5, 0, -3.5, 350, 205; 5, 6, -3.5, 362, 323; 0, 0, -0.75, 97, 305; 11, 0, -0.75, 592, 336; 2, 0, 0, 184, 344; 2, 6, 0, 263, 431; 9, 0, 0, 501, 363; 8.25, 0, -1.81, 467, 279; 2.75, 0, -1.81, 224, 266]; [m,n]=size(X); %m=13 n=5 a=zeros(2*m,11); for i=1:1:2*m if i<=m a(i,1)=X(i,1); a(i,2)=X(i,2); a(i,3)=X(i,3); a(i,4)=1; a(i,5)=0; a(i,6)=0; a(i,7)=0; a(i,8)=0; a(i,9)=-X(i,4)*X(i,1); a(i,10)=-X(i,4)*X(i,2); a(i,11)=-X(i,4)*X(i,3); else a(i,1)=0; a(i,2)=0; a(i,3)=0; a(i,4)=0; a(i,5)=X(i-m,1); a(i,6)=X(i-m,2); a(i,7)=X(i-m,3); a(i,8)=1; a(i,9)=-X(i-m,5)*X(i-m,1); a(i,10)=-X(i-m,5)*X(i-m,2); a(i,11)=-X(i-m,5)*X(i-m,3); end end b=zeros(2*m,1); for i=1:1:2*m if i<=m b(i,1)=X(i,4); else b(i,1)=X(i-m,5); end end c=(a'*a)^(-1)*a'*b; k=[c(1,1),c(2,1),c(3,1),c(4,1);c(5,1),c(6,1),c(7,1) ,c(8,1);c(9,1),c(10,1),c(11,1),1] im=zeros(m,2); for i=1:1:m
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-9
aux=k*([X(i,1:3),1]'); im(i,1:2)=(aux(1:2,1)/aux(3,1))'; end im res=zeros(m,2); for i=1:1:m res(i,1:2)=[X(i,4)-im(i,1),X(i,5)-im(i,2)]; end res figure plot(im(:,1),im(:,2), 'yo' ,X(:,4),X(:,5), 'r+' ) XLABEL('Componente en x de la imagen' ) YLABEL('Componente en y de la imagen' ) TITLE( 'Comparacion entre las imagen de input y las de out put' ) LEGEND('Coordenadas del punto proyectado empleando la tran sformacion homogenea' , 'Coordenadas del punto proyectado ideales' )
Los resultados obtenidos al ejecutar este código son los siguientes:
>> mattranfpersgral k = 44.8375 29.8056 -5.5202 94.5227 2.5161 42.2495 40.7785 337.8771 -0.0007 0.0649 -0.0103 1.0000 im = 94.5227 337.8771 592.2197 368.3429 470.1265 168.2782 232.3253 154.4196 349.1691 202.4502 363.4382 324.3184 97.9056 304.9348 591.7796 334.9156 184.4517 343.3820 261.5265 429.6493 501.1653 362.7691 468.3418 281.1742 224.0594 266.5171 res = 0.4773 -1.8771 -0.2197 -0.3429 1.8735 -0.2782 -0.3253 0.5804 0.8309 2.5498 -1.4382 -1.3184 -0.9056 0.0652 0.2204 1.0844 -0.4517 0.6180 1.4735 1.3507 -0.1653 0.2309 -1.3418 -2.1742 -0.0594 -0.5171
Apéndice C Caso ejemplo
Jaime Martínez Verdú MTIT: Visión por Computador C-10
Tal y como puede observarse, independientemente del método seguido, los
resultados son semejantes. Se lo desea el lector, puede obtener el código programado
enviando un correo a la dirección jaime.martinez@alu.umh.es.
010
020
030
040
050
060
015
0
200
250
300
350
400
450
Com
pone
nte
en x
de
la im
agen
Componente en y de la imagen
Com
para
cion
ent
re la
s im
agen
de
inpu
t y
las
de o
utpu
t
Coo
rden
adas
del
pun
to p
roye
ctad
o em
plea
ndo
la t
rans
form
acio
n ho
mog
enea
Coo
rden
adas
del
pun
to p
roye
ctad
o id
eale
s
top related