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

Presentacion reconstrucción 3D

Dec 01, 2015

Download

Documents

serrano5510
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presentacion reconstrucción 3D

RECONSTRUCCIÓN 3DVISIÓN ARTIFICIAL

CURSO 2012/13

UNIVERSIDAD DE JAÉN

Page 2: Presentacion reconstrucción 3D

Í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

Page 3: Presentacion reconstrucción 3D

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

Page 4: Presentacion reconstrucción 3D

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

Page 5: Presentacion reconstrucción 3D

Í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

Page 6: Presentacion reconstrucció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

Page 7: Presentacion reconstrucción 3D

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

Page 8: Presentacion reconstrucción 3D

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

Page 9: Presentacion reconstrucción 3D

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

Page 10: Presentacion reconstrucció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

Page 11: Presentacion reconstrucción 3D

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

Page 12: Presentacion reconstrucción 3D

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

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

12

Page 13: Presentacion reconstrucción 3D

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

Page 14: Presentacion reconstrucción 3D

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

Page 15: Presentacion reconstrucción 3D

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

Page 16: Presentacion reconstrucción 3D

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

Page 17: Presentacion reconstrucción 3D

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

Page 18: Presentacion reconstrucción 3D

RECONSTRUCCIÓN DE LA ESCENA

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

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

18

Page 19: Presentacion reconstrucción 3D

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

Page 20: Presentacion reconstrucción 3D

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

Page 21: Presentacion reconstrucción 3D

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

Page 22: Presentacion reconstrucción 3D

RECONSTRUCCIÓN A PARTIR DE MÚLTIPLES VISTAS

Perspectiva N-Point (PNP)

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

22

Page 23: Presentacion reconstrucción 3D

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

Page 24: Presentacion reconstrucción 3D

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

Page 25: Presentacion reconstrucción 3D

REFINAMIENTO DE LA RECONSTRUCCIÓN

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

25

Page 26: Presentacion reconstrucción 3D

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

Page 27: Presentacion reconstrucción 3D

Í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

Page 28: Presentacion reconstrucción 3D

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

Page 29: Presentacion reconstrucción 3D

DESCRIPCIÓN DEL SOFTWARE

Modelo

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

29

Page 30: Presentacion reconstrucción 3D

DESCRIPCIÓN DEL SOFTWARE

Vista

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

30

Page 31: Presentacion reconstrucción 3D

DESCRIPCIÓN DEL SOFTWARE

Controlador

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

31

Page 32: Presentacion reconstrucción 3D

Í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

Page 33: Presentacion reconstrucción 3D

APLICACIÓN

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

33

Page 34: Presentacion reconstrucción 3D

Í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

Page 35: Presentacion reconstrucción 3D

ANÁLISIS DE RESULTADOS

BRUSSEL

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

35

Page 36: Presentacion reconstrucción 3D

ANÁLISIS DE RESULTADOSMerton College III

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

36

Page 37: Presentacion reconstrucción 3D

ANÁLISIS DE RESULTADOSIndio

RECONSTRUCCIÓN 3DUNIVERSIDAD DE JAÉN

37

Page 38: Presentacion reconstrucción 3D

Í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

Page 39: Presentacion reconstrucción 3D

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

Page 40: Presentacion reconstrucción 3D

Í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

Page 41: Presentacion reconstrucción 3D

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

Page 42: Presentacion reconstrucción 3D

Í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

Page 43: Presentacion reconstrucción 3D

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

Page 44: Presentacion reconstrucción 3D

Í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

Page 45: Presentacion reconstrucción 3D

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

Page 46: Presentacion reconstrucción 3D

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

Page 47: Presentacion reconstrucción 3D

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