Está en la página 1de 58

Escuela Tcnica Superior de Ingeniera Informtica

Mster en Matemtica Computacional

TRABAJO DE FIN DE MSTER

Videovigilancia y privacidad. La ocultacin del rostro en vdeo para el cumplimiento del derecho a la intimidad

Autor:

Antonio Gutirrez del Valle

Tutora:

Mara Jos Jimnez Rodrguez

JUNIO

Curso 2010 - 2011

ndice general
1. Introduccin 1

2. Seguimiento humano. Algoritmos

3. Procesamiento. Ocultacin para cumplimiento de privacidad 13

4. Experimentacin. Uso en tiempo real

19

5. Conclusiones

39

Bibliografa

46

ndice de guras
1. 2. 3. Diagrama de procesos para la ocultacin de caras . . . . 20 33

Deteccin de la parte superior del cuerpo y seguimiento . Deteccin del cuerpo completo por no reconocimiento de cara y parte superior . . . . . . . . . . . . . . . . . . . . . . . . .

34 35 35

4. 5. 6.

Error en la deteccin del cuerpo de una persona

Sustraccin incorrecta del fondo de la escena . . . . . . . Correcta deteccin pero problema en el seguimiento con CAMShift . . . . . . . . . . . . . . . . . . . . . . . . . .

36 37

7.

Deteccin errnea de la parte superior del cuerpo

. . . .

ndice de algoritmos
1. 2. 3. 4. Cdigo principal de Cdigo principal de

ocultacion_caras ocultacion_caras

. . . . . . . . . . . (Continuacin) . .

21 22 23

Sustraccin del fondo . . . . . . . . . . . . . . . . . . . . Eliminacin de regiones de inters en la sustraccin del fondo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24 24

5. 6.

Clase

componente_conexa

. . . . . . . . . . . . . . . . .

Bsqueda de componentes conexas cuyo contorno supera una cota mnima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 26 27 28 28 29 30 30

7. 8. 9. 10. 11. 12. 13.

Clase

deteccion_roi

Carga de descriptores para la deteccin de caras . . . . . Procesamiento para la deteccin de caras . . . . . . . . . Consideracin de las regiones con caras . . . . . . . . . . Clase

seguimiento_roi

. . . . . . . . . . . . . . . . . . . . . . . . .

Procesamiento previo al seguimiento de caras

Seguimiento de caras . . . . . . . . . . . . . . . . . . . .

ndice de cuadros
1. Tiempos de ejecucin por cada subproceso en la ocultacin de caras . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Videovigilancia y privacidad

Prlogo
Motivado por el uso masivo que se est realizando de los sistemas de videovigilancia, se ha procedido a estudiar la legislacin existente relacionada con estos y su respeto a la intimidad de los individuos. Debido a la falta de normativa especca en algunos pases y a la disparidad en otros, la Unin Europea redacta la Carta para el Uso Democrtico de la Videovigilancia a travs del Foro Europeo de Seguridad Urbana. En Espaa a igual que en otros pases, la legislacin existente en el mbito de la videovigilancia en lugares pblicos, limita el derecho a la intimidad en favor de mejorar la seguridad pblica. Desde aqu se pretende demostrar que es viable compatibilizar la videovigilancia con el respeto a la intimidad de los individuos, fomentado la innovacin e investigacin de algoritmos de procesamiento de imagen y vdeo que impidan el reconocimiento de las personas. Los procesos para evitar el reconocimiento de personas deberan ser aplicados durante el visionado de las cmaras en los

CCTV.

Los vdeos capturados a travs

de sistemas de videovigilancia slo deberan visionados al completo bajo el permiso del poder judicial. A travs del artculo Protecting Personal Identication 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 lneas planteadas en este artculo, se ha elaborado un algoritmo para automatizar la ocultacin de caras y cuerpos mediante

Prlogo
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 algoritmos utilizados en la aplicacin de esta tcnica de visin por ordenador. Esta visin general ha facilitado la eleccin del mtodo de seguimiento del objeto, el cual tiene como requisito la ejecucin de ste en tiempo real. El uso del algoritmo en tiempo real obliga a que los mtodos de sustraccin de fondo, segmentacin, deteccin de caras y seguimiento se sincronicen de forma que se reduzcan los tiempos de ejecucin. Por ello se ha seleccionado una mezcla de distribuciones de Gauss para la sustraccin de fondo, los algoritmos de Viola-Janes y Histograma de Gradientes Orientados para la deteccin de caras sobre regiones segmentadas previamente, y el mtodo CAMShift para el seguimiento de stas. La implementacin de este algoritmo se ha realizado en C++ hacindose uso de la librera de visin por ordenador OpenCV en su versin 2.2. Por ltimo, para conocer la ecacia y eciencia de la aplicacin desarrollada se ha ejecutado una batera de pruebas con vdeos descargados de las bases de datos CANTATA y VISOR.

ii

Captulo 1 Introduccin
El Foro Europeo para la Seguridad Urbana

[17] promueve el uso

de la videovigilancia para reducir la delincuencia que se produce actualmente en las ciudades. A travs de este foro se pretende analizas las implicaciones que conlleva el uso de los circuitos cerrados de televisin

CCTV

para mejorar la seguridad en las ciudades. Adicionalmente, se

han intentado denir buenas prcticas que contemplen el derecho a la privacidad del individuo, las cuales han sido reunidas en la Carta para el Uso Democrtico de la Videovigilancia . El objetivo primordial de este proyecto europeo es alcanzar unos niveles de seguridad mnimo en la convivencia entre los ciudadanos. Se podra plantear como una primera solucin 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 ao, conllevara un coste que sera insostenible

1 2

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

Introduccin
para un pas. Es por ello por lo que se plantea como solucin alternativa la implantacin de sistemas de videovigilancia. En cualquier caso, no se debe olvidar la legislacin que existe a favor de respetar los derechos fundamentales de los individuos. Actualmente, el derecho a la intimidad se recoge en normativas especicas de cada uno de los pases, ya sea a travs de su ley fundamental o mediante desarrollos normativos especcos. Lo que si tienen en comn, 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 Espaa, la Ley Orgnica 4/1997 [4] da va libre al uso de videocmaras en lugares pblicos, quedando al descubierto el derecho a la intimidad bajo determinados condicionantes establecidos en la normativa. A pesar de toda la regulacin y el uso de medios tecnolgicos, 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 videocmaras implantadas en la ciudad, no fue posible la deteccin precoz de los actos terroristas. Es ms, 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 implantacin de sistemas de videovigilancia provoca una reduccin en la delincuencia premeditada. Pero, por ejemplo, est reduccin se puede alcanzar igualmente con la mejora en la iluminacin de las vas pblicas. Esto debera servir para replantearse qu habra que mejorar en los

Videovigilancia y privacidad
sistemas actuales de videovigilancia, teniendo como objetivo la deteccin precoz del delito as como la persona que lo lleve a cabo. Esto se podra alcanzar fomentando la innovacin e investigacin tecnolgica en el mbito de la visin por ordenador y reconocimiento de patrones. Sera interesante que parte de los esfuerzos llevados a cabo para mejorar los algoritmos de procesamiento de vdeo digital, estn orientados al cumplimiento de los derechos fundamentales del individuo. Igualmente, no deberan descartarse aquellos esfuerzos que permitan la deteccin precoz de posibles actividades relacionadas con la delincuencia. El derecho a la intimidad se podra cumplir mediante la aplicacin de algn tipo de mscara sobre las personas visionadas en un CCTV, de manera que se impida el reconocimiento de stas. Siguiendo esta lnea, el artculo

Protecting Personal Identication Video

[5] propone dos solucio-

nes para conservar la privacidad, siendo usada la primera de ellas como base para este trabajo. En el siguiente captulo se intenta dar una visin general [22] sobre la tcnica de seguimiento de objetos. Tras revisar los distintos aspectos a tener en cuenta a la hora de aplicar esta tcnica, se plantean diversos esquemas que puedan servir de base para el desarrollo de algoritmos orientados al seguimiento de personas en tiempo real. Finalmente se muestra una aplicacin prctica desarrollada en base a lo visto previamente, junto con los resultados de inters obtenidos a partir de la experimentacin realizada con diversos vdeos.

Introduccin

Captulo 2 Seguimiento humano. Algoritmos


Una tcnica muy usada en la visin por ordenador corresponde al seguimiento de objetos, dentro del cual encaja el seguimiento humano. En la literatura se puede encontrar mucha documentacin relacionada con esta tcnica, por ello este captulo intenta hacer un resumen de los distintos aspectos relacionados con el seguimiento. El seguimiento de objetos normalmente forma parte un proceso ms global consistente en: 1. Deteccin del objeto de inters en movimiento.

2. Seguimiento de los objetos detectados entre fotogramas.

3. Anlisis de los objetos seguidos para reconocer su comportamiento.

La diversidad de aplicaciones que permite el seguimiento de objetos incrementa el inters sobre esta tcnica. Entre otras, se pueden destacar las siguientes aplicaciones:

Reconocimiento basado en el movimiento.

Vigilancia automatizada.

Seguimiento humano. Algoritmos


Indexacin de vdeo.

Interaccin hombre-mquina.

Monitorizacin del trco.

Navegacin de vehculos.

El objetivo de esta tcnica es estimar la trayectoria de un objeto dentro del plano de una imagen en movimiento. Para lo cual, el observador etiqueta el objeto de inters en los distintos fotogramas del vdeo. Adems se puede ampliar la informacin asociada al movimiento del objeto de forma que se mejore el proceso de seguimiento. El alcanzar el objetivo de seguir el objeto de inters puede ser complejo debido a diverso motivos, tales como:

Perdida de informacin en 2D.

Ruidos en imgenes.

Movimientos complejos.

Naturaleza articulada de objetos.

Oclusin parcial y total.

Formas complejas de los objetos.

Cambios de iluminacin.

Requisitos de procesamiento en tiempo real.

Videovigilancia y privacidad
Debido a ello, antes de aplicar la tcnica 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 inters para el anlisis. Estos objetos podrn ser representados de distintas formas:

Punto. Un punto representa el centro del objeto.

Forma geomtrica. El objeto ser representado mediante un rectngulo, una elipse, u otras formas geomtricas.

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 representacin del objeto se efectuara mediante la unin de objetos articulados. Estos objetos se representan mediante cilindros o elipses.

Modelado del esqueleto. El esqueleto de un objeto se obtiene a partir del eje de su silueta. Esta representacin se usa principalmente para el reconocimiento.

Existen otros mtodos de representacin 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.

Seguimiento humano. Algoritmos


Modelo de apariencia activa.

Modelo de apariencia multi-vista. La seleccin de la caracterstica correcta para la aplicacin del seguimiento est relacionada con la representacin del objeto. En general, se pueden considerar las siguientes caractersticas 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 iluminacin.

Flujo ptico. Corresponde al campo de vectores de desplazamiento que dene la traslacin de cada pxel en una regin. Se usa para segmentacin y seguimiento.

Textura. Medida de la variacin de intensidad de una supercie que cuantica propiedades como suavidad y regularidad. Las caractersticas a seleccionar dependern del dominio de aplicacin. Reciben especial atencin los algoritmos que seleccionan la caracterstica de manera automtica. Estos se pueden agrupar en dos tipologas, aquellos que seleccionan las caractersticas en base a un criterio general (ltro), y aquellos que seleccionan las caractersticas basado en el uso de las caractersticas para un dominio especco del problema (envoltura). Todo mtodo de seguimiento se apoya en mecanismos de deteccin del objeto por cada fotograma, o cuando el objeto aparezca por primera

