• No se han encontrado resultados

PROYECTO FIN DE CARRERA

N/A
N/A
Protected

Academic year: 2021

Share "PROYECTO FIN DE CARRERA"

Copied!
125
0
0

Texto completo

(1)

U NIVERSIDAD C ARLOS III DE M ADRID

E SCUELA P OLIT´ ECNICA S UPERIOR

I NGENIER´ IA I NDUSTRIAL

PROYECTO FIN DE CARRERA

DETECCI ´ ON DE

PERSONAS A PARTIR DE VISI ´ ON ARTIFICIAL

Autor : U BALDO G ONZ ´ ALEZ B EN´ ITEZ

Tutor : D R. L UIS M ORENO L ORENTE

S EPTIEMBRE DE 2010

(2)
(3)

A mis padres, los mejores del mundo.

(4)

Agradecimientos

A mi tutor D. Luis Moreno Lorente, tanto por darme la oportunidad de realizar un proyecto tan gratificante, como por su inestimable ayuda a lo largo de estos meses.

A mi familia, de la cual me siento cada d´ıa m´as orgulloso. En especial, de mi hermana Cristina, un ejemplo para crecer a su lado.

A mi compa˜ nero de mil batallas Javier Ya˜ n´ez Garc´ıa, gracias a su ayuda la ingenier´ıa no ha sido para tanto.

A mi novia Kris, por ser la mejor compa˜ nera de viaje posible.

A mis amigos de la infancia, por ense˜ narme el significado de la amistad.

A mis nuevos amigos de la universidad, por lo que hemos vivido, y por lo que queda por vivir.

A los compa˜ neros de laboratorio, en especial a Jorge, Piotr, Alejandro y Fran, por hacer que el tiempo all´ı fuera mucho m´as llevadero y por prestarme su ayuda siempre que la necesit´e.

Al Departamento de Ingenier´ıa de Sistemas y Autom´atica de la Univer- sidad Carlos III, por brindarme las instalaciones para poder desarrollar este proyecto.

Y por ´ ultimo, a todos aquellos profesores que han contribuido en mi formaci´on y han hecho que admire mi nueva profesi´on, Ingeniero Industrial.

Gracias a todos, de coraz´on.

Ubaldo Gonz´alez Ben´ıtez.

(5)

´INDICE GENERAL

1. Introducci´ on 17

2. Estado del arte 23

3. Arquitectura Hardware y Software 29

3.1. Sistema operativo . . . 29

3.2. Biblioteca OpenCV 2.1.0 . . . 31

3.3. Librer´ıa cvblobslib . . . 33

3.4. C´amara: Logitech QuickCam Pro 9000 . . . 33

4. Arquitectura funcional 35 4.1. Obtenci´on del v´ıdeo. Separaci´on frame a frame . . . 36

4.2. Segmentaci´on de fondo . . . 37

(6)

´ INDICE GENERAL 4.2.1. An´alisis te´orico de los algoritmos para extracci´on de

fondo . . . 39

4.2.2. Par´ametros de operaci´on de los algoritmos . . . 63

4.2.3. Elecci´on del algoritmo para la detecci´on de fondo . . . 65

4.2.4. Filtro Morfol´ogico . . . 70

4.3. Detecci´on de blobs . . . 71

4.4. Detecci´on de personas . . . 73

4.5. Generaci´on de v´ıdeo de salida . . . 76

5. Experimentaci´ on 79 5.1. Estudio de situaciones concretas de inter´es . . . 80

5.2. Estudio de secuencias de v´ıdeo . . . 87

5.2.1. V´ıdeo 1: Estaci´on de metro de San Nicasio I . . . 88

5.2.2. V´ıdeo 2: Estaci´on de metro de San Nicasio II . . . 91

5.2.3. V´ıdeo 3: Segunda planta del Edificio Bethancourt . . . 94

5.2.4. V´ıdeo 4: Tercera planta del Edificio Bethancourt . . . . 97

5.2.5. V´ıdeo 5: Laboratorio del departamento de Rob´otica y Automatizaci´on . . . 100

5.2.6. V´ıdeo 6: Exteriores del metro de San Nicasio . . . 103

5.2.7. V´ıdeo 7: Paseo Paquita Gallego. . . 106

6. Conlusiones 111

(7)

´ INDICE GENERAL

7. Trabajo futuro 119

(8)

´ INDICE GENERAL

(9)

´INDICE DE FIGURAS

1.1. Ejemplo de detecci´on de personas. . . 19

1.2. Segmentaci´on de imagen en background y foreground. . . 20

2.1. Clasificaci´on de m´etodos de extracci´on del background. . . 25

2.2. Ejemplo de problemas a solventar por el algoritmo de seg- mentaci´on. . . 27

2.3. Detecci´on ´ unicamente de personas. . . 28

3.1. Paso 3 de la instalaci´on de OpenCV 2.1.0 . . . 32

3.2. Paso 4 de la instalaci´on de OpenCV 2.1.0 . . . 32

3.3. Paso 5 de la instalaci´on de OpenCV 2.1.0 . . . 32

3.4. Paso 6 de la instalaci´on de OpenCV 2.1.0 . . . 32

3.5. Paso 7 de la instalaci´on de OpenCV 2.1.0 . . . 32

(10)

´ INDICE DE FIGURAS

3.6. Webcam Logitech QuickCam Pro 9000. . . 34

4.1. Diagrama de flujo de la aplicaci´on. . . 36

4.2. Divisi´on del v´ıdeo de entrada en frames. . . 37

4.3. Diagrama de flujo de la segmentaci´on de fondo. . . 38

4.4. Ejemplo de aprendizaje de las principales caracter´ısticas para un p´ıxel de backgrpund est´atico en una escena concurrida. La imagen de la izquierda muestra la posici´on del p´ıxel selecciona- do. Las dos im´agenes de la derecha son los histogramas de los estad´ısticos de color y gradiente m´as importantes, donde la altura de una barra es p

tvi

, la parte de luz de gris es p

tvi|t

y el m´aximo de la parte de oscuridad de gris es p

v

i

t

-p

tvi|t

. Los iconos que se muestran debajo de los histogramas corresponden a las caracter´ısticas de color y gradiente. . . 45

4.5. Ejemplo de aprendizaje de las principales caracter´ısticas para un p´ıxel de background din´amico. La imagen de la izquierda muestra la posici´on del p´ıxel seleccionado. La imagen de la derecha es el histograma de los estad´ısticos para las m´as im- portantes co-ocurrencias de color en T

cc

(s), donde la altura de una de sus barras es el valor de p

tvi

, la parte de luz de gris es p

tvi|t

y el m´aximo de la parte de oscuridad de gris is p

v

i

t

-p

tvi|t

. Los iconos que se muestran debajo del histograma correspon- den a las caracter´ısticas de co-ocurrencia de color y gradiente. En la imagen el color cambia en blanco, azul oscuro y azul claro peri´odicamente. . . 46

4.6. Diagrama del algoritmo FGD. . . 52

4.7. Esta figura contiene im´agenes y diagramas de dispersi´on de los valores de rojo y verde de un p´ıxel de la imagen. . . 58

4.8. Respuesta de los algoritmos ante foreground est´atico con peque˜ nos

movimientos. . . 67

(11)

´ INDICE DE FIGURAS

4.9. Respuesta de los algoritmos ante foreground a largas distan- cias. Se comprueba como la respuesta del algoritmo MOG es

mejor que la respuesta del algoritmo FGD. . . 67

4.10. Respuesta de los algoritmos ante movimiento a medias distan- cias. Se puede observar como en el algoritmo MOG hay m´as ruido debido a las sombras, esto va a provocar que se detecte, o bien dos personas una encima de otra, o una sola persona del doble de altura, esto evidentemente va a enga˜ nar al robot. 68 4.11. Aplicaci´on del filtro morfol´ogico. . . 71

4.12. Detecci´on de una persona. . . 72

4.13. Algoritmo de etiquetado. . . 73

4.14. Objetos en movimiento que son filtrados por la aplicaci´on. . . 74

4.15. Seguimiento de una persona. . . 75

4.16. Pantalla de salida de la aplicaci´on. . . 77

5.1. Detecci´on y seguimiento de una persona. . . 81

5.2. Foreground en la detecci´on de una persona. . . 82

5.3. Detecci´on de dos personas o m´as por separado. . . 83

5.4. Problemas en la detecci´on de dos personas o m´as. . . 84

5.5. Ejemplo de filtrado de objetos. . . 85

5.6. Evoluci´on de una persona est´atica. . . 86

5.7. Escena donde tiene lugar la grabaci´on del v´ıdeo 1. . . 89

5.8. Situaciones con par´ametros de filtrado restrictivos. . . 90

5.9. Detecci´on de la sombra. . . 93

(12)

´ INDICE DE FIGURAS

5.10. Detecci´on de un n´ umero elevado de personas a la vez. . . 93

5.11. Escena donde tiene lugar la grabaci´on del v´ıdeo 3. . . 95

5.12. Detecciones correctas en el v´ıdeo 3. . . 96

5.13. Detecci´on de una sola persona debido a superposici´on. . . . . 96

5.14. Escena donde tiene lugar la grabaci´on del v´ıdeo 4. . . 98

5.15. Primera imagen de la secuencia de v´ıdeo, se observa como las 3 personas que aparecen en la imagen forman parte del background. . . 99

5.16. No detecci´on de la persona por m´otivo de restricci´on de ´area. . 99

5.17. Escena donde tiene lugar la grabaci´on del v´ıdeo 5. . . 101

5.18. Situaciones a destacar en el v´ıdeo 5. . . 102

5.19. Escena donde tiene lugar la grabaci´on del v´ıdeo 6. . . 104

5.20. Ejemplo de detecciones correctas en el v´ıdeo 6. . . 105

5.21. Detecci´on de una rama. . . 105

5.22. Escena donde tiene lugar la grabaci´on del v´ıdeo 7. . . 107

5.23. Personas detectadas correctamente en el v´ıdeo 7. . . 108

5.24. Persona no detectada por estar tapada por otra. . . 109

5.25. Falsa detecci´on, sombra. . . 109

5.26. Falsa detecci´on, ventana. . . 109

6.1. Resultados en v´ıdeo interior con par´ametros restrictivos. . . . 114

6.2. Resultados en v´ıdeos interiores con par´ametros para optimizar

detecci´on y seguimiento. . . 115

(13)

´ INDICE DE FIGURAS

6.3. Resultados en v´ıdeos exteriores. . . 117

(14)

´ INDICE DE FIGURAS

(15)

´INDICE DE CUADROS

5.1. Caracter´ısticas del v´ıdeo 1. . . 88

5.2. Resultados obtenidos con el v´ıdeo 1. . . 89

5.3. Caracter´ısticas del v´ıdeo 2. . . 91

5.4. Resultados obtenidos con el v´ıdeo 2. . . 92

5.5. Caracter´ısticas del v´ıdeo 3. . . 94

5.6. Resultados obtenidos con el v´ıdeo 3. . . 95

5.7. Caracter´ısticas del v´ıdeo 4. . . 97

5.8. Resultados obtenidos con el v´ıdeo 4. . . 98

5.9. Caracter´ısticas del v´ıdeo 5. . . 100

5.10. Caracter´ısticas del v´ıdeo 6. . . 103

5.11. Resultados obtenidos con el v´ıdeo 6. . . 104

5.12. Caracter´ısticas del v´ıdeo 7. . . 106

(16)

´ INDICE DE CUADROS

5.13. Resultados obtenidos con el v´ıdeo 7. . . 108

6.1. Comparaci´on de resultados obtenidos en interior. . . 116

6.2. Comparaci´on entre resultados obtenidos en interior y exterior. 118

(17)

CAP´ ITULO 1 INTRODUCCI ´ ON

La visi´on artificial es una rama de la ingenier´ıa electr´onica que tiene por objetivo modelar matem´aticamente los procesos de percepci´on visual de los seres vivos y generar programas que permitan simular estas capacidades visuales por ordenador. Es una gran herramienta para establecer la relaci´on entre el mundo tridimensional y las vistas bidimensionales tomadas de ´el.

Por medio de esta teor´ıa se puede hacer, por una parte, una reconstrucci´on del espacio tridimensional a partir de sus vistas y, por otra parte, llevar a cabo una simulaci´on de una proyecci´on de una escena tridimensional en la posici´on deseada a un plano bidimensional.

Sus antecedentes se remontan a los a˜ nos veinte, cuando se mejora la calidad de las im´agenes digitalizadas de los peri´odicos, enviadas por ca- ble submarino entre Londres y Nueva York. Actualmente existen veh´ıculos aut´onomos que viajan de costa a costa en Estados Unidos y s´olo son asistidos por un operador humano el 3 % del tiempo.

El proceso de visi´on por ordenador puede subdividirse en seis ´areas prin-

cipales:

(18)

CAP´ ITULO 1. INTRODUCCI ´ ON

1. Sensado. Es el proceso que nos lleva a la obtenci´on de una imagen visual

2. Preprocesamiento. Trata de las t´ecnicas de reducci´on de ruido y enriquecimiento de detalles en la imagen

3. Segmentaci´on. Es el proceso que particiona una imagen en objetos de inter´es.

4. Descripci´on. Trata con el c´omputo de caracter´ısticas ´ utiles para difer- enciar un tipo de objeto de otro.

5. Reconocimiento. Es el proceso que identifica esos objetos.

6. Interpretaci´on. Asigna un significado a un conjunto de objetos re- conocidos.

Las aplicaciones de la visi´on artificial en la actualidad son muy variadas e interesantes, a continuaci´on se muestran algunas de ellas:

Industria automotriz: medici´on de las dimensiones de cojinetes de frenos, calibraci´on de ensamblado rob´otico de sensores de frenos ’anti-lock’.

Industria de dispositivos m´edicos: inspecci´on de cat´eteres en el coraz´on, lectura de c´odigos en marcapasos.

Industrias financieras: inspecci´on detallada de tarjetas financieras.

Retroalimentaci´on visual para robots.

Comunicaci´on visual hombre-m´aquina.

Empresas de seguridad: v´ıdeo-vigilancia.

Control de tr´afico.

En respuesta a la necesidad de los campos mencionados el an´alisis autom´atico

de secuencias de v´ıdeo se ha convertido en un ´area de investigaci´on muy

activa. En este proyecto se estudia en concreto la detecci´on y seguimiento

global de personas a trav´es de la visi´on artificial con el fin de utilizarlo para la

retroalimentaci´on visual de robots, mejorando la comunicaci´on e interacci´on

m´aquina-hombre, o como aplicaci´on de video-vigilancia para empresas de

(19)

CAP´ ITULO 1. INTRODUCCI ´ ON

seguridad. Destacar que con seguimiento global se quiere decir que en caso de haber m´as de una persona en la escena esta aplicaci´on determina donde se encuentran las personas en cada momento pero sin diferenciar entre ellas, es decir, sin determinar que persona es cada una. Por tanto esta aplicaci´on realiza la detecci´on frame a frame de las personas existentes en el campo de visi´on pero sin realizar un seguimiento en los frames sucesivos en caso de haber m´as de una persona, es por ello que a partir de ahora se habla solo de detecci´on si bien con esto se consigue un seguimiento global como se ha comentado.

La detecci´on es una tarea que parece relativamente trivial para los hu- manos y que es compleja de llevar a cabo por ordenadores.

Figura 1.1: Ejemplo de detecci´on de personas.

Las aplicaciones de visi´on artificial para detecci´on se basan en distinguir entre primer plano en movimiento (del ingl´es, foreground) y el fondo (del ingl´es, background). De esta manera se consigue aislar los p´ıxeles en los que hay movimiento del fondo, consiguiendo detectar los objetos que se mueven.

Una vez realizado esto se debe agrupar los p´ıxeles en el foreground que con- forman un objeto en movimiento para saber su posici´on, tama˜ no, etc. Para a continuaci´on distinguir de alguna manera entre personas y el resto de objetos (veh´ıculos por ejemplo).

Una manera efectiva y sencilla de realizar la segmentaci´on FG-BG es

extrayendo el background, para lo cual se necesita un modelo preciso y adap-

tativo de fondo. El background normalmente contiene objetos inertes que

permanecen pasivos en la escena (paredes, puertas, muebles...), pero tam-

bi´en puede contener objetos no estacionarios. La apariencia de los objetos

de background experimenta cambios a lo largo del tiempo como puede ser

(20)

CAP´ ITULO 1. INTRODUCCI ´ ON

debido al cambio de iluminaci´on. Por lo tanto, se puede apreciar que la ima- gen de background est´a formada por pixeles est´aticos y din´amicos, seg´ un se trate de un objeto estacionario o no. Un p´ıxel de background est´atico puede llegar a convertirse en din´amico con el paso del tiempo y viceversa tambi´en, es decir, un p´ıxel de background din´amico puede llegar a transformarse en est´atico. En definitiva para describir una escena de background general, un modelo de background debe ser capaz de representar la apariencia de un p´ıxel de background est´atico, un p´ıxel de background din´amico y evolucionar a los cambios tanto repentinos como graduales del background.

Figura 1.2: Segmentaci´on de imagen en background y foreground.

Por lo tanto, el objetivo principal que persigue el Proyecto Final de Ca- rrera descrito en este documento es el desarrollo de un algoritmo para la detecci´on de personas que se encuentren en el campo de visi´on a trav´es de la segmentaci´on entre el foreground y el background. Los subobjetivos vincula- dos al principal son los siguientes:

1. Estudio te´orico de la bibliograf´ıa existente sobre t´ecnicas de detecci´on

con el objetivo de optimizar el algoritmo.

(21)

CAP´ ITULO 1. INTRODUCCI ´ ON

2. Experimentaci´on con la aplicaci´on desarrollada para determinar su efi- ciencia en los distintos entornos posibles.

3. An´alisis de posibles deficiencias del algoritmo para buscarle soluci´on siempre y cuando sea posible.

4. Obtenci´on de conclusiones y posibles trabajos futuros.

En cuanto a la estructura de este documento, este est´a compuesto por 7

cap´ıtulos. En el siguiente cap´ıtulo se realiza un resumen de como se encuentra

actualmente el estado del arte de la visi´on por computador, particularizando

en la detecci´on de personas. En el se analizar´an las distintas tendencias, fa-

cilitando al lector la informaci´on necesaria para poder situar el proyecto de

manera m´as precisa. En el tercer cap´ıtulo se desarrolla un manual sobre las

diferentes herramientas y dispositivos necesarios para poder llevar a cabo el

proyecto, as´ı como una gu´ıa para su instalaci´on. Seguidamente, en el cap´ıtulo

4 (Arquitectura funcional de la aplicaci´on), se describe de manera precisa y

detallada todos los m´odulos que conforman la aplicaci´on as´ı como las rela-

ciones entre ellos. Para ello se desarrollan todas las t´ecnicas utilizadas en la

aplicaci´on, analiz´andolas de forma te´orica y explicando su aplicaci´on pr´acti-

ca. Una vez mostrados y analizados los m´odulos del algoritmo, en el cap´ıtulo

5 se realizar´a una serie de experimentaciones, en distintos entornos y ante

distintas situaciones, para as´ı determinar el rango de acci´on y eficacia del

mismo. En los dos ´ ultimos cap´ıtulos, conclusiones y trabajos futuros, respec-

tivamente, se analizan todas las conclusiones obtenidas durante el desarrollo

de esta aplicaci´on y se exponen tanto, los puntos donde se debe de seguir

mejorando en este campo, como los puntos concretos en los que se puede

mejorar este algoritmo.

(22)
(23)

CAP´ ITULO 2 ESTADO DEL ARTE

Como otras tecnolog´ıas, la detecci´on mediante visi´on por ordenador surge de manera gradual, aparece despu´es de un per´ıodo de investigaci´on y de- sarrollo en el campo industrial, militar y acad´emico. La aparici´on de esta tecnolog´ıa llega acompa˜ nada por la madurez en otras tecnolog´ıas como los ordenadores, las c´amaras digitales y la fibra ´optica.

Analizando trabajos anteriores, se observa que uno de los principales re- querimientos a la hora de la detecci´on de personas es la localizaci´on de las zonas donde se produce el movimiento. Para la detecci´on de dichas regiones, como se comenta en el cap´ıtulo 1, se suele utilizar lo que se conoce como t´ecnicas de extracci´on del background. Destacar que las distintas t´ecnicas existentes se diferencian entre s´ı solamente en el tipo de modelo de fondo que utilizan y en las t´ecnicas basadas en dicho modelo de fondo para encontrar las regiones est´aticas.

A continuaci´on se clasifican los diferentes m´etodos de segmentaci´on entre

regiones est´aticas y zonas con movimiento basados en las t´ecnicas de extrac-

ci´on del background. Para que la clasificaci´on sea los m´as clara posible se ha

dividido las t´ecnicas posibles en dos categor´ıas, por un lado las aproxima-

(24)

CAP´ ITULO 2. ESTADO DEL ARTE

ciones que usan un modelo de fondo y por otro lado las aproximaciones que usan varios modelos de fondo.

El primero de estos grupos se puede dividir, a su vez, en 2 subcategor´ıas dependiendo del uso que dichas aproximaciones hagan con las m´ascaras de foreground obtenidas:

An´alisis imagen a imagen. Esta categor´ıa describe los m´etodos que em- plean modelos de segmentaci´on frente-fondo bastante comunes, segui- dos de otro tipo de an´alisis. Dependiendo del tipo an´alisis pueden apare- cer varias categor´ıas:

• Aproximaciones cl´asicas: basadas en el uso de t´ecnicas sencillas de segmentaci´on frente-fondo y un postprocesado de la m´ascara de foreground seguido a su vez de alguna otra etapa de an´alisis.

• Basados en la acumulaci´on de m´ascaras de foreground. Dicha acu- mulaci´on se realiza frame a frame y con ella se puede moldear una m´ascara final de foreground, de donde se obtienen las regiones est´aticas.

• Basados en algunas propiedades del modelo de fondo utilizado, como por ejemplo considerando las transiciones entre los diferentes estados de un modelo de mezcla de Gaussianas o observando el valor de algunos par´ametros como, por ejemplo, el peso de las Gaussianas.

An´alisis de m´ascaras de foreground muestreadas. Estas aproximaciones intentan detectar regiones est´aticas analizando la secuencia de v´ıdeo a diferentes velocidades, aprovech´andose de las ventajas espacio-temporales que ello conlleva.

En cuanto al segundo grupo, es decir, aquellas aproximaciones que combi- nan m´as de un modelo de fondo para cada p´ıxel, cabe resaltar que son menos utilizadas por los investigadores para tratar de detectar regiones est´aticas.

Sin embargo, en funci´on de la tasa binaria de procesamiento del v´ıdeo, o del n´ umero de modelos de fondo utilizadas para detectar regiones est´aticas, se puede hacer la siguiente clasificaci´on:

Aproximaciones basadas en el an´alisis imagen a imagen. Se combina

las propiedades de los diferentes modelos de fondo que se utilizan.

(25)

CAP´ ITULO 2. ESTADO DEL ARTE

Aproximaciones basadas en el sub-muestreo. Estas aproximaciones de- tectan regiones estacionarias analizando la secuencia de v´ıdeo a trav´es de los diferentes modelos de fondo debido a que cada modelo de fondo se muestrea con una tasa binaria diferente.

En la siguiente figura se muestra un esquema donde se ve de forma clara y concisa toda la clasificaci´on relatada anteriormente.

Figura 2.1: Clasificaci´on de m´etodos de extracci´on del background.

Una vez se realiza la clasificaci´on general anterior, cabe destacar que los

algoritmos m´as importantes y utilizados para la detecci´on de personas en

la actualidad son el modelo de mezcla de Gaussianas (del ingl´es Mixture of

Gaussians: MOG) y el modelo de Bayes (del ingl´es Foreground Detection

based on background modeling and Bayes classification: FGD). El MOG es

un modelo de caracterizaci´on de los p´ıxeles del fondo basados en el m´etodo

de mezcla de Gaussianas. Se caracteriza porque tiene en cuenta a la hora de

(26)

CAP´ ITULO 2. ESTADO DEL ARTE

modelar el fondo los posibles cambios de iluminaci´on en la imagen, secuen- cias multimodales, objetos movi´endose lentamente, y el ruido introducido por la c´amara. Este modelo se utiliza en [4][5][7]. En cuanto al FGD propone un marco bayesiano para incorporar caracter´ısticas espectrales, espaciales y temporales en el modelado de background. Deriva una nueva f´ormula de la regla de decisi´on de Bayes para la clasificaci´on de background y foreground.

El background es representado usando estad´ısticas de las principales carac- ter´ısticas asociadas con objetos de background estacionarios y no estacionar- ios. Se propone un m´etodo nuevo para aprender y actualizar las caracter´ısti- cas de background a cambios graduales y repentinos de background. Este modelo se utiliza en [3][15]. Hay que indicar que en el cap´ıtulo 3 se realiza un an´alisis m´as minucioso y detallado de estos dos ´ ultimos algoritmos.

Todas las t´ecnicas anteriormente mencionadas tienen el requisito de que deben ser capaces de detectar objetos en movimiento mediante el uso de un bajo coste computacional y en tiempo real. Adem´as todos los algoritmos deben solventar problemas como:

Ruido: Es importante que el algoritmo sea capaz de eliminar el ruido procedente de la c´amara de v´ıdeo pues puede provocar la detecci´on de zonas de foreground incorrectas. Este ruido es debido al sensor de la c´amara o al medio de transmisi´on de la se˜ nal, que se manifiesta en p´ıxeles aislados que toman un valor diferente al de sus vecinos.

Sombras y reflejos: Es uno de los principales problemas ya que no pertenecen ni al background ni al foreground y en la mayor´ıa de los casos generan interferencias que hacen que el algoritmo no act´ ue de forma adecuada, por ello hay que eliminarlos. Esto se realiza mediante t´ecnicas de filtrado y operaciones morfol´ogicas.

Cambios de iluminaci´on: Son variaciones de la iluminaci´on, estas varia-

ciones pueden tener lugar tanto si la escena ha sido capturada en el

exterior (cambio de luminosidad a lo lardo del d´ıa) como si ha sido

tomada en el interior (distintas fuente de iluminaci´on). La iluminaci´on

juega un papel importante en la visi´on artificial pues simplifica de ma-

nera considerable el an´alisis y el procesado de la escena captada. Es

un factor que influye en gran medida en la complejidad del algorit-

mo, y como es m´as sencillo modificar la iluminaci´on que un complejo

algoritmo, hay que dedicar el tiempo necesario para conseguir una bue-

na iluminaci´on de forma que el algoritmo no se complique m´as de lo

debidamente necesario.

(27)

CAP´ ITULO 2. ESTADO DEL ARTE

Actualizaci´on del fondo de escena: Su importancia radica principal- mente en dos puntos. El primero de ellos es que la inicializaci´on del fondo de la secuencia, generalmente no coincide con el background ya que puede haber alg´ un objeto o persona en movimiento, por lo que el algoritmo debe ser capaz de no clasificarlo como fondo, el segundo punto por lo que la actualizaci´on de fondo es importante es debido a que pueden haber cambios importantes en la secuencia.

Determinar los par´ametros de funcionamiento de los algoritmos: Es una de las tareas m´as complejas ya que dependiendo de los par´ametros utilizados los algoritmos mostrar´an unos resultados u otros, que en la mayor´ıa de los casos difieren en gran medida.

Figura 2.2: Ejemplo de problemas a solventar por el algoritmo de seg- mentaci´on.

A parte del requerimiento ya analizado de localizar las zonas donde se

produce movimiento, el otro gran punto en el que se trata de mejorar los

algoritmos de detecci´on de personas en la actualidad es la clasificaci´on au-

tom´atica entre que objetos en movimiento son personas y cuales no. Este es

un proceso complejo, debido a que no hay ning´ un modo f´acil de definir la

manera en que una persona entra en la escena, ya que las personas pueden

adoptar un n´ umero indefinido de posturas y adem´as ir modific´andola a medi-

da que avanza en la escena. Otro punto que hace que la complejidad de este

(28)

CAP´ ITULO 2. ESTADO DEL ARTE

proceso aumente, es que las secuencias de v´ıdeo deber ser analizadas en tiem- po real, lo que supone que el coste computacional no puede ser demasiado alto.

El algoritmo de clasificaci´on destinado a determinar si un objeto es per- sona o no se denomina detector de personas. Estos detectores pueden ser de distintos tipos. Pueden ser basados en el an´alisis de contornos, los cuales son muy convenientes cuando la posturas de las personas a detectar siempre es la misma (siempre andando por ejemplo) y el rango de tipos de personas a detectar es bajo. Otro tipo son los basados en el an´alisis de regiones, cal- culando de modo iterativo la elipse m´as grande contenida en cada regi´on obtenida despu´es de la etapa de segmentaci´on. Por ´ ultimo otro tipo son los basados en las caracter´ısticas intr´ınsecas de la persona( basados en el ´area o en las relaciones entre las medidas medias de un humano).

Figura 2.3: Detecci´on ´ unicamente de personas.

Finalmente, en cuanto a la direcci´on que deben tomar las investigaciones

futuras en esta ´area, ´estas deber´ıan estar enfocadas a lograr una mayor es-

tabilidad, una menor sensibilidad al ruido y a perfeccionar la detecci´on de

personas en ciertos casos puntuales. Todo esto deber´ıa permitir desarrollar al-

goritmos m´as r´apidos, precisos y sencillos, es decir, con un mejor rendimiento

que los actuales.

(29)

CAP´ ITULO 3

ARQUITECTURA HARDWARE Y SOFTWARE

Este cap´ıtulo nace con la finalidad de proporcionar al lector toda la infor- maci´on que necesita sobre las distintas herramientas y dispositivos necesarios para ejecutar la aplicaci´on sobre detecci´on que aqu´ı se trata. A continuaci´on se muestran los diferentes puntos a tener en cuenta:

3.1. Sistema operativo

La aplicaci´on se desarrolla sobre el sistema operativo Ubuntu. Este es una distribuci´on Linux basada en Debian GNU/Linux que proporciona un sistema operativo actualizado y estable para el usuario, con un fuerte enfoque en la facilidad de uso y de instalaci´on del sistema. Al igual que otras distribuciones se compone de m´ ultiples paquetes de software normalmente distribuidos bajo una licencia libre o de c´odigo abierto.

Una de las grandes ventajas que proporciona este sistema operativo es

(30)

CAP´ ITULO 3. ARQUITECTURA HARDWARE Y SOFTWARE

que se puede utilizar como sistema de programaci´on permitiendo compilar C, C++, Java, Ada, entre otros muchos lenguajes. Este proyecto es programado bajo el lenguaje de programaci´on C++.

1) Requisitos

Los requisitos m´ınimos recomendados para ejecutar Ubuntu son los si- guientes:

Procesador: 1 GHz x86.

Memoria RAM: 512 MB.

Disco Duro: 5 GB (para una instalaci´on completa con swap incluida).

Tarjeta gr´afica VGA y monitor capaz de soportar una resoluci´on de 1024x768.

Lector de CD-ROM o tarjeta de red.

Tarjeta de sonido.

Conexi´on a Internet.

Cabe destecar que por lo general se puede ejecutar Ubuntu en hardware m´as antiguos de lo especificado, aunque el rendimiento necesariamente va a ser menor.

2) Instalaci´on

En caso de no tener instalado el Ubuntu es necesario seguir una serie de sencillos pasos:

1. Descargar el CD de instalaci´on de Ubuntu, el Desktop Cd.

2. El archivo descargado es una imagen ISO que se debe grabar en un disco para proceder con la instalaci´on.

3. Arrancar ordenador desde el CD, para ello reiniciar equipo con el disco

grabado en el lector.

(31)

CAP´ ITULO 3. ARQUITECTURA HARDWARE Y SOFTWARE

4. Por ´ ultimo se deben ir siguiendo los pasos de la instalaci´on. Como ayuda se recomienda visitar la siguiente p´agina web:

http://www.guia-

ubuntu.org/index.php?title=Instalaci %C3 %B3n est %C3 %A1ndar En ella, a parte de ver los pasos a seguir durante la instalaci´on, tambi´en se puede encontrar el Desktop Cd y tutoriales.

3.2. Biblioteca OpenCV 2.1.0

Para la realizaci´on del proyecto es necesario descargar e instalar una li- brer´ıa espec´ıfica, a parte de las bibliotecas generales que vienen incorporadas ya en Ubuntu. El nombre de esta librer´ıa es OpenCV 2.1.0.

OpenCV es una biblioteca libre de visi´on artificial originalmente desarro- llada por Intel. Desde que aparece su primera versi´on alfa en el mes de enero de 1999, esta se utiliza en infinidad de aplicaciones. Esto se debe a que su publicaci´on se da bajo licencia BSD, que permite que sea usada libremente para prop´ositos comerciales y de investigaci´on con las condiciones en ella expresadas.

Como meta el proyecto pretende proveer un marco de desarrollo f´acil de utilizar y altamente eficiente. Esto se logra realizando su programaci´on en c´odigo c y c++ optimizados, aprovechando adem´as las capacidades que proveen los procesadores multi n´ ucleo. Open CV puede adem´as utilizar el sis- tema de las primitivas de rendimiento integradas de Intel, que es un conjunto de rutinas de bajo nivel espec´ıficas para procesadores Intel.

La web oficial del proyecto es la siguiente:

http://sourceforge.net/projects/opencv/

1) Instalaci´on

Para la instalaci´on de OpenCV 2.1.0 en Ubuntu se deben seguir los si-

guientes pasos:

(32)

CAP´ ITULO 3. ARQUITECTURA HARDWARE Y SOFTWARE

1. Se descarga la biblioteca comprimida de la web oficial.

2. Se extrae.

3. Se accede a la carpeta en el terminal.

Figura 3.1: Paso 3 de la instalaci´on de OpenCV 2.1.0

4. Al no tener makefile se descarga el cmake:

Figura 3.2: Paso 4 de la instalaci´on de OpenCV 2.1.0 5. Se ejecuta el cmake para crear el makefile:

Figura 3.3: Paso 5 de la instalaci´on de OpenCV 2.1.0

6. Se ejecuta el makefile:

Figura 3.4: Paso 6 de la instalaci´on de OpenCV 2.1.0

7. Por ´ ultimo se instala:

Figura 3.5: Paso 7 de la instalaci´on de OpenCV 2.1.0

Una vez que se ha concluido la instalaci´on se debe tener cuidado con la ruta

donde se ha instalado las librer´ıas de OpenCV para cuando se llamen en el

programa se referencie la ruta correctamente. En caso de que la posici´on no

sea la que se quiere solo hace falta copiarlas en la ruta elegida mediante la

instrucci´on cp.

(33)

CAP´ ITULO 3. ARQUITECTURA HARDWARE Y SOFTWARE

3.3. Librer´ıa cvblobslib

A parte de las librer´ıas que ya vienen incorporadas al descargar la biblio- teca OpenCV 2.1.0, esta aplicaci´on requiere la descarga e instalaci´on de una librer´ıa adicional para OpenCV llamada Cvblobslib. Es un componente algo similar a la librer´ıa regionprops de Matlab.

1) Instalaci´on

Para la instalaci´on de esta librer´ıa se debe, al igual que con la biblioteca OpenCV 2.1.0, descargar la librer´ıa de la web oficial. Para encontrar la li- brer´ıa es tan f´acil como escribir cvblobslib en el buscador de la web o entrar directamente a la siguiente direcci´on:

http://opencv.willowgarage.com/wiki/cvBlobsLib

Una vez descargada la librer´ıa se deben seguir los mismos pasos que para la instalaci´on de la biblioteca, teniendo en cuenta que lo m´as recomendable es situar la librer´ıa dentro de los include de OpenCV 2.1.0.

3.4. C´ amara: Logitech QuickCam Pro 9000

El ´exito o no de un algoritmo de visi´on por ordenador depende en gran medida de la calidad de la imagen sobre la que se trabaja, llegando incluso a ser m´as importante para el ´exito de la aplicaci´on que el propio algoritmo.

Es por ello que en este proyecto se ha trabajado con una c´amara de v´ıdeo de contrastada v´alidez suministrada por el departamento de Autom´atica y Rob´otica de de la Universidad Carlos III, la Logitech QuickCam Pro 9000.

Esta c´amara es capaz de producir un v´ıdeo fluido y natural e instant´aneas de hasta 8 megap´ıxeles. Y gracias a su enfoque autom´atico de gama alta las im´agenes son siempre n´ıtidas, incluso en primeros planos ( a 10 cm de la lente).

1) Especificaciones

Optica Zeiss ´ con enfoque autom´atico.

R

(34)

CAP´ ITULO 3. ARQUITECTURA HARDWARE Y SOFTWARE

Sensor nativo de alta resoluci´on de 2 megap´ıxeles.

V´ıdeo en alta definici´on (hasta 1600 x 1200*).

Modo de pantalla panor´amica de 720p (con sistema recomendado).

Fotos de hasta 8 megap´ıxeles (mejoradas desde el sensor de 2 megap´ıxe- les).

Micr´ofono con tecnolog´ıa Logitech RightSound.

V´ıdeo de hasta 30 cuadros por segundo.

Certificaci´on USB 2.0 de alta velocidad.

Clip universal para monitores LCD, CRT o port´atiles

A continuaci´on se muestra una imagen de la c´amara utilizada para la obtenci´on de im´agenes en tiempo real.

Figura 3.6: Webcam Logitech QuickCam Pro 9000.

2. Instalaci´on

Al trabajar en el sistema operativo Ubuntu no es necesario realizar ning´ un

tipo de instalaci´on, ´ unicamente conectando la c´amara al puerto USB se ins-

talar´a de forma autom´atica. Por el contrario cabe destacar que para grabar

v´ıdeos con la misma es necesario descargar el programa Cheese a trav´es de

la aplicaci´on Synaptic de Ubuntu.

(35)

CAP´ ITULO 4

ARQUITECTURA FUNCIONAL

A continuaci´on se realiza la descripci´on de la aplicaci´on que aqu´ı se trata,

estudiando todos los m´odulos que la componen, as´ı como los tipos de datos

que intercambian entre ellos. Para facilitar la comprensi´on de la misma al

lector en primer lugar se muestra un diagrama de flujo en el que se repre-

sentan todas las etapas del algoritmo as´ı como la relaci´on entre ellas. Para

a continuaci´on de esto analizar en detalle cada m´odulo, estudiando tanto la

teor´ıa de las t´ecnicas utilizadas como su aplicaci´on concreta en la aplicaci´on.

(36)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

Figura 4.1: Diagrama de flujo de la aplicaci´on.

Antes de comenzar a desglosar cada bloque por separado es necesario definir claramente el concepto de blob, pues es de vital importancia para el entendimiento del proyecto. Un blob es una estructura compuesta por un conjunto de pixeles adyacentes y sus atributos. Este conjunto de p´ıxeles es agrupado tomando en cuenta que cumple con ciertos criterios o par´ametros de clasificaci´on y por tanto es tomado como un objeto y no como simples p´ıxeles separados y sin ning´ un nexo de uni´on.

4.1. Obtenci´ on del v´ıdeo. Separaci´ on frame a frame

La obtenci´on del v´ıdeo es el primer m´odulo de la aplicaci´on y tiene como

principal objetivo la adquisici´on o generaci´on de los datos de im´agenes que

son usados para su posterior procesamiento en los distintos bloques. Esto se

debe a que la aplicaci´on se basa en el procesamiento de im´agenes consecutivas,

es decir, se divide el v´ıdeo en frames y se trabaja sobre ellos. Para que

(37)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

sea posible esta divisi´on en frames hace falta un proceso el cual se relata a continuaci´on:

Primeramente para generar las im´agenes a procesar se utiliza una interfaz gr´afica que permite cargar un archivo de v´ıdeo ya existente o capturar una se˜ nal de v´ıdeo en vivo, dependiendo si se quiere trabajar en tiempo real o sobre una secuencia ya grabada. Una vez el archivo de v´ıdeo ha sido cargado al m´odulo, el siguiente paso es capturar cada una de las im´agenes que lo componen. Para ello se convierte el formato del v´ıdeo original en un formato que soporte la aplicaci´on, preparado para ser procesado frame a frame. Por

´

ultimo se implementa la divisi´on del mismo en im´agenes para ir movi´endose por todas y cada una de ellas.

Figura 4.2: Divisi´on del v´ıdeo de entrada en frames.

4.2. Segmentaci´ on de fondo

Como se menciona en el cap´ıtulo 1 y 2, uno de los m´odulos principales en

un algoritmo de detecci´on es el de extracci´on del primer plano en movimiento

(38)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

del fondo para detectar las zonas en las que hay movimiento. Este debe ser el primer m´odulo que se debe aplicar a la imagen de entrada del v´ıdeo en tiempo real, tal y como se ve en el diagrama de la aplicaci´on (figura 4.1).

Es evidente que el ´exito que se consiga en este bloque es de vital impor- tancia para el v´alido funcionamiento del resto del algoritmo, pero tambi´en es evidente que dado que se trata de un programa con el objetivo de trabajar en tiempo real hay que tener muy en cuenta el coste computacional.

Indicar que a priori la extracci´on de las zonas en las que hay movimiento en la imagen es m´as sencilla en entornos de interior que en exteriores de- bido a que estos ´ ultimos se ven m´as afectados por cambios de iluminaci´on, movimientos de ramas de un ´arbol o movimientos en las superficies de agua por ejemplo.

A continuaci´on se muestra un diagrama en el que se puede observar como trabaja este bloque independientemente del tipo de modelo concreto que se use en esta aplicaci´on (para ver tendencias actuales en este ´ambito ver cap´ıtulo 2):

Figura 4.3: Diagrama de flujo de la segmentaci´on de fondo.

Como se puede observar en la figura, despu´es del m´odulo de segmentaci´on

background/foreground (con la realimentaci´on necesaria para ir actualizando

el background) se sit´ ua un filtro morfol´ogico para eliminar el ruido. Cabe

indicar que en alg´ un algoritmo de segmentaci´on ya se utiliza un peque˜ no

filtro morfol´ogico, pero aun as´ı se comprueba que los resultados obtenidos

son mejores realizando un filtro morfol´ogico a la salida del sub-bloque para

obtener as´ı menos ruido.

(39)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

Seguidamente se analizan por separado estos dos bloques. En un primer punto se estudia los dos algoritmos m´as utilizados en la actualidad para extraer el foreground que cumplen con una ´optima relaci´on eficiencia-coste computacional, para a continuaci´on elegir uno de ellos para su aplicaci´on en el proyecto. Por ´ ultimo se explica el filtro morfol´ogico utilizado para extraer el ruido.

4.2.1. An´ alisis te´ orico de los algoritmos para extrac- ci´ on de fondo

Como se indica en el cap´ıtulo 2, los dos algoritmos principales a analizar son:

FGD (Foreground Detection based on background modeling and Bayes classification).

MOG (Mixture of Gaussians).

A continuaci´on se realiza una explicaci´on te´orica de los mismos, intentando que sea lo m´as clara y amena posible e incluyendo las f´ormulas matem´aticas necesarias para su f´acil comprensi´on, las cuales son desarrolladas en [3] y [4].

Algoritmo FGD

El background es normalmente representado por caracter´ısticas o rasgos de imagen en cada p´ıxel. Las caracter´ısticas extra´ıdas de una secuencia de im´agenes pueden ser clasificadas en tres tipos: caracter´ısticas espectrales, es- paciales y temporales. Las caracter´ısticas espectrales est´an asociadas a escala de grises o informaci´on de color, las caracter´ısticas espaciales est´an asociadas al gradiente o estructura local, y las caracter´ısticas temporales est´an aso- ciadas a cambios entre frames en el p´ıxel. Las dos primeras son adecuadas para describir la apariencia de los p´ıxeles de background est´aticos, mientras que las terceras se usan para describir los p´ıxeles de background din´amicos asociados con los objetos no estacionarios.

Este m´etodo o algoritmo propone un marco bayesiano que incorpora

m´ ultiples tipos de caracter´ısticas para modelar backgrounds complejos. Los

puntos importantes del m´etodo propuesto son los que siguen:

(40)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

1) Se propone un marco bayesiano para incorporar caracter´ısticas es- pectrales, espaciales y temporales en el modelado de background.

2) Se deriva una nueva f´ormula de la regla de decisi´on de Bayes para la clasificaci´on de background y foreground.

3) El background es representado usando estad´ısticas de las principales caracter´ısticas asociadas con objetos de background estacionarios y no estacionarios.

4) Se propone un novedoso m´etodo para el aprendizaje y la actualiza- ci´on de las caracter´ısticas de fondo a cambios graduales y repentinos de background

5)Se analiza la convergencia del proceso de aprendizaje y se deriva una form´ ula para seleccionar un ratio de aprendizaje adecuado.

6)Se desarrolla un nuevo algoritmo en tiempo real para la detecci´on de objetos de foreground en entornos complejos.

A continuaci´on se desarrolla el algoritmo.

I. MODELADO ESTAD´ISTICO DEL FONDO (BACKGROUND) A. Clasificaci´on de Bayes del background y foreground

Para objetos o regiones de background y foreground arbitrarios, la clasi- ficaci´on del background o foreground puede ser formulada bajo la teor´ıa de decisi´on de Bayes.

Sea s=(x,y) la posici´on de un p´ıxel de una imagen, I(s,t) la imagen de entrada en el instante t, y v un vector caracter´ıstico n-dimensional extra´ıdo de la posici´on s en el instante t de la secuencia de la imagen. Entonces, la probabilidad posterior de que el vector caracter´ıstico del background en s puede ser calculada mediante el uso de la regla de Bayes es:

P

s

(b | v) = P

s

(v | b)P

s

(b)

P

s

(v) (4.1)

donde:

(41)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

b: background.

P

s

(v|b) :probabilidad del vector caracter´ıstico v, siendo observado como un background en s.

P

s

(b): probabilidad anterior del p´ıxel s perteneciendo al background.

P

s

(v): probabilidad anterior del vector caracter´ıstico v siendo observado en la posici´on s.

Igualmente, la probabilidad posterior de que el vector caracter´ıstico v venga de un objeto de foreground en s es:

P

s

(f | v) = P

s

(v | f )P

s

(f )

P

s

(v) (4.2)

donde:

f: foreground

Usando la regla de decisi´on de Bayes, un p´ıxel s es clasificado como perteneciente al background acorde a su vector caracter´ıstico v observado en el instante t si:

P

s

(b | v) > P

s

(f | v) (4.3)

De otra forma, es clasificado como perteneciente al foreground. Hay que tener en cuenta que un vector caracter´ıstico observado en un p´ıxel de imagen viene de objetos de background o de objetos de foreground, esto supone:

P

s

(v) = P

s

(v | b)P

s

(b) + P

s

(v | f )P

s

(f ) (4.4)

Sustituyendo (4.1) y (4.4) en (4.3) se concluye que la regla de decisi´on de Bayes se convierte en:

2P

s

(v | b)P

s

(b) > P

s

(v) (4.5)

(42)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

B. Representaci´on de la caracter´ıstica principal del background

Para aplicar (4.5) para la clasificaci´on del background y foreground, las funciones de probabilidad Ps(b), Ps(v) y P s(v | b) deben ser conocidas en adelante, o deben poder ser estimadas adecuadamente. Para backgrounds complejos, las formas de estas funciones de probabilidad son desconocidas.

Una manera de estimar estas funciones de probabilidad es usando el his- tograma de caracter´ısticas. El problema que se encuentra es el alto coste de almacenamiento y c´alculo computacional. Asumiendo que v es un vector n-dimensinal y cada uno de sus elementos es cuantizado a L valores, el his- tograma contendr´ıa L

n

celdas. Por ejemplo, asumiendo que la resoluci´on de color tiene 256 niveles, el histograma contendr´ıa 256

3

celdas. El m´etodo ser´ıa irreal en t´erminos de requerimientos computacionales y de memoria.

Es razonable asumir que si las caracter´ısticas seleccionadas representan el background efectivamente, el incremento de las caracter´ısticas de back- ground deber´ıa ser peque˜ no, lo que implica que la distribuci´on de carac- ter´ısticas de background estar´a altamente concentrada en una peque˜ na re- gi´on del histograma. Adem´as, las caracter´ısticas de varios objetos de fore- ground se propagar´ıan ampliamente en el espacio caracter´ıstico. Esto implica que, con una adecuada selecci´on y cuantizaci´on de caracter´ısticas, ser´ıa posi- ble describir aproximadamente el background usando solamente un n´ umero peque˜ no de vectores caracter´ısticos. Una estructura de informaci´on concisa para implementar tal representaci´on de background es creada como sigue.

Sean v

i

los vectores caracter´ısticos cuantizados clasificados en orden des- cendente con respecto a P

s

(v

i

| b) por cada p´ıxel s. Entonces, para una selecci´on adecuada de caracter´ısticas, habr´ıa un peque˜ no entero N(v), un alto porcentaje de M

1

, y un valor de porcentaje bajo de M

2

(por ejemplo M

1

=80 %-90 % y M

2

=10 %-20 %) tales que el background estar´ıa aproximado por:

N(v)

X

i=1

P

s

(v

i

| b) > M

1

y

N(v)

X

i=1

P

s

(v

i

| f ) < M

2

(4.6)

El valor de N(v) y la existencia de M

1

y M

2

dependen de la selecci´on y

cuantizaci´on de los vectores caracter´ısticos. Los N(v) vectores caracter´ısticos

son definidos como las principales caracter´ısticas del background en el p´ıxel

s.

(43)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

Para aprender y actualizar las probabilidades anterior y condicional para los vectores caracter´ısticos principales, se establece una tabla de estad´ısticas para las caracter´ısticas principales posibles para cada tipo de caracter´ıstica en s. La tabla se denota como:

T

v

(s) =

(

p

tv

(b)

{S

vt

(i)}, i = 1, ..., M (v) (4.7)

donde:

p

tv

(b): es el P

s

(b) aprendido, basado en la observaci´on de las caracter´ısticas v.

S

vt

(i) registra las estad´ısticas de los M(v) vectores caracter´ısticos m´as frecuentes (M(v)>N(v)) en el p´ıxel s.

Cada S

vt

(i) contiene tres componentes:

S

vt

(i) =





p

tvi

= P

s

(v

i

) p

tvi|b

= P

s

(v

i

| b) v

i

= (v

i1

...v

iD(v)

)

T

(4.8)

donde:

D(v): dimensi´on del vector caracter´ıstico v.

Los S

vt

(i) en la tabla T

v

(s) son clasificados en orden descendente con respecto al valor p

tvi

. Los primeros elementos N(v) de la tabla T

v

(s), junto con p

tv

(b), son usados en (4.5) para la clasificaci´on de background y foreground.

C. Selecci´on de caracter´ıstica

La siguiente cuesti´on esencial para la representaci´on de la caracter´ıstica

principal es la selecci´on de caracter´ıstica. Las caracter´ısticas significantes de

distintos objetos de background son diferentes. Para lograr la representaci´on

eficaz y precisa de los p´ıxeles de background con caracter´ısticas principales,

el empleo de tipos adecuados de caracter´ısticas es importante. Tres tipos

de caracter´ısticas, espectrales, espaciales y temporales, son usadas para el

modelado de background

(44)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

a) Caracter´ısticas para p´ıxeles de background est´aticos: Para un p´ıxel perteneciente a un objeto de background estacionario, las caracter´ısticas m´as importantes y estables son su color y estructura local(gradiente). Por lo tanto, se usan dos tablas para aprender las caracter´ısticas principales. Estas son T c(s) y T e(s) con c = [R, G, B]

T

y e = [gx, gv]

T

representando los vectores de color y gradiente, respectivamente. Debido a que el gradiente es menos sensitivo a cambios de iluminaci´on, los dos tipos de vectores caracter´ısticos pueden ser integrados bajo el marco de Bayes como se muestra a continuaci´on.

Sea v = [c

T

, e

T

]

T

y se asume que c y e son independientes, la regla de decisi´on de Bayes (4.5) se convierte en :

2P

s

(c | b)P

s

(e | b)P

s

(b) > P

s

(c)P

s

(e) (4.9)

Para las caracter´ısticas de los p´ıxeles de background est´aticos, la medida de cuantizaci´on deber´ıa ser menos sensitiva a cambios de iluminaci´on. Aqu´ı, una medida de distancia normalizada basada en el producto interno de dos vectores es empleada por ambos vectores de color y gradiente. La medida de distancia es:

d(v

1

, v

2

) = 1 − 2(v

1

, v

2

)

||v

1

||

2

+ ||v

2

||

2

(4.10)

donde v puede ser c o e, respectivamente.

Si d(v

1

, v

2

) es menor que un peque˜ no valor σ, v

1

y v

2

est´an emparejados entre si. La robustez de la medida de distancia (4.10) a los cambios de ilu- minaci´on y las im´agenes de ruido se muestra en [19]. El vector de color C es obtenido directamente de las im´agenes de entrada con 256 niveles de resolu- ci´on para cada componente, mientras que el vector de gradiente e es obtenido mediante la aplicaci´on de operador Sobel para las correspondientes im´agenes de entrada de escala de grises con 256 niveles de resoluci´on. Con σ=0.005, N(v)=15 se encuentra la suficiente precisi´on para aprender las caracter´ısticas principales para los p´ıxeles de background est´aticos.

Un ejemplo de la principales caracter´ısticas representadas para un p´ıxel

de background est´atico se muestra en la figura (4.4), donde se muestran los

histogramas para las caracter´ısticas de color y gradiente principales en T

c

(s)

(45)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

y T

e

(s). El histograma de las caracter´ısticas de color muestra que s´olo los 2 primeros son colores principales para el background, y el histograma de gra- dientes muestra que los 6 primeros, excluyendo el cuarto, son los principales gradientes para el background.

Figura 4.4: Ejemplo de aprendizaje de las principales caracter´ısticas para un p´ıxel de backgrpund est´atico en una escena concurrida. La imagen de la izquierda muestra la posici´on del p´ıxel seleccionado. Las dos im´agenes de la derecha son los histogramas de los estad´ısticos de color y gradiente m´as importantes, donde la altura de una barra es p

tvi

, la parte de luz de gris es p

tvi|t

y el m´aximo de la parte de oscuridad de gris es p

v

i

t

-p

tvi|t

. Los iconos que se muestran debajo de los histogramas corresponden a las caracter´ısticas de color y gradiente.

b) Caracter´ısticas para p´ıxeles de background din´amicos: Para p´ıxeles de background din´amicos asociados con objeto no estacionarios, las co-ocurrencias de color son usadas como sus caracter´ısticas din´amicas. Esto es porque la co-ocurrencia de color entre frames consecutivos es considerada adecuada para describir las caracter´ısticas din´amicas asociadas con objetos de back- ground no estacionarios. Dando un cambio entre frames del color c

