From 7b9013a951f73e45557e78157ef479f69329a50f Mon Sep 17 00:00:00 2001 From: Milica Gojak Date: Mon, 10 Oct 2022 00:05:35 +0200 Subject: [PATCH 01/31] deo uvoda, trecina metode, daisy, deo rezultata --- content/2022/estimacija-pokreta.md | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 3ee1947..b8cf237 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -2,3 +2,72 @@ title: Estimacija pokreta summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem kampu za stare polaznike 2022. godine od Milice Gojak i Novaka Stijepića. --- +[to do]: + +# Uvod + +Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. + +Većina metoda definiše problem estimacije kao problem minimizacije energije. + +Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji mada dobijenom polju kretanja(eng. *flow field*) +nedostaju oštri prekidi koji postoje u pravom polju kretanja, naručito pri opisivanju kretanja u blizini granica. +Veliki broj istraživača je fokusirano na proformulaciju problema ne bi li bili dopušteni diskontinuiteti. + +Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestilo da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje *Markov random field*-a, ali zbog nekonveksinh energija, dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. + +U oblasti *stereo matchig*-a ove poteškoće su prepoynate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olaksano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. Većina stereo tehnika sa najboljim rezultatima se oslanja na diskretnu optimizaciju za minimizaciju energije a ne konveksnih funkcija. Iako estimacija disperiteta ima dosta sa optičkim protokom, zapravo se može posmatrati kao ograniceni slučaj optičkog protoka, mallo autora je pokušalo da doristi diskretnu optimizaciju za estimaciju optičkog protoka. + +U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog prootka. + +# Metod + +## Generisanje predloga + +Polje kretanja se određuje nad parom slika; referentnoj slici i slici koja je uslikana nekoliko trenutaka nakon referentne, slike u koju pomoću vektora protoka želimo da pretvorimo referentnu sliku, ciljanu sliku. +Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se primenjuje randomizovana k-d šuma na deskriptore piksela, računanih DAISY algoritmom, koji pripadaju toj ćeliji, stvarajući efikasnu strukturu za pretragu. Zatim za razliku od referentog metoda koji je za svaki piksel tražio relevantne ćelije u ciljanoj slici i pripojio mu M vektora protoka koji odgovaraju K najbližih komšija iz k-d šume svake ćelije, naša metoda je za svaku ćeliju racunala k-d šumu onih piksela kojima je ta ćelija relevantna, nalazi se u datom opsegu. +Kako susedni pikseli često imaju sličan vektor protoka, dodatno se uzima N nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i dodaju se pikseli koji najbolje odgovaraju referentnom pikselu. U slučaju da je već prisutan u skupu predloga, uzima se sledeci najbolji predlog, dok u slučaju da se ne nalaze u skupu, i ovde naša metoda odstupa od referentne, zamenjuju najgore rangirani predlog svake ćelije. + +### DAISY + +Daisy deskriptor je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. + +Slično SIFT deskriptoru, DAISY je 3D histogram gradijenata lokacija i orijentacija. Razlika leži u dva aspekta. +Jedna je da se u SIFT-u za konvolucije gradijenata u određenim smerovima koriste težinske sume normi gradijenata, dok DAISY koristi nekolino Gausovih filtera. Ovo doprinosi efikasnom računanju deskriptora na svakoj lokaciji piksela, zato što histogram treba da se izračuna samo jednom po regiji i može se koristiti za sve okolne piksele. Druga razlika je da DAISY koristi kružnu konfiguraciju komšija umesto pravougaone koje koristi SIFT. Za datu ulaznu sliku ***I***, određen broj mapa orijentacija *Go*, jedna za svaki procenjeni pravac *o*, su prvo izračunati. Formalno su definisani kao: + + +$$G_o = \left(\frac{\partial I}{\partial o} \right) ^+ $$ + +Gde + znači da su samo pozitivne vrednoti sačuvane da bi se održala polarnost intenyiteta promena. Nad svakoj mapi orijentacija, koja predstavlja gradientne norme za taj pravac na svim lokacijama piksela, se nekoliko puta vrši Gausova konvolucija sa kernelima različitih standardnih devijacija da bi se dobile konvolovane orijentacione mape. Efikasnost DAISY deskriptora proiylayi upravo odavde, zato što su Gausovi filteri razdvojivi i zato se konvolucije mogu vršiti vrlo efikasno. Ovo znači da konvolucije sa velikim kernelom se mogu računati iz nekoliko uzastopnih konvolucija sa manjim kernelima. Stoga se smanjuje količina računanja. +Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih veličina lociranih na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovoj udaljenosti od centraknog piksela i standardna devijacija Gausovog kernela je proporcionalna veličini kruga. Unutar svakog kruga je napravljen vektor sabiranjem svih + +Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija(R), broj izdvojenih orijentacija(o), broj konvolucionih orijentacionih prstenova(r), broj krugova na svakom prstenu(c) + +## Random Field Model + +## Pronalaženje optimalnih vektora + + +## Postprocesiranje + +# Rezultati + +## Kvantitativni rezultati + +Uspešnost algoritma je merena na osnovu dve metrike: srednja greška i procenat pogrešnih piksela. Srednja greška je računata kao srednja vrednost zbira kvadrata razlike komponenata istinotog vektora pomeraja i naše procene. Pogrešan piksel se smatra onaj čija je greska veća od 3 piksela. Za evaluaciju su korišćeni podaci iz KITTI baze koja sadrži parove uzastopnih slika sa primerima manjih i većih pomeraja. Svaki par slika u skupu za trening sadrži i istinito polje pokreta. +Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vršena nad skupom od po sedam parova slika. + +| BCD | Srednja greska | Procenat pogrešnih piksela| +| ----------- | ----------- | ------------------------| +| 0 | 13.81 | 30.97 | +| 1 | 6.59 | 21.67 | +|2 | 4.81| 19.2| +|3|4.54| 18.64| +|4|4.41|18.40| +|5|4.36|18.27| +|6| 4.33|18.20| +|7|4.30|18.15| + +# Literatura + +Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) \ No newline at end of file From 1bd7b821b5dc108f3fe3789d7d57fe1059fdcd93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Sat, 15 Oct 2022 15:47:37 +0200 Subject: [PATCH 02/31] Slovne greske, LaTeX, izmenjen deo o generisanju --- content/2022/estimacija-pokreta.md | 50 ++++++++++++++++-------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index b8cf237..1bb7282 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -4,60 +4,62 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k --- [to do]: -# Uvod +## Uvod Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. Većina metoda definiše problem estimacije kao problem minimizacije energije. -Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji mada dobijenom polju kretanja(eng. *flow field*) -nedostaju oštri prekidi koji postoje u pravom polju kretanja, naručito pri opisivanju kretanja u blizini granica. -Veliki broj istraživača je fokusirano na proformulaciju problema ne bi li bili dopušteni diskontinuiteti. +Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji mada dobijenom polju kretanja (eng. *flow field*) +nedostaju oštri prekidi koji postoje u pravom polju kretanja, naročito pri opisivanju kretanja u blizini granica. +Veliki broj istraživača je fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. -Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestilo da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje *Markov random field*-a, ali zbog nekonveksinh energija, dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. +Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestili da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje Markovljevih slučajnih procesa, ali zbog nekonveksnih energija, dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. -U oblasti *stereo matchig*-a ove poteškoće su prepoynate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olaksano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. Većina stereo tehnika sa najboljim rezultatima se oslanja na diskretnu optimizaciju za minimizaciju energije a ne konveksnih funkcija. Iako estimacija disperiteta ima dosta sa optičkim protokom, zapravo se može posmatrati kao ograniceni slučaj optičkog protoka, mallo autora je pokušalo da doristi diskretnu optimizaciju za estimaciju optičkog protoka. +U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. Većina stereo tehnika sa najboljim rezultatima se oslanja na diskretnu optimizaciju za minimizaciju energije a ne konveksnih funkcija. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog prootka. -# Metod +## Metod -## Generisanje predloga +### Generisanje predloga -Polje kretanja se određuje nad parom slika; referentnoj slici i slici koja je uslikana nekoliko trenutaka nakon referentne, slike u koju pomoću vektora protoka želimo da pretvorimo referentnu sliku, ciljanu sliku. -Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se primenjuje randomizovana k-d šuma na deskriptore piksela, računanih DAISY algoritmom, koji pripadaju toj ćeliji, stvarajući efikasnu strukturu za pretragu. Zatim za razliku od referentog metoda koji je za svaki piksel tražio relevantne ćelije u ciljanoj slici i pripojio mu M vektora protoka koji odgovaraju K najbližih komšija iz k-d šume svake ćelije, naša metoda je za svaku ćeliju racunala k-d šumu onih piksela kojima je ta ćelija relevantna, nalazi se u datom opsegu. -Kako susedni pikseli često imaju sličan vektor protoka, dodatno se uzima N nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i dodaju se pikseli koji najbolje odgovaraju referentnom pikselu. U slučaju da je već prisutan u skupu predloga, uzima se sledeci najbolji predlog, dok u slučaju da se ne nalaze u skupu, i ovde naša metoda odstupa od referentne, zamenjuju najgore rangirani predlog svake ćelije. +Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -### DAISY +Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Time svaki piksel dobije ukupno $M$ predloga destinacije vektora protoka, po $K$ iz svake okolne ćelije. -Daisy deskriptor je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. +Kako susedni pikseli često imaju sličan vektor protoka, dodatno se uzima $N$ nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i u skup predloga se dodaju vektori protoka čija je destinacija piksel koji najbolje odgovara izabranom pikselu. Naša metoda ne dodaje vektor u skup predloga u slučaju da je već prisutan, za razliku od referentne metode koja dodaje sledeći najbolji vektor protoka tog piksela. Zbog toga ne mora da sortira sve predloge iz datog piksela, čime dobija na efikasnosti. + +#### DAISY + +DAISY je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. Slično SIFT deskriptoru, DAISY je 3D histogram gradijenata lokacija i orijentacija. Razlika leži u dva aspekta. -Jedna je da se u SIFT-u za konvolucije gradijenata u određenim smerovima koriste težinske sume normi gradijenata, dok DAISY koristi nekolino Gausovih filtera. Ovo doprinosi efikasnom računanju deskriptora na svakoj lokaciji piksela, zato što histogram treba da se izračuna samo jednom po regiji i može se koristiti za sve okolne piksele. Druga razlika je da DAISY koristi kružnu konfiguraciju komšija umesto pravougaone koje koristi SIFT. Za datu ulaznu sliku ***I***, određen broj mapa orijentacija *Go*, jedna za svaki procenjeni pravac *o*, su prvo izračunati. Formalno su definisani kao: +Jedna je da se u SIFT-u za konvolucije gradijenata u određenim smerovima koriste težinske sume normi gradijenata, dok DAISY koristi nekolino Gausovih filtera. Ovo doprinosi efikasnom računanju deskriptora na svakoj lokaciji piksela, zato što histogram treba da se izračuna samo jednom po regiji i može se koristiti za sve okolne piksele. Druga razlika je da DAISY koristi kružnu konfiguraciju komšija umesto pravougaone koje koristi SIFT. Za datu ulaznu sliku $I$, određen broj mapa orijentacija $G_o$, jedna za svaki procenjeni pravac $o$, su prvo izračunati. Formalno su definisani kao: $$G_o = \left(\frac{\partial I}{\partial o} \right) ^+ $$ -Gde + znači da su samo pozitivne vrednoti sačuvane da bi se održala polarnost intenyiteta promena. Nad svakoj mapi orijentacija, koja predstavlja gradientne norme za taj pravac na svim lokacijama piksela, se nekoliko puta vrši Gausova konvolucija sa kernelima različitih standardnih devijacija da bi se dobile konvolovane orijentacione mape. Efikasnost DAISY deskriptora proiylayi upravo odavde, zato što su Gausovi filteri razdvojivi i zato se konvolucije mogu vršiti vrlo efikasno. Ovo znači da konvolucije sa velikim kernelom se mogu računati iz nekoliko uzastopnih konvolucija sa manjim kernelima. Stoga se smanjuje količina računanja. +Gde $+$ znači da su samo pozitivne vrednosti sačuvane da bi se održala polarnost intenziteta promena. Nad svakom mapom orijentacija, koja predstavlja gradijentne norme za taj pravac na svim lokacijama piksela, se nekoliko puta vrši Gausova konvolucija sa kernelima različitih standardnih devijacija da bi se dobile konvoluirane orijentacione mape. Efikasnost DAISY algoritma proizilazi upravo odavde, zato što su Gausovi filteri razdvojivi i zato se konvolucije mogu vršiti vrlo efikasno. Ovo znači da se konvolucije sa velikim kernelom mogu računati iz nekoliko uzastopnih konvolucija sa manjim kernelima. Stoga se smanjuje količina računanja. Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih veličina lociranih na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovoj udaljenosti od centraknog piksela i standardna devijacija Gausovog kernela je proporcionalna veličini kruga. Unutar svakog kruga je napravljen vektor sabiranjem svih -Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija(R), broj izdvojenih orijentacija(o), broj konvolucionih orijentacionih prstenova(r), broj krugova na svakom prstenu(c) +Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). -## Random Field Model +### Random Field Model -## Pronalaženje optimalnih vektora +### Pronalaženje optimalnih vektora -## Postprocesiranje +### Postprocesiranje -# Rezultati +## Rezultati -## Kvantitativni rezultati +### Kvantitativni rezultati -Uspešnost algoritma je merena na osnovu dve metrike: srednja greška i procenat pogrešnih piksela. Srednja greška je računata kao srednja vrednost zbira kvadrata razlike komponenata istinotog vektora pomeraja i naše procene. Pogrešan piksel se smatra onaj čija je greska veća od 3 piksela. Za evaluaciju su korišćeni podaci iz KITTI baze koja sadrži parove uzastopnih slika sa primerima manjih i većih pomeraja. Svaki par slika u skupu za trening sadrži i istinito polje pokreta. +Uspešnost algoritma je merena na osnovu dve metrike: srednja greška i procenat pogrešnih piksela. Srednja greška je računata kao srednja vrednost zbira kvadrata razlike komponenata istinitog vektora pomeraja i naše procene. Pogrešan piksel se smatra onaj čija je greska veća od 3 piksela. Za evaluaciju su korišćeni podaci iz KITTI baze koja sadrži parove uzastopnih slika sa primerima manjih i većih pomeraja. Svaki par slika u skupu za trening sadrži i istinito polje pokreta. Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vršena nad skupom od po sedam parova slika. -| BCD | Srednja greska | Procenat pogrešnih piksela| +| BCD | Srednja greška | Procenat pogrešnih piksela| | ----------- | ----------- | ------------------------| | 0 | 13.81 | 30.97 | | 1 | 6.59 | 21.67 | @@ -68,6 +70,6 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr |6| 4.33|18.20| |7|4.30|18.15| -# Literatura +## Literatura Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) \ No newline at end of file From d5b06a175aea2548bc36b30259fa771373a8fbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Sun, 16 Oct 2022 11:58:59 +0200 Subject: [PATCH 03/31] Dodato o modelu i BCD --- content/2022/estimacija-pokreta.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 1bb7282..3471a61 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -26,7 +26,7 @@ U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Time svaki piksel dobije ukupno $M$ predloga destinacije vektora protoka, po $K$ iz svake okolne ćelije. +Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Time svaki piksel dobije ukupno $M$ predloga destinacije vektora protoka, po $K$ iz svake okolne ćelije. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN. Kako susedni pikseli često imaju sličan vektor protoka, dodatno se uzima $N$ nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i u skup predloga se dodaju vektori protoka čija je destinacija piksel koji najbolje odgovara izabranom pikselu. Naša metoda ne dodaje vektor u skup predloga u slučaju da je već prisutan, za razliku od referentne metode koja dodaje sledeći najbolji vektor protoka tog piksela. Zbog toga ne mora da sortira sve predloge iz datog piksela, čime dobija na efikasnosti. @@ -41,14 +41,32 @@ Jedna je da se u SIFT-u za konvolucije gradijenata u određenim smerovima korist $$G_o = \left(\frac{\partial I}{\partial o} \right) ^+ $$ Gde $+$ znači da su samo pozitivne vrednosti sačuvane da bi se održala polarnost intenziteta promena. Nad svakom mapom orijentacija, koja predstavlja gradijentne norme za taj pravac na svim lokacijama piksela, se nekoliko puta vrši Gausova konvolucija sa kernelima različitih standardnih devijacija da bi se dobile konvoluirane orijentacione mape. Efikasnost DAISY algoritma proizilazi upravo odavde, zato što su Gausovi filteri razdvojivi i zato se konvolucije mogu vršiti vrlo efikasno. Ovo znači da se konvolucije sa velikim kernelom mogu računati iz nekoliko uzastopnih konvolucija sa manjim kernelima. Stoga se smanjuje količina računanja. + Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih veličina lociranih na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovoj udaljenosti od centraknog piksela i standardna devijacija Gausovog kernela je proporcionalna veličini kruga. Unutar svakog kruga je napravljen vektor sabiranjem svih Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). +Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela vektora protoka se čuva kao *cena* tog vektora protoka. Odseca se iznad granične vrednosti $τ_φ$ i koristi se u daljim proračunima. + ### Random Field Model +Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i *cene slaganja* dva vektora protoka svaka dva susedna piksela, koja je definisana kao Menhetn norma njihove razlike. Kao i cena vektora protoka, odsečena je odozgo sa $τ_ψ$, što omogućava efikasnije izvršavanje programa i izbegavanje neproporcionalnog uticaja oštrih prekida. U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. Ovo se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. + +(Dodati LaTex) + ### Pronalaženje optimalnih vektora +U pojedinačnom redu piksela je potrebno naći minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. + +Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga vektora protoka. Naime, algoritam kreće od jednog kraja reda piksela, i u matrici čuva najmanju kumulativnu cenu kombinacije vektora protoka koja se završava datim predlogom datog piksela. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. + +(Objašnjenje k-skupova) + +Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica daje gore rezultate. + +### Baza podataka + +(Malo o bazi) ### Postprocesiranje From 34fba3b20f23fa0b0c9d703c11592b0e37056ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Mon, 24 Oct 2022 20:39:28 +0200 Subject: [PATCH 04/31] Lepse pojasnjen DP deo BCDa --- content/2022/estimacija-pokreta.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 3471a61..ccadbce 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -56,9 +56,9 @@ Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pok ### Pronalaženje optimalnih vektora -U pojedinačnom redu piksela je potrebno naći minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. +U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz predloga koja će dati minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. -Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga vektora protoka. Naime, algoritam kreće od jednog kraja reda piksela, i u matrici čuva najmanju kumulativnu cenu kombinacije vektora protoka koja se završava datim predlogom datog piksela. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. +Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Naime, algoritam kreće od početka reda piksela, i u matrici čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do datog piksela, koje se završavaju predlogom datog rednog broja u tom pikselu. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. (Objašnjenje k-skupova) From 231b10301fac56adc839de338f9b22c32a57e39a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Mon, 24 Oct 2022 22:02:47 +0200 Subject: [PATCH 05/31] Dodato objasnjenje k skupova --- content/2022/estimacija-pokreta.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index ccadbce..468c829 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -60,9 +60,9 @@ U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz pr Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Naime, algoritam kreće od početka reda piksela, i u matrici čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do datog piksela, koje se završavaju predlogom datog rednog broja u tom pikselu. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. -(Objašnjenje k-skupova) +Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi *k-skupove* koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju cenu slaganja manju od granične vrednosti, $τ_ψ$. Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. ((Dodati LaTex + objasnjenja)) -Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica daje gore rezultate. +Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica u ovom delu programa daje gore rezultate, tako da nisu korišćeni. ### Baza podataka From ebe413d851a22c0c63a547ff459e14e66c9f8661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Tue, 25 Oct 2022 12:51:12 +0200 Subject: [PATCH 06/31] popravljena grcka slova --- content/2022/estimacija-pokreta.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 468c829..13ad203 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -46,11 +46,11 @@ Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih v Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). -Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela vektora protoka se čuva kao *cena* tog vektora protoka. Odseca se iznad granične vrednosti $τ_φ$ i koristi se u daljim proračunima. +Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela vektora protoka se čuva kao *cena* tog vektora protoka. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. ### Random Field Model -Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i *cene slaganja* dva vektora protoka svaka dva susedna piksela, koja je definisana kao Menhetn norma njihove razlike. Kao i cena vektora protoka, odsečena je odozgo sa $τ_ψ$, što omogućava efikasnije izvršavanje programa i izbegavanje neproporcionalnog uticaja oštrih prekida. U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. Ovo se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. +Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i *cene slaganja* dva vektora protoka svaka dva susedna piksela, koja je definisana kao Menhetn norma njihove razlike. Kao i cena vektora protoka, odsečena je odozgo sa $\tau_\psi$, što omogućava efikasnije izvršavanje programa i izbegavanje neproporcionalnog uticaja oštrih prekida. U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. Ovo se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. (Dodati LaTex) @@ -60,7 +60,7 @@ U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz pr Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Naime, algoritam kreće od početka reda piksela, i u matrici čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do datog piksela, koje se završavaju predlogom datog rednog broja u tom pikselu. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. -Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi *k-skupove* koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju cenu slaganja manju od granične vrednosti, $τ_ψ$. Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. ((Dodati LaTex + objasnjenja)) +Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi *k-skupove* koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju cenu slaganja manju od granične vrednosti, $\tau_\psi$. Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. ((Dodati LaTex + objasnjenja)) Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica u ovom delu programa daje gore rezultate, tako da nisu korišćeni. From 641f37b0caba2034e019cfe47ee8fee4d16277e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 19:04:42 +0100 Subject: [PATCH 07/31] Dodat latex i pojasnjenja --- content/2022/estimacija-pokreta.md | 49 +++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 13ad203..2d1d755 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -46,24 +46,63 @@ Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih v Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). -Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela vektora protoka se čuva kao *cena* tog vektora protoka. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. +Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja %l_p$ u pikselu $p$ se čuva kao *cena* tog vektora protoka, $\varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. ### Random Field Model -Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i *cene slaganja* dva vektora protoka svaka dva susedna piksela, koja je definisana kao Menhetn norma njihove razlike. Kao i cena vektora protoka, odsečena je odozgo sa $\tau_\psi$, što omogućava efikasnije izvršavanje programa i izbegavanje neproporcionalnog uticaja oštrih prekida. U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. Ovo se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. +Za par predloga $l_{\mathbf{p}}$ i $l_{\mathbf{q}}$ susednih piksela $p$ i $q$ definišemo *cenu slaganja* $\psi_{\mathbf{p}, \mathbf{q}}\left(l_{\mathbf{p}}, l_{\mathbf{q}}\right)$ kao Menhetn normu njihove razlike. -(Dodati LaTex) + +Kao i cena vektora protoka, odsečena je odozgo sa $\tau_\psi$. + +Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i cena slaganja. + +$$ +\lambda \sum_{\mathbf{p}} \varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)+\sum_{\mathbf{p} \sim \mathbf{q}} \psi_{\mathbf{p}, \mathbf{q}}\left(l_{\mathbf{p}}, l_{\mathbf{q}}\right) +$$ + +Vrednost $\lambda$ je težinski faktor i u programu je jednak 0.05. Simbolima $p$ i $q$ su označeni pikseli na slici, susedni u desnoj sumi. ### Pronalaženje optimalnih vektora +U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. To se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. + U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz predloga koja će dati minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. -Problem minimizacije je rešen dinamičkom matricom, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Naime, algoritam kreće od početka reda piksela, i u matrici čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do datog piksela, koje se završavaju predlogom datog rednog broja u tom pikselu. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. +Problem minimizacije je rešen dinamičkom matricom $C$, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Matrica se popunjava po jednačini: + +$$ +\begin{aligned} +\mathbf{C}(x, l) &=\lambda \varphi_{(x, y)}(l)+\psi_{(x, y),(x, y-1)}\left(l, l_{x, y-1}^*\right)+\psi_{(x, y),(x, y+1)}\left(l, l_{x, y+1}^*\right) \\ +&+\min _{k \in L(x)}\left(\psi_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)\right) +\end{aligned} +$$ + +Algoritam kreće od početka reda piksela, i u $\mathbf{C}(x, l)$ čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do piksela rednog broja $x$, koje se završavaju predlogom $l$ tog piksela. Predlozi označeni $l_{x, y}^*$ su trenutni predlozi iz susednih redova na lokaciji $(x,y)$, a $L(x)$ skup predloga piksela $x$. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. -Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi *k-skupove* koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju cenu slaganja manju od granične vrednosti, $\tau_\psi$. Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. ((Dodati LaTex + objasnjenja)) +Drugi sabirak se ne računa grubom silom, već pomoću *k-skupova*. + +### K-skupovi + +Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi k-skupove koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju neodsečenu cenu slaganja $\psi^*$ manju od granične vrednosti, $\tau_\psi$. + +$$ +\mathcal{K}_{\mathbf{p}, \mathbf{q}, l}={k \in L(x) | \psi^*<\tau_\psi\right\} +$$ + +Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. Kao drugi sabirak u jednačini popunjavanja matrice se koristi minimum vrednosti $a$ i $b$, gde je $a$ najbolja vrednost dobijena koristeći predloge iz trenutnog k-skupa, a $b$ vrednost koja podrazumeva oštri prekid. + +$$ +a = \min _{k \in \mathcal{K}_{(x, y),(x-1, y), l}}\left(\psi_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)\right) +$$ + +$$ +b=\tau_\psi+\min _{k \in L(x)}\left(\mathbf{C}(x-1, k)\right) +$$ Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica u ovom delu programa daje gore rezultate, tako da nisu korišćeni. + ### Baza podataka (Malo o bazi) From 77df5b6502d2b9c37bf4bb87530081c1b7a7a4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 19:25:29 +0100 Subject: [PATCH 08/31] Popravljena latex definicija k skupa --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 2d1d755..5af78b8 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -87,7 +87,7 @@ Drugi sabirak se ne računa grubom silom, već pomoću *k-skupova*. Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi k-skupove koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju neodsečenu cenu slaganja $\psi^*$ manju od granične vrednosti, $\tau_\psi$. $$ -\mathcal{K}_{\mathbf{p}, \mathbf{q}, l}={k \in L(x) | \psi^*<\tau_\psi\right\} +\mathcal{K}_{\mathbf{p}, \mathbf{q}, l}=\{ k \in L(x) | \psi_{\mathbf{p}, \mathbf{q}}^*(l,k)<\tau_\psi \} $$ Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. Kao drugi sabirak u jednačini popunjavanja matrice se koristi minimum vrednosti $a$ i $b$, gde je $a$ najbolja vrednost dobijena koristeći predloge iz trenutnog k-skupa, a $b$ vrednost koja podrazumeva oštri prekid. From f88fd1ac1b808f86076023a40ae1d553d905c081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 19:36:06 +0100 Subject: [PATCH 09/31] Dodati grafici zavisnosti u repozitorijum --- static/2022/estimacija-pokreta/a.svg | 1147 ++++++++++++++++++++++++++ static/2022/estimacija-pokreta/b.svg | 1093 ++++++++++++++++++++++++ 2 files changed, 2240 insertions(+) create mode 100644 static/2022/estimacija-pokreta/a.svg create mode 100644 static/2022/estimacija-pokreta/b.svg diff --git a/static/2022/estimacija-pokreta/a.svg b/static/2022/estimacija-pokreta/a.svg new file mode 100644 index 0000000..6e8d59c --- /dev/null +++ b/static/2022/estimacija-pokreta/a.svg @@ -0,0 +1,1147 @@ + + + + + + + + 2022-10-16T13:41:51.035450 + image/svg+xml + + + Matplotlib v3.5.1, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/2022/estimacija-pokreta/b.svg b/static/2022/estimacija-pokreta/b.svg new file mode 100644 index 0000000..dabda91 --- /dev/null +++ b/static/2022/estimacija-pokreta/b.svg @@ -0,0 +1,1093 @@ + + + + + + + + 2022-10-16T13:41:44.482965 + image/svg+xml + + + Matplotlib v3.5.1, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d44fdbbb8b461fe4b5eafc1a425da4d7535ae125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 19:39:36 +0100 Subject: [PATCH 10/31] Dodati grafici u izvestaj --- content/2022/estimacija-pokreta.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 5af78b8..aa004c3 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -127,6 +127,10 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr |6| 4.33|18.20| |7|4.30|18.15| +![Srednja greska](/images/2022/estimacija-pokreta/a.svg) + +![Ppp](/images/2022/estimacija-pokreta/b.svg) + ## Literatura Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) \ No newline at end of file From 382066252ed614f719634f433bd69d5fa638a698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 19:44:28 +0100 Subject: [PATCH 11/31] popravljen jedan dolar, inace latex ne radi svugde --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index aa004c3..b57b8ba 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -46,7 +46,7 @@ Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih v Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). -Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja %l_p$ u pikselu $p$ se čuva kao *cena* tog vektora protoka, $\varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. +Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l_p$ u pikselu $p$ se čuva kao *cena* tog vektora protoka, $\varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. ### Random Field Model From aeffb131d68fdf4f47ca0db7888049e370e15bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 9 Nov 2022 20:09:42 +0100 Subject: [PATCH 12/31] dodat folder images --- content/2022/estimacija-pokreta.md | 4 +--- static/{ => images}/2022/estimacija-pokreta/a.svg | 0 static/{ => images}/2022/estimacija-pokreta/b.svg | 0 3 files changed, 1 insertion(+), 3 deletions(-) rename static/{ => images}/2022/estimacija-pokreta/a.svg (100%) rename static/{ => images}/2022/estimacija-pokreta/b.svg (100%) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index b57b8ba..3bc9552 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -86,9 +86,7 @@ Drugi sabirak se ne računa grubom silom, već pomoću *k-skupova*. Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi k-skupove koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju neodsečenu cenu slaganja $\psi^*$ manju od granične vrednosti, $\tau_\psi$. -$$ -\mathcal{K}_{\mathbf{p}, \mathbf{q}, l}=\{ k \in L(x) | \psi_{\mathbf{p}, \mathbf{q}}^*(l,k)<\tau_\psi \} -$$ +$$ \mathcal{K}\_{\mathbf{p}, \mathbf{q}, l}=\{ k \in L(x) | \psi\_{\mathbf{p}, \mathbf{q}}^\*(l,k)<\tau\_\psi \} $$ Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. Kao drugi sabirak u jednačini popunjavanja matrice se koristi minimum vrednosti $a$ i $b$, gde je $a$ najbolja vrednost dobijena koristeći predloge iz trenutnog k-skupa, a $b$ vrednost koja podrazumeva oštri prekid. diff --git a/static/2022/estimacija-pokreta/a.svg b/static/images/2022/estimacija-pokreta/a.svg similarity index 100% rename from static/2022/estimacija-pokreta/a.svg rename to static/images/2022/estimacija-pokreta/a.svg diff --git a/static/2022/estimacija-pokreta/b.svg b/static/images/2022/estimacija-pokreta/b.svg similarity index 100% rename from static/2022/estimacija-pokreta/b.svg rename to static/images/2022/estimacija-pokreta/b.svg From 82b057484a61a2272c40259557075f11d89a6fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Fri, 11 Nov 2022 22:11:06 +0100 Subject: [PATCH 13/31] gomila komentara resolvovana, latex radi. --- content/2022/estimacija-pokreta.md | 61 ++++++++++++++---------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 3bc9552..ad678d9 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -10,11 +10,11 @@ Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak j Većina metoda definiše problem estimacije kao problem minimizacije energije. -Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji mada dobijenom polju kretanja (eng. *flow field*) +Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji, mada dobijenom polju kretanja (eng. *flow field*) nedostaju oštri prekidi koji postoje u pravom polju kretanja, naročito pri opisivanju kretanja u blizini granica. Veliki broj istraživača je fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. -Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestili da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje Markovljevih slučajnih procesa, ali zbog nekonveksnih energija, dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. +Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestili da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje Markovljevih slučajnih procesa, ali zbog nekonveksnih energija dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. Većina stereo tehnika sa najboljim rezultatima se oslanja na diskretnu optimizaciju za minimizaciju energije a ne konveksnih funkcija. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. @@ -26,9 +26,13 @@ U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije jednakih veličina. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Time svaki piksel dobije ukupno $M$ predloga destinacije vektora protoka, po $K$ iz svake okolne ćelije. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN. +Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od koji će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5\*w$ i visine $5\*h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^10]. -Kako susedni pikseli često imaju sličan vektor protoka, dodatno se uzima $N$ nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i u skup predloga se dodaju vektori protoka čija je destinacija piksel koji najbolje odgovara izabranom pikselu. Naša metoda ne dodaje vektor u skup predloga u slučaju da je već prisutan, za razliku od referentne metode koja dodaje sledeći najbolji vektor protoka tog piksela. Zbog toga ne mora da sortira sve predloge iz datog piksela, čime dobija na efikasnosti. +Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l$ u pikselu $(x,y)$ se čuva kao *cena* tog vektora protoka, $\varphi_{(x,y)}(l)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. Vektori protoka između piksela koji su slični po DAISY algoritmu imaju malu cenu. + +Iz skupa predloga svakog piksela se bira vektor protoka sa najmanjom cenom i koristi se kao najbolji vektor protoka tog piksela pre dalje obrade. Time dobijamo prvi rezultat za polje protoka slike. + +Susedni pikseli često imaju sličan vektor protoka. Zato se dodatno uzima $N$ nasumičnih piksela iz lokalne Gausove distribucije centrirane na referentnom pikselu i iz svakog od njih bira vektor protoka sa najmanjom cenom. On se dodaje u skup predloga prvobitnog piksela, ako već nije prisutan. U slučaju da jeste, naša metoda ga ne dodaje, za razliku od referentne metode koja dodaje sledeći najbolji vektor protoka tog piksela. Zbog toga ne mora da sortira sve predloge iz datog piksela, čime dobija na efikasnosti, ali broj predloga nije isti za svaki piksel. #### DAISY @@ -46,61 +50,50 @@ Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih v Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). -Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l_p$ u pikselu $p$ se čuva kao *cena* tog vektora protoka, $\varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. - ### Random Field Model -Za par predloga $l_{\mathbf{p}}$ i $l_{\mathbf{q}}$ susednih piksela $p$ i $q$ definišemo *cenu slaganja* $\psi_{\mathbf{p}, \mathbf{q}}\left(l_{\mathbf{p}}, l_{\mathbf{q}}\right)$ kao Menhetn normu njihove razlike. - - -Kao i cena vektora protoka, odsečena je odozgo sa $\tau_\psi$. +Za par predloga $l$ i $k$ susednih piksela $p$ i $q$ definišemo *cenu slaganja* $\psi_{\mathbf{p}, \mathbf{q}}\left(l,k\right)$ kao Menhetn normu njihove razlike. Kao i cena vektora protoka, odsečena je odozgo sa $\tau_\psi$. Polje protoka je modelirano kao Markovljev slučajni proces. Problem procene pokreta je sveden na minimizaciju zbira cena vektora protoka i cena slaganja. -$$ -\lambda \sum_{\mathbf{p}} \varphi_{\mathbf{p}}\left(l_{\mathbf{p}}\right)+\sum_{\mathbf{p} \sim \mathbf{q}} \psi_{\mathbf{p}, \mathbf{q}}\left(l_{\mathbf{p}}, l_{\mathbf{q}}\right) -$$ +$$ \lambda \sum\_{\mathbf{p}} \varphi\_{\mathbf{p}}(l\_{\mathbf{p}})+\sum\_{\mathbf{p} \sim \mathbf{q}} \psi\_{\mathbf{p}, \mathbf{q}}\left(l\_{\mathbf{p}}, l\_{\mathbf{q}}\right) $$ -Vrednost $\lambda$ je težinski faktor i u programu je jednak 0.05. Simbolima $p$ i $q$ su označeni pikseli na slici, susedni u desnoj sumi. +Vrednost $\lambda$ je težinski faktor. Simbolom $\sim$ su označeni susedni pikseli $\mathbf{p}$ i $\mathbf{q}$ na slici, a simbolom $l_\mathbf{p}$ redni broj predloga izabranog kao konačni vektor protoka piksela $\mathbf{p}$. ### Pronalaženje optimalnih vektora -U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa vektora svakog piksela. To se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. +U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno smanjuje odabirom bolje kombinacije vektora protoka iz skupa predloga svakog piksela. To se radi pomoću spuštanja po blokovima koordinata (eng: *block coordinate descent*), nalaženjem minimalnog zbira cena u pojedinačnom redu ili koloni piksela na slici. Ovo ne garantuje nalaženje globalnog minimuma cene, što je NP-težak problem, ali garantuje smanjivanje ukupne cene slike u svakom koraku spuštanja. Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica u ovom delu programa daje gore rezultate, tako da nisu korišćeni. U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz predloga koja će dati minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. -Problem minimizacije je rešen dinamičkom matricom $C$, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Matrica se popunjava po jednačini: +Problem minimizacije je rešen matricom $C$, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Za red $y$ se matrica algoritmom dinamičkog programiranja popunjava po jednačinama: + +$$ \mathbf{C}(x, l) =\lambda \varphi\_{(x, y)}(l)+\psi\_{(x, y),(x, y-1)}\left(l, l\_{(x, y-1)}^\*\right)+\psi\_{(x, y),(x, y+1)}\left(l, l\_{(x, y+1)}^\*\right) $$ $$ -\begin{aligned} -\mathbf{C}(x, l) &=\lambda \varphi_{(x, y)}(l)+\psi_{(x, y),(x, y-1)}\left(l, l_{x, y-1}^*\right)+\psi_{(x, y),(x, y+1)}\left(l, l_{x, y+1}^*\right) \\ -&+\min _{k \in L(x)}\left(\psi_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)\right) -\end{aligned} +\mathbf{C}(x, l)=\mathbf{C}(x, l)+\min \_{0 \leq k < L(x,y)}\left(\psi\_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)\right) $$ -Algoritam kreće od početka reda piksela, i u $\mathbf{C}(x, l)$ čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog do piksela rednog broja $x$, koje se završavaju predlogom $l$ tog piksela. Predlozi označeni $l_{x, y}^*$ su trenutni predlozi iz susednih redova na lokaciji $(x,y)$, a $L(x)$ skup predloga piksela $x$. Sami vektori protoka koji sačinjavaju tu kombinaciju se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. +Algoritam kreće od početka reda piksela, i u $\mathbf{C}(x, l)$ čuva najmanju od kumulativnih cena svih kombinacija u delu reda od početnog piksela do piksela $(x,y)$, koje se završavaju predlogom rednog broja $l$ tog piksela. Predlozi označeni sa $l^*$ su trenutni predlozi iz susednih redova, a $L(x,y)$ broj predloga piksela $(x,y)$. Sami vektori protoka koji sačinjavaju kombinaciju date ukupne cene se ne čuvaju, već se najbolja kombinacija rekonstruiše idući unazad kroz matricu nakon što se popuni do kraja. Stari predlozi vektora se zamene novim i kreće se sa obradom sledećeg reda. -Drugi sabirak se ne računa grubom silom, već pomoću *k-skupova*. +Minimum u drugoj jednačini se nalazi pomoću *skupova sličnih predloga*. -### K-skupovi +#### Skupovi sličnih predloga -Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi k-skupove koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju neodsečenu cenu slaganja $\psi^*$ manju od granične vrednosti, $\tau_\psi$. +Bez modifikacija algoritma, bilo bi neophodno računati cene slaganja svakog para vektora protoka iz svaka dva susedna piksela u redu. Radi optimizacije možemo koristiti činjenicu da su cene slaganja odsečene. Naša metoda pre BCD-a za svaki par susednih piksela pravi skupove sličnih predloga, označenih $\mathcal{S}$, koji za svaki predlog jednog od njih čuvaju redne brojeve predloga drugog piksela koji daju cenu slaganja manju od granične vrednosti, $\tau_\psi$. -$$ \mathcal{K}\_{\mathbf{p}, \mathbf{q}, l}=\{ k \in L(x) | \psi\_{\mathbf{p}, \mathbf{q}}^\*(l,k)<\tau\_\psi \} $$ +$$ \mathcal{S}\_{\mathbf{p}, \mathbf{q}, l}=\\\{ 0 \leq k < L(x,y) | \psi\_{\mathbf{p}, \mathbf{q}}(l,k)<\tau\_\psi \\\} $$ -Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini k-skupove malim i ubrzava algoritam. Kao drugi sabirak u jednačini popunjavanja matrice se koristi minimum vrednosti $a$ i $b$, gde je $a$ najbolja vrednost dobijena koristeći predloge iz trenutnog k-skupa, a $b$ vrednost koja podrazumeva oštri prekid. +Algoritam mora da računa samo cene slaganja za predloge prisutne u k-skupovima. Zbog raznovrsnosti predloga, velika većina cena slaganja je odsečena, što čini skupove malim i ubrzava algoritam. Minimum u jednačini popunjavanja matrice za predlog $l$ piksela $(x,y)$ je koristi minimum vrednosti $a$ i $b$, gde je $a$ najbolja vrednost dobijena koristeći predloge iz relevantnih skupova sličnih predloga, a $b$ vrednost koja podrazumeva cenu slaganja odsečenu na $\tau_\psi$. $$ -a = \min _{k \in \mathcal{K}_{(x, y),(x-1, y), l}}\left(\psi_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)\right) +a = \min \_{k \in \mathcal{S}\_{(x, y),(x-1, y), l}}(\psi\_{(x, y),(x-1, y)}(l, k)+\mathbf{C}(x-1, k)) $$ $$ -b=\tau_\psi+\min _{k \in L(x)}\left(\mathbf{C}(x-1, k)\right) +b=\tau_\psi+\min \_{0 \leq k < L(x,y)}\left(\mathbf{C}(x-1, k)\right) $$ -Iako deluje da mogu biti od pomoći, u originalnom radu je pokazano da korišćenje algoritama detekcije ivica u ovom delu programa daje gore rezultate, tako da nisu korišćeni. - - ### Baza podataka (Malo o bazi) @@ -131,4 +124,8 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr ## Literatura -Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) \ No newline at end of file +Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) + +prepravi brojeve milice! + +[10]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. \ No newline at end of file From 31ede1e4af862a533e6a57d1e784479207cc2801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Sat, 12 Nov 2022 14:39:59 +0100 Subject: [PATCH 14/31] par ispravki --- content/2022/estimacija-pokreta.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index ad678d9..232cef5 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -26,7 +26,7 @@ U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od koji će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5\*w$ i visine $5\*h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^10]. +Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^10]. Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l$ u pikselu $(x,y)$ se čuva kao *cena* tog vektora protoka, $\varphi_{(x,y)}(l)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. Vektori protoka između piksela koji su slični po DAISY algoritmu imaju malu cenu. @@ -66,7 +66,7 @@ U svakom trenutku se čuva trenutno polje protoka, i ukupna cena se postepeno sm U pojedinačnom redu piksela je potrebno naći kombinaciju vektora protoka iz predloga koja će dati minimalan zbir cena vektora protoka i cena slaganja, uzimajući u obzir trenutno stanje polja protoka u susedna dva reda. Cene na koje treba paziti su cene vektora protoka, cena slaganja sa pikselima iz susednih redova i cena slaganja sa pikselima iz istog reda. -Problem minimizacije je rešen matricom $C$, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Za red $y$ se matrica algoritmom dinamičkog programiranja popunjava po jednačinama: +Problem minimizacije je rešen matricom $C$, čije su koordinate pozicija piksela u redu i redni broj trenutnog predloga u tom pikselu. Za red $y$ se matrica dinamičkim programiranjem popunjava po jednačinama: $$ \mathbf{C}(x, l) =\lambda \varphi\_{(x, y)}(l)+\psi\_{(x, y),(x, y-1)}\left(l, l\_{(x, y-1)}^\*\right)+\psi\_{(x, y),(x, y+1)}\left(l, l\_{(x, y+1)}^\*\right) $$ From b14bd3d2d8cfb871e6ac7c79e1ec18b9a2e62212 Mon Sep 17 00:00:00 2001 From: Milica Gojak Date: Sun, 13 Nov 2022 00:04:27 +0100 Subject: [PATCH 15/31] dodate ref, opis KITTI, postproc, izmena DAISY --- content/2022/estimacija-pokreta.md | 60 ++++++++++++++++++------------ 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 232cef5..5134c16 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -2,23 +2,21 @@ title: Estimacija pokreta summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem kampu za stare polaznike 2022. godine od Milice Gojak i Novaka Stijepića. --- -[to do]: ## Uvod Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. -Većina metoda definiše problem estimacije kao problem minimizacije energije. +Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni variacijski problem optimizacije energija. Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od gurbe ka finijim estimacijama[^1]. Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog proteka koji postoje u pravom polju kretanja naručito pri opisivanju kretanja u blizini ivica. Stoga je veliko broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. -Uprkos njihovim uspesima, ovaj i mnogi drugi pristupi su ograničeni činjenicom da je prostorna regularnost modelirana kao konveksna funkcija. Pretpostavka pomaže optimizaciji, mada dobijenom polju kretanja (eng. *flow field*) -nedostaju oštri prekidi koji postoje u pravom polju kretanja, naročito pri opisivanju kretanja u blizini granica. -Veliki broj istraživača je fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. +Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa[^2] [^3] -Roth i Black su proučavali prostorne statistike optičkog protoka i nagovestili da konveksne energije koje koristi većina pristupa estimaciji obezbeđuju samo aproksimaciju statistika protoka. Predlažu korišćenje Markovljevih slučajnih procesa, ali zbog nekonveksnih energija dobijanje zaključka ostaje vrlo izazovan problem i polja kretanja procenjena korišćenjem pristupa kontinualne optimizacije još uvek pate od izglađenih diskontinuiteta. -U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. Većina stereo tehnika sa najboljim rezultatima se oslanja na diskretnu optimizaciju za minimizaciju energije a ne konveksnih funkcija. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. +Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. -U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog prootka. +U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^4] ili *message passing*-a [^5] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. + +U referentnoj metodi [^6] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. ## Metod @@ -26,7 +24,7 @@ U referentnoj metodi(Menze et al. 2015) su predložene tri različite strategije Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^10]. +Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^7]. Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l$ u pikselu $(x,y)$ se čuva kao *cena* tog vektora protoka, $\varphi_{(x,y)}(l)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. Vektori protoka između piksela koji su slični po DAISY algoritmu imaju malu cenu. @@ -36,19 +34,9 @@ Susedni pikseli često imaju sličan vektor protoka. Zato se dodatno uzima $N$ n #### DAISY -DAISY je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. - -Slično SIFT deskriptoru, DAISY je 3D histogram gradijenata lokacija i orijentacija. Razlika leži u dva aspekta. -Jedna je da se u SIFT-u za konvolucije gradijenata u određenim smerovima koriste težinske sume normi gradijenata, dok DAISY koristi nekolino Gausovih filtera. Ovo doprinosi efikasnom računanju deskriptora na svakoj lokaciji piksela, zato što histogram treba da se izračuna samo jednom po regiji i može se koristiti za sve okolne piksele. Druga razlika je da DAISY koristi kružnu konfiguraciju komšija umesto pravougaone koje koristi SIFT. Za datu ulaznu sliku $I$, određen broj mapa orijentacija $G_o$, jedna za svaki procenjeni pravac $o$, su prvo izračunati. Formalno su definisani kao: - - -$$G_o = \left(\frac{\partial I}{\partial o} \right) ^+ $$ +DAISY[^8] je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. -Gde $+$ znači da su samo pozitivne vrednosti sačuvane da bi se održala polarnost intenziteta promena. Nad svakom mapom orijentacija, koja predstavlja gradijentne norme za taj pravac na svim lokacijama piksela, se nekoliko puta vrši Gausova konvolucija sa kernelima različitih standardnih devijacija da bi se dobile konvoluirane orijentacione mape. Efikasnost DAISY algoritma proizilazi upravo odavde, zato što su Gausovi filteri razdvojivi i zato se konvolucije mogu vršiti vrlo efikasno. Ovo znači da se konvolucije sa velikim kernelom mogu računati iz nekoliko uzastopnih konvolucija sa manjim kernelima. Stoga se smanjuje količina računanja. - -Na svakoj lokaciji piksela, njegova okolina je podeljena u krugove različitih veličina lociranih na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovoj udaljenosti od centraknog piksela i standardna devijacija Gausovog kernela je proporcionalna veličini kruga. Unutar svakog kruga je napravljen vektor sabiranjem svih - -Postoje 4 glavna parametra koji određuju izgled DAISY deskriptora: prečnik oblasti komšija ($R$), broj izdvojenih orijentacija ($o$), broj konvolucionih orijentacionih prstenova ($r$) i broj krugova na svakom prstenu ($c$). +Direkto inspirisan SIFT-om [^9] gleda se gradient intenziteta piksela po određenim orijenracijama, ali kako se u SIFT-u za datu karakterističnu tačku računaju gradienti nad pravougaonim prozorom, DAISY komšije deli po krugovima različitih veličina čiji se centri nalaze na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovom rastojanju od karakteristične tačke. Poenta ovakve podele komšija je u tome da se vektor koji opisuje tačku može izracunati vrlo brzo pomoću Gausovskih konvolucija i upravo zato je DAISY vrlo koristan za računanje deskriptora za svaki piksel. ### Random Field Model @@ -96,10 +84,12 @@ $$ ### Baza podataka -(Malo o bazi) +Za evaluaciju programa korisćena je KITTI[^10] baza za optički protok. Podaci su usnimljeni u Karlsrueru, gradu u Nemačkoj. Baza se sastoji iz 200 scena u trening setu i 200 scena u test setu. Svaka scena se sastoji iz dve sekvence uzastopnih slika, referentne i ciljane slike. ### Postprocesiranje +Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^11]. Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. + ## Rezultati ### Kvantitativni rezultati @@ -124,8 +114,30 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr ## Literatura +[^1] Brox, T., Bruhn, A., Papenberg, N., Weickert, J.: High accuracy optical flow +estimation based on a theory for warping. In: Proc. of the European Conf. on +Computer Vision (ECCV). (2004) Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) -prepravi brojeve milice! +[^2] M. J. Black and P. Anandan. The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. CVIU, 63(1):75– +104, 1996 + +[^3] F. Heitz and P. Bouthemy. Multimodal estimation of discontinuous optical flow using Markov random fields. TPAMI, 15(12):1217– +1232, 1993. + +[^4] Y. Boykov, O. Veksler, and R. Zabih. Fast approximate energy minimization via graph cuts. TPAMI, 23(11):1222–1239, 2001 + +[^5] J. Sun, N.-N. Zhen, and H.-Y. Shum. Stereo matching using belief +propagation. TPAMI, 25(7):787–800, 2003. + +[^6] M. Menze, C. Heipke, A. Geiger. Discrete optimization for optical flow. German Conference on Pattern Recognition, 16-28 + +[^7]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. + +[^8] Tola, E., Lepetit, V., & Fua, P. (2010). DAISY: An Efficient Dense Descriptor Applied to Wide-Baseline Stereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 815–830. + +[^9] Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision. + +[^10] [KITTI Flow 2015](https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=flow) -[10]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. \ No newline at end of file +[^11] Revaud, J., Weinzaepfel, P., Harchaoui, Z., & Schmid, C. (2015). Epicflow: Edge-preserving interpolation of correspondences for optical flow. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1164-1172). \ No newline at end of file From 5cf4cbcfc40c0f82b4fd37b3145d27fcfdb28772 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:20:17 +0100 Subject: [PATCH 16/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit greske u pravopisu Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 5134c16..dfcd97f 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -7,7 +7,7 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. -Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni variacijski problem optimizacije energija. Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od gurbe ka finijim estimacijama[^1]. Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog proteka koji postoje u pravom polju kretanja naručito pri opisivanju kretanja u blizini ivica. Stoga je veliko broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. +Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni varijacijski problem optimizacije energija. Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od grube ka finijim estimacijama.[^1] Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog protoka koji postoje u pravom polju kretanja naročito pri opisivanju kretanja u blizini ivica. Stoga je veliki broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa[^2] [^3] From b75a49e65d4a40df8ad4f89ebb9980ae3765bf6c Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:20:53 +0100 Subject: [PATCH 17/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dvotacke na referencama Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index dfcd97f..26ce137 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -114,30 +114,30 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr ## Literatura -[^1] Brox, T., Bruhn, A., Papenberg, N., Weickert, J.: High accuracy optical flow +[^1]: Brox, T., Bruhn, A., Papenberg, N., Weickert, J.: High accuracy optical flow estimation based on a theory for warping. In: Proc. of the European Conf. on Computer Vision (ECCV). (2004) Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) -[^2] M. J. Black and P. Anandan. The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. CVIU, 63(1):75– +[^2]: M. J. Black and P. Anandan. The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. CVIU, 63(1):75– 104, 1996 -[^3] F. Heitz and P. Bouthemy. Multimodal estimation of discontinuous optical flow using Markov random fields. TPAMI, 15(12):1217– +[^3]: F. Heitz and P. Bouthemy. Multimodal estimation of discontinuous optical flow using Markov random fields. TPAMI, 15(12):1217– 1232, 1993. -[^4] Y. Boykov, O. Veksler, and R. Zabih. Fast approximate energy minimization via graph cuts. TPAMI, 23(11):1222–1239, 2001 +[^4]: Y. Boykov, O. Veksler, and R. Zabih. Fast approximate energy minimization via graph cuts. TPAMI, 23(11):1222–1239, 2001 -[^5] J. Sun, N.-N. Zhen, and H.-Y. Shum. Stereo matching using belief +[^5]: J. Sun, N.-N. Zhen, and H.-Y. Shum. Stereo matching using belief propagation. TPAMI, 25(7):787–800, 2003. -[^6] M. Menze, C. Heipke, A. Geiger. Discrete optimization for optical flow. German Conference on Pattern Recognition, 16-28 +[^6]: M. Menze, C. Heipke, A. Geiger. Discrete optimization for optical flow. German Conference on Pattern Recognition, 16-28 [^7]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. -[^8] Tola, E., Lepetit, V., & Fua, P. (2010). DAISY: An Efficient Dense Descriptor Applied to Wide-Baseline Stereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 815–830. +[^8]: Tola, E., Lepetit, V., & Fua, P. (2010). DAISY: An Efficient Dense Descriptor Applied to Wide-Baseline Stereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 815–830. -[^9] Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision. +[^9]: Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision. -[^10] [KITTI Flow 2015](https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=flow) +[^10]: [KITTI Flow 2015](https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=flow) -[^11] Revaud, J., Weinzaepfel, P., Harchaoui, Z., & Schmid, C. (2015). Epicflow: Edge-preserving interpolation of correspondences for optical flow. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1164-1172). \ No newline at end of file +[^11]: Revaud, J., Weinzaepfel, P., Harchaoui, Z., & Schmid, C. (2015). Epicflow: Edge-preserving interpolation of correspondences for optical flow. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1164-1172). \ No newline at end of file From c9f552b1d17c3688a9fec2a723616b9511f7ce17 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:21:20 +0100 Subject: [PATCH 18/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jedna tacka Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 26ce137..2dd5ea2 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -9,7 +9,7 @@ Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak j Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni varijacijski problem optimizacije energija. Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od grube ka finijim estimacijama.[^1] Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog protoka koji postoje u pravom polju kretanja naročito pri opisivanju kretanja u blizini ivica. Stoga je veliki broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. -Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa[^2] [^3] +Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa.[^2] [^3] Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. From 9409bd5966c66d1904a5aae854cf39c9238c7589 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:22:00 +0100 Subject: [PATCH 19/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jedan razmak Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 2dd5ea2..6fbc79c 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -14,7 +14,7 @@ Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Marko Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. -U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^4] ili *message passing*-a [^5] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. +U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^4] ili *message passing*-a[^5] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. U referentnoj metodi [^6] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. From da3ae60b04da2001c9a41f89c6e0655d75a78408 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:22:31 +0100 Subject: [PATCH 20/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jos jedan razmak Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 6fbc79c..c75e5a1 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -16,7 +16,7 @@ Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^4] ili *message passing*-a[^5] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. -U referentnoj metodi [^6] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. +U referentnoj metodi[^6] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. ## Metod From 2a32174769f81ca047e9a3c085b02a2756492f43 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:23:02 +0100 Subject: [PATCH 21/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jos jedna tacka Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index c75e5a1..cdfab20 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -24,7 +24,7 @@ U referentnoj metodi[^6] su predložene tri različite strategije optimizacije d Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN[^7]. +Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN.[^7] Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l$ u pikselu $(x,y)$ se čuva kao *cena* tog vektora protoka, $\varphi_{(x,y)}(l)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. Vektori protoka između piksela koji su slični po DAISY algoritmu imaju malu cenu. From 8beb7e301d8431ade24e908ac77543e5b7f5e846 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Sun, 13 Nov 2022 20:23:35 +0100 Subject: [PATCH 22/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit opet pravopisne greske Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index cdfab20..287c8bb 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -36,7 +36,7 @@ Susedni pikseli često imaju sličan vektor protoka. Zato se dodatno uzima $N$ n DAISY[^8] je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. -Direkto inspirisan SIFT-om [^9] gleda se gradient intenziteta piksela po određenim orijenracijama, ali kako se u SIFT-u za datu karakterističnu tačku računaju gradienti nad pravougaonim prozorom, DAISY komšije deli po krugovima različitih veličina čiji se centri nalaze na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovom rastojanju od karakteristične tačke. Poenta ovakve podele komšija je u tome da se vektor koji opisuje tačku može izracunati vrlo brzo pomoću Gausovskih konvolucija i upravo zato je DAISY vrlo koristan za računanje deskriptora za svaki piksel. +Direktno inspirisan SIFT-om,[^9] gleda se gradijent intenziteta piksela po određenim orijentacijama, ali kako se u SIFT-u za datu karakterističnu tačku računaju gradienti nad pravougaonim prozorom, DAISY komšije deli po krugovima različitih veličina čiji se centri nalaze na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovom rastojanju od karakteristične tačke. Poenta ovakve podele komšija je u tome da se vektor koji opisuje tačku može izračunati vrlo brzo pomoću Gausovskih konvolucija i upravo zato je DAISY vrlo koristan za računanje deskriptora za svaki piksel. ### Random Field Model From 74225c0bd28d9ddcd8571b7316c5b04ed7993665 Mon Sep 17 00:00:00 2001 From: Milica Gojak Date: Sun, 13 Nov 2022 21:48:26 +0100 Subject: [PATCH 23/31] objasnjen coarse to fine,izbrisan visak, KITTI ref --- content/2022/estimacija-pokreta.md | 55 +++++++++++++++--------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 287c8bb..ed98431 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -7,16 +7,14 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. -Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni varijacijski problem optimizacije energija. Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od grube ka finijim estimacijama.[^1] Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog protoka koji postoje u pravom polju kretanja naročito pri opisivanju kretanja u blizini ivica. Stoga je veliki broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. +Klasična formulacija estimacije optičkog protoka definiše problem kao kontinualni varijacijski problem optimizacije energija. [^1] [^2] Kako bi mogli da se reše slučajevi sa pomerajima većim od nekoliko piksela koristi se metod od grube ka finijim estimacijama.[^3] Metod se zasniva na računanju optičkog protoka slika manjih rezolucija, onih za koje važi originalna formulacija, i korišćenju tih procena pri računanju protoka slike originalne rezolucije. Nažalost, ovaj metod često dovodi do nedostataka oštrih promena, diskontinuiteta, optičkog protoka koji postoje u pravom polju kretanja naročito pri opisivanju kretanja u blizini ivica. Stoga je veliki broj istraživača fokusiran na preformulaciju problema ne bi li bili dopušteni diskontinuiteti. -Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa.[^2] [^3] +Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa.[^4] [^5] -Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova ili *message passing* koje su često bile u mogućnosti da ostvare približno globalan optimum. +Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova[^6] ili *message passing*[^7] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. -U oblasti *stereo matching*-a ove poteškoće su prepoznate i potreba za nekonveksnim energetskim funkcijama je razrešena. Korišćenje funkcija je olakšano modeliranjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^4] ili *message passing*-a[^5] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. - -U referentnoj metodi[^6] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. +U referentnoj metodi[^8] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. ## Metod @@ -24,7 +22,7 @@ U referentnoj metodi[^6] su predložene tri različite strategije optimizacije d Polje kretanja se određuje nad parom slika; referentnoj slici i ciljanoj slici (slici koja je uslikana nekoliko trenutaka nakon referentne). Referentnu sliku želimo da pomoću vektora protoka pretvorimo u ciljanu sliku. -Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN.[^7] +Ciljana slika se deli na ćelije visine $h$ i širine $w$. Svaki piksel referentne slike treba dobiti po $K$ predloga destinacije vektora protoka iz svake okolne ćelije ciljane slike, čime se dobija raznovrstan skup predloga od kojih će se kasnije birati konačni vektor protoka. Okolne ćelije definišemo kao ćelije u pravougaoniku širine $5w$ i visine $5h$, centriranom na referentnoj ćeliji. Za svaku ćeliju se koristi nasumična k-d šuma (eng: *randomized k-d tree forest*) za deskriptore piksela koji pripadaju toj ćeliji. To je efikasna struktura za nalaženje $K$ piksela najbližih datom pikselu, po sličnosti deskriptora računatih DAISY algoritmom. Za razliku od referentne metode koja čuva sve k-d šume tokom generisanja predloga, naša metoda pravi k-d šumu za jednu ćeliju, iskoristi je za nalaženje najsličnijih piksela u ćelijama u okolini i više je ne čuva. Za pravljenje k-d šuma koristi se algoritam iz biblioteke FLANN.[^9] Menhetn norma razlike deskriptorskih vektora početnog i krajnjeg piksela nekog predloga rednog broja $l$ u pikselu $(x,y)$ se čuva kao *cena* tog vektora protoka, $\varphi_{(x,y)}(l)$. Odseca se iznad granične vrednosti $\tau_\phi$ i koristi se u daljim proračunima. Vektori protoka između piksela koji su slični po DAISY algoritmu imaju malu cenu. @@ -34,9 +32,9 @@ Susedni pikseli često imaju sličan vektor protoka. Zato se dodatno uzima $N$ n #### DAISY -DAISY[^8] je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. +DAISY[^10] je algoritam koji pretvara lokalne regione slike u niskodimenzionalne invarijantne deskriptore koji mogu da se koriste za uparivanje i klasifikaciju. -Direktno inspirisan SIFT-om,[^9] gleda se gradijent intenziteta piksela po određenim orijentacijama, ali kako se u SIFT-u za datu karakterističnu tačku računaju gradienti nad pravougaonim prozorom, DAISY komšije deli po krugovima različitih veličina čiji se centri nalaze na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovom rastojanju od karakteristične tačke. Poenta ovakve podele komšija je u tome da se vektor koji opisuje tačku može izračunati vrlo brzo pomoću Gausovskih konvolucija i upravo zato je DAISY vrlo koristan za računanje deskriptora za svaki piksel. +Direktno inspirisan SIFT-om,[^11] gleda se gradijent intenziteta piksela po određenim orijentacijama, ali kako se u SIFT-u za datu karakterističnu tačku računaju gradienti nad pravougaonim prozorom, DAISY komšije deli po krugovima različitih veličina čiji se centri nalaze na seriji koncentričnih prstenova. Prečnik svakog kruga je proporcionalan njegovom rastojanju od karakteristične tačke. Poenta ovakve podele komšija je u tome da se vektor koji opisuje tačku može izračunati vrlo brzo pomoću Gausovskih konvolucija i upravo zato je DAISY vrlo koristan za računanje deskriptora za svaki piksel. ### Random Field Model @@ -84,11 +82,11 @@ $$ ### Baza podataka -Za evaluaciju programa korisćena je KITTI[^10] baza za optički protok. Podaci su usnimljeni u Karlsrueru, gradu u Nemačkoj. Baza se sastoji iz 200 scena u trening setu i 200 scena u test setu. Svaka scena se sastoji iz dve sekvence uzastopnih slika, referentne i ciljane slike. +Za evaluaciju programa korisćena je KITTI[^12] baza za optički protok. Podaci su usnimljeni u Karlsrueru, gradu u Nemačkoj. Baza se sastoji iz 200 scena u trening setu i 200 scena u test setu. Svaka scena se sastoji iz dve sekvence uzastopnih slika, referentne i ciljane slike. ### Postprocesiranje -Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^11]. Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. +Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^13]. Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. ## Rezultati @@ -114,30 +112,33 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr ## Literatura -[^1]: Brox, T., Bruhn, A., Papenberg, N., Weickert, J.: High accuracy optical flow +[^1]: Horn, B.K.P., Schunck, B.G. (1980). Determining optical flow. AI 17(1–3), 185–203 + +[^2]: Lucas, B.D., Kanade, T. (1981). An iterative image registration technique with an application to stereo vision. In: IJCAI + +[^3]: Brox, T., Bruhn, A., Papenberg, N., Weickert, J. (2004). High accuracy optical flow estimation based on a theory for warping. In: Proc. of the European Conf. on -Computer Vision (ECCV). (2004) -Roth, S., Black, M.J.: On the spatial statistics of optical flow. IJCV 74(1), 33–50 (2007) +Computer Vision (ECCV) -[^2]: M. J. Black and P. Anandan. The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. CVIU, 63(1):75– -104, 1996 +[^4]: M. J. Black and P. Anandan. (1996). The robust estimation of multiple motions: Parametric and piecewise-smooth flow fields. CVIU, 63(1):75– +104 -[^3]: F. Heitz and P. Bouthemy. Multimodal estimation of discontinuous optical flow using Markov random fields. TPAMI, 15(12):1217– -1232, 1993. +[^5]: F. Heitz and P. Bouthemy. (1993). Multimodal estimation of discontinuous optical flow using Markov random fields. TPAMI, 15(12):1217– +1232 -[^4]: Y. Boykov, O. Veksler, and R. Zabih. Fast approximate energy minimization via graph cuts. TPAMI, 23(11):1222–1239, 2001 +[^6]: Y. Boykov, O. Veksler, and R. Zabih. (2001). Fast approximate energy minimization via graph cuts. TPAMI, 23(11):1222–1239 -[^5]: J. Sun, N.-N. Zhen, and H.-Y. Shum. Stereo matching using belief -propagation. TPAMI, 25(7):787–800, 2003. +[^7]: J. Sun, N.-N. Zhen, and H.-Y. Shum. (2003). Stereo matching using belief +propagation. TPAMI, 25(7):787–800 -[^6]: M. Menze, C. Heipke, A. Geiger. Discrete optimization for optical flow. German Conference on Pattern Recognition, 16-28 +[^8]: M. Menze, C. Heipke, A. Geiger. (2015). Discrete optimization for optical flow. German Conference on Pattern Recognition, 16-28 -[^7]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. +[^9]: Muja, M., & Lowe, D. (2009). Flann-fast library for approximate nearest neighbors user manual. Computer Science Department, University of British Columbia, Vancouver, BC, Canada, 5. -[^8]: Tola, E., Lepetit, V., & Fua, P. (2010). DAISY: An Efficient Dense Descriptor Applied to Wide-Baseline Stereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 815–830. +[^10]: Tola, E., Lepetit, V., & Fua, P. (2010). DAISY: An Efficient Dense Descriptor Applied to Wide-Baseline Stereo. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 815–830. -[^9]: Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision. +[^11]: Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision. -[^10]: [KITTI Flow 2015](https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=flow) +[^12]: M. Menze and A. Geiger. (2015). Object scene flow for autonomous vehicles. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 3061-3070 -[^11]: Revaud, J., Weinzaepfel, P., Harchaoui, Z., & Schmid, C. (2015). Epicflow: Edge-preserving interpolation of correspondences for optical flow. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1164-1172). \ No newline at end of file +[^13]: Revaud, J., Weinzaepfel, P., Harchaoui, Z., & Schmid, C. (2015). Epicflow: Edge-preserving interpolation of correspondences for optical flow. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1164-1172). \ No newline at end of file From 6e73ca93c2c0d1ea0d2ad3cef197a087b456da42 Mon Sep 17 00:00:00 2001 From: Milica Gojak Date: Sun, 20 Nov 2022 11:49:44 +0100 Subject: [PATCH 24/31] apstrakt --- content/2022/estimacija-pokreta.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index ed98431..d8fdcee 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -2,6 +2,11 @@ title: Estimacija pokreta summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem kampu za stare polaznike 2022. godine od Milice Gojak i Novaka Stijepića. --- +## Apstrakt + +U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Problem optičkog protoka se svodi na pronalaženje parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih deskriptora računatih DAISY algoritmom. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način je ograničenje broja predloga jednog piksela na osnovu granice cene slaganja sa susednim piskelom. Treći vid optimizacije jeste koriscenje BCD-a za pronalaženje optimalnih vektora protoka iz skupa predloga. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. + +In this paper we approach the problem of optical flow field from discrete point of view and use three optimization methods, which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. Problem of optical flow estimation comes down to finding a pair pixel of reference image in target image, using some sort of parameter, in this paper similarity of their descriptors calculated using DAISY algorithm. First, the program is optimized by restricting a number of flow proposals to a fixed number. Proposals were extracted using randomized k-d tree algorithm. Second, we again restrict a number of flow proposals but this time based on similarity threshold of neighboring pixels. Third way of optimization is using BCD algorithm for finding optimal flow vector. Estimated field is refined in postprocessing and flow vectors of unmatched regions were interpolated using EpicFlow. Results were obtained by evaluating algorithm on the KITTI database. ## Uvod @@ -82,14 +87,19 @@ $$ ### Baza podataka -Za evaluaciju programa korisćena je KITTI[^12] baza za optički protok. Podaci su usnimljeni u Karlsrueru, gradu u Nemačkoj. Baza se sastoji iz 200 scena u trening setu i 200 scena u test setu. Svaka scena se sastoji iz dve sekvence uzastopnih slika, referentne i ciljane slike. +Za evaluaciju programa korišćena je KITTI[^12] baza za optički protok. Podaci su usnimljeni u *Karlsruhe*, gradu u Nemačkoj. Baza se sastoji iz 200 scena u trening setu i 200 scena u test setu. Svaka scena se sastoji iz sekvence dve uzastopno snimljene slike, referentne i ciljane. ### Postprocesiranje -Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^13]. Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. +Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^13]. + +Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. + +Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. ## Rezultati + ### Kvantitativni rezultati Uspešnost algoritma je merena na osnovu dve metrike: srednja greška i procenat pogrešnih piksela. Srednja greška je računata kao srednja vrednost zbira kvadrata razlike komponenata istinitog vektora pomeraja i naše procene. Pogrešan piksel se smatra onaj čija je greska veća od 3 piksela. Za evaluaciju su korišćeni podaci iz KITTI baze koja sadrži parove uzastopnih slika sa primerima manjih i većih pomeraja. Svaki par slika u skupu za trening sadrži i istinito polje pokreta. @@ -110,6 +120,8 @@ Tabela prikazuje zavisnost metrike od broja izvršenih BCD-ova. Testiranja su vr ![Ppp](/images/2022/estimacija-pokreta/b.svg) +## Zaključak + ## Literatura [^1]: Horn, B.K.P., Schunck, B.G. (1980). Determining optical flow. AI 17(1–3), 185–203 From 204fc538af551d866ec708de986d4beaa4e980b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Sun, 20 Nov 2022 20:22:17 +0100 Subject: [PATCH 25/31] popravljene greske u apstraktu --- content/2022/estimacija-pokreta.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index d8fdcee..c1f8359 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -4,9 +4,9 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k --- ## Apstrakt -U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Problem optičkog protoka se svodi na pronalaženje parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih deskriptora računatih DAISY algoritmom. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način je ograničenje broja predloga jednog piksela na osnovu granice cene slaganja sa susednim piskelom. Treći vid optimizacije jeste koriscenje BCD-a za pronalaženje optimalnih vektora protoka iz skupa predloga. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. +U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Problem optičkog protoka se svodi na pronalaženje parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih DAISY deskriptora. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način jeste korišćenje spuštanja po blokovima koordinata za pronalaženje optimalnih kombinacija usaglašenih vektora protoka iz skupa predloga. Treći vid optimizacije je korišćenje skupova sličnih predloga prilikom obrade predloga susednih piksela. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. -In this paper we approach the problem of optical flow field from discrete point of view and use three optimization methods, which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. Problem of optical flow estimation comes down to finding a pair pixel of reference image in target image, using some sort of parameter, in this paper similarity of their descriptors calculated using DAISY algorithm. First, the program is optimized by restricting a number of flow proposals to a fixed number. Proposals were extracted using randomized k-d tree algorithm. Second, we again restrict a number of flow proposals but this time based on similarity threshold of neighboring pixels. Third way of optimization is using BCD algorithm for finding optimal flow vector. Estimated field is refined in postprocessing and flow vectors of unmatched regions were interpolated using EpicFlow. Results were obtained by evaluating algorithm on the KITTI database. +In this paper we approach the problem of optical flow estimation from a discrete point of view and use three optimization methods which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. The problem of optical flow estimation is reduced to finding matches between pixels in the reference image and the target image using a parameter, in this paper the similarity of their DAISY descriptors. Firstly, the program is optimized by restricting the number of flow proposals to a fixed number. Proposals were extracted using the randomized k-d forest algorithm. Secondly, we use block coordinate descent for finding optimal combinations of aligned flow vectors. Lastly, we use sets of similar proposals to optimize the processing of proposals in neighboring pixels. The estimated field is refined in postprocessing and the flow vectors of unmatched regions were interpolated using EpicFlow. Results were obtained by evaluating the algorithm on the KITTI dataset. ## Uvod From f2d29646dba2d762d99e449bd5723a2ec9a24546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 23 Nov 2022 18:55:04 +0100 Subject: [PATCH 26/31] Dodat graf apstrakt --- content/2022/estimacija-pokreta.md | 2 ++ static/images/2022/estimacija-pokreta/OGA.svg | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 static/images/2022/estimacija-pokreta/OGA.svg diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index c1f8359..62469ea 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -8,6 +8,8 @@ U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz kori In this paper we approach the problem of optical flow estimation from a discrete point of view and use three optimization methods which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. The problem of optical flow estimation is reduced to finding matches between pixels in the reference image and the target image using a parameter, in this paper the similarity of their DAISY descriptors. Firstly, the program is optimized by restricting the number of flow proposals to a fixed number. Proposals were extracted using the randomized k-d forest algorithm. Secondly, we use block coordinate descent for finding optimal combinations of aligned flow vectors. Lastly, we use sets of similar proposals to optimize the processing of proposals in neighboring pixels. The estimated field is refined in postprocessing and the flow vectors of unmatched regions were interpolated using EpicFlow. Results were obtained by evaluating the algorithm on the KITTI dataset. +![Graficki apstrakt](/images/2022/estimacija-pokreta/OGA.svg) + ## Uvod Procena kretanja je proces određivanja vektora kretanja koji opisuju prelazak jedne slike u drugu. Predstavlja jedan od osnovnih problema oblasti kompjuterske vizije. diff --git a/static/images/2022/estimacija-pokreta/OGA.svg b/static/images/2022/estimacija-pokreta/OGA.svg new file mode 100644 index 0000000..b7b39f9 --- /dev/null +++ b/static/images/2022/estimacija-pokreta/OGA.svg @@ -0,0 +1,4 @@ + + + +

Block coordinate descent

Update flow field using proposals to align flow vectors with those of neighboring pixels

Block coordinate descent...
Dynamic programming on image rows/columns
Dynamic programming...
Sets of similar proposals
Sets of similar prop...
DAISY pixel descriptors
DAISY pixel descriptors
Dense  flow field
Dense  f...
Dense  flow field
Dense  f...
Dense  flow field
Dense  f...
Semi-dense flow field
Semi-dense...
Flow field interpolation
Flow field interpolation
EpicFlow
EpicFl...
3x
3x
Flow vectors between best matches
Flow vectors b...
KITTI Dataset
KITTI Dataset
Pairs of photographs
Pairs of photographs
Optical flow between two frames
Optical flow between two frames

FLANN to find target pixels with similar descriptors
FLANN to find targ...
Generation of diverse flow proposals
Generation of diverse flow proposa...
Flow consistency checking
Flow consistency checking
Text is not SVG - cannot display
\ No newline at end of file From 15a00f3418cff06ee1dc678764bb2ecdb83a77e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Novak=20Stijepi=C4=87?= Date: Wed, 23 Nov 2022 22:35:05 +0100 Subject: [PATCH 27/31] objasnjenu u apstraktu sta su predlozi --- content/2022/estimacija-pokreta.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 62469ea..d0021ba 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -4,9 +4,9 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k --- ## Apstrakt -U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Problem optičkog protoka se svodi na pronalaženje parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih DAISY deskriptora. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način jeste korišćenje spuštanja po blokovima koordinata za pronalaženje optimalnih kombinacija usaglašenih vektora protoka iz skupa predloga. Treći vid optimizacije je korišćenje skupova sličnih predloga prilikom obrade predloga susednih piksela. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. +U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Na početku se predlažu vektori protoka pronalaženjem parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih DAISY deskriptora. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način jeste korišćenje spuštanja po blokovima koordinata za pronalaženje optimalnih kombinacija usaglašenih vektora protoka iz skupa predloga. Treći vid optimizacije je korišćenje skupova sličnih predloga prilikom obrade predloga susednih piksela. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. -In this paper we approach the problem of optical flow estimation from a discrete point of view and use three optimization methods which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. The problem of optical flow estimation is reduced to finding matches between pixels in the reference image and the target image using a parameter, in this paper the similarity of their DAISY descriptors. Firstly, the program is optimized by restricting the number of flow proposals to a fixed number. Proposals were extracted using the randomized k-d forest algorithm. Secondly, we use block coordinate descent for finding optimal combinations of aligned flow vectors. Lastly, we use sets of similar proposals to optimize the processing of proposals in neighboring pixels. The estimated field is refined in postprocessing and the flow vectors of unmatched regions were interpolated using EpicFlow. Results were obtained by evaluating the algorithm on the KITTI dataset. +In this paper we approach the problem of optical flow estimation from a discrete point of view and use three optimization methods which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. Firstly, our program generates flow vector proposals by finding matches between pixels in the reference image and the target image using a parameter, in this paper the similarity of their DAISY descriptors. The program is optimized by restricting the number of flow proposals to a fixed number. Proposals were extracted using the randomized k-d forest algorithm. Secondly, we use block coordinate descent for finding optimal combinations of aligned flow vectors. Lastly, we use sets of similar proposals to optimize the processing of proposals in neighboring pixels. The estimated field is refined in postprocessing and the flow vectors of unmatched regions are interpolated using EpicFlow. Results were obtained by evaluating the algorithm on the KITTI dataset. ![Graficki apstrakt](/images/2022/estimacija-pokreta/OGA.svg) From 174e8cba4ebe43686b3df4c44248f8503c6c112f Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Fri, 25 Nov 2022 17:11:37 +0100 Subject: [PATCH 28/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit neka zapeta Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index d0021ba..68f300f 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -19,7 +19,7 @@ Klasična formulacija estimacije optičkog protoka definiše problem kao kontinu Jedan smer pri rešavanju problema jeste modeliranje protoka korišćenjem Markovljevih slučajnih procesa.[^4] [^5] -Sledeći primere iz *stereo matching*-a optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama , poput *graph cut*-ova[^6] ili *message passing*[^7] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. +Sledeći primere iz *stereo matching*-a, optimizacija energija se može olakšati korišćenjem diskretnih optimizacionih algoritama, poput *graph cut*-ova[^6] ili *message passing*[^7] koje su često bile u mogućnosti da ostvare približno globalan optimum. Iako se estimacija dispariteta može posmatrati i kao ograničeni slučaj optičkog protoka, malo autora je pokušalo da koristi diskretnu optimizaciju za estimaciju optičkog protoka. U referentnoj metodi[^8] su predložene tri različite strategije optimizacije diskretnog pristupa. Cilj rada je bio ispitivanje uticaja različitih algoritama na preciznost određivanja optičkog protoka. From 7454ae0d647ca0c97289423dfa0bdd54dc7bc3c0 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Fri, 25 Nov 2022 17:12:10 +0100 Subject: [PATCH 29/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit par reci Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 68f300f..7c2f842 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -97,7 +97,7 @@ Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. -Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam koji pikselima koji nemaju definisan protok računa isti uzimajući u obzir okolne piksele i ivice slike sa hipotezom da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. +Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam, koji pikselima koji nemaju definisan protok računa isti, uzimajući u obzir okolne piksele i ivice slike. EpicFlow kreće od hipoteze da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. ## Rezultati From 2bff5d6f21b859df1d43a1bcc6026550fcbe76b3 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Fri, 25 Nov 2022 17:12:45 +0100 Subject: [PATCH 30/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit par reci za proveru konzistentnosti Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index 7c2f842..cfc7444 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -95,7 +95,7 @@ Za evaluaciju programa korišćena je KITTI[^12] baza za optički protok. Podaci Ranije opisani algoritam dodeljuje svaki piksel referentne slike pikselu ciljane slike. Kao unapređenje algoritma vrši se izbacivanje piksela na osnovu dva kriterijuma: provere konzistentnosti i uklanjanja malih segmenata, nakon čega se primenjuje EpicFlow[^13]. -Provera konzistentnosti se vrši tako što se računa optički protok unapred kao i unazad, u suprotnom poretku od datog u bazi podataka i vektor protoka se izbacuje ako je odstupanje vektora protoka veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. +Provera konzistentnosti se vrši tako što se računa optički protok unapred, kao i unazad, u suprotnom poretku od datog u bazi podataka, i vektor protoka se izbacuje ako je njegovo odstupanje veće od definisanog praga. Zatim se izbacuju mali segmenti od najviše 100 piksela koji odstupaju od kretanja okolnih piksela usled pretpostavke da se radi o kretanju većih celina i da izolovani segmenti odgovaraju pogrešnoj proceni. Kako bi se dobilo u potpunosti definisano polje protoka koristi se EpicFlow algoritam, koji pikselima koji nemaju definisan protok računa isti, uzimajući u obzir okolne piksele i ivice slike. EpicFlow kreće od hipoteze da ivice slike definišu granice kretanja, odnosno da pikseli sa suprotne strane ivice odgovaraju kretaju različitih objekata. From b2efeff9305713b61f05a7b07954e98a60409452 Mon Sep 17 00:00:00 2001 From: NovakTJ <113252069+NovakTJ@users.noreply.github.com> Date: Fri, 25 Nov 2022 17:19:30 +0100 Subject: [PATCH 31/31] Update content/2022/estimacija-pokreta.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit srpski termini u apstraktu Co-authored-by: Luka Simić --- content/2022/estimacija-pokreta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/2022/estimacija-pokreta.md b/content/2022/estimacija-pokreta.md index cfc7444..da3687d 100644 --- a/content/2022/estimacija-pokreta.md +++ b/content/2022/estimacija-pokreta.md @@ -4,7 +4,7 @@ summary: Estimacija pokreta pomoću optical flow je projekat rađen na letnjem k --- ## Apstrakt -U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Na početku se predlažu vektori protoka pronalaženjem parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih DAISY deskriptora. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način jeste korišćenje spuštanja po blokovima koordinata za pronalaženje optimalnih kombinacija usaglašenih vektora protoka iz skupa predloga. Treći vid optimizacije je korišćenje skupova sličnih predloga prilikom obrade predloga susednih piksela. Procenjeno polje se unapređuje postprocesingom i izbačeni vektori se ponovo računaju interpoliranjem korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. +U radu se vrši određivanje potpunog polja protoka diskretnim pristupom uz korišćenje tri optimizacione metode koje omogućavaju smanjenje potrebnih računskih i memorijskih resursa. Njihovo korišćenje dozvoljava procenu optičkog protoka velikih pomeraja. Na početku se predlažu vektori protoka pronalaženjem parova piksela referentne i ciljane slike na osnovu nekog parametra, u ovom radu sličnosti njihovih DAISY deskriptora. Prvi način optimizacije koji je korišćen u radu je ograničenje skupa predloga na fiksan broj. Predlozi se pronalaze korišćenjem algoritma nasumične k-d šume. Drugi način jeste korišćenje spuštanja po blokovima koordinata za pronalaženje optimalnih kombinacija usaglašenih vektora protoka iz skupa predloga. Treći vid optimizacije je korišćenje skupova sličnih predloga prilikom obrade predloga susednih piksela. Procenjeno polje se unapređuje postprocesiranjem i izbačeni vektori se ponovo računaju interpolacijom korišćenjem EpicFlow algoritma. Rezultati su dobijeni evaluacijom nad KITTI bazom podataka. In this paper we approach the problem of optical flow estimation from a discrete point of view and use three optimization methods which are able to reduce computation and memory demands. Their use allows us to estimate optical flow of sequences with large displacements. Firstly, our program generates flow vector proposals by finding matches between pixels in the reference image and the target image using a parameter, in this paper the similarity of their DAISY descriptors. The program is optimized by restricting the number of flow proposals to a fixed number. Proposals were extracted using the randomized k-d forest algorithm. Secondly, we use block coordinate descent for finding optimal combinations of aligned flow vectors. Lastly, we use sets of similar proposals to optimize the processing of proposals in neighboring pixels. The estimated field is refined in postprocessing and the flow vectors of unmatched regions are interpolated using EpicFlow. Results were obtained by evaluating the algorithm on the KITTI dataset.