escuela técnica superior de ingeniería informática máster...

58

Upload: hanga

Post on 20-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Escuela Técnica Superior de Ingeniería Informática

Máster en Matemática Computacional

TRABAJO DE FIN DE MÁSTER

Videovigilancia y privacidad. La ocultación del rostro en vídeo para el

cumplimiento del derecho a la intimidad

Autor:

Antonio Gutiérrez del Valle

Tutora:

María José Jiménez Rodríguez

JUNIO

Curso 2010 - 2011

Page 2: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso
Page 3: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Índice general

1. Introducción 1

2. Seguimiento humano. Algoritmos 5

3. Procesamiento. Ocultación para cumplimiento de priva-

cidad 13

4. Experimentación. Uso en tiempo real 19

5. Conclusiones 39

Bibliografía 46

Page 4: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso
Page 5: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Índice de �guras

1. Diagrama de procesos para la ocultación de caras . . . . 20

2. Detección de la parte superior del cuerpo y seguimiento . 33

3. Detección del cuerpo completo por no reconocimiento de

cara y parte superior . . . . . . . . . . . . . . . . . . . . 34

4. Error en la detección del cuerpo de una persona . . . . . 35

5. Sustracción incorrecta del fondo de la escena . . . . . . . 35

6. Correcta detección pero problema en el seguimiento con

CAMShift . . . . . . . . . . . . . . . . . . . . . . . . . . 36

7. Detección errónea de la parte superior del cuerpo . . . . 37

Page 6: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso
Page 7: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Índice de algoritmos

1. Código principal de ocultacion_caras . . . . . . . . . . . 21

2. Código principal de ocultacion_caras (Continuación) . . 22

3. Sustracción del fondo . . . . . . . . . . . . . . . . . . . . 23

4. Eliminación de regiones de interés en la sustracción del

fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5. Clase componente_conexa . . . . . . . . . . . . . . . . . 24

6. Búsqueda de componentes conexas cuyo contorno supera

una cota mínima . . . . . . . . . . . . . . . . . . . . . . 25

7. Clase deteccion_roi . . . . . . . . . . . . . . . . . . . . . 26

8. Carga de descriptores para la detección de caras . . . . . 27

9. Procesamiento para la detección de caras . . . . . . . . . 28

10. Consideración de las regiones con caras . . . . . . . . . . 28

11. Clase seguimiento_roi . . . . . . . . . . . . . . . . . . . 29

12. Procesamiento previo al seguimiento de caras . . . . . . 30

13. Seguimiento de caras . . . . . . . . . . . . . . . . . . . . 30

Page 8: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso
Page 9: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Índice de cuadros

1. Tiempos de ejecución por cada subproceso en la ocultación

de caras . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Page 10: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso
Page 11: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Prólogo

Motivado por el uso masivo que se está realizando de los sistemas

de videovigilancia, se ha procedido a estudiar la legislación existente

relacionada con estos y su respeto a la intimidad de los individuos. Debido

a la falta de normativa especí�ca en algunos países y a la disparidad en

otros, la Unión Europea redacta la Carta para el Uso Democrático de

la Videovigilancia a través del Foro Europeo de Seguridad Urbana. En

España a igual que en otros países, la legislación existente en el ámbito

de la videovigilancia en lugares públicos, limita el derecho a la intimidad

en favor de mejorar la seguridad pública.

Desde aquí se pretende demostrar que es viable compatibilizar la

videovigilancia con el respeto a la intimidad de los individuos, fomentado

la innovación e investigación de algoritmos de procesamiento de imagen

y vídeo que impidan el reconocimiento de las personas. Los procesos para

evitar el reconocimiento de personas deberían ser aplicados durante el

visionado de las cámaras en los CCTV. Los vídeos capturados a través

de sistemas de videovigilancia sólo deberían visionados al completo bajo

el permiso del poder judicial.

A través del artículo Protecting Personal Identi�cation in Video, D.

Chen, Y. Chang, R. Yan y J. Yang proponen dos soluciones que permitan

a los sistemas de videovigilancia respetar la privacidad de las personas.

Siguiendo una de las líneas planteadas en este artículo, se ha elaborado

un algoritmo para automatizar la ocultación de caras y cuerpos mediante

i

Page 12: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Prólogo

el emborronamiento de aquellas regiones en las que se hayan detectados.

Antes de profundizar en este algoritmo se procede a exponer los distintos

aspectos relacionados con el seguimiento de objetos, así como los algorit-

mos utilizados en la aplicación de esta técnica de visión por ordenador.

Esta visión general ha facilitado la elección del método de seguimiento

del objeto, el cual tiene como requisito la ejecución de éste en tiempo

real.

El uso del algoritmo en tiempo real obliga a que los métodos de sus-

tracción de fondo, segmentación, detección de caras y seguimiento se

sincronicen de forma que se reduzcan los tiempos de ejecución. Por ello

se ha seleccionado una mezcla de distribuciones de Gauss para la sustrac-

ción de fondo, los algoritmos de Viola-Janes y Histograma de Gradientes

Orientados para la detección de caras sobre regiones segmentadas pre-

viamente, y el método CAMShift para el seguimiento de éstas. La im-

plementación de este algoritmo se ha realizado en C++ haciéndose uso

de la librería de visión por ordenador OpenCV en su versión 2.2. Por

último, para conocer la e�cacia y e�ciencia de la aplicación desarrollada

se ha ejecutado una batería de pruebas con vídeos descargados de las

bases de datos CANTATA y VISOR.

ii

Page 13: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Capítulo 1

Introducción

El Foro Europeo para la Seguridad Urbana1 [17] promueve el uso

de la videovigilancia para reducir la delincuencia que se produce actual-

mente en las ciudades. A través de este foro se pretende analizas las

implicaciones que conlleva el uso de los circuitos cerrados de televisión

CCTV para mejorar la seguridad en las ciudades. Adicionalmente, se

han intentado de�nir buenas prácticas que contemplen el derecho a la

privacidad del individuo, las cuales han sido reunidas en la Carta para

el Uso Democrático de la Videovigilancia2.

El objetivo primordial de este proyecto europeo es alcanzar unos ni-

veles de seguridad mínimo en la convivencia entre los ciudadanos. Se

podría plantear como una primera solución para alcanzar este objetivo

el ampliar las fuerzas de seguridad existentes. Este aumento de personal

en los cuerpos de seguridad, para que sea posible dar un servicio de 24

horas durante los 365 del año, conllevaría un coste que sería insostenible

1http://efus.eu/es2http://cctvcharter.eu/index.php?id=31768&L=npelewqurwccxuc

1

Page 14: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Introducción

para un país. Es por ello por lo que se plantea como solución alternativa

la implantación de sistemas de videovigilancia.

