100 likes | 322 Views
Estimacija i detekcija pokreta. Mislav Šare Vedran Rafaelić Vedran Ciganović. Uvod. Kako napraviti program koji detektira promjenu na videu sa statičke kamere? Promjena vrijednosti piksela (0-255) na mjestu pojave. Aplikacija za detekciju promjene napisana u C-u dostupna na CodeProjectu
E N D
Estimacija i detekcija pokreta Mislav Šare Vedran Rafaelić Vedran Ciganović
Uvod • Kako napraviti program koji detektira promjenu na videu sa statičke kamere? • Promjena vrijednosti piksela (0-255) na mjestu pojave
Aplikacija za detekciju promjene napisana u C-u dostupna na CodeProjectu http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx
Opis problema • Usporediti sve piksele prve slike s pikselima trenutne slike • Problem 1 • Kamera vraća zašumljene vrijednosti (treba staviti neki prag) • Problem 2 • Osvjetljenje se može promijeniti tijekom dana
Pregled postojećih metoda • Dinamičko određivanje pozadine pomoću Kalmanovog filtra (slično Wienerovom filtru)
Kalmanov filtar • Pretpostavlja diskretni proces (u ovom slučaju intenzitet svjetlosti): • x[k]=x[k-1] + w[k] • s mjerenjem z[k]=x[k] + v[k] x – stanje w ∼ N(0, Q) v ∼ N(0, R) • Jednadžbe koje procjenjuju pozadinu: • K[k] = ( P[k-1] + Q ) / ( P[k-1] + Q + R ) • x’[k] = ( 1 - K[k] ) · x’[k-1] + K[k] · z[k] • P[k] = ( 1 - K[k] ) · ( P[k-1] + Q )
Opis rješenja problema • Prvih par frameova videa procjenjuje se pozadina • Kalmanov filtar daje vrijednost varijance P iz koje se računa 3*σ (P= σ^2 ), tj. prag • Nakon toga : • ako se vrijednost piksela promijeni više od praga • taj piksel se označava kao promjena • procjena za taj piksel se više ne računa do povratka u +/- 3*σ • ako se vrijednost piksela ne promijeni više od praga • procjena se dalje računa za taj piksel
Prvih par frameova pozadina treba biti prazna za pravilan rad • Nakon pojave promjene ona ostaje zabilježena do micanja • Potrebno je namjestiti Kalmanov filtar za pravilan rad (Q i R)
Eksperimentalni rezultati • Napravljen je program za detekciju u stvarnom vremenu i na već snimljenom videu • Obrada već snimljenog videa je lakša jer račun ne mora biti brz (slike s kamere se šalju 30 puta u sekundi) • Obrada u stvarnom vremenu ograničena na računanje svakog a-tog piksela na slici (a = 2, 4, 8, 20, …) i svakog n-tog framea • Rezultati ovisni o postavkama filtra • Dobra detekcija promjena, ali nekad zaostaju pikseli • Detekcija ovisna o složenosti pozadine i sličnosti pozadine i promjene
Zaključak • Moguće poboljšanje • primjena funkcija koje odstranjuju pojedinačne piksele koji su ostali zbog greške • brojanje ljudi