Videovigilancia y privacidad
vez en el vdeo. Por lo que la deteccin se deber realizar en cada uno de los fotogramas, o usando la informacin temporal calculada a partir de una secuencia de fotogramas que facilite reducir el nmero de detecciones falsas. Se destacan los siguientes mtodos de deteccin de objetos:

Detectores de puntos. Se usa para encontrar puntos de inters a partir de texturas que sean destacables en zonas locales de la imagen. Son invariantes a la iluminacin y punto de vista de la cmara.

Sustraccin del fondo. Consiste en una representacin de la escena que facilita la deteccin de objetos mediante el clculo de variaciones entre cada fotograma. Cualquier cambio en la imagen corresponde a un objeto en movimiento.

Segmentacin. Dividir la imagen en regiones similares. Se destacan las siguientes tcnicas de segmentacin que son de inters para el seguimiento:

Mean-Shift Clustering. Segmentacin mediante Graph-cuts. Contornos activos.

Aprendizaje asistido. La deteccin se puede realizar mediante aprendizaje de los objetos, efectuando la deteccin a travs de plantillas. Caben destacar las siguientes tcnica dentro de este mbito:

Adaptive Boosting. Support Vector Machines.

Seguimiento humano. Algoritmos


El objetivo principal del seguimiento es conocer en todo momento la trayectoria de un objeto a partir de la localizacin de este en cada uno de los fotogramas del vdeo. Adicionalmente se puede obtener la regin que ocupa el objeto en cada instante de tiempo. El seguimiento puede ser realizado mediante la deteccin inicial del objeto y entonces realizar el seguimiento de ste, o mediante su localizacin en cada uno de los fotogramas del vdeo. Durante la ejecucin del proceso de seguimiento, los objetos se representarn mediante la forma o modelo de apariencia anteriormente descrito. El modelo de representacin seleccionado limitar el tipo de movimiento o deformacin posible. A continuacin enumeramos los mtodos de seguimiento ms signicativos:

Seguimiento de punto. Se base en la representacin del objecto como un punto, y su seguimiento se realiza a travs de los distintos fotogramas, asociando los puntos de un fotograma al siguiente. Su principal problema se alcanza con la presencia de oclusiones, perdida en la deteccin, entrada y salida del objeto. Para dar solucin a este problema se usan mtodos deterministas:

Mtodo determinista por correspondencia.

Mtodos estadstico por correspondencia.

Estimacin del estado de objeto simple. Cabe destacar los mtodos de Filtro de Kalman y Filtro de Partculas.

Asociacin de datos y estimacin del estado de mltiples objetos.

10

Videovigilancia y privacidad
Seguimiento de kernel. El kernel corresponde a la forma o apariencia con la que se representa el objeto de inters. El movimiento de estos objetos se obtiene mediante transformaciones paramtrica como traslacin, transformacin y anes. El algoritmo a aplicar depender de la apariencia de representacin 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 apariencia basados en densidad. A esta categora corresponden los algoritmos de CAMShift, y KLT.

Seguimiento mediante el uso de modelos de apariencia multivista. En esta categora se recoge el algoritmo PCA (Principal Component Analysis), y SVM (Support Vector Machine).

Seguimiento de silueta. Una vez que se determina la regin del objeto observado entonces se procede a su seguimiento mediante estimacin. Estos mtodos usan la informacin recogida dentro de la regin interior del objeto. El seguimiento de la silueta se puede acometer va emparejamiento de formas o evolucin del contorno.

Emparejamiento de formas. Seguimiento de contorno.

11

Seguimiento humano. Algoritmos

12

Captulo 3 Procesamiento. Ocultacin para cumplimiento de privacidad


Para dar solucin al problema de privacidad, se propone la ocultacin de caractersticas fsicas que faciliten el reconocimiento de las personas [9, 14]. Se ha optado inicialmente por la aplicacin de una mscara de emborronamiento a las regiones donde se detecten caras de personas o cuerpo segn corresponda, para lo cual ser necesario su deteccin y seguimiento. En la literatura se han planteado distintas soluciones para dar cobertura a la deteccin [15, 18, 3, 2] y seguimiento [13, 12, 21, 16] de caras en tiempo real. Se presupone que las tcnicas a aplicar estarn 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 cmara ja y con unas condiciones de entornos estable. Una aproximacin inicial del algoritmo de ocultacin podra ser el siguiente:

13

Procesamiento. Ocultacin para cumplimiento de privacidad


Para cada fotograma de la captura de vdeo.

Deteccin del patrn de cara o cuerpo como objeto de inters. Aplicacin de mscara sobre los objetos de inters.

Este primer planteamiento puede dar lugar a alto costes de procesamiento, derivado de la complejidad de los algoritmos de deteccin de cara. Gran parte del coste de procesamiento se deriva de la bsqueda del patrn en la imagen al completo. Esto puede ser resuelto mediante la tcnica de segmentacin, para lo que habr que seleccionar una posible caracterstica para ello. Debido a que el inters va a recaer sobre los movimientos producidos en la escena a vigilar, un buen mtodo sera el de sustraccin del fondo. Este algoritmo segmenta aquellos objetos que varan de un fotograma al anterior. Esto nos da lugar a otro posible algoritmo:

Para cada fotograma de la captura de vdeo.

Segmentacin del fotograma y deteccin de las regiones de inters.

Deteccin del patrn de cara o cuerpo como objeto de inters. Aplicacin de mscara sobre los objetos de inters.

Esto resuelve el alto coste de procesamiento mediante la aplicacin del mtodo de deteccin slo sobre aquellos objetos en movimiento. Se puede llegar a dar un paso adicional eliminando del proceso de deteccin aquellos objetos detectados previamente. Esto evitar el procesado de

14

Videovigilancia y privacidad
aquellas regiones de inters ya identicadas en un procesamiento previo. Esto implica que el objeto ya detectado sea seguido a lo largo de la escena. Para ello se puede seleccionar alguna de las tcnicas de seguimiento comentadas anteriormente. Este seguimiento no es slo necesario por ahorro de proceso, sino que resulta tambin de inters su uso ante posibles ocultaciones o falsas detecciones. Si evolucionamos el algoritmo anterior con esta nueva consideracin obtenemos el siguiente:

Para cada fotograma de la captura de vdeo.

Segmentacin del fotograma y deteccin de las regiones de inters.

Eliminacin de las regiones de inters incluidas en el seguimiento.

Deteccin del patrn de cara o cuerpo como objeto de inters en las nuevas regiones de inters segmentadas.

Seguimiento de los objetos de inters. Aplicacin de mscara sobre los objetos de inters.

La aplicacin de las distintas tcnicas conlleva a que slo se ejecute el proceso de deteccin para aquellos objetos que entren en la escena, ya que aquellos que ya han sido detectados sern descartados. Las personas detectadas previamente sern simplemente seguidas en la escena mediante el uso de algn mtodo de seguimiento. En el artculo

Protecting Personal Identication Video

[5] se propone

un algoritmo que combina la aplicacin de distintas tcnicas, siguiendo

15

Procesamiento. Ocultacin para cumplimiento de privacidad


la lnea de lo expuesto previamente. En dicho algoritmo se propone como selector del objeto de inters la sustraccin del fondo, debido a que en las escenas jas ser de inters todo aquello en movimiento. Para ello se plantea una sustraccin basada en un kernel de distribuciones de Gauss. Una vez extradas las regiones de inters del fondo se procede a la deteccin de los objetos de inters mediante el uso de plantillas, siendo propuesto como mtodo el SVM. En el algoritmo propuesto se opta por la deteccin de hombros y cabeza, ya que la mscara se aplicar no slo sobre la cara sino sobre la cabeza al completo. Si esta deteccin no es posible debido a problemas de iluminacin o calidad de la fuente, se optar por una deteccin 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 inters se procede a su seguimiento mediante alguna tcnica de seguimiento. Con esto se pretende evitar los problemas de perdidas en la deteccin y ocultacin del objeto de inters. Como hemos visto previamente, la aplicacin de las tres tcnicas intenta reducir los tiempos de seguimiento. Primero, se segmenta la imagen con aquellos objetos que van a ser candidatos para ser seguidos. Esto evitar la bsqueda del posible objeto de inters en la imagen al completo. Con cada objeto segmentado se procede a la deteccin de la cabeza y los hombros. Esto es posible mediante el uso de algoritmos de deteccin basados en plantillas. Una vez detectado el objeto de inters, ste deber ser seguido en todo momento a travs del uso de algn mtodo de seguimiento. Ya que se conoce el objeto de inters y su trayectoria en todo momento, podemos eliminar ste para futuras detecciones. Con esto

16

Videovigilancia y privacidad
ahorramos la deteccin repetitiva de objetos ya reconocidos para cada uno de los fotogramas, evitando as la redundancia de proceso. Una vez detectado el objeto de inters se procede al enmascaramiento mediante emborronado de la regin de inters. En el siguiente captulo se analiza el algoritmo implementado, el cual sigue la estrategia planteada.

17

Procesamiento. Ocultacin para cumplimiento de privacidad

18

Captulo 4 Experimentacin. Uso en tiempo real


La implementacin se ha realizado en C++ haciendo uso de la librera OpenCV [1, 20]. Esta librera de Intel implementa un conjunto de algoritmos y utilidades orientadas al procesamiento de imagen, vdeo y visin por ordenador. Con ayuda de esta librera se ha implementado un algoritmo que hace uso de mtodos basados en las tcnicas planteadas. Para la sustraccin del fondo se utiliza un algoritmo basado en Mixture of Gaussians [7, 11]. Este mtodo tiene una buena relacin coste-ecacia, lo que ha dado lugar a su eleccin. En base al artculo comentado previamente 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

Experimentacin. Uso en tiempo real


mo para la deteccin de personas mediante el Histograma de Gradientes Orientados. Por ltimo, como mtodo de seguimiento de kernel se opta por el uso de CAMShift [8] o Mean-Shift adaptativo. El esquema seguido para la implementacin del seguimiento de personas va en la lnea de lo visto en el captulo 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 ocultacin de caras

En el esquema presentado se identican cuatro procesos: sustraccin del fondo, segmentacin de componentes conexas, deteccin de las regiones de inters, y el seguimiento de stas. A continuacin se muestra el cdigo principal del algoritmo implementado en C++. Posteriormente se describen los detalles ms relevantes sobre los principales subprocesos del seguimiento de caras.

20

Videovigilancia y privacidad
Algoritmo 1 Cdigo principal de
#i n c l u d e #i n c l u d e #i n c l u d e #i n c l u d e using using int { VideoCapture Mat v_fuente , v_video ; v_primer_plano , v_detector ; v_seg_ROI ; v_v_seg_cara_tmp ; v_v_r_cara , v_v_r_ROI , v_destino , v_blur ; v_componentes ;

ocultacion_caras

" s u s t r a c c i o n _ f o n d o . hpp " " c o m p o n e n t e _ c o n e x a . hpp " " d e t e c t o r _ r o i . hpp " " s e g u i m i e n t o _ r o i . hpp " cv ; std ; c h a r argv )

namespace namespace

