Algorisme De Detecció De Cossos En Moviment
Transcript of Algorisme De Detecció De Cossos En Moviment
1
Algorisme de detecció de cossos en moviment a partir d’una
seqüència de vídeo
TITULACIÓ: Enginyeria en Automàtica i Electrònica Industrial
AUTOR: Adrià Marcos Pastor
DIRECTOR: Albert Oller Pujol
DATA: Juny de 2011.
2
Agrair,
a la meva família tot el suport que sempre m’ha donat,
a l’equip d’m-BOT Solutions les hores de treball compartides,
a Albert Oller les hores que m’ha dedicat,
i a tothom que m’ha animat en la realització d’aquest projecte.
3
Preàmbul
Aquest projecte final de carrera conté informació confidencial i s’acull a la
NORMATIVA DE PROJECTES FI DE CARRERA (ETI-E, ETI-EI, EAEI), aprovada per
la Junta del Centre 30/05/03.
L’empresa m-BOT Solutions amb domicili a l’ Avinguda Països Catalans, número 26
(CP 43007) de Tarragona, disposa de la informació classificada com confidencial que
correspon al desenvolupament de l’algorisme i el seu codi font.
4
Índex
1 Introducció ..................................................................................................... 9
2 Objectiu........................................................................................................ 10
3 Especificacions ............................................................................................ 10
4 Estat de l’art ................................................................................................. 11
4.1 Imatge digital .......................................................................................... 11
4.1.1 Adquisició de la imatge digital .................................................................... 11
4.1.2 Representació digital de la imatge ............................................................... 12
4.1.3 El color ........................................................................................................ 13
4.2 Detecció del foreground per extracció del fons d’una imatge ................ 19
4.2.1 Problemes canònics en l’extracció dels fons d’una imatge .......................... 20
4.2.2 Tècniques de modelat del fons d’una imatge ............................................... 21
4.2.3 Extracció d’ombres per millorar la detecció ................................................ 35
5 Detecció de moviment amb el càlcul de l’entropia espaciotemporal de la
imatge .......................................................................................................... 39
5.1 Concepte d’entropia ................................................................................ 39
5.1.1 Definició formal d’entropia ......................................................................... 40
5.2 Detecció de moviment basat en l’entropia .............................................. 40
5.2.1 Imatge d’Entropia Espacial i Temporal (STEI) ........................................... 40
5.2.2 Imatge d’Entropia Espacial i Temporal per Diferència d’Imatges (DSTEI). 43
6 Desenvolupament de l’algorisme ................................................................ 46
6.1 Anàlisi preliminar ................................................................................... 46
6.2 Paràmetres fonamentals .......................................................................... 46
6.3 Optimització del processat ...................................................................... 49
6.3.1 Look Up Table de quantització .................................................................... 50
6.3.2 Generació dels historials .............................................................................. 50
6.3.3 Look Up Table d’entropies parcials ............................................................. 51
6.4 Variables i la seva estructura .................................................................. 53
6.4.1 Dades de la informació: historials i entropia ................................................ 53
6.4.2 LUT_QUANTITZACIÓ .............................................................................. 54
6.4.3 LUT_ENTRO .............................................................................................. 54
6.4.4 Buffer d’imatges .......................................................................................... 55
6.5 L’algorisme ............................................................................................. 55
6.5.1 Diagrama de blocs de l’algorisme ................................................................ 56
6.5.2 Inicialització de variables mitjançant el fitxer de paràmetres ....................... 56
6.5.3 Preprocessat ................................................................................................. 57
5
6.5.4 Nucli del sistema de detecció ....................................................................... 57
6.5.5 Post processat .............................................................................................. 60
6.5.6 Posicionament del foreground amb moviment ............................................. 61
6.5.7 Actualització del fitxer dels cossos detectats ............................................... 62
7 Anàlisi i optimització dels paràmetres de l’algorisme ................................. 63
7.1 Descripció del hardware utilitzat ............................................................ 63
7.1.1 Càmera ......................................................................................................... 63
7.1.2 Ordinador ..................................................................................................... 63
7.2 Anàlisi dels paràmetres ........................................................................... 64
7.2.1 Anàlisi dels paràmetres fonamentals del sistema ........................................ 64
7.2.2 Paràmetres del preprocessat ......................................................................... 96
7.2.3 Paràmetres del postprocessat ....................................................................... 99
7.2.4 Paràmetres de la funció de localització ...................................................... 102
8 Conclusions................................................................................................ 104
9 Manual d’instal·lació i ús ........................................................................... 105
9.1 Instal·lació del Detector de Moviment .................................................. 105
9.2 Manual d’ús del detector de moviment ................................................. 108
9.2.1 Fitxer de càrrega de variables .................................................................... 108
9.2.2 Fitxer d’informació dels objectes en moviment localitzats ........................ 110
9.2.3 Execució del programa .............................................................................. 111
9.2.4 Funcionament del programa....................................................................... 111
10 Pressupost .................................................................................................. 117
11 Referències i bibliografia ........................................................................... 118
11.1 Referències ............................................................................................ 118
11.2 Bibliografia ........................................................................................... 119
12 Annex ......................................................................................................... 122
12.1 Codi font del programa final ................................................................. 122
12.1.1 Program.cs ................................................................................................. 122
12.1.2 Deteccion.cs ............................................................................................... 123
6
Índex de figures
Fig. 1. Robot Roinbot® ..................................................................................... 10
Fig. 2. Nomenclatura del sistema de coordenades dels píxels d'una imatge ..... 12
Fig. 3. Resposta relativa dels receptors de la retina humana en funció de la
longitud d’ona de la llum. ............................................................................................... 14
Fig. 4. Cub del model RGB ............................................................................... 14
Fig. 5. Representació gràfica del model HSV. .................................................. 16
Fig. 6. Figura que representa el model HSL. .................................................... 17
Fig. 7. Pla de crominància CbCr amb un grau de lluminositat Y de 0.5. .......... 18
Fig. 8. Diagrama de flux genèric d’un algorisme d'extracció del fons d'una
imatge per detectar el foreground. .................................................................................. 20
Fig. 9. Exemple del mètode per diferència absoluta. [Dalt] [Esquerra] El frame
original. [Dreta] Valor absolut de la diferència. [Baix] [Esquerra] Llindar massa alt.
[Dreta] Llindar massa baix. ............................................................................................ 21
Fig. 10. [Columna esquerra] Valors adoptats per un píxel en cada un dels canals
en una seqüència de frames. [Columna dreta] Histograma del frame actual. ................ 23
Fig. 11. Diferents distribucions Gaussianes al variar els paràmetres de la mitjana
aritmètica i la variància................................................................................................... 25
Fig. 12. a) Imatge original. b) Resultat de la primera fase de detecció. c)
Resultat posterior al filtratge per alta probabilitat de desplaçament. d) Resultat d'aplicar
la condició de desplaçament del component. ................................................................. 30
Fig. 13. Exemple de resposta freqüencial del mòdul d’un filtre de Chebyshev 35
Fig. 14. a) Frame original. b) Detecció amb el model de color (R, G, B). c)
Detecció amb el model de color (r, g). ........................................................................... 36
Fig. 15. Exemple de classificació del sistema Sakbot ....................................... 38
Fig. 16. Representació gràfica de la finestra d’acumulació. .............................. 41
Fig. 17. Exemples d'imatges de tipus STEI i captures originals. ....................... 43
Fig. 18. Efecte de la constant de recursivitat en la imatge d'entropies generada.
[D’esquerra a dreta] α=0.9 , α=0.8 , α=0.7 ..................................................................... 44
Fig. 19. Exemple d'imatges DSTEI i captures originals .................................... 45
Fig. 20. Gràfic que mostra la quantització dels 256 possibles valors que pot
prendre un píxel si es treballa en escala de grisos. ......................................................... 48
Fig. 21. Efecte del paràmetre modulador en la fórmula utilitzada per calcular
l'entropia. ........................................................................................................................ 49
Fig. 22. Exemple de LUT d'entropies parcials .................................................. 52
Fig. 23. Diagrama de blocs del conjunt del procés ............................................ 56
Fig. 24. Diagrama de blocs del conjunt del procés ............................................ 59
Fig. 25. Vista de la capçalera del fitxer dels cossos detectats. .......................... 62
Fig. 26. Càmera Logitech Sphere AF. ............................................................... 63
Fig. 27. Captura del primer escenari interior. ..................................................... 64
Fig. 28. Gràfic de comparació de la velocitat de captura en FPS en funció dels
paràmetres . ................................................................................... 69 Fig. 29. Gràfic dels fps que el sistema captura en funció del paràmetre
per dos valors de diferents. ....................................................... 71 Fig. 30. Gràfic d’entropies parcials en funció de les probabilitats que es tenen
per diferents moduladors inferiors a 1 en cas que .......... 72
Fig. 31. Gràfic d’entropies parcials en funció de les probabilitats que es tenen
per diferents moduladors superiors a 1 en el cas que ..... 73
7
Fig. 32. [Dalt] Filtratge de la imatge STEI mitjançant el factor d’entropia
mínima. [Baix] [Esquerra] Imatge emmagatzemada en el buffer. [Dreta] Localització
dels cossos en moviment ................................................................................................ 75
Fig. 33. Evolució de l’entropia màxima en funció de per quatre
moduladors. .................................................................................................................... 76
Fig. 34. Llindars d’entropia mínima per filtrar soroll provocat per la repetibilitat
del sensor de la càmera en funció de i quatre moduladors diferents. ........... 76 Fig. 35. Exemple de detecció en un escenari exterior amb filtratge de píxels amb
entropia inferior a la mínima llindar. .............................................................................. 77
Fig. 36. Corbes de relació entre llindars d’entropia mínima i entropies màximes
en % en funció de per quatre moduladors diferents. ...................................... 78 Fig. 37. Captura del segon escenari en interiors. ............................................... 80
Fig. 38. Detall de l’efecte associat a emmagatzemar pocs frames. ................... 84
Fig. 39. Gràfic de comparació de la velocitat de captura en FPS en funció dels
paràmetres . ................................................................................... 85
Fig. 40. Detall del mal funcionament de la generació d’imatges DSTEI amb
pocs valors de quantització. ............................................................................................ 88
Fig. 41. Gràfic dels fps que el sistema captura en funció del paràmetre
per dos valors de diferents. ......................................................... 90 Fig. 42. Exemple de problemes amb canvis d’il·luminació provocats pel
moviment dels cossos. .................................................................................................... 94
Fig. 43. Exemple del problema amb el parpalleig dels sistemes d’il·luminació
artificials. ........................................................................................................................ 94
Fig. 44. Rastre generat dels objectes en moviment per la baixa velocitat de
processament . ................................................................................................................ 95
Fig. 45.[Esquerra] El cos es mou en direcció transversal a la càmera. [Dreta] El
cos es mou cap a la càmera. ............................................................................................ 95
Fig. 46. Exemple de detecció generada per vibracions de la càmera[Esquerra]
Imatge de tipus STEI. [Dreta] Imatge de tipus DSTEI. .................................................. 96
Fig. 47. Exemple d’utilitat del filtre suavitzador [Dalt] [Esquerra] Captura
original. [Dreta] Imatge d’entropia. [Baix] Imatge d’entropia amb el soroll de les fulles
filtrat. .............................................................................................................................. 98
Fig. 48. [Esquerra] [Dalt] Captura original en escala de grisos sense filtre de
Gauss. [Baix] Captura original en escala de grisos amb filtre de Gauss. [Dreta] Imatges
STEI amb finestra d’acumulació de 3 píxels d’amplada. ............................................... 99
Fig. 49. [Dalt] [Esquerra] Captura original en escala de grisos. [Dreta] Imatge
d’energia en escala de grisos. [Baix] [Esquerra] Resultat d’aplicar un llindar de 70 per
binaritzar la imatge d’energia. [Dreta] Localització dels objectes en moviment. ........ 101
Fig. 50. [Dalt] [Esquerra] Captura original en escala de grisos. [Dreta] Imatge
d’energia en escala de grisos. [Baix] [Esquerra] Resultat d’aplicar una iteració d’erosió i
una de dilatació. [Dreta] Localització dels objectes en moviment. .............................. 101
Fig. 51. Detall de l’eliminació del contorn detectat mitjançant operacions
morfològiques. .............................................................................................................. 101
Fig. 52. Exemples de situacions en les que no s’han de localitzar els píxels que
presenten entropia. ........................................................................................................ 103
Fig. 53. Instal·lador de l’aplicació. .................................................................. 105
Fig. 54. Pantalla de benvinguda al procés d’instal·lació. ................................. 106
Fig. 55. Selecció de la ruta en què el programa s’instal·larà. .......................... 106
Fig. 56. Confirmació de les opcions seleccionades i inici de la instal·lació. ... 107
Fig. 57. Procés de la instal·lació. ..................................................................... 107
8
Fig. 58. Finalització de la instal·lació. ............................................................. 108
Fig. 59. Exemple de fitxer de paràmetres. ....................................................... 109
Fig. 60. Exemple de fitxer amb informació dels cossos localitzats generat amb
el programa. .................................................................................................................. 111
Fig. 61. Icona del programa. ............................................................................ 111
Fig. 62. Finestra d’exploració de carpetes per establir la ruta del fitxer de
paràmetres. .................................................................................................................... 112
Fig. 63. Finestra d’exploració de carpetes per establir la ruta del fitxer dels
objectes en moviment. .................................................................................................. 112
Fig. 64. Pantalla principal reduïda. .................................................................. 113
Fig. 65. Pantalla principal expandida............................................................... 114
Fig. 66. Panell d’ajust dels paràmetres del nucli del sistema. ......................... 115
Fig. 67. Panell de control del factor d’entropia mínima llindar. ...................... 115
Fig. 68. Panell de control del filtre de Gauss del preprocessat. ....................... 115
Fig. 69. Panell de control del paràmetres de les operacions del postprocessat.116
Fig. 70. Panell de control dels paràmetres de la funció de localització. .......... 116
Fig. 71. Botó de control de l’estat del timer. ................................................... 117
9
1 Introducció
El desenvolupament de la Visió Artificial dels últims anys ha vingut impulsat
per la indústria de l’automòbil, per la indústria dels sistemes de vigilància i també per la
creixent indústria de la robòtica, especialment la de servei. La indústria de l’automòbil
aplica la visió artificial per desenvolupar sistemes d’assistència al conductor i sistemes
de seguretat passius, que tenen per missió intentar evitar accidents. En aquest sentit
s’han desenvolupat algorismes que identifiquen les senyals vials, detecten la presència
de vianants, realitzen la detecció de vehicles en angles morts o fan el seguiment de les
línies vials de la carretera entre d’altres aplicacions. Els sistemes de vigilància tenen per
missió detectar els elements que no s’haurien de trobar en àrees específiques. En el cas
de la robòtica de servei la visió artificial és una eina molt potent que permet als sistemes
robotitzats realitzar múltiples funcions, com per exemple detectar cares o identificar
objectes.
L’evolució de la robòtica de servei ha produït l’aparició de robots mòbils que
tenen la finalitat de donar servei a les persones. Per donar servei a les persones cal que
el robot detecti la presència d’aquestes al seu voltant. El moviment dels robots de servei
es basa en la utilització de sensors que permeten la detecció d’obstacles però aquests
sensors sovint no són suficients per permetre que el robot detecti la presència de
persones al seu voltant. La visió artificial és una eina que aporta una mesura més global
de l’entorn que rodeja el robot que la que pot donar un sensor d’ultrasons o bé un
sensor làser per mesurar distàncies.
L’empresa m-BOT Solutions S.L. és una empresa de robòtica de servei que vol
dotar a un dels seus productes d’un sistema de detecció de cossos en moviment per tal
que aquest els posicioni i es dirigeixi cap a ells. El robot de servei en el que es pretén
incorporar aquesta aplicació té per nom Roinbot®. Actualment està dotat d’un sistema
de telemetria làser que permet mesurar la planta que es troba davant del robot. En
l’últim any s’ha desenvolupat una aplicació de detecció de cares per combinar-lo amb el
sensor làser i verificar que el cos que té davant és una persona i no un altre tipus
d’objecte. El problema que apareix és que tots dos sistemes no estan dissenyats per
treballar amb objectes situats a una distància superior als cinc metres i és per això que
l’empresa busca una alternativa. Així doncs, es proposa la detecció i localització de
cossos en moviment per tal d’orientar el robot en la direcció on es troben.
Per la realització del processat digital de les imatges en aquest projecte
s’utilitzaran llibreries de codi obert, les quals són de distribució i ús gratuïts. Les
llibreries utilitzades s’anomenen OpenCV [4] i van ser creades per Intel® l’any 1999.
Les funcions de OpenCV estan preparades per ser utilitzades amb el llenguatge de
programació C. En conseqüència s’utilitzarà la cross-platform anomenada Emgu CV [5]
que permet fer ús de les funcions de OpenCV en llenguatge .Net, com és el cas del
llenguatge C# llenguatge amb el qual s’haurà de portar a terme el desenvolupament
d’aquest projecte, ja que aquesta és una de les seves especificacions.
10
Fig. 1. Robot Roinbot®
2 Objectiu
L’objectiu d’aquest projecte és detectar els cossos que es mouen en el camp de
visió de la càmera, per tal que el robot, en el que s’integrarà l’aplicació, identifiqui un
possible objectiu quan no detecti persones prop seu mitjançant els sistemes de què
disposa actualment. El programa actualitzarà un fitxer de forma periòdica amb les dades
que corresponen als cossos localitzats.
Tot i que no es presenti una especificació de temps màxim per portar a terme la
detecció, és interessant que l’algorisme de processament sigui ràpid per tal de reduir el
temps que el robot està esperant la direcció en la que s’ha de moure.
3 Especificacions
Per la realització d’aquest projecte es marquen les següents especificacions
tècniques:
El software s’ha de desenvolupar en llenguatge de programació C#.
Els paràmetres de configuració del sistema s’han de poder ajustar
inicialment des de l’exterior del propi programa.
La sortida del algorisme consistirà en l’actualització de forma periòdica
d’un fitxer on s’hi haurà d’emmagatzemar la informació dels cossos
localitzats. El període de mostreig ha de ser un paràmetre que pugui ser
ajustable abans d’iniciar el programa. Les dades han de ser:
o El número d’identificació de la mostra.
o El número de cossos detectats.
o Les coordenades del centre de masses dels cossos.
o Àrea en píxels dels cossos.
11
4 Estat de l’art
En aquest projecte es pretén realitzar el software necessari per portar a terme la
diferenciació o segmentació dels elements que pertanyen al fons d’una imatge respecte
dels que no ho són i així identificar els cossos que es troben en moviment. El concepte
de fons de la imatge, o background en anglès, no és un concepte que estigui ben definit
però, en general, es considera que el background d’una imatge és qualsevol part d’una
escena que roman estàtica.
En moltes aplicacions de visió artificial, com poden ser sistemes de seguiment i
de vigilància, un bloc fonamental dels algorismes utilitzats és el de l’extracció del fons
de la imatge, que s’encarrega de diferenciar els elements que pertanyen al que
s’anomena foreground en anglès. La informació obtinguda d’aquest bloc permet el
funcionament de tasques de més alt nivell en el que es tracta l’anàlisi del moviment,
càlcul de trajectòries, estimació de velocitats relatives, identificació, etc.
De forma general els ambients es poden classificar entre interiors o exteriors.
Cadascun d’ells presenten característiques substancialment diferents. El problema
associat a treballar en ambients exteriors és la dificultat d’extreure el fons de la imatge
quan es tenen elements que no romanen completament estàtics, com per exemple, el cas
de les fulles dels arbres. En canvi, en interiors els principals problemes a superar són els
canvis sobtats d’il·luminació i el parpalleig dels sistemes d’il·luminació artificial.
L’algorisme implementat en aquest projecte es posarà a proba en ambdós tipus
d’entorns per avaluar-ne la seva efectivitat i extreure’n unes conclusions.
En aquest apartat de la memòria del projecte, en primer lloc es parla breument de
la imatge digital on s’inclouen aspectes com l’adquisició de les imatges, es presenta la
nomenclatura utilitzada en la literatura de l’anàlisi i processat d’imatges en el camp de
la visió artificial i es parla dels diferents models de color amb què es pot treballar. A
continuació es procedeix a tractar amb més detall l’extracció del background d’una
imatge, els problemes principals que compliquen aquesta tasca, les tècniques que
s’apliquen i es fa un repàs dels algorismes existents.
4.1 Imatge digital
4.1.1 Adquisició de la imatge digital
En un sistema de visió artificial l’ordinador és l’encarregat de realitzar l’anàlisi
de la imatge i aquest ha d’estar connectat a un dispositiu que proporcioni aquesta
imatge. El dispositiu pot ser per exemple una càmera digital la qual pot estar connectada
mitjançant el bus USB (Universal Serial Bus), FireWire (IEEE 1394), Camera Link, o
bé Gigabit Ethernet (IEEE 802.3). Qualsevol càmera estàndard de vídeo requereix d’un
frame grabber que consisteix en un component hardware que accepta un estàndard de
senyal de vídeo analògic i el converteix en una imatge en un format que l’ordinador pot
reconèixer- una imatge digital. El procés de transformació d’un senyal de vídeo
estàndard a una imatge digital s’anomena digitalització. Aquesta transformació és
necessària perquè l’estàndard de vídeo consisteix en un senyal analògic i l’ordinador
necessita que les dades estiguin en format digital.
Un senyal de vídeo típic conté frames d’informació del vídeo, on cada frame
presenta una mostra completa de la informació visual que s’ha capturat. El senyal de
12
vídeo analògic es digitalitza mostrejant aquest senyal a una freqüència fixa, mesurant
cada cert temps el nivell de voltatge del senyal. El valor del voltatge a cada instant de
temps es converteix en un número que és emmagatzemat i que correspon a la quantitat
de brillantor de la imatge en el punt corresponent. La brillantor en un punt depèn de les
característiques intrínseques de l’objecte i de les condicions de llum que es donin en
l’escena. Una vegada s’ha completat el procés per un frame sencer, l’ordinador pot
emmagatzemar-lo i processar-lo com una imatge digital.
4.1.2 Representació digital de la imatge
La imatge es considera com una matriu bidimensional de
elements. Cada element de la matriu es coneix com a píxel
(picture element). Per les imatges digitals se segueix la següent nomenclatura.
El conveni establert de sistema de coordenades per referir-se a un píxel concret
és el que es mostra a la figura.
Fig. 2. Nomenclatura del sistema de coordenades dels píxels d'una imatge
Aquest model fa referència a les dades d’una imatge monocromàtica, mitjançant
una escala de grisos però es tenen altres tipus d’imatges amb dades que requereixen una
extensió d’aquest model ja que disposen de múltiples bandes. El tipus d’imatges
multibanda són les de color o multiespectrals, tot i que en aquest projecte només es
tracten les de color. A cada canal o banda li correspon una funció diferent del tipus
de quantitat de llum. Al llarg d’aquest projecte es tractaran diferents tipus d’imatges: binàries, escala de grisos i de color. És per això que convé fer-ne una
explicació prèvia.
4.1.2.1 Imatges binàries
Les imatges binàries són les imatges més simples, els píxels de les quals només
poden adoptar dos valors possibles “0” o “1”. Per tant, per cada píxel únicament és
necessari un bit de codificació. Aquest tipus d’imatges s’utilitzen en general per
aplicacions de visió per computadors on l’única informació requerida són formes o
contorns dels objectes.
Les imatges binàries sovint s’obtenen a partir d’imatges en escala de grisos en
les que s’aplica llindar, on els píxel que sobrepassen el llindar es converteix en blanc
(“1”) mentre que els valors que queden per sota es transformen en negre (“0”). En
aquest procés es perd molta informació, però la imatge resultant és més fàcil
13
d’emmagatzemar i de transmetre, gràcies a la reduïda quantitat de dades que conté si es
compara amb una imatge en colors.
4.1.2.2 Imatges en escala de grisos
Les imatges en escala de grisos són imatges monocromàtiques. La informació
que contenen és la quantitat de llum i no disposa d’informació de color. El número de
bits utilitzats per cada píxel determina el nombre de combinacions possibles per
codificar els nivells de lluminositat que es poden tenir.
En cas que una imatge en escala de grisos contingui 8 bits per píxel permet tenir
256 combinacions diferents possibles [0, 255] de nivells de lluminositat o de grisos. És
típic utilitzar aquesta quantitat de memòria per cada píxel perquè és la unitat bàsica
d’informació en el món digital.
En certes aplicacions, com per exemple mèdiques o d’astronomia, s’arriben a
utilitzar entre 12 i 16 bits de codificació, ja que són àmbits en els què és important
disposar d’una major resolució de la lluminositat.
4.1.2.3 Imatges en color
Les imatges amb color es poden modelar com una imatge amb tres bandes
monocromàtiques i a cada banda li correspon un color diferent. La informació real que
s’emmagatzema en la imatge digital és la quantitat de color en cada banda. Quan la
imatge es presenta per pantalla, la informació de brillantor es mostra mitjançant fonts
emissores d’energia corresponents a cada un dels colors. El model més utilitzat en les
imatges a color és el model de color RGB i, sovint, s’utilitzen 8 bits per cadascun dels
tres canals. Per fer referència a la intensitat de llum d’un sol píxel en cada canal,
s’utilitza la nomenclatura del vector (R, G, B). Cada valor de dins el vector indica la
quantitat de llum que es té en cada canal. Tot i així, el model RGB no és l’únic i es
presenten altres tipus de models de colors més endavant.
4.1.3 El color
La percepció del color és molt important pels humans. Els humans utilitzen la
informació del color per distingir objectes, materials, menjars, llocs i fins i tot l’hora del
dia. La percepció humana del color depèn de la física de la llum i del complex processat
que realitzen conjuntament l’ull i el cervell. Aquest últim integra les propietats de
l’estímul amb l’experiència per aquest motiu, una mateixa imatge amb diferent
informació de color fa canviar totalment la interpretació que es pot fer de la imatge ni
que es mantinguin les formes que apareixen.
D’altra banda, és l’ull l’encarregat de rebre la informació visual. La radiació
electromagnètica amb una longitud d’ona λ que es trobi en el rang entre els 400 nm i
els 700 nm estimula els receptors de l’ull humà i permet que es produeix la sensació de
color. Aquest rang configura el marge de longituds d’ona de la llum visible, és a dir, la
llum que els humans són capaços de veure. La reacció dels receptors, en realitat, és més
sensible a algunes longituds d’ona que en d’altres. Per exemple, els receptors que són
més sensibles a les longituds d’ona que es troben entre els 400 nm i els 500 nm són els
més sensibles al color blau. Els receptors sensibles al color verd presenten el seu punt
màxim de sensibilitat a la longitud d’ona de 535 nm, mentre que els que tenen més
sensibilitat a les longituds situades al voltant dels 575 nm són sensibles al color vermell.
Va aparèixer així el model de color Red-Green-Blue per tal de poder descriure de forma
14
numèrica els diferents colors als que els receptors de l’ull humà responen. El model de
color RGB no és l’únic model que existeix. Entre tots els existents, els models HSV,
HLS, YUV i YCbCr són els més destacables.
Fig. 3. Resposta relativa dels receptors de la retina humana en funció de la longitud d’ona de la llum.
Les màquines poden utilitzar el color amb la mateixa finalitat que ho fan els
humans. El color és especialment convenient perquè aporta múltiples mesures en un
mateix píxel de la imatge. Aquest fet permet portar a terme classificacions de forma
menys complexa que si es realitza una anàlisi de les característiques espacials que
presenta el conjunt que envolta el píxel.
4.1.3.1 Model de color RGB
La codificació de color mitjançant el model RGB utilitza els colors blau, vermell
i verd per establir les seves bases. Si per exemple, per cadascun dels 3 colors es codifica
la informació en un byte de memòria, els valors que es poden codificar per cada color
primari pertanyen a l’interval [0, 255]. En conseqüència, si es tenen 3 bytes, o 24 bits,
per codificar el valor de cada píxel es poden codificar (28)3
colors diferents, número que
ronda al voltant dels 16 milions de colors possibles. Els humans no són capaços de distingir entre tants colors diferents però pels ordinadors no deixen de ser números en
format matricial. La codificació d’un color qualsevol en l’espectre visible es pot
realitzar mitjançant la combinació dels colors primaris (RGB). Per exemple, per generar
el color groc (255, 255, 0) s’ha de mesclar el vermell (255, 0, 0) amb el verd (0, 255, 0).
La relació de les coordenades dels valors del color es pot apreciar en la figura que
segueix.
Fig. 4. Cub del model RGB
La quantitat de cada color primari dóna la seva intensitat. Si es combinen tots
tres colors primaris en la seva màxima intensitat, el color obtingut és el blanc (255, 255,
255). En canvi, el color negre és la mínima intensitat (0, 0, 0). Qualsevol tonalitat de
gris pur compleix que les seves quantitats de colors primaris és el mateix, però no és ni
15
el màxim (255) ni el mínim (0). Per tant qualsevol color gris serà de la forma (c, c, c) on
“c” serà més gran que 0 i més petit que 255.
A vegades és convenient escalar els valors en el rang de 0 a 1 i no tenir
representats els colors de 0 a 255. Així s’aconsegueix independitzar el rang de valors
del dispositiu que proporciona la informació del número de bits amb què dóna la
informació. S’ha de complir que la suma dels 3 components normalitzades del color
RGB sumen 1. Per calcular la intensitat i el valor normalitzat de cada component
s’utilitzen les següents expressions.
(1)
4.1.3.2 Model de color HSV
Va ser creat per Alvy Ray Smith l’any 1978 i presenta l’avantatge que s’adapta
millor a les característiques de l’ull humà. El model HSV (Hue, Saturation, Value -
Tonalitat, Saturació, Valor) pretén millorar la representació de les relacions entre els
colors que ofereix el model RGB, centrant-se en la tonalitat, la saturació i el valor. Es
tracta d’una transformació no lineal del model RGB. Les següents característiques es
refereixen als paràmetres que es poden visualitzar en la figura que representa aquest
model.
La tonalitat representa el tipus de color (com vermell, blau o verd). Es
representa mitjançant una mesura d’angle en graus que pot anar des de 0° fins a
360°. Per exemple, els 0° correspon al color vermell, els 120° correspon al color
verd i els 240° correspon al color blau.
La saturació es representa com la distància a l’eix de brillantor negre-blanc (eix
central de la figura cilíndrica). També s’anomena puresa segons la literatura del
color. Quanta menys saturació presenti el color, més tonalitat grisosa presentarà.
El valor del color és el grau de brillantor del color. Representa l’altura del eix de
negre-blanc. Com més altura més brillantor presenta.
16
Fig. 5. Representació gràfica del model HSV.
Equacions de transformació de RGB a HSV
Es defineix MAX com el valor màxim de les components (R, G, B) i MIN el
mínim dels mateixos. Els valors de R’, G’ i B’ han d’expressar-se amb un número
entre 0 a 1. Així doncs, es defineix primerament:
(2)
Les equacions de HSV són:
(3)
(4)
(5)
4.1.3.3 Model HSL
De la mateix forma que el model anterior, el model HSL va ser creat per Alvy
Ray Smith com una altra representació en 3D del color. El model HSL (Hue,
Saturation, Lightness - Tonalitat, Saturació, Lluminositat) presenta uns avantatges
respecte el model HSV i és que els components de saturació i lluminositat augmenten el
seu rang de valors. El model HSL conté totes les tonalitats en diferents nivells de
saturació al llarg del pla horitzontal i en varia la seva intensitat al llarg del pla vertical.
Les tonalitats purament saturades se situen al llarg del perímetre circular. La saturació
del color disminueix a mesura que es mou cap a l’eix central en el mateix pla. Si el
moviment és vertical, el canvi es produeix en la lluminositat del color. Cap amunt el
color acaba sent blanc mentre que el moviment cap baix finalitza amb el color negre.
17
Fig. 6. Figura que representa el model HSL.
Equacions de transformació de RGB a HSL
De la mateixa manera que en el cas anterior, les components R, G i B s’han
d’expressar entre 0 i 1. La notació MAX i MIN segueix segons el que s’ha establert en
l’apartat anterior.
(6)
(7)
(8)
4.1.3.4 Models de color YUV i YCbCr
El model RGB no és eficient per emmagatzemar ni transmetre les dades ja que
presenta molta redundància en el seu model. És per aquest motiu que els model de color
utilitzats en els dispositius de vídeo o de televisió són els models YUV i YCbCr.
Aquests models posseeixen un canal de lluminositat i dos de crominància que
codifiquen el color.
Tal i com s’ha dit anteriorment, l’ull humà no és capaç de distingir tots els colors
possibles que ofereix el model RGB. És per això que, per la creació d’aquest model s’ha
tingut en compte la percepció humana ja que utilitza un ample de banda reduït pels
components de crominància i permet una reducció considerable de la quantitat de dades
a emmagatzemar i transmetre.
Històricament el model de color YUV va ser desenvolupat per permetre la
compatibilitat entre els sistemes de televisió en blanc i negre i els que disposaven de
color. El canal Y conté la informació de lluminositat i els altres dos la codificació del
color.
18
El terme YUV per ell sol no està definit de forma concreta en la literatura
científica o tècnica. En general defineix el conjunt de famílies de models de colors que
treballen amb lluminositat i crominància. La millor forma d’evitar ambigüitats
associades al terme YUV és fer referència a la variant concreta del model YUV que
s’ha definit correctament mitjançant documents estàndard internacionals. És el cas del
model YCbCr el qual és definit pels estàndards ITU-R BT. 601-5 (televisió normal) i
ITU-R BT. 709-5 (televisió en alta definició) publicats per la Unió Internacional de
Telecomunicacions. Aquests documents defineixen el model YCbCr com el model a
utilitzar en els sistemes de televisió digital i donen coeficients de conversió entre el
model RGB i el model YCbCr per normalitzar els senyals digitals de vídeo.
Fig. 7. Pla de crominància CbCr amb un grau de lluminositat Y de 0.5.
Equacions de transformació de RGB a YUV
(9)
Equacions de transformació de RGB a YCbCr
Les equacions generals són:
(10)
(11)
(12)
Aplicant les constants determinades per l’estàndard ITU-R BT. 601-5:
S’obtenen les següents equacions de transformació:
19
(13)
4.2 Detecció del foreground per extracció del fons d’una
imatge
Els sistemes de vigilància que s’encarreguen de detectar persones, objectes o
altres successos d’interès normalment consisteixen en càmeres immòbils que enfoquen a
un entorn determinat. Mitjançant aquestes càmeres i un sistema de computació que
processa les imatges, es notifica als operadors humans o bé a altres algorismes de
processat, de la presència d’objectes que no pertanyen al background. La detecció de
moviment que es vol aconseguir en aquest projecte està molt relacionada amb els
mètodes de segmentació del foreground d’una imatge respecte el background. És per
aquest motiu que s’han estudiat prèviament el funcionament d’aquest tipus
d’algorismes.
Tot i que existeixen una gran quantitat d’algorismes que extreguin el fons d’una
imatge, la majoria d’ells segueixen un diagrama de flux com el que es pot veure en la
figura 8. Els 4 passos en un algorisme d’extracció del fons de la imatge són el
preprocessat, el modelat del fons de la imatge, la detecció del foreground i la validació
de les dades. El preprocessat consisteix en tasques de processament que modifiquen les
imatges capturades per adequar-les abans de seguir avançant en el procés. El modelat
del fons de la imatge utilitza les noves imatges obtingudes per calcular i actualitzar el
fons de la imatge. El model del fons de la imatge aporta una descripció estadística
d’aquest fons. La identificació dels píxels pertanyents al foreground de les noves
captures es produeix quan no es poden explicar de forma adequada per mitjà del model
que es té del fons de la imatge. A partir d’aquesta identificació, es genera una màscara
binària candidata per indicar si el píxel forma part del fons de la imatge o no. La
validació de les dades examina la màscara candidata i elimina aquells píxels que no es
corresponen realment amb els objectes que es troben en moviment i així es genera la
màscara final del foreground .
Captura
d’imatges
Preprocessat Modelat del
Background
Detecció del
Foreground
Validació
de les dades
Màscares del
Foregorund
EXTRACCIÓ DEL FONS D’UNA IMATGE
20
Fig. 8. Diagrama de flux genèric d’un algorisme d'extracció del fons d'una imatge per detectar el
foreground.
La distinció dels píxels que no formen part del background dels que sí que
formen part, no és una tasca trivial ja que existeixen una sèrie de problemes relacionats.
Aquests es descriuen en el següent apartat.
4.2.1 Problemes canònics en l’extracció dels fons d’una imatge
Els problemes que a continuació s’exposen es presenten en [16] on s’estudia
l’extracció del fons de la imatge i es proposa un algorisme que s’anomena Wallflower,
el qual s’ha convertit en una referència amb molt de renom dins aquest camp.
Els objectes moguts. Un objecte del background pot ser que es mogui i a
continuació deixi de moure’s un altre cop. Aquest tipus d’objectes no s’han de
considerar foreground per sempre. Al cap d’un temps determinat s’ha de deixar
de detectar.
L’hora del dia. La il·luminació en entorns exteriors canvia de forma gradual al
llard del dia i això altera l’aparença del fons de la imatge.
Canvis bruscs d’il·luminació. Els canvis bruscs en la il·luminació es pot
generar, per exemple, amb l’accionament d’un interruptor o bé es projecta una
ombra sobre el dispositiu que captura les imatges. En aquestes situacions,
l’aspecte del fons de la imatge canvia.
Moviment dels arbres. L’aspecte del fons de la imatge pot variar i vacil·lar, la
qual cosa comporta que l’algorisme identifiqui i permeti aquests tipus de canvis.
Camuflatge. És possible que les característiques dels píxels que pertanyen al
foreground s’incloguin involuntàriament en el model del fons de la imatge i el
degenerin.
L’efecte de bootstrapping. Terme que s’utilitza en estadística per referir-se al
remostreig per aproximar la distribució en el mostreig estadístic. El problema
que apareix és que, sovint no es disposa d’un període de temps per obtenir un
model del fons en què aquest estigui lliure d’objectes que pertanyen al
foreground.
Obertura del foreground. Quan un objecte que forma part del foreground es
mou i està acolorit de forma homogènia, el canvi en els píxels interiors de
l’objecte no es poden detectar. Aquesta situació pot generar que no es detectin
com píxels que formen part del foreground.
“Persona dorment”. Un objecte que pertany al foreground que aparenta no
tenir moviment, pot ser que no es pugui distingir del fons de la imatge.
Persona que es “lleva”. Quan un objecte del fons de la imatge es mou, tant
l’objecte com el nou fons de la imatge que queda al descobert poden aparèixer
com elements que pertanyen al foreground.
21
Ombres. Els objectes que pertanyen al foreground poden projectar ombres al
seu voltant provocant que les ombres generades també es detectin. Aquest
aspecte ha estat tractat molt a fons per Cucchiara, Piccardi i Patri en [6].
A més de tots aquest problemes, el funcionament en temps real és també un altre
problema que augmenta la dificultat del procés. Tot i que s’hagin desenvolupat
algorismes força robustos per realitzar l’extracció del background de la imatge, en
aquest mateix article s’adverteix que no existeix, encara, cap sistema perfecte ni una
única solució.
4.2.2 Tècniques de modelat del fons d’una imatge
Sovint és necessari un model del fons de la imatge. Com que no existeix una
forma única de resoldre el problema existeixen diferents tècniques que funcionen amb
més o menys eficàcia i eficiència.
El plantejament bàsic és detectar els elements del foreground com la diferència
entre el frame actual i una imatge de l’escena estàtica del background, que superi un
llindar concret. És a dir:
(14)
Fig. 9. Exemple del mètode per diferència absoluta. [Dalt] [Esquerra] El frame original. [Dreta] Valor
absolut de la diferència. [Baix] [Esquerra] Llindar massa alt. [Dreta] Llindar massa baix.
Aquest mecanisme genera el primer problema: obtenir de forma automàtica la
imatge que representa el fons de la imatge. Aquesta imatge no és fixa i s’ha d’adaptar
als canvis d’il·luminació graduals i instantanis, a canvis generats per les oscil·lacions de
la pròpia càmera o bé el moviment d’elements que pertanyen al background i que no
han de ser detectats com per exemple el vaivé de les fulles, onades i canvis en la
geometria del fons donat per objectes que es mouen i després queden en repòs. Els
mètodes més estesos i utilitzats són els següents.
22
4.2.2.1 Mètodes bàsics
Per diferència de frames
Consisteix en calcular el valor absolut de la diferència entre el frame actual i el
frame anterior. Els píxels que superin un llindar concret pertanyen al foreground i els
que no pertanyen al background.
(15)
Aquest mètode tendeix a obtenir únicament els contorns dels objectes en
moviment, pel problema de l’obertura del foreground. Els canvis d’il·luminació sobtats i
el moviment dels arbres o les vibracions de la pròpia càmera també generen problemes.
El valor del llindar és un paràmetre que depèn molt de les condicions particulars que es
tinguin en l’entorn de treball i dels objectes a detectar, així com de la seva velocitat
aparent i la freqüència en què s’obtinguin els frames.
Mitjana aritmètica
Proposats per Velastin i Cucchiara. Es pretén calcular el promig o el valor mig
aritmètic d’N frames previs per generar . A continuació s’aplicaria l’expressió (14). És més lent, millora el resultat però el gran desavantatge és el fet
d’haver de guardar en memòria N frames anteriors. El valor promig es calcula aplicant
la següent fórmula.
(16)
On:
Tractament del background com la mitjana contínua
Aquest mètode segueix l’expressió que apareix a continuació. Aquest mètode,
respecte l’anterior, presenta l’avantatge que l’ús de memòria és molt menor.
(17)
El valor de és el rati d’aprenentatge i s’obté de forma empírica, tot i que habitualment val 0.05.
Càlcul de la variància
La variància entre els valors d’un píxel concret al llarg dels N frames
emmagatzemats és un paràmetre estadístic que sovint s’utilitza per estudiar el
comportament dels píxels. La fórmula de la variància (σ) és la que segueix.
(18)
El problema que planteja aquesta fórmula és que és necessària fer una primera
passada a través de les imatges per calcular la mitjana aritmètica i una segona passada
per calcular la variància. Així que es calcula utilitzant l’última expressió que
apareix al final de la demostració.
23
(19)
D’aquesta manera es calcula tot de forma directa en una única passada.
Càlcul de la covariància
També es pot calcular el grau de variació entre dues seqüències de N imatges al
cap d’un temps determinat mitjançant el càlcul de la covariància que existeix entre elles entre.
(20)
On:
Per racionalitat
Es pot modelar cada píxel del background mitjançant l’aplicació d’una sèrie de
pesos promitjats a la història recent dels valors dels píxels on els pesos dels últims
frames tenen un pes més gran. En essència, el model del background es computa com
un promig històric dels valors de cada píxel al llarg dels últims N frames.
Per histogrames
Es poden localitzar els píxels que pertanyen al foreground localitzant els valors
que presenten més variació en els histogrames de les imatges obtingudes. Un
histograma és un recompte del nombre de vegades que es dóna cada valor que poden
adoptar els píxels.
Fig. 10. [Columna esquerra] Valors adoptats per un píxel en cada un dels canals en una seqüència de
frames. [Columna dreta] Histograma del frame actual.
24
Per selectivitat
Cada píxel del nou frame obtingut es classifica com foreground o background.
S’aprofita aquesta classificació per actualitzar el fons de la imatge. Si es detecta que el
píxel forma part del foreground, aquest no es té en compte per l’actualització del model
del background. D’aquesta manera es prevé que el model del background quedi
contaminat pels píxels que no en formen part. Existeix un interval crític per portar a
terme la selecció ja que apareixen els problemes dels “objectes moguts” i el de
“camuflatge”.
Els mètodes bàsics presenten limitacions substancials. No permeten una elecció
explícita del llindar a establir i no s’estableix un model múltiple, sinó únic i per aquest
motiu la forma de la distribució dels valors permesos és molt limitada. A més, en
general no s’estudia la relació que existeix entre els píxels cosa que genera soroll en el
resultat obtingut. L’anàlisi és a nivell de píxel i comporta obtenir falsos positius.
4.2.2.2 Mètodes estadístics
4.2.2.2.1 Probability Density Function - PDF
La funció de densitat de la probabilitat d’una variable contínua, segons la teoria
de la probabilitat, és una funció que descriu la densitat de la probabilitat en cada punt de
l’espai de tal manera que la probabilitat de què una variable aleatòria adopti un valor
dins d’un determinat conjunt, sigui la integral de la funció de densitat sobre aquest
conjunt. Una variable té una funció de densitat de probabilitat f, on f és una funció no negativa i integrable.
(21)
En visió artificial no es té una variable contínua sinó discreta. Una funció de
probabilitat d’una variable discreta és una funció que associa a cada punt, del seu espai
mostral , la probabilitat de què aquest l’adopti. Per exemple, un espai mostral de la
variable aleatòria consta de , la funció de probabilitat P associada a és:
(22)
Per definició la probabilitat ha de complir.
(23)
4.2.2.2.2 Single Gaussian - SG
Creat per Christopher Richard Wren que presenta en el seu treball Pfinder [9] un
algorisme de seguiment de persones i interpretació dels seus moviments gestuals. En ell
es planteja el modelat de l’escena al voltant de les persones detectades com una
superfície. A cada punt de la superfície se li associa la mitjana de color que presenta i
una distribució al voltant d’aquesta mitjana. Per modelar la distribució del color de cada
25
píxel es fa ús d’una funció de probabilitat que presenta una distribució Gaussiana
descrita per una matriu de covariància. La funció de distribució Gaussiana utilitza la
següent funció per calcular-ne la probabilitat.
(24)
Aquest tipus de funció de densitat de probabilitat genera funcions amb l’aspecte
de campana de Gauss.
Fig. 11. Diferents distribucions Gaussianes al variar els paràmetres de la mitjana aritmètica i la variància.
Abans que el sistema pretengui localitzar la persona que apareix en l’escena,
l’ha d’estudiar i construir el model de l’escena observada, sense que hi hagi persones
dins de l’escena. La seqüència d’imatges inicials típicament ha de ser d’un temps entre
1 i 2 segons per tal d’obtenir una bona estimació de la variància associada a cada píxel
de la imatge. Es defineix una μ0 com la mitjana aritmètica d’un punt en la superfície i
una per la variància de la distribució d’aquest punt. Amb cada nou frame, , s’aplica
un filtre adaptatiu i recursiu per actualitzar els valors estadístics dels píxels. La constant
α actua com la constant d’aprenantatge.
(25)
Per millorar l’eficiència, computacionalment parlant, que comporta aquest
estudi, es treballa amb l’espai de color YUV. S’utilitza la tècnica de selectivitat gràcies
al “mapa de suport” per classificar els píxels en funció de si pertanyen al background o
al foreground. Aquest algorisme és un dels primers en aparèixer i està pensat per ser
utilitzat en entorns interiors com oficines o aules.
4.2.2.2.3 Mixture of Gaussian - MoG
Chris Stauffer i W.E.L. Grimson en [3] presentaren una evolució de sistema
utilitzat per Wren i ho van combinar amb el que N. Friedman i S. Russell van iniciar en
sistemes de visió artificial: mescles de distribucions Gaussianes per classificar els
píxels. En [3] es classifiquen els píxel segons 3 distribucions Normals per tasques de
vigilància en sistemes de control de tràfic. Segons la intensitat del píxel es pondera una
mescla de 3 distribucions per determinar si el píxel forma part de la carretera, una
ombra o un vehicle.
26
En comptes de models explícits dels píxels com un tipus particular de
distribució, es crea per cada píxel un model particular amb una mescla de K
distribucions gaussianes. La determinació dels Gaussians que corresponen al
background de la imatge es basa en la persistència i la variància de les distribucions
gaussianes. Els valors dels píxels que no encaixen amb les distribucions del background
es consideren foreground, fins que aparegui una distribució amb consistència suficient
com per incloure’ls en el background.
Aquest sistema s’adapta de forma robusta als canvis d’il·luminació, als elements
que es mouen de forma repetitiva en l’escena, als objectes que es mouen lentament i als
objectes que s’introdueixen o s’extreuen d’ella. Els objectes que es mouen lentament
tarden més a incorporar-se en el background si els seus colors tenen una gran variància
respecte el model del fons de la imatge, en canvi el model és capaç d’aprendre les
variacions repetitives.
Si només fos la il·luminació el que canvia al llarg del temps, seria suficient un
model adaptatiu únic gaussià per cada píxel. A la pràctica cada píxel adopta valors que
presenten múltiples superfícies. Per tant és necessari construir un model que treballi
amb un conjunt de distribucions gaussianes per reduir l’error.
L’algorisme construeix el model a nivell de píxel a partir dels valors que adopta
al llarg del temps. Per exemple, en un moment donat t, se sap que els valors d’un píxel
concret en una seqüència d’imatges li corresponen els valors següents:
(26)
La història dels últims “t” valors del píxel es modelen en una barreja de
distribucions gaussianes. La probabilitat d’observar l’actual valor del píxel és:
(27)
Aquesta funció es defineix així:
(28)
El valor de K es determina segons la quantitat de memòria i la potència de càlcul
disponible. Normalment s’utilitzen valors entre 3 i 5. A més per qüestions de
computació s’assumeix que la matriu de covariància és de la forma:
27
(29)
Cada nou valor de píxel, , es testeja en les K distribucions gaussianes existents. Un píxel que es trobi dins del marge de 2.5 vegades la desviació estàndard,
compleix amb la distribució que s’estigui comprovant. Si el valor del píxel no satisfà
cap de les K distribucions, la distribució menys probable és substituïda per una nova
distribució amb la mitja com el nou valor, una alta variància i un pes baix associat a
aquesta distribució. Els pesos de les K distribucions en un moment t, és a dir , s’ajusten de la següent manera:
(30)
Després d’aquesta aproximació, els pesos es normalitzen. La constant de temps
que determina la velocitat en què els paràmetres de les distribucions canvien, ve definit
per 1/α. Els paràmetres μ i la σ de les distribucions que no s’han complert no
s’actualitzen. En canvi, els de les distribucions que sí s’han complert s’actualitzen
segons les expressions que segueixen:
(31)
On:
(32)
Aquest sistema dóna bons resultats tant per ambients interiors com per exteriors.
Es va utilitzar per fer tasques de seguiment de persones i de cotxes, peixos en tancs
d’aigua i detecció de formigues sobre el terra. En tots els casos es van fer servir
diferents càmeres, diferents intensitats de llum ambient i diferents objectes a seguir.
4.2.2.2.4 Kernel Density Estimation - KDE
Va ser desenvolupat i presentat per Ahmed Elgammal, David Harwood i Larry
Davis en [11]. Aquesta tècnica fa una estimació de la probabilitat de veure els valors de
la intensitat dels píxels a partir d’una mostra d’intensitats per cada píxel. El model
s’adapta ràpidament als canvis en l’escena cosa que permet una detecció molt sensible
dels objectes en moviment. A més, a partir de la informació del color s’elimina la
detecció d’ombres produïdes pels objectes que es troben en moviment.
L’objectiu d’aquesta tècnica és capturar informació recent per poder actualitzar
ràpidament la informació i ser capaç de detectar canvis ràpids en el model del
background. Com que la distribució de la intensitat d’un píxel pot canviar d’una forma
ràpida, s’ha d’estimar la funció de densitat d’aquesta distribució al llarg del temps, a
partir de la informació més recent si es vol aconseguir una detecció prou sensible.
28
Anomenem als valors de intensitat obtinguts d’un píxel particular en N mostres
més recents com: . Amb aquesta mostra, la funció de densitat de
probabilitat, que el valor en el moment “t” tingui aquest valor concret d’intensitat, es pot estimar utilitzant el kernel d’estimació K de la forma següent. Així no és necessari
parametritzar les variables de forma estadística.
(33)
Si s’escull el kernel d’estimació, K, com una funció normal de distribució
on representa l’ample de banda del kernel, la densitat de probabilitat es pot
estimar com:
(34)
Si s’assumeix la independència entre els diferents canals, en cas d’utilitzar algun
model de color, el kernel presenta diferents variàncies o amples de banda, , i aquests
es representarien com apareix a continuació. El terme “j” indica el número de canals
utilitzats. En un model normal com pot ser l’RGB aquest terme seria igual a 3.
(35)
En conseqüència l’estimació de la densitat es redueix a:
(36)
Mitjançant aquesta estimació de la probabilitat, el píxel es considera que pertany
al foreground si on el llindar th és un llindar global per tota la imatge i
s’ha d’ajustar per tal d’obtenir un percentatge reduït de falsos positius. Aquest sistema
es pot implementar mitjançant un codi més ràpid d’executar que la tècnica MoG.
Es pot dir que la tècnica d’estimació de la densitat de la probabilitat mitjançant
un kernel de funcions de distribucions Normals és una generalització de la tècnica MoG
on cada mostra de N mostres es considera una distribució de Gauss . Això permet estimar la densitat de la probabilitat de forma més simplificada. A més, permet
generar un model ràpidament, que “no recorda” el passat i es concentra més en la
observació més recent. Els resultats obtinguts demostren que el mètode KDE
proporciona una sensibilitat superior a la que presenta el mètode MoG de K
distribucions Gaussianes.
Per estimar la variància del kernel per cada un dels j canals de color utilitzats
per un píxel donat, es calcula la mediana de les desviacions absolutes entre els valors
d’intensitat consecutius obtinguts en el mostreig del píxel. La mediana es calcula de
29
forma independent per cada canal de color. Com que la mesura de les desviacions entre
parelles de valors consecutius ( provenen generalment de distribucions
semblants de forma local en el temps, s’espera que poques parelles de valors provinguin
de distribucions creuades. Per aquest motiu s’assumeix que les distribucions Normals,
, són locals en el temps. Llavors la desviació entre és Normal, de la
forma . Com que la distribució és simètrica, la mitjana de les desviacions
absolutes, m, permet calcular la desviació estàndard de i es pot estimar amb la següent expressió:
(37)
En ambients exteriors, existeixen diverses fonts de falsos positius, com pot ser el
moviment d’elements petits en la imatge, el de cas de les fulles dels arbres, o bé de les
vibracions sofertes per la càmera a causa del vent. És important que es realitzi un mòdul
que s’encarregui de suprimir les falses deteccions ocasionades per petits moviments no
modelats en el background de la imatge. En el treball [10] es presenta una segona fase
en la detecció del foreground en la que s’intenta reduir el número de falsos positius.
Posant per cas que, es detecta un píxel x, com un píxel que pertany al foreground
de la imatge, després de la primera fase de detecció. S’anomena el valor observat d’aquest píxel en el moment t. Es defineix la probabilitat de desplaçament del píxel com
que indica la probabilitat màxima que el valor observat, , pertanyi a algun píxel pertanyent a la zona de veïnatge de la distribució del fons de la imatge. Aquesta
zona es s’anomena i la màxima probabilitat a formar part d’una distribució del
fons de la imatge és:
(38)
A continuació s’aplica un llindar a i s’aconsegueix reduir el número de falsos positius obtinguts però també provoca l’eliminació d’alguns positius correctes per
aquest procés, ja que alguns dels píxels detectats poden semblar el fons de la imatge
d’algun píxel veí. Això és més freqüent quan es treballa amb imatges en escala de
grisos. Per evitar perdre massa positius correctes, s’afegeix una constant que indica que
tot l’objecte del foreground s’ha d’haver mogut des d’una posició veïna i no només dels
seus píxels. Així es defineix la probabilitat de desplaçament del component, , per
determinar la probabilitat que un component s’ha desplaçat des d’una posició
propera.
(39)
Si es considera un component connectat i aquest correspon a un objectiu real, la
probabilitat de què aquest component s’hagi desplaçat des del fons de la imatge és molt
baixa. És per això que per un píxel detectat es considerarà del background només si
compleix la condició següent:
30
(40)
Elgammal et al. en [11] utilitzen una regió de veïnatge de tipus circular de 5
píxels de diàmetre per calcular la probabilitat . Els valors dels llindars s’han de determinar de forma empírica per tal d’obtenir el resultat desitjat. El procés seguit es pot
apreciar en la figura que segueix.
Fig. 12. a) Imatge original. b) Resultat de la primera fase de detecció. c) Resultat posterior al filtratge
per alta probabilitat de desplaçament. d) Resultat d'aplicar la condició de desplaçament del component.
Fins ara s’ha parlat de com detectar regions de píxels que pertanyen al
foreground a partir d’una mostra recent històrica com un model del fons de la imatge.
Aquesta mostra conté N valors d’intensitat obtinguts en un temps que, de forma general
es dirà W. El l’ample de banda del kernel d’estimació requereix que les mostres siguin
consecutives en el temps. Aquestes N mostres s’han d’actualitzar de forma contínua per
tal d’adaptar els canvis en l’escena. El funcionament de l’actualització treballa amb
ordre cronològic de tipus FIFO (first in - first out), la mostra més vella de les
emmagatzemades se substitueix per la mostra més recent.
Donat un píxel nou, com ja s’ha explicat abans, hi ha dos mecanismes per
actualitzar el fons de la imatge:
1. Actualització selectiva: que consisteix en afegir la nova mostra en el model
només si aquest és classificat com una mostra del fons de la imatge.
2. Actualització a cegues: que directament introdueix la nova mostra en el model.
Cadascun presenta uns inconvenients diferents. En el primer cas, si es detecten
píxels com si fossin del foreground quan en realitat pertanyen al background, això
produeix que el model no s’actualitzi de forma correcta i no s’adapti al fons de la
imatge. En el segon cas, el problema que apareix és que el model del fons de la imatge
es vagi actualitzant mitjançant píxels que no pertanyen al fons de la imatge i aquest
quedi contaminat.
31
En [10] es decideix fer ús de models del fons de la imatge per solucionar els dos
problemes explicats en el paràgraf anterior.
1. Model a curt termini: el qual modelitza l’escena de forma molt recent. És
capaç d’adaptar-se a canvis ràpids i així permetre una detecció molt sensible.
Aquest model consisteix en les N mostres obtingudes més recents. Aquest model
utilitza el mecanisme de selectivitat, on la decisió d’actualitzar o no el model es
basa en una màscara la qual val 1 si el píxel p ha de ser actualitzat en el
moment t o 0 en cas contrari. S’espera que aquest model tingui dos tipus de
falsos positius: els falsos positius generats per successos estranys que no es
representen en el model, i els falsos positius persistents que haurien resultat de la
detecció incorrecta.
2. Model a llarg termini: aquest model captura la representació del fons de la
imatge i s’adapta als canvis lents. Aquest model consisteix en N mostres
obtingudes al llarg d’un temps més llarg. El mecanisme d’actualització és a
cegues la qual cosa s’espera que tingui més falsos positius per no ser el model
més recent, i més falsos negatius perquè els píxels dels objectius s’han inclòs en la mostra. Si es calcula la intersecció de dues deteccions, s’elimina la
persistència de falsos positius provinents del model de curt termini i s’eliminen
de la mateixa manera, falsos positius que es poden donar en els resultats del
model de llarg termini. Els falsos positius que segueixin apareixent seran
situacions que no són representades en cap dels models. Si aquestes situacions
persisteixen al llarg del temps en l’escena, llavors el model a llarg termini
s’adaptarà a elles i se suprimiran dels resultats al llarg del temps. Mitjançant la
intersecció, desafortunadament, se suprimeixen positius correctes en el resultat
del primer model que són falsos negatius en el segon, perquè el model a llarg
termini s’adapta als objectius com si fossin estàtics o es moguessin molt
lentament. Per acabar d’afinar el resultat, tots els píxels detectats pel model a
curt termini, que són adjacents a píxels detectats per la combinació, s’inclouen
en el resultat final.
4.2.2.2.5 Eigenbackgrounds
Nuria M. Oliver, Barbara Rosario i Alex P. Pentland presentaren amb [9] un
sistema de visió per computador per modelar la interacció humana mitjançant un
sistema de classificació Bayessià. Aquest sistema és una tècnica estadística que entrena
l’ordinador de forma supervisada i li ensenya al sistema a reconèixer els elements que
ha après. Oliver et al. tenien la intenció d’entrenar el sistema per tal reconèixer els
comportaments més habituals d’una sola persona i la interacció comuna entre dues
persones, com ara mantenir una conversa, caminar un al costat de l’altre, etc.
La primera fase d’aquest sistema és detectar i diferenciar els cossos en
moviment respecte el fons de la imatge. Aquesta segmentació s’aconsegueix mitjançant
un sistema que ha après l’escena. El problema d’aquest sistema és que necessita d’un
aprenentatge previ del fons de la imatge, que en descrigui les característiques
principals. Per cada objecte en moviment, es captura la informació que descriu
l’objecte, permetent que aquest pugui ser seguit mentre travessa oclusions temporals o
es reuneix amb altres objectes. Aplicant un filtre de Kalman es permet el seguiment de
la posició de l’objecte, la forma exterior, el color del patró i una estimació de la seva
velocitat.
32
Per la detecció i seguiment de vianants, s’utilitzen blobs característics de dues
dimensions. El terme blob, al llarg de la història de la imatge digital, ha tingut moltes
definicions matemàtiques diferents. La definició que actualment s’estableix és: un
conjunt compacte de píxels que comparteixen algunes característiques visuals que no
comparteixen els píxels que els envolten. Aquestes característiques poden ser el color,
textura, lluminositat, moviment, forma, o una combinació de les anteriors, o qualsevol
altra propietat espaciotemporal derivada d’un senyal (en aquest cas una seqüència de
vídeo).
El sistema que proposen per agrupar els píxels en blobs és analitzar el
moviment, perquè treballen amb una escena estàtica amb objectes en moviment. Per
detectar els objectes en moviment es construeix de forma adaptativa un espai propi, que
anomenen eigenspace, i que modela el background de la imatge (condicions de llum al
llarg del dia, etc).
L’espai propi es forma mitjançant la captura de N imatges de mostra i calculant
el valor mig de fons de la imatge i la seva matriu de covariància . Es diagonalitza
aquesta matriu mitjançant els valors propis , on és la matriu
d’autovectors de covariància de les dades i és la matriu diagonal dels seus autovalors. Per reduir la dimensió de l’espai, en el PCA o anàlisi de components
principals, només es tenen en compte M autovectors, els quals corresponen als
autovalors més grans, ja que aquests recullen la majoria d’informació que descriu la
imatge. D’aquesta manera s’obté la matriu d’autovalors . Com segueix, es forma un
vector que descriu una característica principal:
(41)
On és la imatge d’entrada, és la matriu que modela el fons de la imatge i
és el vector mig normalitzat:
(42)
Els objectes en moviment, com que no apareixen en la mateixa posició al llarg
de les N mostres i acostumen a ser petits, en el seu cas, ja que disposaven d’una càmera
situada a una gran alçada, no aporten una contribució significativa per generar el model.
En conseqüència, les regions d’imatge que contenen un objecte en moviment, no es
poden descriure correctament per aquest model d’espai propi (eigenspace), excepte en
casos inusuals en els que els objectes són similars al fons de la imatge i no es
diferencien suficientment. En qualsevol cas, l’eigenspace aporta un model robust de la
probabilitat de distribució del fons de la imatge, però no pels objectes en moviment.
Les imatges que modelen el fons de la imatge són emmagatzemades en la matriu
, així com el fons de la imatge mig en , es pot projectar cada imatge nova
obtinguda , sobre un espai presentat pel model del fons de la imatge:
(43)
A continuació calculant la distància euclidiana entre la imatge i la imatge
projectada sobre una base que descriu el fons, es poden detectar els objectes en
moviment presents en l’escena de la forma següent:
33
(44)
On th és un llindar establert.
La tasca d’adaptació del model és fàcil d’obtenir ja que es genera a partir de les
últimes N mostres i així es poden compensar canvis com ombres grans, objectes que
han entrat en la imatge i s’han aturat a formar part del fons o bé la mateixa variació de
la il·luminació al llarg del dia. L’avantatge que ofereix aquest sistema respecte el model
generat mitjançant una mescla de Gaussians (tècnica MoG) és que necessita d’una
menor càrrega computacional per portar a terme aquest mètode.
4.2.2.2.6 Altres mètodes estadístics
A partir dels mètodes vistos fins ara, han aparegut noves tècniques que
combinen i milloren les tècniques anteriors. Alguns exemples són:
Support Vector Machine (SVM) [13].
Support Vector Regression (SVR) [14].
Support Vector Data Description (SVDD) [17].
Single General Gaussian (SGG) [18].
Mixture of General Gaussian (MoGG) [21].
Subspace Learning using Independent Component Analysis (SL-ICA) [22].
Subspace Learning using Incremental Non-negative Matrix
Factorization (SL-INMF) [23].
Subspace Learning using Incremental Rank Tensor (SL-IRT) [24].
4.2.2.3 Mètodes per estimació
Els tres mètodes per estimació actuen com filtres per eliminar sorolls i treballen
buscant una estimació de com ha de ser el fons de la imatge respecte els valors obtinguts
fins al moment. Com que es tracta de tècniques recursives per realitzar l’estimació
treballen com certs “filtres electrònics” i és per això que s’anomenen filtres de Wiener,
Kalman i Chebyshev.
4.2.2.3.1 Filtre de Wiener
La utilització d’aquest filtre és proposat per Toyama, Krumm, Brummit i Meyers
en el treball conjunt que van realitzar en [16]. Consisteix en una tècnica d’estimació
lineal que es basa en la història dels “p” valors més recents. Es tracta d’una suma
ponderada de les mostres passades. La fórmula matemàtica del filtre de Wiener és:
(45)
Cada valor de es calcula mitjançant la covariància dels “p” últims valors. Si
un píxel amb el valor presenta una desviació superior a un llindar establert respecte al valor estimat d’aquest píxel, es declara pertanyent al foreground.
34
Sovint a continuació es calcula l’error quadràtic estimat, , utilitzant el mateix
conjunt de valors de la fórmula anterior.
(46)
Amb l’error quadràtic també s’estableix un llindar que si és superat, el píxel
comprovat també es declara que pertany al foreground.
4.2.2.3.2 Filtre de Kalman
Consisteix en una tècnica recursiva àmpliament utilitzada pel seguiment de
sistemes dinàmics sota soroll Gaussià. S’han proposat diferents versions d’aquesta
tècnica per modelar el fons de la imatge, que es diferencien dels espais d’estat utilitzats
pel seguiment. La versió més simple utilitza només la intensitat de la llum. Karmann i
von Brandt utilitzen la intensitat i la seva derivada [7], mentre que Koller, Weber i Malik utilitzen la intensitat i les derivades espacials [8]. A continuació es presenta de
forma breu de l’esquema utilitzat en [7]. L’algorisme recursiu és:
(47)
La matriu A descriu la dinàmica del fons de la imatge i H és la matriu de
mesura. Els valors concrets utilitzats en [7] són:
(48)
La matriu de Kalman del guany és la qual pot valer dos valors concrets en
funció de si s’havia considerat del foreground o del background.
(49)
Aquestes dues constants van directament relacionades amb l’adaptació del
model amb el fons de la imatge real. A més, cal comentar que és la constant
d’adaptació lenta i és la constant d’adaptació ràpida. Així doncs s’ha de complir que
.
4.2.2.3.3 Filtre de Chebyshev
Per altra banda, Chang, Gandhi i Trivedi en el seu treball [15] proposen la
utilització d’un filtre de tipus IIR (Infinite Impulse Response - Resposta Impulsional
Infinita). Això vol dir que, davant d’una entrada amb un senyal impulsional, la sortida
tindrà un nombre infinit de termes i mai tornarà al repòs. Concretament, es proposa la
utilització d’un filtre passa baixos de primer ordre de Chebyshev de tipus I. A nivell
35
analògic, aquest tipus de filtres presenten un rissat constant a la banda passant i
presenten una caiguda monòtona a la banda rebutjada.
Fig. 13. Exemple de resposta freqüencial del mòdul d’un filtre de Chebyshev
La utilització d’un filtre IIR passa baixos va dirigida a l’actualització del model
del fons de la imatge enfront dels canvis lents d’il·luminació que es produeixen.
L’avantatge que presenta és que el baix cost computacional que ofereix respecte el
mètode que combina distribucions gaussianes, per exemple, tot i que aquest és capaç de
detectar el foreground de la imatge de forma més precisa.
L’expressió que defineix el filtre digital de primer ordre de Chebyshev del tipus
I és:
(50)
Els termes s’han de calcular per satisfer les condicions de la freqüència de tall de la banda que passa.
4.2.2.4 Altres mètodes
Els anteriors mètodes no són els únics. També hi ha algorismes que treballen
amb lògica difusa per aplicar la tècnica de MoG, xarxes neurals del tipus Self
Organising Maps per estudiar el fons de la imatge i tècniques de clustering com són la
de K-means o un tipus d’algorisme anomenat Codebook. Aquest últim va guardant els
límits de diferents intervals de valors separats per una distància determinada i va
ampliant els límits a mesura que les mostres obtenen valors fora dels intervals però
propers a aquests.
4.2.3 Extracció d’ombres per millorar la detecció
Sovint les ombres generades pels objectes en moviment són classificades com
conjunts de píxels que pertanyen al foreground de la imatge i, en conseqüència,
redueixen la precisió de la detecció dels objectes. Tampoc s’han d’identificar com del
background perquè contaminarien el model del fons de la imatge. És per això que
interessa excloure-les del background i eliminar-les del foreground. Diversos autors han
proposat algorismes per extreure les ombres detectades i aconseguir millorar els positius
obtinguts. Entre ells destaquen Elgammal, Duraiswami, Harwood i Davis que, en el seu
treball [11] expliquen la tècnica que apliquen, utilitzant el mètode de Kernel Density
Estimation.
36
Tal i com ells indiquen, detectar les ombres com a regions que formen part del
foreground és una font de confusió per les fases d’anàlisis que es facin posteriorment .
És desitjable discriminar els objectes de les seves ombres. Treballar amb un model de
color és útil perquè permet suprimir les ombres separant la informació de color respecte
la informació d’il·luminació. Donades tres variables de color, R, G, i B, les coordenades
cromàtiques són els seus valors normalitzats. El seu càlcul apareix en l’equació 1 de la
secció 4.1.3.1 en el que es tracta del model de color RGB.
La utilització de les coordenades cromàtiques per realitzar la detecció té
l’avantatge que augmenta la insensibilitat del sistema a petits canvis en la il·luminació
produïdes per les ombres. La figura 14 mostra la diferència entre utilitzar el model de
color RGB respecte utilitzar dues components normalitzades d’aquest model, on es pot
apreciar que mitjançant l’ús del model de les components normalitzades, les ombres
generades pels elements del foreground no són detectades.
Fig. 14. a) Frame original. b) Detecció amb el model de color (R, G, B). c) Detecció amb el model de
color (r, g).
Tot i que l’ús de les coordenades cromàtiques ajudi a suprimir les ombres, tenen
un gran desavantatge: comporten la pèrdua d’informació relativa a la il·luminació. La
brillantor està relacionada amb la diferència entre el color blanc i el negre, i els diferents
grisos que es troben entre els diferents objectes. Per exemple, en el cas de considerar un
objectiu que porta una samarreta blanca i camina cap sobre un fons de color gris, no
existeix informació sobre el color. Tant el blanc com el gris es troben sobre les mateixes
coordenades cromàtiques i per tant, l’objectiu no es detectaria.
Per corregir aquest problema s’utilitza la mesura de la quantitat de llum de cada
píxel. Es defineix “s” com la mesura de la llum:
(51)
Es posa per cas que el fons de la imatge és totalment estàtic i que el valor per un
píxel és . S’assumeix que aquest píxel és tapat per una ombra en el frame “t” i el
valor obtingut per aquest píxel és . Per tant, s’espera que sigui menor que ,
ja que en principi ha de ser més fosc que el valor esperat fins a un valor límit . En resum:
(52)
Però no només pot succeir aquesta situació, sinó que també es pot donar que el
valor observat en el fons de la imatge brilli més que el valor esperat, i en conseqüència
la relació superi la unitat.
37
Com que el fons de la imatge que es té no és totalment immòbil, no hi ha un únic
valor esperat. Així doncs, es defineix A com el conjunt de valors mostrejats que
representen el fons de la imatge per cada píxel, on cadascun d’aquest valors es defineix
com . Es construeix el subconjunt B, , com una selecció de valors
del conjunt A que són rellevants pel valor observat de . Per valor rellevant s’entén com aquells valors de lluminositat de la mostra que es poden donar si el píxel és afectat
per ombres. Matemàticament s’expressa:
(53)
Els paràmetres i es fixen per tota la imatge. A través d’aquest subconjunt de mostres rellevants es calculen les matrius de kernels explicades en l’apartat que tracta el
mètode Kernel Density Estimation, mitjançant espais de colors normalitzats de dues
dimensions (r, g).
Una anàlisi més exhaustiva de les ombres és el que realitzen Cucchiara, Grana,
Piccardi i Parti en el seu treball [6], aportació que batejaren amb el nom Sakbot
(Statistical And Knowledge-Based ObjecT detection). Es realitza una classificació molt
més acurada dels elements detectats com foreground, que va més enllà de diferenciar
l’objecte de la seva ombra. La classificació que es realitza és la que apareix en la
diagrama que apareix a continuació.
Les diferents categories són:
a) Objecte en moviment (MVO).
b) Ombra de l’objecte en moviment (MVO SH).
c) Un fantasma (G).
d) Ombra fantasma (G SH).
38
Fig. 15. Exemple de classificació del sistema Sakbot
A grans pinzellades, la classificació dels elements del foreground es realitza
seguint les condicions que caracteritzen cadascun dels elements que s’indiquen a
continuació:
Imatge original
Background Foreground
Ombra
Ombra MVO
Ombra fantasma
Objecte
MVO Fantasma
39
5 Detecció de moviment amb el càlcul de l’entropia
espaciotemporal de la imatge
El mètode més utilitzat per detectar moviment és l’extracció dels fons de la
imatge el qual necessita d’un model del background que s’ha de mantenir per tal de fer-
ne l’extracció de la imatge que s’està visualitzant. L’ús d’un model del fons de la imatge
comporta una sèrie de problemes associats:
1. En cas d’utilitzar tècniques com SOG, MOG o KDF, el processat de les dades és
costós respecte altres mecanismes.
2. Les dades del fons de la imatge s’han d’emmagatzemar i mantenir adientment.
3. S’ha de tenir especial cura en el mecanisme d’adaptació del fons de la imatge.
És per això que s’han desenvolupat alternatives que permeten treballar sense
tenir un model del fons de la imatge. És per exemple el cas del mètode de detecció de
moviment basat en el càlcul de l’entropia espacial i temporal de la imatge, el qual no
necessita d’un model de fons de la imatge per tal de detectar els píxels que pertanyen al
foreground. Aquest mètode va ser proposat per Ma i Zhang en [1] i posteriorment
ampliat per Jing, Siong i Rajan en [2], article que ha servit de base de desenvolupament
d’aquest projecte. El procediment que presenta l’article s’ha transformat a codi i s’ha
introduït una sèrie de modificacions per millorar-lo.
Tot i que el concepte d’entropia és un concepte provinent de la teoria de la
informació, s’utilitza força en aplicacions en que s’hagi de diferenciar objectes en una
imatge. En canvi no és gaire utilitzada en mètodes de detecció de moviment. Per aquest
motiu consisteix en un mètode innovador respecte el que s’ha fet en la vessant
tradicional.
5.1 Concepte d’entropia
L’entropia és un concepte en termodinàmica, mecànica estadística i teoria de la
informació. L’entropia pot ser considerada com una mesura del desordre o incertesa que
existeix en qualsevol conjunt de dades. També s’anomena entropia la quantitat de soroll
o desordre que allibera un sistema.
L’entropia mesura l’aleatorietat i va ser presentada per Shannon en el seu article
de 1948 que porta per nom “A Mathematical Theory of Communication”. Shannon
aporta una definició per entropia que compleix les següents afirmacions:
La mesura d’informació ha de ser proporcional (contínua). És a dir, el canvi petit en una de les probabilitats d’aparició d’un dels elements d’una
senyal han de canviar poc l’entropia.
Si tots els elements de la senyal són equiprobables a l’hora d’aparèixer,
llavors l’entropia serà màxima.
Per exemple, si es pren un text escrit en català, la informació consisteix en una
cadena de lletres, espais i signes de puntuació. Estadísticament alguns caràcters no són
molt comuns, com per exemple la lletra “w”, mentre que d’altres com la lletra “e” sí ho
són. La cadena de caràcters que s’espera anar obtenint no és tan aleatòria com podria
semblar. Òbviament no es podrà predir amb total exactitud quin serà el següent caràcter
a aparèixer d’aquesta cadena i això li aporta la característica d’aleatorietat de què es
40
parla. En cas d’obtenir el missatge: “sfkbskfwlnasefbsaefkjn”, el qual posseeix una
longitud de 22 caràcters, es pot dir que aquest missatge arriba amb la màxima entropia
ja que és poc probable pronosticar l’entrada d’aquests caràcters perquè no estan
ordenats ni d’una forma predictiva i la cadena és d’una longitud superior a la mitjana.
5.1.1 Definició formal d’entropia
L’expressió matemàtica que defineix l’entropia és la següent.
(54)
5.2 Detecció de moviment basat en l’entropia
L’article de Jing, Siong i Rajan descriu com es calcula l’entropia dels píxels en
una seqüència d’imatges i el mètode que se segueix per identificar el moviment dins
d’aquesta seqüència. L’article divideix la seva explicació en dos apartats: l’STEI basat
en el treball [1] i el DSTEI que millora els resultats.
En una seqüència d’imatges obtinguda per càmera immòbil, el valor d’un píxel,
que té unes coordenades concretes, pot canviar de frame a frame per dos motius
diferents:
Per soroll introduït en un canal de la càmera com pot ser el parpalleig de la llum de l’entorn que s’està visualitzant.
Perquè un objecte s’està movent i produeix que el valor del píxel canviï de fons de la imatge a objecte o d’objecte a fons de la imatge.
Segons [1], un píxel que pot adoptar 256 valors diferents té 256 estats possibles i
el canvi d’un estat a l’altre se’l defineix com estat de transició. Al llarg del temps el
píxel va canviant d’estats. Els canvis d’estat generats per soroll consisteixen en canvis
d’estat pròxims entre ells, mentre que els canvis produït per moviment consisteixen en
canvis entre estats més distants. El càlcul de l’entropia pretén estudiar la diversitat
d’estats per cada píxel amb l’objectiu de caracteritzar la intensitat del moviment en la
seva posició.
5.2.1 Imatge d’Entropia Espacial i Temporal (STEI)
Per cada píxel de la seqüència d’imatges s’ha de calcular l’entropia. Els passos a
seguir per obtenir l’entropia dels píxels de les imatges capturades s’expliquen en els
apartats que venen a continuació, i són els següents:
1) Càlcul dels histogrames.
2) Càlcul de la probabilitat dels histogrames.
3) Càlcul de l’entropia.
4) Quantització en escala de grisos.
41
5) Determinació dels píxels que pertanyen al foreground.
5.2.1.1 Càlcul dels histogrames
S’utilitza un histograma de caràcter temporal per cada píxel en el que també
s’emmagatzemen els valors del píxels que formen el veïnatge de cada píxel. La
generació de l’histograma presenta dos aspectes importants:
a) La finestra d’acumulació ( accumulating window).
b) Nombre de valors de quantització.
5.2.1.1.1 Accumulating window
Per obtenir l’histograma de cada píxel s’aplica l’anomenada “accumulating
window” (finestra d’acumulació, en anglès). Aquesta finestra s’encarrega d’estudiar el
valor que prenen al llarg del temps de cada píxel i els píxels que l’envolten. D’aquesta
manera no només es fa un estudi temporal del valors dels píxels, sinó que a més
s’analitza els valors que prenen els píxels que entren dins de l’abast de la finestra
d’acumulació. Aquesta finestra té una profunditat temporal de i una àrea
espacial quadrada de .
La finestra d’acumulació es pot representar gràficament tal i com apareix en la següent imatge. Per simplificar la representació gràfica, la imatge que es mostra
representa que s’està treballant únicament amb un canal.
Fig. 16. Representació gràfica de la finestra d’acumulació.
Tal i com es pot observar, el número total de píxels analitzats per generar
l’historial espaciotemporal per un píxel amb coordenades (r,c) és:
(55)
En l’article s’indica que es fan servir els següents valors:
5.2.1.1.2 Nombre de valors de quantització
Tot i que un píxel pugui adquirir 256 possibles valors diferents, per tal de
augmentar la robustesa de l’algorisme incrementant la seva insensibilitat a canvis petits,
els 256 valors que poden adquirir els píxels es quantitzen en “Q” valors possibles on
42
Q<256. Dit en altres paraules, si la càmera és capaç de donar 256 valors diferents per
píxel, la quantització provoca que l’algorisme només en llegeixi Q valors diferents.
L’histograma d’un píxel amb coordenades (r,c) ve simbolitzat per on “q”
pot valer qualsevol dels “Q” valors que es poden tenir. Per tant l’histograma serà:
(56)
En [2] s’indica que s’ajusta:
.
5.2.1.2 Càlcul de la probabilitat dels histogrames
El següent pas és calcular la funció de densitat de probabilitat de cada píxel
( mitjançant la normalització del seu histograma. Això és:
(57)
Per tant s’ha de complir que:
(58)
5.2.1.3 Càlcul de l’entropia
Una vegada s’ha calculat la funció de densitat de probabilitat de cada píxel, es
passa a calcular l’entropia del píxel ( ). Aplicant el que s’ha vist anteriorment,
l’entropia es calcularà de la forma següent:
(59)
5.2.1.4 Quantització en escala de grisos
A cada píxel li correspon una entropia concreta. El valor de l’entropia de cada
píxel s’ha de quantitzar en una imatge en escala de 256 grisos per obtenir la imatge
d’energia que porta per nom imatge d’entropia espacial i temporal (STEI).
5.2.1.5 Determinació dels píxels que pertanyen al foreground
En [1] s’apliquen tècniques morfològiques com erosions i dilatacions per
eliminar els contorns i petits punts de soroll per la determinació dels objectes que es
troben en moviment. A continuació s’eliminen els píxels que es troben per sota d’un
llindar d’entropia mínima per filtrar els píxels que no presenten suficient entropia com per considerar que es tracta de píxels d’un objecte en moviment. D’aquesta manera
s’aconsegueix eliminar el soroll generat per elements que presenten una certa dinàmica i
que no pertanyen al foreground de la imatge, com podrien ser possibles fulles d’arbres.
43
5.2.1.6 Problemàtica que presenta la imatge STEI
A causa de l’anàlisi espacial que es duu a terme amb l’aplicació de la finestra
d’acumulació, resulta que els contorns dels objectes són píxels que generen molta
entropia ja que es troben al límit entre dos valors molt diferents. Aquest fet comporta
que la imatge STEI obtinguda no només presenti una elevada entropia en les zones de
moviment, sinó que també sorgeixi en els contorns més pronunciats dels objectes que
apareixen en la imatge. A continuació es mostren dos exemples d’imatges STEI. La
columna de l’esquerra consisteix en l’anàlisi d’una escena nocturna a l’exterior mentre
que les imatges de la columna s’han obtingut en l’anàlisi d’un ambient interior,
concretament la biblioteca del Campus Sescelades de la Universitat Rovira i Virgili.
Ambdues anàlisis s’han realitzat amb l’algorisme desenvolupat en aquest projecte i es
pot veure visualitzar com els contorns i els objectes en moviment presenten una elevada
entropia.
Fig. 17. Exemples d'imatges de tipus STEI i captures originals.
5.2.2 Imatge d’Entropia Espacial i Temporal per Diferència
d’Imatges (DSTEI)
Jing, Siong i Rajan proposen amb [2] una millora del mètode STEI per poder fer
front al problema provocat pels píxels que, a causa de la seva estructura espacial,
generen una alta entropia. La millora consisteix en calcular la diferència entre imatges i
a continuació calcular-ne la seva entropia espacial i temporal. Els passos a seguir són:
1) Calcular la diferència absoluta entre imatges.
2) Càlcul de l’histograma.
3) Obtenció de la DSTEI.
4) Determinació i localització dels píxels que pertanyen al foreground.
5.2.2.1 Calcular la diferència absoluta entre imatges
Les imatges es capturen utilitzant el model de color RGB. A continuació es
transformen en imatges d’escala de 256 grisos. Cada imatge en escala de grisos
44
s’anomenarà , on k és el número del frame. La imatge de la diferència s’anomena
i es calcula segons l’expressió següent:
(60)
5.2.2.2 Càlcul dels histogrames
Pels primers , des de fins a , es proposa calcular l’histrograma
acumulat de de la següent forma:
(61)
A continuació, es proposa utilitzar l’expressió recursiva que segueix per calcular
l’histograma dels nous frames:
(62)
El valor de s’ajusta empíricament a base de proves analitzant l’efecte en el
resultat que comporta la seva modificació. En [2] es mostra un exemple d’una mateixa
imatge d’entropies per a diferents valors de la constant Com més gran és el valor de
, és llarg és el rastre del cos que es troba en moviment.
Fig. 18. Efecte de la constant de recursivitat en la imatge d'entropies generada. [D’esquerra a dreta]
α=0.9 , α=0.8 , α=0.7
5.2.2.3 Obtenció de la imatge DSTEI
Quan es té l’histograma acumulat de cada píxel, s’aplica la funció de densitat de
probabilitat tal i com s’aplicava en el cas de la generació de la imatge STEI,
normalitzant l’histograma obtingut.
(63)
45
Es realitza el càlcul de l’entropia.
(64)
Els diferents valors d’entropia dels píxels es quantitzen en una escala de 256
grisos per obtenir la imatge DSTEI. Mitjançant la utilització d’aquest mètode s’eliminen
els píxels que pertanyen al fons de la imatge i que per qüestions estructurals de la
imatge generen molta entropia en el cas de la imatge STEI.
5.2.2.4 Localització dels píxels que pertanyen al foreground
L’últim pas consisteix en localitzar els píxels que pertanyen al foreground, pas
que en el cas de les imatges DSTEI és molt més senzill de realitzar ja que en general els
píxels amb més entropia destaquen sobre un fons que no presenta entropia. Els conjunts
de píxels del foreground es poden localitzar utilitzant funcions d’anàlisi de blobs o de
contorns. Aquestes funcions permeten obtenir els conjunts que satisfan certes
característiques, com per exemple, els blobs que presenten una àrea mínima per filtrar
píxels d’objectes petits que no interessa localitzar o bé de soroll que no s’han pogut
filtrar en fases anteriors.
5.2.2.5 Conclusions de la generació de la imatge DSTEI
Es pot comprovar la diferència entre les imatges STEI respecte les DSTEI si
s’observen les captures que apareixen a continuació, les quals s’han obtingut en les
mateixes condicions que les que s’han exposat anteriorment. L’entropia associada als
contorns que s’obté mitjançant la generació d’imatges STEI, en el cas de les imatges
DSTEI queda anul·lada. En canvi, els píxel corresponents a objectes que es troben en
moviment presenten una elevada entropia que destaca sobre el fons de la imatge que
apareix en negre.
Fig. 19. Exemple d'imatges DSTEI i captures originals
INFORMACIÓ CONFIDENCIAL
Aquest projecte conté informació confidencial que no ha estat publicada, per obtenir més informació adreçar-se a:
Albert Oller Pujol Teléfon: 977 559 704 Fax: 977 559 605 E-mail: albert.oller@ urv.cat
104
8 Conclusions
En el camp de la visió artificial no existeixen solucions úniques per resoldre un
problema concret perquè tant els entorns de treball poden ser molt variats. En el cas de
la segmentació dels objectes en moviment respecte el fons de la imatge, ni que
comparteixin un mateix objectiu, les solucions que han aparegut en els últims anys són
molt variades tal i com s’ha explicat a l’apartat 4. Alguns dels mètodes que s’han
desenvolupat treballen amb un model del fons de la imatge que es va adaptant al llarg
del temps. D’altres no utilitzen un model del fons de la imatge, sinó una mostra
històrica de les últimes imatges capturades, com és el cas del mecanisme de detecció
utilitzat en aquest projecte.
El mètode de detecció de l’algorisme desenvolupat en aquest projecte basa el seu
funcionament en el càlcul de l’entropia espaciotemporal de les imatges capturades en
temps real, a partir de les equacions presentades als articles científics de Zhang [1] i
Zing et al [2]. S’ha fet una aplicació que permet la utilització de dos mètodes diferents:
un a partir del càlcul de l’entropia temporal de les imatges, i l’altre a partir del càlcul de
l’entropia espaciotemporal de diferència d’imatges consecutives.
En aquest projecte s’han introduït modificacions respecte als mètodes originals
que milloren els resultats obtinguts. S’han portat a terme diferents anàlisis modificant
els paràmetres que intervenen en les equacions per tal d’estudiar el seu efecte sobre les
imatges d’entropia generades. Les anàlisis s’han portat a terme en diferents entorns
perquè l’algorisme ha de ser capaç de treballar en entorns reals on es difícil controlar les
condicions de funcionament, tal i com succeeix en proves de laboratori.
En aquest projecte s’han elaborat el manual d’instal·lació per guiar a l’usuari que
hagi d’instal·lar el programa en Roinbot®, així com un manual d’usuari per permetre a
l’usuari final fer ús de l’aplicació i poder adequar les seves variables segons li
convingui. En els apartats finals dels dos tipus de mètodes de detecció, s’estableixen uns
rangs de valors recomanables per orientar l’ajust dels paràmetres.
El programa inicia l’execució important les variables des d’un fitxer que conté
els paràmetres necessaris per dur a terme el procés de detecció. Per tal que l’usuari
pugui ajustar les variables i adequar-les a l’entorn de treball, s’ha dotat al programa
d’una interfície gràfica que permet la seva modificació de forma manual sense haver de
reiniciar la seva execució per modificar-les a través del fitxer d’importació.
A partir del resultats obtinguts, l’empresa està satisfeta amb el treball
desenvolupat i estudiarà la introducció de l’algorisme en el robot. En aquest sentit cal
comentar que el programa que s’ha creat és fàcilment compilable per a SO Linux.
Finalment, aquest projecte m’ha permès combinar els coneixements adquirits al
llarg del segon cicle, especialment les àrees d’Instrumentació, Sistemes de Percepció i
Sistemes informàtics en Temps Real. A més, he après a programar en C#, llenguatge de
programació orientat a objectes derivat dels llenguatges C i C++. Gràcies al
desenvolupament d’aquest projecte, he pogut aprofundir en el camp dels sistemes de
visió artificial, camp que des de sempre ha despertat un interès especial en mi.
INFORMACIÓ CONFIDENCIAL
Aquest projecte conté informació confidencial que no ha estat publicada, per obtenir més informació adreçar-se a:
Albert Oller Pujol Teléfon: 977 559 704 Fax: 977 559 605 E-mail: albert.oller@ urv.cat
118
11 Referències i bibliografia
11.1 Referències
[1]. Ma, Y. Zhang, H. Detecting motion object by spatial-temporal entropy.
Proc. IEEE International Conference on Multimedia and Expo, pp. 265-268, 2001.
[2]. Jing, G. Siong, C. Rajan, D. Foreground motion detection by difference-
based spatial temporal entropy image. Proc. TENCON 2004. IEEE Region 10
Conference. Vol. 1, pp. 379-382, 2004.
[3]. Stauffer, C. Grimson, W. Adaptive background mixture models for real-time
tracking. Proc. Computer Vision and Pattern Recognition. IEEE Computer Society
Conference. Jun, 1999.
[4]. Open CV Wiki. [actualitzat 1 Oct 2010; citat 1 Nov 2010]. Disponible a:
http://opencv.willowgarage.com/wiki/.
[5]. Emgu CV: OpenCV en .NET (C#, VB, C++ and more.) [actualitzat 16 Oct
2010; citat 1 Nov 2010]. Disponible a: http://www.emgu.com/.
[6]. Cucchiara, R. Grana, C. Piccardi, M. Prati, A. Detecting Moving Objects,
Ghosts, and Shadows in Video Streams. Proc. IEEE Transactions on Pattern Analysis
and Machine Intelligence, vol. 25, no.10, Oct. 2003.
[7]. Karmann, K. Brandt, A. Moving object recognition using and adaptive
background memory. Proc. Time-Varying Image Processing and Moving Object
Recognition, V. Cappellini, ed., 2, pp. 289-307, Elsevier Science Publishers B.V., 1990.
[8]. Koller, D. Weber, J. Malik, J. Robust multiple car tracking with occlusion
reasoning. Tech. Rep. UCB/CSD- 93-780, EECS Department, University of California,
Berkeley, Oct 1993.
[9]. Wren, CR. Azarbayejani, A. Darrell, T. Pentland, AP. Pfinder: Real-Time
Trackingof the Human Body. Proc. IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 19, no. 7, Jul1997.
[10]. Elgammal, A. Harwood, D. Davis, L. Non-parametric Model for
Background Subtraction. Proc. IEEE Frame-Rate Workshop, 1999.
[11]. Elgammal, A. Duraiswami, R. Harwood, D. Davis, L. Background and
Foreground Modeling Using Nonparametric Kernel Density Estimation for Visual
Surveillance. Proc. IEEE, vol. 90, pp. 1151-1163.
[12]. Oliver, N. Rosario, B. Pentland A. ,A Bayesian Computer Vision System for
Modeling Human Interactions. Proc. IEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 22, no. 8, pp. 831-843, Aug 2000.
[13] H. Lin, T. Liu, J. Chuang, A probabilistic SVM approach for background
scene initialization, ICIP 2002, Vol. 3, pp 893-896, Rochester, New York, September
2002.
119
[14] J. Wang, G. Bebis, R. Miller, Robust Video-Based Surveillance by
Integrating Target Detection with Tracking, IEEE Workshop on Object Tracking and
classification Beyond the Visible Spectrum in conjunction with CVPR 2006, New York,
NY, June 2006.
[15]. Chang, R. Gandhi, T. Trivedi M. Vision Modules for a Multi-Sensory
Bridge Monitoring Approach. Proc.
IEEE Conference on Intelligent Transport Systems,
Oct 2004.
[16]. Toyama, K. Krumm, J. Brumitt, B. Meyers, B. Wallflower: Principles and
practice of background maintenance. Proc. ICCV (1), pp. 255-261, 1999.
[17] A. Tavakkoli, M. Nicolescu, G. Bebis, A Novelty Detection Approach for
Foreground Region Detection in Videos with Quasi-stationary Backgrounds, ISVC
2006, pp 40-49, Lake Tahoe, USA, November 2006.
[18] H. Kim, R. Sakamoto, I. Kitahara, T. Toriyama, K. Kogure, “Robust
Foreground Extraction Technique Using Gaussian Family Model and Multiple
Thresholds”, 8th Asian Conference on Computer Vision, ACCV2007, LNCS 4843,
pages 758-768, Tokyo, Japan, November 2007.
[19]. Technical Specifications Logitech Quickcam Sphere AF. [citat 23 Gen
2011]. Disponible a: http://www.dooyoo.co.uk/pdf/web-cam/logitech-quickcam-sphere-
af/logitech_quickcam_sphere_af.pdf/.
[20]. Datasheet Logitech QuickCam Sphere AF [citat 23 Gen 2011]. Disponible
a: http://docs-europe.origin.electrocomponents.com/.
[21] M. Allili, N. Bouguila, D. Ziou, A Robust Video Foreground Segmentation
by Using Generalized Gaussian Mixture Modeling, Fourth Canadian Conference on
Computer and Robot Vision, CRV 2007, pp 503-509, 2007
[22] M. Yamazaki, G. Xu, Y. Chen, Detection of Moving Objects by
Independent Component Analysis, ACCV 2006, pp 467-478, 2006.
[23] S. Bucak, B. Gunsel, O. Gursoy, Incremental Non-negative Matrix
Factorization for Dynamic Background Modeling, International Workshop on Pattern
Recognition in Information Systems, Funchal, Portugal, June 2007
[24] X. Li, W. Hu, Z. Zhang, X. Zhang, Robust Foreground Segmentation Based
on Two Effective Background Models, MIR 2008, pp 223-228, Vancouver, Canada,
October 2008.
11.2 Bibliografia
Rymel, J. Renno, J. Greenhill, D. Orwell, J. Jones, GA. Adaptative Eigen-
Backgrounds for Object Detection. Proc. ICIP 2004. International Conference, vol.3,
pp. 1847- 1850, 2004.
Yao, X. Qian, Q. Background Subtraction for Surveillance Systems Using an
Iterative Uniform Operator. Proc. 7th World Congress on Intelligent Control and
Automation, June 2008.
120
Mittal, A. Paragios, N. Motion-Based Background Subtraction using Adaptive
Kernel Densit Estimation Proc. CVPR (2), pp.302-309, 2004.
Atev, S. Masoud, O. Papanikolopoulos, N. Practical Mixtures of Gaussians
with Brightness Monitoring. Proc. IEEE Intelligent Transpoltation Systems Conference,
pp. 423-428, Oct 2004.
Wang, L. Wang, L. Wen, M. Zhuo, Q. Wan, W. Background Substraction Using
Incremental Subspace Learning. Proc. ICIP, pp. 45-48, 2007.
Matsuyama, T. Ohya, T. Habe, H. Background Substraction for Non-Stationary
Scenes. Proc. Asian Conference on Computer Vision, pp. 662-667.
Wang, D. Feng, T. Shum, H. Ma, S. A Novel Probability Model for Background
Maintenance and Subtraction. Proc. 15th International Conference on Vision Interface;
2002.
Monnet, A. Mittal, A. Paragios, N. Ramesh, V. Background Modeling and
Subtraction of Dynamic Scenes. Proc. ICCV, pp.1305-1312, 2003.
Mahadevan, V. Vasconcelos, N. Background Subtraction in Highly Dynamic
Scenes. Proc: Computer Vision and Pattern Recognition, Jun 2008.
McIvor, A. Background Subtraction Techniques. International Conference on
Image and Vision Computing, Auckland, New Zealand, 2000.
Ferrari, A. Bleggi, L. Studio ed implementazione dell’algoritmo di Morion
Detection di Davis et al. Università degli Studi di Milano. Facoltà di Scenze
Matematich Fisiche e Naturali, 2008.
Kima, K. Chalidabhongseb, T. Harwooda, D. Davisa, L. Real-time foreground–
background segmentation using codebook model. Elsevier, 2005
Calic, J. Izquierdo, E. Eficient Key-Frame Extraction and Video Analysis. Proc.
ITCC, pp.28-33, 2002.
Banerjee, P. Sengupta, S. Human Motion Detection and Tracking for Video
Surveillance. National Conference for Communication, 2008.
Cheung, S. Kamath, C. Robust techniques for background subtraction in urban
traffic video. Video Communications and Image Processing, Proceedings, Volume
5308, SPIE Electronic Imaging, pp.881-892, Jan 2004.
Chen, Y. Chen, C. Huang, C. Hung, Y. Efficient hierarchical method for
background subtraction. Elsevier, Nov 2006.
Nascimento, J. Marques, J. Performance evaluation of object detection
algorithms for video surveillance. Proc.IEEE Transactions on Multimédia, vol. 8, no. 4,
August, pp. 761-774, 2006.
Zhong, B. Liu, S. Yao, H. Zhang, B. Multi-Resolution Background Subtraction
for Dynamic Scenes. Proc, ICIP, pp. 3193-3196, 2009.
Cheng, L. Gong, M. Realtime Background Subtraction from Dynamic Scenes.
Proc, International Conference on Computer Vision, Sept 2009.
121
Cheung, S. Kamath, C. Robust Background Subtraction With Foreground
Validation For Urban Traffic Video. Eurasip Journal on Applied Signal Processing,
Volume 14, pp 1-11, 2005.
Zhang, S. Yao, H. Liu, S. Spatial-Temporal nonparametric background
subtraction in dynamic scenes.
El Baf, F. Bouwmans, T. Vachon, B. Type-2 Fuzzy Mixture of Gaussians Model:
Application to Background Modeling. 4th International Symposium on Visual
Computing, pp. 772-781, Dec 2008.
Collins, R. Lipton, A. Kanade, T. Fujiyoshi, H. Duggins, D. Tsin, Y. et al. A
System for Video Surveillance and Monitoring. Technical Report CMU-RI-TR-00-12,
Robotics Institute, Carnegie Mellon University, 2000.
Makhoul, J. Linear Prediction: A Tutorial Review. Proc. IEEE, vol.63, no.4,
pp.561-580, Apr 1975.
INFORMACIÓ CONFIDENCIAL
Aquest projecte conté informació confidencial que no ha estat publicada, per obtenir més informació adreçar-se a:
Albert Oller Pujol Teléfon: 977 559 704 Fax: 977 559 605 E-mail: albert.oller@ urv.cat