UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS F˝SICAS Y MATEM`TICAS DEPARTAMENTO DE INGENIER˝A EL(cid:201)CTRICA GENERACI(cid:211)N DE MAPAS DE PROFUNDIDAD A PARTIR DE IM`GENES EST(cid:201)REO UTILIZANDO REGISTRO NO R˝GIDO MEMORIA PARA OPTAR AL T˝TULO DE INGENIERO CIVIL ELECTRICISTA DANIEL SEBASTI`N CALDER(cid:211)N SAAVEDRA SANTIAGO DE CHILE AGOSTO 2012 UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS F˝SICAS Y MATEM`TICAS DEPARTAMENTO DE INGENIER˝A EL(cid:201)CTRICA GENERACI(cid:211)N DE MAPAS DE PROFUNDIDAD A PARTIR DE IM`GENES EST(cid:201)REO UTILIZANDO REGISTRO NO R˝GIDO MEMORIA PARA OPTAR AL T˝TULO DE INGENIERO CIVIL ELECTRICISTA DANIEL SEBASTI`N CALDER(cid:211)N SAAVEDRA PROFESOR GU˝A: TAKESHI ASAHI KODAMA MIEMBROS DE LA COMISI(cid:211)N: CLAUDIO P(cid:201)REZ FLORES JORGE SILVA S`NCHEZ SANTIAGO DE CHILE AGOSTO 2012 RESUMEN DE LA MEMORIA PARA OPTAR AL T˝TULO DE INGENIERO CIVIL ELECTRICISTA POR: DANIEL CALDER(cid:211)N SAAVEDRA FECHA: 21/08/2012 PROF. GU˝A: TAKESHI ASAHI KODAMA GENERACI(cid:211)N DE MAPAS DE PROFUNDIDAD A PARTIR DE IM`GENES EST(cid:201)REO UTILIZANDO REGISTRO NO R˝GIDO El presente trabajo trata sobre la aplicaci(cid:243)n de registro no r(cid:237)gido al caso de imÆgenes estØreo con el (cid:28)n de generar un mapa de profundidad. En particular, la correspondencia entre las dos imÆgenes se describe como soluci(cid:243)n de una ecuaci(cid:243)n diferencial cuyos parÆmetros son determinados a travØs de un problema de optimizaci(cid:243)n. El proceso completo requiere etapas previas de calibraci(cid:243)n, recti(cid:28)caci(cid:243)n y preparaci(cid:243)n de las imÆgenes, las que se implementan sobre la librer(cid:237)a OpenCV. Se incluyen ademÆs los conceptos te(cid:243)ricos que se encuentran detrÆs de cada subproceso. Una vez que las imÆgenes son recti(cid:28)cadas, se procesan (cid:28)la por (cid:28)la, adquiriØndose un enfoque unidimensional. El registro no r(cid:237)gido se efectœa mediante el cÆlculo de una transfor- maci(cid:243)n espacial difeom(cid:243)r(cid:28)ca φ, capaz de deformar de manera no lineal una de las imÆgenes para que iguale a la otra. En particular, φ es la soluci(cid:243)n de la ecuaci(cid:243)n diferencial ordinaria no lineal d φ(x,t) = v(φ(x,t)), donde se desconoce el campo vectorial v, el cual se determina t utilizando el mØtodo del gradiente para minimizar un funcional con componentes de similitud y regularizaci(cid:243)n. Se adopta el esquema Forward Euler Method, es decir, primero se calcula v, y luego φ, utilizando la relaci(cid:243)n φ(x,t+dt) = φ(x,t)+v(φ(x,t))dt. Tanto las imÆgenes como el campo vectorial son tratados de forma continua utilizan- do B-splines unidimensionales. La elecci(cid:243)n radica en sus caracter(cid:237)sticas interpoladoras y de soporte compacto, dado que solo se esperan deformaciones locales. De esta forma, los parÆmetros a determinar en el problema son los coe(cid:28)cientes a[i] que de(cid:28)nen el campo v(x) = (cid:80) a[i]βn(x−i). i Una vez obtenido el difeomor(cid:28)smo, es directo el cÆlculo del mapa de disparidad, pues se cumple que d = φ−x. Y posteriormente, al aæadir los parÆmetros de la cÆmara estØreo, es posible generar el mapa de profundidad con la ecuaci(cid:243)n Z = fT (en el caso de alineaci(cid:243)n d binocular). La estrategia de soluci(cid:243)n demuestra ser œtil en casos con objetos de super(cid:28)cies suaves y sin necesidad de pronunciados gradientes de intensidad del nivel de gris, destacando sobre alternativas mÆs tradicionales, que se enfocan bÆsicamente en correspondencias de puntos ca- racter(cid:237)sticos. El caso de imÆgenes generales, con combinaciones de zonas de gradientes suaves y pronunciados, no es resuelto completamente, restando abordar problemas de oclusiones, diferencias en los bordes de las imÆgenes, tiempo de c(cid:243)mputo, y exceso de suavidad en la funci(cid:243)n de deformaci(cid:243)n. El trabajo constituye un primer acercamiento a un nuevo enfoque continuo, por lo que se proponen variantes que puedan generar mejores resultados. A mis padres Agradecimientos Quisiera agradecer primero a mis padres, Jessica Saavedra y Daniel Calder(cid:243)n, por haber- me apoyado incondicionalmente durante todos estos aæos. Su compaæ(cid:237)a y fortaleza me han permitido terminar esta etapa, y desarrollar de buena forma todos los proyectos que me he propuesto. Muchas gracias por estar ah(cid:237), siempre. Agradecimientosatodasmisamistades,cercanasylejanas,portodoslosgratosmomentos vividos durante estos aæos. Menci(cid:243)n honrosa a Paulina Arellano, Claudio Burgos, SebastiÆn Fehlandt, SebastiÆn Fuentealba, Karen Salvatierra, Felipe ValdØs y Grace Varela (en orden alfabØtico para que no se sienta ni mÆs ni menos). No puedo dejar fuera a los cabros del Instituto Nacional; a las amistades de la secci(cid:243)n 5 2006, en especial a Alejandro Abarzœa, Jaime Arias, V(cid:237)ctor Bucarey y Alejandro Quezada; Al equipo Eolian 2, por toda esa energ(cid:237)a sinØrgicamente puesta en un mismo objetivo; y (cid:28)nalmente, a todo el escuadr(cid:243)n elØctrico con quienes nos juntamos una y otra vez. Muchas gracias a las profesoras Mar(cid:237)a Cecilia Rivara y Nancy Hitschfeld por darme la oportunidad de ser profesor auxiliar en computaci(cid:243)n grÆ(cid:28)ca durante 5 semestres. PorsupuestoagradeceraTakeshiAsahi,quienmÆsqueunprofesorgu(cid:237)a,fueuncompaæero de trabajo. A Alfredo L(cid:243)pez, por ayudarme a entender varios conceptos relacionados con esta memoria.Juntoconellos,agradezcotambiØnaFernandoPadillayaJaimeOrtegaporgenerar un ambiente de trabajo muy grato en el laboratorio de imÆgenes del CMM. Gracias a los profesores Claudio PØrez y Jorge Silva por aceptar ser parte de mi comisi(cid:243)n. Esta memoria fue (cid:28)nanciada por el proyecto FONDEF D04I1237. May the Force be with you ˝ndice general 1. Introducci(cid:243)n 1 1.1. Descripci(cid:243)n del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Motivaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Marco Te(cid:243)rico 5 2.1. CÆmara simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1. Modelo de cÆmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1.1. ParÆmetros intr(cid:237)nsecos . . . . . . . . . . . . . . . . . . . . . 5 2.1.1.2. ParÆmetros extr(cid:237)nsecos . . . . . . . . . . . . . . . . . . . . . 9 2.1.2. Calibraci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2. CÆmara estØreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1. Triangulaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2. Geometr(cid:237)a epipolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.2.1. Conceptos bÆsicos . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.2.2. Matrices Esencial y Fundamental . . . . . . . . . . . . . . . 16 2.2.2.3. CÆlculo de la matriz Esencial . . . . . . . . . . . . . . . . . 17 2.2.2.4. CÆlculo la matriz Fundamental . . . . . . . . . . . . . . . . 18 2.2.2.5. Alineaci(cid:243)n binocular . . . . . . . . . . . . . . . . . . . . . . 18 2.2.3. Calibraci(cid:243)n estØreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.4. Recti(cid:28)caci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.5. Correspondencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 vii 2.2.6. Mapas de profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3. Deformaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.1. Introducci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.2. Generando difeomor(cid:28)smos . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.3. Un problema de optimizaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . 29 2.4. B-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4.1. Introducci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4.2. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.3. Evaluando una B-spline . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4.4. Interpolaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4.5. Filtrado inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.6. Condiciones de borde . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3. Implementaci(cid:243)n 40 3.1. Descripci(cid:243)n general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2. Plataformas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4. Implementaci(cid:243)n te(cid:243)rica de registro no r(cid:237)gido . . . . . . . . . . . . . . . . . . 43 3.4.1. Mecanismo de soluci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.2. Formulaci(cid:243)n de funcionales . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4.2.1. Funcionales de similitud . . . . . . . . . . . . . . . . . . . . 45 3.4.2.2. Funcionales de regularizaci(cid:243)n . . . . . . . . . . . . . . . . . 46 3.4.3. CÆlculo de los funcionales de similitud . . . . . . . . . . . . . . . . . 47 3.4.3.1. CÆlculo del difeomor(cid:28)smo y su derivada. . . . . . . . . . . . 48 3.4.4. CÆlculo de los funcionales de regularizaci(cid:243)n . . . . . . . . . . . . . . . 49 3.4.4.1. Regularizaci(cid:243)n con energ(cid:237)a del campo v . . . . . . . . . . . 49 3.4.4.2. Regularizaci(cid:243)n con energ(cid:237)a del laplaciano del campo v . . . 50 3.4.5. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5. Descripci(cid:243)n de m(cid:243)dulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.5.1. Calibraci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 viii 3.5.2. Calibraci(cid:243)n estØreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.5.3. Recorte y alineaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.5.4. Filtrado de las imÆgenes . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.5.5. Registro no r(cid:237)gido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.5.6. Generaci(cid:243)n de mapa de profundidad . . . . . . . . . . . . . . . . . . 57 4. Resultados Experimentales 59 4.1. Calibraci(cid:243)n de una cÆmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1.1. ImÆgenes desde cÆmara 3D . . . . . . . . . . . . . . . . . . . . . . . . 60 4.1.2. Ejemplos de OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2. Calibraci(cid:243)n estØreo y recti(cid:28)caci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.1. Ejemplos de OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.2. ImÆgenes de la cÆmara 3D . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3. Registro no r(cid:237)gido de una l(cid:237)nea . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1. Interpretaci(cid:243)n de grÆ(cid:28)cas . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.2. Distintos funcionales de similitud . . . . . . . . . . . . . . . . . . . . 70 4.3.3. Distintos funcionales de regularizaci(cid:243)n . . . . . . . . . . . . . . . . . 71 4.3.4. Nodos del campo de velocidades . . . . . . . . . . . . . . . . . . . . . 72 4.3.5. Discretizaci(cid:243)n temporal . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3.6. Discretizaci(cid:243)n espacial . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.7. Filtrado inicial de las imÆgenes . . . . . . . . . . . . . . . . . . . . . 75 4.3.8. Oclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.4. Registro no r(cid:237)gido de una imagen . . . . . . . . . . . . . . . . . . . . . . . . 77 4.5. Generaci(cid:243)n de mapa de profundidad . . . . . . . . . . . . . . . . . . . . . . 80 5. Conclusiones 82 5.1. Geometr(cid:237)a de cÆmaras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2. B-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.3. Registro no r(cid:237)gido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.4. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ix Bibliograf(cid:237)a 87 Anexo A: Terminolog(cid:237)a 88 Anexo B: ParÆmetros de cada prueba 90 x
Description: