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.
1
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.
2
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.
3
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
4
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
5
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
6
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
7
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
8
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.
9
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.
10
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
11
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
12
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
13
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 (2 8)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
14
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.
15
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.
16
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.
17
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ó:
18
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 Detecció del Validació
Background Foreground de les dades
EXTRACCIÓ DEL FONS D’UNA IMATGE
Màscares del
Foregorund
19
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.
20
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.
21
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ó.
22
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.
23
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
24
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.
25
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:
26
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.
27
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
28
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:
29
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.
30
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.
31
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:
32
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.
33
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
34
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.
35
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.
36
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).
37
38. Imatge
original
Background Foreground
Ombra Objecte
Ombra Ombra
MVO Fantasma
MVO fantasma
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ó:
38
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
39