47
RECONSTRUCCIÓN 3D VISIÓN ARTIFICIAL CURSO 2012/13 UNIVERSIDAD DE JAÉN

Presentacion reconstrucción 3D

Embed Size (px)

Citation preview

RECONSTRUCCIÓN 3DVISIÓN ARTIFICIAL

CURSO 2012/13

UNIVERSIDAD DE JAÉN

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

2

INTRODUCCIÓN

• La reconstrucción 3D es la extracción de objetos geométricos a partir deimágenes tomadas desde una o varias cámaras.

• Utilizamos funciones de la API de OpenCV.

• La cámara tiene una posición en el espacio, y una orientación (Traslación yrotación).

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

3

INTRODUCCIÓN

(APLICACIONES)

• Control de calidad industrial en tareas de producción.

• Tele-monitorización de robots móviles.

• Elaboración de mapas tridimensionales.

• Medicina: Representación volumétrica de huesos y órganos internos.

• Modelado 3D: creación de maquetas o reconstrucción de visitas virtuales,recreación de lugares desaparecidos, museos virtuales.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

4

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

5

• Introducción• Movimiento de la cámara a partir de un par de imágenes• Obtención de las matrices de cámara• Reconstrucción de la escena• Reconstrucción A partir de múltiples vistas• Refinamiento de la reconstrucción• Visualización 3D

INTRODUCCIÓN

(Visión estéreo)

• Está formada por dos o más cámaras alineadas ycalibradas.

• El método de reconstrucción 3D que se utiliza sebasa en la obtención de matrices de disparidadpara hallar la profundidad.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

6

INTRODUCCIÓN

(Reconstrucción 3D con dispositivos calibrados)

• La diferencia con respecto a la visiónestereoscópica es que las cámaras noestán alineadas pero sí calibradas.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

7

INTRODUCCIÓN

(Structure from Motion)

• Modelo extraído sin calibración previade la cámara.

• Se realiza con una sola cámara, con lacual se recogen varias tomas del objetoa reconstruir.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

8

INTRODUCCIÓN

• En este proyecto se ha utilizado la técnica de SfM (Structure from Motion).• Pasos a seguir en este proceso:

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

9

Toma de fotografías

Puntos característicos

y matching

Posiciones de las cámaras

Hallar puntos 3D

(triangulación)

Ajuste de la nube de puntos

Visualización 3D

MOVIMIENTO DE LA CÁMARA A PARTIR DE UN PAR DE IMÁGENES

• Se basa en la extracción de características y descriptores de correspondencia.

• La extracción significa seleccionar los puntos en la imagen que poseen buenascaracterísticas, y calcular un descriptor sobre ellos.

• Un descriptor es un vector de números que describen el entorno circundantealrededor de un punto característico en una imagen.

• El proceso de coincidencia trata de encontrar una función de correspondenciaentre un conjunto de características y otro conjunto, usando los descriptoresencontrados.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

10

MOVIMIENTO DE LA CÁMARA A PARTIR DE UN PAR DE IMÁGENES

• OpenCV proporciona una gama de detectores de características, extractores dedescriptores y comparadores.

• SurfFeatureDetector.

• SurfDescriptorExtractor .

• Para el proceso de coincidencia o matching se ha utilizado la fuerza bruta.

• Obtención de matriz fundamental y esencial.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

11

MOVIMIENTO DE LA CÁMARA A PARTIR DE UN PAR DE IMÁGENES

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

12

OBTENCIÓN DE LAS MATRICES DE CÁMARA(Geometría Epipolar)

• Se extrae de la visión estereoscópica.• Existen una serie de relaciones geométricas entre los puntos 3D y las

proyecciones 2D de las imágenes.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

13

• Centros ópticos: en ellos confluyen todos los rayosque van desde el punto 3D y pasa por la proyección.

• Proyecciones: coordenadas 2D de la imagen queproyecta el punto 3D del mundo real.

• Epipolos: todas las líneas epipolares pasan por ellos.

• Línea base: línea que une los dos epipolos

• Línea epipolar: línea que une cada proyección con sucorrespondiente epipolo

MATRICES

• La matriz de parámetros intrínsecos podemos describirla como la matriz quedefine la geometría interna y la óptica de la cámara:

𝐾 =𝑓𝑥 0 𝑐𝑥0 𝑓𝑦 𝑐𝑦0 0 1

Siendo 𝑓𝑥 , 𝑓𝑦 la distancia focal

Y 𝑐𝑥 , 𝑐𝑦 el centro de la imagen

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

14

MATRICES

