Lokalizacja i klasyfikacja obiektów poruszających się w znany sposób

background image

POLITECHNIKA WROCŠAWSKA

WYDZIAŠ ELEKTRONIKI

Kierunek:

Automatyka i Robotyka (AiR)

Specjalno±¢:

Robotyka (ARR)

PRACA DYPLOMOWA

MAGISTERSKA

Lokalizacja i klasykacja obiektów

poruszaj¡cych si¦ w znany sposób

Localization and classication of objects

moving in a known way

Autor:

Maciej Sªomka

Prowadz¡cy prac¦:

dr in». Marek Wnuk, I-6

Opiekun:

dr in». Marek Wnuk, I-6

Ocena pracy:

WROCŠAW 2007

background image
background image

Rozdziaª 1

Wst¦p

1.1 Ogólna koncepcja

Rozwój technologiczny sprawiª, »e w ostatnich latach coraz ±mielej my±li si¦ o budowie

tak zwanych robotów spoªecznych. Maj¡ to by¢ inteligentne maszyny realizuj¡ce zadania

w otoczeniu ludzi. Bardzo wa»n¡ cech¡ tych robotów b¦dzie mo»liwo±¢ skutecznego loka-

lizowania ludzi, a tak»e (mi¦dzy innymi ze wzgl¦dów spoªecznych) bardziej wyranowane

zadania, takie jak rozpoznawanie nastroju czªowieka na podstawie wygl¡du lub mimiki

jego twarzy.

Wszystko wskazuje na to, »e zadania te b¦d¡ realizowane przez system wizyjny robota.

Istotne jest mo»liwie szybkie dziaªanie obsªuguj¡cych go algorytmów, gdy» robot musi

dziaªa¢ w czasie rzeczywistym w szybkozmiennym ±rodowisku. Z powodu dziaªania w

otoczeniu ludzi, »adne pomyªki ani opó¹nienia nie s¡ wskazane.

Znaczna cz¦±¢ algorytmów sªu»¡cych do lokalizowania oraz klasykowania obiektów wi-

docznych na obrazach opiera si¦ na tzw. dopasowywaniu wzorca (ang. template matching

lub pattern matching). Polegaj¡ one na wyszukiwaniu na obrazie fragmentów podobnych

ksztaªtem do wzorca (lub jednego z wzorców) zapisanego w przygotowanej wcze±niej bazie

danych. Takie podej±cie wymaga sporych nakªadów obliczeniowych. Niezb¦dne jest stwo-

rzenie wspomnianej bazy zawieraj¡cej wzorce przedstawiaj¡ce interesuj¡ce nas obiekty.

W celu znalezienia ich na danym obrazie, poszukuje si¦ obszaru podobnego do wzorca

pod wzgl¦dem koloru, ksztaªtu, itp. poprzez przykªadanie wzorca do ka»dego miejsca na

obrazie (z pewn¡ dokªadno±ci¡) i okre±laniu podobie«stwa. Je±li przyjmiemy, »e obiekt

mo»e wyst¦powa¢ w ró»nej skali lub poªo»ony w innej orientacji ni» wzorzec w bazie da-

nych, wymagania obliczeniowe oka»¡ si¦ spore. Dodatkowo mo»e si¦ zdarzy¢, »e tªo nie

sprzyja poszukiwaniom (mo»e by¢ na przykªad podobnego koloru jak poszukiwany obiekt

lub mie¢ skomplikowan¡ struktur¦). Czasem znalezienie obiektu na obrazie przy pomocy

dopasowania wzorca mo»e by¢ wr¦cz niemo»liwe.

Problemy takie s¡ do±¢ cz¦sto spotykane w rzeczywistych aplikacjach i konieczne jest

znalezienie skutecznego sposobu na ich rozwi¡zanie.

Je±li przetwarzane nie s¡ pojedy«cze obrazy, lecz caªe ich sekwencje, a szukane obiekty

poruszaj¡ si¦ w znany sposób, mo»emy wykorzysta¢ t¡ dodatkow¡ informacj¦. Dzi¦ki niej

mo»emy, na przykªad, zmniejszy¢ przeszukiwany obszar obrazu. Przyspieszy to dziaªanie

algorytmu lub umo»liwi dokªadniejsze przeszukiwanie wydzielonej cz¦±ci obrazu bez utraty

szybko±ci przetwarzania.

W pewnych przypadkach mo»e si¦ wr¦cz okaza¢, »e pewna wiedza dotycz¡ca sposobu

poruszania si¦ obiektu mo»e by¢ wystarczaj¡ca do poprawnego jego zlokalizowania na

obrazie i/lub przydzielenia do odpowiedniej klasy.

background image

2

Wst¦p

Mobilno±¢ robota implikuje znaczne zmiany tªa w czasie pracy algorytmów, a tak»e

ograniczenia dotycz¡ce masy oraz poboru energii sprz¦tu (w tym jednostki obliczenio-

wej). Konieczne jest wi¦c opracowanie mo»liwie prostych oraz skutecznych algorytmów

obsªuguj¡cych jego system wizyjny.

Coraz cz¦±ciej spotykane s¡ algorytmy do wykrywania ludzi na sekwencjach obrazów

oparte na wiedzy o sposobie ich poruszania si¦. Przewa»nie nie wymagaj¡ one budowania

obszernej bazy danych ze wzorcami. Dodatkowo oparte s¡ na podstawowych operacjach

z dziedziny przetwarzania obrazów, które nie wymagaj¡ znacznych nakªadów obliczenio-

wych, za to cz¦sto mo»na je wykona¢ na poziomie sprz¦tu. Wiedza dotycz¡ca ruchu

czªowieka pozwala równie» na skuteczne znalezienie go nawet na szybkozmiennym i skom-

plikowanym tle.

Poza robotyk¡ s¡ równie» inne dziedziny, w których mo»na wykorzysta¢ algorytmy

lokalizacji i klasykacji ludzi na podstawie sposobu poruszania si¦.

Spore zainteresowanie budz¡ one w±ród producentów samochodów. Najwi¦ksze rmy

motoryzacyjne, takie jak Daimler-Benz (patrz. [2]) pracuj¡ w swoich laboratoriach nad

algorytmami umo»liwiaj¡cymi wykrywanie pieszych przechodz¡cych przed mask¡ samo-

chodu. Istniej¡ bowiem plany budowy systemu wspieraj¡cego kierowc¦ opartego na sys-

temie wizyjnym, którego celem b¦dzie ostrzeganie kierowcy w razie wykrycia czªowieka

przed samochodem i tym samym zmniejszenie liczby wypadków z udziaªem pieszych.

Inn¡ dziedzin¡ s¡ inteligentne systemy nadzoru. Okre±lenie inteligentne oznacza

wi¦ksz¡ funkcjonalno±¢ ni» zwykªa detekcja ruchu, czego przykªadem ma by¢ mniejsza

podatno±¢ na faªszywe alarmy powodowane na przykªad przez ruch li±ci drzew czy prze-

latuj¡ce przed kamer¡ ptaki.

Jednym z zastosowa« omawianych algorytmów w tej dziedzinie miaªoby by¢ wykrywa-

nie obecno±ci ludzi na scenie oraz skuteczna ich lokalizacja na obrazie i próby identykacji

osób (np. rozpoznawanie twarzy).

System taki mógªby równie» dziaªa¢ w oparciu o rozpoznawanie podejrzanych akcji wy-

konywanych przez obiekt na scenie, wszczynaj¡c alarm po wykryciu czªowieka chodz¡cego

po parkingu i zagl¡daj¡cego do samochodów.

1.2 Cel pracy

Celem pracy jest dokonanie przegl¡du istniej¡cych algorytmów pozwalaj¡cych na lokaliza-

cj¦ i klasykacj¦ pieszych oraz podejmowanych przez nich akcji na sekwencjach obrazów

z wykorzystaniem informacji o ich sposobie poruszania si¦. Nast¦pnym etapem b¦dzie

wybranie jednego z algorytmów lub zaproponowanie wªasnego oraz jego implementacja

wraz z ocen¡ skuteczno±ci dziaªania.

background image

Rozdziaª 2

Przegl¡d istniej¡cych algorytmów

2.1 Podziaª algorytmów

Badania nad wykorzystywaniem informacji dotycz¡cej ruchu czªowieka do jego skutecznej

lokalizacji i/lub identykacji maj¡ sw¡ histori¦. Ju» w 1973 roku psycholog G. Johansson

przeprowadziª eksperymenty w tej materii [9]. Grupie ludzi przyczepiane byªy w ró»nych

miejscach ciaªa i w ró»nych ilo±ciach ±wiec¡ce znaczniki (MLD- Moving Light Display).

Zadaniem drugiej grupy-obserwatorów, byªo rozpoznanie, co oni robi¡. Okazaªo si¦, »e

ludziom wystarczy widok jedynie kilku znaczników, by zidentykowa¢ wykonywan¡ przez

czªowieka akcj¦. Pojawiªy si¦ wi¦c pytania: Czy do skutecznej identykacji czªowieka

lub wykonywanych przez niego czynno±ci niezb¦dna jest wiedza o ruchu poszczególnych

cz¦±ci jego ciaªa? Czy wystarczaj¡c¡ ilo±¢ informacji mo»na pozyska¢ wprost z ogólnych

(niskopoziomowych) danych o jego ruchu?

Podobne badania maj¡ miejsce od pewnego czasu w dziedzinie rozpoznawania rucho-

mych obiektów z wykorzystaniem systemu wizyjnego. Okazuje si¦, »e wiedza o sposobie

poruszania si¦ czªowieka jest wystarczaj¡ca do skutecznego zlokalizowania go na scenie

oraz rozpoznawania wykonywanych przez niego czynno±ci. Dodatkowo wykorzystanie ni-

skopoziomowych cech opisuj¡cych jego ruch pozwala upro±ci¢ i przyspieszy¢ dziaªanie

wykorzystywanych algorytmów.

Pozyskiwanie caªego modelu ciaªa czªowieka (przewa»nie w postaci tzw. stick-gure,

patrz rysunek 2.3) jest najcz¦±ciej wykorzystywane przy analizie jego ruchu. Tematyka ta

jednak wykracza poza zakres niniejszej pracy.

Algorytmy do rozpoznawania ludzi na podstawie sposobu ich poruszania si¦ s¡ bardzo

ró»norodne. W tabeli 2.1 zebrano kilka z nich z uwzgl¦dnieniem ich najwa»niejszych

cech, a w kolejnych podrozdziaªach opisano par¦ przykªadowych podej±¢ do omawianego

zagadnienia w celu pokazania ich ró»norodno±ci.

W wi¦kszo±ci algorytmy do wykrywania pieszych charakteryzuj¡ si¦ niewra»liwo±ci¡

na zmian¦ skali oraz z góry zakªadaj¡, »e ruch przechodz¡cego czªowieka obserwowany

jest z okre±lonego k¡ta. Przewa»nie pieszy porusza si¦ prostopadle do osi kamery. Jest

to przypadek najcz¦±ciej spotykany w praktyce, a zarazem najªatwiejszy do rozpatrzenia.

Ruch czªowieka charakteryzuje si¦ bowiem wyra¹n¡ okresowo±ci¡, któr¡ najªatwiej zaob-

serwowa¢ patrz¡c na niego z boku (ten fakt wykorzystuje znaczna wi¦kszo±¢ algorytmów).

W zale»no±ci od planowanego zastosowania, omawiane algorytmy mog¡ by¢ wra»liwe

lub nie na zmiany tªa oraz statyczno±¢ kamery. Zaªo»enie o statycznym poªo»eniu kamery

b¦dzie w przybli»eniu prawdziwe np. dla systemu nadzoru, lecz bª¦dne w przypadku

zastosowania w systemie wizyjnym robota mobilnego lub innego pojazdu.

background image

4

Przegl¡d istniej¡cych algorytmów

Tablic

a

2.1:

Zesta

wienie

niektóryc

h

algorytmó

w

do

wykryw

ania

ludzi

na

po

dsta

wie

sp

osobu

ic

h

poruszania

si

¦

Algorytm

Tªo

K

olor

Poªo»enie kamery

W

ra»li

w

o±¢

na

sk

al¦

W

ydziel

enie

sylw

etki

Ilo±¢ osób

Mo

del

Klasyk

ator

Zastoso

w

anie

Guo, Xu,T

suji[

7]

S

NIE

Prostopadle do

ruc

hu

NIE

odejmo

w

anie

tªa

jedna

TAK

sie¢

neuro-

no

w

a

rozp

ozna

w

anie

ak

cji

Little, Bo

yd[10]

S

NIE

Prostopadle do

ruc

hu

NIE

pole

ruc

hu

jedna

NIE

klasteryzacja

rozp

ozna

w

anie

osób

Viola, Jones, Sno

w[12]

S

NIE

Prostopadle do

ruc

hu

NIE

ltro

w

anie

jedna

NIE

kask

ado

wy

detek

cja

pie-

szyc

h

Heisele, W

ohler[2]

Z

TAK

Prostopadle do

ruc

hu

NIE

klasteryzacja

wiele

NIE

sie¢

neuro-

no

w

a

detek

cja

pie-

szyc

h

Polana, Nelson[13]

S

NIE

Prostopadle do

ruc

hu

NIE

pole

ruc

hu

jedna

NIE

klasteryzacja

rozp

ozna

w

anie

ak

cji

Tªo

:

S-

stat

yczne,

Z-

zmienne;

K

olor

:

potrzeba

kol

or

ow

ego

obraz

u;

Ilo±¢

osób

:

ile

osób

(ruc

hom

yc

h

obiektó

w)

mo»e

by¢

ob

ecn

yc

h

na

scenie;

Mo

del

:

czy

w

yk

orzystano

mo

del

ciaªa

czªo

wiek

a;

Klasyk

ator

:

w

jaki

sp

osób

dok

on

uje

si¦

klasyk

acji

wykryt

yc

h

obiektó

w

background image

2.2 Klasteryzacja i sieci neuronowe

5

Dodatkowo algorytmy mog¡ zakªada¢ ró»ne parametry obrazu implikuj¡c tym samym

niezb¦dny sprz¦t (np. kolorowa kamera, podczerwie«, itp). Mog¡ równie» wykorzystywa¢

dodatkow¡ wiedz¦ o ksztaªcie poszukiwanych obiektów w celu zwi¦kszenia skuteczno±ci

ich wykrywania.

Do samej klasykacji obiektów (w tym przypadku najcz¦±ciej jako pieszy/inny ru-

chomy obiekt) wykorzystywane s¡ ró»ne klasykatory. Najcz¦±ciej spotykane s¡ sieci neu-

ronowe, klasykatory kaskadowe oraz algorytmy klasteryzacji.

2.2 Klasteryzacja i sieci neuronowe

W pracy [2] przedstawiono metod¦ wykrywania pieszych na podstawie charakterystyki

ich ruchu na sekwencjach kolorowych obrazów pozyskanych z ruchomej kamery.

Typowym zastosowaniem tego algorytmu ma by¢ system wizyjny wspomagaj¡cy kie-

rowc¦ podczas jazdy w mie±cie.

Technika oparta jest na segmentacji obrazów na klastry. Ka»dy spo±ród n pikseli

opisany jest wektorem cech

f

n

= (R

n

, G

n

, B

n

, x

n

, y

n

) ,

(2.1)

gdzie:

• R

n

, G

n

, B

n

to skªadowe koloru w notacji RGB n-tego piksela,

• x

n

, y

n

- poªo»enie n-tego piksela na obrazie.

Metoda zakªada, »e punkty na obrazie o podobnym kolorze oraz poªo»one w niewielkiej

odlegªo±ci od siebie przedstawiaj¡ ten sam zyczny obiekt.

Klasteryzacja sprowadza si¦ do wydzielenia zadanej liczby R wzorców p

r

minimalizu-

j¡cych bª¡d:

E =

X

n

||f

n

− p

r(n)

||

2

,

(2.2)

gdzie: p

r(n)

- wzorzec najbli»szy n-temu pikselowi w przestrzeni kolor/poªo»enie (RGBxy).

W pierwszym kroku wydzielane s¡ klastry. W kolejnych etapach stosowany jest al-

gorytm równolegªej klasteryzacji k-najbli»szych s¡siadów pozwalaj¡cy na ±ledzenie zmian

poªo»enia i rozmiaru klastrów w czasie. Na rysunku 2.1 przedstawiono przykªadowy obraz

z zaznaczonymi klastrami.

Dane wej±ciowe dla klasykatora stanowi¡ zmiany szeroko±ci prostok¡tów opisanych na

klastrach w czasie. Zakªadaj¡c, »e nogi pieszego zostan¡ wydzielone jako jeden odr¦bny

klaster, mo»liwe jest wydzielenie klastrów potencjalnie zawieraj¡cych fragment id¡cego

czªowieka.

Do wst¦pnej klasykacji wykorzystany zostaª szybki, wielomianowy klasykator. Te-

sty przeprowadzone przez autorów pracy pokazaªy, i» skuteczno±¢ wykrycia pieszego na

danym obrazie wynosi okoªo 84%. Bior¡c pod uwag¦, »e pieszy wyst¦puje na wielu klat-

kach lmu, odsetek ten jest wystarczaj¡co du»y. Problem stanowi jednak du»a liczba

faªszywych alarmów si¦gaj¡ca 7% z ilo±ci wydzielonych klastrów na danym obrazie.

Ostatecznej klasykacji dokonuje si¦ za pomoc¡ sieci neuronowej. Jako dane wej±ciowe

dla niej podawane s¡ informacje dotycz¡ce klastrów podejrzanych o zawieranie nóg pie-

szego wskazanych w procesie wst¦pnej klasykacji. Autorzy proponuj¡ zastosowanie sieci

TDNN (Time Delay Neural Network). Szczegóªy dotycz¡ce tej metody zawiera praca [2]

oraz wskazane w niej referencje.

background image

6

Przegl¡d istniej¡cych algorytmów

Rysunek 2.1: Przykªad obrazu po klasteryzacji [2]

2.3 Ukryte modele Markowa

Caªkiem inny, globalny sposób wykorzystania znajomo±ci ruchu czªowieka do jego loka-

lizacji i identykacji przedstawiono w pracach [3], [4], [5]. Jest on stosowany w takich

miejscach, jak szpitale, muzea, biura i domy towarowe. Wykorzystywany jest najcz¦±ciej

do lokalizacji osób w otoczeniu robota mobilnego poruszaj¡cego si¦ na danym obszarze.

Kiedy ludzie wykonuj¡ swoje codzienne czynno±ci, nie poruszaj¡ si¦ w sposób ci¡gªy.

Zazwyczaj zatrzymuj¡ si¦ w pewnych miejscach na jaki± czas, w zale»no±ci od wykony-

wanego zadania. Ta cecha ruchu czªowieka stanowi podstaw¦ do jego lokalizacji oraz

identykacji.

Do zbudowania bazy wzorców ruchu ludzi mo»na wykorzysta¢ system zªo»ony ze ska-

nerów laserowych i kamer umieszczonych w odpowiednich, kluczowych miejscach obser-

wowanego obszaru. W przypadku wykrycia przez dalmierz obecno±ci czªowieka w danym

miejscu, system wizyjny podejmuje prób¦ jego zidentykowania. Wszystkie dane przesy-

ªane s¡ do scentralizowanej bazy. Otrzymamy pewien zbiór ±cie»ek, na podstawie których

zbudowane zostan¡ wzorce ruchu odpowiadaj¡ce konkretnym zachowaniom.

I tak na wej±cie omawianego algorytmu podawany jest zbiór trajektorii d = {d

1

...d

n

}

pomi¦dzy miejscami zatrzyma«. Na jego podstawie w oparciu o ukryte modele Mar-

kowa budowane s¡ wzorce zachowa« reprezentuj¡ce zmiany poªo»e« ludzi w zale»no±ci od

background image

2.4 Wykorzystanie modelu

7

wykonywanego zadania.

Robot mobilny posiadaj¡cy tak zamodelowan¡ wiedz¦ o sposobie poruszania si¦ ludzi

w jego otoczeniu mo»e, z pewnym prawdopodobie«stwem, stwierdzi¢, gdzie znajduje si¦

interesuj¡ca go osoba nawet wtedy, gdy jej nie widzi. Gdy robot spotyka kogo± na swojej

trasie, dokonuje jego identykacji oraz modykuje posiadan¡ wiedz¦ uwzgl¦dniaj¡c jego

aktualne poªo»enie.

Rysunek 2.2: Przykªad dziaªania algorytmu z wykorzystaniem ukrytych modeli Mar-

kowa [3]

Ilustruj¡cy to przykªad zamieszczono na rysunku 2.2. Robot pocz¡tkowo nie widzi

danej osoby. Posiadana wiedza dotycz¡ca jej codziennych czynno±ci pozwala mu przy-

puszcza¢, »e mo»e ona znajdowa¢ si¦ w miejscu zatrzymania oznaczonym jako '7' (z

prawdopodobie«stwem wynosz¡cym p = 0.39),w miejscu '3' (p = 0.04), w miejscu '6'

(p = 0.01) lub w drodze mi¦dzy punktami (p = 1 − (0.39 + 0.04 + 0.01) = 0.56). W pew-

nej chwili dostrzega czªowieka przechodz¡cego przed sob¡. Modykuje wi¦c posiadan¡

wiedz¦ oraz wykorzystuje otrzyman¡ wªa±nie informacj¦ w dalszym procesie szacowania

jego poªo»enia.

2.4 Wykorzystanie modelu

W pracy [7] przedstawiony zostaª algorytm rozpoznawania akcji wykonywanych przez

obserwowanego czªowieka z wykorzystaniem modelu jego ciaªa. Ma on klasykowa¢ ruch

pieszego jako chód, bieg, lub inne. Jego autorzy przyjmuj¡, »e:

Ruch poszczególnych cz¦±ci ciaªa czªowieka mo»e by¢ w przybli»eniu traktowany

jako ruch planarny. Ruch rozpatruje si¦ wi¦c jako dwuwymiarowy.

Obserwowana osoba porusza si¦ na stacjonarnym tle. Mo»liwe jest wi¦c wydzielenie

jej sylwetki na danej klatce poprzez odj¦cie od niej klatki z tªem.

background image

8

Przegl¡d istniej¡cych algorytmów

Na scenie jest co najwy»ej jeden ruchomy obiekt (czªowiek).

Czªowiek porusza si¦ w pªaszczy¹nie prostopadªej do osi kamery.

Rysunek 2.3: Przykªad dwuwymiarowego modelu ciaªa czªowieka [7]

Model ciaªa reprezentowany jest przez szkielet (ang. stick-gure) przedstawiony na ry-

sunku 2.3. Skªada si¦ on z dziesi¦ciu odcinków poª¡czonych sze±cioma przegubami. Jego

stan mo»na opisa¢ w zwarty sposób za pomoc¡ wektora parametrów:

S = (x

0

, y

0

, d

m

, h

t

, h

a

, h

l

, h

n

, α

0

, α

1

, . . . , α

9

)

.

Ich znaczenie jest nast¦puj¡ce:

• (x

0

, y

0

)

- poªo»enie ±rodka gªowy

• d

m

- kierunek ruchu (

0

1

0

-w lewo,

0

− 1

0

-w prawo)

• h

t

- dªugo±¢ linii tuªowia

• h

a

- dªugo±¢ linii ramion

• h

l

- dªugo±¢ linii nóg

background image

2.5 Momenty geometryczne

9

• h

n

- dªugo±¢ linii gªowy

• α

0

- k¡t mi¦dzy lini¡ tuªowia, a osi¡ y

• α

1

. . . α

9

- k¡ty mi¦dzy s¡siaduj¡cymi liniami

Linie poª¡czone s¡ ze sob¡ przegubami. Zakªada si¦, »e mog¡ one obraca¢ si¦ w ogra-

niczonym zakresie (na przykªad kolana i ªokcie mog¡ wygina¢ si¦ tylko w jedn¡ stron¦).

Algorytm skªada si¦ z nast¦puj¡cych etapów:

1. Wydzielenie sylwetki czªowieka poprzez odj¦cie tªa od danej ramki

2. Binaryzacja uzyskanego obrazu

3. Wyznaczenie szkieletu sylwetki

4. Dopasowanie uzyskanego szkieletu do modelu, wyznaczenie warto±ci parametrów

skªadowych wektora S

W wyniku jego dziaªania uzyskamy sekwencj¦ S(n) opisuj¡c¡ ruch obserwowanego

czªowieka. Nast¦pnie wydzielany jest jeden okres jej zmian i podawany na wej±cie sieci

neuronowej wyuczonej do rozró»niania chodu, biegu oraz innych czynno±ci.

2.5 Momenty geometryczne

2.5.1 Wst¦p

W pracy [10] przedstawiono algorytm pozwalaj¡cy na rozpoznawanie osób na podstawie

ich chodu. ‘ledzi on zmiany parametrów, które s¡ ±ci±le zwi¡zane z momentami geo-

metrycznymi ksztaªtu sylwetki czªowieka wydzielonej z kolejnych klatek sekwencji przed-

stawiaj¡cej jego ruch. Algorytm nie jest wra»liwy na skal¦ i nie wymaga wykrywania

»adnych punktów charakterystycznych ciaªa czªowieka (takich jak stawy, dªonie, stopy,

gªowa). Dziaªa on na obrazach przedstawiaj¡cych pojedynczych pieszych przechodz¡cych

w pªaszczy¹nie prostopadªej do osi statycznej kamery.

2.5.2 Ogólny opis metody

Na rysunku 2.4 przedstawiono schemat dziaªania algorytmu z wydzieleniem jego etapów.

Danymi wej±ciowymi jest zestaw n+1 obrazów przedstawiaj¡cych czªowieka przechodz¡-

cego w pªaszczy¹nie prostopadªej do kamery. Na bazie ka»dych dwóch s¡siaduj¡cych

ramek wyliczane jest n obrazów przedstawiaj¡cych pole ruchu obiektu.

Kolejnym etapem jest wyliczenie m parametrów (warto±ci skalarne) dla ka»dej z wy-

dzielonych na podstawie pola ruchu sylwetek, aby nast¦pnie utworzy¢ dla ka»dego z nich

przebieg zmian w czasie.

Sposób poruszania si¦ czªowieka charakteryzuje si¦ cykliczno±ci¡ zmian parametrów.

Przebieg ka»dego z nich b¦dzie równy dokªadnie cz¦stotliwo±ci podstawowej ruchu lub

stanowi¢ b¦dzie jego caªkowit¡ wielokrotno±¢. Wyst¦puj¡ jednak ró»nice w ich fazie.

Aby móc porówna¢ ró»ne sekwencje ruchu, musimy jeden z parametrów potraktowa¢

jako faz¦ odniesienia: φ

m

. Wektorem cech charakteryzuj¡cym ka»d¡ sekwencj¦ b¦dzie

F = (F

1

, ..., F

m−1

)

, gdzie F

i

= φ

i

− φ

m

.

background image

10

Przegl¡d istniej¡cych algorytmów

Rysunek 2.4: Schemat dziaªania algorytmu Shape of Motion [10]

2.5.3 Szczegóªowy opis metody

Pole ruchu
Autorzy pracy wyznaczaj¡ pole ruchu poprzez minimalizacj¦ bª¦du ±redniokwadratowego

pomi¦dzy poszczególnymi plamami na s¡siednich klatkach lmu.

Algorytm dla ka»dego piksela poszukuje przemieszczenia (u(x, y), v(x, y)) które mi-

nimalizuje sum¦ warto±ci bezwzgl¦dnych ró»nic pomi¦dzy warto±ciami jasno±ci danego

obszaru na jednym obrazie i odpowiadaj¡cego mu obszaru na drugim obrazie. W ten spo-

sób dla ka»dej plamy klatki lmu znajduje najlepsze dopasowanie plamy na kolejnej klatce.

Nast¦pnie algorytm przetwarza oba obrazy zamieniaj¡c ich role (dla ka»dego obszaru na

drugiej klatce szuka najlepszego dopasowania na klatce pierwszej). Je±li dopasowanie byªo

dobre, wyniki powinny by¢ takie same.

W kolejnym kroku algorytm sprawdza wyniki dopasowania dla ka»dego piksela obrazu.

Tylko te obszary, których wyniki w przybli»eniu zgadzaj¡ si¦ na obu obrazach (suma

przemieszcze« powinna by¢ bliska zeru) s¡ brane pod uwag¦.

Przykªadowe rozkªady |(u, v)| dla kilku kolejnych klatek lmu przedstawione s¡ na

rysunku 2.5a.

Zakªada si¦, »e przemieszczenie mo»e przyj¡¢ tylko warto±ci caªkowite (wyra»one w

pikselach). Punkty, dla których jego warto±¢ wynosi co najmniej 1 nazywamy punktami

ruchomymi. Niech:

T (u, v) =

(

1,

je±li |(u, v)| ≥ 1

0,

w przeciwnym razie

(2.3)

Przykªadowe rozkªady T (u, v) dla kilku kolejnych klatek lmu przedstawione s¡ na

background image

2.5 Momenty geometryczne

11

rysunku 2.5b. Za pomoc¡ T (u, v) wydzielamy ruchome punkty. Otrzymujemy zestaw

a)

b)

Rysunek 2.5: a) Przykªadowy rozkªad warto±ci (|(u, v)|) dla sze±ciu klatek lmu;

b) Przykªadowy rozkªad warto±ci T (u, v) dla sze±ciu klatek lmu. [10]

obrazów binarnych, na których punkty ruchome maj¡ warto±¢ 1, natomiast pozostaªe-0.

Parametry
Do dalszej analizy ruchu wydzielonego obiektu wykorzystane zostan¡ zarówno warto±ci

binarne T (u, v), jak i wa»one przez warto±ci przesuni¦cia poszczególnych punktów w osi

poziomej (|u|T (u, v)), pionowej (|v|T (u, v)) oraz przesuni¦cia caªkowitego (|(u, v)|T (u, v)).

Podstawowymi parametrami charakteryzuj¡cymi ruch s¡ ±rodki ci¦»ko±ci rozkªadu

(T (u, v)) oraz (|(u, v)|T (u, v)). Dodatkowo bierze si¦ pod uwag¦ rozkªady |u|T (u, v) i
|v|T (u, v)

, czyli skªadowe poziome i pionowe pola ruchu.

Do cech charakterystycznych dla ruchu czªowieka zalicza si¦ równie» momenty bez-

wªadno±ci sylwetki wzdªu» osi gªównej sylwetki oraz wzdªu» osi do niej prostopadªej.

Moment bezwªadno±ci przyjmuje warto±¢ minimaln¡, gdy jest liczony wzdªu» osi gªównej

oraz maksymaln¡ wzdªu» osi do niej prostopadªej.

Do wizualizacji momentów bezwªadno±ci sylwetki cz¦sto wykorzystuje si¦ elips¦. Ry-

suje si¦ j¡ w ten sposób, »e:

1. ‘rodek elipsy le»y w ±rodku masy sylwetki

2. O± du»a elipsy le»y wzdªu» osi gªównej sylwetki i przyjmuje warto±¢ zale»n¡ od

maksymalnego momentu bezwªadno±ci sylwetki (liczonego wzdªu» osi prostopadªej

do osi gªównej sylwetki)

3. O± maªa le»y prostopadle do osi gªównej sylwetki i przyjmuje warto±¢ zale»n¡ od mi-

nimalnego momentu bezwªadno±ci sylwetki (liczonego wzdªu» osi gªównej sylwetki)

Na rysunku 2.6 przedstawiono przykªadowe klatki z lmu z wyrysowanymi wg powy»szych

zasad elipsami. Kwadratem i elips¡ ci¡gª¡ zobrazowane s¡ parametry odpowiadaj¡ce

background image

12

Przegl¡d istniej¡cych algorytmów

rozkªadowi binarnemu (T (u, v)), natomiast krzy»ykiem i lini¡ przerywan¡- |(u, v)|T (u, v).

Stosunek dªugo±ci osi elipsy stanowi niezale»ny od skali parametr sylwetki. Jego zmiany

Rysunek 2.6: Wizualizacja momentów sylwetek za pomoc¡ elips [10]

odzwierciedlaj¡ zarówno poªo»enie jak i pr¦dko±¢ poruszaj¡cych si¦ punktów.

Ksztaªt ruchu, poj¦cie wprowadzone przez autorów pracy [10], opisuje zmiany pola

ruchu poruszaj¡cego si¦ obiektu za pomoc¡ zestawu parametrów okre±laj¡cych jego stan

w danej chwili.

Do cech opisuj¡cych ruch czªowieka autorzy pracy [10] polecaj¡ doda¢ stosunki

λ

max

λ

min

dla sylwetek T (u, v) i |(u, v)|T (u, v), gdzie λ

min

i λ

max

to kolejno minimalna i maksymalna

warto±¢ wªasna macierzy drugich momentów danego rozkªadu.

Peªny zestaw parametrów, którego wykorzystanie sugeruj¡ autorzy pracy [10] zamiesz-

czono w tabeli 2.2.

background image

2.5 Momenty geometryczne

13

Tablic

a

2.2:

Zesta

w

parametró

w

sylw

etki,

wg

autoró

w

algorytm

u

Shap

e

Of

Motion

l.p.

Opis

Sym

bol

W

zór

1.

W

sp

óªrz¦dna

x

rozkªadu

T

(u,

v

)

x

c

P

xT

/

P

T

2.

W

sp

óªrz¦dna

x

rozkªadu

|(

u,

v

)|

T

(u,

v

)

x

ω

c

P

x

|(

u,

v

)|

T

/

P

|(

u,

v

)|

T

3.

W

sp

óªrz¦dna

y

rozkªadu

|(

u,

v

)|

T

(u,

v

)

y

ω

c

P

y

|(

u,

v

)|

T

/

P

|(

u,

v

)|

T

4.

Pozioma

ró»nica

poªo»e«

±ro

dk

ów

x

d

x

ω

c

x

c

5.

Piono

w

a

ró»nica

poªo»e«

±ro

dk

ów

y

d

y

ω

c

y

c

6.

W

sp

óªczynnik

wydªu»enia

elipsy

rozkªadu

T

(u,

v

)

a

c

λ

max

min

,

gdzie

λ-

w

arto±¢

wªa-

sna

macierzy

drugic

h

momen

w

syl-

w

etki

7.

W

sp

óªczynnik

wydªu»enia

elipsy

rozkªadu

|(

u,

v

)|

T

(u,

v

)

a

ω

c

jak

a

c

8.

Ró»nica

wsp

óªczynnik

ów

wydªu»enia

obu

elips

a

d

a

c

a

ω

c

9.

W

sp

óªrz¦dna

x

rozkªadu

|u

|T

(u,

v

)

x

c

P

x

|u

|T

/

P

|u

|T

10.

W

sp

óªrz¦dna

y

rozkªadu

|u

|T

(u,

v

)

y

c

P

y

|u

|T

/

P

|u

|T

11.

W

sp

óªrz¦dna

x

rozkªadu

|v

|T

(u,

v

)

x

v

ω

c

P

x

|v

|T

/

P

|v

|T

12.

W

sp

óªrz¦dna

y

rozkªadu

|v

|T

(u,

v

)

y

v

ω

c

P

y

|v

|T

/

P

|v

|T

13.

W

sp

óªrz¦dna

y

rozkªadu

T

(u,

v

)

y

c

P

y

T

/

P

T

background image

14

Przegl¡d istniej¡cych algorytmów

Ka»dy obraz I

j

nale»¡cy do badanej sekwencji ruchu generuje zestaw m = 13 ska-

larnych warto±ci parametrów, s

ij

, gdzie i = 1...m oraz j = 1..n. W nast¦pnym kroku

skªadamy zale»ne od czasu warto±ci ka»dej cechy w przebiegi czasowe (wektory S

i

).

Okre±lenie cz¦stotliwo±ci i fazy
Charakterystyczne dla sposobu poruszania si¦ id¡cego czªowieka jest posiadanie jednej,

gªównej cz¦stotliwo±ci. Mog¡ wyst¡pi¢ dodatkowo caªkowite jej wielokrotno±ci. Wynika

to z konieczno±ci koordynacji ruchu poszczególnych cz¦±ci jego ciaªa. Wyprowadzone

parametry, b¦d¡ce w zasadzie sum¡ ruchów cz¦±ci ciaªa czªowieka musz¡ mie¢ t¡ sam¡

wªa±ciwo±¢.

Pomimo wspólnej cz¦stotliwo±ci, przebiegi zmian parametrów ró»ni¢ si¦ b¦d¡ przesu-

ni¦ciem fazowym. Musimy wi¦c znale¹¢ podstawow¡ cz¦stotliwo±¢, a nast¦pnie ró»nice w

fazie poszczególnych sygnaªów.

Autorzy pracy uznali, »e klasyczna metoda wyznaczania parametrów z wykorzysta-

niem transformacji Fouriera b¦dzie niedostatecznie precyzyjna. Próbki sygnaªów zawie-

raj¡ tylko kilka przebiegów i niemo»liwe jest precyzyjne okre±lenie cz¦stotliwo±ci i fazy. W

zamian u»yli metody opartej na zasadzie maksimum entropii (maximum entropy spectrum

estimation). Z racji jej zªo»ono±ci po szczegóªy odsyªam do pracy [10] oraz cytowanych w

niej ¹ródeª.

Klasykacja
Autorzy przeprowadzili szerok¡ dyskusj¦ na temat otrzymanych wyników oraz mo»liwo±ci

ich interpretacji. Analiza statystyczna pokazaªa, »e najbardziej mo»na polega¢ na cechach

sygnaªów y

ωc

, y

d

oraz a

d

. Na rysunku 2.7 przedstawiªem wykres cech uzyskanych na pod-

stawie sygnaªów y

d

i a

d

dla sze±ciu ró»nych osób. Wida¢ wyra¹n¡ tendencj¦ do grupowania

si¦ wyników sugeruj¡c¡ mo»liwo±¢ wykorzystania jednej z technik klasteryzacji.

I tak autorzy wypróbowali m.in. metody: jeden najbli»szy s¡siad oraz k najbli»szych

s¡siadów. Z wykorzystaniem peªnego wektora cech uzyskali skuteczno±¢ poprawnej identy-

kacji na poziomie 90.5%. Zmniejszenie wektora do kilku wybranych skªadowych pozwala

zwi¦kszy¢ ten odsetek do 95%.

background image

2.5 Momenty geometryczne

15

Rysunek 2.7: Poªo»enia punktów reprezentuj¡cych warto±ci wektora (y

d

,a

d

) dla 42 próbek

charakteryzuj¡cych chód 6 osób [10]

background image

16

Przegl¡d istniej¡cych algorytmów

background image

Rozdziaª 3

Opis implementacji

Do implementacji zdecydowaªem si¦ wybra¢ algorytm Shape Of Motion opisany w pracy [10].

Krótkie jego omówienie znajduje si¦ w rozdziale 2.5 niniejszej pracy. Jest to algorytm

wykorzystuj¡cy niskopoziomowe cechy poruszaj¡cego si¦ obiektu. Nie wymaga wi¦c two-

rzenia wzorca opisuj¡cego ksztaªt czªowieka, wyznaczania odpowiadaj¡cych mu cech na

obrazie (na przykªad szkieletu sylwetki), ani ich pó¹niejszego dopasowywania.

Wykorzystanie jedynie kilku podstawowych oraz nieskomplikowanych operacji z dzie-

dziny przetwarzania obrazów sprawia, »e metoda ta jest ªatwa do zrozumienia, implemen-

tacji oraz, co za tym idzie, wprowadzania ewentualnych ulepsze«. Z racji swojej prostoty

istnieje szansa, »e b¦dzie on w stanie dziaªa¢ w czasie rzeczywistym w trybie online na

dost¦pnym sprz¦cie (patrz rozdziaª 3.1.1).

Dodatkowo ilo±¢ zaproponowanych parametrów oraz dyskusja na temat wyników dzia-

ªania algorytmu oraz wnioski z niej wyci¡gni¦te przez autorów wspomnianej pracy wska-

zuj¡ na du»y potencjaª metody. Zmniejszenie rozmiaru wektora cech poprzez wybranie

najpewniejszych (daj¡cych najlepsze wska¹niki poprawnej klasykacji) oraz ewentualnie

zaproponowanie dodatkowych parametrów pozwoli na zaprojektowanie algorytmu zbilan-

sowanego pod wzgl¦dem skuteczno±ci oraz szybko±ci dziaªania.

Implementowany algorytm sªu»y do identykowania konkretnych osób na podstawie

charakterystyki cz¦stotlio±ciowej ich chodu. Postanowiªem zmniejszy¢ wymagania i po-

przesta¢ na lokalizacji id¡cych ludzi na sekwencjach obrazów. Praca [10] ma charakter

±ci±le badawczy i dla jej autorów pr¦dko±¢ dziaªania algorytmu, ani mo»liwo±¢ jego pracy

w czasie rzeczywistym na komputerze osobistym nie miaªa wi¦kszego znaczenia. Co wi¦-

cej, nie proponuj¡ oni konkretnej, zwartej implementacji rozwa»anej metody. Do analizy

statystycznej otrzymanych wyników wykorzystali komercyjne oprogramowanie (StatView

4.5 ). Nie podali równie» konguracji sprz¦towej, na której przeprowadzane byªy badania,