En cualquier caso, no se debe olvidar la legislación que existe a favor

de respetar los derechos fundamentales de los individuos. Actualmente,

el derecho a la intimidad se recoge en normativas especi�cas de cada uno

de los países, ya sea a través de su ley fundamental o mediante desarrollos

normativos especí�cos. Lo que si tienen en común, desde el punto de vista

de la videovigilancia, es que las normativas que existe en la actualidad

no respeta el derecho a la privacidad de las personas bajo determinadas

circunstancias. Si nos centramos en España, la Ley Orgánica 4/1997 [4]

da vía libre al uso de videocámaras en lugares públicos, quedando al

descubierto el derecho a la intimidad bajo determinados condicionantes

establecidos en la normativa.

A pesar de toda la regulación y el uso de medios tecnológicos, el éxito

de la videovigilancia está cuestionada. Esto se debe a casos conocidos en

los cuales el funcionamiento del sistema no ha sido el esperado. Uno de los

casos es el atentado de Londres de 2005 en el cual, a pesar de la cantidad

de videocámaras implantadas en la ciudad, no fue posible la detección

precoz de los actos terroristas. Es más, debido a la baja calidad de la

imagen no fue posible el reconocimiento de la identidad de las personas

que acometieron el atentado. En cambio, la implantación de sistemas de

videovigilancia provoca una reducción en la delincuencia premeditada.

Pero, por ejemplo, está reducción se puede alcanzar igualmente con la

mejora en la iluminación de las vías públicas.

Esto debería servir para replantearse qué habría que mejorar en los

2

Page 15: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

sistemas actuales de videovigilancia, teniendo como objetivo la detec-

ción precoz del delito así como la persona que lo lleve a cabo. Esto se

podría alcanzar fomentando la innovación e investigación tecnológica en

el ámbito de la visión por ordenador y reconocimiento de patrones. Sería

interesante que parte de los esfuerzos llevados a cabo para mejorar los

algoritmos de procesamiento de vídeo digital, estén orientados al cum-

plimiento de los derechos fundamentales del individuo. Igualmente, no

deberían descartarse aquellos esfuerzos que permitan la detección precoz

de posibles actividades relacionadas con la delincuencia.

El derecho a la intimidad se podría cumplir mediante la aplicación

de algún tipo de máscara sobre las personas visionadas en un CCTV, de

manera que se impida el reconocimiento de éstas. Siguiendo esta línea, el

artículo Protecting Personal Identi�cation Video [5] propone dos solucio-

nes para conservar la privacidad, siendo usada la primera de ellas como

base para este trabajo. En el siguiente capítulo se intenta dar una visión

general [22] sobre la técnica de seguimiento de objetos. Tras revisar los

distintos aspectos a tener en cuenta a la hora de aplicar esta técnica, se

plantean diversos esquemas que puedan servir de base para el desarro-

llo de algoritmos orientados al seguimiento de personas en tiempo real.

Finalmente se muestra una aplicación práctica desarrollada en base a lo

visto previamente, junto con los resultados de interés obtenidos a partir

de la experimentación realizada con diversos vídeos.

3

Page 16: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Introducción

4

Page 17: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Capítulo 2

Seguimiento humano.Algoritmos

Una técnica muy usada en la visión por ordenador corresponde al

seguimiento de objetos, dentro del cual encaja el seguimiento humano.

En la literatura se puede encontrar mucha documentación relacionada

con esta técnica, por ello este capítulo intenta hacer un resumen de los

distintos aspectos relacionados con el seguimiento. El seguimiento de

objetos normalmente forma parte un proceso más global consistente en:

1. Detección del objeto de interés en movimiento.

2. Seguimiento de los objetos detectados entre fotogramas.

3. Análisis de los objetos seguidos para reconocer su comportamiento.

La diversidad de aplicaciones que permite el seguimiento de objetos in-

crementa el interés sobre esta técnica. Entre otras, se pueden destacar

las siguientes aplicaciones:

Reconocimiento basado en el movimiento.

Vigilancia automatizada.

5

Page 18: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Seguimiento humano. Algoritmos

Indexación de vídeo.

Interacción hombre-máquina.

Monitorización del trá�co.

Navegación de vehículos.

El objetivo de esta técnica es estimar la trayectoria de un objeto dentro

del plano de una imagen en movimiento. Para lo cual, el observador

etiqueta el objeto de interés en los distintos fotogramas del vídeo. Además

se puede ampliar la información asociada al movimiento del objeto de

forma que se mejore el proceso de seguimiento. El alcanzar el objetivo de

seguir el objeto de interés puede ser complejo debido a diverso motivos,

tales como:

Perdida de información en 2D.

Ruidos en imágenes.

Movimientos complejos.

Naturaleza articulada de objetos.

Oclusión parcial y total.

Formas complejas de los objetos.

Cambios de iluminación.

Requisitos de procesamiento en tiempo real.

6

Page 19: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Debido a ello, antes de aplicar la técnica de seguimiento es primordial

establecer restricciones sobre el movimiento o apariencia del objetos a la

hora de efectuar el seguimiento. Se considerará objeto todo aquello que

sea de interés para el análisis. Estos objetos podrán ser representados de

distintas formas:

Punto. Un punto representa el centro del objeto.

Forma geométrica. El objeto será representado mediante un rec-

tángulo, una elipse, u otras formas geométricas.

Silueta y contorno del objeto. El contorno del objeto representará

su frontera, mientras que el interior de éste corresponde a la silueta.

Modelado de formas articuladas. La representación del objeto se

efectuara mediante la unión de objetos articulados. Estos objetos

se representan mediante cilindros o elipses.

Modelado del esqueleto. El esqueleto de un objeto se obtiene a par-

tir del eje de su silueta. Esta representación se usa principalmente

para el reconocimiento.

Existen otros métodos de representación de la apariencia de los objetos,

no basadas en la forma de éstos, que pueden ser usados para llevar a

cabo el proceso de seguimiento. Algunas representaciones comunes en el

ámbito del seguimiento son:

Probabilidad de densidad de la apariencia del objeto.

Plantillas.

7

Page 20: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Seguimiento humano. Algoritmos

Modelo de apariencia activa.

Modelo de apariencia multi-vista.

La selección de la característica correcta para la aplicación del segui-

miento está relacionada con la representación del objeto. En general, se

pueden considerar las siguientes características a la hora de procesar el

seguimiento de objetos:

Color. Uso del espacio de color RGB o HSV.

Bordes. La frontera de los objetos provoca cambios de intensidad

en la imagen. Una buena propiedad de los bordes es su menor

sensibilidad a los cambios de iluminación.

Flujo óptico. Corresponde al campo de vectores de desplazamiento

que de�ne la traslación de cada píxel en una región. Se usa para

segmentación y seguimiento.

