El reconocimiento de objetos en imágenes es un tema de alto interés científico y práctico. En aplicaciones de interfaz humano-computador, vigilancia, robótica, entre otros, el módulo principal de procesamiento se compone de un identificador de los objetos de interés dentro de la escena, para que un algoritmo pueda razonar y ejecutar acciones útiles dependiendo de los objetos encontrados. Siendo un campo abierto en visión por computador, ha sido abordado en general por enfoques holísticos, donde se describe a la imagen completa, o en esquemas basado en pequeñas partes, ambos exitosos dependiendo de dónde sean aplicados, pero con problemas en imágenes más desafiantes. Se presenta un método que une las bondades de ambos enfoques, basado en técnicas de aprendizaje de máquina, donde en forma conjunta se encuentran las partes relevantes de las imágenes y cómo usar estas partes para conformar un clasificador de objetos a un nivel más alto.
1. Pontificia Universidad Católica de Chile
Departamento de Ciencias de la Computación
CLASIFICACIÓN JERÁRQUICA DE
IMÁGENES
Iván Lillo Vallés
Profesores supervisores: Domingo Mery – Álvaro Soto
Viernes 28 de septiembre de 2012
1
8. Aprendizaje de máquina
(Machine Learning)
Algoritmo de aprendizaje
BD
• Sesgo – conocimiento previo Tarea
entrenamiento
• Espacio de hipótesis
• Esquema de búsqueda
Evaluación
8
9. Aprendizaje de máquina
(Machine Learning)
Algoritmo de aprendizaje
• Sesgo – conocimiento previo
• Espacio de hipótesis
• Esquema de búsqueda
Sesgo Esquema de búsqueda
Espacio de hipótesis
• Descripción • Optimización
• Cómo uso los datos
• Esquema • Exhaustiva
• Esquema de clasificador
• Relaciones • Greedy
9
10. Aprendizaje de máquina
(Machine Learning)
Sesgo
Detección de personas
• Descripción
• Esquema HoG denso, con traslape (holístico)
• Relaciones
Dalal & Triggs, CVPR 2005
10
11. Aprendizaje de máquina
(Machine Learning)
Sesgo
Detección de personas
• Descripción
• Esquema
Partes con patrones repetitivos: Poselets
• Relaciones
Bourdev et al, ECCV 2009
11
12. Aprendizaje de máquina
(Machine Learning)
Sesgo
Detección de objetos
• Descripción
• Esquema Información característica: objeto + pocas
• Relaciones partes : Object detector de Felzenszwalb
Felzenszwalb et al, 2010
12
13. Aprendizaje de máquina
(Machine Learning)
Sesgo
Clasificación de escenas
• Descripción
Información característica: pequeñas partes
• Esquema
(patrones) repetitivos en las imágenes
• Relaciones
(diccionario visual)
13
14. Aprendizaje de máquina
(Machine Learning)
Sesgo
Clasificación de escenas
• Descripción
Información característica: pequeñas partes
• Esquema
(patrones) repetitivos en las imágenes
• Relaciones
(diccionario visual)
14
15. Aprendizaje de máquina
(Machine Learning)
Espacio de hipótesis
• Cómo uso los datos MODELO
• Esquema de clasificador
Lineales
No
lineales
Árboles
Redes
neuronales
FUNCIÓN X Y
15
16. Aprendizaje de máquina
(Machine Learning)
Algoritmo de aprendizaje
BD
• Sesgo – conocimiento previo Tarea
entrenamiento
• Espacio de hipótesis
• Esquema de búsqueda
Evaluación
16
19. PROBLEMAS
Modelos de partes Anotaciones (poselets)
Sesgo (object detector Felzenszwalb)
Disjunción partes/clasificación
19
20. ¿Es posible encontrar partes sin
supervisión y que sean discriminativas?
Sin anotaciones
Útiles para clasificar
Sin sesgo que limite la búsqueda
Aprendizaje conjunto
20
22. Aprendizaje conjunto
PARTES CLASIFICADORES
CONSIDERANDO LAS PARTES
Regiones de imagen
Clasificadores Puntaje (score)
Multiescala
lineales por cada región
Formas
22
23. Aprendizaje conjunto
PARTES CLASIFICADORES
CONSIDERANDO LAS PARTES
Puntaje (score) Asignaciones de
para la imagen cada región
23
24. Imagen Regiones Vectores
N regiones fi describe región i
i = 1,…, N
24
25. K partes
K clasificadores lineales (vectores) w
Región i asignación zi 1,..., K
L categorías
L clasificadores lineales (vectores)
Descriptor: histograma de asignaciones h( z )
Asignaciones unen partes y categorías
25
26. Definición de energía (score) por imagen
Score clasificador Score partes contenidas
E° configuración = imagen + en imagen
N
E x, y, z αT h z
y z
wTi fi
i 1
Asignaciones Descriptor
Imagen Histograma región i
Clasificador asignaciones Clasificador
Categoría categoría asignación zi
26
27. N
E x, y, z αT h z
y z
wTi fi
i 1
Tarea
E° configuración E° configuración
correcta > incorrecta
E x j , y j , z j E x j , yi , zi , i j
27
28. E x j , y j , z j E x j , yi , zi , i j
Búsqueda de parámetros optimización
L K M
1 α l 2 w k 3 j
2 2
min 2 2
l 1 k 1 j 1
sujeto a
E x j , y j , z j E x j , yi , zi 0 y j , yi , zi j
i j , j 0
28
29. Datos de entrada
M imágenes (xj ,yj), j = 1,…,M
Nj parches por imagen
Se busca
l, l = 1,…,L
wk, k = 1,…,K
zj, j = 1,…,M
29
30. Inferencia
Dada imagen x, inferir categoría
N
T
y , zi arg max yk w k fi
* *
k 1,..., K i 1
y 1,..., L
30
31. Estimación inicial w0 , z0
Estimación de parámetros
Estimación |w, z
Actualizo z| ,w
Actualizo w| ,z
N
E x, y, z αT h z w Ti fi
y z
i 1
31
32. Estimación de parámetros
Estimación |w, z
L M
1 α l 3 j
2
min 2
l 1 j 1
sujeto a
E x j , y j , z j E x j , yi , zi y j , yi , zi j i j , j 0
32
33. Estimación de parámetros
Actualizo z| ,w
N
E x, y, z α h z w Ti fi
T
y z
i 1
N
T
zi arg max ys w s fi
*
s 1,..., K i 1
33
34. Estimación de parámetros
Actualizo w| ,z
K M
2 w k 3 j
2
min 2
k 1 j 1
sujeto a
E x j , y j , z j E x j , yi , zi y j , yi , zi j i j , j 0
34
46. Mejorar modelo
Nivel intermedio jerarquía partes/objetos
Planteamiento y resolución
Partes variables, multiescala
Nuevas pruebas y bases de datos
Publicar
46
48. Esquema jerárquico
posee ventajas
Aprender partes
discriminativas
Necesidad: mejores
formulaciones y
procedimientos
Por mejorar: overfitting
48
Notas del editor
Presentarse, dar gracias.
Me voy a saltar todas las fuentes posibles de imágenes (fotografía, RX, NIR, ondas acusticas, etc).Resuelve problemas de:control de calidad (alimentos, autos, piezas mecánicas, IC)Vigilancianavegación robótica, o simplemente para mejorar procesos.Interacción humano-computadorDiversión El tema de visión por computador es uno de los más interesantes. Sabemos que tiene solución (vision humana), pero hasta ahora no sabemos el “cómo”.
Aplicaciones exitosas a lo largo de la historiaHuella digital, sigue siendo el estándar de IDCódigos QR, cada vez más usados, realidad extendidaTAG, para los que tienen autoKinect, ¿Diversión? una buena parte de orales CVPR 2012 son aplicaciones con KinectEn general son bien estructuradas, con un buen entrenamiento es posible tener muy buenos rendimientos.
Otras aplicaciones menos estructuradas basados en aprendizaje de máquina. Cambia el paradigma: de la predicción a la inferencia.Con muchas imágenes de entrenamiento, la idea es que un algoritmo aprenda cuál es y cómo usar la información relevante de las imágenes, para detección y clasificación. Los ejemplos muestran algoritmos “exitosos” como el detector de objetos de Felzenszwalb y Viola & Jones.
Algoritmo de aprendizaje como funcion
Modelo será la función escondida en los datos que queremos conocer.Algoritmo de aprendizaje como funcion
Enfatizar tarea y Evaluación, redondear la idea del aprendizaje de máquina.
Hay ejemplos de estructurado y no estructurado (store o tienda)
- Anotaciones son un problema -> bases de datos no anotadas son mucho másquelasanotadas, HH.Sesgo en object detector estarelacionado a que son pocaspartes y todasaparecen en la imagen (según un score) y un modelo de distancias entre laspartes (estrella). En general descrubrirpartes no tienerelación con el clasificador. Puedoencontrarmuybuenaspartespero son irrelevantespararealizar la clasificación.Partes son fijaspara el clasificador, vienenyaentrenadas (en general, exceptopara object detector).