• La matriz fundamental podemos describirla como la matriz que impone lasrestricciones y limitaciones epipolares. La principal característica es que dadosdos puntos 𝑚1 (proyección en imagen 1) y 𝑚2 (proyección en imagen 2),podemos ver si se corresponden de la siguiente manera:

𝑚2𝑇 ∗ 𝐹 ∗ 𝑚1 = 0

• La matriz esencial es una matriz que se deriva de la matriz fundamental. Adiferencia de ésta, no posee ningún parámetro intrínseco, y permite a partirde ella obtener matrices de rotación y traslación. De hecho podemos obteneresta matriz de la siguiente manera:

𝐸 = 𝐾′𝑇𝐹𝐾

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

15

OBTENCIÓN DE LAS MATRICES DE CÁMARA

• Obtenida la matriz esencial E podemos obtener la matriz de cámara P,mediante descomposición de valores singulares (SVD):

𝑃 = 𝑅 𝑡 =

𝑟1 𝑟2 𝑟3 𝑡1𝑟4 𝑟5 𝑟6 𝑡2𝑟7 𝑟8 𝑟9 𝑡3

• Hay dos cámaras, ¿Dónde está la otra matriz de cámara?:

𝑃0 =1 0 0 00 1 0 00 0 1 0

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

16

RECONSTRUCCIÓN DE LA ESCENA

• Siguiendo los pasos de Hartley y Sturm.

• Ecuaciones derivadas de tener los puntos 2D y 3D.

𝑥 = 𝑃𝑋 𝑥′ = 𝑃′𝑋

Donde 𝑥 y 𝑥′ son las correspondencias entre puntos 2D y 𝑋 es el punto 3D.

• A partir de las ecuaciones anteriores llegamos a un sistema de ecuacioneslineales no homogéneas de tipo AX = B, el cual se puede resolver por los valoresde X.

• Este proceso es conocido como triangulación lineal.

• Aplicar reproyección para comprobar si los puntos 3D obtenidos son correctos.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

17

RECONSTRUCCIÓN DE LA ESCENA

• Reconstrucción 3D a partir de dos vistas:

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

18

RECONSTRUCCIÓN A PARTIR DE MÚLTIPLES VISTAS

• Métodos:

• Perspectiva N-Point (PNP) este método intenta obtener la posición de una nuevacámara con los puntos de la escena que se ha encontrado hasta el momento.

• Iterative Closest Point (ICP) este método se basa en triangular más puntos y vercómo encajan en la geometría de la escena actual, lo que nos indicará la posiciónde la nueva cámara.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

19

RECONSTRUCCIÓN A PARTIR DE MÚLTIPLES VISTASIterative Closest Point (ICP)

• Es un algoritmo empleado para reducir al mínimo la diferencia entre dos nubesde puntos. ICP se utiliza a menudo para reconstruir superficies 2D o 3D.

• Puede utilizarse en tiempo real.

• Pasos:

• Calcular las correspondencias de puntos usando el criterio del punto más cercano.

• Estimar los parámetros de transformación que minimizan la función de costos de lamedia cuadrática para cada correspondencia.

• Transformar los puntos utilizando los parámetros estimados.

• Iterar (volver a asociar los puntos y así sucesivamente).

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

20

RECONSTRUCCIÓN A PARTIR DE MÚLTIPLES VISTAS

Perspectiva N-Point (PNP)

• Establecemos un punto de partida buscando las matrices de la cámara con lafunción FindCameraMatrices.

• Posteriormente realizamos la triangulación de la geometría con la funciónTriangulatePoint.

• Necesitamos dos vectores alineados que defina cada punto 2D y 3D.

• Guardamos información de los puntos 3D (puntos 2D de los cuales ha sidogenerado).

• Finalmente se usa la función solvePnPRansac por su robustez y mediante lafunción TriangulatePoint añadimos más puntos a la nube de puntos.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

21

RECONSTRUCCIÓN A PARTIR DE MÚLTIPLES VISTAS

Perspectiva N-Point (PNP)

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

22

REFINAMIENTO DE LA RECONSTRUCCIÓN

• Para este proceso se ha usado la técnica SSBA, la cual requiere los parámetrosde la cámara, la nube de puntos 3D y los puntos 2D que corresponden con cadauno de los puntos 3D.

• El término BA (Bundle Adjustment), propuesto por Brown, consiste en afinar laestructura de la escena y los parámetros de la cámara simultáneamentemediante la minimización de la distancia entre la reproyección de los puntos 3Dreconstruidos y las proyecciones observadas.

• Con el término Bundle se hace referencia a los rayos de luz que penetran en lacámara y los puntos de la escena, los cuales son ajustados intentando minimizarla función de coste.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

23

REFINAMIENTO DE LA RECONSTRUCCIÓN

(SSBA, Simple Sparse Bundle Adjustment)

• El algoritmo de Bundle Adjustment se trata por tanto de un algoritmo basadoen características.

• Utiliza un mecanismo de minimización basado en mínimos cuadrados medianteel empleo del algoritmo Levenberg-Marguardt.

• Permite detectar las geometrías epipolares incorrectas que dan lugar a unacorrespondencia entre puntos que únicamente introducen ruido en lareconstrucción.

• Este proceso es una de las fases más costosas en la reconstrucción.

• Mejora mediante ejecución en hilos o GPU.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

24

REFINAMIENTO DE LA RECONSTRUCCIÓN

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

25

VISUALIZACIÓN 3D

• Se usa librería PCL (Point Cloud Library)

• Estructura de nube de puntos con PCL:

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud.

• Se aplica un filtro a la nube de puntos para eliminar

los puntos anómalos, utilizando la eliminación

estadística de valores atípicos SOR

(statistical outlier removal).

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

26

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

27

DESCRIPCIÓN DEL SOFTWARE

• Desarrollado en lenguaje C++ con el IDE Qt Creator.

• Desarrollado sobre entorno Linux, más concretamente Ubuntu/Kubuntu 12.10.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

28

DESCRIPCIÓN DEL SOFTWARE

Modelo

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

29

DESCRIPCIÓN DEL SOFTWARE

Vista

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

30

DESCRIPCIÓN DEL SOFTWARE

Controlador

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

31

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

32

APLICACIÓN

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

33

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

34

ANÁLISIS DE RESULTADOS

BRUSSEL

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

35

ANÁLISIS DE RESULTADOSMerton College III

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

36

ANÁLISIS DE RESULTADOSIndio

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

37

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

38

INSTALACIÓN DE LA APLICACIÓN(Librerías requeridas)

• PCL 1.6

• Boost

• Eigen 3.1.3

• VTK 5.8

• SSBA 3.0

• OpenCV 2.4.2

• OpenMP

• Qt Creator

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

39

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

40

CONCLUSIONES

• Trabajo bastante amplio y multidisciplinar.

• Únicamente hemos podido llevar a cabo la reconstrucción sobre conjuntos deprueba encontrados en diferentes sitios web.

• Problemática con el tipo de cámara utilizada e iluminación

• Problema importante de coste computacional (Paralelización).

• Problemas con superficies planas o demasiado homogéneas.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

41

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

42

BIBLIOGRAFÍA

• Mastering OpenCV with Practical Computer Vision Projects Autores: Daniel Lélis, ShervinEmami, David Millán, Khvedchenia levgen, Naureen Mahmood, Jason Saragith, Roy ShilkrotEditorial: Packt Publishing

• Aplicación de reconstrucción 3D basada en la sintesis de varios proyectos sobre la misma materia. Página web: http://homes.cs.washington.edu/~ccwu/vsfm/

• Obtención de parámetros extrínsecos de la cámara. Página web: http://joelgranados.wordpress.com/2010/07/30/opencv-camera-extrinsics/

• Conjuntos de dataset de imágenes Página web: http://www.robots.ox.ac.uk/~vgg/data/data-mview.html

• Blog de Martin Peris http://blog.martinperis.com/2012/01/3d-reconstruction-with-opencv-and-point.html

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

43

ÍNDICE

• Introducción• Reconstrucción 3D• Descripción del software• Aplicación• Análisis de resultados• Instalación de la aplicación• Conclusiones• Bibliografía• Técnica RANSAC y SURF

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

44

TÉCNICA RANSAC• Datos un conjunto de datos enorme, esta técnica nos permite definir un

modelo dejando fuera la información contaminada (ruido).

• Se seleccionan de forma aleatoria dos de los puntos. Estos dos puntos definen una recta.

• El soporte para esta recta se mide por el número de puntos cuya distancia normal a la recta cae dentro de un umbral previamente fijado.

• Esta selección aleatoria se repite un número de veces y la recta con mayor soporte se considera la recta robusta.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

45

TÉCNICA SURF• Se basa en un concepto de multi-resolución. (Generar imágenes con un

tamaño que sea la mitad que el anterior)

• Se pueden obtener réplicas de la imagen original al reducir el ancho de banda de la misma.

• Se selecciona los puntos característicos asignándole un descriptor que los hace únicos.

• Para realizar el descriptor se tienen en cuenta dos aspectos principalmente, la orientación y la descripción de la vecindad.

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

46

FINGracias por su atención

José Manuel Serrano Mármol

Francisco José Garzón Gasco

Raúl Salazar de Torres

47

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN