SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
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
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
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
Í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
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
Í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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
   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
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
(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
    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
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
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
(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
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
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
(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
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
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
(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
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
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
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
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
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
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
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment
Algorisme De Detecció De Cossos En Moviment

Weitere ähnliche Inhalte

Andere mochten auch

1er trimestre 13 14 1-
1er trimestre 13 14  1-1er trimestre 13 14  1-
1er trimestre 13 14 1-cgalobar
 
informática nazaret
informática nazaretinformática nazaret
informática nazaretjangelsp
 
8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz
8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz
8 cad-s evaluación de la adaptación al divorcio-separación - yarnozCENTRE SUPORT
 
El volcà d' islàndia
El volcà d' islàndiaEl volcà d' islàndia
El volcà d' islàndiaclaudiavtls
 
Dom30 c13cas (27 oct 2013)
Dom30 c13cas (27 oct 2013)Dom30 c13cas (27 oct 2013)
Dom30 c13cas (27 oct 2013)escmauxi
 

Andere mochten auch (7)

1er trimestre 13 14 1-
1er trimestre 13 14  1-1er trimestre 13 14  1-
1er trimestre 13 14 1-
 
informática nazaret
informática nazaretinformática nazaret
informática nazaret
 
8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz
8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz
8 cad-s evaluación de la adaptación al divorcio-separación - yarnoz
 
El volcà d' islàndia
El volcà d' islàndiaEl volcà d' islàndia
El volcà d' islàndia
 
Llum Del Carbó
Llum Del CarbóLlum Del Carbó
Llum Del Carbó
 
Orden pafde
Orden pafdeOrden pafde
Orden pafde
 
Dom30 c13cas (27 oct 2013)
Dom30 c13cas (27 oct 2013)Dom30 c13cas (27 oct 2013)
Dom30 c13cas (27 oct 2013)
 

Ähnlich wie Algorisme De Detecció De Cossos En Moviment

Domòtica: Automatització d'habitatges i edificis
Domòtica: Automatització d'habitatges i edificis Domòtica: Automatització d'habitatges i edificis
Domòtica: Automatització d'habitatges i edificis AnnaXumetra
 
Tecnologia comunicacionsdigitals
Tecnologia comunicacionsdigitalsTecnologia comunicacionsdigitals
Tecnologia comunicacionsdigitalsDGS
 
Memòria
MemòriaMemòria
MemòriaIvan Pi
 
Guia de la Televisió Digital Terrestre (TDT)
Guia de la Televisió Digital Terrestre (TDT)Guia de la Televisió Digital Terrestre (TDT)
Guia de la Televisió Digital Terrestre (TDT)Localret
 
070927 PFC blai_monegal_s
070927 PFC blai_monegal_s070927 PFC blai_monegal_s
070927 PFC blai_monegal_sblamsa
 
Llicència estudis PFC
Llicència estudis PFCLlicència estudis PFC
Llicència estudis PFCICE_URV_NU
 
Manual cluster hadoop_by_marc_fontanals
Manual cluster hadoop_by_marc_fontanalsManual cluster hadoop_by_marc_fontanals
Manual cluster hadoop_by_marc_fontanalsMarc Fontanals
 
Maquinari
MaquinariMaquinari
MaquinariDGS
 
645pub
645pub645pub
645pubmrj2
 
645pub
645pub645pub
645pubmrj2
 
Pla d'acció tutorial (pat) curs acadèmic 2014-2015 - versió de setembre de ...
Pla d'acció tutorial (pat)   curs acadèmic 2014-2015 - versió de setembre de ...Pla d'acció tutorial (pat)   curs acadèmic 2014-2015 - versió de setembre de ...
Pla d'acció tutorial (pat) curs acadèmic 2014-2015 - versió de setembre de ...rpujol1
 

Ähnlich wie Algorisme De Detecció De Cossos En Moviment (20)

Domòtica: Automatització d'habitatges i edificis
Domòtica: Automatització d'habitatges i edificis Domòtica: Automatització d'habitatges i edificis
Domòtica: Automatització d'habitatges i edificis
 
Tecnologia comunicacionsdigitals
Tecnologia comunicacionsdigitalsTecnologia comunicacionsdigitals
Tecnologia comunicacionsdigitals
 
Memòria
MemòriaMemòria
Memòria
 
Guia de la Televisió Digital Terrestre (TDT)
Guia de la Televisió Digital Terrestre (TDT)Guia de la Televisió Digital Terrestre (TDT)
Guia de la Televisió Digital Terrestre (TDT)
 
070927 PFC blai_monegal_s
070927 PFC blai_monegal_s070927 PFC blai_monegal_s
070927 PFC blai_monegal_s
 
Llicència estudis PFC
Llicència estudis PFCLlicència estudis PFC
Llicència estudis PFC
 
M270
M270M270
M270
 
Informe Biocat 2011 (català)
Informe Biocat 2011 (català)Informe Biocat 2011 (català)
Informe Biocat 2011 (català)
 
Manual cluster hadoop_by_marc_fontanals
Manual cluster hadoop_by_marc_fontanalsManual cluster hadoop_by_marc_fontanals
Manual cluster hadoop_by_marc_fontanals
 
Maquinari
MaquinariMaquinari
Maquinari
 
Guia implementació CDA R2 espirometria (Versió Català-Complerta)
Guia implementació CDA R2 espirometria (Versió Català-Complerta)Guia implementació CDA R2 espirometria (Versió Català-Complerta)
Guia implementació CDA R2 espirometria (Versió Català-Complerta)
 
Guia Implementació CDA R2 Espirometria (Versió Català-Basica)
Guia Implementació CDA R2 Espirometria (Versió Català-Basica)Guia Implementació CDA R2 Espirometria (Versió Català-Basica)
Guia Implementació CDA R2 Espirometria (Versió Català-Basica)
 
645pub
645pub645pub
645pub
 
645pub
645pub645pub
645pub
 
Pla d'acció tutorial (pat) curs acadèmic 2014-2015 - versió de setembre de ...
Pla d'acció tutorial (pat)   curs acadèmic 2014-2015 - versió de setembre de ...Pla d'acció tutorial (pat)   curs acadèmic 2014-2015 - versió de setembre de ...
Pla d'acció tutorial (pat) curs acadèmic 2014-2015 - versió de setembre de ...
 
Guia iso 27001
Guia iso 27001Guia iso 27001
Guia iso 27001
 
Guia PEC
Guia PECGuia PEC
Guia PEC
 
Llibre estadística
Llibre estadísticaLlibre estadística
Llibre estadística
 
Coul
CoulCoul
Coul
 
Coul
CoulCoul
Coul
 

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. 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