ani czy osi¡gni¦to zadowalaj¡c¡ pr¦dko±¢ dziaªania.

Reasumuj¡c, zaimplementowaªem algorytm sªu»¡cy do lokalizacji id¡cych ludzi na

sekwencjach obrazów, oparty na zaproponowanej w pracy [10] metodzie wykorzystuj¡cej

momenty geometryczne sylwetki ruchomego obiektu. Dodatkowo zakªadam, »e:

Na scenie znajduje si¦ tylko jeden ruchomy obiekt.

Kamera ustawiona jest w osi prostopadªej do pªaszczyzny ruchu obiektu.

Kamera jest statyczna, a tªo si¦ nie zmienia.

Dodatkowym celem b¦dzie próba uzyskania pªynno±ci pracy algorytmu w czasie rze-

czywistym na posiadanym sprz¦cie (patrz 3.1.1).

background image

18

Opis implementacji

3.1 Wykorzystane narz¦dzia

3.1.1 Sprz¦t

Do implementacji algorytmu oraz badania jego skuteczno±ci i pr¦dko±ci dziaªania wyko-

rzystaªem komputery w konguracjach wymienionych w tabeli 3.1.

Tablica 3.1: Komputery wykorzystane do testowania algorytmu

Nazwa

Procesor

RAM

Chili

Pentium III, 650MHz

128MB

Frytka

Athlon 2000XP+, 1700MHz

256MB

Enterprise Pentium IV, 3000MHz HT

1GB Dual-Channel

Klocek

T7400, 2160MHz Intel Core 2 Duo 1GB

3.1.2 System operacyjny

Program pisany jest z my±l¡ o pracy w systemie operacyjnym GNU Linux. Jest to system

darmowy oraz gwarantuj¡cy stabilno±¢ dziaªania. Coraz cz¦±ciej jest wykorzystywany

w zastosowaniach przemysªowych. Dodatkowo dost¦pnych jest wiele wygodnych, a za-

razem darmowych narz¦dzi do tworzenia oprogramowania (kompilatory, biblioteki, itp).

Wyst¦puj¡ one równie» w wersjach dla innych systemów operacyjnych, wi¦c ewentualne

przeniesienie na inny system operacyjny powinno by¢ mo»liwe.

3.1.3 Kompilator

Do kompilacji u»ywaªem g++- kompilatora j¦zyka C++ wchodz¡cego w skªad zestawu

GCC (GNU Compiler Collection) w wersji 4.1.2. Jest on dost¦pny na wszystkie popu-

larne platformy sprz¦towe (w tym: x86, x86-64, ARM, PowerPC, Motorola M68000 ) oraz

wiele systemów operacyjnych (m.in. GNU Linux, *BSD, Windows, MacOS X, SunOS).

Kolekcja GCC jest rozpowszechniana na licencji GPL[6].

3.1.4 Przetwarzanie obrazów

Do pozyskiwania oraz przetwarzania obrazów wykorzystaªem bibliotek¦ OpenCV (Open

Source Computer Vision Library) rmy Intel w wersji 1.0.0. Zawiera ona zestaw okoªo
300

funkcji w j¦zyku C oraz kilka klas w C++ implementuj¡cych wiele popularnych

algorytmów z dziedziny komputerowej wizji oraz przetwarzania obrazów. Umo»liwia tak»e

tworzenie prostych interfejsów u»ytkownika.

Jest ona darmowa zarówno do wykorzystania w niekomercyjnych, jak i komercyjnych

aplikacjach.

3.1.5 Algorytmy numeryczne

Do wykonywania skomplikowanych oblicze« matematyczcnych u»yªem funkcji wchodz¡-

cych w skªad biblioteki GSL(GNU Scientic Library) w wersji 1.8. Zawiera ona zestaw

gotowych algorytmów do wykonywania oblicze« numerycznych. Jest rozpowszechniana

na licencji GPL[6].

background image

3.2 Wyznaczenie parametrów chodu czªowieka

19

3.1.6 Dane wej±ciowe

Do przeprowadzania bada« skuteczno±ci dziaªania implementowanego algorytmu wyko-

rzystaªem sekwencje z bazy danych CASIA Gait Database [8] zebranej przez Instytut

Automatyzacji Chi«skiej Akademii Nauk (Institute of Automation, Chinese Academy of

Sciences). Zawiera ona lmy z przechodz¡cymi przed kamer¡ pieszymi. Kamera usta-

wiona jest pod ró»nymi k¡tami (11 pozycji, od 0 do 180 stopni). W sumie jest to okoªo
15000

lmów.

Poza wspomnianymi sekwencjami w bazie zawarte s¡ równie» parametry pieszych,

takie jak wzrost czy masa, oraz poszczególne klatki wydobyte z lmów, tak»e w postaci

binarnej, z wydzielon¡ sylwetk¡ pieszego.

Jest to wspaniaªy materiaª dla ka»dego, kto chciaªby si¦ zaj¡¢ badaniem mo»liwo±ci

wykorzystania systemu wizyjnego do lokalizacji lub identykacji pieszych na podstawie

sposobu, w jaki chodz¡.

3.2 Wyznaczenie parametrów chodu czªowieka

Na rysunku 3.1 przedstawiªem ogólny schemat dziaªania implementowanego algorytmu.

Pierwsza wersja ma za zadanie pokaza¢, czy mo»liwe b¦dzie pozyskanie parametrów syl-

wetki id¡cego czªowieka oraz zaobserwowanie i wyznaczenie cz¦stotliwo±ci ich zmian z

u»yciem narz¦dzi opisanych w rozdziale 3.1.

3.2.1 Wydzielenie sylwetki

Cech¡ charakterystyczn¡ sekwencji wchodz¡cych w skªad bazy danych CASIA jest to, »e

na pierwszych klatkach nie jest widoczny pieszy. Mo»na wi¦c pobra¢ pierwszy obraz i

traktowa¢ jako staªe, niezmienne tªo.

Dzi¦ki temu mo»liwe jest wydzielenie sylwetki poruszaj¡cego si¦ czªowieka poprzez

odejmowanie od poszczególnych klatek tªa (ang. background subtraction) oraz dokonanie

operacji progowania na otrzymanym obrazie.

W swojej implementacji zamiast odejmowa¢, dziel¦ klatki przez model tªa. Metoda ta

zapobiega powstawaniu pikseli o ujemnej warto±ci jasno±ci pikseli na obrazie wynikowym,

a tak»e zmniejsza wpªyw nierównomierno±ci o±wietlenia sceny.

Dany piksel (x, y) jest uznany za nale»¡cy do poruszaj¡cego si¦ obiektu, je±li:

I(x, y)

B(x, y)

> T,

(3.1)

gdzie:

• (x, y)

- poªo»enie piksela na obrazie

• I(x, y)

- warto±¢ jasno±ci piksela (x, y) na danej klatce

• B(x, y)

- warto±¢ jasno±ci piksela (x, y) na klatce tªa

• T

- próg

Na rysunkach 3.2d-3.2f przedstawiªem kilka przykªadowych klatek z wydzielon¡ syl-

wetk¡ id¡cego czªowieka.

background image

20

Opis implementacji

Rysunek 3.1: Schemat dziaªania pierwszej wersji zaimplementowanego algorytmu

3.2.2 Pole ruchu

Do wyliczenia pola ruchu poruszaj¡cego si¦ obiektu u»yªem funkcji CalcOpticalFlowLK

zaimplementowanej w bibliotece OpenCV. Wykorzystuje ona algorytm Lucasa i Kanade

opisany w pracy [11]. Mimo swojej prostoty, metoda ta daªa satysfakcjonuj¡ce wyniki.

background image

3.2 Wyznaczenie parametrów chodu czªowieka

21

a)

b)

c)

d)

e)

f)

g)

h)

i)

j)

k)

l)

Rysunek 3.2: Trzy przykªadowe klatki z lmu z id¡cym pieszym (a-c), wydzielone z

nich obrazy binarne (d-f), pola ruchu (g-i), oraz ich iloczyny (j-l). Dla celów niniejszej

wizualizacji histogramy obrazów d-l zostaªy znormalizowane. W innym razie byªyby one

maªo czytelne.

Funkcja CalcOpticalFlowLK pozwala na uzyskanie dwóch obrazów. Na jednym ja-

sno±¢ piksela ma warto±¢ równ¡ skªadowej poziomej przesuni¦cia odpowiadaj¡cego mu

obszaru mi¦dzy dwoma obrazami, a na drugim- skªadowej pionowej. Obraz reprezentu-

j¡cy przesuni¦cie caªkowite uzyskaªem poprzez zsumowanie warto±ci bezwzgl¦dnych obu

obrazów. Otrzymaªem wi¦c przesuni¦cie w normie Manhattan.

Przykªadowe obrazy reprezentuj¡ce caªkowite przesuni¦cie widoczne s¡ na rysunkach

background image

22

Opis implementacji

3.2g-3.2i. Wida¢, »e poza obszarem sylwetki algorytm równie» wykryª ruch (ja±niejsze

plamy). Z tego powodu niemo»liwe byªoby wydzielenie sylwetki ruchomego obiektu po-

przez segmentacj¦ obszaru ruchomego.

Aby otrzyma¢ pole ruchu jedynie dla cz¦±ci obrazu zawieraj¡cej pieszego, mno»¦ obraz

przez binarn¡ sylwetk¦ uzyskan¡ poprzez odejmowanie tªa. Kilka klatek z wydzielonym

polem ruchu id¡cego czªowieka zaprezentowaªem na rysunkach 3.2j-3.2l. Warto±ci jasno±ci

s¡ dosy¢ maªe, wi¦c na potrzeby wizualizacji dokonaªem normalizacji histogramu.

Algorytm Lucasa i Kanade
Problem przesuni¦cia obiektu na obrazach mo»na przedstawi¢ w nast¦puj¡cy sposób:

Mamy dane funkcje F (x) oraz G(x) reprezentuj¡ce warto±ci wszystkich pikseli na dwóch

obrazach (x jest wektorem). Poszukujemy przesuni¦cia h, które minimalizuje pewne kry-

terium jako±ci reprezentuj¡ce ró»nic¦ mi¦dzy F (x + h) a G(x). Typowymi, najcz¦±ciej

spotykanymi miarami s¡:

• L

1

=

P

x

|F (x + h) − G(x)|

• L

2

=

pP

x

(F (x + h) − G(x))

2

Norma L

1

stanowi przybli»enie normy L

2

oraz ma zdecydowanie mniejsz¡ zªo»ono±¢

obliczeniow¡.

Dziaªanie algorytmu Lucasa i Kanade najªatwiej wytªumaczy¢ dla przypadku jedno-

wymiarowego, a nast¦pnie dokona¢ generalizacji na wiele wymiarów.

W przypadku jednowymiarowym poszukujemy poziomej ró»nicy h mi¦dzy krzywymi

F (x)

oraz G(x) = F (x + h). Opieramy si¦ na przybli»eniu liniowym F (x) w otoczeniu x.

Dla maªych warto±ci h mamy:

F

0

(x) ≈

F (x + h) − F (x)

h

=

G(x) − F (x)

h

,

(3.2)

st¡d:

h(x) ≈

G(x) − F (x)

F

0

(x)

.

(3.3)

U±redniamy h wzgl¦dem x:

h(x) ≈

P

x

G(x)−F (x)

F

0

(x)

P

x

1

.

(3.4)

Aby polepszy¢ wynik, wprowadzamy wagi. B¦d¡ one miaªy du»e warto±ci dla liniowych

fragmentów F (x) (maªe |F

00

(x)|

), czyli tych miejsc, gdzie najlepiej mo»emy j¡ przybli»y¢

wzorem (3.2):

w(x) =

1

|G

0

(x) − F

0

(x)|

,

(3.5)

wtedy:

h(x) ≈

P

x

w(x)[G(x)−F (x)]

F

0

(x)

P

x

w(x)

.

(3.6)

Rozwi¡zania poszukujemy przesuwaj¡c F (x) o przybli»enie h, korzystaj¡c z iteracji:

h

0

= 0,

(3.7)

h

k+1

= h

k

+

P

x

w(x)[G(x) − F (x + h

k

)]

P

x

w(x)

.

(3.8)

background image

3.2 Wyznaczenie parametrów chodu czªowieka

23

Powy»sze wyprowadzenie bardzo dobrze tªumaczy metod¦, lecz nie nadaje si¦ do ªa-

twego uogólnienia dla przypadku wielowymiarowego. Dodatkowo warto±¢ (3.3) jest nie-

okre±lona dla poziomych fragmentów funkcji F (x), gdy» F

0

(x) = 0

. Linearyzujemy wi¦c

funkcj¦ F (x) w nast¦puj¡cy sposób:

F (x + h) ≈ F (x) + hF

0

(x).

(3.9)

Szukamy h minimalizuj¡cego norm¦ L

2

, a co za tym idzie funkcj¦:

E(h) =

X

x

[F (x + h) − G(x)]

2

.

(3.10)

Minimum funkcji E(h) szukamy poprzez ró»niczkowanie wzgl¦dem h:

0 =

∂E

∂h

(3.11)

∂h

X

x

[F (x + h) − G(x)]

2

(3.12)

=

X

x

2F

0

(x)[F (x) + hF

0

(x) − G(x)].

(3.13)

St¡d otrzymujemy:

h(x) ≈

P

x

F

0

(x)[G(x) − F (x)]

P

x

[F

0

(x)]

2

(3.14)

=

P

x

[F

0

(x)]

2

[G(x)−F (x)]

F

0

(x)

P

x

[F

0

(x)]

2

.

(3.15)

Jak ªatwo zauwa»y¢, otrzymali±my rozwi¡zanie analogiczne do (3.6), lecz z funkcj¡

wagow¡ postaci [F

0

(x)]

2

.

Forma iteracyjna ma posta¢:

h

0

= 0

(3.16)

h

1

= h

k

+

P

x

w(x)F

0

(x + h

k

)[G(x) − F (x + h

k

)]

P

x

w(x)F

0

(x + h

k

)

2

,

(3.17)

gdzie w(x) dane jest wzorem (3.5).

Mo»emy teraz dokona¢ uogólnienia algorytmu dla przypadku wielowymiarowego. Mi-

nimalizujemy wi¦c bª¡d:

E(h) =

X

x

[F (x + h) − G(x)]

2

,

(3.18)

gdzie x oraz h to n-wymiarowe wektory.

Dokonujemy przybli»enia liniowego analogicznego do (3.9):

F (x + h) = F (x) + h

T

∂x

F (x),

(3.19)

gdzie

∂x

to operator gradientu wzgl¦dem x:

∂x

= [

∂x

1

,

∂x

2

, . . . ,

∂x

n

]

T

(3.20)

background image

24

Opis implementacji

Minimalizujemy funkcj¦ bª¦du:

0 =

∂h

E

(3.21)

=

∂h

X

x

[F (x) + h

T

∂F

∂x

− G(x)]

2

(3.22)

=

X

x

2

∂F

∂x

[F (x) + h

T

∂F

∂x

− G(x)],

(3.23)

st¡d:

h ≈

"

X

x

(

∂F

∂x

)

T

[G(x) − F (x)]

# "

X

x

(

∂F

∂x

)

T

(

∂F

∂x

)

#

−1

.

(3.24)

Forma iteracyjna ma posta¢ analogiczn¡, jak dla przypadku jednowymiarowego.

3.2.3 Parametry sylwetki

Zaproponowane w pracy [10] oraz zebrane w tabeli 2.2 parametry wyliczane s¡ na bazie

momentów geometrycznych wydzielonych sylwetek (sylwetki binarnej, pola ruchu oraz

jego skªadowych: poziomej i pionowej). Do ich wyznaczenia wykorzystaªem funkcje za-

implementowane w bibliotece OpenCV :

cvMoments- wyznacza momenty od zerowego do trzeciego rz¦du dla wskazanej syl-

wetki i zapisuje ich warto±ci w strukturze typu CvMoments (równie» zdeniowanej

w OpenCV

cvGetSpatialMoment- zwraca warto±¢ wybranego momentu zachowanego we wska-

zanej strukturze typu CvMoments

cvGetCentralMoment- zwraca warto±¢ wybranego momentu centralnego zachowa-

nego we wskazanej strukturze typu CvMoments

Momenty geometryczne
Momenty geometryczne sªu»¡ do parametryzacji ksztaªtu sylwetki. I tak moment rz¦du
p + q

zdeniowany jest jako:

m

p,q

=

Z

x

Z

y

x

p

y

q

I(x, y)dxdy,

(3.25)

lub dla przypadku dyskretnego:

m

p,q

=

X

x

X

y

x

p

y

q

I(x, y),

(3.26)

gdzie:

• (x, y)

- poªo»enie danego piksela,

• I(x, y)

- przyjmuje

0

1

0

lub

0

0

0

w zale»no±ci od tego, czy piksel (x, y) nale»y do sylwetki

czy te» nie(dla obrazu binarnego) lub warto±¢ jasno±ci piksela poªo»onego w punkcie
(x, y)

(dla obrazu w skali szaro±ci).

background image

3.2 Wyznaczenie parametrów chodu czªowieka

25

Šatwo zauwa»y¢, »e moment rz¦du zerowego:

m

0,0

=

X

x

X

y

I(x, y)

(3.27)

dla obrazu binarnego przyjmuje warto±¢ równ¡ powierzchni zajmowanej przez sylwetk¦

wyra»on¡ w pikselach.

Momenty rz¦du pierwszego natomiast, w poª¡czeniu z momentem rz¦du zerowego,

pozwalaj¡ na wyliczenie ±rodka ci¦»ko±ci u

s

sylwetki:

u

s

= (x

s

, y

s

),

(3.28)

gdzie:

x

s

=

m

1,0

m

0,0

,

(3.29)

y

s

=

m

0,1

m

0,0

.

(3.30)

Momenty rz¦du pierwszego ªatwo wyznaczy¢ na podstawie wzoru (3.25) jako:

m

1,0

=

Z

x

Z

y

xI(x, y)dxdy,

(3.31)

m

0,1

=

Z

x

Z

y

yI(x, y)dxdy,

(3.32)

lub dla przypadku dyskretnego, ze wzoru (3.26):

m

1,0

=

X

x

X

y

xI(x, y),

(3.33)

m

0,1

=

X

x

X

y

yI(x, y).

(3.34)

Momenty centralne
Wa»ne informacje z punktu widzenia dziaªania implementowanego algorytmu nios¡ ze

sob¡ równie» momenty centralne. Ich warto±ci s¡ niezale»ne od poªo»enia sylwetki na

obrazie i s¡ wykorzystywane do okre±lenia orientacji sylwetki. Zdeniowane s¡ jako:

µ

p,q

=

Z

x

Z

y

(x − x

s

)

p

(y − y

s

)

q

I(x, y)dxdy,

(3.35)

lub w wersji dla przypadku dyskretnego:

µ

p,q

=

X

x

X

y

(x − x

s

)

p

(y − y

s

)

q

I(x, y),

(3.36)

gdzie (x

s

, y

s

)

- wspóªrz¦dne ±rodka sylwetki.

Z pomoc¡ momentów centralnych mo»na ªatwo wyliczy¢ moment bezwªadno±ci syl-

wetki wzgl¦dem zadanej prostej [15]:

µ

θ

= µ

2,0

sin

2

θ − 2µ

1,1

cos θ sin θ + µ

0,2

cos

2

θ,

(3.37)

gdzie:

background image

26

Opis implementacji

• µ

θ

- moment bezwªadno±ci sylwetki wzgl¦dem prostej nachylonej pod k¡tem θ do

osi x,

• µ

0,2

, µ

2,0

, µ

1,1

- momenty centralne drugiego rz¦du (do wyliczenia na podstawie

wzoru (3.35) lub (3.36)).

Minimalizuj¡c warto±¢ µ

θ

poprzez zró»niczkowanie jej wzgl¦dem θ i przyrównanie

otrzymanego wyniku do zera, otrzymamy wzór na k¡t nachylenia osi gªównej sylwetki

(prosta, wzgl¦dem której sylwetka ma najmniejszy moment bezwªadno±ci) [15]:

θ =

1

2

arctan

1,1

µ

2,0

− µ

0,2

.

(3.38)

3.2.4 Wektor cech

Na podstawie momentów geometrycznych oraz momentów centralnych wyliczany jest wek-

tor cech charakteryzuj¡cych wydzielone sylwetki (binarn¡, skªadow¡ poziom¡ oraz pio-

now¡ pola ruchu, caªkowite pole ruchu). Jego skªadowe maj¡ charakter analogiczny do

parametrów zaproponowanych przez autorów pracy [10], zebranych w tabeli 2.2:

• x

c

- wspóªrz¦dna ±rodka sylwetki binarnej, skªadowa pozioma

• y

c

- wspóªrz¦dna ±rodka sylwetki binarnej, skªadowa pionowa

• x

wc

- wspóªrz¦dna ±rodka sylwetki pola ruchu, skªadowa pozioma

• y

wc

- wspóªrz¦dna ±rodka sylwetki pola ruchu, skªadowa pionowa

• x

d

- ró»nica x

wc

− x

c

• y

d

- ró»nica y

wc

− y

c

• a

c

- stosunek momentu minimalnego do maksymalnego sylwetki binarnej

• a

wc

- stosunek momentu minimalnego do maksymalnego pola ruchu

• a

d

- ró»nica a

c

− a

wc

• x

uwc

- wspóªrz¦dna ±rodka skªadowej poziomej pola ruchu, skªadowa pozioma

• y

uwc

- wspóªrz¦dna ±rodka skªadowej poziomej pola ruchu, skªadowa pionowa

• x

vwc

- wspóªrz¦dna ±rodka skªadowej pionowej pola ruchu, skªadowa pozioma

• y

vwc

- wspóªrz¦dna ±rodka skªadowej pionowej pola ruchu, skªadowa pionowa

W sensie implementacyjnym, ka»dy z wymienionych elementów ma posta¢ tablicy liczb

typu double. W ka»dym kroku (dla ka»dej klatki sekwencji) wyliczane s¡ warto±ci ka»dej

cechy i dopisywane na kolejne miejsce tablicy. Otrzymujemy wi¦c przebiegi ich zmian w

czasie.

background image

3.2 Wyznaczenie parametrów chodu czªowieka

27

a)

b)

Rysunek 3.3: Przebieg zmian parametru x

uwc

uzyskany bezpo±rednio z przykªadowej se-

kwencji (a) oraz przebieg uzyskany po odj¦ciu od niego skªadowej liniowej (b).

3.2.5 Zmiany parametrów poªo»enia poziomego

Jak ªatwo zauwa»y¢ (rysunek 3.3a), parametry zwi¡zane ze zmianami skªadowej pozio-

mej poªo»enia jednej z sylwetek (x

c

, x

wc

, x

uwc

oraz x

vwc

) maj¡ du»¡ skªadow¡ liniow¡

zwi¡zan¡ z poruszaniem si¦ czªowieka po scenie. Musimy j¡ uwzgl¦dni¢, aby wyznaczy¢

cz¦stotliwo±¢ zmian sygnaªu.

Do wyznaczenia parametrów liniowego tªa wykorzystaªem regresj¦ liniow¡ [1]. Me-

toda ta pozwala mi¦dzy innymi na znalezienie prostej opisanej wzorem y = ax + b, jak

najlepiej dopasowanej do zbioru punktów (x

1

, y

1

) . . . (x

N

, y

N

)

, pod k¡tem zadanego kry-

terium. Najcz¦±ciej wykorzystywana jest metoda najmniejszych kwadratów, dlatego te»

zdecydowaªem si¦ na jej u»ycie.

Regresja liniowa z u»yciem metody najmniejszych kwadratów

Poszukujemy funkcji f(x) = ax + b najlepiej przybli»aj¡c¡ zadane punkty. Niech funkcj¡

bª¦du b¦dzie:

χ

2

(a, b) =

n

X

i=1

(y

i

− ax

i

− b)

2

,

(3.39)

gdzie:

• (x

i

, y

i

)

- wspóªrz¦dne i-tego punktu

• a

, b- wspóªczynniki poszukiwanej funkcji liniowej postaci f(x) = ax + b

Poszukujemy minimum funkcji bª¦du poprzez przyrównanie jej pochodnej do zera:

∂χ

2

∂b

= −2

n

X

i=1

(y

i

− ax

i

− b) = 0

(3.40)

∂χ

2

∂a

= −2

n

X

i=1

x

i

(y

i

− ax

i

− b) = 0

(3.41)

background image

28

Opis implementacji

Te same równania mo»na przepisa¢ w wygodniejszej do wyliczenia postaci. Zdeniujmy

nast¦puj¡ce zmienne:

S

=

n

X

i=1

1,

(3.42)

S

x

=

n

X

i=1

x

i

,

(3.43)

S

y

=

n

X

i=1

y

i

,

(3.44)

S

xx

=

n

X

i=1

x

2
i

,

(3.45)

S

xy

=

n

X

i=1

x

i

y

i

.

(3.46)

Z ich pomoc¡ mo»emy zapisa¢ równania (3.40)-(3.41) jako:

aS

x

+ bS

= S

y

,

(3.47)

aS

xx

+ bS

x

= S

xy

.

(3.48)

Po ich rozwi¡zaniu otrzymamy wspóªczynniki poszukiwanej funkcji:

a =

S

x

S

y

− SS

xy

,

(3.49)

b =

S

x

S

xy

− S

xx

S

y

,

(3.50)

gdzie:

∆ = S

2

x

− SS

xx

.

(3.51)

Po odj¦ciu liniowego tªa od wspomnianych sygnaªów, uzyskaªem okresowe przebiegi ich

zmian. Przykªadowy wynik takiej operacji przedstawiªem na rysunku 3.3b.

3.2.6 Obliczanie cz¦stotliwo±ci

Jak wspomniaªem wcze±niej, implementowany algorytm ma sªu»y¢ jedynie do lokalizacji

pieszych (a nie identykacji konkretnych osób) na podstawie parametrów ruchu obiektów

widocznych na sekwencji obrazów. Jako zmienn¡ decyzyjn¡ postanowiªem wybra¢ cz¦sto-

tliwo±¢ zmian poszczególnych cech sylwetki. Jako »e szczególna precyzja nie jest konieczna

(nie jest interesuj¡ce przesuni¦cie fazowe sygnaªów), do jej wyliczenia postanowiªem u»y¢

transformacji Fouriera.

Transformacja Fouriera
Transformacja Fouriera jest liniowym operatorem przeksztaªcaj¡cym funkcj¦ ci¡gª¡ w inn¡

funkcj¦ ci¡gª¡. Pozwala ona na przeksztaªcenie przebiegu czasowego na ci¡gªe widmo jego

skªadowych cz¦stotliwo±ci, czyli na transformacj¦ funkcji z dziedziny czasu do dziedziny

cz¦stotliwo±ci.

background image

3.2 Wyznaczenie parametrów chodu czªowieka

29

Transformata (wynik transformacji) Fouriera zapisywana jest jako:

ˆ

f (ω) =

1

Z

−∞

f (t)e

−iωt

dt,

(3.52)

gdzie:

• ω

- cz¦sto±¢ koªowa,

• ˆ

f (ω)

- transformata Fouriera,

• f (t)

- funkcja bazowa,

• i

- jednostka urojona.

Dyskretna transformacja Fouriera jest wersj¡ transformacji Fouriera dla sygnaªu dys-

kretnego (próbkowanego). Przeksztaªca sko«czony ci¡g próbek (a

0

, a

1

, . . . , a

N −1

)

, a

i

∈ R

w ci¡g harmonicznych (A

0

, A

1

, . . . , A

N

− 1)

, A

i

∈ C

w nast¦puj¡cy sposób:

A

n

=

N −1

X

k=0

a

k

ω

−kn

N

,

(3.53)

gdzie:

• 0 ≤ n ≤ N − 1

,

• ω

N

= e

i

N

,

• i

- jednostka urojona,

• n

- numer harmonicznej,

• k

- numer próbki sygnaªu,

• a

k

- warto±¢ próbki sygnaªu,

• N

- liczba próbek.

Wzór (3.53) mo»na zapisa¢ w sposób macierzowy:

A = M a,

(3.54)

gdzie:

A =




A

0

A

1

...

A

N −1




,

(3.55)

M

=




ω

−0·0

N

ω

−1·0

N

. . .

ω

−(N −1)·0

N

ω

−0·1

N

ω

−1·1

N

. . .

ω

−(N −1)·1

N

...

...

...

...

ω

−0·(N −1)

N

ω

−1·(N −1)

N

. . .

ω

−(N −1)·(N −1)

N




,

(3.56)

a =




a

0

a

1

...

a

N −1




.

(3.57)

background image

30

Opis implementacji

Jak ªatwo dowie±¢, wyliczenie transformaty w tej formie (mno»enie macierzy przez

wektor) ma zªo»ono±¢ obliczeniow¡ O(N

2

)

. Dzi¦ki zastosowaniu pewnej sztuczki algoryt-

micznej w postaci techniki rekurencyjnej dziel i zwyci¦»aj mo»liwe jest przyspieszenie jej

wyliczania do zªo»ono±ci O(NlogN) [14].

Do obliczania transformaty Fouriera wykorzystaªem funkcje z biblioteki GNU Scien-

tic Library [14]. Wynikiem transformacji Fouriera dla sygnaªu rzeczywistego o dªugo±ci
N

jest tablica

N

2

liczb zespolonych reprezentuj¡ca kolejne cz¦stotliwo±ci.

W celu znalezienia cz¦stotliwo±ci dominuj¡cej szukamy tej, która ma najwi¦ksz¡ moc

wyra»on¡ wzorem:

P (c) = Re(c)

2

+ Im(c)

2

.

(3.58)

3.3 Badania algorytmu

3.3.1 Badania skuteczno±ci dziaªania

Badania polegaªy na uruchomieniu programu podaj¡c jako dane wej±ciowe kolejne lmy

z bazy danych CASIA Gait Database. Program zapisywaª w ka»dym kroku (dla ka»dej

klatki sekwencji) do jednego pliku aktualne warto±ci poszczególnych parametrów sylwetek

oraz do drugiego- warto±ci cz¦stotliwo±ci ich zmian wyliczone na podstawie posiadanej

ilo±ci próbek.

W pierwszym etapie przebadane zostaªo ponad 1200 sekwencji przedstawiaj¡cych ludzi

przechodz¡cych w pªaszczy¹nie prostopadªej do statycznej kamery.

Na rysunku 3.4 przedstawiªem zestaw przebiegów zmian parametrów sylwetek id¡cego

czªowieka. Pochodz¡ one z losowo wybranej spo±ród przebadanych sekwencji z czªowie-

kiem id¡cym w pªaszczy¹nie prostopadªej do osi kamery. Dodatkowo, nad ka»dym wy-

kresem znajduje si¦ warto±¢ cz¦stotliwo±ci zmian parametrów wyliczonych w programie z

u»yciem DFT.

Ju» na podstawie obserwacji tych przebiegów wida¢, »e nie wszystkie parametry b¦d¡

odpowiednie do wyznaczania cz¦stotliwo±ci id¡cego czªowieka. Wi¦kszo±¢ parametrów

jednak daªo dobry, powtarzalny wynik (okoªo 2Hz) oraz wykazuj¡ ewidentn¡ okresowo±¢

zmian.

Niesatysfakcjonuj¡cy okazaª si¦ przebieg parametru x

c

(skªadowa pozioma poªo»enia

±rodka ci¦»ko±ci sylwetki binarnej). Nie do±¢, »e cz¦stotliwo±¢ jego zmian wyliczona przez

program (0.42Hz) odbiega od cz¦stotliwo±ci wi¦kszo±ci parametrów, to wyra¹nie wida¢,

»e przebieg nie jest okresowy. Widoczny jest jednak ksztaªt, który zdaje si¦ powtarza¢

równie» na innych wykresach skªadowych poziomych ±rodków ci¦»ko±ci sylwetek (x

wc

,

x

uwc

, x

vwc

). Tam jest jednak sªabiej dostrzegalny z powodu silnych okresowych zmian

sygnaªu o cz¦stotliwo±ci 2Hz. Pojawienie si¦ takiego ksztaªtu mo»e by¢ spowodowane

wyst¦powaniem dodatkowej cz¦stotliwo±ci b¦d¡cej wynikiem aliasingu ramek.

1

Niesatysfakcjonuj¡cy okazaª si¦ tak»e przebieg parametru a

d

. Jego warto±¢ stanowi

ró»nica a

c

− a

wc

. Obie skªadowe ró»nicy daªy dobry wynik. Po odj¦ciu najwyra¹niej

zredukowana zostaªa najsilniejsza skªadowa i/lub wzmocniªa si¦ cz¦stotliwo±¢ dwukrot-

nie wi¦ksza. Wizualnie przebieg wydaje si¦ by¢ bardzo zaszumiony i nie wykazuje tak

wyra¹nej okresowo±ci, jak inne parametry.

1

Oprócz cz¦stotliwo±ci chodu czªowieka, ustalonej eksperymentalnie na okoªo 2Hz, wyst¦puje równie»

cz¦stotliwo±¢ zwi¡zana z dyskretn¡ natur¡ lmu (25 ramek na sekund¦, czyli 0.04Hz). Nakªadanie si¦

tych cz¦stotliwo±ci powoduje wªa±nie aliasing.

background image

3.3 Badania algorytmu

31

a) x

c

, f = 0.42Hz

b) y

c

, f = 2.11Hz

c) x

wc

, f = 2.11Hz

d) y

wc

, f = 2.11Hz

e) x

d

, f = 2.11Hz

f) y

d

, f = 2.11Hz

g) a

c

, f = 2.11Hz

h) a

wc

, f = 2.11Hz

i) a

d

, f = 3.38Hz

j) x

uwc

, f = 2.11Hz

k) y

uwc

, f = 2.11Hz

l) x

vwc

, f = 2.11Hz

m) y

vwc

, f = 2.11Hz

Rysunek 3.4: Przebiegi zmian parametrów sylwetek wraz z wyznaczon¡ za pomoc¡ szyb-

kiej transformacji Fouriera cz¦stotliwo±ci¡ dla przykªadowej sekwencji z id¡cym czªowie-

kiem.

background image

32

Opis implementacji

Pozostaªe jedena±cie parametrów daªo jednakowy wynik cz¦stotliwo±ci: 2.11Hz. Taka

zbie»no±¢ wyników nie jest niczym dziwnym i wynika z dyskretnego charakteru przebie-

gów.

Dodatkowo na podstawie wykresów mo»na zauwa»y¢ ró»nice w fazie niektóryuch sy-

gnaªów. Przypomn¦, »e w oryginalnej wersji algorytmu, zaprezentowanej w pracy [10],

ich warto±ci stanowiªy podstaw¦ do identykacji osób. I tak, na przykªad, na pocz¡tku

przykªadowej sekwencji, sygnaªy x

wc

czy y

wc

maj¡ warto±¢ maksymaln¡, x

d

- prawie mini-

maln¡, a y

c

znajduje si¦ w okolicach ±rodka zbocza.

Mo»na równie» zaobserwowa¢ ró»nice w ksztaªcie przebiegów poszczególnych parame-

trów: y

c

jest dosy¢ gªadkie, a

c

jest do±¢ gªadkie w okolicach miniumum i ma wyra¹ne

szpice dla warto±ci maksymalnych, a y

uwc

ma szpilki dla warto±ci najmniejszych i po-

szarpane, lecz do±¢ dªugie grzbiety dla najwi¦kszych. Te wªasno±ci nie miaªy bezpo±red-

niego znaczenia dla algorytmu rozpoznawania, lecz uwa»am, »e ich analiza dla konkretnej

osoby mo»e pozwoli¢ na wykrywanie pewnych cech charakterystycznych (na przykªad wad

ruchu). Wykracza to jednak poza zakres niniejszej pracy.

Na rysunku 3.5 przedstawiªem histogramy oraz podstawowe wªasno±ci statystyczne

rozkªadów cz¦stotliwo±ci badanych parametrów dla caªej serii sekwencji wej±ciowych (po-

nad 1200 lmów). Na ich podstawie mo»na wybra¢ najbardziej wiarygodne cechy.

Histogram cz¦stotliwo±ci x

c

potwierdziª wniosek o maªej przydatno±ci tego parametru.

Warto±¢ ±rednia oraz maksimum przypadªo dla cz¦stotliwo±ci okoªo 0.5Hz. Sk¡d taka

warto±¢? Wynika ona ze sposobu wyliczania cz¦stotliwo±ci przy u»yciu DF T . Metoda ta

zakªada bowiem, »e badany fragment sygnaªu (okno) stanowi cz¦±¢ przebiegu skªadaj¡cego

si¦ z jego ci¡gªych powtórze«. Je±li wi¦c nie zostanie wykryta wi¦ksza cz¦stotliwo±¢, to

wynikiem b¦dzie f =

1

t

, gdzie t- czas trwania badanego fragmentu przebiegu (szeroko±¢

okna). Badane sekwencje miaªy dªugo±¢ okoªo 50 klatek, czyli (dla 25 ramek na sekund¦)

2 sekund. Je±li nie wyst¡piªa wi¦ksza cz¦stotliwo±¢, to wynikiem byªo:

1

2s

= 0.5Hz

. I

tak byªo w przypadku x

c

. Nie wykazaª on charakteru okresowego. Parametr ten jednak

przydaª si¦ do wyeliminowania cz¦stotliwo±ci zwi¡zanej z aliasingiem ramek z sygnaªu x

d

,

który stanowi ró»nic¦ x

wc

− x

c

.

Równie» drugi wskazany wcze±niej parametr, a

d

okazaª si¦ nie do±¢ dobry. Podobnie,

jak na przykªad dla y

uwc

i x

uwc

otrzymaªem rozkªad wielomodalny. W niektórych przypad-

kach dla tych parametrów silniejsze okazaªy si¦ cz¦stotliwo±ci dwukrotnie wi¦ksze (okoªo
4Hz

) lub dwukrotnie mniejsze (okoªo 1Hz) ni» oczekiwana (okoªo 2Hz). Nie mo»na wi¦c

na nich w peªni polega¢.

Najlepsze wyniki daª parametr x

d

. Z warto±ci¡ ±redni¡ 2.02Hz, odchyleniem standar-

sowym wynosz¡cym 0.21Hz i spójn¡ struktur¡ histogramu stanowiª bardzo dobr¡ cech¦

do obliczania cz¦stotliwo±ci poruszaj¡cego si¦ obiektu. Je±li ustaliliby±my warunek na
x

d

∈ [1.5Hz; 2.5Hz]

, to uzyskaliby±my niemal 100% skuteczno±¢ wykrywania czªowieka

na badanych sekwencjach.

Niewiele gorsze okazaªy si¦ parametry a

c

(warto±¢ ±rednia: 1.99Hz, odchylenie stan-

dardowe: 0.29Hz) oraz a

wc

(warto±¢ ±rednia: 1.99Hz, odchylenie standardowe: 0.33Hz).

Tylko dla niewielkiej liczby przypadków ich cz¦stotliwo±¢ wyniosªa okoªo 0.5Hz (nie wy-

kazaªy charakteru okresowego). S¡ to bardzo cenne parametry z punktu widzenia popraw-

nego rozpoznawania poruszaj¡cego si¦ obiektu jako id¡cego czªowieka. Poza informacj¡

o cz¦stotliwo±ci nios¡ ze sob¡ równie» wiedz¦ o ksztaªcie obiektu (jego proporcje), któr¡

mogliby±my z nich pozyska¢, na przykªad jako warto±¢ ±redni¡ sygnaªu. Pozwoliªoby

to wyeliminowa¢ obiekty o innych proporcjach ksztaªtu ni» czªowiek (np. odbijaj¡ca si¦

piªka).

Reasumuj¡c, na podstawie analizy wyników przeprowadzonych bada« stwierdzam, »e

background image

3.3 Badania algorytmu

33

a) x

c

, m = 0.47, s = 0.20

b) y

c

, m = 1.86, s = 0.52

c) x

wc

, m = 1.83, s = 0.59

d) y

wc

, m = 2.34, s = 0.92,

e) x

d

, m = 2.02, s = 0.21

f) y

d

, m = 2.30, s = 0.98

g) a

c

, m = 1.99, s = 0.29

h) a

wc

, m = 1.99, s = 0.33

i) a

d

, m = 2.98, s = 1.70

j) x

uwc

, m = 1.94, s = 0.47

k) y

uwc

, m = 2.07, s = 1.26

l) x

vwc

, m = 1.64, s = 0.66

m) y

vwc

, m = 2.28, s = 0.80

Rysunek 3.5: Histogramy wyst¡pie« danych cz¦stotliwo±ci dla wszystkich parametrów

oraz ich podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s- odchylenie standar-

dowe.

background image

34

Opis implementacji

najlepszymi parametrami do rozpoznawania pieszych na podstawie sposobu, w jaki si¦

poruszaj¡, s¡: x

d

, a

c

oraz a

wc

.

3.3.2 Wpªyw k¡ta osi kamery wzgl¦dem pªaszczyzny ruchu

Na rysunku 3.7 przedstawiªem zestaw histogramów wyników cz¦stotliwo±ci trzech wybra-

nych parametrów (x

d

, a

c

, a

wc

) dla sekwencji kr¦conych pod k¡tem 72 stopni oraz 108

stopni (patrz. rysunek 3.6). Dla porównania zamie±ciªem równie» histogramy wyliczone

wcze±niej dla k¡ta 90 stopni.

Rysunek 3.6: Wizualizacja sceny u»ytej do przeprowadzania eksperymentu.

Šatwo zauwa»y¢, »e wyniki uzyskane dla k¡ta 72 stopni nie tylko si¦ nie pogorszyªy, lecz

wr¦cz s¡ nieco lepsze ni» dla 90 stopni. Co prawda ±rednia nieco si¦ podniosªa, a odchylenie

standardowe nieznacznie si¦ powi¦kszyªo (patrz. tabela 3.2); na podstawie histogramów

stwierdzam, »e nie tyle s¡ one szersze, ile zmieniª si¦ rozkªad masy wewn¡trz nich- wyszªo

wi¦cej wyników na ich brzegach), lecz niemal caªkowicie wyeliminowane zostaªy sytuacje,

gdy parametry (szczególnie a

c

i a

wc

) nie wykazywaªy charakteru okresowego.

Dla k¡ta 108 stopni warto±ci ±rednie byªy podobne jak dla 72 stopni. Mimo mniej-

szego odchylenia standardowego, wi¦cejsekwencji daªo niepoprawny wynik cz¦stotliwo±ci

parametrów a

c

i a

wc

.

Wyniki uzyskane dla sekwencji kr¦conych z k¡ta 72 stopni i 108 stopni (18-stopniowe

odchylenie) s¡ satysfakcjonuj¡ce. Zarówno wygl¡d histogramu, jak i wªasno±ci staty-

styczne otrzymanych rezultatów nie odbiegaj¡ od uzyskanych dla lmów z czªowiekiem

przechodz¡cym w pªaszczy¹nie prostopadªej do osi kamery.

Na rysunku 3.8 przedstawiªem histogramy przedstawiaj¡ce wyniki uzyskane dla wy-

branych wcze±niej parametrów na podstawie sekwencji kr¦conych pod k¡tem 54 i 126

stopni oraz 90 stopni (dla porównania).

background image

3.3 Badania algorytmu

35

Bardzo wyra¹ne s¡ wysokie sªupki na cz¦stotliwo±ci 12.5Hz. Jest to maksymalna cz¦-

stotliwo±¢, jak¡ mogªaby wykry¢ transformacja Fouriera dla przebadanych próbek (po-

ªowa cz¦stotliwo±ci próbkowania sygnaªu wynosz¡cej 25Hz). Najprawdopodobniej jest

ona zwi¡zana z niedoskonaªo±ci¡ pobierania obrazów (szybkie zmiany mi¦dzy kolejnymi

ramkami). Zmiany te, dla sekwencji kr¦conych z 36-stopniowym odchyleniem najwyra¹-

niej s¡ bardziej znacz¡ce, ni» cz¦stotliwo±¢ ruchu czªowieka.

Dodatkowo, szczególnie dla odchylenia 54 stopni, wida¢ znaczn¡ ilo±¢ maªych sªupków

poza przedziaªem [1.5Hz; 2.5Hz]. W wyniku tego nast¡piª znaczny spadek skuteczno±ci

algorytmu.

a) x

d

, k¡t: 90

b) a

c

, k¡t: 90

c) a

wc

, k¡t: 90

d) x

d

, k¡t: 72

e) a

c

, k¡t: 72

f) a

wc

, k¡t: 72

g) x

d

, k¡t: 108

h) a

c

, k¡t: 108

i) a

wc

, k¡t: 108

Rysunek 3.7: Histogramy wyst¡pie« danych cz¦stotliwo±ci dla sekwencji kr¦conych pod

k¡tem 90(a-c), 72(d-f) oraz 108(g-i) stopni, dla trzech wybranych parametrów oraz ich

podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s- odchylenie standardowe.

3.3.3 Badanie pr¦dko±ci dziaªania algorytmu

Do bada« nad pr¦dko±ci¡ dziaªania zaimplementowanego algorytmu wykorzystaªem cztery

komputery w konguracji sprz¦towej przedstawionej w tabeli 3.1, pracuj¡ce pod systemem

background image

36

Opis implementacji

a) x

d

, k¡t: 90

b) a

c

, k¡t: 90

c) a

wc

, k¡t: 90

d) x

d

, k¡t: 54

e) a

c

, k¡t: 54

f) a

wc

, k¡t: 54

g) x

d

, k¡t: 126

h) a

c

, k¡t: 126

i) a

wc

, k¡t: 126

Rysunek 3.8: Histogramy wyst¡pie« danych cz¦stotliwo±ci dla sekwencji kr¦conych pod

k¡tem 90(a-c), 54(d-f) oraz 126(g-i) stopni, dla trzech wybranych parametrów oraz ich

podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s- odchylenie standardowe.

Tablica 3.2: Zestawienie wªasno±ci statystycznych wybranych parametrów dla sekwencji

nakr¦conych z ró»nych k¡tów, m- warto±¢ ±rednia, s- odchylenie standardowe.

k¡t

x

d

a

c

a

wc

m [Hz] s [Hz] m [Hz] s [Hz] m [Hz] s [Hz]

90 stopni

2.02

0.21

1.99

0.29

1.99

0.33

72 stopni

2.06

0.42

2.07

0.40

2.09

0.37

108 stopni

2.11

0.24

2.07

0.24

2.08

0.26

54 stopni

2.94

3.07

2.95

3.17

2.88

3.05

126 stopni

2.26

1.36

2.21

1.37

2.19

1.45

background image

3.3 Badania algorytmu

37

operacyjnym Debian Etch. Na potrzeby testów napisaªem cztery ró»ne wersje algorytmu:

1. Wersja bez zmian (n). Liczone jest wszystkie 13 parametrów oraz cz¦stotliwo±ci ich

zmian.

2. Wersja bez zmian z wizualizacj¡ (nw). Liczone jest wszystkie 13 parametrów oraz

cz¦stotliwo±ci ich zmian. Dodatkowo w ka»dym kroku wy±wietlana jest klatka z

sylwetk¡ binarn¡.

3. Wersja przyspieszona (p). Liczy tylko niezb¦dne parametry oraz cz¦stotliwo±ci ich

zmian.

4. Wersja przyspieszona z wizualizacj¡(pw). Liczy tylko niezb¦dne parametry oraz

cz¦stotliwo±ci ich zmian. Dodatkowo w ka»dym kroku wy±wietlana jest klatka z

sylwetk¡ binarn¡.

Na ka»dym z czterech komputerów, ka»dy z wymienionych algorytmów testowany

byª z wykorzystaniem jako danych wej±ciowych pi¦ciu ró»nych sekwencji. Ka»da próba

powtarzana byªa dziesi¦ciokrotnie. Nast¦pnie odrzucone zostaªy wyniki minimalne oraz

maksymalne, a z pozostaªych o±miu wyliczony zostaª czas ±redni. Wyniki testów zamiesz-

czone zostaªy w tabeli 3.3.

Dla ka»dej sekwencji wej±ciowej, oprócz jej dªugo±ci, zamieszczony zostaª czas obecno-

±ci czªowieka na scenie, liczony od momentu, gdy sylwetka binarna oderwie si¦ od jednej

kraw¦dzi ramki lmu, do chwili gdy dotknie kraw¦dzi przeciwlegªej. Jest to czas o tyle

istotny, »e tylko wtedy liczone s¡ wszystkie parametry sylwetek.

Bardzo sªabe wyniki algorytm osi¡gn¡ª na komputerze Chili. Czas dziaªania byª okoªo

pi¦ciokrotnie dªu»szy, ni» czas badanej sekwencji. Z moich obserwacji wynika, »e pro-

blem ten jest skutkiem przede wszystkim zbyt du»ych wymaga« programu co do pami¦ci.

Komputer ma do wykorzystania jedynie 128MB RAM. W czasie pracy algorytmu zakres

ten byª przekraczany

2

. Niezb¦dne wi¦c byªo skªadowanie cz¦±ci danych na dysk twardy,

do partycji wymiany (swap). Powodowaªo to znaczne spowolnienie pracy programu.

O wiele lepsze wyniki osi¡gni¦te zostaªy ju» na komputerze Frytka. Dla tej kongu-

racji sprz¦towej czasy pracy algorytmu byªy o okoªo 0.5s dªu»sze od dªugo±ci badanych

sekwencji.

Na komputerze Enterprise czas pracy programu byª ju» o okoªo 0.5s, a na komputerze

Klocek o okoªo 1.5s krótszy, ni» dªugo±¢ sekwencji. Na tych komputerach metoda mogªaby

dziaªa¢ w czasie rzeczywistym (nawet z wizualizacj¡ pracy algorytmu).

Na podstawie uzyskanych wyników wida¢ wyra¹nie, »e wizualizacja pracy algorytmu

wyra¹nie spowalnia jego prac¦. Wyj¡tkiem od tej reguªy jest przyspieszona wersja me-

tody na komputerze Klocek. W tym przypadku nie jest to widoczne, a nawet wersja z

wizualizacj¡ daªa lepsze wyniki.

Interesuj¡ce jest równie» stosunkowo maªe przyspieszenie algorytmu. Najbardziej cza-

sochªonne jest wyliczanie sylwetek, a nie samych ich parametrów. W przyspieszonej wersji

konieczne jest wyliczenie wszystkich czterech. Aby uzyska¢ wi¦ksz¡ akceleracj¦ nale»a-

ªoby wybra¢ tylko jeden parametr. Najlepszy zdaje si¦ by¢ a

c

, gdy» wymaga on policzenia

tylko jednej sylwetki (binarnej).

Nale»y zwróci¢ uwag¦ na orientacyjny charakter uzyskanych wyników. Dla ka»dego

przypadku ró»nice w uzyskanych czasach byªy do±¢ du»e. Zdarzaªy si¦ bowiem wyniki

2

Nie zapominajmy, »e testy byªy przeprowadzane na zwykªych komputerach u»ywanych na codzie«

jako komputery biurkowe. Pracowaªy wi¦c na nich ró»ne programy oraz demony niezb¦dne w codziennej

pracy (system X-Window. ftpd i wiele innych).

background image

38

Opis implementacji

znacznie odbiegaj¡ce od pozostaªych. Zastosowana metoda liczenia ±redniej po odrzuceniu

warto±ci minimalnej oraz maksymalnej tylko cz¦±ciowo rekompensuje te niedokªadno±ci.

background image

3.3 Badania algorytmu

39

Tablic

a

3.3:

Zesta

wienie

cz

asó

w

dz

iaªania

ró»n

yc

h

w

ersji

algorytm

u

na

ró»n

yc

h

konguracjac

h

sprz¦to

wyc

h

komputera.

W

szystkie

czasy

w

sekundac

h.

L.p.

Dªugo±¢ lm

u

Czas ob

ecno±ci

Chili

Frytk

a

En

terprise

Klo

cek

n

nw

p

pw

n

nw

p

pw

n

nw

p

pw

n

nw

p

pw

1.

6.44

2.52

28.83

37.04

27.62

32.73

7.09

8.04

7.09

7.32

5.86

6.01

5.86

5.94

4.89

5.28

4.89

4.77

2.

5.64

2.20

26.19

30.33

24.85

27.97

6.20

7.02

6.20

6.44

5.02

5.25

5.07

5.20

4.26

4.61

4.27

4.22

3.

4.92

2.36

21.87

27.25

20.22

23.95

5.41

6.10

5.41

5.65

4.41

4.59

4.43

4.53

3.71

4.04

3.72

3.69

4.

5.84

2.40

24.34

31.67

23.83

29.63

6.42

7.21

6.42

6.66

5.19

5.46

5.30

5.38

4.41

4.79

4.43

4.35

5.

4.24

1.92

18.20

24.42

18.36

23.04

4.72

5.29

4.66

4.89

3.75

3.94

3.80

3.91

3.19

3.49

3.19

3.19

Odmiana

algorytm

u:

n-normalna,

nw

-normalna

z

wizualizacj¡,

p-przyspieszona,

pw

-przyspieszona

z

wizualizacj¡.

Czas

ob

ecno±ci

-

czas,

przez

jaki

obiekt

jest

wido

czn

y

w

caªo±ci

na

scenie.

background image

40

Opis implementacji

background image

Rozdziaª 4

Podsumowanie

Post¦p, jaki dokonaª si¦ ostatnimi czasy w dziedzinie sprz¦tu komputerowego spowodowaª,

»e realne staªo si¦ szybkie przetwarzanie danych. Wynikiem tego jest rozwój dziedziny

komputerowej wizji, szczególnie jej cz¦±ci zajmuj¡cej si¦ przetwarzaniem sekwencji obra-

zów. Ju» teraz mo»liwe jest tworzenie algorytmów realizuj¡cych nawet caªkiem skompli-

kowane operacje na obrazach, które s¡ w stanie dziaªa¢ w czasie rzeczywistym na sprz¦cie

komputerowym dost¦pnym dla ka»dego.

Tym bardziej nic nie stoi na przeszkodzie, aby systemy wizyjne pojawiaªy si¦ coraz

cz¦±ciej w dziedzinach bliskich czªowiekowi. Chodzi tu nie tylko o dziedziny zawsze uwa-

»ane za niedost¦pne dla przeci¦tnych ludzi (do których wci¡» nale»y, niestety, robotyka),

lecz równie» bardziej pospolite, jak motoryzacja czy systemy alarmowe.

Przedstawione w niniejszej pracy przykªadowe algorytmy do lokalizacji pieszych na

podstawie sposobu, w jaki si¦ poruszaj¡ pokazuj¡, »e naukowcy pracuj¡ ju» nad tym,aby

wkrótce mo»liwe byªo wprowadzenie zaawansowanych technologii do powszechnego u»ytku.

Aby mogªo to szybko nast¡pi¢, nie nale»y tylko oczekiwa¢ bezczynnie na rozwój

sprz¦tu, aby w ko«cu mo»liwe byªo dziaªanie znanych rozwi¡za« w czasie rzeczywistym.

Trzeba d¡»y¢ równie» do przyspieszenia algorytmów. Algorytm nigdy nie jest za szybki.

Jedn¡ z mo»liwo±ci, je±li chodzi o algorytmy do lokalizowania na sekwencjach obrazów

obiektów poruszaj¡cych si¦ w znany sposób (w tym id¡cych ludzi) jest wykorzystanie

informacji o ruchu. Pozwala to nie tylko na przyspieszenie algorytmu, lecz równie» unie-

zale»nia od wygl¡du obiektu. Przestaje by¢ istotne, czy pojawi si¦ on w innym kolorze,

ni» przypuszczali±my (czªowiek w innym kolorze swetra), b¦dzie miaª inny ksztaªt (pieszy

z plecakiem) lub rozmiar (przejdzie bli»ej lub dalej od kamery). Skupiamy si¦ tylko na

cechach najlepiej charakteryzuj¡cych poszukiwane obiekty.

W pracy zaproponowano implementacj¦ jednego ze znalezionych w literaturze algoryt-

mów. Pozwala ona na lokalizacj¦ id¡cych ludzi na sekwencjach obrazów z wykorzystaniem

charakterystycznego, okresowego sposobu poruszania si¦ czªowieka. Zrealizowana zostaªa

z u»yciem darmowych narz¦dzi programistycznych oraz zamieszczona na zaª¡czonej do

pracy pªycie CD. Bardziej szczegóªowe informacje znajduj¡ si¦ w dodatku.

Jak pokazaªy eksperymenty, program jest w stanie skutecznie lokalizowa¢ pieszych w

czasie rzeczywistym na sprz¦cie dost¦pnym dla ka»dego. Istniej¡ dodatkowo spore mo»-

liwo±ci dalszego przyspieszania algorytmu. Mo»na chocia»by zmniejszy¢ jeszcze bardziej

liczb¦ badanych parametrów i zostawi¢ nawet tylko jeden.

Badania przeprowadzone w warunkach rzeczywistych, z wykorzystaniem sekwencji po-

bieranych przy pomocy kamery cyfrowej pokazuj¡, »e w metodzie kryje si¦ spory poten-

cjaª badawczy. Do gªównych zada« i problemów do rozwi¡zania zaliczyªbym poprawienie

metody wydzielania obiektu ruchomego na obrazie (np. poprzez u»ycie stereowizji) oraz

background image

42

Podsumowanie

eliminacj¦ zakªóce« wynikaj¡cych zarówno z niedoskonaªo±ci kamery, jak i powodowanych

przez czynniki zewn¦trzne. Nie bez znaczenia byªoby równie» poszerzenie mo»liwo±ci al-

gorytmu, na przykªad o mo»liwo±¢ pracy z wieloma ruchomymi obiektami na scenie.

background image

Dodatek A

Zawarto±¢ pªyty doª¡czonej do pracy

Do niniejszej pracy zaª¡czona zostaªa pªyta CD. Znajduj¡ si¦ na niej nast¦puj¡ce katalogi:

Tekst- tekst pracy dyplomowej

ShapeOfMotion- implementacja opisanego w pracy algorytmu

 src- ¹ródªa programu
 contrib- biblioteki niezb¦dne do kompilacji programu
 SampleVideos- przykªadowe pliki wej±ciowe dla programu

W celu kompilacji programu nale»y upewni¢ si¦, »e na komputerze zainstalowane s¡

niezb¦dne biblioteki, czyli OpenCV w wersji 1.0.0 oraz GSL w wersji 1.8. Nast¦pnie

nale»y wej±¢ do katalogu ShapeOfMotion/src/ oraz wywoªa¢ 'make' z linii komend. Je±li

wszystko pójdzie dobrze, pojawi si¦ plik wykonywalny o nazwie som.

Aby uruchomi¢ program, nale»y wywoªa¢ go z parametrem b¦d¡cym nazw¡ pliku

wej±ciowego, np: './som ../SampleVideos/zrodlo.avi'. Po zako«czeniu pracy program

wypisze na standardowym wyj±ciu wyznaczone cz¦stotliwo±ci parametrów, a tak»e zapisze

do plików w katalogu, w którym znajduje si¦ plik wej±ciowy zmiany parametrów oraz

zmiany warto±ci cz¦stotliwo±ci ich przebiegów. Dla powy»szego przykªadu b¦d¡ to kolejno:

zrodlo_val.dat oraz zrodlo_freq.dat w katalogu ../SampleVideos/.

background image

44

Zawarto±¢ pªyty doª¡czonej do pracy

background image

Bibliograa

[1] Metoda najmniejszych kwadratów [online]. Wikipedia: Wolna Encyklopedia, 2007.

Dost¦pny w Internecie: http://pl.wikipedia.org/wiki/Fullpagename?oldid=6852741.

[2] C. Wohler B. Heisele. Motion-based recognition of pedestrians. Technical report,

Daimler-Benz AG, Research and Technology, P.O. Box 2360, 89013 Ulm, Germany,

1998.

[3] M. Bennewitz, W. Burgard, and G. Cielniak. Utilizing learned motion patterns to

robustly track persons. In Proc. of the Joint IEEE International Workshop on Visual

Surveillance and Performance Evaluation of Tracking and Surveillance (VS-PETS),

2003.

[4] G. Cielniak, M. Bennewitz, and W. Burgard. Robust localization of persons based

on learned motion patterns. In Proc. of the European Conference on Mobile Robots

(ECMR), 2003.

[5] G. Cielniak, M. Bennewitz, and W. Burgard. Where is...? learning and utilizing

motion patterns of persons with mobile robots. In Proc. of the International Joint

Conference on Articial Intelligence (IJCAI), 2003.

[6] Free

Software

Foundation.

GNU

General

Public

License.

http://www.gnu.org/copyleft/gpl.html, 1991.

[7] Y. Guo, G. Xu, and S. Tsuji. Understanding human motion patterns. Technical

report, National University of Singapore and Osaka University, 1994.

[8] Chinese Academy of Sciences Institute of Automation. CASIA Gait Database.

http://www.sinobiometrics.com.

[9] G. Johansson. Visual perception of biological motion and a model for its analysis.

Perception & Psychopsychics, 1973.

[10] J. J. Little and J. E. Boyd. Recognizing people by their gait: The shape of motion.

Videre: Journal of Computer Vision Research, 1(2), 1998.

[11] B. D. Lucas and T. Kanade. An iterative image registration technique with an appli-

cation to stereo vision. In Proc. of 7th International Joint Conference on Articial

Intelligence (IJCAI), 1981.

[12] M. Jones P. Viola and D. Snow. Detecting pedestrians using patterns of motion

and apperance. Technical report, Mitsubishi Electric Research Laboratories, 201

Broadway, Cambridge, Massachusetts, 2003.

background image

46

BIBLIOGRAFIA

[13] R. Polana and R. Nelson. Low level recognition of human motion. IEEE Workshop

on Motion of Non-Rigid and Articulated Objects, 1994.

[14] The GSL Team.

GNU Scientic Library  Reference Manual.

http://www.gnu.org/software/gsl/manual/html_node/index.html, 2007.

[15] M. Wnuk. Wykªad 12. In Notatki do wykªadu z przedmiotu 'Systemy Wizyjne'.

Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocªawskiej.

background image

Spis tre±ci

1 Wst¦p

1

1.1 Ogólna koncepcja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2 Cel pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

2 Przegl¡d istniej¡cych algorytmów

3

2.1 Podziaª algorytmów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.2 Klasteryzacja i sieci neuronowe . . . . . . . . . . . . . . . . . . . . . . . .

5

2.3 Ukryte modele Markowa . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4 Wykorzystanie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.5 Momenty geometryczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.1 Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.2 Ogólny opis metody . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.5.3 Szczegóªowy opis metody . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Opis implementacji

17

3.1 Wykorzystane narz¦dzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.1 Sprz¦t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.2 System operacyjny . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.3 Kompilator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.4 Przetwarzanie obrazów . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.5 Algorytmy numeryczne . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.6 Dane wej±ciowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Wyznaczenie parametrów chodu czªowieka . . . . . . . . . . . . . . . . . . 19

3.2.1 Wydzielenie sylwetki . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2 Pole ruchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.3 Parametry sylwetki . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.4 Wektor cech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2.5 Zmiany parametrów poªo»enia poziomego . . . . . . . . . . . . . . . 27

3.2.6 Obliczanie cz¦stotliwo±ci . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Badania algorytmu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.1 Badania skuteczno±ci dziaªania . . . . . . . . . . . . . . . . . . . . 30

3.3.2 Wpªyw k¡ta osi kamery wzgl¦dem pªaszczyzny ruchu . . . . . . . . 34

3.3.3 Badanie pr¦dko±ci dziaªania algorytmu . . . . . . . . . . . . . . . . 35

4 Podsumowanie

41

A Zawarto±¢ pªyty doª¡czonej do pracy

43

background image

ii

SPIS TRE‘CI

background image

Spis rysunków

2.1 Przykªad obrazu po klasteryzacji [2] . . . . . . . . . . . . . . . . . . . . . .

6

2.2 Przykªad dziaªania algorytmu z wykorzystaniem ukrytych modeli Markowa [3] 7

2.3 Przykªad dwuwymiarowego modelu ciaªa czªowieka [7] . . . . . . . . . . . .

8

2.4 Schemat dziaªania algorytmu Shape of Motion [10] . . . . . . . . . . . . . . 10

2.5 a) Przykªadowy rozkªad warto±ci (|(u, v)|) dla sze±ciu klatek lmu; b) Przykªadowy

rozkªad warto±ci T (u, v) dla sze±ciu klatek lmu. [10] . . . . . . . . . . . . 11

2.6 Wizualizacja momentów sylwetek za pomoc¡ elips [10] . . . . . . . . . . . 12

2.7 Poªo»enia punktów reprezentuj¡cych warto±ci wektora (y

d

,a

d

) dla 42 próbek

charakteryzuj¡cych chód 6 osób [10] . . . . . . . . . . . . . . . . . . . . . . 15

3.1 Schemat dziaªania pierwszej wersji zaimplementowanego algorytmu . . . . 20

3.2 Trzy przykªadowe klatki z lmu z id¡cym pieszym (a-c), wydzielone z nich

obrazy binarne (d-f), pola ruchu (g-i), oraz ich iloczyny (j-l). Dla celów

niniejszej wizualizacji histogramy obrazów d-l zostaªy znormalizowane. W

innym razie byªyby one maªo czytelne. . . . . . . . . . . . . . . . . . . . . 21

3.3 Przebieg zmian parametru x

uwc

uzyskany bezpo±rednio z przykªadowej se-

kwencji (a) oraz przebieg uzyskany po odj¦ciu od niego skªadowej liniowej

(b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4 Przebiegi zmian parametrów sylwetek wraz z wyznaczon¡ za pomoc¡ szyb-

kiej transformacji Fouriera cz¦stotliwo±ci¡ dla przykªadowej sekwencji z

id¡cym czªowiekiem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Histogramy wyst¡pie« danych cz¦stotliwo±ci dla wszystkich parametrów

oraz ich podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s- odchy-

lenie standardowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.6 Wizualizacja sceny u»ytej do przeprowadzania eksperymentu. . . . . . . . . 34

3.7 Histogramy wyst¡pie« danych cz¦stotliwo±ci dla sekwencji kr¦conych pod

k¡tem 90(a-c), 72(d-f) oraz 108(g-i) stopni, dla trzech wybranych parame-

trów oraz ich podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s-

odchylenie standardowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.8 Histogramy wyst¡pie« danych cz¦stotliwo±ci dla sekwencji kr¦conych pod

k¡tem 90(a-c), 54(d-f) oraz 126(g-i) stopni, dla trzech wybranych parame-

trów oraz ich podstawowe wªasno±ci statystyczne: m- warto±¢ ±rednia, s-

odchylenie standardowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

background image

iv

SPIS RYSUNKÓW

background image

Spis tablic

2.1 Zestawienie niektórych algorytmów do wykrywania ludzi na podstawie spo-

sobu ich poruszania si¦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.2 Zestaw parametrów sylwetki, wg autorów algorytmu Shape Of Motion . . . 13

3.1 Komputery wykorzystane do testowania algorytmu . . . . . . . . . . . . . 18

3.2 Zestawienie wªasno±ci statystycznych wybranych parametrów dla sekwencji

nakr¦conych z ró»nych k¡tów, m- warto±¢ ±rednia, s- odchylenie standardowe. 36

3.3 Zestawienie czasów dziaªania ró»nych wersji algorytmu na ró»nych kon-

guracjach sprz¦towych komputera. Wszystkie czasy w sekundach. . . . . . 39


Wyszukiwarka

Podobne podstrony:
postawa siatkarska i sposoby poruszania sie po boisku, Siatkówka
Nauczanie sposobów poruszania się w piłce siatkowej. Forma zabawowa, Piłka siatkowa
sposób poruszania sie po boisku doc
Kopia SPOSOBY PORUSZANIA SIĘ W SIATKÓWCE doc
Sposoby poruszania się w siatkówce doc
Punkt materialny poruszając się z przyspieszeniem a
Pomysl na lekcje poruszanie sie Nieznany
Informacja dla kierowców samochodów ciężarowych na 2014 rok , a poruszających się po Włoszech
4 jak bezpiecznie poruszać sie po drogach, scenariusze zajęć kl. I-III
7pg 2010 poruszanie się w scianie kompleksie strugowym
Umiejętność poruszania się w terenie leśnym, Lekkoatletyka(2)
NAUCZANIE RZUTU Z PRZESKOKIEM ORAZ DOSKONALENIE PORUSZANIA SIĘ PO BOISKU, awf
Praca nauczyciela to nieustanne poruszanie się po terenie naszpikowanym wieloma psychologicznymi
Kości tworzą układ dźwigni poruszających się w następstwie skurczów mięśni szkieletowych

więcej podobnych podstron