main ( i n t

argc ,

componente_conexa detector_roi seguimiento_roi

v e c t o r <s e g u i m i e n t o _ r o i > v_v_seg_cara , v e c t o r <Rect> v_v_r_candidato , v_v_r_cara_tmp ; int v_tecla = 0 ;

v_video . open ( s t r i n g ( a r g v [ 1 ] ) ) ; if ( { cout < < "No return } v_video > > v_fuente ; sustraccion_fondo while ( { v _ p r i m e r _ p l a n o = v_fondo . s u s t r a e r ( v_v_r_cara ); 0.1 1 ); v_fuente , ); v_fuente , v_fondo ( v_fuente ); ) ! v _ f u e n t e . empty ( ) && v _ t e c l a ! = 2 7 se puede abrir el archivo " < < endl ; ! v_video . isOpened ( ) )

1;

v_v_r_candidato = v_componentes . b u s c a r ( v_primer_plano , v_v_r_candidato , ... v_v_r_ROI = v _ d e t e c t o r . d e t e c t a r (

21

Experimentacin. Uso en tiempo real


Algoritmo 2 Cdigo principal de
... for ( { v_seg_ROI . i n i c i a r ( v_fuente , v_v_r_ROI [ i ] ); ); ); v_v_seg_cara . push_back ( v_v_r_cara . push_back ( } v_destino = v_fuente . c l o n e ( ) ; for ( { v_v_r_cara [ i ] v_fuente , if ( { rectangle ( Point ( Point ( , Scalar ( v_destino , v_v_r_cara [ i ] . x , ) , ), v_v_r_cara [ i ] . x+v_v_r_cara [ i ] . w i d t h 255 , 0, 0, 0 ) ); v_v_r_cara [ i ] 15 ); ); ); ); = v_v_seg_cara [ i ] . s e g u i r ( v_v_r_cara [ i ] ) ); unsigned int i =0; i <v_v_seg_cara . s i z e ( ) ; i++ ) v_seg_ROI unsigned int i =0; i <v_v_r_ROI . s i z e ( ) ; i ++ )

ocultacion_caras

(Continuacin)

v_v_r_ROI [ i ]

v_v_r_cara [ i ] . w i d t h >0 && v_v_r_cara [ i ] . h e i g h t >0

v_v_r_cara [ i ] . y

v_v_r_cara [ i ] . y+v_v_r_cara [ i ] . h e i g h t v_destino ,

v _ b l u r = Mat ( medianBlur (

v_blur ,

v_blur ,

v_v_seg_cara_tmp . push_back ( v_v_r_cara_tmp . push_back ( } } 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 ( " Salida " , v_destino ); v_video > > v_fuente ; v _ t e c l a = waitKey ( 1 ) ; if ( } return } 0; v _ t e c l a ==' ' ) waitKey ( ) ;

v_v_seg_cara [ i ]

v_v_r_cara [ i ]

22

Videovigilancia y privacidad
Sustraccin del fondo. Se ha implementado un mtodo de sustraccin del fondo que se basa en la mezcla de distribuciones de Gauss. Este mtodo permite el aprendizaje del fondo de la escena mediante la combinacin de distribuciones de Gauss. A partir de su aprendizaje, es capaz de extraer del fondo aquellos objetos en movimiento. Todo fotograma del vdeo deber ser enviado a este subproceso para analizar el fondo de la imagen y as capturar aquellos objetos que pueden resultar de inters.

Algoritmo 3 Sustraccin del fondo


class { private : c v : : Mat public : sustraccion_fondo ( c v : : Mat const }; ... v_sustractor ( p_origen , v_primer_plano , sustraer ( const const c v : : Mat& p _ o r i g e n c v : : Mat& p _ o r i g e n , ); ); v_primer_plano ; v_sustractor ; c v : : BackgroundSubtractorMOG sustraccion_fondo

s t d : : v e c t o r <c v : : Rect> p _ v _ r _ e l i m i n a r

);

Para el uso de est modelo de distribuciones de Gauss se ha procedido a denir 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 mtodo

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 ecacia en tiempos

23

Experimentacin. Uso en tiempo real


aceptables. Se puede observar que el mtodo do parmetro denominado

sustraer

posee un segun-

p_v_p_eliminar,

el cual acepta una lista de

regiones. Esta lista para eliminar del primer plano aquellas regiones de inters que han sido detectadas en fotogramas previos y clasicadas de inters para su seguimiento.

Algoritmo 4 Eliminacin de regiones de inters en la sustraccin del


fondo for ( { Mat v_eliminar ( v_primer_plano , ); p_v_r_eliminar [ i ] ); v _ e l i m i n a r = Mat : : z e r o s ( v_eliminar . type ( ) } v_eliminar . s i z e ( ) , unsigned int i =0; i <p _ v _ r _ e l i m i n a r . s i z e ( ) ; i++ )

Segmentacin. Ser la clase

componente_conexa

la encargada de,

a partir del modelo de primer plano extrado, buscar todos aquellos contornos que tengan un permetro mnimo. Esto permitir el descarte de objetos pequeos que pueden ser obviados para la deteccin de regiones de inters.

Algoritmo 5 Clase
class { public :

componente_conexa

componente_conexa

s t d : : v e c t o r <c v : : Rect> b u s c a r ( }; c v : : Mat& p _ o r i g e n , int p_min_contorno );

Una vez detectados los candidatos a ser clasicados de inters se procede a calcular la longitud del contorno y vericar que es superior

24

Videovigilancia y privacidad
a una cota mnima. Si esto se cumple, incluimos la regin del contorno detectado dentro de la lista de componentes conexas propuestas como candidatas a ser regiones de inters.

Algoritmo 6 Bsqueda de componentes conexas cuyo contorno supera


una cota mnima findContours ( v_contornos ,

v_v_p_contorno , CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, Point ( ) for ( { v_long_cont = a r c L e n g t h ( true if ( { v_r_componente = b o u n d i n g R e c t ( Mat ( v_v_p_contorno [ i ] ) ); v_r_componente ); ); v_v_p_contorno [ i ] v_v_r_componente . push_back ( v_v_p_componente . push_back ( } } ); ) Mat ( v_v_p_contorno [ i ] ), ); int i =0; i <v_v_p_contorno . s i z e ( ) ; i++ ) unsigned

v_long_cont > v_min_long_cont

Deteccin de regin de inters. Una vez tengamos capturadas


las componentes conexas candidatas a ser incorporadas en el proceso de deteccin, se procede a referenciar la clase creada a tal efecto.

25

Experimentacin. Uso en tiempo real


Algoritmo 7 Clase
class { private : cv : : C a s c a d e C l a s s i f i e r cv : : C a s c a d e C l a s s i f i e r c v : : H O G D e sc r i p to r public : detector_roi ( ) ; s t d : : v e c t o r <c v : : Rect> d e t e c t a r ( const c v : : Mat& p _ o r i g e n , p_escala ); s t d : : v e c t o r <c v : : Rect> > p _ c a n d i d a t o s , double }; hog ; v_clasificador1 ; v_clasificador2 ;

deteccion_roi

detector_roi

OpenCV integra una implementacin tanto del algoritmo Viola-Janes basado en caractersticas Haar [19], como el de Histograma de Gradientes Orientados. Como punto a favor de esta implementacin es que la propia librera integra un conjunto de datos de entrenamiento para deteccin de cara, cuerpo, cabeza y hombros, y torso y piernas. Siguiendo las recomendaciones del artculo

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 perl de la cara.

26

Videovigilancia y privacidad
Algoritmo 8 Carga de descriptores para la deteccin de caras
if ( ( ! v_clasificador1 . load " h a a r c a s c a d e _ u p p e r b o d y . xml " < < "ERROR: < < endl ; if ( ( ! v_clasificador2 . load " h a a r c a s c a d e _ p r o f i l e f a c e . xml " < < "ERROR: < < endl ; v_hog . s e t S V M D e t e c t o r ( H O G D e sc r i p to r : : g e t D e f a u l t P e o p l e D e t e c t o r ( ) ); no se puede cargar ) ) el clasificador" cout no se puede ) ) el clasificador" cout cargar

El algoritmo implementado en el mtodo

detectar

se encarga simple-

mente de recorrer la lista de regiones candidatas a ser de inters. Cada una de estas regiones son procesada haciendo uso de los detectores de parte superior del cuerpo (v_clasicador1.detectMultiScale ) y de cara lateral (v_clasicador2.detectMultiScale ) de Viola-Janes, y el de Histograma de Gradientes Orientados (v_hog.detectMultiScale ). Este ltimo detector se utilizar slo cuando los dos anteriores no hayan tenido xito, ya que sto no implica que no se encuentre persona alguna dentro de la regin procesada.

27

Experimentacin. Uso en tiempo real


Algoritmo 9 Procesamiento para la deteccin de caras
for ( { ... v_clasificador1 . detectMultiScale ( v_v_r_ROI , if ( else { v_clasificador2 . detectMultiScale ( v_v_r_ROI , 2, if ( else { try { v_hog . d e t e c t M u l t i S c a l e ( v_v_r_ROI , Size ( ... 30 , 0, 30 Size ( ), 1.05 , v_ROI_s , 8, 2 8 ), ); 1.1 , Size ( 30 , 30) ); ) v_b_cara = t r u e ; 0 |CV_HAAR_SCALE_IMAGE, v_ROI_s , 1.1 , 2, Size ( 30 , 30) ); ) v_b_cara = t r u e ; 0 |CV_HAAR_SCALE_IMAGE, v_v_r_ROI . s i z e () >0 v_ROI_s , unsigned int i =0; i <p _ c a n d i d a t o s . s i z e ( ) ; i++ )

v_v_r_ROI . s i z e () >0

Una vez descartados aquellas componentes candidatas sobre las que no se ha detectado ningn objeto de inters, se procede a devolver la lista de regiones que contienen objetos de inters para el procesamiento. Pero antes, se ajusta la regin procesada para que las coordenadas recogidas en

v_v_r_ROI[0]

se encuentren en el espacio de la imagen.

Algoritmo 10 Consideracin de las regiones con caras


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

28

Videovigilancia y privacidad
Seguimiento de regin de inters. Por ltimo, la clase

seguimien-

to_roi

ser la encargada de implementar el mtodo CAMShift. Aunque

el artculo de referencia propone el uso de Mean-Shift como algoritmo de seguimiento, se ha optado por el uso de CAMShift debido a sus propiedades adaptativas.

Algoritmo 11 Clase
class { private :

seguimiento_roi

seguimiento_roi

cv : : RotatedRect c v : : Mat public : void iniciar ( v_hist ;

v_rr_centro_roi ;

const

c v : : Mat& p _ o r i g e n , ); c v : : Mat& p _ o r i g e n , );

const cv : : Rect const };

cv : : Rect seguir ( cv : : Rect

p_seleccion const p_v_r_roi

Para llevar a cabo el seguimiento, ste deber ser efectuado en dos fases. Una inicial donde se informar la regin de inters a la clase

se-

guimiento_roi
CamShift.

para calcular el histograma que ser usado por el mtodo

29

Experimentacin. Uso en tiempo real


Algoritmo 12 Procesamiento previo al seguimiento de caras
cvtColor ( inRange ( MIN( Scalar ( p_origen v_hsv , 180 , ); v_hsv . s i z e ( ) , v_hsv . d e p t h ( ) 1, ), p_seleccion ); 0, 2 5 5 , CV_MINMAX ) ; ); v_hist , ); 1 ); 1 , &v_hue , v_canales , v_min , , v_hsv , 0, ) ) , v_min , v_max ) ), CV_RGB2HSV v_smin , );