(t−1)

= [R

t−1

, G

t−1

, B

t−1

]

T

a c

t

= [R

t

, G

t

, B

t

]

T

en el instante de tiempo t y el p´ıxel s(c

t

6= c

(t−1)

), el vector caracter´ıstico de co-ocurrencia de color es definido co- mo v = cc = [R

t−1

, G

t−1

, B

t−1

, R

t

, G

t

, B

t

]

T

. De manera similar, una tabla de estad´ısticas para co-ocurrencia de color T

cc

(s) es mantenida en cada p´ıxel. Sea I(s, t) = [I

R

(s, t), I

G

(s, t), I

B

(s, t)]

T

la imagen de color entrante; el vector de co-ocurrencia de color cc es generado por medio de la cuantizaci´on de los com- ponentes de color a baja resoluci´on. Por ejemplo, mediante la cuantizaci´on de la resoluci´on de color a 32 niveles para cada componente y seleccionado N(cc)

=50, se obtendr´ıa una representaci´on caracter´ıstica principal buena para un

p´ıxel de background din´amico. Un ejemplo de la caracter´ıstica principal de

representaci´on con co-concurrencia de color para una imagen parpadeante

(46)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

se muestra en la figura (4.5).Comparado con el espacio caracter´ıstico de co- ocurrencia de color de 32

6

celdas, N (cc) = 50 implica que con un n´ umero muy peque˜ no de vectores caracter´ısticos, las caracter´ısticas principales son capaces de modelar los p´ıxeles de background din´amicos.

Figura 4.5: Ejemplo de aprendizaje de las principales caracter´ısticas para un p´ıxel de background din´amico. La imagen de la izquierda muestra la posici´on del p´ıxel seleccionado. La imagen de la derecha es el histograma de los estad´ısticos para las m´as importantes co-ocurrencias de color en T

cc

(s), donde la altura de una de sus barras es el valor de p

tvi

, la parte de luz de gris es p

tvi|t

y el m´aximo de la parte de oscuridad de gris is p

v

i

t

-p

tvi|t

. Los iconos que se muestran debajo del histograma corresponden a las caracter´ısticas de co-ocurrencia de color y gradiente. En la imagen el color cambia en blanco, azul oscuro y azul claro peri´odicamente.

II. Aprendizaje y actualizaci´on de las estad´ısticas para las caracter´ısticas principales

Dado que el marco background puede sufrir tanto cambios graduales co- mo repentinos, se proponen dos estrategias para aprender y actualizar las estad´ısticas para las caracter´ısticas principales.

A. Para cambios de background graduales

En cada instante de tiempo, si el p´ıxel s es identificado como un punto

est´atico, las caracter´ısticas de color c y gradiente e son usadas para su clasifi-

caci´on como foreground o background. De otra manera, se usa la caracter´ısti-

ca de co-ocurrencia de color cc. Asumamos que el vector caracter´ıstico v es

usado para clasificar el p´ıxel s en el tiempo t bas´andose en caracter´ısticas

principales aprendidas previamente. Entonces las estad´ısticas de los vectores

caracter´ısticos correspondientes en la tabla T

v

(s) (v=c y e, o cc) son gradual-

mente actualizadas en cada instante de tiempo por:

(47)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

p

t+1v

(b) = (1 − α)p

tv

(b) + αL

tb

p

t+1vi

= (1 − α)p

tvi

+ αL

tvi

p

t+1vi|b

= (1 − α)p

tvi|b

+ α(L

tb

L

tvi

)

(4.11)

donde:

El ratio de aprendizaje α es un n´ umero positivo peque˜ no.

Y i=1,...,M(v).

En (4.11) L

tb

= 1 significa que s es clasificado como un punto de back- ground en el tiempo t en la segmentaci´on final, de otra manera, L

tb

= 0. De manera similar L

tvi

= 1 significa que el vector ith de la tabla T

v

(s) concuerda con el vector caracter´ıstico v, y de otra manera L

tvi

= 0.

De la operaci´on de actualizaci´on anterior se deduce lo siguiente. Si el p´ıxel s es etiquetado como un punto de background en el tiempo t, p

t+1v

(b) es incrementado ligeramente respecto a p

tv

(b) debido a L

tb

= 1. Adem´as, las probabilidades para el vector caracter´ıstico casado son tambi´en incremen- tadas debido a L

tvi

= 1. Sin embargo, si L

tvi

= 0, entonces las estad´ısticas para los vectores caracter´ısticos que no casan son decrementadas ligeramente.

Si no hay concordancia entre el vector caracter´ıstico v y los vectores en la tabla T

v

(s), el vector M(v)th en la tabla es remplazado por un vector carac- ter´ıstico nuevo.

p

t+1vM(v)

= α, p

t+1vM(v)|b

= α, V

M(v)

= v (4.12)

Si el p´ıxel s es etiquetado como un punto de foreground en el tiempo t, p

t+1v

(b) y p

t+1vi|b

son decrementados ligeramente con L

tb

= 0. Sin embargo, el vector casado en la tabla p

t+1vi

es incrementado ligeramente.

Los elementos actualizados en la tabla T

v

(s) son reclasificados en orden descendente con respecto a p

t+1vi

, tal que la tabla mantendr´ıa los vectores caracter´ısticos M(v) m´as frecuentes y significantes observados en el p´ıxel s.

B. Para cambios de background repentinos

Acorde a (4.4), los estad´ısticos de las caracter´ısticas principales satisfacen:

(48)

CAP´ ITULO 4. ARQUITECTURA FUNCIONAL

N(v)

X

i=1

P

s

(v

i

) = P

s

(b)

N(v)

X

i=1

P

s

(v

i

| b) + P

s

(f )

N(v)

X

i=1

P

s

(v

i

| f ) (4.13)

Estas probabilidades son aprendidas gradualmente con operaciones des- critas por (4.11) y (4.12) en cada p´ıxel s. Cuando se produce un cambio de background repentino, la nueva apariencia del background pronto llega a ser dominante despu´es del cambio. Con la operaci´on respuesta (4.12),con la operaci´on de acumulaci´on gradual (4.11) y reordenando en cada paso de tiempo, las caracter´ısticas nuevas aprendidas ser´an gradualmente movidas a las primeras posiciones peque˜ nas en T

v

(s). Despu´es de un tiempo de duraci´on, el t´ermino en la parte izquierda de (13) llega a ser grande (≈ 1) y el primer t´ermino en la parte derecha llega a ser muy peque˜ no debido a que las nuevas caracter´ısticas de background son clasificadas como foreground. Una nueva apariencia de background en s puede ser encontrada a partir de (4.6) y (4.13) si:

P

s

(f )

N(v)

X

i=1

P

s

(v

i

| f ) =

N(v)

X

i=1

P

s

(v

i

) − P

s

(b)

N(v)

X

i=1

P

s

(v

i

| b) > M 1 (4.14)

donde:

b: background anterior al cambio repentino.

f: nueva apariencia del background despu´es del cambio repentino.

El factor P

s

(f ) previene errores causados por un peque˜ no n´ umero de caracter´ısticas de foreground. Usando la notaci´on en (4.7) y (4.8), la condici´on (4.14) llega a ser:

N(v)

X

i=1

p

tvi

− p

tv

(b)

N(v)

X

i=1

p

tvi|b

> M 1 (4.15)

Una vez que la condici´on anterior est´a satisfecha, los estad´ısticos para el

foreground son afinadas para ser la nueva apariencia de background. Acorde

a (4.4), la operaci´on de aprendizaje repentina es realizada como sigue:

Referencias

Documento similar

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

quiero también a Liseo porque en mi alma hay lugar para amar a cuantos veo... tiene mi gusto sujeto, 320 sin que pueda la razón,.. ni mande

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

A medida que las organizaciones evolucionan para responder a los cambios del ambiente tanto para sobrevivir como para crecer a partir de la innovación (Stacey, 1996), los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones