Analiza vizuelnih informacija fotografije uz različite pristupe pikselizaciji, primjenom logike quadtree data strukture – faza II

Metodologija istraživanja se bazira na dvije metode:

Metoda 1 – Pikselizacija zasnovana na homogenosti poligona

Ova metoda koristi Grasshopper kako bi stvorila adaptivnu geometriju na osnovu homogenosti boja na slici.

Osnovni princip:

  1. Analiza površine: Proces počinje s površinom (pravougaonikom). Ta se površina zatim iterativno dijeli na manje poligone.
  2. Provjera homogenosti: Za svaki poligon, Grasshopper uzorkuje boju sa originalne slike na više tačaka. Zatim, provjerava da li je raspon boja unutar tog lica ispod zadatog praga.
    1. Ako je boja homogena (ispod praga), poligon se smatra “finalizovanim” – prestaje se s daljim dijeljenjem, a taj poligon postaje jedan veliki “piksel” koji dobija prosječnu boju.
    1. Ako boja nije homogena (iznad praga), poligon se ponovo dijeli na manje dijelove, a proces analize se ponavlja u sljedećoj iteraciji.

Ova metoda se nastavlja sve dok se svi dijelovi površine ne svedu na homogenu cjelinu, što rezultira optimizovanom mesh mrežom koja ima velike poligone u oblastima ujednačene boje i male, detaljne poligone tamo gdje se boja često mijenja.

grasshopper kod

Metoda 2 – Pikselizacija zasnovana na homogenosti bloka piksela

Ova metoda koristi Python programski jezik kako bi pikselizovala sliku na osnovu homogenosti boja. Umjesto fiksne veličine piksela, algoritam se prilagođava sadržaju slike.

Osnovni princip:

  • Analiza bloka: Algoritam tretira cijelu sliku kao jedan veliki pravougaonik. Zatim, unutar tog pravougaonika, izračunava se raspon boja – razlika između najsvjetlije i najtamnije boje piksela.
  • Provjera homogenosti: Dobijeni raspon boja se poredi sa unaprijed definisanim pragom homogenosti.
  1. Ako je raspon boja ispod praga, blok se smatra homogenim. Svi pikseli unutar tog bloka dobijaju prosječnu boju, čime se stvara jedan veliki “piksel”.
  2. Ako je raspon boja iznad praga, boje se smatraju previše različitim. Pravougaonik se zatim rekurzivno dijeli na četiri manja bloka, a proces analize se ponavlja za svaki od njih.

Ova metoda se nastavlja sve dok se svi blokovi ne svedu na homogenu cjelinu, što rezultira slikom sa “pikselima” različite veličine, prilagođenim detaljima originalne slike.

python kod

Dalji tok istraživanja će se bazirati na poređenju rezultata pikselizacije dobijenih korišćenjem Grasshopper-a i Python-a, pronalaženju granice prepoznatljivosti na osnovu određenih matematičkih algoritama, a potom i definisanju tačnog broja podjela za prepoznatljivu sliku.

Optimizacija poligonalnih struktura i analiza uticaja na vizuelnu prepoznatljivost modela – faza II

Druga faza zasnovana je na istraživanju pristupa za stvaranje low poly struktura primenom softvera Rhino i Grasshopper.

Istraživanje je izvršeno na torusu. Ja sam konkretno koristila Torus kao glatku površ, pretvorila u mesh uz pomoć funkcije Mesh i odredila da sama mreža ima manji broj poligona.

Nakon toga, ceo proces stvaranja low poly strukture je izvršen parametarski. Korišćene su alatke:

  1. MeshMachine – služi sa remeshing, odnosno za prepravljanje mreže; on je glavna komponenta sa kojom se povezuju ostale koje utiču na samu gustinu mreže i na preciznost;
  2. Length – ovaj parametar reguliše veličinu poligona koji čine mrežu. Što je vrednost veća, ivice trouglova mreže će biti duže i samim tim dobija se manji broj poligona;
  3. CurvatureAdaptivity – parametar koji utiče na preciznost, odnosno njegove vrednosti definišu koliko će pažnje biti posvećeno čuvanju detalja na zakrivljenim mestima. Što su vrendosti manje, algoritam će manje pratiti krive delove i obrnuto;
  4. Toggle – svaki put kada se izmene parametri potrebno je na ovom alatu prebaciti sa False na True kako bi se ponovo izvršio remeshing sa novim vrednostima
  5. Trigger – ručno ili ciklično ažuriranje određenih komponenti, vremenski definisan parametar
  6. PMesh (PlanktonMesh) – služi da Grasshopper može da „zna“ kako su trouglovi povezani i da na osnovu toga radi kompleksne transformacije mreže (remeshing, relax, subdivizije);
  7. MEdges (MeshEdges) – uz pomoć ove alatke na kraju se dobija wireframe struktura mesh-a – mogu se „izvući” ivice mesh-a u obliku linija. Koristi se za vizuelnu analizu, proveru topologije (je li mesh otvoren ili zatvoren) i generisanje novih oblika na osnovu ivica;

Smanjenje broja poligona i stvaranje low poly modela dobijeno je menjanjem parametara Length i CurvatureAdaptivity.

Slučaj 1Length ima vrednost 25.0, a CurvaturaAdaptivity 0.2 Zaključak – Dužina ivice poligona je povećana čime je ukupan broj poligona smanjen, a zaobljenje krivih delova ima malu vrednost. Time je dobijena nepravilna figura, odnosno low poly struktura torusa.

Slučaj 2Length ima vrednost 25.0, a CurvaturaAdaptivity 0.5 Zaključak – Dužina ivice poligona je ostala ista, ali je parametru za zaobljavanje ivica data veća vrednost čime su zaobljeni detalji bolje obrađeni i figura više podseća na originalni torus.

Slučaj 3Length ima vrednosti 30.0 i 5.0, a CurvaturaAdaptivity 0.2 Zaključak – Veličina poligona je promenjena, a drugi parametar ima nižu vrednost – Nastala figura još više odstupa od prvobitnog oblika nego u slučaju 1. Za male vrednosti CurvatureAdaptivity-ja treba smanjiti i dužinu ivice poligona kako bismo dobili oblik polaznog modela.

Na osnovu istraživanja utvrđeno je da primenom ovog pristupa može da se dobije zadovoljavajući efekat low poly modela.

Analiza vizuelnih informacija fotografije uz različite pristupe pikselizaciji, primjenom logike quadtree data strukture

Oblast istraživanja: Pikselizacija

Tema istraživanja: Istraživanje različitih pristupa pikselizaciji koristeći se logikom quadtree data strukture

Stanje u oblasti: Pikselizacija podrazumijeva metod digitalne obrade fotografije, tako što grupe piksela mijenja većim, smanjujući rezoluciju slike. Ona se koristi u raznim sferama poput (a što su ujedno i prednosti): anonimizacije – zaštita lica i privatnosti; kompresovanja – optimizacija memorije koju određeni fajl zauzima što je direktno povezano sa brojem piksela određene fotografije, s obzirom na to da svaki piksel zauzima 24 bita odnosno 3 bajta za RGB; skrivanje – prilikom gubljenja određenih informacija tokom transporta podataka; arhitektura – objekti poput: Etnografskog muzeja u Budimpešti čiju fasadu čine pikseli koji predstavljaju etografske motive iz kolekcije muzeja; Downtown One u Tirani, čija je fasada koncipirana kao „pikselizovana mapa Albanije; umjetnost – instalacije poput Pixel Cloud Instalation koja je bila izložena Rejkjaviku; mnogobrojne pikselizovane street art umjetničke strukture; video igre – minecraft kao najpoznatija igrica zasnovana baš na pikselima; princip quadtree data strukture se koristi takođe u video igrama gdje su objekti u pozadini prikazani sa manjim brojem piksela; urbanizam – dizajn popločanja.

