Professional Documents
Culture Documents
Ljubiša Kovačević
1. Uvod
U ovom radu biće opisan postupak koji uključuje obradu videa, izdvajanje obeležja,
stereo rektifikaciju i dinamičko 3D renderovanje uz pomoć OpenCV i OpenGL biblioteka.
Projekat je podeljen u dva radna fajla, KPZ1 i KPZ2, gde su u KPZ1 dobijene depth mape, a u
KPZ2 je dobijan finalni render. Ceo postupak biće objašnjen uz propratna teorijska objašnjenja
koja stoje iza koda.
2. Obrada videa
U KPZ1 prvi deo koda zasniva se na izdvajanju i obradi frejmova snimljenog videa. U
main-u, video se učitava pomoću funkcije VideoCapture. While petlja služi da iz videa izdvaja
frejmove – u ovom slučaju svaki 30. Frejmovi se zapisuju pomoću imwrite kao eksterni fajl.
Izdvojeni frejmovi služiće kao slike nad kojim će biti vršena dalja obrada. Od izdvojenih slika
biraju se najpogodnije i učitavaju pomoću imread. Ove učitane slike će se upotrebljavati u
daljem kodu.
Ljubiša Kovačević Konačni predmetni zadatak
Nakon odabira slika, one se konvertuju u sivi prostor boja i čuvaju. Ovo je potreban korak
pre početka detekcije obeležja. Za nalaženje podudarnosti koristi se robust matcher. Robust
matcher služi da pronađe podudarna obeležja između dva skupa ključnih tačaka slike. Ovo
obično postiže uz pomoć algoritama za detekciju obeležja (feature detection algorithms) poput
SURF (Speeded-Up Robust Features), SIFT (Scale Invariant Feature Transform) ili ORB
(Oriented FAST and Rotated BRIEF). Radi tako što filtrira neželjene komponente (takozvane
outlier-e) i time čini da samo pouzdane podudarnosti utiču u narednim proračunima, poput
procene fundamentalne matrice ili 3D rekonstrukcije.
• Nivo pouzdanosti (u datom kodu conf): Određuje prag za željene komponente (inlier-e)
tokom nalaženja podudarnosti. Viši nivo pouzdanosti daje uži skup inlier-a.
• Provera odnosa (u datom kodu ratio): Prag odnosa koji se koristi za proveru odnosa
tokom pronalaženja podudarnih obeležja. Ona poredi rastojanje najbliže podudarne
tačke u odnosu na rastojanje druge najbliže podudarne tačke. Ako je njihov odnos ispod
ovog praga, podudarnost se smatra pouzdanom.
Ljubiša Kovačević Konačni predmetni zadatak
Matcher sada vrši detekciju podudarnih obeležja između parova slika. Kao izlaz daje
pronađene podudarnosti (matches) koje se i upisuju kao eksterni fajl, ključne tačke prve i druge
slike (keypoints). Fundamentalna matrica procenjuje se pomoću RANSAC (Random Sample
Consesus) algoritma. RANSAC je robusna statistička metoda koja se često koristi u obradi slike
za rešavanje sistema podataka sa velikim brojem outlier-a. RANSAC se sastoji iz nekoliko
koraka:
Ovaj algoritam daje mape dispariteta, koje ukazuju na razlike u pikselima između
rektifikovanih parova slika. Adekvatno podešavanje gore navednih parametara je ključno u
dobijanju dobre mape dispariteta. Mape dispariteta se normalizuju, što daje mape dubine (depth
maps) koje obuhvataju trodimenzionalne karakteristike scene. Nakon ovoga, rektifikuju se i
slike u boji i zapisuju u eksterni fajl kako bi se koristile u finalnom renderu. Postupak se ponavlja
za svaki naredni par ulaznih slika.
Ljubiša Kovačević Konačni predmetni zadatak
4. 3D rendering
Funkcija zasnovana na vremenu služi da dinamično menja različite slika depth mapa i
njihove odgovarajuće terene. Dinamičko menjanje modela stvara kontinualnu 3D vizualizaciju.