SlideShare una empresa de Scribd logo
1 de 41
Visión Artificial
RICARDO SÁNCHEZ CASTILLO
¿Qué es la visión artificial?
Cuatro términos son usados frecuentemente:
 Procesamiento de imágenes
 Análisis de imágenes
 Gráficos por computadora
 Visión por computadora (Visión artificial)
2
Adquisición de imágenes 3
Representación digital de lo observado
123 43 76 93
245 43 64 75 34
56 76 34 23 65
34 23 76 34 23
123 43 76 93
245 43 64 75 34
56 76 34 23 65
34 23 76 34 23
123 43 76 93
245 43 64 75 34
56 76 34 23 65
34 23 76 34 23
Procesamiento de Imágenes
 Reducción de ruido, suavizado, contraste, cambio de apariencia,
etc..
4
Análisis de Imágenes
Obtener medidas cuantitativas a partir de una imagen.
5
Gráficos por computadora
Crear imágenes a partir de modelos de objetos
 Modelado
 Iluminación
 Textura
 Animación
 Proyección
6
Visión artificial
Invertir el proceso de formación de una imagen para obtener
información acerca del mundo observado.
Algunos problemas son:
 Detección de características
 Detección y reconocimiento de objetos
 Obtener un modelo 3D a partir de imágenes
 Seguimiento y análisis de movimiento
 Reconocimiento de eventos
7
¿Porqué es tan difícil?
Un problema similar a la Ingeniería Inversa.
Cada píxel de una imagen es una función de:
 Reflectividad del objeto observado.
 La forma del objeto.
 Condiciones de iluminación.
 El ángulo desde donde se observa.
La visión biológica invierte esa función muy fácil aparentemente.
8
El problema
No hay suficiente información en la imagen que nos permita
reconstruir el ambiente observado.
A partir de 3 o 4 números enteros (RGB) ¿Cómo obtener la posición en
3D, la forma, reflectividad, color, textura?
9
Reconocimiento de objetos 10
Tracking 11
Tracking 12
Detección de características
 Aplicar una función a un conjunto de píxeles
 Elegir aquellos que tengan el valor más alto
 Describirlos de alguna forma
 Tenemos menor cantidad de datos, pero más estables y con más
información.
Características:
 Sin variación
 Únicas
13
Variación 14
Únicas 15
Bordes 16
Detección de bordes por método de Canny
Esquinas 17
Harris Corner Detector
SIFT (Scale Invariant Feature
Transform)
 Rápido y eficiente, puede incluso ejecutarse en tiempo real.
 Soporta cambios en la perspectiva de hasta 60 grados.
 Cambios significativos en la iluminación.
18
SIFT Features 19
Correspondencia estéreo
Encontrar la correspondencia entre píxeles o características en 2 o
más imágenes y convertir sus posiciones 2D en profundidades 3D
20
Correspondencia
Se utiliza triangulación para recuperar la profundidad
21
Requiere:
• Conocer la geometría del ambiente y la cámara
• Realizar la correspondencia entre cada punto
¿Porqué es difícil?
 Ambigüedad al realizar la correspondencia entre puntos y
variación en la apariencia de las características.
 Necesitamos hacer asunciones acercar del ambiente.
22
1
2 1
2
3
4 4
3
Plano epipolar
Geometría Epipolar 23
Línea
Epipolar
Línea
Epipolar
Rectificación 24
La geometría epipolar y rectificación reducen el problema de correspondencia a
una sola dimensión.
Disparidad y profundidad
Disparidad es la diferencia entre dos puntos correspondientes en
cada imagen.
25
𝐻 = (𝑥 𝑟 − 𝑥𝑙)
Disparidad y profundidad 26
Z
X
f f
I
𝑥𝑙 𝑥 𝑟
P(X,Y,Z)
𝑥𝑙
𝑓
=
𝑋
𝑍
⇒ 𝑥𝑙 =
𝑓𝑋
𝑍
𝑥 𝑟
𝑓
=
𝑋 − 𝑙
𝑍
⇒ 𝑥 𝑟 =
𝑓 ∗ 𝑋 − 𝑙
𝑍
𝑥 𝑟 − 𝑥𝑙 = 𝑓 ∗
𝑋 − 𝑋 − 𝑙
𝑍
=
𝑓𝑙
𝑍
𝑍 =
𝑓𝑙
𝐻
Procedimiento básico
Existen muchos algoritmos, pero la mayoría sigue el siguiente proceso:
 Calibrar cámaras
 Rectificar imágenes
 Correspondencia
 Estimar profundidad
Rectificación y profundidad se consideran resueltos.
Calibración tiene algunas investigaciones.
Correspondencia es el principal problema
27
Correspondencia estéreo
Dos métodos principalmente:
 Sparse algorithms
 PMF algorithm
 Dense algorithms
 Zhang and Shan algorithm (A Progressive Scheme)
28
Sparse algorithms
 Obtener las características de una imagen (bordes, esquinas, SURF,
etc.) y realizar la correspondencia en base a una función.
¿Cómo asegurarse de que un par de características efectivamente
corresponden una a la otra?
29
Gradiente de disparidad
Dos características no deberían de ser aceptadas si la gradiente de
disparidad es mayor que cierto valor…
Estudios demuestran que este límite es 1.0 en los humanos*
30
*Burt and Julesz, A Disparity Gradient Limit for Binocular Fusion, Perception, 1980.
Ai
Bi
A
B
Ar
Br
S(A,B)
𝐷 𝐴, 𝐵 = 𝑥𝑙 − 𝑥 𝑟
Γ 𝐴, 𝐵 =
𝐷 𝐴, 𝐵
𝑆 𝐴, 𝐵
𝑥𝑙 𝑥 𝑟
Algoritmo PMF
 Obtener las características de cada imagen
31
Ai
Bi
1
3
2
Algoritmo PMF
 Calcular la correspondencia y relacionar cada característica con
cierto valor de certeza.
32
Ai
Bi
1
3
2
Izquierda Derecha Certeza
A 1 12
A 2 5
B 3 10
Algoritmo PMF
 Fortalecer cada pareja basado en la gradiente de disparidad.
33
Ai
Bi
1
3
2
Izquierda Derecha Certeza
A 1 12
A 2 5
B 3 10
S=4
𝑆(𝑀, 𝑁𝑖) =
𝑆𝑡𝑟𝑒𝑛𝑔𝑡ℎ 𝑁𝑖
𝑆𝑒𝑝𝑎𝑟𝑎𝑡𝑖𝑜𝑛 𝑀, 𝑁𝑖
M
N
𝑆 𝑀, 𝑁𝑖 =
10
4
=2.5
=14.5
=13
Dense algorithms
 Calcular la disparidad para cada píxel.
 Al final obtenemos una imagen llamada Disparity Space Image(DSI)
el cual es una función de (x, y, d)
 Algunos lo calculan como P(d|x,y)
34
A Progressive Scheme-Zhang and
Shan
 Los píxeles en la imagen izquierda se pueden etiquetar como: Matched,
Unknown, NoMatch. Todos comienzan como Unknown.
 Calcular las características de cada imagen y relacionarlas. Algunos
píxeles serán etiquetados como Matched.
35
A Progressive Scheme-Zhang and
Shan
 Para cada píxel izquierdo etiquetado como Unknown: Obtener la
lista de píxeles candidatos de la imagen derecha, es decir, aquellos
que satisfacen la línea epipolar y la gradiente de disparidad
basado en los “Matched”.
36
A Progressive Scheme-Zhang and
Shan
 Calcular el coeficiente de correlación con cada píxel candidato.
37
Si solo hay un pico:
Relacionar ambos
píxeles y etiquetarlo
como Matched.
Si hay más de un
pico: No hay
suficiente
información aún, así
que se deja
Unknown.
Si no hay picos: No se
puede relacionar la
característica y se
etiqueta como
NoMatch.
Aplicaciones 38
Más de dos imágenes… 39
Recursos
 Colección de libros sobre CV:
http://homepages.inf.ed.ac.uk/rbf/CVonline/books.htm
 Empresas que utilizan CV: http://www.cs.ubc.ca/~lowe/vision.html
 Recursos de todo tipo:
http://homepages.inf.ed.ac.uk/rbf/CVonline/
 Explicación interactiva sobre la geometría epipolar:
http://www.ai.sri.com/~luong/research/Meta3DViewer/EpipolarGeo
.html
 Contiene imágenes rectificadas con sus imágenes de disparidad
reales para probar tus algoritmos:
http://vision.middlebury.edu/stereo/
40
Dudas, comentarios…
 ricardo.8990@gmail.com
 Twitter: @ricardo_8990
Diapositivas:
http://www.slideshare.net/RicardoSnchezCastill/
¡Muchas Gracias!
41

Más contenido relacionado

La actualidad más candente

Controladores logicos programables
Controladores logicos programablesControladores logicos programables
Controladores logicos programablesdiiegollp
 
arrancadores y variadores de velocidad electrónicos
arrancadores y variadores de velocidad electrónicosarrancadores y variadores de velocidad electrónicos
arrancadores y variadores de velocidad electrónicosArturo Iglesias Castro
 
Generacion de Sistemas Operativos
Generacion de Sistemas OperativosGeneracion de Sistemas Operativos
Generacion de Sistemas OperativosFreddy Sinchi
 
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.Worköholics
 
Sistemas de Lazo Abierto y Lazo Cerrado
Sistemas de Lazo Abierto y Lazo CerradoSistemas de Lazo Abierto y Lazo Cerrado
Sistemas de Lazo Abierto y Lazo CerradoPablo Chiesa
 
Tarea Preguntas De Test Evaluacion De Aprendizaje
Tarea Preguntas De Test Evaluacion De AprendizajeTarea Preguntas De Test Evaluacion De Aprendizaje
Tarea Preguntas De Test Evaluacion De Aprendizajejuanjosecom
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapJuan Anaya
 
Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado  Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado Ramon Fernandez
 
Fire Bird
Fire BirdFire Bird
Fire Birdlejogu
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesWilfred Garcia Diomeda
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoMari Colmenares
 
Transformación bidimensional
Transformación bidimensionalTransformación bidimensional
Transformación bidimensionalAli_boss1234
 

La actualidad más candente (20)

Controladores logicos programables
Controladores logicos programablesControladores logicos programables
Controladores logicos programables
 
Ejemplos de lazo abierto
Ejemplos de lazo abiertoEjemplos de lazo abierto
Ejemplos de lazo abierto
 
arrancadores y variadores de velocidad electrónicos
arrancadores y variadores de velocidad electrónicosarrancadores y variadores de velocidad electrónicos
arrancadores y variadores de velocidad electrónicos
 
Paginacion
PaginacionPaginacion
Paginacion
 
Generacion de Sistemas Operativos
Generacion de Sistemas OperativosGeneracion de Sistemas Operativos
Generacion de Sistemas Operativos
 
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.
Diseño de interface para pantallas táctiles. Touch Design vs. Click Design.
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Sistemas de Lazo Abierto y Lazo Cerrado
Sistemas de Lazo Abierto y Lazo CerradoSistemas de Lazo Abierto y Lazo Cerrado
Sistemas de Lazo Abierto y Lazo Cerrado
 
Tarea Preguntas De Test Evaluacion De Aprendizaje
Tarea Preguntas De Test Evaluacion De AprendizajeTarea Preguntas De Test Evaluacion De Aprendizaje
Tarea Preguntas De Test Evaluacion De Aprendizaje
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molap
 
Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado  Escalado de señal analógica, formula para el calculo del escalado
Escalado de señal analógica, formula para el calculo del escalado
 
Fire Bird
Fire BirdFire Bird
Fire Bird
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 
Relacion uno a uno en base de datos
Relacion uno a uno en base de datosRelacion uno a uno en base de datos
Relacion uno a uno en base de datos
 
Festo 130108205435-phpapp01
Festo 130108205435-phpapp01Festo 130108205435-phpapp01
Festo 130108205435-phpapp01
 
Ppt sistemas control
Ppt sistemas controlPpt sistemas control
Ppt sistemas control
 
Modos direccionamiento
Modos direccionamientoModos direccionamiento
Modos direccionamiento
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempo
 
Memoria
MemoriaMemoria
Memoria
 
Transformación bidimensional
Transformación bidimensionalTransformación bidimensional
Transformación bidimensional
 

Similar a Vision artificial

Aplicaciones de las Operaciones por Pixeles.pdf
Aplicaciones de las Operaciones por Pixeles.pdfAplicaciones de las Operaciones por Pixeles.pdf
Aplicaciones de las Operaciones por Pixeles.pdfDavidFelipeOrtizLeon
 
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
Utp pdiva_lab6_procesamiento digital de imagenes con matlab ivjcbenitezp
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlabDiego Erazo
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dUDEC
 
Reconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalReconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalHugo Banda
 
Correciones radiometricas
Correciones radiometricasCorreciones radiometricas
Correciones radiometricasEDIER AVILA
 
Presentacion Tm
Presentacion TmPresentacion Tm
Presentacion Tmtmgrupo1
 
Utp 2014-1_pdi_cap1 introduccion a la va
 Utp 2014-1_pdi_cap1 introduccion a la va Utp 2014-1_pdi_cap1 introduccion a la va
Utp 2014-1_pdi_cap1 introduccion a la vac09271
 
Detecciónde bordes canny
Detecciónde bordes cannyDetecciónde bordes canny
Detecciónde bordes cannyc09271
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2jcbp_peru
 
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
Utp pd_iy_va_sap3 operaciones, transformaciones y conversionesjcbp_peru
 
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
Utp pd_iy_va_sap3 operaciones, transformaciones y conversionesjcbp_peru
 

Similar a Vision artificial (20)

Aplicaciones de las Operaciones por Pixeles.pdf
Aplicaciones de las Operaciones por Pixeles.pdfAplicaciones de las Operaciones por Pixeles.pdf
Aplicaciones de las Operaciones por Pixeles.pdf
 
Tema4
Tema4Tema4
Tema4
 
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenes
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlab
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 d
 
Reconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalReconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronal
 
Correciones radiometricas
Correciones radiometricasCorreciones radiometricas
Correciones radiometricas
 
Taller segmentacion
Taller segmentacionTaller segmentacion
Taller segmentacion
 
Presentacion Tm
Presentacion TmPresentacion Tm
Presentacion Tm
 
Algo de filtros
Algo de filtros Algo de filtros
Algo de filtros
 
Utp 2014-1_pdi_cap1 introduccion a la va
 Utp 2014-1_pdi_cap1 introduccion a la va Utp 2014-1_pdi_cap1 introduccion a la va
Utp 2014-1_pdi_cap1 introduccion a la va
 
Detecciónde bordes canny
Detecciónde bordes cannyDetecciónde bordes canny
Detecciónde bordes canny
 
Reconocimiento del iris
Reconocimiento del irisReconocimiento del iris
Reconocimiento del iris
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
Utp pd_iy_va_sap3 operaciones, transformaciones y conversiones
 
Pdi03
Pdi03Pdi03
Pdi03
 
Pdi03
Pdi03Pdi03
Pdi03
 
Segmentacion mathlab
Segmentacion mathlabSegmentacion mathlab
Segmentacion mathlab
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

Vision artificial

  • 2. ¿Qué es la visión artificial? Cuatro términos son usados frecuentemente:  Procesamiento de imágenes  Análisis de imágenes  Gráficos por computadora  Visión por computadora (Visión artificial) 2
  • 3. Adquisición de imágenes 3 Representación digital de lo observado 123 43 76 93 245 43 64 75 34 56 76 34 23 65 34 23 76 34 23 123 43 76 93 245 43 64 75 34 56 76 34 23 65 34 23 76 34 23 123 43 76 93 245 43 64 75 34 56 76 34 23 65 34 23 76 34 23
  • 4. Procesamiento de Imágenes  Reducción de ruido, suavizado, contraste, cambio de apariencia, etc.. 4
  • 5. Análisis de Imágenes Obtener medidas cuantitativas a partir de una imagen. 5
  • 6. Gráficos por computadora Crear imágenes a partir de modelos de objetos  Modelado  Iluminación  Textura  Animación  Proyección 6
  • 7. Visión artificial Invertir el proceso de formación de una imagen para obtener información acerca del mundo observado. Algunos problemas son:  Detección de características  Detección y reconocimiento de objetos  Obtener un modelo 3D a partir de imágenes  Seguimiento y análisis de movimiento  Reconocimiento de eventos 7
  • 8. ¿Porqué es tan difícil? Un problema similar a la Ingeniería Inversa. Cada píxel de una imagen es una función de:  Reflectividad del objeto observado.  La forma del objeto.  Condiciones de iluminación.  El ángulo desde donde se observa. La visión biológica invierte esa función muy fácil aparentemente. 8
  • 9. El problema No hay suficiente información en la imagen que nos permita reconstruir el ambiente observado. A partir de 3 o 4 números enteros (RGB) ¿Cómo obtener la posición en 3D, la forma, reflectividad, color, textura? 9
  • 13. Detección de características  Aplicar una función a un conjunto de píxeles  Elegir aquellos que tengan el valor más alto  Describirlos de alguna forma  Tenemos menor cantidad de datos, pero más estables y con más información. Características:  Sin variación  Únicas 13
  • 16. Bordes 16 Detección de bordes por método de Canny
  • 18. SIFT (Scale Invariant Feature Transform)  Rápido y eficiente, puede incluso ejecutarse en tiempo real.  Soporta cambios en la perspectiva de hasta 60 grados.  Cambios significativos en la iluminación. 18
  • 20. Correspondencia estéreo Encontrar la correspondencia entre píxeles o características en 2 o más imágenes y convertir sus posiciones 2D en profundidades 3D 20
  • 21. Correspondencia Se utiliza triangulación para recuperar la profundidad 21 Requiere: • Conocer la geometría del ambiente y la cámara • Realizar la correspondencia entre cada punto
  • 22. ¿Porqué es difícil?  Ambigüedad al realizar la correspondencia entre puntos y variación en la apariencia de las características.  Necesitamos hacer asunciones acercar del ambiente. 22 1 2 1 2 3 4 4 3
  • 23. Plano epipolar Geometría Epipolar 23 Línea Epipolar Línea Epipolar
  • 24. Rectificación 24 La geometría epipolar y rectificación reducen el problema de correspondencia a una sola dimensión.
  • 25. Disparidad y profundidad Disparidad es la diferencia entre dos puntos correspondientes en cada imagen. 25 𝐻 = (𝑥 𝑟 − 𝑥𝑙)
  • 26. Disparidad y profundidad 26 Z X f f I 𝑥𝑙 𝑥 𝑟 P(X,Y,Z) 𝑥𝑙 𝑓 = 𝑋 𝑍 ⇒ 𝑥𝑙 = 𝑓𝑋 𝑍 𝑥 𝑟 𝑓 = 𝑋 − 𝑙 𝑍 ⇒ 𝑥 𝑟 = 𝑓 ∗ 𝑋 − 𝑙 𝑍 𝑥 𝑟 − 𝑥𝑙 = 𝑓 ∗ 𝑋 − 𝑋 − 𝑙 𝑍 = 𝑓𝑙 𝑍 𝑍 = 𝑓𝑙 𝐻
  • 27. Procedimiento básico Existen muchos algoritmos, pero la mayoría sigue el siguiente proceso:  Calibrar cámaras  Rectificar imágenes  Correspondencia  Estimar profundidad Rectificación y profundidad se consideran resueltos. Calibración tiene algunas investigaciones. Correspondencia es el principal problema 27
  • 28. Correspondencia estéreo Dos métodos principalmente:  Sparse algorithms  PMF algorithm  Dense algorithms  Zhang and Shan algorithm (A Progressive Scheme) 28
  • 29. Sparse algorithms  Obtener las características de una imagen (bordes, esquinas, SURF, etc.) y realizar la correspondencia en base a una función. ¿Cómo asegurarse de que un par de características efectivamente corresponden una a la otra? 29
  • 30. Gradiente de disparidad Dos características no deberían de ser aceptadas si la gradiente de disparidad es mayor que cierto valor… Estudios demuestran que este límite es 1.0 en los humanos* 30 *Burt and Julesz, A Disparity Gradient Limit for Binocular Fusion, Perception, 1980. Ai Bi A B Ar Br S(A,B) 𝐷 𝐴, 𝐵 = 𝑥𝑙 − 𝑥 𝑟 Γ 𝐴, 𝐵 = 𝐷 𝐴, 𝐵 𝑆 𝐴, 𝐵 𝑥𝑙 𝑥 𝑟
  • 31. Algoritmo PMF  Obtener las características de cada imagen 31 Ai Bi 1 3 2
  • 32. Algoritmo PMF  Calcular la correspondencia y relacionar cada característica con cierto valor de certeza. 32 Ai Bi 1 3 2 Izquierda Derecha Certeza A 1 12 A 2 5 B 3 10
  • 33. Algoritmo PMF  Fortalecer cada pareja basado en la gradiente de disparidad. 33 Ai Bi 1 3 2 Izquierda Derecha Certeza A 1 12 A 2 5 B 3 10 S=4 𝑆(𝑀, 𝑁𝑖) = 𝑆𝑡𝑟𝑒𝑛𝑔𝑡ℎ 𝑁𝑖 𝑆𝑒𝑝𝑎𝑟𝑎𝑡𝑖𝑜𝑛 𝑀, 𝑁𝑖 M N 𝑆 𝑀, 𝑁𝑖 = 10 4 =2.5 =14.5 =13
  • 34. Dense algorithms  Calcular la disparidad para cada píxel.  Al final obtenemos una imagen llamada Disparity Space Image(DSI) el cual es una función de (x, y, d)  Algunos lo calculan como P(d|x,y) 34
  • 35. A Progressive Scheme-Zhang and Shan  Los píxeles en la imagen izquierda se pueden etiquetar como: Matched, Unknown, NoMatch. Todos comienzan como Unknown.  Calcular las características de cada imagen y relacionarlas. Algunos píxeles serán etiquetados como Matched. 35
  • 36. A Progressive Scheme-Zhang and Shan  Para cada píxel izquierdo etiquetado como Unknown: Obtener la lista de píxeles candidatos de la imagen derecha, es decir, aquellos que satisfacen la línea epipolar y la gradiente de disparidad basado en los “Matched”. 36
  • 37. A Progressive Scheme-Zhang and Shan  Calcular el coeficiente de correlación con cada píxel candidato. 37 Si solo hay un pico: Relacionar ambos píxeles y etiquetarlo como Matched. Si hay más de un pico: No hay suficiente información aún, así que se deja Unknown. Si no hay picos: No se puede relacionar la característica y se etiqueta como NoMatch.
  • 39. Más de dos imágenes… 39
  • 40. Recursos  Colección de libros sobre CV: http://homepages.inf.ed.ac.uk/rbf/CVonline/books.htm  Empresas que utilizan CV: http://www.cs.ubc.ca/~lowe/vision.html  Recursos de todo tipo: http://homepages.inf.ed.ac.uk/rbf/CVonline/  Explicación interactiva sobre la geometría epipolar: http://www.ai.sri.com/~luong/research/Meta3DViewer/EpipolarGeo .html  Contiene imágenes rectificadas con sus imágenes de disparidad reales para probar tus algoritmos: http://vision.middlebury.edu/stereo/ 40
  • 41. Dudas, comentarios…  ricardo.8990@gmail.com  Twitter: @ricardo_8990 Diapositivas: http://www.slideshare.net/RicardoSnchezCastill/ ¡Muchas Gracias! 41

Notas del editor

  1. Tratamos de recuperar una cantidad desconocida de información insuficiente para dar una solución completamente satisfactoria.
  2. La correspondencia puede ser a través de: Similitud: Orientación similar, ángulo, color, etc. Única: Las características son correspondidas en una relación uno a uno. Continuas: La diferencia entre características a lo largo de la línea epipolar debería ser muy pequeña.