Kao jedan od metoda koji se koristi za pikselizaciju je quadtree struktura podataka. Struktura podataka u obliku stabla u kojoj svaki unutrašnji čvor ima tačno četvoro djece i koja se koristi za podjelu dvodimenzionalnog prostora rekurzivnim dijeljem na četiri kvadranta. („Simplified quadtree image segmentation for image annotation” Hugo Jair Escalante, Luis Enrique Sucar ) U ovom radu je precizno objašnjeno na kojim način quadtree struktura funkcioniše, što bi se na primjeru fotografije primjenilo ovako: dovoljno slične piksele (čiji nivo sličnosti se zadaje) spojiti u zajednički kvadrat „average“ boje, dok različite rekurzivno nastavljaju da se dijele dok se ne postigne dovoljan – odnosno zadat nivo preciznosti. Od parametara se zadaju: MQS – minimalna veličina kvadrata koji nastaje rekurzivnim dijeljem; MOS – minimalna veličina objekta koju objekat treba da ima da bio bio prepoznat kao zaseban segment; HI – prag homogenosti pokazuje koliko dva susjedna segmenta moraju biti slična da bi bila spojena. (Pixelization approach for façade integrated coloured photovoltaics-with architectural proposals in city context of Trondheim, Norway – Changying Xiang, Barbara Szybinska Matusiak, Arne Røyset, Tore Kolås) – Upotreba pikselizacije na nivou arhitekture: Integrisanje fotonaponskih panela, koje su nastale pikselizovanjem fasade u koje su uklopljene lokalne palate boja pokazuje da pikselizacija u arhitekturi može spojiti estetiku, energetske zahtjeve i urbanističku inetpolaciju. Međutim, postavlja se pitanje ekonomske efikasnosti samih panela, i ne samo to nego i načina održavanja istih, refleksije i da li se boje panela moraju biti jedini vizuelni aspekt koji će se čitati sa fasade? Cilj je da pikselizacijom (quadtree metod) možemo bilo koju fotografiju podijeliti na određeni broj piksela, pri čemu je suština da se sa što manje panela, napravi željena fasada, umjetnička street art struktura, interfejs za određenu video igru i slično. I naravno, da sve to bude vizuelno vjerodostojno i prepoznatljivo. Vrste quadtree strukture su: point quadtree – struktura koja se bazira na pojedinačne tačke gdje svaki čvor za centar ima jednu tačku i dijeli se na četvoro djece; region quadtree – struktura dijeli prostor na kvadrante prema zadatim uslovima; edge quadtree – struktura koja se fokusira na ivice i rubove fotografije; PR (polyigonal/pruned) quadtree – kvadranti se prilagođavaju broju objekata ili boji piksela. Prednosti quadtree stabla: ove strukture vrlo brzo vrše promjenu i ažuriranje određene regije; adaptivna rezolucija; intuitivnost prilikom upotrebe, široka primjena -obrada i kompresovanje slika -dovoljno slične regione spaja u jedan čvor i samim tim smanjuje memoriju fotografije; koristi se u geografsko-informacionim sistemima za pretraživanje prostornih podataka; računarska grafika i video igre; moguća primjena je i na nivou arhitekture – fasade koje iz daljine čine smislenu cjelinu, a iz blizine djeluje kao besmisleni segment, slično tome je moguća primjenjivost i na umjetnost. /https://opensourcegisdata.com/quad-tree-geospatial-data-structure-functionality-benefits-and-limitations.html https://en.wikipedia.org/wiki/Quadtree https://www.youtube.com/watch?v=jxbDYxm-pXg https://www.gradnja.rs/mvrdv-tirana-albania-downtown-one-zgrada/ https://www.gradnja.rs/etnografski-muzej-budimpesta-ferencz-marcel-napur-architect/ “Quadtrees and Image Processing” – CS 151- Introduction to Data Structures Assignment 9- due Friday 5/5

Problemi: Ukoliko se neadekvatno unesu kriterijumi izazivaju previše ili premalo podjela i gubitak efikasnosti ove strukture; potencijalni problem se može javiti kada su u pitanju neki dinamički podaci – dodavanje i uklanjanje tačaka može uticati na raspored unutar strukture stabla; quadtree se koristi za dvodimenzionalne podatke, kako rastu dimenzije broj djece svakog čvora eksponencijalno raste što može dovesti do neefikasnosti stabla.

Cilj: Analizirati na koji način različiti načini pikselizacije, primjenom logike quadtree strukture, utiču na vizualne informacije odabrane fotografije.

Hipoteza: Minimalna veličina objekta treba da bude 16×16 piksela, kako bi elementi fotografije bili dovoljno prepoznatljivi.

Kriterijumi: Slika mora biti prepoznatljiva nakon pikselizacije; slika mora biti optimizovana; pikselizovana forma mora biti primjenjiva kao fasada sa panelima.

Metode: Analiza i sinteza koje su zasnovane na komparaciji dobijenih rezultata pri pikselizaciji određene fotografije.

Published
Categorized as Opšte Tagged

Optimizacija poligonalnih struktura i analiza uticaja na vizuelnu prepoznatljivost modela – faza I

Oblast istraživanja: 3D modelovanje i vizuelna percepcija modelovanih struktura

Tema istraživanja: Optimizacija poligonalnih modela i njen uticaj na vizuelnu jasnoću istih

Stanje u oblasti: Pojednostavljenje poligona je način transformisanja poligonalne 3D strukture u jednostavniju verziju. Poligoni su najpopularnija osnova za crtanje u računarskoj grafici. Specijalizovani grafički hardveri mogu ih renderovati prilično brzo zbog njihove matematičke jednostavnosti, dok poligoni mogu približno predstaviti bilo koji model. Prilikom modelovanja takve 3D strukture treba voditi računa o geometriji modela tako da ne dođe do deformacija (preklapanje poligona i slično). Tokom redukovanja broja poligona složene figure, a u cilju njene prepoznatljivosti, neophodno je utvrditi optimalan broj poligona za svaki deo strukture posebno. Ukoliko se ta figura posmatra kao jedno telo, određeni delovi mogu u potpunosti da se izgube ili deformišu pošto ne podržavaju redukciju istog broja poligona kao ostatak figure.

Tradicionalne metode pojednostavljenja imaju tri nedostatka. Prvo, ne mogu precizno locirati delove koje treba pojednostaviti. Drugo, ograničene su na pojednostavljivanje jednog 3D objekta sa kontinuiranom površinskom mrežom, a ne skupom mreža, pri čemu se javlja prethodno navedeni problem. Treće, te metode ne koriste informacije o ljudskoj percepciji da bi pokrenule operacije pojednostavljenja, tako da rezultati ne mogu da budu u skladu sa pravilom ljudske percepcije, a modeli izvedeni tim metodama teško obezbeđuju kontinuitet vizuelnog efekta.

Polje koje je usko povezano sa pojednostavljenjem poligonalnog MESH-a, jeste geometrijska kompresija. Umesto pokušaja da se proizvedu jednostavniji prikazi poligonalnog modela, geometrijska kompresija se fokusira na minimiziranje zahteva za skladištenje datog MESH-a, budući da ono predstavlja problem kod složenijih modela.

slika 1 – Level of Detail for 3D Graphics knjiga

Reference:

  1. Level of Detail for 3D Graphics – by David Luebke, Martin Reddy, Jonathan D. Cohen, Amitabh Varshney, Benjamin Watson, Robert Huebner
  2. http://www.cs.unc.edu/~dm/UNC/COMP258_Fall99/LECTURES/luebke.pdf
  3. http://www.cs.unc.edu/techreports/96-016.pdf
  4. https://www.researchgate.net/profile/Zhiqiang-Du/publication/228818413_PERCEPTION-DRIVEN_SIMPLIFICATION_METHODOLOGY_OF_3D_COMPLEX_BUILDING_MODELS/links/53f982c30cf2e3cbf56041d0/PERCEPTION-DRIVEN-SIMPLIFICATION-METHODOLOGY-OF-3D-COMPLEX-BUILDING-MODELS.pdf

Inspiracija:

  1. Pantone chair – redizajnirana od strane Rema Kolhasa
  2. https://chairlines.edu.uy/project/lo-res-chair/
  3. https://www.dezeen.com/2010/07/08/lo-res-by-united-nude/

Problemi: Kako postići minimalan broj poligona tako da renderovanje bude brže i da modelovana struktura bude prepoznatljiva posmatraču? Ako je model sastavljen iz više delova, kako utvrditi optimalan broj poligona za svaki pojedinačno?

Cilj: Uspostaviti pristup koji omogućava optimalnu redukciju broja poligona, uz očuvanje vizuelne prepoznatljivosti modela

Hipoteza: Postoji određeni prag broja poligona ispod kog model gubi vizuelne karakteristike po kojima ga posmatrač razaznaje

Kriterijumi: Vizuelna jasnoća modela ocenjena od strane posmatrača; poređenje između različitih nivoa poligonalne kompleksnosti i poređenje tog modela sa originalnim, glatkim;

Metode: Metoda modelovanja 3D objekata sa različitim brojem poligona; uporedna vizuelna analiza; anketa među posmatračima; statistička obrada rezultata