Textura. Medida de la variación de intensidad de una super�cie

que cuanti�ca propiedades como suavidad y regularidad.

Las características a seleccionar dependerán del dominio de aplicación.

Reciben especial atención los algoritmos que seleccionan la caracterís-

tica de manera automática. Estos se pueden agrupar en dos tipologías,

aquellos que seleccionan las características en base a un criterio general

(�ltro), y aquellos que seleccionan las características basado en el uso de

las características para un dominio especí�co del problema (envoltura).

Todo método de seguimiento se apoya en mecanismos de detección

del objeto por cada fotograma, o cuando el objeto aparezca por primera

8

Page 21: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

vez en el vídeo. Por lo que la detección se deberá realizar en cada uno de

los fotogramas, o usando la información temporal calculada a partir de

una secuencia de fotogramas que facilite reducir el número de detecciones

falsas. Se destacan los siguientes métodos de detección de objetos:

Detectores de puntos. Se usa para encontrar puntos de interés a

partir de texturas que sean destacables en zonas locales de la ima-

gen. Son invariantes a la iluminación y punto de vista de la cámara.

Sustracción del fondo. Consiste en una representación de la es-

cena que facilita la detección de objetos mediante el cálculo de

variaciones entre cada fotograma. Cualquier cambio en la imagen

corresponde a un objeto en movimiento.

Segmentación. Dividir la imagen en regiones similares. Se destacan

las siguientes técnicas de segmentación que son de interés para el

seguimiento:

• Mean-Shift Clustering.

• Segmentación mediante Graph-cuts.

• Contornos activos.

Aprendizaje asistido. La detección se puede realizar mediante apren-

dizaje de los objetos, efectuando la detección a través de plantillas.

Caben destacar las siguientes técnica dentro de este ámbito:

• Adaptive Boosting.

• Support Vector Machines.

9

Page 22: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Seguimiento humano. Algoritmos

El objetivo principal del seguimiento es conocer en todo momento la tra-

yectoria de un objeto a partir de la localización de este en cada uno de

los fotogramas del vídeo. Adicionalmente se puede obtener la región que

ocupa el objeto en cada instante de tiempo. El seguimiento puede ser

realizado mediante la detección inicial del objeto y entonces realizar el

seguimiento de éste, o mediante su localización en cada uno de los foto-

gramas del vídeo. Durante la ejecución del proceso de seguimiento, los

objetos se representarán mediante la forma o modelo de apariencia ante-

riormente descrito. El modelo de representación seleccionado limitará el

tipo de movimiento o deformación posible. A continuación enumeramos

los métodos de seguimiento más signi�cativos:

Seguimiento de punto. Se base en la representación del objecto co-

mo un punto, y su seguimiento se realiza a través de los distintos

fotogramas, asociando los puntos de un fotograma al siguiente. Su

principal problema se alcanza con la presencia de oclusiones, per-

dida en la detección, entrada y salida del objeto. Para dar solución

a este problema se usan métodos deterministas:

• Método determinista por correspondencia.

• Métodos estadístico por correspondencia.

• Estimación del estado de objeto simple. Cabe destacar los

métodos de Filtro de Kalman y Filtro de Partículas.

• Asociación de datos y estimación del estado de múltiples ob-

jetos.

10

Page 23: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Seguimiento de kernel. El kernel corresponde a la forma o aparien-

cia con la que se representa el objeto de interés. El movimiento

de estos objetos se obtiene mediante transformaciones paramétri-

ca como traslación, transformación y a�nes. El algoritmo a apli-

car dependerá de la apariencia de representación usada, pudiendo

corresponderse con plantillas, modelos de apariencia basados en

densidad, y modelos de apariencia multi-vista.

• Seguimiento mediante el uso de plantillas y modelos de apa-

riencia basados en densidad. A esta categoría corresponden

los algoritmos de CAMShift, y KLT.

• Seguimiento mediante el uso de modelos de apariencia multi-

vista. En esta categoría se recoge el algoritmo PCA (Principal

Component Analysis), y SVM (Support Vector Machine).

Seguimiento de silueta. Una vez que se determina la región del

objeto observado entonces se procede a su seguimiento mediante

estimación. Estos métodos usan la información recogida dentro de

la región interior del objeto. El seguimiento de la silueta se puede

acometer vía emparejamiento de formas o evolución del contorno.

• Emparejamiento de formas.

• Seguimiento de contorno.

11

Page 24: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Seguimiento humano. Algoritmos

12

Page 25: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Capítulo 3

Procesamiento. Ocultación para

cumplimiento de privacidad

Para dar solución al problema de privacidad, se propone la ocultación

de características físicas que faciliten el reconocimiento de las personas

[9, 14]. Se ha optado inicialmente por la aplicación de una máscara de

emborronamiento a las regiones donde se detecten caras de personas o

cuerpo según corresponda, para lo cual será necesario su detección y

seguimiento. En la literatura se han planteado distintas soluciones para

dar cobertura a la detección [15, 18, 3, 2] y seguimiento [13, 12, 21, 16]

de caras en tiempo real. Se presupone que las técnicas a aplicar estarán

acotadas por las restricciones del entorno a ser usadas. Debido a que se

busca un algoritmo que consiga la privacidad a nivel de videovigilancia,

se puede presuponer en primera instancia, que la escena será capturada a

partir de una cámara �ja y con unas condiciones de entornos estable. Una

aproximación inicial del algoritmo de ocultación podría ser el siguiente:

13

Page 26: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Procesamiento. Ocultación para cumplimiento de privacidad

Para cada fotograma de la captura de vídeo.

• Detección del patrón de cara o cuerpo como objeto de interés.

• Aplicación de máscara sobre los objetos de interés.

Este primer planteamiento puede dar lugar a alto costes de procesa-

miento, derivado de la complejidad de los algoritmos de detección de

cara. Gran parte del coste de procesamiento se deriva de la búsqueda

del patrón en la imagen al completo. Esto puede ser resuelto mediante

la técnica de segmentación, para lo que habrá que seleccionar una po-

sible característica para ello. Debido a que el interés va a recaer sobre

los movimientos producidos en la escena a vigilar, un buen método sería

el de sustracción del fondo. Este algoritmo segmenta aquellos objetos

que varían de un fotograma al anterior. Esto nos da lugar a otro posible

algoritmo:

Para cada fotograma de la captura de vídeo.

• Segmentación del fotograma y detección de las regiones de

interés.

• Detección del patrón de cara o cuerpo como objeto de interés.

• Aplicación de máscara sobre los objetos de interés.

Esto resuelve el alto coste de procesamiento mediante la aplicación del

método de detección sólo sobre aquellos objetos en movimiento. Se pue-

de llegar a dar un paso adicional eliminando del proceso de detección

aquellos objetos detectados previamente. Esto evitará el procesado de

14

Page 27: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

aquellas regiones de interés ya identi�cadas en un procesamiento pre-

vio. Esto implica que el objeto ya detectado sea seguido a lo largo de

la escena. Para ello se puede seleccionar alguna de las técnicas de segui-

miento comentadas anteriormente. Este seguimiento no es sólo necesario

por ahorro de proceso, sino que resulta también de interés su uso ante

posibles ocultaciones o falsas detecciones. Si evolucionamos el algoritmo

anterior con esta nueva consideración obtenemos el siguiente:

Para cada fotograma de la captura de vídeo.

• Segmentación del fotograma y detección de las regiones de

interés.

• Eliminación de las regiones de interés incluidas en el segui-

miento.

• Detección del patrón de cara o cuerpo como objeto de interés

en las nuevas regiones de interés segmentadas.

• Seguimiento de los objetos de interés.

• Aplicación de máscara sobre los objetos de interés.

La aplicación de las distintas técnicas conlleva a que sólo se ejecute el

proceso de detección para aquellos objetos que entren en la escena, ya que

aquellos que ya han sido detectados serán descartados. Las personas de-

tectadas previamente serán simplemente seguidas en la escena mediante

el uso de algún método de seguimiento.

En el artículo Protecting Personal Identi�cation Video [5] se propone

un algoritmo que combina la aplicación de distintas técnicas, siguiendo

15

Page 28: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Procesamiento. Ocultación para cumplimiento de privacidad

la línea de lo expuesto previamente. En dicho algoritmo se propone como

selector del objeto de interés la sustracción del fondo, debido a que en

las escenas �jas será de interés todo aquello en movimiento. Para ello se

plantea una sustracción basada en un kernel de distribuciones de Gauss.

Una vez extraídas las regiones de interés del fondo se procede a la

detección de los objetos de interés mediante el uso de plantillas, siendo

propuesto como método el SVM. En el algoritmo propuesto se opta por

la detección de hombros y cabeza, ya que la máscara se aplicará no sólo

sobre la cara sino sobre la cabeza al completo. Si esta detección no es

posible debido a problemas de iluminación o calidad de la fuente, se

optará por una detección del cuerpo completo. No se debe olvidar que el

objetivo es evitar el reconocimiento de las personas a partir alguno de sus

rasgos. Tras detectarse el objeto de interés se procede a su seguimiento

mediante alguna técnica de seguimiento. Con esto se pretende evitar los

problemas de perdidas en la detección y ocultación del objeto de interés.

Como hemos visto previamente, la aplicación de las tres técnicas in-

tenta reducir los tiempos de seguimiento. Primero, se segmenta la imagen

con aquellos objetos que van a ser candidatos para ser seguidos. Esto evi-

tará la búsqueda del posible objeto de interés en la imagen al completo.

Con cada objeto segmentado se procede a la detección de la cabeza y

los hombros. Esto es posible mediante el uso de algoritmos de detección

basados en plantillas. Una vez detectado el objeto de interés, éste de-

berá ser seguido en todo momento a través del uso de algún método de

seguimiento. Ya que se conoce el objeto de interés y su trayectoria en

todo momento, podemos eliminar éste para futuras detecciones. Con esto

16

Page 29: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

ahorramos la detección repetitiva de objetos ya reconocidos para cada

uno de los fotogramas, evitando así la redundancia de proceso. Una vez

detectado el objeto de interés se procede al enmascaramiento mediante

emborronado de la región de interés.

En el siguiente capítulo se analiza el algoritmo implementado, el cual

sigue la estrategia planteada.

17

Page 30: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Procesamiento. Ocultación para cumplimiento de privacidad

18

Page 31: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Capítulo 4

Experimentación. Uso en

tiempo real

La implementación se ha realizado en C++ haciendo uso de la libre-

ría OpenCV [1, 20]. Esta librería de Intel implementa un conjunto de

algoritmos y utilidades orientadas al procesamiento de imagen, vídeo y

visión por ordenador. Con ayuda de esta librería se ha implementado un

algoritmo que hace uso de métodos basados en las técnicas planteadas.

Para la sustracción del fondo se utiliza un algoritmo basado en Mixture

of Gaussians [7, 11]. Este método tiene una buena relación coste-e�cacia,

lo que ha dado lugar a su elección. En base al artículo comentado pre-

viamente y al publicado por Wilson Wong, Du Q. Huynh y Mohammed

Bennamoun, Upper Body Detetection in Unconstrained Still Images [10],

se procede a aplicar el algoritmo de Viola & Janes [19] combinado con

el de Histograma de Gradientes Orientados [6]. OpenCV ya incorpora

un conjunto de archivos con aprendizaje para distintos patrones, así co-

19

Page 32: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

mo para la detección de personas mediante el Histograma de Gradientes

Orientados. Por último, como método de seguimiento de kernel se opta

por el uso de CAMShift [8] o Mean-Shift adaptativo. El esquema seguido

para la implementación del seguimiento de personas va en la línea de lo

visto en el capítulo dos de este documento, donde los pasos seguidos en

el procesamiento lo podemos ver en el siguiente esquema.

Figura 1: Diagrama de procesos para la ocultación de caras

En el esquema presentado se identi�can cuatro procesos: sustracción

del fondo, segmentación de componentes conexas, detección de las regio-

nes de interés, y el seguimiento de éstas. A continuación se muestra el

código principal del algoritmo implementado en C++. Posteriormente

se describen los detalles más relevantes sobre los principales subprocesos

del seguimiento de caras.

20

Page 33: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Algoritmo 1 Código principal de ocultacion_caras

#inc lude " sustracc ion_fondo . hpp"#inc lude "componente_conexa . hpp"#inc lude " detec to r_ro i . hpp"#inc lude " seguimiento_ro i . hpp"

us ing namespace cv ;us ing namespace std ;

i n t main ( i n t argc , char ∗∗ argv ){

VideoCapture v_video ;Mat v_fuente , v_primer_plano , v_destino , v_blur ;componente_conexa v_componentes ;de t ec to r_ro i v_detector ;segu imiento_ro i v_seg_ROI ;vector<seguimiento_roi> v_v_seg_cara , v_v_seg_cara_tmp ;vector<Rect> v_v_r_candidato , v_v_r_ROI, v_v_r_cara ,

v_v_r_cara_tmp ;i n t v_tecla = 0 ;

v_video . open ( s t r i n g ( argv [ 1 ] ) ) ;

i f ( ! v_video . isOpened ( ) ){

cout << "No se puede ab r i r e l a rch ivo " << endl ;r e turn −1;

}

v_video >> v_fuente ;sustracc ion_fondo v_fondo ( v_fuente ) ;whi l e ( ! v_fuente . empty ( ) && v_tecla !=27 ){

v_primer_plano = v_fondo . s u s t r a e r ( v_fuente ,v_v_r_cara ) ;

v_v_r_candidato = v_componentes . buscar (v_primer_plano , 0 . 1 ) ;

v_v_r_ROI = v_detector . d e t e c t a r ( v_fuente ,v_v_r_candidato , 1 ) ;

. . .

21

Page 34: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

Algoritmo 2 Código principal de ocultacion_caras (Continuación)

. . .f o r ( unsigned i n t i =0; i<v_v_r_ROI . s i z e ( ) ; i ++ ){

v_seg_ROI . i n i c i a r ( v_fuente , v_v_r_ROI [ i ] ) ;v_v_seg_cara . push_back ( v_seg_ROI ) ;v_v_r_cara . push_back ( v_v_r_ROI [ i ] ) ;

}v_destino = v_fuente . c l one ( ) ;f o r ( unsigned i n t i =0; i<v_v_seg_cara . s i z e ( ) ; i++ ){

v_v_r_cara [ i ] = v_v_seg_cara [ i ] . s e gu i r (v_fuente , v_v_r_cara [ i ] ) ;

i f ( v_v_r_cara [ i ] . width>0 &&v_v_r_cara [ i ] . he ight >0 )

{r e c t ang l e ( v_destino ,

Point ( v_v_r_cara [ i ] . x ,v_v_r_cara [ i ] . y ) ,

Point ( v_v_r_cara [ i ] . x+v_v_r_cara [ i ] . width, v_v_r_cara [ i ] . y+v_v_r_cara [ i ] . he ight ) ,

Sca l a r ( 255 , 0 , 0 , 0 ) ) ;v_blur = Mat( v_destino , v_v_r_cara [ i ] ) ;medianBlur ( v_blur , v_blur , 15 ) ;v_v_seg_cara_tmp . push_back ( v_v_seg_cara [ i ] ) ;v_v_r_cara_tmp . push_back ( v_v_r_cara [ i ] ) ;

}}v_v_seg_cara = v_v_seg_cara_tmp ;v_v_r_cara = v_v_r_cara_tmp ;v_v_seg_cara_tmp . c l e a r ( ) ;v_v_r_cara_tmp . c l e a r ( ) ;imshow( " Sa l ida " , v_destino ) ;v_video >> v_fuente ;v_tecla = waitKey ( 1 ) ;i f ( v_tecla==' ' ) waitKey ( ) ;

}re turn 0 ;

}

22

Page 35: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Sustracción del fondo. Se ha implementado un método de sustrac-

ción del fondo que se basa en la mezcla de distribuciones de Gauss. Este

método permite el aprendizaje del fondo de la escena mediante la combi-

nación de distribuciones de Gauss. A partir de su aprendizaje, es capaz

de extraer del fondo aquellos objetos en movimiento. Todo fotograma del

vídeo deberá ser enviado a este subproceso para analizar el fondo de la

imagen y así capturar aquellos objetos que pueden resultar de interés.

Algoritmo 3 Sustracción del fondo

c l a s s sust racc ion_fondo{

p r i va t e :cv : : Mat v_primer_plano ;cv : : BackgroundSubtractorMOG v_sustractor ;

pub l i c :sustracc ion_fondo ( const cv : : Mat& p_origen ) ;cv : : Mat s u s t r a e r ( const cv : : Mat& p_origen ,

const std : : vector<cv : : Rect> p_v_r_eliminar ) ;} ;. . .v_sustractor ( p_origen , v_primer_plano , −1 ) ;

Para el uso de esté modelo de distribuciones de Gauss se ha proce-

dido a de�nir una clase en C++ que sirva de interfaz a dicho modelo,

de manera que pueda ser mejorada su funcionalidad de manera simple.

El operador de la clase BackgroundSubstractorMOG es el que posee la

capacidad de extraer el primer plano del fondo de la escena. El méto-

do sustraer de la clase sustraccion_fondo facilita el acceso al anterior

operador, y devuelve el primer plano generado por el modelo usado. La

mezcla de distribuciones de Gauss consigue una buena e�cacia en tiempos

23

Page 36: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

aceptables. Se puede observar que el método sustraer posee un segun-

do parámetro denominado p_v_p_eliminar, el cual acepta una lista de

regiones. Esta lista para eliminar del primer plano aquellas regiones de

interés que han sido detectadas en fotogramas previos y clasi�cadas de

interés para su seguimiento.

Algoritmo 4 Eliminación de regiones de interés en la sustracción delfondo

f o r ( unsigned i n t i =0; i<p_v_r_eliminar . s i z e ( ) ; i++ ){

Mat v_eliminar ( v_primer_plano , p_v_r_eliminar [ i ] ) ;v_el iminar = Mat : : z e r o s ( v_el iminar . s i z e ( ) ,

v_el iminar . type ( ) ) ;}

Segmentación. Será la clase componente_conexa la encargada de,

a partir del modelo de primer plano extraído, buscar todos aquellos con-

tornos que tengan un perímetro mínimo. Esto permitirá el descarte de

objetos pequeños que pueden ser obviados para la detección de regiones

de interés.

Algoritmo 5 Clase componente_conexa

c l a s s componente_conexa{

pub l i c :s td : : vector<cv : : Rect> buscar

( cv : : Mat& p_origen , i n t p_min_contorno ) ;} ;

Una vez detectados los candidatos a ser clasi�cados de interés se

procede a calcular la longitud del contorno y veri�car que es superior

24

Page 37: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

a una cota mínima. Si esto se cumple, incluimos la región del contorno

detectado dentro de la lista de componentes conexas propuestas como

candidatas a ser regiones de interés.

Algoritmo 6 Búsqueda de componentes conexas cuyo contorno superauna cota mínima

f indContours ( v_contornos ,v_v_p_contorno ,CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE,Point ( ) ) ;

f o r ( unsigned i n t i =0; i<v_v_p_contorno . s i z e ( ) ; i++ ){

v_long_cont = arcLength ( Mat( v_v_p_contorno [ i ] ) ,t rue ) ;

i f ( v_long_cont > v_min_long_cont ){

v_r_componente = boundingRect (Mat( v_v_p_contorno [ i ] ) ) ;

v_v_r_componente . push_back ( v_r_componente ) ;v_v_p_componente . push_back ( v_v_p_contorno [ i ] ) ;

}}

Detección de región de interés. Una vez tengamos capturadas

las componentes conexas candidatas a ser incorporadas en el proceso de

detección, se procede a referenciar la clase creada a tal efecto.

25

Page 38: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

Algoritmo 7 Clase deteccion_roi

c l a s s de t ec to r_ro i{

p r i va t e :cv : : Ca s c ad eC l a s s i f i e r v_c l a s i f i c ado r 1 ;cv : : Ca s c ad eC l a s s i f i e r v_c l a s i f i c ado r 2 ;cv : : HOGDescriptor hog ;

pub l i c :de t ec to r_ro i ( ) ;s td : : vector<cv : : Rect> de t e c t a r

( const cv : : Mat& p_origen ,std : : vector<cv : : Rect> > p_candidatos ,double p_escala ) ;

} ;

OpenCV integra una implementación tanto del algoritmo Viola-Janes

basado en características Haar [19], como el de Histograma de Gradien-

tes Orientados. Como punto a favor de esta implementación es que la

propia librería integra un conjunto de datos de entrenamiento para de-

tección de cara, cuerpo, cabeza y hombros, y torso y piernas. Siguiendo

las recomendaciones del artículo Upper Body Detetection in Unconstrai-

ned Still Images [10] se procede al uso de los �cheros que contienen datos

de entrenamiento tanto de la parte superior del cuerpo como del per�l

de la cara.

26

Page 39: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Algoritmo 8 Carga de descriptores para la detección de caras

i f ( ! v_c l a s i f i c ado r 1 . load( "haarcascade_upperbody . xml" ) )cout

<< "ERROR: no se puede cargar e l c l a s i f i c a d o r "<< endl ;

i f ( ! v_c l a s i f i c ado r 2 . load( " haa r ca s cade_pro f i l e f a c e . xml" ) )cout

<< "ERROR: no se puede cargar e l c l a s i f i c a d o r "<< endl ;

v_hog . setSVMDetector( HOGDescriptor : : ge tDe fau l tPeop leDetec tor ( ) ) ;

El algoritmo implementado en el método detectar se encarga simple-

mente de recorrer la lista de regiones candidatas a ser de interés. Cada

una de estas regiones son procesada haciendo uso de los detectores de

parte superior del cuerpo (v_clasi�cador1.detectMultiScale) y de cara

lateral (v_clasi�cador2.detectMultiScale) de Viola-Janes, y el de Histo-

grama de Gradientes Orientados (v_hog.detectMultiScale). Este último

detector se utilizará sólo cuando los dos anteriores no hayan tenido éxito,

ya que ésto no implica que no se encuentre persona alguna dentro de la

región procesada.

27

Page 40: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

Algoritmo 9 Procesamiento para la detección de caras

f o r ( unsigned i n t i =0; i<p_candidatos . s i z e ( ) ; i++ ){

. . .v_c l a s i f i c ado r 1 . de t e c tMu l t iS ca l e ( v_ROI_s ,

v_v_r_ROI, 1 . 1 , 2 ,0 |CV_HAAR_SCALE_IMAGE, S i z e ( 30 , 30) ) ;

i f ( v_v_r_ROI . s i z e ()>0 ) v_b_cara = true ;e l s e{

v_c l a s i f i c ado r 2 . de t e c tMu l t iS ca l e ( v_ROI_s ,v_v_r_ROI, 1 . 1 ,2 , 0 |CV_HAAR_SCALE_IMAGE, S i z e ( 30 , 30) ) ;

i f ( v_v_r_ROI . s i z e ()>0 ) v_b_cara = true ;e l s e{

t ry{

v_hog . de t e c tMu l t i S ca l e ( v_ROI_s ,v_v_r_ROI, 0 , S i z e ( 8 , 8 ) ,S i z e ( 30 , 30 ) , 1 . 05 , 2 ) ;

. . .

Una vez descartados aquellas componentes candidatas sobre las que

no se ha detectado ningún objeto de interés, se procede a devolver la lista

de regiones que contienen objetos de interés para el procesamiento. Pero

antes, se ajusta la región procesada para que las coordenadas recogidas

en v_v_r_ROI[0] se encuentren en el espacio de la imagen.

Algoritmo 10 Consideración de las regiones con caras

. . .v_v_r_detectado . push_back ( v_v_r_ROI [ 0 ] ) ;

}}re turn v_v_r_detectado ;

28

Page 41: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Seguimiento de región de interés. Por último, la clase seguimien-

to_roi será la encargada de implementar el método CAMShift. Aunque

el artículo de referencia propone el uso de Mean-Shift como algoritmo de

seguimiento, se ha optado por el uso de CAMShift debido a sus propie-

dades adaptativas.

Algoritmo 11 Clase seguimiento_roi

c l a s s seguimiento_ro i{

p r i va t e :cv : : RotatedRect v_rr_centro_roi ;cv : : Mat v_hist ;

pub l i c :void i n i c i a r ( const cv : : Mat& p_origen ,

const cv : : Rect p_se l ecc ion ) ;cv : : Rect s e gu i r ( const cv : : Mat& p_origen ,

const cv : : Rect p_v_r_roi ) ;} ;

Para llevar a cabo el seguimiento, éste deberá ser efectuado en dos

fases. Una inicial donde se informará la región de interés a la clase se-

guimiento_roi para calcular el histograma que será usado por el método

CamShift.

29

Page 42: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

Algoritmo 12 Procesamiento previo al seguimiento de caras

cvtColor ( p_origen , v_hsv , CV_RGB2HSV ) ;inRange ( v_hsv , Sca l a r ( 0 , v_smin ,

MIN( v_min , v_max ) ) ,Sca l a r ( 180 , 256 , MAX( v_min , v_max ) ) ,v_mascara ) ;

v_hue . c r e a t e ( v_hsv . s i z e ( ) , v_hsv . depth ( ) ) ;mixChannels ( &v_hsv , 1 , &v_hue , 1 , v_canales , 1 ) ;Mat v_ROI( v_hue , p_se l ecc ion ) ,

v_ROI_mascara( v_mascara , p_se l ecc ion ) ;c a l cH i s t ( &v_ROI, 1 , 0 , v_ROI_mascara , v_hist ,

1 , &v_hsize , &v_h_rangos ) ;normal ize ( v_hist , v_hist , 0 , 255 , CV_MINMAX ) ;

En posteriores fotogramas se procederá a seguir el objeto mediante el

uso del histograma calculado en la fase inicial. Será la función CamShift

la encargada de detectar el punto donde se localiza la distribución co-

rrespondiente al objeto de interés. Este procesamiento se realizará sobre

una región ampliada a la que contiene la cara o el cuerpo detectado en

un fotograma anterior.

Algoritmo 13 Seguimiento de caras

ca l cBackPro jec t ( &v_hue , 1 , 0 , v_hist ,v_backproj , &v_h_rangos ) ;

v_backproj &= v_mascara ;v_rr_centro_roi = CamShift ( v_backproj , v_r_ROI ,

TermCriter ia ( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER,10 , 1 ) ) ;

Adicionalmente, el método seguir se encargará de actualizar la posi-

ción donde se localiza la región de interés que contiene la cara o cuerpo

detectado.

30

Page 43: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Tras realizar la implementación del programa encargado de ocultar

la identidad de las personas que aparezcan en un vídeo. se procede a

realizar pruebas para conocer su rendimiento y e�cacia. Para ello se ha

accedido a dos Web que contienen vídeos que permiten realizar pruebas

para validar algoritmos relacionados con la videovigilancia, el consumo

electrónico y la aplicación médica:

Proyecto europeo CANTATA1. Esta Web contiene un conjunto de

datos de pruebas para la validación de métodos de análisis de vídeo.

Video Surveillance Online Repository �VISOR�2. Esta Web con-

tiene una gran base de datos multimedia, agrupada por distintos

métodos de análisis de vídeo.

A partir de estas bases de datos se ha procedido a obtener una batería

de pruebas para conocer el rendimiento de la aplicación desarrollada.

También resultar de interés conocer el comportamiento del algoritmo

bajo determinadas circunstancias:

Vídeo con resolución baja.

• Una persona con desplazamiento frontal y de per�l.

• Dos personas que entran y salen de la escena, y se inmovilizan

temporalmente.

• Una persona que camina de espalda a la cámara.

Vídeo con resolución media.1http://www.hitech-projects.com/euprojects/cantata/datasets_cantata/dataset.html2http://www.openvisor.org/this_main.asp

31

Page 44: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

• Una persona que se desplaza de per�l con buena iluminación.

A continuación se muestran los tiempos de ejecución consumidos por

cada uno de los subprocesos de la ocultación de caras para dos tamaños

de fotogramas distintos. Seguidamente se incluyen capturas del vídeo

original, de la segmentación de objetos en movimiento, de la componente

de intensidad usada para el seguimiento, y del vídeo resultante de aplicar

el emborronamiento sobre las caras detectadas para distintos vídeos de

prueba.

Imagen de 720 x 576 Imagen 360 x 270

Sustracción del fondo 80 - 90 ms. 20 - 25 ms.Segmentación < 10 ms. < 5 ms.

Detección de caras 150 - 300 ms. 150 - 300 ms.Seguimiento de caras < 5 ms. < 5 ms.

Cuadro 1: Tiempos de ejecución por cada subproceso en la ocultación decaras

Se puede observar el alto coste necesario para procesar la detección de

caras, a pesar de sólo considerarse aquellas regiones segmentadas. Cabe

señalar como el incremento de coste por la sustracción del fondo (1:4) está

directamente relacionado con el tamaño del fotograma, efecto que no se

produce con la segmentación. En cambio, la detección y el seguimiento de

caras no sufre variación signi�cativa para ambos tamaños de fotograma.

32

Page 45: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

(a) (b)

Figura 2: Detección de la parte superior del cuerpo y seguimiento

Aunque se producen falsas detecciones y seguimientos, la aplicación

es capaz de dar detecciones correctas de la cara junto con un seguimiento

de ella.

33

Page 46: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

(a) (b)

(c) (d)

Figura 3: Detección del cuerpo completo por no reconocimiento de caray parte superior

En este caso, debido a la baja calidad del vídeo no es posible detectar

la cara, aunque si es capaz de detectarse el cuerpo completo y realizarse

un seguimiento de éste. En cualquier caso también se producen deteccio-

nes falsas y errores en el seguimiento.

34

Page 47: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

(a) (b)

Figura 4: Error en la detección del cuerpo de una persona

En la �gura previa se observa como se ha segmentado la imagen,

región en la cual ha sido detectada una silla en lugar de una persona.

En este vídeo, debido a problemas de iluminación, el detector falla por

completo no siendo capaz de detectar las personas que aparecen.

(a) (b)

Figura 5: Sustracción incorrecta del fondo de la escena

Caben destacar estas imágenes ya que, como se puede observar, a

pesar de encontrarse una persona en la escena, debido al mínimo mo-

35

Page 48: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

vimiento de ésta, el algoritmo de sustracción del fondo no es capaz de

detectarla.

(a)

(b) (c)

Figura 6: Correcta detección pero problema en el seguimiento con CAMS-hift

Aunque se ha detectado la parte superior del cuerpo, el seguimiento

de éste no es posible ya que el método CAMShift no es capaz de calcular

correctamente el centro de masa.

36

Page 49: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

Figura 7: Detección errónea de la parte superior del cuerpo

Por último, se incluye una captura correspondiente a procesamiento

de un vídeo para el cual, como curiosidad, el detector de la parte supe-

rior del cuerpo confunde ésta con la forma generada por el cuerpo y las

piernas.

37

Page 50: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Experimentación. Uso en tiempo real

38

Page 51: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Capítulo 5

Conclusiones

La ejecución de la batería de pruebas ha sido realizada mediante

el uso de un PC con procesador AMD Ahtlon II Neo K325 de doble

núcleo a 1.3 Ghz, RAM 4 Gb, tarjeta grá�ca ATI Mobility Radeon HD

4225 con memoria compartida, y SO Windows 7 Home Premium 64-bits.

Los resultados obtenidos tras la experimentación pueden ser mejorables

tanto en rendimiento como en e�cacia del algoritmo. Sería interesante

para trabajos futuros aplicar diversos métodos para cada una de las

técnicas aplicadas de visión por ordenador y reconocimiento de patrones.

Puede resultar de interés realizar un análisis exhaustivo sobre el artículo

Tracking Human Faces in Real-Time [21] de Jie Yang y Alex Waibel, o

Robust Face Tracking Using Color [16] elaborado por Karl Schwerdt y

James L. Crowley, que permite alcanzar un conocimiento más exhaustivo

de la cuestión tratada, con ayuda de la biografía utilizada de referencia

en ambos artículos.

La estrategia planteada en Protecting Personal Identi�cation Video

39

Page 52: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Conclusiones

resulta de interés como planteamiento esquemático en la mejora de ren-

dimiento de los algoritmos de procesamiento de vídeo. Esta estrategia

se basa en la eliminación de información innecesaria a la hora de rea-

lizar determinados procesos costosos, como es el caso de la detección

de características basada en plantillas. En lugar de reducir los costes de

procesamiento mejorando el rendimiento de alguno de los algoritmos uti-

lizados, se plantea la combinación de algoritmos ya existentes de forma

que se mejore el rendimiento global del procesamiento.

Como se ha podido observar, las condiciones del medio vigilado ge-

neran problemas a la hora de llevar a cabo el seguimiento. Esto obliga

a que el uso del seguimiento de caras visto en este documento se use

sólo bajo determinadas circunstancias, por lo que antes de nada habrá

que analizar la escena a vigilar mediante videocámara. Si el medio obliga

a mejorar la sensibilidad del algoritmo ante los cambios en las condi-

ciones de la escena, entonces será necesario analizar otros métodos que

haga robusto al algoritmo ante estos cambios. En lo general, a la hora de

aplicar técnicas de visión por ordenador es necesario analizar todas los

condicionantes que son susceptibles de acaecer. Es decir, no existe una

única solución global que pueda ser usada bajo cualquier circunstancia

del entorno considerado.

Cabe destacar que el algoritmo propuesto para la ocultación de caras

no siempre resultará e�caz a la hora de evitar el reconocimiento de la

persona, ya que existen otras características de la persona que pueden fa-

cilitar su reconocimiento: ropa usada, silueta, forma de andar, etc. Por lo

que dependiendo del nivel de privacidad al que desee llegar puede resul-

40

Page 53: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

tar interesante la ocultación completa del cuerpo. Si no fuese factible la

aplicación de esta técnica habría que buscar otras soluciones alternativas.

Como deducción desde el punto de vista político y social, resulta in-

teresante contemplar la existencia de soluciones software que permiten

respetar la privacidad de las personas ante los sistemas de videovigi-

lancia. En la actualidad, el acceso a los sistemas de videovigilancia es

sencillo, o lo que es lo mismo, la implantación de estos no están bajo

ningún control por parte de la Administración. Aunque exista normativa

legal tanto en el ámbito público como en el privado para la regulación

de la videovigilancia, esto no exime de su incumplimiento por parte de

los particulares en perjuicio del interés general. Como solución factible se

podría plantear incorporar soluciones de serie a los sistemas de videovigi-

lancia. Estos deberían obligar el cumplimiento del derecho fundamental

a la intimidad durante el visionado del vídeo capturado mediante el uso

de cámaras de videovigilancia. Sólo el poder judicial debería ser el ente

quien pudiera visionar las imágenes registradas por las cámaras, siempre

que estás faciliten la detención y enjuiciamiento de sospechosos de deli-

to. Siguiendo esta línea se podrían plantear soluciones en el ámbito de

la videovigilancia tales como:

Aplicación de máscara a caras para control de perímetro a zonas

privadas.

Uso de máscara para ocultación de cuerpos en personas controladas

en zonas con acceso restringido.

41

Page 54: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Conclusiones

42

Page 55: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Bibliografía

[1] G.R. Bradski and A. Kaehler. Learning opencv. O'Reilly, 2008.

[2] M. Castrillón-Santana, O. Déniz-Suárez, L. Antón-Canalís, and

J. Lorenzo-Navarro. Face and facial feature detection evaluation.

In International Conference on Computer Vision Theory and Ap-

plications, 2008.

[3] M. Castrillón-Santana, O. Deniz-Suarez, C. Guerra-Artal, and

J. Isern-Gonzalez. Cue combination for robust real-time multiple

face detection at di�erent resolutions. Computer Aided Systems

Theory�EUROCAST 2005, pages 398�403, 2005.

[4] A. Catoira et al. La videovigilancia y la garantía de los derechos

individuales: su marco jurídico. 2003.

[5] D. Chen, Y. Chang, R. Yan, and J. Yang. Protecting personal

identi�cation in video. Protecting Privacy in Video Surveillance,

pages 115�128, 2009.

[6] N. Dalal and B. Triggs. Histograms of oriented gradients for human

detection. 2005.

43

Page 56: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

BIBLIOGRAFÍA

[7] A. Elgammal, R. Duraiswami, D. Harwood, and L.S. Davis. Back-

ground and foreground modeling using nonparametric kernel den-

sity estimation for visual surveillance. Proceedings of the IEEE,

90(7):1151�1163, 2002.

[8] D. Exner, E. Bruns, D. Kurz, A. Grundh

.ofer, and O. Bimber. Fast and robust camshift tracking. In Com-

puter Vision and Pattern Recognition Workshops (CVPRW), 2010

IEEE Computer Society Conference on, pages 9�16. IEEE.

[9] R. Gross, L. Sweeney, J. Cohn, F. Torre, and S. Baker. Face de-

identi�cation. Protecting Privacy in Video Surveillance, pages 129�

146, 2009.

[10] Upper Body Detection in Unconstrained Still Images. Upper body

detection in unconstrained still images. School of Computer Science

and Software Engineering. The University of Western Australia.

[11] P. KaewTraKulPong and R. Bowden. An improved adaptive back-

ground mixture model for real-time tracking with shadow detection.

In Proc. European Workshop Advanced Video Based Surveillance

Systems, volume 1. Citeseer, 2001.

[12] H. Kruppa, M. Castrillon-Santana, and B. Schiele. Fast and robust

face �nding via local context. In Joint IEEE Internacional Works-

hop on Visual Surveillance and Performance Evaluation of Tracking

and Surveillance (VS-PETS), pages 157�164. Citeseer, 2003.

44

Page 57: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

Videovigilancia y privacidad

[13] A.J. Lipton, H. Fujiyoshi, and R.S. Patil. Moving target classi�ca-

tion and tracking from real-time video. In Applications of Computer

Vision, 1998. WACV'98. Proceedings., Fourth IEEE Workshop on,

pages 8�14. IEEE, 1998.

[14] E.M. Newton, L. Sweeney, and B. Malin. Preserving privacy by

de-identifying face images. Knowledge and Data Engineering, IEEE

Transactions on, 17(2):232�243, 2005.

[15] H. Schneiderman and T. Kanade. A statistical method for 3d object

detection applied to faces and cars. In cvpr, page 1746. Published

by the IEEE Computer Society, 2000.

[16] K. Schwerdt and J.L. Crowley. Robust face tracking using color. fg,

page 90, 2000.

[17] P. Squires. Citizens, justice and cctv: democracy, privacy and e�ec-

tive crime prevention. In European Forum for Urban Safety. EFUS,

2010.

[18] P. Viola and M. Jones. Rapid object detection using a boosted

cascade of simple features. 2001.

[19] P. Viola and M. Jones. Robust real-time face detection. In Inter-

national conference on computer vision, volume 1. Citeseer, 2001.

[20] P. Wagner. Statistical machine learning with opencv. 2011.

45

Page 58: Escuela Técnica Superior de Ingeniería Informática Máster ...master.us.es/masterma1/TfM_pdfs(Julio11)/Antonio_Gutierrez_del... · María José Jiménez Rodríguez JUNIO Curso

BIBLIOGRAFÍA

[21] J. Yang, A. Waibel, and CARNEGIE-MELLON UNIV PITTS-

BURGH PA SCHOOL OF COMPUTER SCIENCE. Tracking hu-

man faces in real-time. Citeseer, 1995.

[22] A. Yilmaz, O. Javed, and M. Shah. Object tracking: A survey. Acm

Computing Surveys (CSUR), 38(4):13, 2006.

46