Scalar ( v_max

256 , M A X(

v_mascara v_hue . c r e a t e ( Mat v_ROI (

m i x C h a n n e l s ( &v_hsv , v_hue , v_ROI_mascara ( c a l c H i s t ( &v_ROI , 1 , &v _ h s i z e , normalize ( v_hist ,

p_seleccion v_mascara , 1, 0,

v_ROI_mascara ,

&v_h_rangos v_hist ,

En posteriores fotogramas se proceder a seguir el objeto mediante el uso del histograma calculado en la fase inicial. Ser la funcin CamShift la encargada de detectar el punto donde se localiza la distribucin correspondiente al objeto de inters. Este procesamiento se realizar sobre una regin ampliada a la que contiene la cara o el cuerpo detectado en un fotograma anterior.

Algoritmo 13 Seguimiento de caras


c a l c B a c k P r o j e c t ( &v_hue , v_backproj , v _ b a c k p r o j &= v_mascara ; v_rr_centro_roi = CamShift 10 , 1 ) ); ( v_backproj , v_r_ROI , T e r m C r i t e r i a ( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 1, 0, ); v_hist ,

&v_h_rangos

Adicionalmente, el mtodo

seguir

se encargar de actualizar la posi-

cin donde se localiza la regin de inters que contiene la cara o cuerpo detectado.

30

Videovigilancia y privacidad
Tras realizar la implementacin del programa encargado de ocultar la identidad de las personas que aparezcan en un vdeo. se procede a realizar pruebas para conocer su rendimiento y ecacia. Para ello se ha accedido a dos Web que contienen vdeos que permiten realizar pruebas para validar algoritmos relacionados con la videovigilancia, el consumo electrnico y la aplicacin mdica:

Proyecto europeo CANTATA . Esta Web contiene un conjunto de datos de pruebas para la validacin de mtodos de anlisis de vdeo.

Video Surveillance Online Repository  VISOR . Esta Web contiene una gran base de datos multimedia, agrupada por distintos mtodos de anlisis de vdeo.

A partir de estas bases de datos se ha procedido a obtener una batera de pruebas para conocer el rendimiento de la aplicacin desarrollada. Tambin resultar de inters conocer el comportamiento del algoritmo bajo determinadas circunstancias:

Vdeo con resolucin baja.

Una persona con desplazamiento frontal y de perl. Dos personas que entran y salen de la escena, y se inmovilizan temporalmente.

Una persona que camina de espalda a la cmara.

Vdeo con resolucin media.

1 2

http://www.hitech-projects.com/euprojects/cantata/datasets_cantata/dataset.html http://www.openvisor.org/this_main.asp
31

Experimentacin. Uso en tiempo real

Una persona que se desplaza de perl con buena iluminacin.

A continuacin se muestran los tiempos de ejecucin consumidos por cada uno de los subprocesos de la ocultacin de caras para dos tamaos de fotogramas distintos. Seguidamente se incluyen capturas del vdeo original, de la segmentacin de objetos en movimiento, de la componente de intensidad usada para el seguimiento, y del vdeo resultante de aplicar el emborronamiento sobre las caras detectadas para distintos vdeos de prueba.

Imagen de 720 x 576 Sustraccin del fondo Segmentacin Deteccin de caras Seguimiento de caras 80 - 90 ms. < 10 ms. 150 - 300 ms. < 5 ms.

Imagen 360 x 270 20 - 25 ms. < 5 ms. 150 - 300 ms. < 5 ms.

Cuadro 1: Tiempos de ejecucin por cada subproceso en la ocultacin de caras

Se puede observar el alto coste necesario para procesar la deteccin de caras, a pesar de slo considerarse aquellas regiones segmentadas. Cabe sealar como el incremento de coste por la sustraccin del fondo (1:4) est directamente relacionado con el tamao del fotograma, efecto que no se produce con la segmentacin. En cambio, la deteccin y el seguimiento de caras no sufre variacin signicativa para ambos tamaos de fotograma.

32

Videovigilancia y privacidad

(a)

(b)

Figura 2: Deteccin de la parte superior del cuerpo y seguimiento

Aunque se producen falsas detecciones y seguimientos, la aplicacin es capaz de dar detecciones correctas de la cara junto con un seguimiento de ella.

33

Experimentacin. Uso en tiempo real

(a)

(b)

(c)
y parte superior

(d)

Figura 3: Deteccin del cuerpo completo por no reconocimiento de cara

En este caso, debido a la baja calidad del vdeo no es posible detectar la cara, aunque si es capaz de detectarse el cuerpo completo y realizarse un seguimiento de ste. En cualquier caso tambin se producen detecciones falsas y errores en el seguimiento.

34

Videovigilancia y privacidad

(a)

(b)

Figura 4: Error en la deteccin del cuerpo de una persona

En la gura previa se observa como se ha segmentado la imagen, regin en la cual ha sido detectada una silla en lugar de una persona. En este vdeo, debido a problemas de iluminacin, el detector falla por completo no siendo capaz de detectar las personas que aparecen.

(a)

(b)

Figura 5: Sustraccin incorrecta del fondo de la escena

Caben destacar estas imgenes ya que, como se puede observar, a pesar de encontrarse una persona en la escena, debido al mnimo mo-

35

Experimentacin. Uso en tiempo real


vimiento de sta, el algoritmo de sustraccin del fondo no es capaz de detectarla.

(a) (b)
hift

(c)

Figura 6: Correcta deteccin pero problema en el seguimiento con CAMS-

Aunque se ha detectado la parte superior del cuerpo, el seguimiento de ste no es posible ya que el mtodo CAMShift no es capaz de calcular correctamente el centro de masa.

36

Videovigilancia y privacidad

Figura 7: Deteccin errnea de la parte superior del cuerpo

Por ltimo, se incluye una captura correspondiente a procesamiento de un vdeo para el cual, como curiosidad, el detector de la parte superior del cuerpo confunde sta con la forma generada por el cuerpo y las piernas.

37

Experimentacin. Uso en tiempo real

38

Captulo 5 Conclusiones
La ejecucin de la batera de pruebas ha sido realizada mediante el uso de un PC con procesador AMD Ahtlon II Neo K325 de doble ncleo a 1.3 Ghz, RAM 4 Gb, tarjeta grca ATI Mobility Radeon HD 4225 con memoria compartida, y SO Windows 7 Home Premium 64-bits. Los resultados obtenidos tras la experimentacin pueden ser mejorables tanto en rendimiento como en ecacia del algoritmo. Sera interesante para trabajos futuros aplicar diversos mtodos para cada una de las tcnicas aplicadas de visin por ordenador y reconocimiento de patrones. Puede resultar de inters realizar un anlisis exhaustivo sobre el artculo

Tracking Human Faces in Real-Time Robust Face Tracking Using Color

[21] de Jie Yang y Alex Waibel, o

[16] elaborado por Karl Schwerdt y

James L. Crowley, que permite alcanzar un conocimiento ms exhaustivo de la cuestin tratada, con ayuda de la biografa utilizada de referencia en ambos artculos. La estrategia planteada en

Protecting Personal Identication Video


39

Conclusiones
resulta de inters como planteamiento esquemtico en la mejora de rendimiento de los algoritmos de procesamiento de vdeo. Esta estrategia se basa en la eliminacin de informacin innecesaria a la hora de realizar determinados procesos costosos, como es el caso de la deteccin de caractersticas basada en plantillas. En lugar de reducir los costes de procesamiento mejorando el rendimiento de alguno de los algoritmos utilizados, se plantea la combinacin de algoritmos ya existentes de forma que se mejore el rendimiento global del procesamiento. Como se ha podido observar, las condiciones del medio vigilado generan 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 slo bajo determinadas circunstancias, por lo que antes de nada habr que analizar la escena a vigilar mediante videocmara. Si el medio obliga a mejorar la sensibilidad del algoritmo ante los cambios en las condiciones de la escena, entonces ser necesario analizar otros mtodos que haga robusto al algoritmo ante estos cambios. En lo general, a la hora de aplicar tcnicas de visin por ordenador es necesario analizar todas los condicionantes que son susceptibles de acaecer. Es decir, no existe una nica solucin global que pueda ser usada bajo cualquier circunstancia del entorno considerado. Cabe destacar que el algoritmo propuesto para la ocultacin de caras no siempre resultar ecaz a la hora de evitar el reconocimiento de la persona, ya que existen otras caractersticas de la persona que pueden facilitar su reconocimiento: ropa usada, silueta, forma de andar, etc. Por lo que dependiendo del nivel de privacidad al que desee llegar puede resul-

40

Videovigilancia y privacidad
tar interesante la ocultacin completa del cuerpo. Si no fuese factible la aplicacin de esta tcnica habra que buscar otras soluciones alternativas. Como deduccin desde el punto de vista poltico y social, resulta interesante contemplar la existencia de soluciones software que permiten respetar la privacidad de las personas ante los sistemas de videovigilancia. En la actualidad, el acceso a los sistemas de videovigilancia es sencillo, o lo que es lo mismo, la implantacin de estos no estn bajo ningn control por parte de la Administracin. Aunque exista normativa legal tanto en el mbito pblico como en el privado para la regulacin de la videovigilancia, esto no exime de su incumplimiento por parte de los particulares en perjuicio del inters general. Como solucin factible se podra plantear incorporar soluciones de serie a los sistemas de videovigilancia. Estos deberan obligar el cumplimiento del derecho fundamental a la intimidad durante el visionado del vdeo capturado mediante el uso de cmaras de videovigilancia. Slo el poder judicial debera ser el ente quien pudiera visionar las imgenes registradas por las cmaras, siempre que ests faciliten la detencin y enjuiciamiento de sospechosos de delito. Siguiendo esta lnea se podran plantear soluciones en el mbito de la videovigilancia tales como:

Aplicacin de mscara a caras para control de permetro a zonas privadas.

Uso de mscara para ocultacin de cuerpos en personas controladas en zonas con acceso restringido.

41

Conclusiones

42

Bibliografa
[1] G.R. Bradski and A. Kaehler.

Learning opencv.

O'Reilly, 2008.

[2] M. Castrilln-Santana, O. Dniz-Surez, L. Antn-Canals, and J. Lorenzo-Navarro. In Face and facial feature detection evaluation.

International Conference on Computer Vision Theory and Ap2008.

plications,
[3] M.

Castrilln-Santana,

O.

Deniz-Suarez,

C.

Guerra-Artal,

and

J. Isern-Gonzalez.

Cue combination for robust real-time multiple

face detection at dierent resolutions.

Computer Aided Systems

TheoryEUROCAST 2005,
[4] A. Catoira et al.

pages 398403, 2005.

La videovigilancia y la garanta de los derechos

individuales: su marco jurdico. 2003.

[5] D. Chen, Y. Chang, R. Yan, and J. Yang. identication in video. pages 115128, 2009.

Protecting personal

Protecting Privacy in Video Surveillance,

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

43

BIBLIOGRAFA
[7] A. Elgammal, R. Duraiswami, D. Harwood, and L.S. Davis. Background and foreground modeling using nonparametric kernel density estimation for visual surveillance. 90(7):11511163, 2002.

Proceedings of the IEEE,

[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 916. IEEE.

[9] R. Gross, L. Sweeney, J. Cohn, F. Torre, and S. Baker. identication. 146, 2009.

Face de-

Protecting Privacy in Video Surveillance, pages 129

[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 background mixture model for real-time tracking with shadow detection. In

Proc. European Workshop Advanced Video Based Surveillance


volume 1. Citeseer, 2001.

Systems,

[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),
44 pages 157164. Citeseer, 2003.

Videovigilancia y privacidad
[13] A.J. Lipton, H. Fujiyoshi, and R.S. Patil. Moving target classication and tracking from real-time video. In

Applications of Computer

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


pages 814. IEEE, 1998.

[14] E.M. Newton, L. Sweeney, and B. Malin. de-identifying face images.

Preserving privacy by

Knowledge and Data Engineering, IEEE

Transactions on,

17(2):232243, 2005.

[15] H. Schneiderman and T. Kanade. A statistical method for 3d object detection applied to faces and cars. In by the IEEE Computer Society, 2000.

cvpr,

page 1746. Published

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

fg,

[17] P. Squires. Citizens, justice and cctv: democracy, privacy and eective crime prevention. In 2010.

European Forum for Urban Safety. EFUS,

[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

BIBLIOGRAFA
[21] J. Yang, A. Waibel, and CARNEGIE-MELLON UNIV PITTSBURGH 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