Postupci detekcije i praćenja pokretnih objekata
primjenom dinamičkog računarskog vida

Ukratko Suradnici Opširnije Rezultati Reference



Rezultati


Ispitne sekvence

Pripremljen je niz slikovnih sekvenci za ispitivanje razvijenih programa. Neke od sekvenci su pribavljene s Interneta, neke su snimljene CCD kamerom i digitalizirane, a jedan dio je generiran umjetno.

Sekvence na Internetu

Naše sekvence

Postupci za procjenu optičkog toka

U okviru projekta razmatrani su različiti pristupi problemu određivanja (procjene) optičkog toka. Iskorištena je javno raspoloživa implementacija niza postupaka za procjenu optičkog toka (Barron et.al, ftp.csd.uwo.ca/pub/vision). Postupci su ispitani na različitim slikovnim sekvencama. Kako se u stvarnim sekvencama s pokretnim objektima, čak i uz visoku vremensku učestalost uzorkovanja (25 slika u sekundi), često pojavljuju veliki pomaci objekata između dvije susjedne slike, korelacijski pristup pokazao se najprikladnijim.


Slika. Polje optičkog toka za jednostavan objekt u gibanju.

Neovisno o pristupu kojim se procjenjuje polje optičkog toka, uvijek je prisutan problem lokalnog pogleda. Radi se o tome da promatranjem samo okoline pojedine točke u dvije susjedne slike ne možemo uvijek jednoznačno odrediti pomak te točke. Kada promatramo točku čija je okolina uniformna, pomak je sasvim neodređen (slika dolje desno). Ako se promatrana točka nalazi na rubu između dva područja (1-D diskontinuitet svjetlosnih intenziteta u slici), moguće je odrediti komponentu pomaka okomitu na rub, dok tangencijalna komponenta ostaje neodređena (slika dolje lijevo). Samo u slučaju da se promatrana točka nalazi na 2-D diskontinuitetu (vrh, istaknuta točka konture, ili područje s istaknutom teksturom), moguće je dobro procijeniti pomak točke (slika dolje u sredini).


Slika. Problem lokalnog pogleda.

Zbog neodređenosti i nepouzdanosti procjena optičkog toka u uniformnim područjima, može se zaključiti da je korisna dimamička informacija, koja se može upotrijebiti za praćenje objekata, smještena na rubu objekta. Tu se može očekivati diskontinuitet svjetlosnih intenziteta u slici i mogućnost određivanja barem normalne (okomite na rub) komponente vektora pomaka. Kako je praćenje vezano za pojedini fizički objekt, a taj objekt se giba kao cjelina i u kratkom intervalu između dvije susjedne slike ne može značajno promijeniti svoj oblik, može se pretpostaviti da se sve točke konture jednog objekta gibaju zajedno, odnosno po istom modelu gibanja. Uz tu pretpostavku oblikovan je postupak kojim se računa optički tok duž konture objekta.

Praćenje objekata temeljeno na optičkom toku

Uz pretpostavku da je poznat početni položaj objekta, te ispravnu procjenu polja optičkog toka tijekom sekvence, moguće je oblikovati postupak praćenja koji koristi vektore optičkog toka procijenjene u pojedinim točkama objekta za određivanje novog položaja objekta. Položaj točaka objekta koje su odabrane za praćenje određuje se od slike do slike na taj način da se njihovi prethodni položaji pomiču ne temelju odgovarajućih vektora optičkog toka. Iako takav postupak teoretski omogućava praćenje pokretnih objekata, u praksi je teško izvediv. Uslijed pogrešaka u određivanju optičkog toka (a one se ne mogu izbjeći), dolazi do postupno sve većeg odstupanja položaja točaka dobivenih ovim postupkom praćenja od stvarnih položaja točaka objekta u slici. Gomilanje pogrešaka onemogućava dugotrajnije praćenje objekata samo na temelju ovog postupka.


Slika. Praćenje objekta na temelju optičkog toka.

Drugi problem koji otežava praćenje, jest da nije lako pronaći početni položaj objekta. Inicijalno biranje točaka objekta koje se prate može se obaviti na temelju statičke segmentacije slike (binarizacija, rubna segmentacija, segmentacija na temelju uniformnosti područja), na temelju dinamičke segmentacije (na temelju slikovnih razlika ili segmentacijom polja optičkog toka) ili poluautomatski - uz interaktivnu pomoć korisnika.

Model za prikaz oblika praćenog objekta

Objekti koje sustav prati prikazuju se konturnim modelima. Kako je dinamička informacija koja se može izlučiti iz slikovne sekvence smještena najčešće na rubu objekta, prikladno je objekt opisati njegovom konturom. Uz to, konturni prikaz objekta obično je vrlo prepoznatljiv (možemo objekt prepoznati na temelju njegove siluete).

Primijenjeni su aktivni konturni modeli ("zmije"), koji imaju sposobnost prilagođavanja situaciji u slici, a pritom zadržavaju unaprijed zadana svojstva (glatkoća, kontinuitet). Ova svojstva aktivnih kontura postignuta su definiranjem unutrašnjih i vanjskih energija. Unutrašnja energija "kažnjava" odstupanje konture od idealne glatkoće, dok vanjska energija nastoji privući dijelove konture značajkama u slici. Obično su te značajke u slici rubovi dobiveni na temelju nekog od rubnih operatora (koristili smo gradijentni operator, ali i Cannyjev detektor rubova koji je računski zahtjevniji). Izvedena je i varijanta koja uzima u obzir područja u slici koja se dobivaju na temelju usporedbe svjetlosnog intenziteta pojedinih točaka s unaprijed određenim pragom binarizacije. Ovakva definicija unutrašnje energije posebno je pogodna za praćenje objekata koji su kontrastni u odnosu na pozadinu.

Uključivanje znanja o obliku - elastični modeli

Kada je oblik (odnosno mogući oblici) objekata koji se prate unaprijed poznat, moguće je poboljšati uspješnost praćenja ako se iskoristi informacija o obliku. Tu je informaciju prikladno uklopiti u aktivni konturni model, na taj način da se definira dodatna energija, koja kažnjava odstupanje oblika konture od referentnog oblika (modela). Kako objekti koji se prate mogu mijenjati oblik tijekom praćenja (uslijed stvarne promjene oblika, ili uslijed promjene projekcije u slikovnu ravninu zbog pomaka objekta u prostoru), nužno je da i model može na odgovarajući način mijenjati oblik. Stoga se informacija o obliku prikazuje kao elastični model, čijim se oblikom može upravljati nizom parametara. Parametri modela se mogu mijenjati u nekom rasponu, a prikladni parametri koji odgovaraju gibanju nekog objekta mogu se učiti na temelju jednostavnih sekvenci u kojima je prisutan samo jedan objekt. U takvoj se situaciji određivanje konture objekta u svakoj slici može obaviti na temelju statičke segmentacije, a na temelju tako određene konture procijenjuju se parametri odgovarajućeg modela.

Ocjena uspješnosti razvijenih postupaka

Opisani postupci praćenja su programski implementirani i ispitani na jednostavnim umjetnim scenama, ali i na relativno složenim stvarnim secenama pokretnih objekata. Na jednostavnim scenama s kontrastnim objektima sustav radi pouzdano, dok kod složenijih scena s kompleksnijom pozadinom ponekad dolazi do problema s praćenjem. Osnovni problem je početna inicijalizacija praćenja, koja zahtijeva pronalaženje pokretnih objekata u sceni, te provjera ispravnosti praćenja u pojedinom trenutku i ponovna inicijalizacija aktivne konture koja "izgubi" praćeni objekt.

Programska implementacija

Programska implementacija opisanih postupaka praćenja može se instalirati i isprobati. Potrebno je snimiti i raspakirati .zip datoteku demo.zip. U njoj se nalaze programske datoteke, te nekoliko slikovnih sekvenci. Najjednostavniji način pokretanja programa je aktiviranjem .bat datoteka koje se nalaze u mapi demo\. U tim .bat datotekama definirani su parametri komandne linije s kojima je potrebno pokrenuti program da bi se pratili objekti u pojedinoj sekvenci. Moguće je i pokretanje programa u interaktivnom načinu rada, u kojem se obrada inicira naredbama programske ljuske. Unutar programske ljuske moguće je izmijeniti parametre pojedinog postupka, obraditi pojedine dijelove sekvence, učitati drugu sekvencu i sl.


Rezultati jednogodišnjeg projekta primjene informacijske tehnologije -- Ministarstvo znanosti i tehnologije republike Hrvatske

Copyright(c) Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave
Fakultet elektrotehnike i računarstva
Sveučilište u Zagrebu

Zoran Kalafatić
Zadnja promjena: 14. 11. 2002.