Estudio de investigación sobre técnicas de calibración de cámaras
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Estudio de investigación sobre técnicas de calibración de cámaras

on

  • 2,539 views

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 ...

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. 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.
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.

Statistics

Views

Total Views
2,539
Views on SlideShare
2,357
Embed Views
182

Actions

Likes
0
Downloads
67
Comments
1

3 Embeds 182

http://jauelingeniero.wordpress.com 139
http://engineerjau.wordpress.com 42
https://jauelingeniero.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Estudio de investigación sobre técnicas de calibración de cámaras Document Transcript

  • 1. 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ónASIGNATURA: Visión por computador PROFESOR: Oscar Reinoso
  • 2. Prefacio. . En este texto se pretende sintetizar un curso Calibración de Cámaras integradas aun Sistema de Visión Artificial. En este trabajo se plantea la existencia, inherente acualquier Sistema de Visión Artificial, de un proceso de calibración de su cámara. Seconsidera como sistema de visión, una cámara de video con la suficiente capacidadtécnica para realizar los estudios y lograr nuestros objetivos, así como los algoritmosdesarrollados para calibrar la cámara. Muchas técnicas diferentes, en la actualidad, muestran como obtener información3D del mundo físico usando una imagen o secuencia de imágenes capturadas por una omás cámaras. Cada técnica incluye una serie de procesos que influyen directamente enlograr un rendimiento eficaz; dentro de éstos, el principal proceso es la calibración. Lacalibración es el inconveniente básico en aplicaciones de sistemas de visión en las que sepretenda obtener información geométrica del espacio. Este problema consiste enencontrar los valores de la posición y orientación de una cámara, así como suspropiedades ópticas, geométricas y digitales a partir de puntos conocidos en el espacioque son proyectados en una imagen. Es decir, la calibración de cámaras tiene comoobjetivo establecer los parámetros que intervienen en el proceso geométrico de formación de laimagen. En la mayoría de los medios actuales, las propiedades de una cámara puedenconsiderarse como estables y conocidas por lo que el problema se reduce a determinar laorientación y posición del sistema de referencia de una imagen. Un modelo matemáticoque describa y relacione correctamente la información del espacio 3D y sucorrespondiente información 2D de una o unas imágenes, es la base principal de realizaruna buena calibración. De hecho, la calibración depende de la precisión con queobtengamos la información del espacio y de la imagen.
  • 3. El contenido de este texto comienza en el Capítulo 1 - Introducción que se trata unabreve presentación al desarrollo del trabajo. En este capítulo vendrá detallada la historiade los sistemas de representación de geometrías e introduciremos una serie de conceptos yté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 yanalizaremos, a grandes rasgos, los parámetros principales que puede presentar unacámara. En este capítulo desarrollaremos, a su vez, el procedimiento general decalibración de una cámara. Al Capítulo anterior le sucede el Capítulo 2 – Planteamiento matemático Geometríade la formación de imágenes y que realiza un estudio de las herramientas matemáticas en lascuales nos basaremos. Además, considera una descripción de la Teoría que mejor modelala formación de las imágenes: La Geometría Proyectiva. Finalmente, éste capítulo expone elmodelo matemático de la cámara y estudia analíticamente los parámetros de localización yorientación de la cámara. A continuación, se ilustrarán distintos modelos existentes para establecer lafunción de transferencia 3D ↔ 2D en un Sistema de Visión Artificial y se analizarán losalgoritmos más conocidos para llevar a cabo la calibración del sistema. Entre los expuestospodremos 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 unsistema de calibración de cámaras en la actualidad. Desarrollaremos dos ejemplos dondese podrá comprobar la importancia, sobre todo en la industria y robótica, de lacalibración de un sistema de Visión Artificial. Jaime Martínez Verdú
  • 4. 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
  • 5. CAPÍTULO 1: INTRODUCCIÓN.1.1. Un poco de historia 1-41.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-71.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-91.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-111.5. Distorsión de la lente 1-12 1.5.1. Distorsión radial 1-12 1.5.2. Distorsión tangencial 1-131.6. Procedimiento general del método de calibración 1-14
  • 6. 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-62.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-142.3. Modelo de la cámara 2-152.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
  • 7. 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-173.2. Método de calibración de los dos planos 3-183.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-453.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-553.5. Comparativa sobre las técnicas y tecnologías existentes 3-56
  • 8. CAPÍTULO 4: APLICACIONES.4.1. Aplicaciones de calibración simultánea 4-54.2. Aplicaciones con cámaras precalibradas 4-7
  • 9. Capítulo 1 1CAPÍTULO Introducción INTRODUCCIÓN ¿Qué es la Visión Artificial? Dicho concepto hace referencia a una gran herramientapara establecer la relación entre el mundo tridimensional y sus vistas bidimensionalestomadas de él. Por medio de esta teoría se puede conseguir, por un parte, unareconstrucción del espacio tridimensional a partir de sus vistas y, por otra, efectuar unasimulación de una proyección de una escena 3D en la posición deseada a un planobidimensional. El presente texto estudia la técnica de calibración de cámaras y reflexiona sobre suinterés actual, pues se trata de un proceso esencial para lograr el buen funcionamiento deun Sistema de Visión Artificial (AVS del inglés “Artificial Vision System”). De acuerdo conla 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 uninstrumento 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 yvalores de la imagen en medidas reales. En un sentido amplio, la calibración de unacámara hace referencia a la obtención de todos aquellos parámetros que intervienen en laformación de la imagen, tanto los denominados geométricos, involucrados en el procesogeométrico de formación de la imagen, como los radiométricos, que tienen que ver conel brillo de los objetos proyectados. La calibración de una cámara es un procesoimportante en muchos problemas actuales; posiblemente los dos más importantes esténrelacionados 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 deentornos visuales, análisis de movimiento, seguimiento de objetos, etc.Jaime Martínez Verdú 1-1 MTIT: Visión por Computador
  • 10. Capítulo 1 Introducción El uso de sistemas del tratamiento digital de imágenes con propósitos de, porejemplo, robótica o metrología (ciencia que tiene por objeto el estudio de los sistemas depesas 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 lamedida es un método muy empleado en la actualidad, y por otro lado, la calibraciónindependiente 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 decoordenadas de orden superior denominado Sistema del Mundo que permitirá ladeterminación de objetos tridimensionales respecto este sistema. Cada vez que es fijado el entorno donde se va a utilizar la cámara requerimos desu calibración. Una cámara normalmente se aproxima por el modelo pin—hole, esto es, pormedio 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 entreel 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 alescenario. 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ónno consiste únicamente en desplazamientos y rotaciones, pues la imagen puede sufrirdeformaciones (por efecto óptico, diseño de la cámara CCD) que pueden ser vistas comoelongaciones o reducciones en alguno de los ejes, como sesgo de la imagen o corrimientodel punto principal. Estos últimos suelen denominarse parámetros intrínsecos.Jaime Martínez Verdú 1-2 MTIT: Visión por Computador
  • 11. Capítulo 1 Introducción Entonces, calibrar la cámara consiste en encontrar los parámetros que influyen enla transformación entre puntos 3D del entorno específico de la aplicación y puntos 2D dela imagen, esto es, los parámetros intrínsecos y extrínsecos. En realidad, los sensores CCDson muy sensibles a cambios ambientales: Temperatura. Humedad. Iluminación. y aunque los cambios no sean drásticos, pueden ser significativos en muchasaplicaciones. En las cámaras más especializadas, las modificaciones de los valoresintrínsecos son compensadas vía programación o electrónica, aunque en muchasocasiones la excelente calidad de sus componentes evitan dichas distorsiones. No obstante, la gran diversidad de cámaras fotográficas digitales y webcams queexisten comercialmente, evitan la necesidad de adquirir costosos equipos especializados,utilizando las primeras para múltiples aplicaciones. No obstante, estas cámaras no fuerondiseñadas para estas actividades, ni se conocen sus parámetros, además de que sonsusceptibles a variaciones, por lo que es muy importante la calibración que se realice enellas. Lo primero que se debe obtener es un cuerpo geométrico preciso con dimensionesconocidas, para usarlo como patrón de calibración, que corrientemente son cubos opirá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 delas 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 lacalibración se realice bajo condiciones controladas. Antes de entrar de lleno con el temade calibración de la cámara se consideran los parámetros que intervienen en la formaciónde 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 lacámara, a veces llamada el modelo de la cámara y se describirá algún método o proceso decalibración de un AVS, enfocando principalmente en las técnicas fotogramétricas quepermiten la determinación homóloga y muy exacta de los parámetros requeridos.Jaime Martínez Verdú 1-3 MTIT: Visión por Computador
  • 12. Capítulo 1 Introducción1.1. Un poco de historia. Todos sabemos que una cámara fotográfica origina imágenes planas procedentesde un mundo físico percibido como tridimensional. Antes de la invención de la fotografíaexistía un gran interés en interpretar este mundo 3D en imágenes planas 2D, como es elcaso de la pintura. Los griegos llegaron a conocer muchas de las propiedades geométricas de laproyección. Como es el caso de Thales de Mileto (640 a.C. – 548? a.C.) que con susconocimientos 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 losojos emitían partículas al mundo 3D en vez de considerar a los ojos como dispositivospasivos receptores de luz. Cabe mencionar dentro de los matemáticos griegos a Euclides, quien en el sigloIV a.C. ideó la geometría plana. Para Euclides la geometría era concebida como unconjunto de líneas y puntos, independientes de un sistema de coordenadas. Posteriormente, los pintores italianos del Renacimiento fueron los primeros enconcebir la formación de las imágenes y, además, los primeros en estudiar la Geometríapara reproducir correctamente los efectos de la perspectiva en las imágenes del mundoque observaban. La pintura anterior a esta época era plana, es decir, no mostraba ladiferencia de profundidad en los objetos representados, como se muestra en la Figura 1.1izq. La perspectiva fue inventada por Filippo Brunelleschi (1377-1446) alrededor de1413. Brunelleschi fue un gran arquitecto del Renacimiento Temprano. Sus principalesobras 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ó aItalia para llevar el Renacimiento a Alemania, realizaron serios estudios geométricos quehan venido empleándose hasta día de hoy. A partir de esta época, se empieza a considerarel punto de fuga, en el que líneas paralelas que se alejan del observador convergen en unpunto.Jaime Martínez Verdú 1-4 MTIT: Visión por Computador
  • 13. Capítulo 1 IntroducciónFigura 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 yotra renacentista. En la primera se puede observar la polidimensionalidad, en la cual lospuntos de vista de los objetos representados no son únicos. Asimismo, el tamaño de losobjetos está relacionado más con la importancia dentro de la obra que con la ubicaciónespacial. En la segunda pintura se aprecia claramente la profundidad producida por laslíneas que convergen en un punto de fuga. De esta manera se le hace creer al observador que está frente a una escenatridimensional. En el siglo XVI se desarrolla la teoría de la perspectiva. Se introducen lasMáquinas de Perspectiva (para obtener más información sobre este invento acuda a ladirección http://www2.latech.edu/~wtwillou/A301_syl.htm) para ayudar a los pintores areproducir exactamente la perspectiva sin tener que recurrir a engorrosos cálculosmatemáticos. Una de estas máquinas es representada en la Figura 1.2 por Albrecht Dürer. Enesta figura, el ojo del dibujante es mantenido fijo y un dispositivo es utilizado paramaterializar 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 deuna cámara. Ellas utilizan un plano R (plano de la imagen, ver rejilla en Figura 1.2) dondese forma la imagen y un punto C (centro óptico, ver ojo del dibujante en Figura 1.2) queno pertenece a R en el que se intersectan todos los rayos que forman la imagen.Jaime Martínez Verdú 1-5 MTIT: Visión por Computador
  • 14. Capítulo 1 Introducción 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 presentala 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 esproyectada en una pared interior de lacámara oscura. El resultado es una imageninvertida del mundo exterior. La cámaraoscura sirvió a algunos pintores como aVermeer (1632-1675) para representar de lamanera más precisa posible la realidad. A partir de la teoría del plano Figura 1.3: Cámara oscura.cartesiano introducida por el matemáticoDescartes (1596-1650) se empieza a concebir la geometría desde un punto de vistaalgebraico. Así, las entidades geométricas son descritas como coordenadas y entidadesalgebraicas. En el año 1826 el químico francés Niepce (1765-1833) llevó a cabo la primerafotografía, colocando una superficie fotosensible dentro de una cámara oscura para fijar laimagen. Posteriormente, en 1838 el químico francés Daguerre (1787-1851) hizo el primerproceso fotográfico práctico. Daguerre utilizó una placa fotográfica que era revelada convapor de mercurio y fijada con trisulfato de sodio. En la actualidad se utilizan cámaras reflex y CCD que emplean lentes paraincrementar la potencia de la luz y mejorar el enfoque de la imagen. A pesar de la granmejora en cuanto a tecnologías empleadas para la obtención de imágenes en el día dehoy, es inevitable la aplicación de técnicas de calibración, pues es un inconvenienteincrustado a la obtención de imágenes.Jaime Martínez Verdú 1-6 MTIT: Visión por Computador
  • 15. Capítulo 1 Introducción1.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 ladeterminación de los parámetros de orientación y posición individuales y que sonintrínsecos a la cámara. Al tratar con imágenes digitales, es aconsejable analizar el sistemade adquisición de imágenes por completo, incluso la cámara, las unidades de transmisión ylas posibles tarjetas digitalizadoras. Los parámetros a encontrar mediante una técnica decalibración cualquiera dependen del tipo de cámara utilizado. Una vez el sistema ha sidocalibrado, después de haber orientado la cámara cuidadosamente, pueden realizarse lasmedidas.1.2.2. Establecimiento de la cámara. El establecimiento de la cámara usualmente incluye la fijación de los parámetrosde orientación exterior para definir la posición del origen de la cámara y del eje de lacámara en el sistema de coordenadas del mundo. Esto requiere la determinación de tresrotaciones y tres parámetros de traslación, es decir, un total de seis parámetros para cadacámara.1.2.3. Sistema de calibración. En muchas aplicaciones, se fijan setup’s de varios sensores para la realización de lamedida. 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 serempleados simultáneamente. Si el sistema por completo se aplica como una herramientade medición integrada, entonces la calibración simultánea y el establecimiento de todoslos componentes involucrados debe definir la calibración del sistema de forma global. 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 Figura 1.4: Esquema general de las partes que componen un sistema de adquisición.Jaime Martínez Verdú 1-7 MTIT: Visión por Computador
  • 16. Capítulo 1 Introducción1.3. Factores que influyen en la formación de una imagen. Todo componente que forma parte de un Sistema de Visión Artificial “dejahuella” en la imagen de un objeto y, por lo tanto, en las medidas resultantes obtenidas delprocesamiento de la imagen. A continuación, presentamos una breve descripción de los elementos que son másrelevantes.1.3.1. Efectos internos. El sistema óptico. Prácticamente todas lentes presentan distorsión con simetríaradial lo cual puede provocar variaciones considerables en la magnitud medida. Por unlado, 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 manifiestandistorsión de varios 100 µm en los bordes de la imagen. Las lentes de ojo de pez tienen su propia categoría; éstas, frecuentemente tienenuna distorsión extrema en los bordes. No obstante, a menudo se hace inevitable laaparición de errores durante la fabricación de la lente, ocasionando aberracionesmanifestadas por los componentes en forma de distorsión simétrica radial y de distorsióntangencial. Los elementos ópticos adicionales en el camino recorrido por la luz, tales como unfiltro de barrera de IR o un filtro preservador del sensor, también pueden alterar laimagen 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 laresolució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 elementosdel sensor. Con respecto a la estabilidad del bastidor de la cámara y la calidad de laslentes, algunos de ellos se diseñan principalmente para mediciones, por ejemplo, lacámara Rollei Q16 MetricCamera. Otros, usan las técnicas diseñadas para lograr unaresolució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 sonreemplazados de modo que los elementos fotosensibles del sensor CCD caigan dentro delos huecos entre los elementos de este tipo de sistema, dónde adquieren la informaciónadicional de la imagen.Jaime Martínez Verdú 1-8 MTIT: Visión por Computador
  • 17. Capítulo 1 Introducción Alternativamente, en “el macroscanning”, los sensores pueden cambiarse por unmúltiplo de su propio tamaño, produciendo un formato de la imagen más grande. Lasimágenes individuales se orientan entonces con respecto a la imagen global por unsistema mecánico muy preciso u opto-numéricamente. Todos los elementos que logran mejorar la resolución afectan a la exactitud globaldel sistema de adquisición de imágenes. En los sistemas de escaneado de imágenesindividuales con correlación plenamente mecánica, la exactitud del mecanismo tiene unefecto directo en la geometría de la imagen. El sensor y el sistema de transferencia de señales. Debido a su diseño, lossensores Charge-Coupled Device (CCD) normalmente ofrecen una alta exactitudgeométrica. Al analizar un sistema de adquisición de imágenes, su sensor debe evaluarsejunto con la tarjeta digitalizadora empleada. Los errores geométricos de diferente magnitud pueden originarse durante laconversión de A/D de la señal de video, dependiendo del tipo de sincronización, sobretodo si la transferencia del píxel desde la cámara a su almacenamiento en la imagen noestá garantizada que se realice de forma síncrona. Con cualquier sincronización, se hace necesario responder de un factor deafinidad para más combinaciones del sensor de almacenamiento; en otros términos, lospí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 deubicació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 últimopor efectos mecánicos o fluctuaciones de temperatura. El rango de efectos resultantes de los errores de la escala durante la medida de unobjeto da lugar a la determinación de un modelo de deformación compleja. Esto es por loque todos los sistemas de este tipo deben hacer posible la verificación o predeterminaciónde los parámetros convenientes.Jaime Martínez Verdú 1-9 MTIT: Visión por Computador
  • 18. Capítulo 1 Introducción1.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ónuniendo las coordenadas conocidas de un conjunto de puntos en 3D con suscorrespondientes proyecciones, y resolverlas para los parámetros de la cámara. En una omás imágenes se toma un patrón de calibración, que es un objeto en 3D de geometríaconocida y posiblemente ubicado en una posición también conocida en el espacio, y segeneran 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 losparámetros extrínsecos e intrínsecos de la cámara dadas imágenes de un patrón decalibración, y su precisión depende de cuán eficazmente ubiquemos los puntos en elespacio y los puntos de referencia de la cámara. Los parámetros de calibración de unacá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 inherentesde la cámara y de la óptica, es decir, aquellos involucrados en la transformación de puntos3D en el sistema de referencia de la cámara a puntos 2D del plano imagen. Estoscaracterizan las propiedades ópticas, geométricas y digitales de la visión de la cámara queson necesarias para unir las coordenadas en píxeles de un punto imagen con lascoordenadas correspondientes en el marco de la cámara. Estos parámetros también semuestran 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.Jaime Martínez Verdú 1-10 MTIT: Visión por Computador
  • 19. Capítulo 1 Introducción Todas estas definiciones se refieren al centro óptico del sistema de lentes. Elorigen de la cámara es justamente este punto (el eje óptico es el eje que, siendoperpendicular 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 lascoordenadas mundiales. De hecho, hacen referencia a seis parámetros que definen laposició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 RT R R RT I. Los parámetros que definen la traslación, describen la posición de la cámararespecto a un sistema de coordenadas absoluto que denominaremos Sistema deCoordenadas del Mundo. Los parámetros de la rotación, análogamente, describen laorientación adquirida por la cámara respecto al sistema del mundo. Nosotros Se pretendeenfatizar diciendo que sólo existen tresparámetros de rotación que seanindependientes y no nueve parámetroscomo podríamos pensar. En la Figura 1.5 se muestran losparámetros extrínsecos de una cámaraen un modelo en proyección perspectivaen donde se identifican a ( X w , Yw , Z w )como los ejes en coordenadas delsistema mundial, ( xc , yc , zc ) como losejes en coordenadas de la cámara y Figura 1.5: Modelo de cámara en proyección ( x, y) las coordenadas en el plano de la perspectiva. imagen. Se aprecia que w0 denota la transformación de (R, T ) de los parámetrosextrínsecos para alinear los ejes del sistema coordenadas mundiales y el de la cámara, esdecir, trasladar el origen de las coordenadas mundiales con el origen de las coordenadasde la cámara y la rotación para alinear los respectivos ejes.Jaime Martínez Verdú 1-11 MTIT: Visión por Computador
  • 20. Capítulo 1 Introducción1.5. Distorsión de la lente. Como resultado de imperfecciones en el diseño, pulido y ensamblado de laestructura de las lentes que conforman un sistema óptico, la relación lineal de proyecciónen perspectiva no se cumple causando un deterioro en la calidad geométrica de la imageny, por lo tanto, en la capacidad para medir posiciones de los objetos en ella. Estasimperfecciones implican que la proyección observada en el plano imagen difiere de laideal. En las distorsiones producidas por una lente cabe considerar dos componentes: unaradial y otra tangencial.1.5.1. Distorsión radial. Esta deformación es producida por el radio de curvatura de la lente. Este tipo dedistorsión de la lente hace que los puntos de las imágenes se desplacen en forma radial apartir del eje óptico. Así, un desplazamiento radial negativo indica que los puntos de laimagen adoptan una distorsión radial en “barril”. Esto es, las líneas rectas son vistas comolíneas curvas. Por otro lado, un desplazamiento radial positivo indica que los puntosadoptan una distorsión tipo “cojín” alargándose en los extremos de la imagen. Ladistorsión no es lineal y varía en función de la distancia al centro de la imagen. Suprincipal 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 setiene: Xd Dx Xu 1.5.1 Yd Dy Yu 1.5.2 donde ( X d , Yd ) son las coordenadas reales de la imagen, esto es distorsionadas,y ( X u , Yu ) son las coordenadas del punto corregido.Jaime Martínez Verdú 1-12 MTIT: Visión por Computador
  • 21. Capítulo 1 Introducción Los términos que suponen la distorsión vienen definidos de la siguiente forma: Dx X d (k1 r 2 k2 r 4 ) 1.5.3 Dy Yd (k1 r 2 k2 r 4 ) 1.5.4 r X d Yd2 2 1.5.5 donde r es la distancia radial observada y los términos ki son los distintoscoeficientes de distorsión y se requiere una serie infinita de términos. Sin embargo, deacuerdo a la experiencia con un único coeficiente se obtienen buenos resultados: Dx Xd k r2 Dx k X d ( X d Yd2 ) 2 r 2 Xd Yd2 1.5.6 Dy Yd k r 2 Dy k Yd ( X d Yd2 ) 2 1.5.7 Por lo tanto, al coeficiente k es llamado factor de distorsión radial, el cuartoparámetro intrínseco de la cámara. No obstante, es una práctica común emplear doscoeficientes: Dx k X d (k1 ( X d Yd2 ) k2 ( X d Yd2 ) 2 ) 2 2 1.5.8 Dy k Yd (k1 ( X d Yd2 ) k2 ( X d Yd2 ) 2 ) 2 2 1.5.9 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 estrictamentecolineal. Este tipo de imperfecciones aparecen debidas al diseño de la lente y a errores enel ensamblaje de la cámara. Su efecto sobre la imagen suele ser mucho menor que ladistorsión radial por lo que a veces este efecto no suele ser considerado.Jaime Martínez Verdú 1-13 MTIT: Visión por Computador
  • 22. Capítulo 1 Introducción1.6. Procedimiento general del método de calibración. La calibración de la cámara es un procedimiento necesario en visión porcomputador para conseguir extraer la información dimensional y geométrica de unaimagen 2D. Como ya sabemos, la calibración es el método mediante el cual se estiman losparámetros intrínsecos y extrínsecos de la cámara, así como los parámetros delmanipulador. También es posible estimar los parámetros del modelo de distorsión dellente de la cámara. Existen dos métodos que son extensamente empleados para lacalibració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 mediantela correspondencia entre puntos de distintas imágenes se puede encontrar los mejoresparámetros del modelo que puedan otorgar esta correspondencia. La reconstrucción 3Drealizada con el modelo encontrado está afectada, sin embargo, por un factor de escala yaque en este método no se puede saber cual es el tamaño real de los objetos captados porlas cámaras (un objeto pequeño cerca del centro óptico puede tener la misma imagen queel mismo objeto agrandado más cerca del plano de imagen).Jaime Martínez Verdú 1-14 MTIT: Visión por Computador
  • 23. Capítulo 1 Introducción Si lo que se busca es una reconstrucción 3D precisa, como es el caso de muchas delas aplicaciones de la robótica, es recomendable utilizar la calibración fotogramétrica. Estacalibració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í lascoordenadas Mi = [Xi Yi Zi 1]T, para i = 1,…, N. El objeto es a continuación captado por lacá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 lospuntos 3D. De esta manera se calculan los puntos: wi = f(Mi) donde f es la función deproyección que involucra los parámetros de la cámara, de la lente y/o del manipuladorsegún sea el caso. Formalmente f es una función no lineal que depende de un vector deparámetros µ que agrupa los parámetros del modelo. Para el caso de una proyección sindistorsió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 wi yla proyección medida wi debe ser minimizada. Se deben encontrar los parámetros de lafunción de proyección f de tal manera que se minimice la siguiente función objetivo: N 1 J( ) ˆ wi wi min N i 1 Además de estas técnicas, existen otras tales como la eliminación de los puntosque coincidan en direcciones ortogonales y como técnicas basadas en rotaciones puras otraslaciones puras. Como ya se mencionó anteriormente, la calibración es un método estándar paraobtener los parámetros intrínsecos y extrínsecos de la cámara cuyo fin es el de obtenerimágenes de una estructura 3D conocida y buscar el conjunto de parámetros que mejorproyectan los puntos observados entre las coordenadas del mundo tridimensional y lascoordenadas del píxel correspondiente. Aunque existe una gran variedad de métodos y técnicas para la calibración de unacá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.Jaime Martínez Verdú 1-15 MTIT: Visión por Computador
  • 24. Capítulo 1 Introducción Para la realización de los dos primeros pasos se requiere conocer un conjunto depuntos tridimensionales y sus respectivas proyecciones en la imagen. Estos sondenominados comúnmente puntos de calibración. Su disposición dependen del tipo demé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 quese muestra en la Figura 1.8. El plano de calibraciónconsiste de 49 marcas circulares sobre un fondoblanco situadas dentro de un margen negro. Ladistancia entre los centros de las marcas es de 1.25cm y la distancia entre los bordes del margen es de10 cm. Para facilitar el posicionamiento de lospuntos, y siempre que sea posible, el patrón decalibración se coloca de forma paralela al plano XYdel sistema del mundo, lo cual implica que todosellos tengan la misma cota. Figura 1.8: Plantilla de puntos coplanarios. Para el caso de un conjunto de puntos no coplanarios el sistema es análogoexceptuando porque el sistema emplea ahora varias plantillas en vez de una en diferentesplanos. Figura 1.9: Plantilla de puntos no coplanarios. Izq: Dos planos. Der: Tres planos.Jaime Martínez Verdú 1-16 MTIT: Visión por Computador
  • 25. Capítulo 1 Introducción Las características que, según el criterio descrito por Javier González Jiménez en sulibro Visión por Computador, debe verificar una técnica de calibración son, básicamente, lasque 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,…Jaime Martínez Verdú 1-17 MTIT: Visión por Computador
  • 26. Capítulo 2 2CAPÍTULO Planteamiento matemático 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ónde cámaras necesitamos un respaldo matemático que viene detallado en el presentecapítulo 2. Puesto que la calibración de una cámara es un proceso donde debemos tenerconocimientos 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 transformacionesbá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 deRobots en 4º de Ingeniería Industrial reforzadas con los conceptos estudiados en Visiónpor Computadora del MTIT, éstas bases necesarias para poder estudiar este texto ya sonconocidas por el estudiante. Efectivamente, en robótica las transformaciones encoordenadas homogéneas son muy empleadas para el análisis de la estructura yfuncionamiento de un robot. A continuación, se aborda el problema de la proyección de los objetos de la escenaen el plano imagen donde se presentan varias transformaciones importantes empleadasen el estudio de la imagen y desarrollo de un modelo de cámara. En este estudio seconsidera que la proyección se realiza mediante una transformación perspectiva.Jaime Martínez Verdú 2-1 MTIT: Visión por Computador
  • 27. Capítulo 2 Planteamiento matemático2.1. Algunas transformaciones básicas. En este subapartado se presenta una representación unificada para problemascomo 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 cualun punto posee unas coordenadas denotadas con letras mayúsculas [ X , Y , Z ] . En los Tcasos que impliquen imágenes bidimensionales, las coordenadas de un píxel serepresentaran con letras minúsculas [x, y ] . T2.1.1. Coordenadas homogéneas. Las coordenadas homogéneas de un punto con coordenadas cartesianas [ X , Y , Z ] Tse definen como [k ⋅ X , k ⋅ Y , k ⋅ Z , k ] , donde k es una constante arbitraria distinta de Tcero. En el caso de que k = 0 las coordenadas determinan un vector en el infinito y, portanto, no definen una dirección. La conversión de coordenadas homogéneas a coordenadas cartesianas se realizafácilmente dividiendo las tres primeras coordenadas homogéneas por la cuarta. Un puntodel sistema de coordenadas cartesiano real se expresa en forma vectorial como: X  w = Y    2.1.1 Z    mientras que su homogénea viene dada por: kX   kY  wh =   2.1.2  kZ    k 2.1.2. Traslación. Las coordenadas de un punto cualquiera [ X 2 , Y2 , Z 2 ] tras haber sufrido una Ttraslación de [ X 0 , Y0 , Z 0 ] vienen dadas por: T X2 = X1 + X0 Y2 = Y1 + Y0 2.1.3 Z2 = Z1 + Z0 donde [ X 1 , Y1 , Z1 ] son las coordenadas del punto antes de realizar la traslación. TJaime Martínez Verdú 2-2 MTIT: Visión por Computador
  • 28. Capítulo 2 Planteamiento matemático Este sistema de ecuaciones puede expresarse de forma matricial como:  X 2  1 0 0 X 0   X1  Y  = 0 1 0 Y0  ⋅ Y1  2.1.4  2       Z 2  0    0 1 Z 0   Z1     Para simplificar y facilitar la notación necesaria en la representación de variastransformaciones (y por otros motivos que no serán analizados en este trabajo) se empleanmatrices cuadradas, quedando de esta forma la expresión anterior:  X 2  1 0 0 X 0  X1 X 2   X1  Y  0 1 0 Y0  Y1  Y2     2 =  ⋅   ⇒   = T ⋅ Y1  2.1.5  Z 2  0 0 1 Z 0   Z1  Z 2   Z1            1  0 0 0 1  1  1  1  donde T es la matriz de traslación y [ X 0 , Y0 , Z 0 ] es el vector de traslación. T2.1.3. Escalado. Las coordenadas de un punto que ha sido escalado a raíz de los factores Sx, Sy y Szen los ejes X , Y , Z respectivamente vienen dadas por: X2 = X1 ⋅ S x Y2 = Y1 ⋅ S y 2.1.6 Z2 = Z1 ⋅ S z Escribiendo en forma matricial donde S es la matriz de escalado:  X 2   Sx 0 0 0  X 1   X1  Y   0 Sy 0  Y  0  1  Y   2 = ⋅ = S ⋅ 1  2.1.7 Z 2   0 0 Sz 0   Z1   Z1          1   0 0 0 1 1  1  Si se pretende realizar un escalado uniforme en el que los tres ejes se escalan porel mismo factor, es decir S x = S y = S z , se puede utilizar la matriz de transformación: 1 0 0 0  0 1 0 0    0 0 1 0  2.1.8  1  0  0 0 S  donde S es el factor de escalado elegido.Jaime Martínez Verdú 2-3 MTIT: Visión por Computador
  • 29. Capítulo 2 Planteamiento matemático2.1.4. Rotación. Se considera un vector cuyo extremo viene dado por las coordenadas [ X 1 , Y1 , Z1 ] Tcomo muestra la Figura 2.1. [X 2 , Y2 , Z 2 ]T [X 1 , Y1 , Z1 ]T 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: X 1 = R cos φ 2.1.9 Y1 = Rsenφ Supongamos que el vector se rota un ángulo θ alrededor del eje Z en sentidoanti-horario. Las nuevas coordenadas [ X 2 , Y2 , Z 2 ] del punto después de la rotación se Tpueden expresar en función de sus coordenadas iniciales y del ángulo de rotación: X 2 = R cos(θ + φ ) = R cos θ cos φ − Rsenθsenφ Y2 = Rsen(θ + φ ) = Rsenθ cos φ + R cosθsenφ 2.1.10 Sustituyendo las dos primeras ecuaciones: X 2 = X 1 cosθ − Y1senθ 2.1.11 Y2 = X 1senθ + Y1 cosθ En forma matricial:  X 2  cos θ − senθ 0 0  X 1   X1   Y   senθ cos θ 0  Y  0  1  Y   2= = R−θ  1  Z 2.1.12  Z2   0 0 1 0   Z1   Z1         1   0 0 0 1  1  1 Z donde R−θ es la matriz de rotación. El superíndice indica el eje de rotación y elsubíndice el ángulo en sentido de las agujas del reloj.Jaime Martínez Verdú 2-4 MTIT: Visión por Computador
  • 30. Capítulo 2 Planteamiento matemático Otra forma de obtener la matriz de rotación es considerando dos sistemas decoordenadas X, Y, Z y U, V, W (vectores unitarios) como muestra la Figura 2.2. Rotandoel sistema de coordenadas UVW alrededor del eje Z con un ángulo θ, se observa que el ejeW permanece fijo con el eje Z sin embargo, los ejes U y V han cambiado. Las nuevascoordenadas 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 deleje Y, por tanto, el nuevo vector U’ viene dado por [cos(θ ), sen(θ ),0] . Del mismo modo Tse obtiene las componentes del vector V’ [− sen(θ ), cos(θ ),0] . Como el vector W no ha Tcambiado, permanece con las coordenadas [0,0,1] . La matriz de rotación se puede Tobtener situando las coordenadas de U’, V’ y W’ en la primera, segunda y terceracolumna y la cuarta columna estará compuesta por [0,0,0,1] . T Luego, cos θ − senθ 0 0  cos θ senθ 0 0  senθ cos θ 0 0 − senθ cos θ 0 0 Z R−θ =  Rθ =  Z  2.1.13  0 0 1 0  0 0 1 0      0 0 0 1  0 0 0 1 Realizando el mismo procedimiento se obtiene la transformación de un puntosobre el eje Y con un ángulo β (sentido horario): cos β 0 − senβ 0 cos β 0 − senβ 0  0 1 0 0  0 1 0 0 Y R− β =  Rβ =  Y  2.1.14  senβ 0 cos β 0  senβ 0 cos β 0      0 0 0 1  0 0 0 1Jaime Martínez Verdú 2-5 MTIT: Visión por Computador
  • 31. Capítulo 2 Planteamiento matemático Finalmente, la rotación de un punto con un ángulo α alrededor de X se realizaempleando la transformación: 1 0 0 0 1 0 0 0 0 cos α − senα 0 0 cos α senα 0 R−Xα =  Rα =  X  2.1.15 0 senα cos α 0 0 − senα cos α 0     0 0 0 1 0 0 0 1 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 únicamatriz 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 unatraslación, rotación y escalado viene dada por: (Rθ ⋅ S ⋅ T )V = AV 2.1.16 donde A es la matriz de transformación. El orden en que se produce las sucesivastransformaciones es importante ya que la multiplicación de matrices no es una operaciónconmutativa. La siguiente expresión representa la estructura de una transformación resultadode la concatenación de una matriz de rotación R de dimensión 3 x 3, una matriz de rtraslación T de 3 x 1 y una matriz S de dimensión 1 x 1 que realiza el escalado uniformedel vector al que se aplica A. R T A= 2.1.17 0 S Jaime Martínez Verdú 2-6 MTIT: Visión por Computador
  • 32. Capítulo 2 Planteamiento matemático Para poder realizar la transformación inversa es importante obtener la matrizinversa de una matriz compuesta a partir de las inversas de las transformacioneselementales de rotación, traslación y escalado. Por tanto, para la transformación A seobtiene: A−1 = T −1S −1 Rθ−1 2.1.18 donde: 1 0 0 0 0 1 0 0 S = −1  2.1.18A 0 0 1 0   0 0 0 S 1 0 0 − X0 0 1 0 − Y0  T = −1  2.1.18B 0 0 1 − Z0    0 0 0 1   cos(−θ ) sen(−θ ) 0 0 − sen(−θ ) cos(−θ ) 0 0 Rθ−1 =   2.1.18C  0 0 1 0    0 0 0 1Jaime Martínez Verdú 2-7 MTIT: Visión por Computador
  • 33. Capítulo 2 Planteamiento matemático2.2. Proyecciones.2.2.1. Proyección de perspectiva. También conocida como proyección central, es la proyección de un punto delespacio tridimensional en una superficie bidimensional por medio de líneas rectas quepasan a través de un punto, llamado centro óptico o de proyección. La proyección deperspectiva modela la formación de imágenes en una cámara pin-hole. Este modelo deproyección no distorsiona los objetos en la proyección, sino que éstos se proyectaninvertidos 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 elsistema de coordenadas de la cámara ( x, y, z ) de forma que el plano de la imagen coincidacon 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 comocoordenadas [0,0, f ] . En esta sección suponemos que el sistema de coordenadas de la Tcá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 ysuponiendo que Z es mayor que f, se obtiene la siguiente relación (mediante triángulossemejantes) que nos da las coordenadas x e y de la proyección del punto X, Y, Z en elplano imagen: x X y Y =− 2.2.1A =− 2.2.1B f Z− f f Z− f donde los signos negativos indican que los puntos de la imagen son invertidos.Jaime Martínez Verdú 2-8 MTIT: Visión por Computador
  • 34. Capítulo 2 Planteamiento matemático Por tanto, las coordenadas sobre el plano imagen del punto proyectado: fX fY x= 2.2.2A y= 2.2.2B f −Z f −Z Como se puede observar, estas ecuaciones no son lineales al aparecer divisionespor la variable Z. Es habitual expresar dichas ecuaciones en coordenadas homogéneas. Lascoordenadas homogéneas de un punto cuyas coordenadas cartesianas son w = [ X , Y , Z ] Tvienen dadas por wh = [k ⋅ X , k ⋅ Y , k ⋅ Z , k ] donde k es una constante arbitraria distinta de Tcero. Definiendo la matriz de transformación de perspectiva como: 1 0 0 0 0 1 0 0 P= 0  2.2.3 0 1 0   0 0 − 1 1  f  El producto de dicha matriz por el vector expresado en coordenadas homogéneasviene dado por: 1 0 0 0 kX   kX  0   1 0 0  kY   kY  ch = Pwh =    = 2.2.4 0 0 1 0  kZ   kZ     − kZ  0 0 − 1 1  k     f + k  f   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 lascoordenadas de cualquier punto en el sistema de coordenadas de la cámara:  fX     x  f − Z  c =  y =  fY     f −Z 2.2.5  z   fZ       f −Z   La transformación de perspectiva inversa proporciona los puntos de la imagen alespacio tridimensional: ch = Pwh → wh = P −1ch 2.2.6Jaime Martínez Verdú 2-9 MTIT: Visión por Computador
  • 35. Capítulo 2 Planteamiento matemático donde: 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 P= 0  P = −1  2.2.7 0 1 0 0 0 1 0     0 0 1 1 0 0 − 1 1  f   f  Supongamos que un punto dado en la imagen tiene coordenadas [x0 , y0 ,0] . TDicho punto se puede expresar en forma de vector homogéneo como: kx0  ky  ch =  0  2.2.8  0     k  Luego, el vector de coordenadas absolutas homogéneas: kx0  ky  wh =  0  2.2.9  0     k  O bien en coordenadas cartesianas,  X   x0  w =  Y  =  y0      2.2.10 Z   0      Esto no es obviamente lo esperado, ya que se obtiene Z = 0 para cualquier puntotridimensional. Este problema es causado por el hecho de que proyectar un conjunto depuntos en el plano de la imagen es una transformación "varios a uno". El punto de laimagen ( x0 , y0 )corresponde al con junto de puntos tridimensionales colineales que seencuentran en la línea que pasa por [x0 , y0 ,0] y [0,0, f ] . La ecuación de esta recta en el T Tsistema de coordenadas absoluto es, x0 X = ( f − Z) 2.2.11A f y0 Y= ( f − Z) 2.2.11B fJaime Martínez Verdú 2-10 MTIT: Visión por Computador
  • 36. Capítulo 2 Planteamiento matemático Estas ecuaciones muestran que a menos que se conozca algo sobre el puntotridimensional que generó un punto de imagen dado (por ejemplo su coordenada Z), nopodemos recuperar completamente el punto tridimensional a partir de su imagen. Estaobservación, se puede usar como una manera de formular una transformación deperspectiva inversa usando simplemente la componente z de ch como una variable libreen vez de ponerla a cero. Así suponiendo, kx0  ky  ch =  0  2.2.12  kz     k  De la ecuación ch = Pwh → wh = P −1ch 2.2.13 se obtiene  kx0   ky   0  wh =  kz  2.2.14  kz   f + k   que después de convertirse a coordenadas cartesianas, da como resultado,  fx0    X   f + z  w = Y  =  0  fy    f + z 2.2.15  Z   fz       f + z   Dicho de otro modo, tratando a z como una variable libre obtenemos, fx 0 X = 2.2.16A f +z fy 0 Y= 2.2.16B f +z fz Z= 2.2.16C f +zJaime Martínez Verdú 2-11 MTIT: Visión por Computador
  • 37. Capítulo 2 Planteamiento matemático Despejando z en la última ecuación y sustituyendo, x0 X = ( f − Z) 2.2.17A f y0 Y= ( f − Z) 2.2.17B f que resulta congruente con la observación ya mencionada de que recuperar unpunto tridimensional partiendo de su imagen y usando la transformación de perspectivainversa requiere el conocimiento de cómo mínimo una de las coordenadas absolutas delpunto. Comentario: Como la imagen aparece invertida es costumbre utilizar en su lugar unaconfiguración geométricamente equivalente para conseguir que la imagen se sitúe en elmismo 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ángulosJaime Martínez Verdú 2-12 MTIT: Visión por Computador
  • 38. Capítulo 2 Planteamiento matemático fX x= 2.2.18A Z fY y= 2.2.18B ZJaime Martínez Verdú 2-13 MTIT: Visión por Computador
  • 39. Capítulo 2 Planteamiento matemático2.2.2. Proyección ortográfica. La proyección ortográfica es la proyección de una entidad tridimensional sobre unplano por un conjunto de rayos paralelos ortogonales a este plano. En la figura se tieneque x = X e y = Y donde de nuevo ( X , Y ) y ( x, y ) denotan las coordenadas del objeto y laimagen respectivamente. Esta proyección es útil para la representación de la orientaciónde cada vector perpendicular a una superficie en lo que se conoce como espaciogradiente. Figura 2.7: Proyección ortográfica. Considerar la geometría de proyección de perspectiva de la Figura 2.6. A medidaque 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 disminuyela sensibilidad al parámetro Z. Esto es, f/(Z+∆Z) tiende a tomar un valor próximo a f/Z amedida que Z/∆Z tiende a ser grande, esto significa que la distancia a la que se encuentraun objeto Z es grande con relación al rango de distancias en el propio objeto ∆Z. Estaaproximación de f/Z en lugar de f/(Z+∆Z) es válida siempre que la distancia a la que seencuentra 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 hastaun 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 apartir del centro de proyección. La Figura 2.8 ilustra la aproximación de proyección deperspectiva como un proceso de dos pasos: proyección ortográfica sobre un planopróximo al objeto y paralelo al plano de la imagen y luego proyección de perspectiva sobreel plano de la imagen.Jaime Martínez Verdú 2-14 MTIT: Visión por Computador
  • 40. Capítulo 2 Planteamiento matemático Figura 2.7: Aproximación de la proyección de perspectiva por proyección ortográfica2.2.3. Proyección paralela. La proyección paralela es una generalización de la proyección ortográfica en la queel objeto se proyecta sobre el plano de la imagen por un conjunto de rayos paralelos queno son necesariamente ortogonales a este plano. La proyección paralela, como la proyección ortográfica, es una transformaciónlineal en el espacio tridimensional. La proyección paralela proporciona también unaaproximación conveniente para la proyección de perspectiva hasta un factor de escalauniforme. La proyección de perspectiva puede aproximarse por proyección paralela hasta unfactor de escala uniforme siempre que las dimensiones del objeto sean pequeñascomparadas con la distancia media del objeto al centro óptico. La dirección de proyecciónparalela es a lo largo de la dirección media de proyección de perspectiva. Cuando elobjeto además de ser pequeño está próximo al eje óptico, la dirección de proyecciónparalela puede tomarse a lo largo del eje óptico, y en este caso obtendríamos proyecciónortográfica.Jaime Martínez Verdú 2-15 MTIT: Visión por Computador
  • 41. Capítulo 2 Planteamiento matemático2.3. Modelo de la cámara. La transformación de perspectiva relaciona las coordenadas del mundo con lascoordenadas de la imagen cuando la cámara se encuentra en el origen de coordenadas delmundo. Sin embargo, en la realidad necesitamos trasladar y rotar la cámara para obtenerla imagen deseada de un objeto. En un modelo simplificado asumimos que al principio la cámara se encuentra enel origen de coordenadas del mundo, luego es trasladado mediante la matrizG(X0, Y0, Z0), rotado alrededor del eje Z con un ángulo θ en de las agujas del reloj yentorno al eje X con un ángulo φ en sentido horario y posteriormente trasladado por lamatriz C(r1, r2, r3). En este caso, las coordenadas homogéneas del mundo wh estánreferidas a las coordenadas de la cámara ch de la siguiente manera: Ch = PCRφX RθZ GWh 2.3.1 donde 1 0 0 0 0 1 0 0 P= 0  0 1 0   0 0 − 1 1  f  1 0 0 − X0 1 0 0 − r1  0 − Y0  0 1 0 1 0 − r2  G=  C=  0 0 1 − Z0  0 0 1 − r3      0 0 0 1  0 0 0 1   cos θ senθ 0 0 1 0 0 0 − senθ cos θ 0 0 0 cos φ senφ 0 Rθ =  Z  Rφ =  X   0 0 1 0 0 − senφ cos φ 0      0 0 0 1 0 0 0 1 Nótese que las transformaciones inversas para la traslación y rotación son usadasaquí. Esto es porque el sistema de coordenadas ligado a la cámara es el que se traslada yrota en vez del objeto. Luego, las coordenadas cartesianas de la imagen son las siguientes: ( X − X 0 ) cos θ + (Y − Y0 ) senθ − r1 x= f − ( X − X 0 ) senθsenφ + (Y − Y0 ) cos θsenφ − ( Z − Z 0 ) cos φ + r3 + f − ( X − X 0 ) senθ cos φ + (Y − Y0 ) cos θ cos φ + ( Z − Z 0 ) senφ − r2 2.3.2 y= f − ( X − X 0 ) senθsenφ + (Y − Y0 ) cos θsenφ − ( Z − Z 0 ) cos φ + r3 + fJaime Martínez Verdú 2-16 MTIT: Visión por Computador
  • 42. Capítulo 2 Planteamiento matemático2.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 hasido cortada o ampliada, ¿cómo podemos determinar la posición de la cámara y su orientación, yla medida en la que ha sido cortada o ampliada? Este tipo de aplicaciones son frecuentes endiversas áreas. Por ejemplo, en navegación autónoma, un misil podría obtener la matrizde transformación de la cámara que define la posición del vehículo. Otra aplicación seríael monitorizar el área de trabajo de un brazo robot mediante una cámara estacionaria conla que se determinaría la posición en la que se encuentra el brazo. Los parámetros de lacámara se pueden obtener a partir de su matriz de transformación, y la posición yorientació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 lacámara es conocida se puede determinar las coordenadas de la imagen de un punto de lasiguiente manera, U1=A·X1 donde U1=(ch1 , ch2, ch3, ch4). Multiplicando U1 por la inversade 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 seencuentran en la línea que une X1 con el centro de proyección L. X 11 = A −1 ⋅ U 1 2.4.1 Del mismo modo, podemos coger otro punto X2(X2, Y2, Z2) y generar X21, el cualse encontrará en la línea que pasa por X2 y el centro de proyección. Ahora, podemosdeterminar 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. Amedida 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 elinfinito es que la cuarta componente de las coordenadas homogéneas sea cero, es decir:  C h1  X  C     h2  = A ⋅  Y  2.4.2 C h 3  Z       0  1Jaime Martínez Verdú 2-17 MTIT: Visión por Computador
  • 43. Capítulo 2 Planteamiento matemático La última ecuación proporciona la siguiente restricción en la orientación de lacámara: a41 X + a42Y + a43 Z + a44 = 0 2.4.3 Dicha ecuación pertenece a un plano que pasa por la lente L paralelo al planoimagen. De esta ecuación queda claro que (a41, a42, a43) es el vector normal al planoimagen 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: a 42 θ = arctg 2.4.4 − a43 − a41 φ = arcsen 2.4.5 a 41 + a 42 + a 43 2 2 2Jaime Martínez Verdú 2-18 MTIT: Visión por Computador
  • 44. Capítulo 3 3CAPÍTULO Técnicas y Tecnologías Existentes TECNOLOGÍAS Y TÉCNICAS EXISTENTES Esta sección introduce al conocimiento de varias técnicas para la estimación de losparámetros intrínsecos y extrínsecos de una cámara, proceso comúnmente conocido conel nombre de calibración geométrica de una cámara. Concretamente, toda la teoríadesarrollada en este capítulo va dirigida a la computación de los parámetros intrínsecos yextrínsecos de una cierta cámara según una matriz de transformación que puede adoptarvarias 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íade carácter introductorio, daremos nuestros primeros pasos en un proceso de calibraciónconcreto e ideal que expondremos a continuación.Jaime Martínez Verdú 3-1 MTIT: Visión por Computador
  • 45. Capítulo 3 Técnicas y Tecnologías Existentes Precisamente, supongamos que la cámara observa n entidades geométricas talescomo puntos o líneas cuyas posiciones son conocidas y se encuentran fijadas en elSistema de Coordenadas del Mundo. Una vez la cámara ha sido calibrada, es posible establecer una cierta relación concualquier punto de la imagen de la cual nos estamos valiendo para, por ejemplo, larealización de una operación llevada a cabo por un brazo robótico, el dimensionamientode un objeto, el control de calidad de una cadena de producción,… Esta relación concualquier punto de la imagen queda perfectamente definida mediante la recta deproyección que pasa a través de dicho punto y el centro óptico de la cámara, y queconduce 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 dela recta de proyección de cada píxel de la imagen. No obstante, este método produciríauna tabla de consulta excesivamente grande, lo cual llevaría consigo una serie deimpedimentos relacionados con la velocidad de procesamiento de datos. Utilizando éste método, dado un píxel, un simple indexado proporcionaría larecta de proyección de dicho píxel, resolviendo con precisión el problema de laproyección perspectiva inversa. Efectivamente, si deseamos saber cual es la recta de proyección de un determinadopí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. Un simple indexado Deseamos saber los f(x* , y*) parámetros de la Buscamos la proporciona la recta de cx,(x* , y*) cy,(x* , y*) recta de proyección k1,(x* , y*) k2,(x* , y*) posición (x* , y*) proyección del píxel del del píxel (x* , y*) Tx Ty Tz α β γ cual deseábamos 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ónperspectiva inversa, existe un problema respecto a la resolución de la proyección directapues ésta no es tan simple ni precisa, ya que necesitaría recorrer la tabla hasta encontrar larecta de proyección que pasase más cerca del punto en cuestión. Obviamente, estascircunstancias comportarían una elevada carga computacional asociada a cada búsqueda.Jaime Martínez Verdú 3-2 MTIT: Visión por Computador
  • 46. Capítulo 3 Técnicas y Tecnologías Existentes Una exhaustiva Deseamos saber los f(x* , y*) parámetros de la Buscamos la búsqueda para hallar la cx,(x* , y*) cy,(x* , y*) recta de proyección recta de proyección más k1,(x* , y*) k2,(x* , y*) posición (x* , y*) del píxel (x* , y*) Tx Ty Tz α β γ cercana a la deseada 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 deoperar, una posible solución sería almacenar una cantidad menor de píxeles e interpolarentre los píxeles seleccionados. Caso de que el error en la interpolación fuese menor queel 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 hastahoy día se basan en esta aproximación, es decir, escogen unos pocos píxeles de la imageny 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 deinterpolación y en la técnica matemática utilizada para determinar los parámetros. En lasdiversas 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.Jaime Martínez Verdú 3-3 MTIT: Visión por Computador
  • 47. Capítulo 3 Técnicas y Tecnologías Existentes En esta sección, principalmente se discuten dos métodos clásicos para calibraciónde una cámara. Ambos métodos, que son los más populares dentro de la literatura, seencuentran catalogados dentro del grupo de m de calibración de aquellas que realizan elproceso 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 lasmediciones realizadas del patrón de calibración, además de que la calibración de lacá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 eintrínsecos de la cámara mientras calibración basada en la matriz de proyección [TruccoE. y Verri A., 1998], calcula los parámetros de la cámara como funciones en lazo cerradode las entradas de una matriz de proyección. Existen otros métodos que a diferencia de los dos anteriores suponen que lospará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.Jaime Martínez Verdú 3-4 MTIT: Visión por Computador
  • 48. Capítulo 3 Técnicas y Tecnologías Existentes3.1. Método de calibración del cálculo de la matriz de transformación perspectiva. En el modelo de proyección Z Plano Imagenperspectiva descrito en el capítulo yanterior, la imagen de un punto del (X,Y,Z)espacio es la intersección con el (xi,yi)plano imagen de la recta que pasapor el propio punto y por el centro X Yóptico de la cámara. Y es por el Centro óptico x Espacio Objeto de la lentecentro óptico, lógicamente, pordonde pasarán todas las rectas de Figura 3.4: Esquema del modelo de la cámara.proyección. De acuerdo con la ecuación 2.1 de la sección anterior se tiene lo siguiente: r r ch = P ⋅ C ⋅ R ⋅ G ⋅ wh 3.1.1 r Un punto del espacio wh en coordenadas homogéneas absolutas (respecto alsistema XYZ ) se proyecta según una matriz de transformación A, de tamaño 4×4, que esfunción de los parámetros intrínsecos (sólo la distancia focal en este caso) y da lugar a las rcoordenadas de un punto proyectado en la imagen. El vector ch se refiere a coordenadashomogéneas vinculado al punto vista de la cámara. Como se muestra en la ecuación anterior, la resolución de dicha igualdad requiereel conocimiento de la distancia focal, las posiciones y los ángulos según ambos planos(pan y tilt): A = P ( f ) ⋅ C(t x , t y , t z ) ⋅ R (θ , α ) ⋅ G ( X 0 , Y0 , Z 0 ) 3.1.2 Aunque estos parámetros podrían medirse directamente, a menudo es másconveniente (sobre todo cuando la cámara varía de posición frecuentemente) determinaruno o más de estos parámetros empleando la propia cámara como instrumento demedida. Esto requiere un conjunto de puntos de la imagen cuyas coordenadas espacialessean conocidas y, asimismo, un procedimiento de cálculo empleado para obtener lospará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 Gde la ecuación 3.1.1, sabemos que los elementos de A contienen todos los parámetros dela cámara y, de esa misma ecuación, conocemos la relación entre plano imagen y planofotografía: r r ch = A ⋅ wh 3.1.3Jaime Martínez Verdú 3-5 MTIT: Visión por Computador
  • 49. Capítulo 3 Técnicas y Tecnologías Existentes3.1.1. Desarrollo matemático generalizado. Haciendo k = 1 en la representación homogénea, se tiene lo siguiente: r r wh = [kX kY kZ k ] → wh = [ X Y Z 1] k =1 T T 3.1.4 Además del resultado anterior obtenido, por un lado, conocemos la forma generalde las coordenadas desde un punto vista de la cámara (ya formulada en el capítuloanterior) y, por otro lado, podemos representar la matriz A de forma general:  c h,1   a11 a12 a13 a14   X        r r c h , 2  a 21 a 22 a 23 a 24   Y  ch = A ⋅ wh ⇒   =  ⋅  3.1.5 c h,3   a31 a 32 a 33 a34   Z        c h , 4  a 41 a 42 a 43 a 44   1        r Recuérdese que la cuarta componente del vector c h es un factor de escala por elcual hay que dividir las primeras dos componentes de modo que sea posible pasar decoordenadas homogéneas a coordenadas cartesianas. Llevando a cabo el escalado yapoyándonos en las representaciones del planteamiento matemático, las coordenadas dela cámara en forma cartesiana quedarían del siguiente modo: c h ,1 x= ⇒ c h,1 = x ⋅ c h, 4 3.1.6A ch,4 ch,2 y= ⇒ ch,2 = y ⋅ ch,4 3.1.6B ch,4 Sustituyendo los dos valores obtenidos en las ecuaciones 3.1.6A y 3.1.6B en elsistema matricial (definido anteriormente en la expresión 3.1.5) y desarrollando elproducto matricial se obtiene lo siguiente:  x ⋅ c h , 4   a11 a12 a13 a14   X  → x ⋅ c h , 4 = a11 X + a12Y + a13 Z + a14 3.1.7        y ⋅ c h , 4  a 21 a 22 a 23 a 24   Y  → y ⋅ c h , 4 = a 21 X + a 22Y + a 23 Z + a 24 3.1.8  = ⋅   c h, 3  a31 a32 a33 a34   Z         c h , 4  a 41 a 42 a 43 a 44   1  → c h , 4 = a 41 X + a 42Y + a 43 Z + a 44    3.1.9    donde la tercera de estas componentes (la que se establece en la dirección del ejede 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 delpunto proyectado x e y.Jaime Martínez Verdú 3-6 MTIT: Visión por Computador
  • 50. Capítulo 3 Técnicas y Tecnologías Existentes 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 unprincipio esta afirmación puede parecer aberrante puesto que realmente sí tiene sentidoestudiar la profundidad de un objeto que aparece en una imagen 2D; no obstante, puestoque estamos realizando el estudio de la calibración de cámaras y no el estudio concreto yceñ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.8proporciona dos nuevas ecuaciones con 12 incógnitas: x ⋅ [a 41 X + a 42Y + a 43 Z + a 44 ] = a11 X + a12Y + a13 Z + a14 y ⋅ [a 41 X + a 42Y + a 43 Z + a 44 ] = a 21 X + a 22Y + a 23 Z + a 24 a11 X + a12Y + a13 Z + a14 − a 41 xX − a 42 xY − a 43 xZ − a 44 x = 0 3.1.10 a21 X + a 22Y + a23 Z + a 24 − a41 yX − a42 yY − a 43 yZ − a 44 y = 0 Desarrollando la ecuación 3.1.10 para un punto del espacio i en concreto se tieneque, para su píxel correspondiente, existe un sistema de 2 ecuaciones y 12 incógnitas: a11 X i + a12Yi + a13 Z i + a14 − a41 xi X i − a42 xiYi − a43 xi Z i − a44 xi = 0 3.1.11 a21 X i + a22Yi + a23 Z i + a24 − a41 yi X i − a42 yiYi − a43 yi Z i − a44 yi = 0 donde Pi = (Xi, Yi, Zi) es el punto del espacio y pi = (xi, yi) su proyección en laimagen, ambos conocidos. La proyección inversa viene dada por la recta de intersecciónde los dos planos dados en la ecuación anterior, cuyos coeficientes son los elementos de lamatriz A. Si deseamos obtener la forma matricial de dicho sistema de ecuaciones hemosde hacer lo siguiente: a11 a   12  a13    a14  a21  Xi Yi Zi 1 0 0 0 0 − xi Xi − xiYi − xi Zi − xi  a22 00 ⋅ = 0 0 0 Xi Yi Zi 1 − yi Xi − yiYi − yi Zi − yi  a23 0     a24 3.1.12 a   41 a42   a43 a44  Jaime Martínez Verdú 3-7 MTIT: Visión por Computador
  • 51. Capítulo 3 Técnicas y Tecnologías Existentes Se puede reconocer que tras este sistema de ecuaciones de la expresión anterior seesconden 12 incógnitas (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43, a44) y 5 variablesconocidas (Xi, Yi, Zi, xi, yi). Efectivamente, un punto tridimensional con coordenadas delmundo (Xi, Yi, Zi) y al cual le corresponde unas coordenadas imagen (xi, yi) aporta 2ecuaciones con 12 incógnitas. Por tanto, n puntos darán lugar a 2n ecuaciones, quepueden ser resueltas para las mismas 12 incógnitas. Primero supongamos que hemosobtenido n puntos medidos:  a11 X 1 + a12Y1 + a13 Z1 + a14 − a41 x1 X 1 − a42 x1Y1 − a43 x1Z1 − a44 x1 = 0 Punto 1  a21 X 1 + a22Y1 + a23 Z1 + a24 − a41 y1 X 1 − a42 y1Y1 − a43 y1Z1 − a44 y1 = 0 a11 X 2 + a12Y2 + a13Z 2 + a14 − a41x2 X 2 − a42 x2Y2 − a43 x2 Z 2 − a44 x2 = 0 Punto 2  a21 X 2 + a22Y2 + a23Z 2 + a24 − a41 y2 X 2 − a42 y2Y2 − a43 y2 Z 2 − a44 y2 = 0 a11 X 3 + a12Y3 + a13Z 3 + a14 − a41 x3 X 3 − a42 x3Y3 − a43 x3Z 3 − a44 x3 = 0 Punto 3  a21 X 3 + a22Y3 + a23 Z3 + a24 − a41 y3 X 3 − a42 y3Y3 − a43 y3Z 3 − a44 y3 = 0 M  a11 X n−1 + a12Yn−1 + a13 Z n−1 + a14 − a41 xn−1 X n−1 − a42 xn−1Yn−1 − a43 xn−1Z n−1 − a44 xn−1 = 0 Punto n-1  a21 X n−1 + a22Yn−1 + a23 Z n−1 + a24 − a41 yn−1 X n−1 − a42 yn−1Yn−1 − a43 yn−1Z n−1 − a44 yn−1 = 0 a11 X n + a12Yn + a13Z n + a14 − a41xn X n − a42 xnYn − a43 xn Z n − a44 xn = 0 Punto n  a21 X n + a22Yn + a23Z n + a24 − a41 yn X n − a42 ynYn − a43 yn Z n − a44 yn = 0 Una vez expresadas las 2n ecuaciones, podemos agruparlas para determinar elsistema de ecuaciones global donde las ecuaciones vienen ordenadas según los puntos1,2,…,n (la utilización de colores nos facilitará la visualización del sistema):a11X1 + a12Y1 + a13Z1 + a14 − a41x1 X1 − a42x1Y1 − a43x1Z1 − a44x1 =0a21X1 + a22Y1 + a23Z1 + a24 − a41y1 X1 − a42 y1Y1 − a43 y1Z1 − a44 y1 = 0a11X 2 + a12Y2 + a13Z2 + a14 − a41x2 X 2 − a42x2Y2 − a43x2Z2 − a44x2 = 0a21X 2 + a22Y2 + a23Z2 + a24 − a41y2 X 2 − a42 y2Y2 − a43 y2Z2 − a44 y2 = 0a11X3 + a12Y3 + a13Z3 + a14 − a41x3 X3 − a42x3Y3 − a43x3Z3 − a44x3 = 0a21X3 + a22Y3 + a23Z3 + a24 − a41y3 X3 − a42 y3Y3 − a43 y3Z3 − a44 y3 = 0M M M M M M M M Ma11X n−1 + a12Yn−1 + a13Zn−1 + a14 − a41xn−1 X n−1 − a42xn−1Yn−1 − a43xn−1Zn−1 − a44xn−1 = 0a21X n−1 + a22Yn−1 + a23Zn−1 + a24 − a41yn−1 X n−1 − a42 yn−1Yn−1 − a43 yn−1Zn−1 − a44 yn−1 = 0a11X n + a12Yn + a13Zn + a14 − a41xn X n − a42xnYn − a43xnZn − a44xn = 0a21X n + a22Yn + a23Zn + a24 − a41yn X n − a42 ynYn − a43 ynZn − a44 yn = 0 Sin embargo, está forma de agruparlos no es la idónea pues en lugar de agruparlosdispuestos respecto el número del punto, convendría agruparlos en función de lascoordenadas del punto imagen. Este procedimiento viene contemplado en la ecuación dela página siguiente.Jaime Martínez Verdú 3-8 MTIT: Visión por Computador
  • 52. Capítulo 3 Técnicas y Tecnologías Existentes a11 X 1 + a12Y1 + a13 Z1 + a14 − a41 x1 X 1 − a42 x1Y1 − a43 x1Z1 − a44 x1 = 0 a11 X 2 + a12Y2 + a13 Z 2 + a14 − a41 x2 X 2 − a42 x2Y2 − a43 x2 Z 2 − a44 x2 = 0 a11 X 3 + a12Y3 + a13 Z 3 + a14 − a41 x3 X 3 − a42 x3Y3 − a43 x3 Z 3 − a44 x3 = 0 M M M M M M M M M a11 X n−1 + a12Yn−1 + a13 Z n−1 + a14 − a41 xn−1 X n−1 − a42 xn−1Yn−1 − a43 xn−1Z n−1 − a44 xn−1 = 0 a11 X n + a12Yn + a13 Z n + a14 − a41 xn X n − a42 xnYn − a43 xn Z n − a44 xn = 0 a21 X 1 + a22Y1 + a23 Z1 + a24 − a41 y1 X 1 − a42 y1Y1 − a43 y1Z1 − a44 y1 = 0 a21 X 2 + a22Y2 + a23 Z 2 + a24 − a41 y2 X 2 − a42 y2Y2 − a43 y2 Z 2 − a44 y2 = 0 a21 X 3 + a22Y3 + a23 Z 3 + a24 − a41 y3 X 3 − a42 y3Y3 − a43 y3 Z 3 − a44 y3 = 0 M M M M M M M M M a21 X n−1 + a22Yn−1 + a23 Z n−1 + a24 − a41 yn−1 X n−1 − a42 yn−1Yn−1 − a43 yn−1Z n−1 − a44 yn−1 = 0 a21 X n + a22Yn + a23 Z n + a24 − a41 yn X n − a42 ynYn − a43 yn Z n − a44 yn = 0 Tal y como podemos observar, la forma de representar el sistema facilitaenormemente la transformación a la forma matricial. El sistema de ecuaciones anteriorpuede representarse en su forma matricial de la siguiente manera: X1 Y1 Z1 1 0 0 0 0 − x1 X 1 − x1Y1 − x1 Z1 − x1   a11  0X Y2 Z2 1 0 0 0 0 − x2 X 2 − x 2Y2 − x2 Z 2 − x 2   a12  0 2      X3 Y3 Z3 1 0 0 0 0 − x3 X 3 − x3Y3 − x3 Z 3 − x3   a13  0      M M M M M M M M M M M M   a14   M  X n −1 Yn −1 Z n −1 1 0 0 0 0 − x n −1 X n −1 − x n −1Yn −1 − x n −1 Z n −1 − x n −1   a 21  0      Xn Yn Zn 1 0 0 0 0 − xn X n − x nYn − xn Z n − x n  a 22  0 0 ⋅ = 3.1.13 0 0 0 X1 Y1 Z1 1 − y1 X 1 − y1Y − y1 Z 1 − y1   a 23  0      0 0 0 0 X2 Y2 Z2 1 − y2 X 2 − y 2Y2 − y2 Z 2 − y 2  a 24  0 0 0 0 0 X3 Y3 Z3 1 − y3 X 3 − y 3Y − y3 Z 3 − y3   a 41  0      M M M M M M M M M M M M  a 42   M       0 0 0 0 X n −1 Yn −1 Z n −1 1 − y n −1 X n −1 − y n −1Yn −1 − y n −1 Z n −1 − y n −1   a 43  0 0 0 0 0 X n Yn Z n 1 − x n X n − x nYn − xn Z n − x n  a 44  0      O, expresado en su forma reducida, tenemos lo siguiente: r r r (Xi Yi Zi )3×n 11×n 01×n (− xi Xi Yi Zi )3×n − xi1×n  rA= r 03×n r r  X = aij 3.1.14A [ ]  03×n  01×n (Xi Yi Zi )3×n 11×n (− y i Xi Yi Zi )3×n − yi1×n   r r A⋅X = 0 3.1.14B donde A es una matriz de dimensión 2n×12, X es un vector columna de 12×1. Así rpues, calibrar la cámara según este método equivale a determinar los 12 elementos de Xque intervienen en la expresión, para lo cual es necesario plantear un sistema de 12ecuaciones, que requiere un mínimo de 6 puntos. Nosotros podemos ser capaces dedeterminar las 12 incógnitas recurriendo a la inversa si son conocidos 6 o lapseudoinversa si son conocidos más de 6 puntos 3D y sus respectivas coordenadas imagen.Jaime Martínez Verdú 3-9 MTIT: Visión por Computador
  • 53. Capítulo 3 Técnicas y Tecnologías Existentes3.1.2. Desarrollo matemático singularizado: a44 = 1 . Puesto que el sistema de ecuaciones resultante es homogéneo, existen infinitassoluciones, se hace necesario fijar una de las incógnitas, por ejemplo a44 = 1: a11 X i + a12Yi + a13 Z i + a14 − a41 xi X i − a42 xiYi − a43 xi Z i − a44 xi = 0 a21 X i + a22Yi + a23 Z i + a24 − a41 yi X i − a42 yiYi − a43 yi Z i − a44 yi = 0 ↓ a44 = 1 ↓ 3.1.15 a11 X i + a12Yi + a13 Z i + a14 − a41 xi X i − a42 xiYi − a43 xi Z i − xi = 0 a21 X i + a22Yi + a23 Z i + a24 − a41 yi X i − a42 yiYi − a43 yi Z i − yi = 0 ↓ a11 X i + a12Yi + a13 Z i + a14 − a41 xi X i − a42 xiYi − a43 xi Z i = xi a21 X i a22Yi a23 Z i a24 a41 yi X i a42 yiYi a43 yi Z i = yi En efecto, si se pone la ecuación en forma matricial se tiene el siguiente sistema:  a11  a   12   a13     a14  a  X i Yi Zi 1 0 0 0 0 − xi X i − xiYi − xi Z i   21   xi 0 0 ⋅ a  = 3.1.16 0 0 X i Yi Zi 1 − yi X i − yiYi − yi Z i   22   yi   a    23 a24  a   41  a42    a43  En la práctica es conveniente emplear un mayor número de puntos, resultando unsistema 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) y5 variables conocidas (Xi, Yi, Zi, xi, yi). Naturalmente, un punto tridimensional concoordenadas 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 2necuaciones, que pueden ser resueltas para 11 incógnitas.Jaime Martínez Verdú 3-10 MTIT: Visión por Computador
  • 54. Capítulo 3 Técnicas y Tecnologías Existentes Primero supongamos que hemos obtenido las n medidas de igual manera que enel caso anterior. Al igual que en el procedimiento preliminar, una vez expresadas las 2necuaciones, podemos agruparlas para determinar el sistema de ecuaciones global dondelas ecuaciones viene ordenadas según los puntos 1, 2,…, n (la utilización de colores nosfacilitará la visualización del sistema): a11 X 1 + a12Y1 + a13 Z1 + a14 − a41 x1 X 1 − a42 x1Y1 − a43 x1Z1 = x1 a21 X 1 + a22Y1 + a23 Z1 + a24 − a41 y1 X 1 − a42 y1Y1 − a43 y1Z1 = y1 a11 X 2 + a12Y2 + a13 Z 2 + a14 − a41 x2 X 2 − a42 x2Y2 − a43 x2 Z 2 = x2 a21 X 2 + a22Y2 + a23 Z 2 + a24 − a41 y2 X 2 − a42 y2Y2 − a43 y2 Z 2 = y2 a11 X 3 + a12Y3 + a13 Z 3 + a14 − a41 x3 X 3 − a42 x3Y3 − a43 x3 Z 3 = x3 a21 X 3 + a22Y3 + a23 Z 3 + a24 − a41 y3 X 3 − a42 y3Y3 − a43 y3 Z 3 = y3 M M M M M M M M a11 X n−1 + a12Yn−1 + a13 Z n−1 + a14 − a41 xn−1 X n−1 − a42 xn−1Yn−1 − a43 xn−1Z n−1 = xn−1 a21 X n−1 + a22Yn−1 + a23 Z n−1 + a24 − a41 yn−1 X n−1 − a42 yn−1Yn−1 − a43 yn−1Z n−1 = yn−1 a11 X n + a12Yn + a13 Z n + a14 − a41 xn X n − a42 xnYn − a43 xn Z n = xn a21 X n + a22Yn + a23 Z n + a24 − a41 yn X n − a42 ynYn − a43 yn Z n = yn Igual que en la táctica anterior, hemos de modificar la representación del sistemade ecuaciones. Como ya sabemos, la forma previa de agrupar los términos no es la idóneapues en lugar de agruparlos ordenados en función del número del punto, se deberíanagrupar en función de las coordenadas del punto imagen, es decir, agruparemos primerotodos los puntos desde 1 hasta n con las coordenadas de la imagen en x y posteriormenteaquellos restantes con las coordenadas de la imagen en y: a11 X 1 + a12Y1 + a13 Z1 + a14 − a41 x1 X 1 − a42 x1Y1 − a43 x1Z1 = x1 a11 X 2 + a12Y2 + a13 Z 2 + a14 − a41 x2 X 2 − a42 x2Y2 − a43 x2 Z 2 = x2 a11 X 3 + a12Y3 + a13 Z 3 + a14 − a41 x3 X 3 − a42 x3Y3 − a43 x3 Z 3 = x3 M M M M M M M M a11 X n−1 + a12Yn−1 + a13 Z n−1 + a14 − a41 xn−1 X n−1 − a42 xn−1Yn−1 − a43 xn−1Z n−1 = xn−1 a11 X n + a12Yn + a13 Z n + a14 − a41 xn X n − a42 xnYn − a43 xn Z n = xn a21 X 1 + a22Y1 + a23 Z1 + a24 − a41 y1 X 1 − a42 y1Y1 − a43 y1Z1 = y1 a21 X 2 + a22Y2 + a23 Z 2 + a24 − a41 y2 X 2 − a42 y2Y2 − a43 y2 Z 2 = y2 a21 X 3 + a22Y3 + a23 Z 3 + a24 − a41 y3 X 3 − a42 y3Y3 − a43 y3 Z 3 = y3 M M M M M M M M a21 X n−1 + a22Yn−1 + a23 Z n−1 + a24 − a41 yn−1 X n−1 − a42 yn−1Yn−1 − a43 yn−1Z n−1 = yn−1 a21 X n + a22Yn + a23 Z n + a24 − a41 yn X n − a42 ynYn − a43 yn Z n = yn Tal y como podemos observar, al igual que en el caso anterior, la forma derepresentar el sistema facilita enormemente la transformación a la forma matricial.Jaime Martínez Verdú 3-11 MTIT: Visión por Computador
  • 55. Capítulo 3 Técnicas y Tecnologías Existentes El sistema de ecuaciones anterior puede representarse en su forma matricial de lasiguiente manera: X1 Y1 Z1 1 0 0 0 0 − x1 X 1 − x1Y1 − x1Z1   x1 X Y2 Z2 1 0 0 0 0 − x2 X 2 − x2Y2   a11   x  − x2 Z 2     2  2 a12 X3 Y3 Z3 1 0 0 0 0 − x3 X 3 − x3Y3 − x3 Z 3     x3    a13    M M M M M M M M M M M  a   M  X n−1 Yn−1 Z n−1 0 − xn−1 X n−1 − xn−1Yn−1 − xn−1Z n−1     xn−1  14 1 0 0 0  a21    Xn Yn Zn 1 0 0 0 0 − xn X n − xnYn − xn Z n     x n  0 ⋅ a22  = 3.1.17 0 0 0 X1 Y1 Z1 1 − y1 X 1 − y1Y − y1Z1     y1   a23   0 0 0 0 X2 Y2 Z2 1 − y2 X 2 − y2Y2 − y2 Z 2     y 2  0 a24  0 0 0 X3 Y3 Z3 1 − y3 X 3 − y3Y − y3 Z 3     y3   a41   M M M M M M M M M M M     M   a42    0 0 0 0 X n−1 Yn−1 Z n−1 1 − yn−1 X n−1 − yn−1Yn−1 − yn−1Z n−1     yn−1  a43  0 0 0 0 Xn Yn Zn 1 − xn X n − xnYn − xn Z n     yn    O, expresado en su forma reducida, tenemos lo siguiente: r r A⋅X = b 3.1.18A r donde A es una matriz de dimensión 2n×11, X es un vector columna de rdimensión 11×1 y b otro vector columna de dimensión 1×2n: r r (Xi Yi Z i )3× n 11× n 01× n (− x i Xi Yi Z i )3× n  r r (xi )1× n  [ ] 03× nA= r r  X = aij b =  3.1.18B  03× n  01× n (X i Yi Zi )3× n 11× n (− y i Xi Yi Z i )3× n   (y i )1× n    r Respecto a este sistema, la matriz A y el vector b son conocidos. Nosotros rpodemos ser capaces de determinar las 11 incógnitas del vector X utilizando la matrizpseudoinversa, si al menos son conocidos 6 o más puntos 3D y sus respectivascoordenadas imagen para así trabajar con un sistema sobredeterminado. Eso es así debidoa que para que el sistema sea resoluble, el número de columnas debe ser mayor al númerode filas, esto es, 11 2n columnas ≥ 11 filas ⇒ n ≥ = 5.5 n debe ser→ n ≥ 6   entero 23.1.3. Obtención del vector incógnita mediante el Método de los Mínimos Cuadrados. r r Sabemos que un sistema de ecuaciones lineales, A ⋅ x = b , puede ser compatible,con una o infinitas soluciones, o incompatible. A priori, puede parecer lógico pensar queson estos últimos sistemas los menos interesantes, pero no es el caso: el cálculo de unasolución aproximada del sistema cuando no podemos encontrar una solución exacta esun problema importante, sobre todo en ciencias experimentales, y nada trivial.Jaime Martínez Verdú 3-12 MTIT: Visión por Computador
  • 56. Capítulo 3 Técnicas y Tecnologías Existentes Existen diferentes métodos para encontrar esa solución aproximada, uno de elloses el Método de los Mínimos Cuadrados que es el que se va a desarrollar. Aplicaremos estemé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. r r Consideremos un sistema de ecuaciones lineales A ⋅ x = b . Supongamos que el sistema es incompatible. Se r r r trata de encontrar un vector b A⋅x −b r x ∗ que se acerque a la solución minimizando: r r E = A⋅x −b r r p = A ⋅ x∗ Espacio vectorial de A En pos, resolveremos el problema desde un punto de Figura 3.5: Vector solución por Mínimos Cuadrados. vista geométrico. Aquello que r estamos buscando es el elemento del espacio vectorial de A que más se acerca a b . r La solución es conocida, ese elemento es “la proyección ortogonal de b sobre el espacio vectorial de A ”. Por tanto, la solución en mínimos cuadrados que r r r minimiza A es aquella tal que A ⋅ x ∗ = p es la proyección ortogonal de b sobre el espacio vectorial de A : r r r r r r r r r r r r < A ⋅ y , A ⋅ x − b >= 0 ⇒ y t ⋅ A t ⋅ ( A ⋅ x − b ) = 0 ⇒ y t ⋅ ( A t ⋅ A ⋅ x − A t ⋅ b ) = 0 Por tanto, la solución que nos proporciona el método de los mínimos r r cuadrados para un sistema incompatible A ⋅ x = b , es aquella que satisface r r A t ⋅ A ⋅ x = A t ⋅ b . Es decir, r r r r x = A −1 ⋅ ( A t ) −1 ⋅ A t ⋅ b ⇒ x = ( A t ⋅ A ) −1 ⋅ A t ⋅ b Nota. Podríamos haber resuelto el problema también a partir de un cálculo distinto r (tal y como viene detallado en el Apéndice A). Para el vector x ∗ que minimice la función del error cuadrático: r r 2 ∂E 2 ∂E 2 ∂E 2 r E2 = A ⋅ x − b ⇒ =0 = 0L = 0 ⇔ ∇E 2 = 0 ∂x1 ∂x 2 ∂x nJaime Martínez Verdú 3-13 MTIT: Visión por Computador
  • 57. Capítulo 3 Técnicas y Tecnologías Existentes Al aplicar el método de resolución matemático de la aproximación por mínimoscuadrados, que viene detallado en el apéndice A, llegamos a la conclusión de que loselementos de la matriz de transformación A pueden calcularse como la matriz rpseudoinversa multiplicada por el vector de componentes b , es decir, r r r r ( −1 ) X∗ = A t ⋅ A ⋅ At ⋅ b ⇔ X∗ = Aψ ⋅ b 3.1.19 Si observamos el valor despejado del vector de incógnitas, podemos comprobar ( −1 )como la matriz Aψ = A t ⋅ A ⋅ At es la matriz pseudoinversa de la matriz A . Obtenido r∗el vector solución X , y por consiguiente la matriz de transformación perspectiva A , esposible 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 detransformación A para la calibración de una cámara utilizando el método estudiado. Elobjeto 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 desdela ‘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.Jaime Martínez Verdú 3-14 MTIT: Visión por Computador
  • 58. Capítulo 3 Técnicas y Tecnologías Existentes Figura 3.6: Objeto de calibración de manufactura precisa con geometría dotada convé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. wP1 x wP2 P1 P2 ∆y1 ∆y2 ∆x1 wPj ∆x2 y Figura 3.7: Los residuos planos de la imagen son las diferencias entre los puntosde la imagen actual observada y los puntos computerizados usando la matriz detransformación A de la ecuación 3.1.2.Jaime Martínez Verdú 3-15 MTIT: Visión por Computador
  • 59. Capítulo 3 Técnicas y Tecnologías Existentes Hemos de notar que los vértices ‘B’, ‘C’ y ‘M’ permanecen ocultos en esta vistapor lo que no existen coordenadas imagen posibles. La matriz A obtenida al utilizar las 13 correspondencias viene dada en lo alto de laFigura y los residuos (diferencias entre los puntos observados en la imagen actual y lospuntos computados utilizando la matriz A de la cámara, Figura 3.7) viene mostrados a laderecha. Tal y como podemos observar, 16 de las 26 coordenadas (13×2 = 26) que han sidocomputerizadas por la matriz A aplicadas a los puntos 3D tiene una diferencia menor aun píxel con la coordenada observada de la imagen, 10 presentan una diferencia mayor aun píxel, y sólo 2 presentan residuos mayores a 2 píxeles. Este ejemplo está resuelto empleando un archivo de MatLab. Existen dos ficherosdonde el problema se ha resuelto para este caso concreto o para un caso más general. Acontinuación se muestra la matriz de transformación obtenida A al ejecutar el códigoimplementado 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): c h ,1  + 44.83753640 + 29.80557529 − 5.52017968 + 94.52269238  X c   h , 2  =  + 2.51607339 + 42.24953970 + 40.77846773 + 337.8771055  Y  ⋅ c h,3   a31 a 32 a 33 a 34   Z      c h , 4   − 0.00068834 + 0.06491677 − 0.01031234 + 1.0000000  1  ⇓ c h ,1  X c  + 44.83753640 + 29.80557529 − 5.52017968 + 94.52269238   h , 2  =  + 2.51607339 Y + 42.24953970 + 40.77846773 + 337.8771055 ⋅  c h,3    Z    − 0.00068834  + 0.06491677 − 0.01031234 + 1.0000000    1c h , 4    Este ejemplo apoya la validez de la eficacia y precisión del modelo de la cámaraempleado, pero muestra los errores relacionados con la localización de las esquinas y ladistorsión debida a una longitud focal escasa.Jaime Martínez Verdú 3-16 MTIT: Visión por Computador
  • 60. Capítulo 3 Técnicas y Tecnologías Existentes3.1.5. Procedimiento de calibración del método estudiado. El procedimiento de calibración, por lo visto anteriormente, consiste en:1. Obtener n ≥ 6 puntos del espacio (puesto que hay 2 ecuaciones) de coordenadas conocidas ( X i , Yi , Z i ) para i = 1,2,K, n .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 ( xi , y i ) para i = 1,2,K, n .3. Emplear estos resultados en las ecuaciones siguientes para crear un sistema de ecuaciones y disponerlo en su forma matricial: a11 X i + a12 Yi + a13 Z i + a14 − a 41 xi X i − a 42 xi Yi − a 43 xi Z i = xi a 21 X i + a 22 Yi + a 23 Z i + a 24 − a 41 y i X i − a 42 y i Yi − a 43 y i Z i = yi4. Obtener el sistema en forma matricial y diferenciar la matriz A : r r A⋅X = b  X1 Y1 Z1 1 0 0 0 0 − x1 X 1 − x1Y1 − x1 Z1   x1  X Y2 Z2 1 0 0 0 0 − x2 X 2 − x2Y2   a11   x  − x2 Z 2     2   2 a12  X3 Y3 Z3 1 0 0 0 0 − x3 X 3 − x3Y3 − x3 Z 3     x3     a13     M M M M M M M M M M M  a   M   X n−1 Yn −1 0 − xn−1 X n−1 − xn−1Yn−1 − xn−1 Z n−1     xn−1  14 Z n−1 1 0 0 0    a21     Xn Yn Zn 1 0 0 0 0 − xn X n − xnYn − x n Z n     xn   0 ⋅ a22  =  0 0 0 X1 Y1 Z1 1 − y1 X 1 − y1Y − y1Z1    y    a23  1   0 0 0 0 X2 Y2 Z2 1 − y2 X 2 − y2Y2 − y2 Z 2     y2   0 a24  0 0 0 X3 Y3 Z3 1 − y3 X 3 − y3Y − y3 Z 3     y3    a41    M M M M M M M M M M M     M    a42     0 0 0 0 X n−1 Yn−1 Z n−1 1 − y n−1 X n−1 − yn−1Yn−1 − yn−1Z n−1     y n−1  a43  0  0 0 0 Xn Yn Zn 1 − xn X n − xnYn − xn Z n     y n    5. Calcular la pseudoinversa de A para así poder calcular (a11,…, a43) y, por tanto, A : r r ( −1 ) X∗ = A t ⋅ A ⋅ A t ⋅ b X   c h,1   a11 a12 a13 a14        Y  c h , 2  = a 21 a 22 a 23 a 24  ⋅       Z  c h , 4  a 41 a 42 a 43 a 44        1  Jaime Martínez Verdú 3-17 MTIT: Visión por Computador
  • 61. Capítulo 3 Técnicas y Tecnologías Existentes3.2. Método de calibración de los dos planos. Esta técnica de calibración, propuesta por Martins y otros estudiosos del campo dela visión artificial allá por el año 1981, es capaz de resolver únicamente el problema de laproyección inversa pero solventándolo, pese a todo, con eficacia. A pesar de no conseguiruna solución para el problema de la proyección directa, presenta la ventaja de ofrecerclaramente la recta de proyección correspondiente a cada píxel de la imagen sin tener queasumir ningún modelo de cámara en particular. La Figura 3.8 ilustra el concepto de este método de calibración. Imaginemos dosplanos de calibración (también denominados planos de control) cualesquiera P1 y P2separados entre sí una cierta distancia d = d 2 − d1 y, a su vez, separados respecto al planoimagen una distancia d1 (medida desde el primer plano de control hasta el plano imagen). d2 d1Centro lente M (x,y,z) u1 u2 v Y p2j q2j q1j X p1j Z PLANO (O REJILLA) PLANO (O REJILLA) PLANO IMAGEN DE CALIBRACIÓN P1 DE CALIBRACIÓN P2 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ónde las posiciones tridimensionales de los puntos de calibración ubicados en cada plano (otambién patrón de calibración). Primeramente, hemos de realizar una captura de imagende ambos planos P1 y P2 para así poder extraer las posiciones de los puntos de calibraciónproyectados. Al realizar la captura de imagen, tratamos con dos tipos de puntos: • pij Son los puntos empleados en la calibración ubicados en los planos P1 y P2. • q ij Son los puntos resultantes de proyectar pij en el plano imagen. donde los subíndices i y j denotan el plano por un lado y el índice del puntocorrespondiente por otro lado; para los puntos el rango de i y j es de i = 1,2 (recordemosque en esta técnica de calibración se emplean únicamente dos planos) y j = 1,2,..., n (sitenemos n puntos). Efectivamente, tal y como podemos intuir, la relación entre ambasvariables pij y q ij es el hecho de que la proyección de pij en el plano imagen es q ij .Jaime Martínez Verdú 3-18 MTIT: Visión por Computador
  • 62. Capítulo 3 Técnicas y Tecnologías Existentes 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: x − x1 y − y1 z − z1 = = x2 − x1 y2 − y1 z2 − z1 Si las igualdades consecutivas las dividimos en dos subproblemas distintos, podemos realizar las siguientes operaciones: x − x1 y − y1 = ⇒ ( x − x1 ) ⋅ ( y2 − y1 ) = ( y − y1 ) ⋅ ( x2 − x1 ) x2 − x1 y2 − y1 x − x1 z − z1 = ⇒ ( x − x1 ) ⋅ ( z2 − z1 ) = ( z − z1 ) ⋅ ( x2 − x1 ) x2 − x1 z2 − z1 Si a raíz de esto, realizamos una serie de simplificaciones modificando la forma de la expresión, llegamos a las dos siguientes ecuaciones: x ⋅ ( y2 − y1 ) − y ⋅ ( x2 − x1 ) = x1 ⋅ ( y2 − y1 ) − y1 ⋅ ( x2 − x1 ) x ⋅ ( z2 − z1 ) − z ⋅ ( x2 − x1 ) = x1 ⋅ ( z 2 − z1 ) − z1 ⋅ ( x2 − x1 ) que expresada en forma matricial se representa de la siguiente manera: x  y2 − y1 x2 − x1 0     x1 ⋅ ( y2 − y1 ) − y1 ⋅ ( x2 − x1 )   ⋅  y =    z2 − z1  0 x2 − x1     x1 ⋅ ( z2 − z1 ) − z1 ⋅ ( x2 − x1 )     z   Para continuar con la exposición del método de los dos planos, antesexpondremos una metodología de trabajo planteada por el autor del texto. Para aplicaresta metodología, imaginemos un píxel genérico v de la imagen cuyas coordenadasen x e y son ρ y γ , respectivamente. En efecto, la recta de proyección de dicho píxel v sepuede obtener, esencialmente, del siguiente modo: 1. Determinar el centro de la lente empleando para ello los puntos p1 j y q1 j yp2 j y q2 j , conocidos. RECTA 1 QUE PASA POR CENTRO LENTE p1 j y q1 j RECTA 2 QUE PASA POR CENTRO LENTE p2 j y q2 j x − p1 j x y − p1 j y z − p1 j z x − p2 j x y − p2 j y z − p2 j z R1 q = = 3.2.1A R2 q = = 3.2.1B 1 jx − p1 j x q1 j y − p1 j y q1 j z − p1 j z 2 jx − p2 j x q2 j y − p2 j y q2 j z − p2 j zJaime Martínez Verdú 3-19 MTIT: Visión por Computador
  • 63. Capítulo 3 Técnicas y Tecnologías ExistentesCentro lente M (x,y,z) y RECTA 2 p2j q2j q1j x RECTA 1 p1j z 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 dosrectas representadas en la Figura 3.9 en forma matricial:  x q1 j y − p1 j y q1 j x − p1 j x 0     p1 j x ⋅ ( q1 j y − p1 j y ) − p1 j y ⋅ (q1 j x − p1 j x )R1   ⋅  y =   3.2.2A  q1 j z − p1 j z  0 q1 j x − p1 j x     p1 j x ⋅ (q1 j z − p1 j z ) − p1 j z ⋅ (q1 j x − p1 j x )     z    x q2 j y − p2 j y q2 j x − p2 j x 0     p2 j x ⋅ ( q2 j y − p2 j y ) − p2 j y ⋅ ( q2 j x − p2 j x ) R2   ⋅  y =   3.2.2B  q2 j z − p2 j z  0 q2 j x − p2 j x     p2 j x ⋅ ( q2 j z − p2 j z ) − p2 j z ⋅ ( q2 j x − p2 j x )     z   que se convierte en un sistema de cuatro ecuaciones y tres incógnitas (que hacenreferencia a las coordenadas del centro óptico) tal y como viene mostrado a continuación:  q1 j y − p1 j y q1 j x − p1 j x 0   p1 j x ⋅ (q1 j y − p1 j y ) − p1 j y ⋅ (q1 j x − p1 j x )     x    q1 j z − p1 j z 0 q1 j x − p1 j x     p1 j x ⋅ (q1 j z − p1 j z ) − p1 j z ⋅ (q1 j x − p1 j x )    ⋅  y =   3.2.3  q2 j y − p2 j y q2 j x − p2 j x 0     p2 j x ⋅ ( q2 j y − p2 j y ) − p2 j y ⋅ ( q2 j x − p2 j x )    z       q2 j − p2 j z − p2 j x  p2 j z ⋅ ( q2 j x − p2 j x )   z 0 q2 j x   p2 j x ⋅ ( q2 j z − p2 j z ) −  Por tanto, para resolver el problema aplicamos la técnica vista de mínimoscuadrados por lo que el punto central de la lente se podrá calcular como: r r ( ) r −1 r A( p1 j , p2 j ) ⋅ x = b ( p1 j , p2 j ) ⇒ x = A t ⋅ A ⋅ At ⋅ b 3.2.4 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 u1 . Supongamos tres puntos colineales por lo que nosotros podemos obtener la rectaque pasa por dichos puntos que son: el centro de la lente, el punto v y el buscado u1 .Jaime Martínez Verdú 3-20 MTIT: Visión por Computador
  • 64. Capítulo 3 Técnicas y Tecnologías Existentes RECTA QUE PASA POR CENTRO LENTE v y u1 u1x − ρ u1 y − γ u1z − ϑ = = 3.2.5 x−ρ y −γ z −ϑ Podemos obtener la expresión de las dos rectas en forma matricial: u1x   y − γ x − ρ 0     ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   ⋅ u1 y  =   3.2.6  z − ϑ 0 x − ρ     ρ ⋅ ( z − ϑ ) − ϑ ⋅ ( x − ρ )     u1   z de donde conocemos los valores de x, y y z obtenidos en la ecuación 3.2.3 y losvalores de ρ , γ y ϑ que hacen referencia a las coordenadas del píxel v y las incógnitasque se pueden despejar son u1x y u1 y puesto que u1z es un valor conocido ya que es ladistancia entre el plano imagen y el primero de los dos planos de control. Por tanto, elsistema a resolver es en realidad el siguiente:  y − γ x − ρ  u1x   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   ⋅  =   3.2.7  z − ϑ 0  u1 y   ρ ⋅ ( z − ϑ ) − (ϑ + d1 ) ⋅ ( x − ρ )       cuya solución se puede obtener de la siguiente manera: −1 u1x   y − γ x − ρ   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   =  ⋅  3.2.8 u1 y   z − ϑ 0   ρ ⋅ ( z − ϑ ) − (ϑ + d1 ) ⋅ ( x − ρ )       Si calculamos el valor de la inversa de la matriz solicitada podremos resolver elsistema de ecuaciones. La solución se calcula de la siguiente manera:  1  u1x   0 z −ϑ   ρ ⋅ ( y − γ ) − γ ⋅ (x − ρ)   = ⋅  3.2.9 u1 y   1 y −γ     ρ ⋅ ( z − ϑ ) − (ϑ + d1 ) ⋅ ( x − ρ )    x − ρ (x − ρ ) ⋅ (z − ϑ)     ρ ⋅ ( z − ϑ ) − (ϑ + d1 ) ⋅ ( x − ρ )  u1x     = z −ϑ  3.2.10 u1 y   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ ) + ( y − γ )( ρ ⋅ ( z − ϑ ) − (ϑ + d1 ) ⋅ ( x − ρ ))      x−ρ (x − ρ ) ⋅ (z − ϑ)   (ϑ + d1 ) ⋅ ( x − ρ ) y −γ ( y − γ ) ⋅ (ϑ + d1 ) u1x = ρ − u1y = 2 ρ ⋅ −γ − u1z = d1 3.2.11 z −ϑ x−ρ z −ϑJaime Martínez Verdú 3-21 MTIT: Visión por Computador
  • 65. Capítulo 3 Técnicas y Tecnologías Existentes 3. Determinar mediante interpolación la localización del píxel la localización de ven el primer plano P2 empleando para ello los puntos p2 j y q2 j o usando únicamente elcentro de la lente y obteniendo como resultado el punto u2 . Supongamos tres puntos colineales por lo que nosotros podemos obtener la rectaque pasa por dichos tres puntos que son el centro de la lente, el punto v y el buscado u2 . RECTA QUE PASA POR CENTRO LENTE v y u2 u2 x − ρ u2 y − γ u2 z − ϑ = = 3.2.12 x−ρ y −γ z −ϑ Podemos obtener la expresión de las dos rectas en forma matricial: u 2 x   y − γ x − ρ 0     ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   ⋅ u2 y  =   3.2.13  z − ϑ 0 x − ρ     ρ ⋅ ( z − ϑ ) − ϑ ⋅ ( x − ρ )     u 2   z de donde conocemos los valores de x, y y z obtenidos en la ecuación 3.2.3 y losvalores de ρ , γ y ϑ que hacen referencia a las coordenadas del píxel v y las incógnitas quese pueden despejar son u2 x y u2 y puesto que u2 z es un valor conocido puesto que es ladistancia entre el plano imagen y el segundo de los dos planos de control. Por tanto, elsistema a resolver es en realidad el siguiente:  y − γ x − ρ  u 2 x   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   ⋅  =   3.2.14  z − ϑ 0  u2 y   ρ ⋅ ( z − ϑ ) − (ϑ + d 2 ) ⋅ ( x − ρ )       cuya solución se puede obtener de la siguiente manera: −1 u2 x   y − γ x − ρ   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ )   =  ⋅  3.2.15 u2 y   z − ϑ 0   ρ ⋅ ( z − ϑ ) − (ϑ + d 2 ) ⋅ ( x − ρ )       De forma análoga al caso anterior, si calculamos el valor de la inversa solicitadapodremos resolver el sistema de ecuaciones. Finalmente, después de operar de forma similar al caso anterior, obtenemos lasolución: (ϑ + d 2 ) ⋅ ( x − ρ ) y −γ ( y − γ ) ⋅ (ϑ + d 2 ) u 2x = ρ − u2 y = 2 ρ ⋅ −γ − u2 z = d 2 3.2.16 z −ϑ x−ρ z −ϑJaime Martínez Verdú 3-22 MTIT: Visión por Computador
  • 66. Capítulo 3 Técnicas y Tecnologías Existentes 4. La recta de proyección tiene la dirección u1 - u2 y pasa por el punto u1 : X − u2 x Y − u2 y Z − u2 z 3.2.17 = = u1x − u2 x u1 y − u2 y u1z − u2 z 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: [ q1 j = q1 j x , q1 j y , q1 j z ] [ ⇒ q1 j = q1 j x , q1 j y ,0 ] [ p1 j = p1 j x , p1 j y , p1 j z ] ⇒ [ p1 j = p1 j x , p1 j y , d1 ] q2 j = [q2jx , q2 j y , q2 j z ] ⇒ q2 j = [q 2jx , q2 j y ,0] p2 j = [p2jx , p2 j y , p2 j z ] ⇒ p2 j = [p 2jx , p2 j y ,d ] 2 v = [ρ , γ ,ϑ ] ⇒ v = [ρ , γ ,0] [ u1 = u1 x , u1 y , u1 z ] [ ⇒ u1 = u1 x , u1 y , d1 ] u2 = [u 2x , u 2 y , u2 z ] ⇒ u2 = [u 2x , u2 y ,d ] 2 A partir de estos valores de coordenadas, resolver la calibración es resolver lossiguientes sistemas de ecuaciones, que se simplifican de la siguiente manera: q1 j y − p1 j y q1 jx − p1 jx 0   p1 jx ⋅ (q1 j y − p1 jy ) − p1 j y ⋅ (q1 jx − p1 jx )    x   − d1 0 q1 jx − p1 jx     − d1 ⋅ q1 jx   ⋅  y =   3.2.18 q 2 j y − p 2 j y q2 j x − p2 jx 0     p 2 j x ⋅ ( q 2 j y − p2 j y ) − p2 j y ⋅ ( q2 j x − p 2 j x )   z   − d2 0 q2 j x   − p2 j x   − d 2 ⋅ q2 j x   y − γ x − ρ  u1y   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ ) ⋅  = z 0  u1y   ρ ⋅ z − d 1 ⋅ ( x − ρ )  3.2.19     y − γ x − ρ  u 2 y   ρ ⋅ ( y − γ ) − γ ⋅ ( x − ρ ) ⋅  = z 0  u 2 y   ρ ⋅ z − d 2 ⋅ ( x − ρ )  3.2.20      X − u2 x Y − u2 y Z − d2 = = 3.2.21u1x − u2 x u1 y − u2 y d1 − d 2Jaime Martínez Verdú 3-23 MTIT: Visión por Computador
  • 67. Capítulo 3 Técnicas y Tecnologías Existentes A pesar de lo sencillo del sistema propuesto en este texto, no es fielmente elexpuesto por Martins y otros puesto que la recta de proyección del píxel v se puedeobtener de la otra siguiente forma que sí corresponde con el método de calibraciónpropuesto por Matins: 1. Determinar mediante interpolación la localización del píxel v en el primerplano P1 empleando para ello los puntos p1 j y q1 j para obtener el punto u1 . 2. Determinar de igual manera la localización del punto en el plano P2 paraobtener el punto u2 . 3. La recta de proyección tiene la dirección u1 - u2 y pasa por el punto u1 . Martins y otros (1981) proponen tres tipos de interpolación con diferentes gradosde 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 delorden de 4 mm a una distancia de unos 0.6 mm. Como es lógico, la precisión dependedel número de puntos de calibración escogidos en cada plano, siendo necesario unmínimo de 24 puntos (12 en cada plano) para los cuales hay que almacenar losparámetros de interpolación correspondientes al método que se utilice. Una ventaja adicional es que las ecuaciones a resolver son lineales, lo quecomputacionalmente es una gran ventaja. A partir de esta técnica se ha propuesto otras que de una manera más generalresuelven tanto la proyección directa como la inversa (Isaguirre y otros, 1985, Breaban yotros, 1985).Jaime Martínez Verdú 3-24 MTIT: Visión por Computador
  • 68. Capítulo 3 Técnicas y Tecnologías Existentes3.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ásextensamente empleadas, mayormente en aplicaciones industriales de visión artificial, porsu precisión y versatilidad. En esta técnica, se considerancuatro etapas en el proceso de transformación de puntos3D en el sistema de referencia del mundo a píxeles en laimagen. El estudio de investigación de Roger Y. Tsai tienecomo objetivo fundamental la búsqueda de unarestricción, o ecuación en donde intervengan diversasconstantes, que sean únicamente una función de unsubconjunto de los parámetros de calibración parareducir el tamaño del espacio de parámetros decalibración. Figura 3.10: Imagen de Éste método tiene muy en cuenta el efecto Roger Y. Tsaiproducido por la distorsión de la lente pues deteriora lacalidad geométrica de la imagen y, por tanto, la capacidad para medir posiciones de losobjetos 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 lasdirecciones previstas por las leyes ópticas. Ambos tipos se explican a grosso modo acontinuación: La distorsión radial de la lentehace que los puntos de las imágenes sedesplacen de forma radial a partir deleje óptico. Su principal causa es unpulido defectuoso de la lente. La distorsión tangencial ocurreen ángulos rectos a las líneas radiales apartir del eje óptico. Su principal causaes un centrado defectuoso de todos loselementos que configuran el sistema de Figura 3.11: Distorsión de la lente.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.Jaime Martínez Verdú 3-25 MTIT: Visión por Computador
  • 69. Capítulo 3 Técnicas y Tecnologías Existentes Además, aunque la restricción no es una función lineal de los parámetros decalibración antes mencionados (que denominaremos como parámetros del grupo I), existeuna 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 deperspectiva normal. Además de describir la geometría de la cámara (posición yorientación de la misma respecto a algún sistema de coordenadas), el modelo de lacámara describirá varias características internas, es decir, los parámetros intrínsecos que seobtendrá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 lossiguientes: • Factor de escala s x , 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 cx y c y . • El número de píxeles de la cámara CCD, N cx . • Número de píxeles en una línea muestreados por el ordenador, N fx . • El tamaño en la dirección del elemento sensor de la cámara, d x , d y . • El tamaño del píxel en una línea muestreada por el ordenador, d x , d y . Para pasar de un sistema de coordenadas que se trata de la referencia del mundoal 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ámetrosextrí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 r r r mundo y el de la cámara : Rθ , Rφ , Rψ . • Las traslaciones para la transformación entre el origen de coordenadas del mundo y el de la cámara: Tx , Ty , Tz . 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.Jaime Martínez Verdú 3-26 MTIT: Visión por Computador
  • 70. Capítulo 3 Técnicas y Tecnologías Existentes3.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 ecuacionesque lo describen bajo la transformación de perspectiva equivalente. Tal y como podemosobservar en la Figura 3.12, aparecen una serie de relaciones entre algunos de losparámetros involucrados en el proceso. Los diferentes sistemas de coordenadas queintervienen en el proceso de formación de imágenes según la Figura 3.12 son: • El Sistema de Coordenadas del Mundo ( x w , y w , z w ), tiene el centro en el punto Ow y sus orientaciones son arbitrarias. En pos, se designará SCM. • El Sistema de Coordenadas de la Cámara ( x, y , z ) , 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 ( X , Y , z ) está centrado en Oi (intersección del eje óptico z y el plano de la imagen) y paralelo a los ejes ( x, y ). A partir de ahora, dicho sistema se denominará SCI. O y SISTEMA DE LA CÁMARA f (c x , c y ) = Oi x Y Pd ( X d , Yd ) Pu ( X u , Yu ) PLANO DE LA IMAGEN X Poc (0,0, zc ) zw Pc ( xc , yc , zc ) Pw ( xw , yw , z w ) Ow OBJETO yw SISTEMA DEL MUNDO xwFigura 3.12: Esquema general que representa el método de calibración de los dos planos.Jaime Martínez Verdú 3-27 MTIT: Visión por Computador
  • 71. Capítulo 3 Técnicas y Tecnologías Existentes Los elementos de interés ilustrados en la Figura 3.12 son los siguientes: • El punto Pw ( xw , yw , z w ) 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 Pc ( xc , y c , z c ) . • La variable f hace referencia a la distancia de separación entre el plano de la imagen y el centro óptico. • El punto Pu ( X u , Yu ) son las coordenadas del punto imagen Pc ( xc , y c , z c ) teniendo en cuenta el modelo de la cámara ideal de pin-hole. • Si nos fijamos en el punto Pd ( X d , Yd ), podemos comprobar que se trata de las coordenadas reales de la imagen que difieren de Pu ( X u , Yu ) 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 ( X , Y ) 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 ( x w , y w , z w ) a ( X , Y ) semuestra en la Figura 3.13. A continuación, explicaremos en cuatro pasos y de formaanalítica dicha transformación, viniendo todo ello ilustrado en la Figura 3.13. Paso 1 Transformación desde ( xw , yw , z w ) a ( xc , yc , zc ) ( xw , y w , z w ) r Coordenadas 3D Parámetros a calibrar: R y T desde SCM( xc , y c , z c )Coordenadas 3D Paso 2 Proyección de perspectiva ideal desde SCC Parámetros a calibrar: f ( X u , Yu ) Coordenadas Paso 3 Distorsión radial de las lentes imagen ideales sin distorsión Parámetros a calibrar: k1 y k2 ( X d , Yd ) Coordenadas imagen con Paso 4 Transformación desde ( xw , yw , z w ) a ( xc , yc , zc ) ( X ,Y ) distorsión Parámetros a calibrar: cx, cy y sx Figura 3.13: Esquema general que representa los cuatro pasos de transformación.Jaime Martínez Verdú 3-28 MTIT: Visión por Computador
  • 72. Capítulo 3 Técnicas y Tecnologías ExistentesPaso 1: Transformación desde el Sistema de Coordenadas del Mundo Pw = ( x w , y w , z w )hacia el Sistema de Coordenadas de la Cámara Pc = ( xc , y c , z c ) . Se aplicarán unarotación seguida de una traslación; transformación de viene representada por:  xc   xw  r     r Pc = R ⋅ Pw + T ⇔  yc  = R ⋅  y w  + T 3.3.1A      zc     zw    donde R es una matriz de rotación de dimensión 3×3, compuesta por vectoresortonormales [r1 , r4 , r7 ] , [r2 , r5 , r8 ] y [r3 , r6 , r9 ] como cualquier matriz de rotación que se T T T rprecie, y T es un vector de traslación de dimensión 1×3. Los parámetros a calibrar son la rmatriz R y el vector T :  r1 r2 r3  Tx    r   R =  r4 r5 r6  T = T y  3.3.1B      r7 r8 r9    Tz    Debemos percatarnos de que la transformación desde un sistema de coordenadascartesiano ( xw , yw , z w ) a otro ( xc , yc , zc ) es única si dicha transformación viene definidacomo una rotación respecto el origen (tal rotación puede ser definida como tresrotaciones individuales – Yaw, Pitch and Roll YPR – sobre un eje que pase a través delorigen) seguida de una traslación 3D. Muchas de las técnicas existentes para la calibración de cámaras definen latransformación como una traslación seguida de una rotación. Se verá posteriormente queel orden de las operaciones (rotación seguida de traslación) es crucial para la estimulacióny desarrollo de la nueva técnica de calibración. Paso 2: Transformación desde el Sistema de Coordenadas de la Cámaratridimensional Pc = ( xc , y c , z c ) hacia el Sistema de Coordenadas de la Imagen ideal (nodistorsionada) Pu ( X u , Yu ) que viene dada por la proyección de perspectiva, vista en elCapítulo 2 Sección 2.2. Se usan las ecuaciones ya vistas para el modelo pin-hole: xc Xu = f 3.3.2A zc yc Yu = f 3.3.2B zc En el paso 2, el parámetro que debemos calibrar es la longitud focal efectiva de lalente f .Jaime Martínez Verdú 3-29 MTIT: Visión por Computador
  • 73. Capítulo 3 Técnicas y Tecnologías Existentes 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 ladistorsión radial de las lentes como las coordenadas de la imagen se tiene lo siguiente: X u = X d + Dx 3.3.3A 3.3.3B Yu = Yd + Dy donde ( X d , Yd ) son las coordenadas reales de la imagen, esto es, distorsionadas, enel plano imagen y los valores Dx y Dy viene expresados a continuación:Dx = X d ⋅ (k1 ⋅ r 2 + k2 ⋅ r 4 + k3 ⋅ r 6 + L) 3.3.4A r= X d + Yd2 2 3.3.4CD y = Yd ⋅ ( k1 ⋅ r + k 2 ⋅ r + k3 ⋅ r + L) 2 4 6 3.3.4B Los parámetros a calibrar son los coeficientes de distorsión ki . El modelado dedistorsión de las lentes puede encontrase en la sección de introducción a nuestro texto. Sirecordamos, existen dos clases de distorsiones: radial y tangencial. Para cada clase dedistorsión se requiere una serie infinita de términos. Sin embargo, siguiendo laexperiencia 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( X d , Yd ) a coordenadas de la imagen tal y como las proporciona el computador: sx X = Xd ⋅ + cx 3.3.5A d x 1 Y = Yd ⋅ + cy 3.3.5B d y donde ( X , Y ) es el par formado por el número de fila y el número de columnadel píxel de la imagen en memoria del computador. El factor sx se denomina factor deincertidumbre de escala. Se trata de una relación entre las coordenadas calculadas de lospíxeles y las coordenadas reales ( X d , Yd ) , debido a errores en el proceso de digitalización.Los valores (cx , c y ) definen el número de fila y de columna del centro de la imagen enmemoria del computador, respectivamente. Por otro lado, la distancia entre centros de loselementos sensores CCD adyacentes en la dirección Y es d y = d y . Además, se conoce una relación entre la distancia en la dirección de exploración X , d x , y la distancia, d x : Ncx d x = d x 3.3.6 N fx donde N cx es el número de elementos sensores CCD en la dirección X y N fx es elde 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 s x .Jaime Martínez Verdú 3-30 MTIT: Visión por Computador
  • 74. Capítulo 3 Técnicas y Tecnologías Existentes3.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 ecuaciones3.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: xc yc Xu = f 3.3.2A Yu = f zc zc 3.3.2B X u = X d + Dx 3.3.3A Yu = Yd + Dy 3.3.3B Dx = X d ⋅ k1 ⋅ r 2 3.3.4A D y = Yd ⋅ k1 ⋅ r 2 3.3.4B 0 0 Xd Yd X = s x ⋅ + c x / 3.3.5A Y = + cy / 3.3.5B dx dy 3.3.2A ⇔ 3.3.3A 3.3.2B ⇔ 3.3.3B xc yc f = X d + Dx 3.3.7A f = Yd + D y 3.3.7B zc zc 3.3.7A ⇔ 3.3.4A 3.3.7B ⇔ 3.3.4B xc yc f = X d ⋅ (1 + k1 ⋅ r 2 ) 3.3.8A f = Yd ⋅ (1 + k1 ⋅ r 2 ) 3.3.8B zc zc 3.3.8A ⇔ 3.3.5A 3.3.8B ⇔ 3.3.5B xc d yc = Y ⋅ d y ⋅ (1 + k1 ⋅ r 2 ) 3.3.9B = X ⋅ x ⋅ (1 + k1 ⋅ r 2 ) 3.3.9A f f zc sx zc de donde se obtienen las ecuaciones que relacionan las coordenadas 2D( X , Y ) del computador con las coordenadas 3D ( xc , yc , zc ) del sistema de la cámara parael punto del objeto y, suponiendo que (cx , c y ) es (0,0), vienen dadas por: xc d f = X ⋅ x ⋅ (1 + k1 ⋅ r 2 ) 3.3.9A zc sx yc f = Y ⋅ d y ⋅ (1 + k1 ⋅ r 2 ) 3.3.9B zc r Nota aclaratoria: El valor de . 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: Xd d  X = sx ⋅ ⇒ Xd = X ⋅ x   2 d  d x sx  ⇒ r = X 2 + Y 2 ⇒ r = ( ) 2 Yd  d d  X ⋅ x  + Y ⋅ dy   Y = ⇒ Yd = Y ⋅ d y   sx  dy  Jaime Martínez Verdú 3-31 MTIT: Visión por Computador
  • 75. Capítulo 3 Técnicas y Tecnologías Existentes Si desarrollamos el sistema matricial de la ecuación 3.3.1A, sustituyendo antes losrespectivos valores que aparecen en la ecuación 3.3.1B obtenemos tres ecuacionesdistintas que conforman las siguientes coordenadas:  xc   r1 r2 r3   xw  Tx  ⇒ xc = r1 ⋅ xw + r2 ⋅ yw + r3 ⋅ z w 3.3.10A          yc  = r4 r5 r6  ⋅  y w  + Ty  ⇒ yc = r4 ⋅ xw + r5 ⋅ y w + r6 ⋅ z w 3.3.10B          zc  r7 r8 r9   z w  Tz  ⇒ zc = r7 ⋅ xw + r8 ⋅ y w + r9 ⋅ z w         3.3.10C Si sustituimos el valor de la ecuación 3.3.10A y 3.3.10C en la ecuación 3.3.9A seobtiene lo siguiente: r1 ⋅ xw + r2 ⋅ yw + r3 ⋅ z w + Tx d f = X ⋅ x ⋅ (1 + k1 ⋅ r 2 ) 3.3.11A r7 ⋅ xw + r8 ⋅ yw + r9 ⋅ z w + Tz sx Análogamente, si sustituimos las expresiones 3.3.10B y 3.3.10C en la ecuación3.3.9B se obtiene lo siguiente: r4 ⋅ xw + r5 ⋅ yw + r6 ⋅ z w + Ty f = Y ⋅ d y ⋅ (1 + k1 ⋅ r 2 ) 3.3.11B r7 ⋅ xw + r8 ⋅ yw + r9 ⋅ z w + Tz La técnica propuesta por Tsai asume que la única distorsión que se produce en laimagen es radial, lo que significa que ésta no afecta a la dirección del vector que va desdeel origen al punto en la imagen, es decir, los vectores Oi Pd y Oi Pu , son colineales. Delmismo modo, el vector Poc Pw es paralelo a estos vectores, donde Poc es un punto sobre el ejeZ a la altura de P (ver Figura 3.12). Esta restricción se conoce con el nombre de restricciónde alineamiento radial, y se cumple independientemente de los coeficientes radiales k1 y k2, rde la distancia focal efectiva f, y de la componente Tz del vector de traslación T . Sobre estabase descansa la metodología de esta técnica. dx dx Para la realización del método de calibración dy 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 dy plantea es el de obtener los parámetros intrínsecos y Figura 3.14: Imagen patrón extrínsecos (que viene representados en la Tabla 3.2) para calibración. resolviendo las ecuaciones 3.3.11A y 3.3.11B a partirde un conjunto de puntos de los objetos cuyas coordenadas en el sistema delmundo ( xw , yw , z w ) son conocidas y cuyas coordenadas de la imagen ( X , Y ) son medidas.Jaime Martínez Verdú 3-32 MTIT: Visión por Computador
  • 76. Capítulo 3 Técnicas y Tecnologías Existentes Nota aclaratoria: El valor de R . 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 r rotación, y las tres componentes del vector de traslación T . En concreto, la matriz de rotación R puede ser expresada en función de θ, φ y ψ del siguiente modo:  + cos(ψ ) ⋅ cos(θ ) sen(ψ ) ⋅ cos(θ ) − sen(θ )    R = − sen(ψ ) ⋅ cos(φ ) + cos(ψ ) ⋅ sen(θ ) ⋅ cos(φ ) + cos(ψ ) ⋅ cos(φ ) + sen(ψ ) ⋅ sen(θ ) ⋅ sen(φ ) cos(θ ) ⋅ sen(φ )   + sen(ψ ) ⋅ sen(φ ) + cos(ψ ) ⋅ sen(θ ) ⋅ cos(φ ) − cos(ψ ) ⋅ sen(φ ) + sen(ψ ) ⋅ sen(θ ) ⋅ cos(φ ) cos(θ ) ⋅ cos(φ )   PRÁMETROS INTRÍNSECOS PARÁMETROS EXTRÍNSECOS DESIGNACIÓN OBSERVACIONES DESIGNACIÓN OBSERVACIONES Distancia entre el plano Longitud focal efectiva, f imagen y el centro de Matriz de rotación, R proyección o centro óptico Parámetros de la transformación entre el sistema de coordenadas del mundo y el de la cámara Parámetro que modela la r Distorsión de la lente, k1 distorsión radial de la lente en Matriz de traslación, T las direcciones x e y Factor de escala entre las coordenadas calculadas de los Incertidumbre de escala, s x píxeles y las coordenadas reales, debido a errores en el proceso de digitalización Las coordenadas del punto Coordenadas (c x , c y ) 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óncoplanarios y otra que requiere puntos de calibración en distintos planos. Ambas sonparecidas, si bien la segunda que es algo más precisa, exige un poco más de tiempo decomputación y es algo más laboriosa ya que necesita varios planos de calibración.Jaime Martínez Verdú 3-33 MTIT: Visión por Computador
  • 77. Capítulo 3 Técnicas y Tecnologías Existentes3.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 ensus propias aplicaciones, el desarrollo se orientará a la utilización del algoritmo.Primeramente se expondrá el procedimiento del cómputo para cada paso de formaindividual aunque puedan aparecer otros problemas teóricos. La mayoría de los detallestécnicos aparece en los cuadros de texto de demostraciones. CÁMARA HARDWARE PARA ADIQUISICIÓN DE IMÁGENES Y COMPUTADORA SUPERFÍCIE PLANA QUE CONTIENE LOS PUNTOS DE CALIBRACIÓN QUE SON LAS ESQUINAS DE LOS CUADRADOS 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 usaun patrón de puntos coplanar, todos ellos en el mismo plano. En el setup real, el planoilustrado en la figura es la superficie superior de un bloque de metal. La descripcióndetallada del setup físico se da en la Sección IV-A1 del documento “A versatile cameracalibration technnique for high-accuracy 3D machina vision metrology usin off-the-shelfTV cameras and lenses”. Puesto que los puntos de la calibración están en un plano común, el Sistema deCoordenadas ( x w , y w , z w ) puede escogerse tal que z w = 0 y el origen de manera que noesté próximo al centro de la vista, o eje de y, del Sistema de Coordenadas de la Cámara.La ubicación del sistema ( x w , y w , z w ) puede ser definido por el propio usuario pues elorigen es arbitrario; de hecho, no presenta ningún problema que el origen de ( x w , y w , z w )esté fuera del campo de vista y no cerca del eje de y. El propósito de esto último esasegurarse de que Ty no sea exactamente cero, para que el procedimiento de cómputodescrito pueda hacerse de forma sencilla y concernida.Jaime Martínez Verdú 3-34 MTIT: Visión por Computador
  • 78. Capítulo 3 Técnicas y Tecnologías Existentes 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 ( X di , Ydi ) despejando los oportunosvalores X di e Ydi de la ecuación 3.3.5A y 3.3.5B considerando el factor de escalado sx convalor 1, puesto que no se calibra. −1 −1 −1 −1 −1 2) Resolver las cinco incógnitas T y ⋅ r1 , T y ⋅ r2 , T y ⋅ Tx , Ty ⋅ r4 , Ty ⋅ r5 , a partir dela ecuación 3.3.12, que se obtiene por la aplicación de la restricción de alineamientoradial, es decir, a partir de las ecuaciones 3.3.8A y 3.3.8B:  Ty−1 ⋅ r1     Ty−1 ⋅ r2    [ Ydi ⋅ xwi Ydi ⋅ ywi Ydi − X di ⋅ xwi − X di ⋅ ywi ] ⋅ Ty−1 ⋅ Tx  = X di 3.3.12    T −1 ⋅ r   y 4  T −1 ⋅ r   y 5 El conjunto de i puntos daría lugar a un sistema matricial que resolveríamos pormínimos cuadrados estudiado en el apéndice A si la cantidad de puntos no es 5. Lossubí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 z w = 0 : xci f 3 .3 .8 A zci X ⋅ (1 + k1 ⋅ r 2 ) x X ⇒ = di ⇒ ci = di f ci Ydi ⋅ (1 + k1 ⋅ r ) 2 3 .3 .8 B y yci Ydi zci Aplicando lo conocido en las ecuaciones 3.3.10A y 3.3.10B tenemos: r1 ⋅ xwi + r2 ⋅ ywi + r3 ⋅ 0 + Tx X di r ⋅ x + r ⋅ y + Tx X di = ⇒ 1 wi 2 wi = r4 ⋅ xwi + r5 ⋅ ywi + r6 ⋅ 0 + Ty Ydi r4 ⋅ xwi + r4 ⋅ ywi + Ty Ydi Operando en la expresión llegamos al resultado final que es el sistema matricial: Ydi ⋅ ( r1 ⋅ xwi + r2 ⋅ ywi + Tx ) = X di ⋅ (r4 ⋅ xwi + r5 ⋅ y wi + Ty ) r1 ⋅ Ydi ⋅ xwi + r2 ⋅ Ydi ⋅ ywi + Ydi ⋅ Tx = r4 ⋅ X di ⋅ xwi + r5 ⋅ X di ⋅ ywi + X di ⋅ Ty r1 ⋅ Ydi ⋅ xwi + r2 ⋅ Ydi ⋅ ywi + Ydi ⋅ Tx − r4 ⋅ X di ⋅ xwi − r5 ⋅ X di ⋅ ywi = X di ⋅ Ty (Ty−1 ⋅ r1 ) ⋅ Ydi ⋅ xwi + (Ty−1 ⋅ r2 ) ⋅ Ydi ⋅ y wi + (Ty−1 ⋅ Tx ) ⋅ Ydi − (Ty−1 ⋅ r4 ) ⋅ X di ⋅ xwi − (Ty−1 ⋅ r4 ) ⋅ X di ⋅ ywi = X diJaime Martínez Verdú 3-35 MTIT: Visión por Computador
  • 79. Capítulo 3 Técnicas y Tecnologías Existentes En pos, presentados las dos situaciones posibles, un sistema con una matrizcuadrada de fácil resolución y otro sobredeterminado a resolver por mínimo cuadrados:  Yd 1 ⋅ xw1 Yd 1 ⋅ y w1 Yd1 − X d1 ⋅ xw1 − X d 1 ⋅ y w1   Ty−1 ⋅ r1      Yd 2 ⋅ xw2 Yd 2 ⋅ y w2 Yd 2 − X d 2 ⋅ xw 2 − X d 2 ⋅ y w2  Ty−1 ⋅ r2    Yd 3 ⋅ xw3 Yd 3 ⋅ y w3 Yd 3 − X d 3 ⋅ x w3 − X d 3 ⋅ y w3  ⋅ Ty−1 ⋅ Tx  = X d 1 3.3.12A      Yd 4 ⋅ xw4 Yd 4 ⋅ y w4 Yd 4 − X d 4 ⋅ xw 4 − X d 4 ⋅ y w4  Ty−1 ⋅ r4    Yd 5 ⋅ xw5 Yd 5 ⋅ y w5 Yd 5 − X d 5 ⋅ x w5 − X d 5 ⋅ y w5   Ty−1 ⋅ r5      Ty−1 ⋅ r1   Yd 1 ⋅ xw1 Yd 1 ⋅ y w1 Yd1 − X d1 ⋅ xw1 − X d 1 ⋅ y w1   −1   Y ⋅x Ty ⋅ r2   d 2 w2 Yd 2 ⋅ y w2 Yd 2 − X d 2 ⋅ xw 2 − X d 2 ⋅ y w2   −1  ⋅ T ⋅ T  = X  M M M M M   y−1 x  d1 3.3.12B   Ty ⋅ r4   Ydn ⋅ xwn Ydn ⋅ y wn Ydn − X dn ⋅ xwn − X dn ⋅ y wn   −1   Ty ⋅ r5  La restricción de alineamiento radial Oi Pd || Ooc P que aparece en la Figura 3.12 seobtiene del argumento geométrico de que Oi Pd y Ooc P son la intersección de un planoque pasa a través de O, Poc y P con dos planos paralelos, uno el plano de la imagen y elotro paralelo al plano de la imagen y que pasa a través de Poc y P. Igualmente,Oi Pu || Ooc P , por tanto Oi Pd || Ooc P || Oi Pu . La condición Oi Pd || Ooc P es equivalente adecir que el producto vectorial Oi Pd × Ooc P es nulo, esto significa que r r r r ( X d ⋅ i + Yd ⋅ j ) × ( xc ⋅ i + yc ⋅ j ) = 0 3.3.13 Aplicando el método general de producto escalar podemos calcular el vectorresultante y su correspondiente módulo: r r r i j k r X d Yd 0 = ( X d ⋅ yc − Yd ⋅ xc ) ⋅ k MÓDULO → X d ⋅ yc − Yd ⋅ xc = 0   3.3.14 xc yc 0 La ecuación anterior 3.3.14 puede derivarse algebraicamente de 3.3.10A y 3.3.10Bpara llegar a una ecuación semejante a la 3.3.12, que contiene las coordenadas de laimagen ( X d , Yd ) y las coordenadas mundiales ( x w , y w , z w ) de los puntos de calibración. Sepueden usar las ecuaciones citadas obteniendo, X d ⋅ (r4 ⋅ xw + r5 ⋅ y w + r6 ⋅ z w + Ty ) = Yd ⋅ (r1 ⋅ xw + r2 ⋅ y w + r3 ⋅ z w + Tx ) 3.3.15 −1 −1 −1 Reagrupando los términos en 3.3.15 de modo que, T y ⋅ r1 , T y ⋅ r2 , T y ⋅ Tx ,Ty−1 ⋅ r4 , Ty−1 ⋅ r5 sean tratadas como incógnitas, y considerando el caso coplanar,haciendo z w = 0 , se obtiene la ecuación 3.3.12.Jaime Martínez Verdú 3-36 MTIT: Visión por Computador
  • 80. Capítulo 3 Técnicas y Tecnologías Existentes −1 −1 −1 3) Obtener los valores de (r1 ,K, r9 , Tx , Ty ) a partir de T y ⋅ r1 , T y ⋅ r2 , T y ⋅ Tx ,Ty−1 ⋅ r4 , Ty−1 ⋅ r5 . Para ello, se define ai para i = 1,2,3,4,5 del siguiente modo:a1 = Ty−1 ⋅ r1 3.3.16A a2 = Ty−1 ⋅ r2 3.3.16Ba3 = Ty−1 ⋅ Tx 3.3.16C a4 = Ty−1 ⋅ r4 3.3.16Da5 = Ty−1 ⋅ r5 3.3.16E que son valores previamente obtenidos a través de la ecuación 3.3.12. −1 −1 −1 −1 −1 3.1) Obtener | Ty | . Para ello, a partir de T y ⋅ r1 , T y ⋅ r2 , T y ⋅ Tx , Ty ⋅ r4 , Ty ⋅ r5 , sedefine la siguiente matriz C como:  r1 r2   c1 c2   T TY  C= = Y  3.3.17 c4 c5   r4 r5     TY  TY   Si no hay ninguna fila o columna de C totalmente nula, entonces obtener Ty2como sigue: S r − S r2 − 4 ⋅ (c1 ⋅ c5 − c2 ⋅ c4 ) 2 Ty2 = 3.3.18 2 ⋅ (c1 ⋅ c5 − c2 ⋅ c4 ) 2 S r = c12 + c2 + c3 + c4 2 2 2 3.3.19 En caso contrario obtener Ty2 como sigue, 1 Ty2 = 3.3.20 c + c2 i 2 j donde ci y cj son elementos de una fila o una columna no nula de la matriz C, esdecir, 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( X i , Yi ) estén lejos del centro de la imagen (cx , c y ) . Las coordenadas de dicho punto respecto al Sistema de Coordenadas Mundialson ( xwi , y wi , z wi ) . 3.2.2) Elegir el signo de Ty como +1.Jaime Martínez Verdú 3-37 MTIT: Visión por Computador
  • 81. Capítulo 3 Técnicas y Tecnologías Existentes 3.2.3) Obtener las siguientes expresiones:r1 = a1 ⋅ Ty 3.3.21A r2 = a2 ⋅ Ty 3.3.21BTx = a3 ⋅ Ty 3.3.21C r4 = a4 ⋅ Ty 3.3.21Dr5 = a5 ⋅ Ty 3.3.21Exc = r1 ⋅ xwi + r2 ⋅ ywi + Tx 3.3.21F yc = r4 ⋅ xwi + r5 ⋅ ywi + Ty 3.3.21G donde los valores de ai son los obtenidos al resolver el sistema 3.3.12. 3.2.4) Si xc y X i coinciden en signo y además yc y Yi , entonces el signo de Ty es +1, sino -1. 3.3) Obtener la matriz de rotación R, es decir, los valores r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 . 3.3.1) Obtener las siguientes expresiones (las mismas que en caso anterior):r1 = a1 ⋅ Ty 3.3.21A r2 = a2 ⋅ Ty 3.3.21BTx = a3 ⋅ Ty 3.3.21C r4 = a4 ⋅ Ty 3.3.21Dr5 = a5 ⋅ Ty 3.3.21E 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 ri i = 1,2,3,4,5,6 , que son elementos en las dos primeras filasde R, los términos que faltan r3 , r6 y r9 se determinan a partir de la propiedad deortonormalidad de la matriz R con las dos primeras filas y considerando que los vectoresfila son unitarios y el determinante de R es 1. Esto es, r12 + r22 + r32 = 1 ⇒ r3 = 1 − r12 − r22 3.3.22A r42 + r52 + r62 = 1 ⇒ r6 = s ⋅ 1 − r42 − r52 3.3.22B r12 + r42 + r72 = 1 ⇒ r7 = 1 − r12 − r42 3.3.22C r22 + r52 + r82 = 1 ⇒ r8 = 1 − r22 − r52 3.3.22D r72 + r82 + r92 = 1 ⇒ r9 = 1 − r72 − r82 = r12 + r22 + r42 + r52 − 1 3.3.22E  r1 r2 1 − r12 − r22    R= r4 r5 s ⋅ 1 − r42 − r52  3.3.23    1− r − r 2 2 1− r − r 2 2 r1 + r2 + r4 + r5 − 1 2 2 2 2  1 4 2 5 Jaime Martínez Verdú 3-38 MTIT: Visión por Computador
  • 82. Capítulo 3 Técnicas y Tecnologías Existentes 4) Obtener la longitud focal efectiva, los coeficientes de distorsión y la posición zc . 4.1) Obtener un valor aproximado de f y Tz , ignorando la distorsión de la lente. Para cada punto de calibración i, debemos establecer la siguiente ecuación linealdonde intervienen f y Tz como incógnitas, f [y i ] − d y ⋅   = wi ⋅ d y ⋅ Yi 3.3.24 Tz    donde yi = r4 ⋅ xwi + r5 ⋅ ywi + r6 ⋅ 0 + Ty y wi = r7 ⋅ xwi + r8 ⋅ ywi + r9 ⋅ 0 . Con varios puntos de calibración del objeto se obtiene un sistemasobredeterminado de ecuaciones lineales que se puede resolver para encontrar solución alas incógnitas f y Tz . El plano de calibración debe ser lo menos paralelo posible al planoimagen puesto que esto conllevaría que en el sistema de ecuaciones 3.3.1B apareceríandependencias lineales impidiendo su resolución. La ecuación 3.3.1B se obtiene, tal y como podría haber intuido el lector, de laecuación 3.3.11B considerando la constante de distorsión k1 nula. Puesto que a estaaltura del procedimiento ya son conocidos R, Tx y Ty son conocidos, la ecuación 3.3.1B esuna ecuación lineal con incógnitas f y Tz . El sistema de ecuaciones sobredeterminadopuede resolverse por el método de mínimo cuadrados. Conviene advertir que aunque la ecuación 3.3.11A proporciona una ecuaciónsimilar, resultaría redundante, puesto que las incógnitas que de dicho sistema deecuaciones ya las habríamos obtenido antes. Si tras este proceso de longitud focal resultara con un valor negativo ( f < 0 ),entonces la matriz R de 3.3.23 debe recalcularse de la siguiente manera:  r1 r2 − 1 − r12 − r22    R= r4 r5 − s ⋅ 1 − r42 − r52  3.3.25    − 1− r − r2 2 − 1− r − r 2 2 r12 + r22 + r42 + r52 − 1  1 4 2 5  4.2) Obtener la solución exacta de f , Tz y k1 . Resolver la ecuación 3.3.11B con f , Tz y k1 como incógnitas utilizando algúnmétodo de optimización, tal como el gradiente conjugado. Utilizar las estimas anteriorespara f y Tz como estimas iniciales y poner k1 a cero también para la estima inicial.Jaime Martínez Verdú 3-39 MTIT: Visión por Computador
  • 83. Capítulo 3 Técnicas y Tecnologías Existentes3.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 elfactor de escala sx. Para poder obtenerlos se debe usar otro método en el que los puntosno estén en el mismo plano. Por tanto, cuando sx no sea conocido a priori deben usarselas técnicas de la calibración que usan un conjunto de puntos de calibración nocoplanares. El mismo patrón usado en el caso coplanar puede emplearse ahora, sólo con ladiferencia de que en el caso anterior el patrón se movía a varias alturas z. Podemos pensaren emplear para el procedimiento de calibración un patrón que sea físicamente nocoplanar, claro, pero es mucho más sencillo de fabricar un patrón de puntos coplanaresque 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 conozcancon exactitud sus coordenadas, ya que es más fácil realizarlo si todos están en el mismoplano. Los detalles sobre la resolución de las diferentes ecuaciones y los pasos a seguirson: 1) Para cada punto de calibración i, obtener ( X di , Ydi ) despejando loscorrespondientes valores X di e Ydi de la ecuación 3.3.5A y 3.3.5B considerando el factor deescalado sx. −1 −1 −1 −1 2) Resolver las siete incógnitas Ty ⋅ s x ⋅ r1 , Ty ⋅ sx ⋅ r2 , Ty ⋅ s x ⋅ r3 , Ty ⋅ s x ⋅ Tx ,Ty−1 ⋅ r4 , Ty−1 ⋅ r5 , Ty−1 ⋅ r6 a partir de la ecuación 3.3.26, que se obtiene por la aplicación dela restricción de alineamiento radial y a partir de las ecuaciones 3.3.8A y 3.3.8B como enel caso coplanar.  Ty−1 ⋅ sx ⋅ r1    Ty−1 ⋅ s x ⋅ r2     Ty−1 ⋅ sx ⋅ r3   [ Ydi ⋅ xwi Ydi ⋅ ywi Ydi ⋅ zwi Ydi − X di ⋅ xwi − X di ⋅ ywi − X di ⋅ zwi ] ⋅ Ty−1 ⋅ sx ⋅ Tx  = X di 3.3.26    T −1 ⋅ r   y 4   T −1 ⋅ r   y 5   −1   Ty ⋅ r6  El conjunto de i puntos daría lugar a un sistema matricial que resolveríamos pormí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.Jaime Martínez Verdú 3-40 MTIT: Visión por Computador
  • 84. Capítulo 3 Técnicas y Tecnologías Existentes −1 −1 3) Obtener los valores de (r1 ,K, r9 , Tx , Ty ) a partir de Ty ⋅ s x ⋅ r1 , Ty ⋅ sx ⋅ r2 ,Ty−1 ⋅ s x ⋅ r3 , Ty−1 ⋅ s x ⋅ Tx , Ty−1 ⋅ r4 , Ty−1 ⋅ r5 , Ty−1 ⋅ r6 . Para ello, se define ai para i = 1,2, K ,7del siguiente modo:a1 = Ty−1 ⋅ s x ⋅ r1 3.3.27A a2 = Ty−1 ⋅ s x ⋅ r2 3.3.27B a3 = Ty−1 ⋅ s x ⋅ r3 3.3.27Ca4 = Ty−1 ⋅ s x ⋅ Tx 3.3.27D a5 = Ty−1 ⋅ r4 3.3.27E a6 = Ty−1 ⋅ r5 3.3.27Fa7 = Ty−1 ⋅ r6 3.3.27G 3.1) Obtener | Ty | . Para ello, a partir de las expresiones 3.3.27E L F, se aplica lasiguiente expresión: 1 | TY |= 3.3.28 a + a6 + a7 2 5 2 2 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: a5 = Ty−1 ⋅ r4  1     1 | TY | = ⇒ a6 = Ty−1 ⋅ r5  ⇒ | TY | = a5 + a6 + a7 2 2 2   (Ty ⋅ r4 ) + (Ty ⋅ r5 ) 2 + (Ty−1 ⋅ r6 ) 2 −1 2 −1  a7 = Ty−1 ⋅ r6   1 1 Ty2 Ty2 | TY | = ⇒ | TY | = ⇒ | TY | = ⇒ | TY | = ⇒ | TY | = Ty2 r42 r52 r62 r42 + r52 + r62 r42 + r52 + r62 1 + + Ty2 Ty2 Ty2 Ty2 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.27A L C, sx = | TY | ⋅ a12 + a2 + a3 2 2 3.3.29 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: a1 = Ty−1 ⋅ sx ⋅ r1      sx = | TY | ⋅ a12 + a2 + a3 ⇒ a2 = Ty−1 ⋅ sx ⋅ r2  ⇒ sx = | TY | ⋅ (Ty−1 ⋅ sx ⋅ r1 )2 + (Ty−1 ⋅ sx ⋅ r2 )2 + (Ty−1 ⋅ sx ⋅ r3 )2 2 2  −1  a3 = Ty ⋅ sx ⋅ r3    2 sx s2 s2 s2 |T | sx = | TY | ⋅ r12 ⋅ 2 + r22 ⋅ x2 + r32 ⋅ x2 ⇒ sx = | TY | ⋅ x2 ⋅ r12 + r22 + r32 ⇒ sx = Y ⋅ sx ⋅ 1 ⇒ sx = sx 2 2 Ty Ty Ty Ty Ty2Jaime Martínez Verdú 3-41 MTIT: Visión por Computador
  • 85. Capítulo 3 Técnicas y Tecnologías Existentes 3.4) Obtener la matriz de rotación R, es decir, los valores r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 . 3.4.1) Obtener las siguientes expresiones: − − −r1 = Ty ⋅ s x 1 ⋅ a1 3.3.30A r2 = Ty ⋅ s x 1 ⋅ a2 3.3. 30B r3 = Ty ⋅ s x 1 ⋅ a3 3.3.30Cr4 = Ty ⋅ a5 3.3.30D r5 = Ty ⋅ a6 3.3.30E r6 = Ty ⋅ a7 3.3.30F −Tx = Ty ⋅ s x 1 ⋅ a4 3.3.30G que puede convertirse en las siguientes nuevas ecuaciones si aplicamos loconocido de 3.3.25 y 3.3.26: a1 a5 r1 = sgn(Ty ) ⋅ 3.3.31A r4 = sgn(T y) ⋅ 3.3. 31D a +a +a 2 1 2 2 2 3 a + a6 + a7 2 5 2 2 a2 a6 r2 = sgn(Ty ) ⋅ 3.3.31B r5 = sgn(T y) ⋅ 3.3.31E a +a +a 2 1 2 2 2 3 a + a6 + a7 2 5 2 2 a3 a7 r3 = sgn(Ty ) ⋅ 3.3.31C r6 = sgn(T y) ⋅ 3.3.31F a +a +a 2 1 2 2 2 3 a + a6 + a7 2 5 2 2 a4 Tx = sgn(Ty ) ⋅ 3.3.31G a12 + a2 + a3 2 2 donde los valores de ai son los obtenidos al resolver el sistema 3.3.26 y la función Tsgn(x) define el signo de la variable x, es decir, sgn(Ty ) = y . | Ty | 3.4.2) Obtener la matriz de rotación R empleando la expresión 3.3.1B. Dados los valores ri i = 1,2,3,4,5,6 , que son elementos en las dos primeras filasde R, los términos que faltan r7 , r8 y r9 se determinan a partir de la propiedad deortonormalidad de la matriz R con las dos primeras filas y considerando que los vectoresfila son unitarios y el determinante de R es 1. Esto es, r12 + r42 + r72 = 1 ⇒ r7 = 1 − r12 − r42 3.3.32A r22 + r52 + r82 = 1 ⇒ r8 = 1 − r22 − r52 3.3.32B r32 + r62 + r92 = 1 ⇒ r9 = 1 − r32 − r62 3.3.32C  r1 r2 r3    R= r4 r5 r6  3.3.33  2  1 − r1 − r4 1 − r22 − r52 1 − r3 − r6  2 2 2  Jaime Martínez Verdú 3-42 MTIT: Visión por Computador
  • 86. Capítulo 3 Técnicas y Tecnologías Existentes 4) Obtener la longitud focal efectiva, los coeficientes de distorsión y la posición zc . 4.1) Obtener un valor aproximado de f y Tz , ignorando la distorsión de la lente. Para cada punto de calibración i, debemos establecer la siguiente ecuación linealdonde intervienen f y Tz como incógnitas, f [y i ] − d y ⋅   = wi ⋅ d y ⋅ Yi 3.3.34 Tz    donde yi = r4 ⋅ xwi + r5 ⋅ ywi + r6 ⋅ 0 + Ty y wi = r7 ⋅ xwi + r8 ⋅ ywi + r9 ⋅ 0 . Con variospuntos de calibración del objeto se obtiene un sistema sobredeterminado de ecuacioneslineales que se puede resolver para encontrar solución a las incógnitas f y Tz . El plano de calibración debe ser lo menos paralelo posible al plano imagen puestoque esto conllevaría que en el sistema de ecuaciones 3.3.1B aparecerían dependenciaslineales impidiendo su resolución. La ecuación 3.3.1B se obtiene, tal y como podría haber intuido el lector, de laecuación 3.3.11B considerando la constante de distorsión k1 nula. Puesto que a estaaltura del procedimiento ya son conocidos R, Tx y Ty son conocidos, la ecuación 3.3.1B esuna ecuación lineal con incógnitas f y Tz . El sistema de ecuaciones sobredeterminadopuede resolverse por el método de mínimo cuadrados. Conviene advertir que aunque la ecuación 3.3.11A proporciona una ecuaciónsimilar, resultaría redundante, puesto que las incógnitas que de dicho sistema deecuaciones ya las habríamos obtenido antes. Si tras este proceso de longitud focal resultara con un valor negativo ( f < 0 ),entonces la matriz R de 3.3.26 debe recalcularse de la siguiente manera:  r1 r2 − r3    R= r4 r5 − r6  3.3.35  2  − 1 − r1 − r4 − 1− r − r 1 − r3 − r6  2 2 2 2 2  2 5  4.2) Obtener un valor aproximado de f y Tz , ignorando la distorsión de la lente. Resolver la ecuación 3.3.11B con f , Tz y k1 como incógnitas utilizando algúnmétodo de optimización, tal como el gradiente conjugado. Utilizar las estimas anteriorespara f y Tz como estimas iniciales y poner k1 a cero también para la estima inicial.Jaime Martínez Verdú 3-43 MTIT: Visión por Computador
  • 87. Capítulo 3 Técnicas y Tecnologías Existentes3.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 r traslación T partiendo de la ecuación 3.3.1A:Figura 3.15: Imagende Nicholas Ayache.  xc   xw  r     r Pc = R ⋅ Pw + T ⇔  yc  = R ⋅  y w  + T 3.3.1A      zc     zw    Sin embargo, y a pesar de la gran cantidad de similitudes que presenta éstemétodo respecto al anterior, la diferencia principal entre ambas técnicas radica en el valor r rde la componente T del vector T pues puede considerase con un valor unitario, de formaque se tiene las once incógnitas siguientes: θ = [r1 r2 r3 r4 r5 r6 r7 r8 r9 Tx Ty ]T Además, se toma la consideración de asumir un valor para la distancia focalde f = 1 . Dado un punto de la imagen representado en coordenadas 3D del mundo Pw ( xw , yw , z w ) y su respectiva proyección dada por la expresión 3.3.1A, se obtiene dosecuaciones sustituyendo las premisas indicadas en las ecuaciones 3.36A y 3.36B: r1 ⋅ xw + r2 ⋅ yw + r3 ⋅ z w + Tx d x = X ⋅ ⋅ (1 + k1 ⋅ r 2 ) 3.36A r7 ⋅ xw + r8 ⋅ yw + r9 ⋅ z w + 1 sx r4 ⋅ xw + r4 ⋅ yw + r6 ⋅ z w + Ty = Y ⋅ d y ⋅ (1 + k1 ⋅ r 2 ) 3.36B r7 ⋅ xw + r8 ⋅ yw + r9 ⋅ z w + 1 En esta situación, dados n puntos de la imagen, se obtiene un sistema deecuaciones que puede resolverse por el método de mínimo cuadrados o por el filtro deKalman. En este último caso, añadiendo un ruido adicional en la medida de lascoordenadas del punto imagen.Jaime Martínez Verdú 3-44 MTIT: Visión por Computador
  • 88. Capítulo 3 Técnicas y Tecnologías Existentes3.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ámetrosextrínsecos que venían descritos en la sección 3.3 y que eran empleados el método deTsai, aunque no ocurre lo mismo con los parámetros intrínsecos. Los parámetrosintrínsecos obtenidos durante el proceso de calibración son los siguientes: • Centro de la imagen (cx , c y ) . • Distancias focales, f x y f y donde dichos valores son: f f fx = fy = dx dy Siendo f x y f y las dimensiones de un píxel en las direcciones x e y. En cuanto al procedimiento de calibración, éste se realiza mediantedesplazamientos de la cámara. Cuando tales desplazamientos se pueden definir comotraslaciones puras, los vectores desplazamiento intersectan en un punto conocido comoFoco de Expansión. Los parámetros extrínsecos se determinan a partir de un movimiento general y losparámetros intrínsecos a partir de 6 traslaciones puras. Como quiera que dichosparámetros puedan desajustarse, propone un método de auto-calibración sin usar objetode referencia conocido.Jaime Martínez Verdú 3-45 MTIT: Visión por Computador
  • 89. Capítulo 3 Técnicas y Tecnologías Existentes3.4. Método de calibración de Zhang. A lo largo de este apartado proponemos una nuevatécnica flexible para calibrar una cámara fácilmente. Sólo seexige a la cámara observar un patrón bidimensional mostradoen unas pocas (por lo menos dos) orientaciones diferentes.Una de las partes tiene libertad de movimiento, es decir, o lacámara o el patrón plano puede moverse libremente, peroambos a la vez no. No es completamente necesario tenerconocimiento del movimiento llevado a cabo y, como otra delas ventajas que puede tener este método, se trata del Figura 3.15: Imagen de Zhengyou Zhangplanteamiento de un modelo de distorsión radial de la lente. El procedimiento propuesto consiste en una solución closed-form, seguida por unrefinamiento no lineal basado en el criterio de máxima probabilidad. Según ZhengyouZhang, se han obtenido unos resultados tremendamente buenos y se han empleado losdatos reales obtenidos de la cámara para aplicarlos en simulación de la computadora yprobar, de este modo, la técnica propuesta. El software correspondiente está disponiblede 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écnicapropuesta es fácil de usar y flexible. Avanza un paso más en la visión 3D por computadorpermitiendo un salto desde laboratorios hacia un uso en el mundo cotidiano. La técnicaque 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 lomenos) diferentes orientaciones. Tal patrón puede imprimirse directamente de unaimpresora o fotocopiadora láser y puede unirse a otros patrones ya creados mediante, porejemplo, una encuadernación dura. Tanto la cámara como el patrón plano puedenmoverse a mano, pero recordando que tal movimiento debe ejecutarse alternativamente yno simultáneamente. Además, no debemos obligatoriamente ejecutar un movimientoconocido por lo que no es necesario afinar en el movimiento. El procedimientopropuesto, que emplea información de medición 2D, esta catalogado como unacombinació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 3Dexplícita. Se ha experimentado usando simulación por computador a partir de los datosreales 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ásflexible. Comparado con la auto-calibración, gana un grado considerable de robustez.Jaime Martínez Verdú 3-46 MTIT: Visión por Computador
  • 90. Capítulo 3 Técnicas y Tecnologías Existentes3.4.1. Desarrollo matemático generalizado. Examinaremos las restricciones que aparecen en los parámetros intrínsecos de lacámara procedentes de la observación de un solo plano. Primeramente expondremos lanotación matemática empleada en esta sección. Un punto bidimensional viene denotado por un vector de la siguiente manera: r x p=  3.4.1A  y   Un punto tridimensional se denota por un vector cuyas componentes son lassiguientes: X  r   P = Y  3.4.2B   Z    Emplearemos el carácter alfanumérico ~ para referirnos a la adición de unacomponente con valor unitario al final del correspondiente vector, esto es,  x ~   r p =  y 3.4.1B   1    X    ~ Y  r P=  3.4.2B Z    1   En esta técnica, como en las anteriores estudiadas, se basa en la utilización de unmodelo de cámara apoyado en el modelo pin-hole. Por lo tanto, la relación entre un puntotridimensional y su correspondiente imagen viene dado por la expresión siguiente: ~ r [ r ~r s⋅ p = A⋅ R T ⋅P ] 3.4.3 donde s es un factor de escala arbitrario y A es llamada matriz intrínseca de lacámara.Jaime Martínez Verdú 3-47 MTIT: Visión por Computador
  • 91. Capítulo 3 Técnicas y Tecnologías Existentes En la matriz A aparecen las coordenadas del punto principal ( x0 , y0 ) , α y β sonfactores de escala en las direcciones de los ejes x e y del sistema de coordenadas de laimagen y, además, el parámetro γ describe la inclinación de ambos ejes de la imagen: α γ x0    A =  0 β y0  3.4.3A   0 0 1    r Los parámetros R y T son conocidos como los parámetros extrínsecos (similares alos seleccionados en la técnica de calibración de Tsai) y hacen referencia a una rotación R ry una traslación T que relacionan el sistema de coordenadas del mundo con el sistema decoordenadas de la cámara:  r1 r2 r3  Tx    r   R =  r4 r5 r6  T = Ty  3.4.3B      r7 r8 r9    Tz    Sin perdida de generalidad, a lo largo del desarrollo teórico de esta técnicaasumiremos que el modelo plano está a una altura Z = 0 respecto al sistema decoordenadas del mundo. De la expresión 3.4.3 podemos obtener, sustituyendo en ella losvalores de cada término (ecuaciones 3.4.1B, 3.4.2B, 3.4.3A y 3.4.3B), una expresiónnueva del modelo seguido: X   x  α γ x0   r1 r2 r3 Tx          Y  ~ r [ ] rT ~r s ⋅ p = A ⋅ R T ⋅ P ⇔ s ⋅  y  =  0 β y0  ⋅  r4 r5 r6 Ty  ⋅   3.4.4       0  1   0 0 1   r7 r8 r9 Tz            1 r Abusando de notación, emplearemos P para referirnos a un punto en el modelo rplano, pero, en realidad, la ecuación 3.4.2B se convierte en P = [ X Y ] puesto que Z T ~ rsiempre va a anularse. De igual manera, pasamos a una expresión P = [X Y 1] : T r X  P=  3.4.5A Y    X  r   P = Y  3.4.5B   1  Jaime Martínez Verdú 3-48 MTIT: Visión por Computador
  • 92. Capítulo 3 Técnicas y Tecnologías Existentes Debido a los cambios realizados, un punto tridimensional y su imagen vienerelacionados por la siguiente expresión: X   x  α γ x0   r1 r2 r3 Tx     x  α γ x0   r1 r2 Tx   X        Y          s ⋅  y  =  0 β y0  ⋅  r4 r5 r6 Ty  ⋅   ⇒ s ⋅  y  =  0 β y0  ⋅  r4 r5 Ty  ⋅  Y  3.4.6       0         1   0 0 1        r7 r8 r9 Tz     1   0 0 1   r7 r8 Tz   1             1 ~ r ~ r s⋅ p = Η⋅P 3.4.7 donde la matriz que relaciona ahora ambas coordenadas se denomina homografíaH: α γ x0   r1 r2 Tx      H =  0 β y0  ⋅  r4 r5 Ty  3.4.8      0 0 1   r7 r8 Tz      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 siguienteexpresión: α ⋅ r1 + γ ⋅ r4 + x0 ⋅ r7 α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8 α ⋅ Tx + γ ⋅ Ty + x0 ⋅ Tz    H =  β ⋅ r4 + y0 ⋅ r7 β ⋅ r5 + y0 ⋅ r8 β ⋅ Ty + y0 ⋅ Tz  3.4.9     r7 r8 Tz   Definimos una nueva matriz como el resultado de la ecuación 3.4.9 multiplicadopor un cierto escalar:  h1 h2 h3    r [ h4 h5 h6  = λ ⋅ A ⋅ R T T ] 3.4.10A   h7 h8 h9     h1 h2 h3  α ⋅ r1 + γ ⋅ r4 + x0 ⋅ r7 α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8 α ⋅ Tx + γ ⋅ Ty + x0 ⋅ Tz       h4 h5 h6  = λ ⋅  β ⋅ r4 + y0 ⋅ r7 β ⋅ r5 + y0 ⋅ r8 β ⋅ Ty + y0 ⋅ Tz  3.4.10B        h7 h8 h9    r7 r8 Tz   donde λ es un escalar arbitrario.Jaime Martínez Verdú 3-49 MTIT: Visión por Computador
  • 93. Capítulo 3 Técnicas y Tecnologías Existentes Usando el conocimiento de que los vectores [r1 r4 r7 ] y T [r2 r5 r8 ] son Tortogonales, tenemos lo siguiente: h2    [h1 ( ) h4 h7 ]⋅ A−1 T ⋅ A−1 ⋅  h5  = 0 3.4.11    h8    que viene demostrado en el apéndice B, apartado B, del final del estudio. Además, podemos obtener otra expresión:  h1  h2      [h1 ( ) h4 h7 ]⋅ A −1 T ( ) ⋅ A−1 ⋅ h4  = [h2 h5 h8 ]⋅ A−1 ⋅ A−1 ⋅ h5  T 3.4.12     h7     h8    que también viene demostrado en dicho apéndice, apartado C. Estas dosexpresiones 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 delibertad, siendo seis de ellos parámetros extrínsecos (tres para rotación y otros tres paratraslación), nosotros seremos capaces de obtener dos restricciones para los parámetros T ( )intrínsecos. Debemos tener en cuenta que el valor de A−1 ⋅ A−1 viene desarrollado en elapé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 ZhangJaime Martínez Verdú 3-50 MTIT: Visión por Computador
  • 94. Capítulo 3 Técnicas y Tecnologías Existentes Si relacionamos las ecuaciones 3.4.11 y 3.4.12, no es excesivamente complicadoverificar que el modelo plano, en arreglo a nuestra conformidad, esté descrito en elsistema de coordenadas de la cámara por la siguiente ecuación:  xc     yc [ r3 r6 r9 ] r3 ⋅Tx + r6 ⋅Ty + r9 ⋅Tz ⋅   = 0 3.4.13  zc    wc    De la expresión anterior conocemos que si wc = 0 , lo es para puntos ubicados enel infinito y wc = 1 para el resto de casos. Este plano intersecta el plano en el infinito enuna línea que puede percibiese fácilmente:  r1    r4    3.4.14A r7    0   y r2     r5    3.4.14B  r8    0   Son dos puntos particulares de la línea. Cualquier otro punto contenido en estarecta es una combinación lineal de tales puntos, es decir,  r1  r2   a ⋅ r1 + b ⋅ r2        r r4   r5  a ⋅ r4 + b ⋅ r5  x∞ = a ⋅   + b ⋅   =   3.4.15 r7   r8  a ⋅ r7 + b ⋅ r8        0   0     0   r Por definición, el punto x∞ , conocida con el nombre de punto circular, satisfacela siguiente expresión: rT r x∞ ⋅ x∞ = 0 3.4.16Jaime Martínez Verdú 3-51 MTIT: Visión por Computador
  • 95. Capítulo 3 Técnicas y Tecnologías Existentes es decir, T   r1  r2     r1  r2              r  r    r  r   rT r x∞ ⋅ x∞ = a⋅ 4 + b⋅ 5 ⋅ a⋅  4 + b⋅ 5 3.4.17     r8       r8    r7     r7       0    0  0    0   El resultado final, demostrado en el apéndice B apartado C, es el siguiente: a 2 + b2 = 0 3.4.19 La solución a la última expresión es b = ± a ⋅ i , donde i es la variable imaginaria.Sustituyendo este valor obtenido en la ecuación 3.4.15, tenemos que los dos puntos deintersección son:  r1  r2   a ⋅ r1 ± i ⋅ r2        r r4   r5  a ⋅ r4 ± i ⋅ r5  x∞ = a ⋅   ± a ⋅ i ⋅   = a ⋅   3.4.20 r7   r8  a ⋅ r7 ± i ⋅ r8        0   0     0   El significado de este par de puntos complejos conjugados radica en que éstos soninvariantes a transformaciones euclídeas. Su proyección en el plano imagen viene dada,para un factor escalar, por   r1  r2         h1  h2   r   r5       p∞ = λ ⋅ A ⋅    ± i ⋅    = h4  ± i ⋅  h5  ~ r 4  r  3.4.21  r8        7    h7   h8        0 0    De igual manera, tendríamos,   h1  h2       ( ) ([h1 h4 h7 ] ± i ⋅ [h2 h5 h8 ]) ⋅ A ⋅ A ⋅  h4  ± i ⋅ h5   = 0 −1 T −1  3.4.22      h   h8    7   que requiere que tanto la parte imaginaria como la real sean nulas. Esto puedeverse al aplicar las expresiones 3.4.11 y 3.4.12.Jaime Martínez Verdú 3-52 MTIT: Visión por Computador
  • 96. Capítulo 3 Técnicas y Tecnologías Existentes3.4.2. Resolución de la calibración de la cámara. Esta sección proporciona los detalles suficientes para conocer cómo resolver elproblema de calibración de cámara de manera eficaz. Nosotros empezamos con unasolución analítica, seguida por una técnica de optimización de no lineal basada en elcriterio de probabilidad máximo. Finalmente, tal y como se había explicado al principiode 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: ( ) T B = A−1 ⋅ A−1 3.4.23 Para ello nos hace falta conocer el valor de la inversa por lo que la calcularemosempleando el método por pivotación de Gauss: 1 γ y0γ − x0 β  α − αβ αβ    1 y A −1 =  0 − 0  3.4.24  β β    0 0 1    Por tanto, tenemos que la matriz B se puede obtener de la siguiente forma: ( ) T B = A −1 ⋅ A −1  1 γ y0γ − x0 β   α2 −   B11 B12 B13  α β 2 α β2    γ γ 2 +α2 x0 βγ − y0 (γ 2 + α 2 )   B21 B22 B23  =  − 2     α β α β2 2 α β2 2  3.4.25  B31 B32    B33   y0γ − x0 β x0 βγ 2 2 2 2 2 2  − y0 (γ + α ) ( y0γ − x0 β ) + α ( y0 + β )   α 2β  α 2β 2 α 2β 2   Debemos notar que la matriz B es simétrica, definida por un vector de seiscomponentes, r b = [B11 , B12 , B13 , B22 , B23 , B33 ] T 3.4.26 r Una vez estimado el vector b , nosotros podemos computar todos los parámetrosintrínsecos de la cámara. La matriz B se estima para un cierto escalar, es decir, ( ) B = λ ⋅ A −1 T ⋅ A −1 3.4.27 con λ un escalar arbitrario.Jaime Martínez Verdú 3-53 MTIT: Visión por Computador
  • 97. Capítulo 3 Técnicas y Tecnologías Existentes Sin dificultad alguna, podemos extraer los parámetros intrínsecos de la matriz B: B12 B13 − B11B23 λB11 y0 = 3.4.28A β= 3.4.28D B11B22 − B122 B11B22 − B12 2 B13 + y0 ( B12 B13 − B11B23 ) 2 α 2βλ = B33 − 3.4.28B γ =− B 3.4.28E B11 λ 12 λ γ α2 α= 3.4.28C x0 = y0 − B 3.4.28F B11 α λ 13 Una vez obtenido el valor de la matriz A, los parámetros extrínsecos para unaimagen son rápidamente computados. De la ecuación 3.4.8, tenemos lo siguiente:  r1   h1       r4  = λ ⋅ A −1 ⋅ h4  3.4.29A      r7    h7    r2  h2       r5  = λ ⋅ A −1 ⋅  h5  3.4.29B      r8     h8     r3   r1  r2        r6  = r4  ×  r5  3.4.29C        r9  r7   r8        Tx   h3      Ty  = λ ⋅ A −1 ⋅ h6  3.4.29D     Tz    h9    Con un valor de λ concreto. Por supuesto, si existiera un ruido en la obtención dela información, la matriz computada R no sería, en general, una matriz que satisfaciera laspropiedades de una matriz de rotación, es decir, los módulos de los vectores deben serunitarios. Por tanto, el valor de λ debe ser: −1 −1  h1  h2      λ = A −1 ⋅ h4  = A −1 ⋅  h5  3.4.30      h7     h8   Jaime Martínez Verdú 3-54 MTIT: Visión por Computador
  • 98. Capítulo 3 Técnicas y Tecnologías Existentes3.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.Jaime Martínez Verdú 3-55 MTIT: Visión por Computador
  • 99. Capítulo 3 Técnicas y Tecnologías Existentes3.5. Comparativa sobre las técnicas y tecnologías existentes. En esta sección se realiza una comparativa analizando las ventajas y desventajas delas tecnologías expuestas en el capítulo anterior para la realización de una buenacalibración de cámaras. La calibración de la cámara es un procedimiento necesario en visión porcomputador para conseguir extraer la información dimensional y geométrica de unaimagen 2D. Como ya sabemos, la calibración es el método mediante el cual se estiman losparámetros intrínsecos y extrínsecos de la cámara, así como los parámetros delmanipulador. El calibrar la cámara según la matriz de transformación de perspectiva equivale adeterminar 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 sehace necesario fijar una de las incógnitas. Respecto a este sistema podemos ser capaces de determinar las 11 incógnitas delvector utilizando la matriz pseudoinversa, si al menos son conocidos 6 o más puntos3D y sus respectivas coordenadas imagen para así trabajar con un sistemasobredeterminado. El método de calibración de cámaras mediante dos planos aunque no soluciona elproblema de la proyección directa, presenta la ventaja de ofrecer la recta de proyeccióncorrespondiente a cada píxel de la imagen sin tener que asumir ningún modelo de cámaraen particular además de que las ecuaciones a resolver son lineales, ya que la calibración decámaras mediante dicho método se realiza a partir de rectas de proyección, lo quecomputacionalmente es de gran importancia. Sin embargo, la técnica propuesta por Roger Y. Tsai es a día de hoy, una de lasmás extensamente empleadas. La mayor parte de las aplicaciones industriales de visiónartificial utilizan dicha técnica por su gran precisión y versatilidad. Ya que como se hacomentado anteriormente, el objetivo fundamental de dicha técnica es la búsqueda deuna 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 reducirel tamaño del espacio de parámetros de calibración.Jaime Martínez Verdú 3-56 MTIT: Visión por Computador
  • 100. Capítulo 3 Técnicas y Tecnologías Existentes Además, la técnica propuesta por Tsai tiene en cuenta el efecto de la distorsión dela 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 queemplea puntos de calibración coplanarios y otra que requiere puntos de calibración endistintos planos. Ambas son parecidas, si bien la segunda que es algo más precisa, exigeun poco más de tiempo de computación y es algo más laboriosa ya que necesita variosplanos de calibración. Una técnica flexible para calibrar una cámara fácilmente se basa en la observaciónde un patrón bidimensional mostrado en unas pocas (por lo menos dos) orientacionesdiferentes. Dicha técnica es la correspondiente al método de calibración de Zhang, dondecomo se ha comentado en capítulos previos, una de las partes tiene libertad demovimiento sin necesidad de conocer el movimiento llevado a cabo en la observación dedicho patrón. Comparado con técnicas clásicas que usan un equipo más caro, la técnicapropuesta es fácil de usar y flexible. Avanza un paso más en la visión 3D por computadorpermitiendo 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 sonla auto-calibración y la calibración fotogramétrica. Como se comentó en el capítuloanterior, mediante la auto-calibración no se puede saber cual es el tamaño real de losobjetos captados por las cámaras (un objeto pequeño cerca del centro óptico puede tenerla misma imagen que el mismo objeto agrandado más cerca del plano de imagen), ya quela 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 delas aplicaciones de la robótica, es recomendable utilizar la calibración fotogramétrica.Jaime Martínez Verdú 3-57 MTIT: Visión por Computador
  • 101. Capítulo 5 4CAPÍTULO Aplicaciones APLICACIONES En cualquier sistema de visión artificial que se precie es necesaria una calibraciónde 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 coordenadastridimensionales de los objetos que forman parte de la escena y sus correspondientesproyecciones bidimensionales, y viceversa. A continuación, expondremos una serie de aplicaciones o ejemplos de utilizaciónde un sistema de visión donde se encuentra implicada la calibración de la cámara en eldesarrollo del proceso que realiza dicho sistema. Efectivamente, en esta sección se muestran algunos ejemplos en los que se puedeapreciar 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 defotografí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 lamedición del posicionamiento de una borrasca.Jaime Martínez Verdú 4-1 MTIT: Visión por Computador
  • 102. Capítulo 5 Aplicaciones • 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 posiblemedir distancias en esta imagen mediante el hecho de que dos líneas ortogonales (enespacio euclidiano, pero medidas en la proyección) l’, m’ cumplen con la siguienterelación: r l T ⋅C ∞ ⋅ m = 0 * 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.Jaime Martínez Verdú 4-2 MTIT: Visión por Computador
  • 103. Capítulo 5 Aplicaciones • Reconstrucción 3D. A partir de las vistas, mediante la técnica de triangulación, es posible obtener unmodelo 3D del objeto proyectado en las vistas. El principio de triangulación vienemostrado en la Figura 4.3: sabiendo que los puntos A y B son proyecciones de un mismopunto 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ónentre 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 entrepuntos de varias imágenes. Los puntos correspondientes son aquellos que representanuna proyección del mismo punto físico en el espacio 3D. En la Figura 4.4 se puedenapreciar tres vistas de una taza tomadas por una cámara fija mediante la rotación del ejecentral de la taza. Se puede observar que los puntos m1, m2 y m3 en las imágenes 1, 2 y 3respectivamente, son correspondientes entre sí porque son proyecciones del mismo puntom de la taza.Jaime Martínez Verdú 4-3 MTIT: Visión por Computador
  • 104. Capítulo 5 Aplicaciones Mediante la teoría de Visión Artificial podemos responder las siguientespreguntas: 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 entoncessimular gráficamente las vistas bidimensionales que se obtendrían de un objetotridimensional. • Estimación de Movimiento. Mediante una cámara que toma imágenes de un objeto en movimiento es posibleestimar el movimiento del objeto a partir de los puntos de correspondencia en lasecuencia de imágenes.Jaime Martínez Verdú 4-4 MTIT: Visión por Computador
  • 105. Capítulo 4 Aplicaciones4.1. Aplicaciones con calibración simultánea. La configuración del sistema de adquisición para algunas aplicacionesfotogramétricas permite el proceso de calibración simultánea de cámaras. Éste suceso es unaventaja de la solución pues no requiere ningún esfuerzo adicional para la calibraciónexterna de las cámaras y la cámara de datos configurada como actual durante el momentode la exposición puede determinarse por ajuste. Este procedimiento, sin embargo, sólo esposible si el software de evaluación ofrece la opción de calibración simultánea. Comoejemplo, 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 Q16MetricCamera (Figura 4.6) con una resolución de 4.096 × 4.096 elementos del sensor. Dehecho, se usó, con gran efectividad para la evaluación de la técnica, el software del Puestode Trabajo Digital que proporcionaba RolleiMetric. Esto permite la determinacióntotalmente automática de las coordenadas 3D, mientras que partiendo de la medida delos puntos de la imagen se consigue corregir el cómputo de todos los parámetrosconocidos de la cámara. Además de los tamaños del objeto y de las coordenadas 3D detodos los puntos medidos en el sistema de Coordenadas Mundiales, éstos incluyen losparámetros de la cámara y todos los posibles estados de la cámara. Para este ejemplo lascoordenadas tienen una exactitud de aproximadamente 1/100 mm en cada uno de lostres ejes de coordenadas. La Figura 4.7, b ilustra otro ejemplo dentro de la industriaautomovilística. Aquí, las pruebas de la torsión se realizan en función del curso demedidas de la deformación. Los datos se obtuvieron por medio de fotogrametría.Jaime Martínez Verdú 4-5 MTIT: Visión por Computador
  • 106. Capítulo 4 Aplicaciones Un total de 3.000 puntos alrededor del vehículo fueron grabados en un total de170 imágenes con la ayuda de una cámara digital con una resolución de 3.000 × 2.000elementos sensores. Aquí también, la cámara se calibró simultáneamente durante laadquisición de la imagen. Los puntos medidos eran exactos dentro de un rango deaproximadamente 5/100 mm. La mayoría de las aplicaciones de fotogrametría para el trabajo de alta precisióntridimensional de la metrología industrial se basa en la calibración simultánea. Puedenencontrarse numerosos usos en la industria de la aviación (midiendo componentes delavión y adornos), en la industria aeronáutica (midiendo satélites y antenas), y en laingenierí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.Jaime Martínez Verdú 4-6 MTIT: Visión por Computador
  • 107. Capítulo 4 Aplicaciones4.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 medirla posición y orientación necesaria se ha utilizado un sistema de metrología que consisteen 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ámarasalcanzan una resolución de 4.200 x 4.200 píxeles en un formato de imagen de 50 x 50mm2 con una sensibilidad de 1µm. La orientación de las imágenes por separado enrelación con la imagen completa se realiza de una forma óptico-numérica con una medidaréseau. Además, este método permite enfocar la cámara sin necesidad de cambiar laorientación interna. Figura 4.8: Ajuste de un robot. Las cámaras son controladas con un computador comercial mediante un captadorfuncionando en Windows NT. El PC realiza el procesado y proporciona los resultadosademás de realizar la conexión para el control del robot. El sistema de medición esindependiente del control del robot.Jaime Martínez Verdú 4-7 MTIT: Visión por Computador
  • 108. Capítulo 4 Aplicaciones La orientación interior de las cámaras se determina con una calibración previaespecial. Con el conocimiento de la orientación interior se puede determinar laorientación de las cámaras. Se utilizan varias tarjetas con reflectantes como puntos decontrol, que también se identifican como herramientas para el robot. Una tarjetasecundaria con un adaptador se utiliza para una determinación previa de la orientaciónexterna y de la base del robot. La calidad del sistema de orientación se verifica con unas medidas especiales. Sesuele realizar una recalibración del sistema en periodos de algunos meses. Otras aplicaciones para la captura de objetos en 3D se pueden encontrar, porejemplo, en la fotografía de accidentes y en arquitectura. En estos campos, la cámara escalibrada para diferentes puntos de vista utilizando distintos métodos. Un ejemplo es elRolleiMetric ChipPack con una resolución de 2.000 x 2.000 elementos sensores. Paramantener la calibración interior de la cámara durante periodos largos se utiliza unaslentes métricas especiales. Los datos de la orientación interior se almacenan en elsoftware. Esto garantiza una gran precisión en las imágenes con mínimo coste en la fasede adquisición de la imagen.Jaime Martínez Verdú 4-8 MTIT: Visión por Computador
  • 109. Conclusión. . En este texto se definió el término calibración, el cual, es esencial suentendimiento para los intereses de este trabajo; así también se mostró los parámetrosextrínsecos e intrínsecos que constituyen la calibración de una cámara y como afectancada uno de ellos a un sistema de visión. Se explicaron a detalle dos métodos clásicos decalibración y otros dos más novedosos y sus diferencias, que nos dan una idea de lasherramientas matemáticas necesarias y condicionantes para alcanzar los resultadoscorrectos de una calibración. Hay que remarcar que muchos de los métodos de calibración en la literatura sehan desarrollado con la base de obtener los puntos 3D en el espacio de patrones decalibración, los cuales se han explicado como funcionan en este ámbito y para con ellohacer notar diferencias con respecto a nuestro trabajo. De la misma forma se han revisado antecedentes de la calibración, desde aquellostrabajos que han propuesto el uso de los mencionados patrones de calibración a otros enesencia más complejos al estimar los parámetros de una cámara en base a objetos enmovimiento, y que se pretendió hacer énfasis en ellos por encontrar ideas cercanas a lapropuesta que se hace en este estudio.
  • 110. Bibliografía. .ARTÍCULOS DE INVESTIGACIÓN.[1] A versatile Camera Calibration Technique for High-Accuracy 3DMachine 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 usosfotogramétricos. Sanchez Martín.[3] A Flexible New Technique for Camera Calibration. Zhengyou Zhang.[4] Tsai’s camera calibration method revisited. Berthold K.P. HornLIBROS.[1] Visión por Computador. Javier González Jiménez.[2] Visión por Computador. Fundamentos y Métodos. Arturo de la EscaleraHueso.[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.
  • 111. Apéndice A AAPÉNDICE La matriz pseudoinversa APÉNDICE A LA MATRIZ PSEUDOINVERSA Primeramente, recordaremos el sistema del cual partíamos y el objetivo de nuestroanálisis matemático pues éste residía en la obtención de las incógnitas que conformabanla matriz de transformación A (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43). El sistemade ecuaciones se podía expresar, según la ecuación 3.17, de forma matricial así: X1 Y1 Z1 1 0 0 0 0 − x1 X 1 − x1Y1 − x1 Z1   x1 X Y2 Z2 1 0 0 0 0 − x2 X 2 − x2Y2   a11   x  − x2 Z 2     2  2 a12 X3 Y3 Z3 1 0 0 0 0 − x3 X 3 − x3Y3 − x3 Z 3     x3    a13    M M M M M M M M M M M  a   M  X n−1 Yn−1 0 − xn−1 X n−1 − xn−1Yn−1 − xn−1 Z n−1     xn−1  14 Z n−1 1 0 0 0   a21    Xn Yn Zn 1 0 0 0 0 − xn X n − xnYn − xn Z n     xn  0 ⋅ a22  = 0 0 0 X1 Y1 Z1 1 − y1 X 1 − y1Y − y1Z1     y1   a23   0 0 0 0 X2 Y2 Z2 1 − y2 X 2 − y2Y2 − y2 Z 2     y2  0 a24  0 0 0 X3 Y3 Z3 1 − y3 X 3 − y3Y − y 3 Z 3     y3   a41   M M M M M M M M M M M     M   a42    0 0 0 0 X n−1 Yn−1 Z n−1 1 − yn−1 X n−1 − yn−1Yn−1 − y n−1Z n−1     yn−1  a 0 0 0 0 Xn Yn Zn 1 − xn X n − xnYn − xn Z n   43   yn     Efectivamente, tanto el estudio matemático aplicado como los cálculos metódicosdesarrollados a lo largo de este apéndice, van encaminados a conseguir una soluciónanalítica que permita obtener, de forma rápida y precisa, el conjunto de variablesincógnitas (a11, a12, a13, a14, a21, a22, a23, a24, a41, a42, a43) a partir de las medidas de 5variables conocidas (Xi, Yi, Zi, xi, yi) para n puntos distintos.Jaime Martínez Verdú A-1 MTIT: Visión por Computador
  • 112. Apéndice A La matriz pseudoinversa A la par, a partir de las ecuaciones 3.18A y 3.18B, somos capaces de representar elsistema de ecuaciones anterior en su forma matricial reducida tal y como se muestra acontinuación: r r A⋅X = b r r (X i Yi Z i )3× n 11× n 01× n (− x i X i Yi Z i )3× n  r r (x i )1× n  [ ] 03× n A= r r  X = aij b =    03× n 01× n (X i Yi Z i )3× n 11× n (− y i X i Yi Z i )3× n   (y i )1× n    r donde A es una matriz de dimensión 2n×11, X es el vector de incógnitas de rdimensión 11×1 y b otro vector columna de dimensión 1×2n. Una vez establecida la problemática, primeramente, debe definirse el vector de r rerror E de manera que nos sirva de herramienta útil para buscar un vector X∗ que seacerque a la solución. Por lo tanto, definiremos dicha variable del siguiente modo: r r r E = A⋅X −b A.1 Puesto que deseamos que el vector se acerque todo lo posible a la solución, esnecesario minimizar el error cuadrático definido como la norma del vector de error alcuadrado, esto es, { }= min A ⋅ X − br  min E 2   r   2 A.2 min{ ⋅ E } = min{ A ⋅ X − b ) ⋅ (A ⋅ X − b )} r r t r r r r t E ( Desarrollando algunos de los términos, la expresión A.2 se transfigura a otraexpresión, la ecuación A.3. Las operaciones para variar de una expresión a otra son: r r r r r r r r (A ⋅ X − b ) t ⋅ (A ⋅ X − b ) = ((A ⋅ X) t − b t ) ⋅ (A ⋅ X − b ) = r r r r r r = ( A ⋅ X) t ⋅ ( A ⋅ X − b ) − b t ⋅ ( A ⋅ X − b ) r t r r t r rt r rt r = ( A ⋅ X) ⋅ A ⋅ X − ( A ⋅ X) ⋅ b − b ⋅ A ⋅ X + b ⋅ b r r r r r r r r = Xt ⋅ At ⋅ A ⋅ X − Xt ⋅ At ⋅ b − b t ⋅ A ⋅ X + b t ⋅ b { r r } r { r r r r r r r min E t ⋅ E = min X t ⋅ A t ⋅ A ⋅ X − X t ⋅ A t ⋅ b − b t ⋅ A ⋅ X + b t ⋅ b A.3 } Puesto que el mínimo se alcanza cuando la derivada se hace cero: { } [ ] r∗ r r d r r r X = min E t ⋅ E ⇔ r E t ⋅ E =0 A.4 r dX X∗Jaime Martínez Verdú A-2 MTIT: Visión por Computador
  • 113. Apéndice A La matriz pseudoinversa A partir de las ecuaciones A.3 y A.4, obtenemos la siguiente igualdad: [ d rt rdX ] d r [ r r r r r r r r E ⋅ E = r Xt ⋅ At ⋅ A ⋅ X − Xt ⋅ At ⋅ b − b t ⋅ A ⋅ X + b t ⋅ b = dX ] r r r r r r r r dX t ⋅ A t ⋅ A ⋅ X dX t ⋅ A t ⋅ b db t ⋅ A ⋅ X db t ⋅ b r = r − r − r + r =0 A.5 dX dX dX dX La derivada de cada término se calcula a continuación: r r rdX t ⋅ A t ⋅ A ⋅ X dX t r r dA t r r = r ⋅ At ⋅ A ⋅ X + Xt ⋅ r ⋅ A ⋅ X + dX dX dX r rt t dA r rt dX + X ⋅A ⋅ r ⋅X + X ⋅A ⋅A⋅ r t dX dX r rt r rt r r = It ⋅ At ⋅ A ⋅ X + X ⋅ 0 ⋅ A ⋅ X + X ⋅ At ⋅ 0 ⋅ X + Xt ⋅ At ⋅ A ⋅ I = r r = A t ⋅ A ⋅ X + Xt ⋅ A t ⋅ A A.5A rt r rt r dX ⋅ A ⋅ b dX t r r dA t r r db r = r ⋅ At ⋅ b + Xt ⋅ r ⋅ b + Xt ⋅ At ⋅ r = dX dX dX dX r r r r = I ⋅ A ⋅b + X ⋅0⋅b + X ⋅ A ⋅0 = t t t t t r = At ⋅ b A.5B r r r r db t ⋅ A ⋅ X db t r r t dA r r t dX r = r ⋅A⋅X +b ⋅ r ⋅X +b ⋅A⋅ r = dX dX dX dX r rt r rt = 0⋅A⋅X + b ⋅0⋅X +b ⋅A⋅I = r = bt ⋅A A.5C r r r r db t ⋅ b db t r r t d ⋅ b r = r ⋅b + b ⋅ r = dX dX dX r r = 0⋅b + b ⋅0 = t =0 A.5D 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: [ d rt r dX ] d r [ r r r r r r r r E ⋅ E = r Xt ⋅ At ⋅ A ⋅ X − Xt ⋅ At ⋅ b − b t ⋅ A ⋅ X + b t ⋅ b = dX ] r r r r r r r r dX t ⋅ A t ⋅ A ⋅ X dX t ⋅ A t ⋅ b db t ⋅ A ⋅ X db t ⋅ b = r − r − r + r dX dX dX dX r rt r r = At ⋅ A ⋅ X + X ⋅ At ⋅ A − At ⋅ b − b t ⋅ A A.6Jaime Martínez Verdú A-3 MTIT: Visión por Computador
  • 114. Apéndice A La matriz pseudoinversa Para minimizar, despejamos lo obtenido en la ecuación A.6 en la A.5 de modoque tenemos lo siguiente: [ d rt r r E ⋅E ] r r =0 dX X∗ r rt r r r (A ⋅ A ⋅ X + X ⋅ A ⋅ A − A ⋅ b − b t ⋅ A) r ∗ = 0 t t t X r ∗ r ∗t r r r At ⋅ A ⋅ X + X ⋅ At ⋅ A − At ⋅ b − b t ⋅ A = 0 A.7 Para solventar la expresión que resulta podemos resolverla por partes, es decir, los r r r t rtérminos de X∗ y b por un lado y por otro los términos de X∗ y b t por otro, r r t r r r A t ⋅ A ⋅ X∗ + X∗ ⋅ A t ⋅ A − A t ⋅ b − b t ⋅ A = 0 r r r t r r r r r A t44⋅ X ∗444b + X ∗44t 2444 = 0 ⇔ 0 + 0 = 0 1 ⋅ A4 − A t 3 1 ⋅ A ⋅ A − b t ⋅3 2 ⋅ 4r A A.8 r =0 =0 De la resolución del primer término obtenemos la solución buscada denominadaen términos matemáticos matriz pseudoinversa: r r r r r A t ⋅ A ⋅ X∗ − A t ⋅ b = 0 → A t ⋅ A ⋅ X∗ = A t ⋅ b r r ⇒ X∗ = A t ⋅ A ( ) −1 ⋅ At ⋅ b A.8A Resolviendo el segundo término llegamos a una conclusión cierta, de donde partíanuestro problema, puesto que el vector solución debe estar contenido en el espaciovectorial de A: r ∗t r r r ∗t r r ∗t r t X ⋅ A ⋅ A − b ⋅ A = 0 → X ⋅ A ⋅ A = b ⋅ A → X = b ⋅ A ⋅ At ⋅ A t t t t −1 ( ) r t r −1 ( ) r t r −1 r t t r → X ∗ = b t ⋅ A ⋅ A −1 ⋅ A t → X ∗ = b t ⋅ A t → X ∗ = b t ⋅ A t( ) −1 t ( ) ( ( ) ) ( ) (( r t t → X∗ = A t ) −1 t )() r t r r ⋅ b t → X ∗ = A −1 ⋅ b r r ⇒ A ⋅ X∗ = b A.8B Si observamos el valor despejado del vector de incógnitas, podemos comprobar ( ) −1cómo la matriz Aψ = A t ⋅ A ⋅ A t es la matriz pseudoinversa de la matriz A . rObtenido el vector solución X∗ , r r X∗ = Aψ ⋅ b A.8B y por consiguiente, la matriz de transformación perspectiva A , es posibledeterminar los parámetros del modelo de la cámara.Jaime Martínez Verdú A-4 MTIT: Visión por Computador
  • 115. Apéndice B BAPÉNDICE Matemáticas de Zhang APÉNDICE B MATEMÁTICAS DE ZHANG ( ) T a) Si deseamos obtener el valor A−1 ⋅ A−1 , primeramente nos hace falta conocerel valor de la inversa de la matriz A por lo que la calcularemos empleando el método porpivotación de Gauss:  α γ x0 | 1 0 0  F1 → F1 − x0 ⋅ F3   0 β y | 0 1 0  F2 →−→  F2 y 0 ⋅ F3  0  0 0 1 | 0 0 1    α γ 0 | 1 0 − x0    F →1 F  0 β 0 | 0 1 − y0    → 2 β  2    0 0 1 | 0 0 1       α γ 0 | 1 0 − x0     1 y0  F1 → F1 −γ ⋅ F2  0 1 0 | 0 −     →  β β    0 0 1 | 0 0 1     Jaime Martínez Verdú B-1 MTIT: Visión por Computador
  • 116. Apéndice B Matemáticas de Zhang  γ γ   α 0 0 | 1 − y0 − x0   β β  1  1 y0  F1 → α F1  0 1 0 | 0 −    → β β    0 0 1 | 0 0 1       1 γ γ x   1 0 0 | − y0 − 0  α αβ αβ α   1 y0   0 1 0 | 0 −  β β    0 0 1 | 0 0 1      Por lo tanto, la inversa de la matriz A es la siguiente matriz:  1 γ y0γ − x0 β   −  α αβ αβ   1 y A −1 =  0 − 0   β β     0 0 1    De igual modo, conocemos que la matriz transpuesta de la matriz inversa de A esla siguiente:  1   0 0   α  γ (A ) −1 T = −  αβ 1 β 0   y γ −x β y0   0 0 − 1   αβ β  Finalmente, el producto de ambas es el siguiente:  1  1 γ y0γ − x0 β   0 0  −  α   α αβ αβ   (A ) −1 T −1 ⋅A =  − γ 1 0 ⋅0 1 − y0   αβ β   β β  y γ −x β y     0 0 − 0 1  0 0 1   αβ β   Jaime Martínez Verdú B-2 MTIT: Visión por Computador
  • 117. Apéndice B Matemáticas de Zhang  1 γ y0γ − x0 β   α2 −   α β 2 α β2  γ γ 2 +α2 x0 βγ − y0 (γ 2 + α 2 ) (A ) −1 T ⋅A = − 2 −1  α β α β2 2 α β 2 2    2 2  y0γ − x0 β x0 βγ − y0 (γ + α ) ( y0γ − x0 β ) + y0α + α β  2 2 2 2 2  α 2β  α 2β 2 α 2β 2    β2 − γβ y0γβ − x0 β 2    (A )−1 T −1 1  ⋅A = 2 2 α β  − γβ γ +α 2 2 x0 βγ − y0 (γ + α ) 2 2    y0γβ − x0 β 2 x0 βγ − y0 (γ 2 + α 2 ) ( y0γ − x0 β ) 2 + α 2 ( y0 + β 2 ) 2   Por tanto, hemos obtenido el valor de la matriz resultante del producto. b) Demostración de la ecuación 3.4.11.  h2  [h1 h4 ( ) h7 ] ⋅ A −1 T ⋅ A ⋅  h5  = 0 −1   3.4.11  h8     h1  α ⋅ r1 + γ ⋅ r4 + x0 ⋅ r7   h2  α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8           h4  = λ ⋅  β ⋅ r4 + y0 ⋅ r7   h5  = λ ⋅  β ⋅ r5 + y0 ⋅ r8           h7      r7    h8      r8   α ⋅ r1 + γ ⋅ r4 + x0 ⋅ r7  α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8  T λ ⋅  β ⋅ r4 + y 0 ⋅ r7  ⋅ A −1   ( ) T ⋅ A ⋅ λ ⋅  β ⋅ r5 + y 0 ⋅ r8  = 0 −1     r7     r8    1 γ y 0γ − x0 β   −  α ⋅ r1 + γ ⋅ r4 + x 0 ⋅ r7  T  α2 α 2β α 2β  α ⋅ r2 + γ ⋅ r5 + x 0 ⋅ r8   γ γ 2 +α2 x 0 βγ − y 0 (γ 2 + α 2 )  λ2 ⋅  β ⋅ r4 + y 0 ⋅ r7    ⋅ − 2  ⋅  β ⋅ r5 + y 0 ⋅ r8 =0   α β α 2β 2 α 2β 2   r7   2    r8    y 0γ − x0 β x 0 βγ − y 0 (γ 2 + α 2 ) ( y 0γ − x0 β ) + α ( y 0 + β )  2 2 2    α β α 2β 2 α β 2 2 2 Jaime Martínez Verdú B-3 MTIT: Visión por Computador
  • 118.  1 γ y0γ − x0 β   −   α α 2β α 2β 2  α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8   γ γ 2 +α2 x0 βγ − y0 (γ 2 + α 2 )   − 2  α β  ⋅  β ⋅ r5 + y0 ⋅ r8   α 2β 2 α β2 2    r8   y0γ − x0 β x0 βγ − y0 (γ 2 + α 2 ) ( y0γ − x0 β ) 2 + y0α 2 + α 2 β 2   2    α β 2 α 2β 2 α 2β 2   ⇓ α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8 β ⋅ r5 + y0 ⋅ r8 y0γ − x0 β  −γ + r8  α2 α 2β α 2β  α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8 (γ 2 + α 2 ) ⋅ ( β ⋅ r5 + y0 ⋅ r8 ) x0 βγ − y0 (γ 2 + α 2 )  −γ + + r8  α β 2 α β 2 2 α β 2 2 [ 2 ] ( y0γ − x0 β ) ⋅ (α ⋅ r2 + γ ⋅ r5 + x0 ⋅ r8 ) + x0 βγ − y0 (γ + α ) ⋅ ( β ⋅ r5 + y0 ⋅ r8 ) + ( y0γ − x0 β ) + y0α + α β r  2 2 2 2 2 2  α 2β α 2β 2 α 2β 2  8  ⇓ SIMPLIFICANDO  α ⋅ β ⋅ r2 + y0 ⋅ (γ − 1) ⋅ r8   α β 2     − α ⋅ β ⋅ γ ⋅ r2 + α 2 ⋅ β ⋅ r5   α β 2 2    α ⋅ β ⋅ ( y0 ⋅ γ − x0 ⋅ β ) ⋅ r2 − y0 ⋅α ⋅β ⋅ r5 +α ⋅β ⋅r8  2 2 2   α 2β 2  
  • 119.  α ⋅ β ⋅ r2 + y 0 ⋅ (γ − 1) ⋅ r8     α β2   − α ⋅ β ⋅ γ ⋅ r2 + α 2 ⋅ β ⋅ r5  λ 2 ⋅ [α ⋅ r1 + γ ⋅ r4 + x 0 ⋅ r7 β ⋅ r4 + y 0 ⋅ r7 r7 ]⋅  =  α β 2 2   α ⋅ β ⋅ ( y 0 ⋅ γ − x 0 ⋅ β ) ⋅ r2 − y 0 ⋅α 2 ⋅β ⋅ r5 +α 2 ⋅β 2 ⋅r8   α 2β 2    α ⋅ β ⋅ r2 + y 0 ⋅ (γ − 1) ⋅ r8 − α ⋅ β ⋅ γ ⋅ r2 + α 2 ⋅ β ⋅ r5 = (α ⋅ r1 + γ ⋅ r4 + x 0 ⋅ r7 ) + ( β ⋅ r4 + y 0 ⋅ r7 ) + α β 2 α β 2 2 α ⋅ β ⋅ ( y 0 ⋅ γ − x 0 ⋅ β ) ⋅ r2 − y 0 ⋅α 2 ⋅β ⋅ r5 +α 2 ⋅β 2 ⋅r8 + r7 α 2β 2 = (α ⋅ r1 + γ ⋅ r4 + x 0 ⋅ r7 )(α ⋅ β ⋅ r2 + y 0 ⋅ (γ − 1) ⋅ r8 ) β + ( β ⋅ r4 + y 0 ⋅ r7 )(−α ⋅ β ⋅ γ ⋅ r2 + α 2 ⋅ β ⋅ r5 ) + + (α ⋅ β ⋅ ( y 0 ⋅ γ − x 0 ⋅ β ) ⋅ r2 − y 0 ⋅α 2 ⋅β ⋅ r5 +α 2 ⋅β 2 ⋅r8 )r7 = α 2 ⋅ β 2 ⋅ r1 ⋅ r2 + α ⋅ β 2 ⋅ γ ⋅ r2 ⋅ r4 + x 0 ⋅ α ⋅ β 2 ⋅ r2 ⋅ r7 + α ⋅ β ⋅ (γ − 1) ⋅ y 0 ⋅ r1 ⋅ r8 + + β ⋅ γ ⋅ (γ − 1) ⋅ y 0 ⋅ r4 ⋅ r8 + β ⋅ (γ − 1) ⋅ x 0 ⋅ y 0 ⋅ r7 ⋅ r8 − α ⋅ β 2 ⋅ γ ⋅ r2 ⋅ r4 + α 2 ⋅ β 2 ⋅ r4 ⋅ r5 − α ⋅ β ⋅ γ ⋅ y 0 ⋅ r2 ⋅ r7 + + α 2 ⋅ β ⋅ y 0 ⋅ r5 ⋅ r7 + α ⋅ β ⋅ γ ⋅ y 0 ⋅ r2 ⋅ r7 − α ⋅ β 2 ⋅ x 0 ⋅ r2 ⋅ r7 −α 2 ⋅β ⋅ y 0 ⋅ r5 ⋅ r7 +α 2 ⋅β 2 ⋅r7 ⋅ r8 = α 2 ⋅ β 2 ⋅ (r1 ⋅ r2 + r4 ⋅ r5 + r7 ⋅ r8 ) α 2 ⋅ β 2 ⋅ (r1 ⋅ r2 + r4 ⋅ r5 + r7 ⋅ r8 ) = 0Lo cual es lógico puesto que r1 ⋅ r2 + r4 ⋅ r5 + r7 ⋅ r8 representa el producto escalar de dos vectores ortonormales que es justamente nulo.
  • 120. Apéndice B Matemáticas de Zhang 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:  r1  r2   r1  r2          r4   r5  r4   r5 x∞ ⋅ x∞ = a 2 ⋅ [r1 r4 r7 0]⋅   + a ⋅ b ⋅ [r1 r4 r7 0]⋅   + a ⋅ b ⋅ [r2 r5 r8 0] ⋅   + b 2 ⋅ [r2 r5 r8 0]⋅  rT r r7   r8  r7   r8          0   0   0   0   Si observamos la expresión término a término tenemos lo siguiente:  r1    r4  a 2 ⋅ [r1 r4 r7 0]⋅   = a 2 ⋅ (r12 + r42 + r72 + 0 2 ) = a 2 ⋅ 1 = a 2 , por ser un vector ortonormal. r7    0   r2    r5 a ⋅ b ⋅ [r1 r4 r7 0]⋅   = a ⋅ b ⋅ 0 = 0 , por ser ortogonales entre sí.  r8    0    r1    r4 a ⋅ b ⋅ [r2 r5 r8 0]⋅   = a ⋅ b ⋅ 0 = 0 , por ser ortogonales entre sí. r7    0   r2     r5  b 2 ⋅ [r2 r5 r8 0]⋅   = b 2 ⋅ (r22 + r52 + r82 + 0 2 ) = b 2 ⋅ 1 = b 2 , por ser un vector ortonormal.  r8    0   Por lo tanto, a partir de la ecuación 3.4.16 y de la 3.4.18, el resultado final es elsiguiente: a 2 + b2 = 0 3.4.19Jaime Martínez Verdú B-5 MTIT: Visión por Computador
  • 121. Apéndice C CAPÉNDICE Caso ejemplo APÉNDICE C CASO EJEMPLO A continuación, se muestran varias maneras de resolver el ejemplo 3.1.4: Empleando Derive I:Jaime Martínez Verdú C-1 MTIT: Visión por Computador
  • 122. Apéndice C Caso ejemplo Empleando Derive II: X1 ≔ 0 x7 ≔ 97 Y1 ≔ 0 y7 ≔ 305 Z1 ≔ 0 X8 ≔ 11 x1 ≔ 95 Y8 ≔ 0 y1 ≔ 336 Z8 ≔ -0.75 X2 ≔ 11 x8 ≔ 592 Y2 ≔ 0 y8 ≔ 336 Z2 ≔ 0 X9 ≔ 2 x2 ≔ 592 Y9 ≔ 0 y2 ≔ 368 Z9 ≔ 0 X3 ≔ 8.25 x9 ≔ 184 Y3 ≔ 0 y9 ≔ 344 Z3 ≔ -4.5 X10 ≔ 9 x3 ≔ 472 Y10 ≔ 0 y3 ≔ 168 Z10 ≔ 0 X4 ≔ 2.75 x10 ≔ 501 Y4 ≔ 0 y10 ≔ 363 Z4 ≔ -4.5 X11 ≔ 2.75 x4 ≔ 232 Y11 ≔ 0 y4 ≔ 155 Z11 ≔ -1.81 X5 ≔ 5.5 x11 ≔ 224 Y5 ≔ 0 y11 ≔ 266 Z5 ≔ -3.5 X12 ≔ 8.25 x5 ≔ 350 Y12 ≔ 0 y5 ≔ 205 Z12 ≔ -1.81 X6 ≔ 5 x12 ≔ 467 Y6 ≔ 6 y12 ≔ 279 Z6 ≔ -3.5 X13 ≔ 2 x6 ≔ 362 Y13 ≔ 6 y6 ≔ 323 Z13 ≔ 0 X7 ≔ 0 x13 ≔ 263 Y7 ≔ 0 y13 ≔ 431 Z7 ≔ -0.75Jaime Martínez Verdú C-2 MTIT: Visión por Computador
  • 123. Apéndice C Caso ejemploJaime Martínez Verdú C-3 MTIT: Visión por Computador
  • 124. Apéndice C Caso ejemploJaime Martínez Verdú C-4 MTIT: Visión por Computador
  • 125. Apéndice C Caso ejemplo 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*Y01, - x01*Z01; X02, Y02, Z02, 1, 0, 0, 0, 0, - x02*X02, - x02*Y02, - x02*Z02; X03, Y03, Z03, 1, 0, 0, 0, 0, - x03*X03, - x03*Y03, - x03*Z03; X04, Y04, Z04, 1, 0, 0, 0, 0, - x04*X04, - x04*Y04, - x04*Z04; X05, Y05, Z05, 1, 0, 0, 0, 0, - x05*X05, - x05*Y05, - x05*Z05; X06, Y06, Z06, 1, 0, 0, 0, 0, - x06*X06, - x06*Y06, - x06*Z06; X07, Y07, Z07, 1, 0, 0, 0, 0, - x07*X07, - x07*Y07, - x07*Z07; X08, Y08, Z08, 1, 0, 0, 0, 0, - x08*X08, - x08*Y08, - x08*Z08; X09, Y09, Z09, 1, 0, 0, 0, 0, - x09*X09, - x09*Y09, - x09*Z09; X10, Y10, Z10, 1, 0, 0, 0, 0, - x10*X10, - x10*Y10, - x10*Z10; X11, Y11, Z11, 1, 0, 0, 0, 0, - x11*X11, - x11*Y11, - x11*Z11; X12, Y12, Z12, 1, 0, 0, 0, 0, - x12*X12, - x12*Y12, - x12*Z12; X13, Y13, Z13, 1, 0, 0, 0, 0, - x13*X13, - x13*Y13, - x13*Z13; 0, 0, 0, 0, X01, Y01, Z01, 1, - y01*X01, - y01*Y01, - y01*Z01; 0, 0, 0, 0, X02, Y02, Z02, 1, - y02*X02, - y02*Y02, - y02*Z02; 0, 0, 0, 0, X03, Y03, Z03, 1, - y03*X03, - y03*Y03, - y03*Z03; 0, 0, 0, 0, X04, Y04, Z04, 1, - y04*X04, - y04*Y04, - y04*Z04; 0, 0, 0, 0, X05, Y05, Z05, 1, - y05*X05, - y05*Y05, - y05*Z05; 0, 0, 0, 0, X06, Y06, Z06, 1, - y06*X06, - y06*Y06, - y06*Z06; 0, 0, 0, 0, X07, Y07, Z07, 1, - y07*X07, - y07*Y07, - y07*Z07; 0, 0, 0, 0, X08, Y08, Z08, 1, - y08*X08, - y08*Y08, - y08*Z08; 0, 0, 0, 0, X09, Y09, Z09, 1, - y09*X09, - y09*Y09, - y09*Z09; 0, 0, 0, 0, X10, Y10, Z10, 1, - y10*X10, - y10*Y10, - y10*Z10; 0, 0, 0, 0, X11, Y11, Z11, 1, - y11*X11, - y11*Y11, - y11*Z11; 0, 0, 0, 0, X12, Y12, Z12, 1, - y12*X12, - y12*Y12, - y12*Z12; 0, 0, 0, 0, X13, Y13, Z13, 1, - y13*X13, - y13*Y13, - 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;Jaime Martínez Verdú C-5 MTIT: Visión por Computador
  • 126. Apéndice C Caso ejemplok=[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;im10;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;res08; 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];figureplot(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 output)LEGEND(Coordenadas del punto proyectado empleando la transformacionhomogenea,Coordenadas del punto proyectado ideales)Jaime Martínez Verdú C-6 MTIT: Visión por Computador
  • 127. Apéndice C Caso ejemplo 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 Comparacion entre las imagen de input y las de output 450 Coordenadas del punto proyectado empleando la transformacion homogenea Coordenadas del punto proyectado ideales 400 350 Componente en y de la imagen 300 250 200 150 0 100 200 300 400 500 600 Componente en x de la imagenJaime Martínez Verdú C-7 MTIT: Visión por Computador
  • 128. Apéndice C Caso ejemplo 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=5a=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); endendb=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); endendc=(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:mJaime Martínez Verdú C-8 MTIT: Visión por Computador
  • 129. Apéndice C Caso ejemplo aux=k*([X(i,1:3),1]); im(i,1:2)=(aux(1:2,1)/aux(3,1));endimres=zeros(m,2);for i=1:1:m res(i,1:2)=[X(i,4)-im(i,1),X(i,5)-im(i,2)];endresfigureplot(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 output)LEGEND(Coordenadas del punto proyectado empleando la transformacionhomogenea,Coordenadas del punto proyectado ideales) Los resultados obtenidos al ejecutar este código son los siguientes:>> mattranfpersgralk = 44.8375 29.8056 -5.5202 94.5227 2.5161 42.2495 40.7785 337.8771 -0.0007 0.0649 -0.0103 1.0000im = 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.5171res = 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.5171Jaime Martínez Verdú C-9 MTIT: Visión por Computador
  • 130. Apéndice C Caso ejemplo 600 Coordenadas del punto proyectado empleando la transformacion homogenea 500 Coordenadas del punto proyectado ideales 400Comparacion entre las imagen de input y las de output Componente en x de la imagen 200 100 0 300 450 400 350 300 250 200 150 Componente en y de la imagen Tal y como puede observarse, independientemente del método seguido, losresultados son semejantes. Se lo desea el lector, puede obtener el código programadoenviando un correo a la dirección jaime.martinez@alu.umh.es.Jaime Martínez Verdú C-10 MTIT: Visión por Computador