2. Introducción
Proyecto desarrollado dentro del proyecto
ITVnet.
◦ Trata de un recomendador de vídeos vía PC,
android o hbbtv.
◦ Extrae las características del vídeo a partir de la
detección y te recomienda los vídeos relacionados.
Han colaborado el grupo UGIVIA junto con el
grupo LTIM de DMI de la UIB.
4. Detección de Caras
Clasificadores cascada Haar de OpenCV.
◦ Devuelve 1 si es cara
◦ Devuelve 0 en caso
contrario
Eliminar falsos
positivos.
◦ Rango de color de la
piel.
Cara detectada.
◦ Limitar la zona de la
persona.
5. Detección de Caras
Rango de Color de la piel
Representación HSI.
• H (Hue): tono del color
• S (Saturación): apagado o vivo
• I (Intensitat): claro u oscuro (prescindible)
◦ Aprendizaje de los colores
con el algoritmo AdaBoost
con 1000 cares y 1284 no
cares.
6. Algoritmo PCA
Detección de caras:
◦ Conjunto de imágenes de
entrenamiento Im.
m: nº de imagen
Cada imagen detectada
Im, representada como
un vector Ƭm.
7. Algoritmo PCA
La cara promedio (vector ψ)
1
K
◦ K es el nº total de imágenes.
m
m 1
Normaliza: Resta cada imagen del entrenamiento
con la cara promedio.
m
K
m
Matriz de Covarianza
C
T
A
A· A
(matriz NxN)
¡No práctico!
1
2
m
m Columnas = m imágenes
N Filas:
w*h
8. Algoritmo PCA
Matriz de Covarianza
◦ Si m<N considera
(matriz mxm)
Extraer los vectores propios (eigenfaces) y valores
propios de mayor peso de la matriz de covarianza.
m Eigenfaces
AT · A
C
Se obtiene el patrón:
(u1...um )
T
w1
donde wm
w2 wm
T
um
m
9. Identificación
Extraer un patrón para cada individuo y crear una
base de datos.
Realizar el mismo proceso para la nueva imagen.
Calcular la distancia entre la imagen a detectar y las
imágenes de la base de datos.
Seleccionar la imagen de la base de datos que más se
aproxima a la nueva imagen.
min
2
m
Si la distancia ϵ es inferior a un umbral asignado se
reconoce al individuo.
10. Resultados
<?xml version="1.0"?>
<Faces>
<Segment>
<Person id = "programacion">
<MediaTime>
<MediaTimePoint>T00:00:13</MediaTimePoint>
<MediaDuration>PT14S</MediaDuration>
</MediaTime>
<Segment/>
<Segment>
<Person id = "programacion">
<MediaTime>
<MediaTimePoint>T00:01:07</MediaTimePoint>
<MediaDuration>PT54S</MediaDuration>
</MediaTime>
<Segment/>
<Segment>
<Person id = "programacion">
<MediaTime>
<MediaTimePoint>T00:02:28</MediaTimePoint>
<MediaDuration>PT27S</MediaDuration>
</MediaTime>
<Segment/>
<Faces/>
Pruebas con 13 videos:
Aciertos
10
Fallos
3
77% de aciertos.
Causa de errores:
• El individuo tiene la
cara de perfil.
Si el conjunto de caras
esta bien alineado, con
caras frontales 90.1%
de aciertos
11. Detección de texto
Librería OCR tesseract.
◦ Mejor detección si extraemos una subimagen ajustada del
texto.
Dificultad: no existe un modelo estándar de
transparencias.
12. Detección de texto
Solución
◦
◦
◦
◦
Estandarizar el tamaño del video.
Convertir a una imagen binaria.
Contar número de píxeles blancos.
Hallar el umbral. Cada umbral representa un estilo
de transparencia.
Detección de títulos
◦ proyección horizontal para determinar la zona.
El título se localiza entre las primeras sumas.
14. Detección de texto
Observaciones
Tipo de letra
Letra negra sobre fondo claro
≥ 16 (detección óptima)
< 16 (confunde letras)
Letra blanca sobre fondo
oscuro
≥ 18 en mayúsculas
(detección óptima)
Letra muy grande
Tamaño de letra
≥ 18 en mayúsculas
(detección óptima)
Mejores detecciones:
◦ Letra negra sobre fondo claro.
15. Detección de texto
Normalización del tamaño de texto
◦ Calcular el tamaño de letra.
Si es menor a 16 agrandarla mediante una
interpolación bicúbica.
◦ Normalizar todos los textos a letra negra sobre
fondo blanco.
Convertir imagen a binaria.
Sea Pb número total de píxeles blancos.
Sea Pn número total de píxeles negros.
Si Pn > Pb se invierte los colores de la imagen
binaria.
18. Conclusiones y Trabajos Futuros
Se ha presentado un sistema óptimo.
Reconoce el 90.1% de individuos en caso de que todas las
imágenes sean frontales y el 92.77% de texto.
Se propone mejorar:
◦ El reconocimiento facial con nuevos sistema basados en
RNA, LDA.
◦ Aplicar un analizador sintáctico en el OCR
◦ Comparar con otro OCR comercial
◦ Realizar nuevas pruebas