Ikusmena: Natura, Gizakia eta Makinak
Enviado por Chuletator online y clasificado en Física
Escrito el en vasco con un tamaño de 49,71 KB
Ikusmena Naturan
Zergatik ditugu begiak?
- Ingurunea ikusteko
- Elkarrekintza egiteko
- Bizirauteko
Hauek oso garrantzitsuak dira.
Begien sorrera
Argiarekiko sentikorrak diren proteinekin hasi zen. Argiaren arabera seinale bat edo beste igartzen da.
Begi motak
1. Puntu begia:
Inguruneko argia sentitzen zuten. Gutxi gorabeherako norabidea bakarrik. Ez dago nerbiorik, garunik edo inolako prozesamendurik. Zehaztasun oso txikia.
2. Hobi-begiak (lehenengo benetako begiak?):
Zelula fotosentikorrak hobietan. Argi pixka bat blokeatzen dute. Argiaren norabidea hobeto hartzen dute. Oso erabiliak naturan. Oso sinpleak, zehaztasun txikia.
3. Begi konplexuak:
Zehaztasun handiagoa.
4. Errefrakzioa:
Argi gehiago eta zehaztasun handiagoa.
5. Fokua:
Errefrakzioa aldatu.
6. Begi konplexuak (abantaila ebolutibo argia):
10 mota baino gehiago daude eta denak helburu berdina dute: erresoluzio altuko ikusmena edukitzea.
Giza begia
Oso konplexua da. Hainbat egitura hartzen dute parte sorkuntzan:
- Kornea
- Humoreka
- Lentea
Prozesua: Erretinara iritsi -> Argiarekiko sentikorra diren zelulak xurgatu -> Nerbio optikoak informazioa hartu -> Burmuinera eraman datuak.
Nola prozesatzen dugu argia?
Zelula fotosentikorrak jo (makilak eta konoak). Erretinan ~120 milioi ditugu! Denak ez dira berdinak eta ez daude uniformeki banatuak.
1. Makilak - argi gutxi, ikusmen monokromoa:
~120 milioi. Fotoi bat hauteman dezakete! Erantzunak bil ditzakete. Erantzun-denbora altuak. Argi gutxiko egoeretan bakarrik egiten dute lan. Argi askorekin azkar saturatzen dira. ~7 minutu behar dituzte egokitzeko (gaueko ikusmena).
2. Konoak - ikusmen zehatza eta koloretakoa:
~6 milioi. Fotoi asko behar dituzte aktibatzeko, argi distiratsua. Erantzun-denbora azkarra. Xehetasunak hautemateko gai. Denboran zehar aldaketa azkarrak. Egun-argiz darabilgun ikusmena. Eremu bakarrean kokatzen dira gehienbat: fobea.
3. Fobea: ikusmenaren erdigunea:
Erretinaren gainean dagoen zirkulo txiki bat, 1.5 mm. Konoz josita. Zehaztasun oso handia. Adibidez: irakurketan zehar gure begiak mugitu behar ditugu testua fobean zentratzeko.
4. Ikusmen periferikoa: ez zaitzatela jan:
Kono gutxi batzuk. Zehaztasun txikia. Koloreekiko sentikortasun txikia. Makila asko -> ona gauetan. Gauetan: begiratu izarrak zuzenean VS pixka bat albozka. Izarrak distiratsuagoak zuzenean ez ditugunean begiratzen!
Garuna - Ikusmenaren prozesatzailea
Esaten da agian garuna begien ondoren agertu zela, izan ere garunak ez du zentzurik zentzumenik gabe. Garunak eta begiak batera eboluzionatu zuten.
Begi sistema desberdinak: 3 dimentsioak prozesatzeko
Begi bat:
- Enfokatu -> Enfoke desberdinak erabiliz, distantziak estimatu. Enfokatzeko begia mugitu behar baita.
- Eskualde gandutsuak -> Objektu gandutsuek beste sakonera bat erakusten dute.
- Paralajea -> Behatzailea edo objektua mugitzen bada, ikuspegi anitz ditugu.
Bi begi:
- Estereo -> Bi begietako irudiak ezberdinak dira.
- Konbergentzia -> Begiek nora begiratzen duten hartu kontuan.
Garuna:
- Mugimendu bidezko sakonera: mugitzen diren objektuen 3D forma inferitu.
- Oklusioak: aurrean dauden objektuak, gugandik gertuago daude.
- Objektu ezagunak: badakizu kotxe baten tamaina…
- Itzalak: 3D formak itzal eta argien arabera.
Ez dugu oraindik ikusmena ulertzen! Irudi batzuk ez ditugu ulertzen. Ikusmen kortexa...
Zer koloretakoa da objektua?
Objektu baten “kolorea” bi faktoreren menpe dago:
- Objektua argiztatzen duen argia.
- Objektuak isladatzen duen argia.
Konoak eta kolorea
Gure koloreen pertzepzioa konoetatik dator. Uhin-luzera ezberdinek erantzun ezberdinak sortzen dituzte. Kono bakoitzak “irteera” bakarra du. Kalkulatzeko: Biderkatu sarrera uhin-luzera erantzun-kurbarekin. Kurbaren azpiko azalera integratu. Guk ikusten dugun “kolorea” 3 kono moten aktibazio erlatiboa da.
Ikusmena Makinetan
1. Irudiak pixel matrize bezala errepresentatzen ditugu. 2. Pixel bakoitzak kolore bat du -> 3 osagai: RGB. 3. RGB erabiliz ezin ditugu kolore guztiak errepresentatu! 4. RGB gizakiak engainatzeko egin zen, ez zehatza izateko. 5. sRGB ez da benetan linearra, gamma konpresioa du. 5.1 Gizakiok ezberdintasun gehiago hautematen ditugu tono ilunetan argietan baino. 5.2 Tono argiak konprimatu, tono ilunak hedatu, eraginkorrago. 6. Koloreak errepresenta ditzakegu 3 zenbakiren bidez. 6.1 #ff00ff; (1.0, 0.0, 1.0); 255,0,255; etabar.
MxN-ko irudia. Koadradito bat hartu = Balio diskretuak hartu (elementuaren informazioa) eta balio tartea [0,2^q] non q irudi posizioak kodetzeko erabili diren bit kopurua den.
Irudi desberdinak
1. Irudi bitarra: 0 edo 1 balioak hartu elementuak. Beltza edo txuria.
2. Gris eskala irudia: Elementuek 1 byte tamaina, [0, 255] balioak hartu. Txuritik gradualki beltzera.
3. Koloretako irudia: Hiru matrize gris eskalakoak, kanal izenak dutenak. R, G ,B.
Irudiaren sorkuntza
Argiztapena: Irudia sortzeko argi iturria behar dugu. Argiztapen ez-egonkorrak arazoak sor ditzake: kontraste baxuak, islapenak, itzalak eta disdirak.
Islapena: Irudia sortzeko argia islatzen duen gainazala behar da. Eredu asko garatu dira islapenaren prozesua deskribatzeko, nola gainazal batean argiak errebotatzen duen deskribatu.
Sentsorea: Makina oso konplexuak dira, sentsore bat behar dute argi izpiek seinale elektriko bihurtzeko.
Pinhole kamera eredua
Objektuak argia islatuko du, eta pinhole zulotik igaroko da, beste aldean informazioa jasotzen delarik, ondoren irudi birtuala sortuz. Pinhole kamerak gure begiak egiten duten funtzionamendu bera du. Proiekzioa egitea.
3D-tik 2D-ra
Puntuen intentsitatea gorde eta sakonera kendu. GRID batean gorde. Bayer patroia CMOS sentsoreetan. CMOS sentsoreak patroi bat jarraitzen dute. Espazioko puntu bakoitzean gordetzen du zenbat argi jasotzen duen. Gure begiak (konoak) berdentzako (berdea detektatzeko) erraztasuna du. Horregatik, berde gehiago dago.
Irudi Transformazioa
Esan bezala balioak bornatuta daude, Matrizeko balioak, 0 argi gutxi = beltza, goraka joan ahala 255 = txuriagoa horrek esan nahi du argi gehiago. Tarte tipikoak: [0-255]: byte bat erabili [0-1]: koma higikorra. Laukiei Pixel deitzen zaie. Pixelak atzitzeko (r,c). Gogoratu, Koloretako argazkia hiru matrizez osatuta dago, r,g,b.
Koloretako irudiak: 3D tentsorea
Gogoratu: edozein kolore parekatu dezakegu 3 primario konbinatuz. Eta, kanal bakoitzak primario bat kodetzen du. Primario bakoitzak duen argitasuna batuz kolore originala errepresenta dezakegu. Pixelak atzitzeko (c,h,w) kanala, rows, colums. PIXEL DISKRETA.
Laginketa eta Kuantizazioa
Zoom egitean laginketa erroreak sortzen dira. Bereizmena (Resolution): Laginketa parametro bat da, dots-per-inch unitatean definituta. Pixelen dentsitatea (espazio berean zenbateko pixel) espaziala neurtzen du. Hau da, pixel bakoitzak espazioan zenbat okupatzen dute. HVS dator!!
Ordenagailuan
Hiru kolore primario hartu, edozein kolore kodetu. Baina, RGB espazioa ez da kapaza dena kodetzeko, kolore aldaketa HSV-n errazagoa da. Horregatik, hainbat kolore espazio definitu dira. HSV: Zilindro bezala errepresentatu. 1.HUE(tonoa), 2.Saturation(zenbateko kolorea) eta 3.value(distira). RGB-k beti intentsitate bera du. HSV eta RGB-ren artean transformazioak egin daitezke.
Irudien tamaina
Bereizmena!=Tamaina Irudiek tamaina bat dute pixel kopuru bat-> errenkada x zutabe
Tamaina aldaketak ematen dira. Txikitik -> Handira: Informazio berria asmatu. INTERPOLAZIOA erabili eta Handitik -> Txikira: Informazioa konbinatzen da.
Interpolazioa
Txikitik -> Handira irudi bat transformatzeko algortimoa da. Badakigu Irudi bat Funtzio bat dela, hau da, G indize bat emanda pixel balio bat emango digu. Adibidez, (0,0) indize balioa (pixelaren erdiko puntua). Baina guk irudia handitzeko nahi dugu pixel gehiago eduki. El pixel (0.25, 0.25) nola jakin? Auzokide hurbilaren interpolazioa: f(x,y,z) = Img(round(x,y), z), non z kanala den. Ez da hoberena, dena oso karratua geratzen da (oso pixelatua). Ez dira tarteko balioak lortzen.
Irudi Transformazioa
Triangelu Bidezko interpolazioa (Triangulo): Matrize karratua ez dugun kasuetan, triangeluak bilatu. Irudi bateko balio berria zein den jakiteko, 3 auzokide hurbilen hartu kontuan. Q = V1*A1 + V2*A2 + V3*A3. Kontuan hartu erdian puntu gorria hurbildu nahi dugula eta V1 erpina da eta A1 kontrako azalera. Eta Q balio berria normalizatu ostean.
Interpolazio Bilinearra (kuadrado): Egokia da matrize karratuetan. Pixel karratu gertuena lortzen du. Hau da, aurkako laukien batuketa ponderatua egingo du. q puntuaren pisua kalkulatzeko bere inguruko lau puntu hartu eta azaleraren hori aplikatu. Horrela q ren balioa lortuko dugu. Ez da zatitu behar /1 zeren lau puntuen azalerak beti bat ematen du, hau da Q ez da beharrezkoa normalizatzea. Q = V1*A1 + V2*A2 + V3*A3 + V4*A4
Baina konputazionalki eraginkorragoa den, Interpolazio linealen interpolazioa ere dago: q1 = v1*d2 + v2*d1 eta q2 = v3*d2 + v4*d1 eta gero cuando saques los puntos q1 eta q2 quieres sacar el del medio q. Berdina egin behar da. q= q1*d4+q2*d3. Hau KNN baino leunagoa da, baina konplexuagoa da, 4 aldiz “begiratu” behar eta Eragiketa batzuk. Askotan abiadura eta errendimenduaren balantza onena du.
Interpolazio birkubikoa: 4 interpolazio kubikoen arteko interpolazio kubikoa da. Ezaugarriak: 1.Bilinearra baina Leunagoa da, "izan-efekturik" gabe. 2.Hamasei bizilagun kontuan hartzen dira. 3.Hirugarren mailako polinomia kalkulatu. 4. Ardatzean interpolatu eta beste polinomio bat erabili interpolatutako balioentzat. 5. Efekto BLUR.
Beraz, Txikitik->Handira pasatzeko algoritmoa. Irudi berriko pixel bakoitzeko: 1.Mapatu irudi zaharraren koordenatuetara. 2.Interpolatu balioa. 3.Balio berria ezarri irudi berrian.
Baina Handitik -> Txikira pasatzeko? Ez du interpolazioak balio. Informazio asko pikutara bidaltzen duzulako.
Interpolazioaren algoritmoa
1.Sortu irudi berria. 2.Koordenatuak parekatu. 3.Irudi berriko koordenatuak irudi zahareko kordenatuetara mapatu. Kasu honetan 4x4 -> 7x7 aX+b=Y. Bi ekuazio a*(-0.5) + b = (-0.5) eta a*(6.5) + b = (3.5) a = 4/7. eta b= 4. iteratu puntu berriekin, aurreko mapaketa egindako balioekin. 1.Mapaketa egin ostean balio zaharrak interpolatuko dira. Bi modu, q1 eta q2 bilatu edo aurkako laukizuzenak. Interpolazio hau egiterakoan (1.goa) q1 kalkulatzeko r1, g1, eta b1 kalkulatu kanal bakoitzeko. Adibidez el punto (1,3) zein da kordenatu zaharretan? Ekuazioa erabili! Pero beti X-n ordezkatu behar da. Gero, hacer lo del kuadradito! Kontuan hartu q1 = (r1, g1, b1) Orduan r1 = d2 *0 + d1 * 241. Errepikatu beste puntu guztiekin eta Izkinetan erabili betegarria (padding).
Irudiak txikitzen
Esan dugun bezala interpolazioarekin gaizki ateratzen da, emaitza oso pixelatuak hartzen du gehien dagoena irudian. AVG/Batazbestekoa erabiltzea egokiagoa da, irudi leunagoak sortzen dira. Zer da hori? Batuketa ponderatu bat. Hau da, konboluzioa. 1/49*(iragazki karratua) edo Box filters, hauek irudia leutzen dute. Balio guztiak berdinak dira. Hau iragazkiak irudiak leuntzeko dira.
Baina, alde txar bat dute. Marra horizontal eta bertikalekin arazoak dituzte. Eskualde hauek lausotzen dira eta IXKINA EFEKTU oso gogorra sortzen dute (informazioa galtzen da AVG egiten duelako), tipo kortina.
Soluzioa? 2D-ko iragazki Gaussiarra-> Iragazkia karratua da baina balio guztiak ez dira berdinak. Simetrikoa da eta erdiko balioa maximoa da, eta ixkinetan balio baxuena.
Ertzak jakiteko iragazkia: (0,-1,0,//-1,4,-1,//0,-1,0) Kernel honetako balioak batuz, ez dugu 1 lortzen, 0 baizik. Horrek esan nahi du, batazbeste irudiko pixel gehienak 0-ra joango direla. PIXEL OSO ANTZEKOAK: 0 inguruko erantzunak. ALDAKETA HANDIAK: 1 inguruko erantzuna. Horregatik ertzak detektatzen ditu. (High pass kernel bezela ezagutzen da)
Irudia zorroztu: (0,-1,0,//-1,5,-1,//0,-1,0) Ertzak detektatzeko kernelari IDENTITATE KERNELA gehituz gero; orain balioaren batura 1 da berriro: irudia zorroztu. Aldaketak dauden lekutan->Balioa zorroztu eta Aldaketak ez-> Balio berdina.
Sobel-en Iragazkiak
Orientazio konkretuko ertzak -> bertikalak eta horizontalak detektatzeko. Edo, irudien GRADIENTEAK detektatzeko.
Ertzak eta ertz detektagailuak
Konboluzioaren propietateak: Matematikoki ezaugarri oso onak:
- Trukakorra: A*B = B*A
- Elkarkorra: A*(B*C) = (A*B)*C
- Banakorra: A*(B+C) = A*B + A*C
- Eskalarrekiko faktoriza daiteke: x(A*B) = (xA)*B = A*(xB) Adibidez: 2D Gaussiar bat 2 1D Gaussiarrekin konposa daiteke (azkarragoa).
Konboluzioarekin ordenagailu bidezko ikusmen osoa egiten da. Adibidez, irudiak zorroztu, ertzak bialtu, deribatuak...
Ertzen detekzioa
Helburua irudi batean dauden bat bateko aldaketak (etenak) identifikatzea da. Ertzak: Intuitiboki, irudi bateko formen eta semantikaren informazioa ertzetan kodetu daiteke. Pixelak baino kodeketa trinkoagoa. Ideala: artista baten marrazketa (lerroak bakarrik). Oharra: artista batek objektuen ezagutza ere erabiltzen du!
Zergatik axola zaizkigu ertzak?
- Irudi batetik informazio egituratua atera daiteke, adibidez, objektuak detektatzeko (goi-mailako ikusmena).
- Informazio geometrikoa atera dezakegu eta argazkia atera den ikuspuntua errekuperatu (erdi-mailako ikusmena).
Ertzen jatorria desberdina:
- Gainazaletako normaletan etenak: Plano bertikalak horizontalarekin ebakitzean sortzen da.
- Sakoneran etenak: Objektu bat bestea baino aurreragoa badago.
- Gainazaletako koloreetan etenak: Kolorearen arteko aldaketak.
- Argiztapenean etenak: Itzalak sortzen dituen kolore aldaketek sortu.
Grafika batean Ertzak, funtzio horretan ematen diren bat-bateko aldaketak dira. Hau da z ardatza-> intentsitate aldaketa handia = Ertza.
Ertzak bilatzeko deribatuak erabiliko ditugu, deribatua = aldaketa tasa. f ’(x) maximoa duen puntua ertza dago. Noski, irudiak diskretuak dira. Beraz, deribatu diskretuak erabili behar dira. f'(a)=lim h->0 f(a+h) -f(a) /h H=2 erabili adibidez, pq sino pillas mal... **1/2*(-1,0,1) Bertikalki sortu desplazamendua. Baina irudia eramanez, zarata dela eta forma arraroak ateratzen dira. Zarata kentzeko, irudiak LEUNDU GAUSSIARRA ERABILIZ! Beraz, lehenik irudiak leundu behar dira eta gero deribatu. Formula: Derib CONV* (Gaussian Coonv * Irudia ) = (Derib CONV * Gaussian Conv) * Irudia. Eta lehena sobel-en iragazki.
Ertz detektagailua
Baina, Ertzak bi aldetara egon daitezke. Muturrak topatu nahi ditugu. Gradientea oso baxua den puntuak ere topatu nahi ditugu (horiek ere ertzak izango dira!) Horretarako bigarren deribatua kalkulatu. Bigarren deribatuak oso propietate interesgarria du: gradientean mutur bat dugun bakoitzean (maximoa ala minimoa), bigarren deribatuak zero gurutzatzen du. Praktikan, hau begiratzea errazagoa da gradiente positiboak eta negatiboak begiratzea baino. Laplaziarra hurbildu behar da-> (1,-2,1) Horizontalean eta bertikalean (updown). Laplaziarrak gainera, GRADIENTEAREN ALDAKETA neurtzen du; hau da, gradiente bektorearen fluzua eremu txiki batean. Ertz baten gradientea kalkulatuz gero, GEZI batzuk lortzen ditugu. Beraz, laplaziarrak neurtzen duena da, zirkulu konkretu batentzat, GRADIENTE FLUXUAREN ERLAZIOA zirkuluaren barruan eta kanpoan. 1.Sartzen dauden geziak irtetzen daudenak baina gehiago(Laplaziar Positiboa) 2.Sartzen eta irtetzen orekatua(Laplaziarra 0) eta 3.Sartzen dauden geziak irtetzen baino gutxiagoa(Laplaziarra negatiboa). Beraz, ertz bat lortuko dugu 0ra jeitsi eta 0tik igotzen garenean. Laplaziarra ere zaratarekiko sentikorra da, gausiarra erabili behar da. Hau da, Gaussiarraren Laplaziarra (LoG) hurbilpen onak 5x5 eta 9x9 kernelekin. Fourierren Transformatua: Irudi bat maiztasun handiko eta txikiko osagaiak ditu. Ertzak, maiztasun handiko aldaketak dira. Tamaina jakin bateko ertzak topatzea interesa lekiguke (frekuentzia konkretu batekoak, beraz). Gaussiar-en arteko diferentzia (DoG) Gaussiar bat maiztasun txikiak pasatzen uzten duen iragazki bat da. f
CANNY ERTZ DETEKTAGAILUA
Irudi prozesamendu PIPELINE baten adibide bikaina da. Algoritmoa:
- Pausoa: Irudia leundu (“benetako” ertzak bakarrik nahi ditugu, ez zarata).
- Pausoa: Kalkulatu gradientearen norabidea eta intentsitatea (sobel) (-1 -2 -1 // 0 0 0 // 1 2 1) eta (-1 0 1 // -2 0 2 // -1 0 1). Intentsitatea G=Erro(G_x^2+G_y^2) eta Norabidea Oraya= atan(G_y/G_x)
- Pausoa: Ertzaren perpendikularrean, aplikatu Non-Maximum Suppression (NMS). Pixel bakoitzeko ertzak nahi ditugu, ez ertz "lodiak". Inguruko pixelak begiratu behar dira eta intentsitate handieneko erantzunak ikusiko dira. Ezabatu gezurretazko gradienteak. Gradientea ertzaren perpendikularrean jarriko dugu. Hartzen dugu pixel bat eta ikusi intentsiteatea nirea baño baxuagoa edo altuagoa den. Baldinbadira desberdinak 0 da eta beltza jartzen da. Bestela mantendu. (x,y) maximo bat da, baldin bere balioa (x',x') eta (x'',y'') baino handiagoa bada. Interpolazioa erabili bi balio horiek lortzeko.
- Pausoa: Atalaseak ezarri ertz indartsuak, ahulak eta ertzik ez kasuen artean bereizteko. Oraingoz egindakoarekin zaratu dugu (ertz indartsuak soilik). Egokitzeko parametroak: 2 atalase erabili, 3 kasu lortu. R>T: Ertz indartsua, Rt: ertz ahula, REskala handiko ertzak. Sigma txikia->Detaile gehiago gorde paretan marra gehiago adibidez.
- Pausoa: Elkartu osagaiak elkarrekin. LO de ZEGATIK---?
Ezaugarriak
Deskribapen ahalmen handiko eskualde lokalak sortzen dituzte; modu EZBERDINAK eskualdeak deskribatzeko. Zertarako?
- Parekatzeko
- Irudi errekonozimenturako
- Objetu detekzioan-> Bilatu nahi den irudian ezaugarri garrantzitsuak erauzi, eta ondoren ezaugarri horien bidez bilatzeko.
Ezaugarri onak? Ezaugarri onak bakarrak dira!, Ezaugarri “bera” erraz bilatu beharko genuke Beste ezaugarri “ezberdinekin” ez genuke nahastu behar. Esanahi bat dutenak.
Panoramak eraikitzen
: Demagun irudiak "josi" nahi ditugula panorama bat eraikitzeko. Horretarako, irudi bateko eskualdeak beste irudikoekin PAREKATU behar ditugu (parektazeak bakarrak). *-*Atomatikoki Egiteko-> Bi irudien EZAUGARRI ESANGURATSUAK atera, deskribatu eta ondoren parekatu behar dira irudien arteko deskribapen amankomunak lortzeko eta berdintzeko.
*-*Bi eskualdeen arteko distantzia-> Diferentzia karratuen baturarekin kalkulatzen da (sum I(x,y) - J(x,y)^2). Eta zeintzuk dira eskualde egokiak? 1.Aldaketa gutxiko eskualdeak: Gaizki, informazio gutxi eman! 2.Ertzak: Ez dira egokienak, aldaketak soilik norabide batean. 3.Ezkinak: Parekatze bakarra! BAI. .->Irudian "bakarra" den eskualdea topatu nahi dugu, horretarako eskualde bat eta gainontzekoen arteko distantzia kalkula dezakegu.
/-//-//-/////Baina hori konputazionalki OSO ASTUNA DA. Beraz auto korrelazioa erabiliko dezakegu (Zenbateraino parekatu ditzakegu irudi bat eta bere bertsio desplazatua?). Norberarekiko diferentziaren neurri bat -> auto-diferentzia (self-difference).
1.Zerua: tiene todo igual
2.Ertza. Si vas para la izkierda o la derecha son iguales. Pero arriba es diferente.
3.Izkina. Edozein norabideta joaten bazara oso desberdina.
Auto-diferentziaren hurbilpen bat garestia delako ere: Begiratu inguruko Ix eta Iy gradienteak: 1. Gradienteak Zerotik gertu? Auto-diferentzia txikia. 2. Gradiente Handienak norabide bakarrean? Txikia. 3.Gradiente Handieank bi norabidetan? Handia
Gradientearen portaera nola jakin->Bektore eta balio propio bidez. Eskualde bateratu egitura-matriziala behar dugu. Hau da, inguruko gradienteen batuketa ponderatua.
determinante: | sum(Wi_Ix(i)_Ix(i)) sum(wi_Ix(i)_Iy(i) | igual
Pisu gausiarrak erabili daitezke W zehazteko; hau da, pixelarekiko gertu daudenak pisu gehiago izango dutelako urrun daudenekiko. Matrize honen balio eta bektore propioek INGURUKO GRADIENTEEN BANAKETA laburtzen dute. 1.Bekotre propioak->Matrize batean bariantza handieneko norabideak eman. 2.Balio Propioak-> Bariantza horien magnitudea.
*-*λ1 eta λ2 badira balio propioak: 1.->λ1 eta λ2 txikiak: gradienterik ez.
2.->λ1 >> λ2: gradientea norabide bakarrean.
3.->λ1 eta λ2 antzekoak: gradienteak hainbat norabidetan -> izkina!
Balio propio txikiena estimatzen (λ2 estimatzearekin balio zaigu izan ere, bigarren balio propioa handia izatea interesatzen zaigu, lehena handiagoa izango baita):
1.->det(s) = λ1*λ2, 2.->tr(s)=λ1 +λ2 (diagonal nagusiko batura). 3.->det(s) - alpha*tr(s)^2 = λ1λ2 - alpha(λ1+λ2 )^2 eta det(s)/tr(s) = λ1λ2 /λ1+λ2
Bi estimatzaile hauek handiak badira, λ2 handia izango da. Bi balio propioak beti ezberdinak dira, gure datuen bariantza handieneko intentsitatea neurtzen baitute. Interesatzen zaiguna λ2 handia izatea da, λ1 beti handiagoa baita.
HARRIS IZKINA DETEKTAGAILUA (egitura matrizee?)
1.Kalkulatu Ix eta Iy deribatuak.
2.Kalkulatu hurrengoak: IxIx, IyIy, IxIy
3.Kalkulatu batuketa ponderatuak: Erabili Gaussiar bat pisu horiek zehazteko.
4.Estimatu erantzuna balio propio txikienean oinarrituz.
5.Non-maximum suppression aplikatu (Canny ertz detektagailuan bezala).
Baina izkinak lortu ostean zer? Bi irudien arteko eskualdeak parekatu behar ditugu; horren arabera transformazioa estimatu behar dugu.
ESKUALDEAK PAREKATZEN. DESKRIBATZAILEAK
Deskribatzaileak irudi eskualde bat deskribatzen dute. Oso sinple. Pixelen balioa hartuz baina horrek->Arazoak, izan ere irudiari buelta ematen badiozu no detekta que las dos eskualdes son iguales eta argiztapenarekiko ereez. Hau arazo bat da.
Deskribatzaileak oso konplexuak izan daitezke gradientearen informazioa, testuinguruaren arabera,...
Gure eskualde bakarra edukita, beste irudian ondoen parekatzen den eskualdea hartuko da. Zarata eduki dezakete parekatze guztiak ez baitira onak.
Nola transformatu irudiak? Irudi bat bestearen gainean kokatu behar dugitugu (warp); hainbat irudi transformazio posible daude. Transformazioen hierarkia abiratua.
Irudiko puntu bat x= [x // y] Irudi bateko puntuak bestera mapatu behar dira, matrizeen arteko eragiketekin. X' (puntu berria) = Mx(mapatzeko matrizea), hau da, x'=[s 0 // 0 s], s>1 handitu eta 0
Translazioa: M ateratzea zaila, beraz x errepresentazio berria. -> X_txapela ? [x y 1] eta bektore areagotua erabiliko da.-> x'=[I t]X_txapela -> x'=[1 0 dx // 0 1 dy] x_txapela
Biraketa+Translazioa: x' = [R t] x_txapela -> x' [cosO -sinO dx // sinO cosO dy] x_txapela, non R biraketa matrizea eta t translazio matrizea den.
Similarity: x'= [S R t]x_txapela-> x'[a -b dx // b a dy] x_txapela
Hauek guztiak TRANSFORMAZIO AFIN familia sortzen dute. 2x3 matrizeekin inplementa daitezke eta irudi originaleko propietate batzuk mantentzen dituzte. Adibidez: traslazioak orientazioa, angeluak eta tamainak mantentzen ditu. Euklidearrak distantziak mantentzen ditu. Tranformazio afinek, azken batean, paraleloak diren zuzenak mantentzen dituzte. Hau da, irudi originalean bi zuzen paralelo baditugu, tranformazio afin bat aplikatu ondoren, bi zuzen horiek paraleloak izango dira.
Konbinaketak ere afinak dira. Baina matrize horiek guztiak 2x3 tamainakoak dira: nola biderka daitezke? Hilara bat gehitu tranformazio-matrizeetan. Orain 3x3 matrizeak ditugu eta biderkatu ditzakegu. Azpiko lerroa beti izango da [0 0 1], beraz, transformazio afin bat izango dugu edozein kasutan. Transformazio proiektiboek ez dituzte lerro paraleloak mantentzen. Perspektiba aldaketa edo homografia.
KORDENATU BERRIAK BEHAR dira beraz. Kordenatu sistema homogeneoa. 2D puntuak 3D bihurtu -> Guztiz baliokidea da, eskala faktore baten arabera. Honakoa erabili 2D puntua errekuperatzeko(normalizatu ostean). x~=[x~ y~ w~] eta x~ = x~/w~
Perspektiba aldaketa edo homografia gertatu behar da, 3x3 matrizea erabiliz, eskalar batekin biderketa egitea guztiz baliokidea izanik. x~ = H~ * x~, bektoreen norabideak garrantzia
Orokorrean argazkiak ateratzen baditugu gainazal plano batean, argazki edo irudi guztiak transformazio proiektuboekin lortuko dira. Kasu praktikoan, argazkia ateratzen ari garen eszena gugandik nahiko urrun badago, asumitu dezakegu plano bat dela eta beraz transformazio proiektiboak funtzionatuko luke.
Erraza da transformazioak errekuperatzea: Panorama batean, irudien artean transformazio bat eman da. Erraza da transformazio horiek errekuperatzea? Matrizearen askatasun graduen arabera doa hori. Hauek esango digute bi irudiren artean zenbat parekatze behar ditugun irudia errekuperatzeko. Adbidez, translazio matrizean, bi askatasun gradu ditugu (bi ezezagun) puntu bat izango dugu. Homografia batean berriz, 9 askatasun gradu daudela dirudi, baina ez da horrela. Gogoratu homografiak baliokideak direla eskalaren arabera, beraz h22 = 1 jarri dezakegu eta homografia normalizatu. Orduan 8 askatasun gradu ditu benetan. x~'= H~*x~ eta x,y,z dira eskuinean.
Demagun transformazio afinak nahi ditugula: Puntuen arteko parekatzeak ditugu. x puntua x'ra mapatzen duen A matrizea lortu nahi dugu. x' = Ax. Askatasun graduak -> 6 dira eta parekatze bakarrakin -> 2 lortu. Baina parekatze zehatzak ez ditugunez, 3 parekatze behar ditugu. 3 baino parekatze baino gehiago lortzen ditugu, SITEMA GAINDETERMINATUA lortuz.----------------------------------------------------
HURBILKETA EGITEKO METODOAK, oker dauden elkarketak juntatzeko: Karratu txikien metodoa. Metodo sinpleena da. Ondorengo ekuazio lineala ebatzi behar da -> Ma=b. errore koadratikoa minimiza daiteke:
|| b - M a ||^2 =
(b - M a)T (b - M a) =
b^T*b - a^T*M^T*b - b^T*M*a + a^T*M^T*M*a =
b^T*b - 2*a^T*M^T*b + a^T*M^T*M*a
Hau funtzio ahurra da. Beraz minimoa topatu GRAD = 0 den puntuan. Deribatu a-rekiko eta ebatzi =0 kasurako. a = [(M^T*b)^-1]*M^T*M
Arazoak daude metodo honekin. Oso sentikorrak outlier edo zaratarekiko. Puntu bakar batek eragin handia du. Ez da erabiilgarria parekatze txarrak ditugulako.
RANSAC: Random Sample Consensus. HELBURUA Parekatze okerrak ditugunean, bi irudiren arteko transformazioa estimatzeko metodo bat ikusi genuen saio teorikoetan: RANdom SAmple Consensus (RANSAC). Eta honek estimatzen du homografia-> Eredu bat doitu inlier kontuan hartuz, baina outlierrak aldde batera utziz. Honetarako honakoa egingo da: 1.Eredu ezberdinak PROBATU eta ikusi zeintzuk diren hoberenak. 2.Balio TIPIKOAK ados eredu batean. 3.Balio atipikoak ausazkoak, ez daude ados.
Ereduak eremu bat zehazten du (atalasea batekin) eta eremu horretako inlier-ak gordetzen ditugu. Prozesu hau modu iteratiboan egingo da; aurreko eremua baino inlier gehiago hartzen baditu barne, hori izango da. Inlier kopuru maximoa hartu nahi dugu barne.
Parametroak -> Datuak, eredua, n puntu eredua doitzeko, k iterazio, t atalasea, d gutxiengoko inlier kopurua. SASIKODE:
bestmodel = None
bestfit = 0
while i sample = n tamainako ausazko lagina atera datuetatik
Doitu eredua sample adibideetara
inliers = ereduaren t barnean dauden datuak
if inliers > bestfit:
Doitu eredua inlier guztietara
bestfit = fit
bestmodel = model
if inliers > d:
return model
return bestmodel
Inlier guztiak hartu eta karratu minimoaren metodoarekin erdu berri bat kalulatzen da. Aurrekoa baino zehatzagoa da. Ondo dabil baina zarata OSO HANDIA DU ere. Marren tendentzia kontuan hartzen du (norabide antzeko marrak hartu kontuan). Egokitzeko parametro asko ditu eta eredu egokia ESTIMATZEKO PROBABILITATE ALTUA nahi dugu. Parametroek honako balioak: t->Nahiko txikia da, inlier onak ditugula suposatuz. k->oso handia. n->Eredua doitzeko beharreko puntuak d-> n baino handiagoa izna beharko luke.
Transformazio Proiektiboak nahi ditugu (homografiak):
Zeintzuk dira gure ekuazioak orain?
1. n_x = (h00*m_x + h01*m_ y + h02*m_ w) / (h20*m_ x + h21*m_ y + h22*m_ w)
2. n_y = (h10*m_ x + h11*m_ y + h12*m_ w) / (h20*m_ x + h21*m_ y + h22*m_ w)
Demagun h22 eta m_w 1 direla -> 8 askatasun-gradu eta Parekatzea (n_x, n_y)->(m_x,m_y)
n_ x = (h00*m_ x + h01*m_ y + h02) / (h20*m_ x + h21*m_ y + 1)
n_ y = (h10*m_ x + h11*m_ y + h12) / (h20*m_ x + h21*m_ y + 1)
Ondoren,
n_ x = h00*m_ x + h01*m_ y + h02 - n_ x*h20*m_ x - nx*h21*m_ y
n_ y = h00*m_ x + h01*m_ y + h02 - n_ y*h20*m_ x - n_ y*h21*m_ y
Ekuazio matrize berria: (gigante diap 30). Prozedura bera egingo da. Ma=b. Ilara kop = 8 bada -> Zehatza eta Ilara kop > 8 bada ->Ransac edo karratu txikien metodoa erabili.
Hori bai h22 = 0 bada, honek ez du FUNTZIONATUKO, baina ez da kontuan hartuko.
PANORAMA ERAIKITZEKO ALGORITMOA:
1-Bilatu izkinak bi irudietan.
2-Kalkulatu deskribatzaileak.
3-Parekatu deskribatzaileak.
4-RANSAC erabili homografia estimatzeko.
5-Elkartu irudiak homografia erabilita.
Badakigu homografia aukera ona dela. Baldintza batzuk betetzen badira: Objektu lau baten hainbat irudi baditugu. Hobeto funtzionatu urruneko objektuekin gertu daudenekin baino.
Planoz aldatzean, ezker eta eskubiko panoramekin, lortzen diren distantziak handitzen dira. Honela, irudiak luzatu egiten dira eta ez da proiekzio errealista (baina, urruneko elementuekin ez da gertatzen eta panorama handientzat ere txarra)
NOLA KONPONDU DEZAKEGU? ZIlindroak erabili!
Irudi plano batean proiektatu beharrean, plano zilindriko batera proiektatuko da. Honela, distantzia errealak gehiago errespetatuko dira. Foko Luzera erabililko da, zilindroaren tamaina zehazteko; geroz eta handiagoa, geroz eta planoagoa iruditu irudia.
HAINBAT ARAZO DITUGU DESKRIBATZAILEEKIN: Argi-aldaketekiko sentikorra da -> Argi aldaketekiko inbariantza lortu behar da.
Histogram of oriented gradients (HoG):
Deskribatzaile hobeak lortzeko.
Gradienteak kalkulatu.
Gradienteen histograma kalkulatu (norabidea).
Blokeak agregatu (4x4, 16x16 zeldak).
Normalizatu gradienteen magnitudeak. Argiarekiko inbariantea ez izateko. Histogramen intentsitateak gorde eskualde handiagoetan (blokeak) eta normalizatu bloke horretako zelda guztiekiko.
Ez du gradienteen magnitudea kontuan hartzen, soilik NORABIDEA. Honakoa da prozesua: 1.Irudia zeldatan banatzen da modu uniforme batean.
2.Zeldak, normalean, karratuak izaten dira (radialak ere izan daitezke). 3.Zelda bakoitzean, bertako pixelen gradienteen norabideak pilatzen dira histograma batean.
Baina, rotazioarekiko sentikorra da; gradienteen orientazioak hartzen baitira kontuan.
SIFT: Scale Invariant Feature Transform: Ezaugarriak inbarianteak izan beharko lukete argi-aldaketekiko, biraketekiko eta eskalarekiko. Ideia nagusiak:
a. Eskalarekiko inbariantea den erantzun-mapa bat lortu. b. Puntu interesgarriak bilatu. eta c. Biraketekiko inbarianteak diren deskribatzaileak lortu. Algoritmoaren pausoak:
1.Lortu puntu interesgarriak (keypoints): 1.1.Eskala-espazioan muturreko balioak aurkitu. 1.2.Puntu interesgarriak zehaztasunez lokalizatu. 2.Sortu deskribatzailea puntu interesgarriaren inguruko eskualdearekin. 2.1.Puntu interesgarriaren orientazioa kalkulatu. 2.2-Puntu interesgarria deskribatu (deskribatzailea sortu).
SIFT-ek, Harris-ek eta HOG-ek egiten duten lana egiten du berak bakarrik.
Lortu puntu interesgarriak: Eskala-espazioa
𝛔 ezberdinetako Gaussiarrekin konboluzionatu irudi originala.
Zortzikoteak sortzeko, irudi originalaren tamaina erdira murriztu.
Zortzikoteko bikoteko kenketa egiten da, GAUSSIARRA DIFERENTZIA(DoG) lortuz. DoG irudi horietan lortuko ditugu. Honekin egingo dugu lan. 3x3x3-ko auzo batean muturretako balioak lortu; X auzokideak baino hadiagoa edo txikiagoa bada aukeratu.
Puntu interesgarriak zehaztasunez lokalizatu. **Estimatu gradienteak.
*Puntu interesgarriaren inguruko gradienteak begiratu.
*Erantzun ahulak alde batera utzi.
**Izkina antzeko egiturak bilatu (Harris-en antzera).
*Egitura-matrizea kalulatu eta erabili determinantea eta aztarna (r = 10).
*Ondorengo baldintza betetzen duten puntuak mantendu.
Tr(H)^2/Det(H)
Sortu deskribatzailea. Puntu interesgarrien orientazioa kalkulatu
1.Helburua: biraketekiko inbariantea den deskribatzailea lortu.
2.Kalkulatu puntuaren inguruko gradienteak (magnitudea eta orientazioa).
3.Histograma batean jarri balioak:
36 tarteko histograma (10 gradu tarteko).
Gradientearen magnitudeak ponderatu Gaussiar batekin (urrutiago, ahulago)
4.Maximoaren %80 baino handiagoko gradienteak gorde.
Hainbat puntu interesgarri sor daitezke pixeleko.
5.Deskribatzailea normalizatu orientazio garrantzitsuenarekiko.
Puntu interesgarri bakoitzeko deskribatzaile bat sortu da. Deskribatzaileak 128 elementuko bektoreak dira: eskala inbarianteak, biratekiko inbarianteak eta argi aldaketekiko egonkorrak.
FLUXU OPTIKOA. Zer da? Mugimendua neurtu nahi da honekin, objektuak mugitzean mugimendua sortu dezake. BI IRUDIREN GAINEAN. SEKUENTZIALKI DOAZENAK. Hainbat prozesuk mugimendua sortu: 1.Objektuak mugitzean 2.Kamara mugitzean. 3.Zoom egitean... // Fluxu optikoek BIDEO bateko OBJEKTUAK NOLA MUGITZEN diren esaten digute (gradienteeen matrizeak erabiliz).
Zertarako? 1.Mugimenduak estimatzeko->Nola eta zenbat magnitude estimatzeko. 2.Objektuen jarraipena-> Eszena batean objektuen mugimendua jarraitzeko. 3.Ikusmen bidezko odometria-> Kamara bidez puntuak, zenbat mugitu zean esan dezakete.
Nola topa dezakegu irudi baten Fluxua?
Ezaugarriak parekatzen: Ezaugarriak parekatzean, hainbat objektu daude parekatzeko. Desplazamendu asko ESTIMATU behar dira. Honek desabantailak ditu:
1.Sakabanatuak-> Ezaugarri oso desberdinak. 2.Ezaugarrien parekatzea ez da zehatza -> Irudiko hainbat objektu parekatzen baditugu, lehen erabilitako konponketa ezin da aplikatu, eta estimazio txarrak egingo dira. 3. Zehaztasun txikia.
Panoramak osatzerakoan ez bezala, oraingoan HAINBAT TRANSFORMAZIO estimatu behar ditugu (irudiko zati ezberdinak, modu ezberdinean mugitzen dira; hori ez da gertatzen panorametan) , ez bakarra, beraz ezaugarriak parekatzean sortzen diren ERROREAK EZ DIRA KONPENSATZEN.
Abantailak: 1.Eskala eta biraketekiko inbariantea. 2.Argiztapen aldaketekiko “ia” inbariantea.
3.Mugimendu handiak kudeatu ditzake.
Honek ez du ondo funtzionatzen fluxu optikorako.
Zer egingo dugu orduan? Objektu irudi baten PIXEL KOKAPEN zehatz bat hartuko dugu eta FRAME bakoitzeko neurtuko dugu balioa. Balio hau INTENTSITATEZ ALDATUKO du, argiztapenarengatik. Honakoa, Funtzio bezala jar daiteke. Berdina lortu KAMARA MUGITZEN denean.
Ondorioa: Objektua eskuinera mugitzean, behatzen ari garen pixela ezkerrera mugitzearen parekoa da.
Lucas-Kanade fluxu optikoa: Erabili al dezakegu erlazio hori fluxu optikoa kalkulatzeko?
BAI!, kontuan edukiz f funtzioak PIXEL BATEN intentsiteatea ematen digula denbora konkretu batean: f(p-Ap, t) = f(p, t+At) non p= behaketa puntua, Ap=despplazamendua, t= lehen irudia eta t+At = bigarren irudia. eta f hori da intentsitate funtzioa.
Honako ekuazioa TAYLOR-en LEHEN mailako POLINOMIO batekin hurbilduko da. ZUZEN baten bidez funtzio konplexu baten puntu edo eskualde baten hurbilketa egiten du. Hurbilketa ASKO eginda, funtzio konplexu ezezaguna sortu dezakegu: non m malda den
m(p - 𝚫p) + b ≈ f(p, t + 𝚫t) ---> mp - m𝚫p + b ≈ f(p, t + 𝚫t) --> mp - m𝚫p + b - f(p, t) ≈ f(p, t + 𝚫t) - f(p, t)
--> -m𝚫p ≈ f(p, t + 𝚫t) - f(p, t) , jakin nahi duguna 1. atala da.
Irudiaren gradientearen bidez kalkulatuko dugu.
--> dp𝚫p ≈ f(p, t + 𝚫t) - f(p, t)
--> -dx𝚫x + -dy𝚫y ≈ f((x,y), t + 𝚫t) - f((x,y), t) eta notazioa txukunduz:
dx*u + dy*v = It[x,y] - It+𝚫t[x,y] Non, u = Ax eta v= Ay
Baina bi ezezagun ditugu eta funtzio bakarra EZINEZKOA.
Zer esam nahi du? dx eta dy gradienteen arabera, bi irudien artean behaketa pixel baten intetsitateaa nola aldatzen den, benetako aldaketaren berdina da.
Baina INDETERMINATUA da, u eta v askorekin ebatz daitekelako ekuazioa. Beraz, ideia hau dugu: Auzokideak batera mugitzen direla suposatu, hau da, u eta v berdinak. Pixel bakarra hartu beharrean eskualde matrize bat hartuko dugu.
3x3 tamainako matrize bat hartu dezakegu, honela 9 ekuazio lortuz, u eta v berdinekoak. GAINDETERMINATUA izango da. Kaasu honetan, karratu-txikienen metodoa erabili dezakegu
Guazen eratzea: S = [dx1 dy1// ... // dx9 dy9] Gero, Ap= [ u // v] eta T = [It[x1,y1] - It+𝚫t[x1,y1] // ..] Beraz, S𝚫p = T --> ||S𝚫p - T||^2 = 0 --> 𝚫p = (S^T*S)^-1*S^T*T
Izan daiteke S^t*S ezin daitekela alderantzizkatu, baina simetrikoa da Deskonposa daiteke.
𝛌1 eta 𝛌2
EGITURA MATRIZEAREN ANTZA HANDIA:
| 𝚺i (dxi)2 - 𝛌 𝚺i (dxi)(dyi) |
det(STS - 𝛌I) = 0 --> | 𝚺i (dxi)(dyi) 𝚺i (dyi)2 - 𝛌 | = 0
Bale baino nola aukeratuko ditugu (x, y) aproposak? Hau da, zerk egiten du POSIZIO bat ezaugarri ona? Puntu bat on izango da aukeratzeko gradiente aldaketa handia badauka. Kubo batean la punta de abajo -> Mugimendu horizontala eta bertikala. Hau da IZKINAK!
Noiz huts egiten du LK algoritmoak?
Argiztapen aldaketak
Mugimendu handiak
Gainazal islatzaileak
Ezaugarri onen falta
Irekiduraren arazoa. Heme ikusten da karratu batean lerroak goraka eta eskubiraka doazela. Baina ondoren Gradienteak bakarrik eskuineraka doala detektatzen du. Adib: Barber pole ilusion.
LK hobetzen: LK ITERATIBOA. dxn*u + dyn*v = I_t[x,y] - I_t+𝚫t[x + dx_n-1,y + dy_n-1]
1.Estimatu pixel bakoitzaren abiadura LK aplikatuz.
2.Estimatutako abiadurekin, eguneratu I(t-1) -> I’(t-1).
3.Estimatu berriro pixel bakoitzaren abiadura LK aplikatuz. 1. pausoko estimazioak perfektuak balira, orain abiadurak 0 izango lirateke.
4.Errepikatu aurreko 3 pausoak konbergitu arte. Hua da -> Abiadura eguneratu: u(t+1) = u(t-1) + u(t) eta berdina v-rekin. eta -> Noiz konbergitzen du? Kalkulatzen diren abiadurak (u(t) eta v(t)) ia zero direnean.
Fluxu optikoa sakabanatuta (fluxua ezaugarri batzuentzat kalkulatu) edo Dentsoa (Fluxua kalkulatu pixel guztientzat) izan daiteke. Lucas Canade teknikoki algoritmo dentsoa da, baina praktikan ezaugarri onekin funtzionatzen du, beraz, sakabanatua da.
FLUXU DENTSOA LORTZEKO? Farnebäck fluxu optikoa.
Bigarren mailako polinomio erabili ekuazioa hurbiltzeko. Honakoa hobeto estimatuko du datuen kurba (parametro gehiago behar).
Farnebäck fluxu optikoa.
Lucas-Kanade-n egin ez genuen bezala, oraingoan eskuineko irudia ere hurbilduko dugu parabola baten bitartez. Ez ulertu: 1,irud=2.irud
(p-𝚫p)TAt(p-𝚫p) + bt(p-𝚫p) + ct = pTAt+𝚫tp + bt+𝚫tp + ct+𝚫t
hemen ere betiko arazoa, ez bada alderantzizkagarria?? Suposatuz auzokide batera mugitzen direla. Eta gero karratu minimoen metodoa aplikatzen dela: 𝚺i wi||Ai𝚫p - 𝚫bi||2 Pisu gausiarra ikusten da w. KONTUZ. Ap ez da konstantea auzokideen artean.
d = 𝚺iwi(Si)T(Ai)TSi 𝚺iwi(Si)T(Ai)T𝚫bi
Bigarren mailako polinomioak erabili ditugulako funtzioak hurbiltzeko eta mugimendua guztiz berdina ez dela suposatu dugulako auzokideen artean, alderantzizko hori ez da arazo bat praktikan.
LABORATEGIA: Fluxu optiko sakabanatuaren kasuan, izkina batzuk nola mugitu diren ikus dezakegu. Izkina horiek detektore batekin erauzi ditugu lehen irudian, eta horientzako bakarrik kalkula dezakegu mugimendua. Fluxu optiko dentsoan, ordea, ez dugu inoiz izkina detektore edo antzekorik erabili. Emaitza bezala irudi beltz bat ikus dezakegu. Pixel beltzek esan nahi dute pixel horiek ez direla mugitu bi irudien artean. Baina gorriz ageri diren pixel guztiak mugitu egin dira. Gorri intentsoagoa erabiltzen dugu mugimenduaren magnitudea handiagoa den eremuetan. Beraz, fluxu optiko dentsoaren kasuan, pixel bakoitzaren mugimendua kalkulatzen ari gara, sakabanatuan ez bezala.
SAKONERA ETA ESTEREOA:
Nola hauteman sakonera: GIZAKIOK. 1-Konbergentzia binokularra. Objektu bat enfokatzerako garaian gure begietako muskuluak zenbat mugitu behar duten. 2.Paralaje binokularra (estereo). Bi begiekin errealitatean bi irudi ikusten ari gara. Horien konbinaketarekin, sakonera ikusi daiteke. 3.Mugimenduak sortutako paralaje monokularra. Begi bakarra duen pertsona mugitzen bada ere bi irudi desberdin lortzen ditu. 4.Irudietan dauden pistak. Objektuak gainjarrita eta Itzalak erabiliz.
Nola hautematen dute makinek sakonera? 1.Estereoa. Bi kamara erabiliko ditugu guztiz berdinak direnak eta desplazamendu batera, fijoa eta ezaguna. 2.Lidar. Kotxe autonomoetan erabiltzen dira. Laserra bidez, giratzen doana. Konstanteki irakurketak egiten ditu ingurunean. 3. Argi egituratua. Infragorri + bi kamera. Infragorriak gainazal ez leunean proiektatzean, patroia deformatu eta patroi lauarekin konparatu. 4.Hegaldi-denbora. Aurrekoaren berdina da, baina hegaldi denbora erabiltzen da distantziak estimatzeko.
ETA sakonera ZERTARAKO? 1.Objektuak segmentatzeko. Adibidezm planoa dena definitu dezakegu sakonera erabili eta hor gainean dagoena objektuak direla jakin.
2.->3D berrerainkuntza. Hegaldi denbora erabiliz, logela eskaneatu eta berreraiki. Denbora errealeean. 3.Nabigazio autonomoa. Oztopoak eta bidea non dagoen jakiteko. 4.Aurpegiak ezagutzeko->RGBD(kolorea + sakonera)
ESTEREOA. Paralaje binokular bezala ulertu dezakegu. Bi kamara dauzkagu eta desplazamendua dagoenez kameren artean, bi irudi desberdin ikusten ditugu. Desplazamenduak pistak ematen dizkigu. //// "Desplazamendua kamerarekiko distantziaren alderantziz proportzionala da.", hau da, desplazamendu asko-> Objektua gertu dago. Desplazamendu gutxi -> Objektua urrun dago.
Nola parekatu irudien zati ezberdinak?
RASNAC?¿ Beste metodo bat? Ezaugarriak parekatuz egin dezakegu, baina oso zaila da. Egitura aprebtxa dezakegu beste modu batera.
Horregatik Perpektiba proiekzioa. 3D objektua nola proiektatu 2D irudi batean: (x, y, z) eta (f, w, h, p) emanda bilatu (i, j) --> (j- h/2) / f = y / z hau pixel / metro da ----> (j - h/2 ) / f*p = y/z hau pixel / pixel da. BERDINA i-rekin!
Baina (x,y,z) lortzeko, ezin da zuzenean ebatzi problema. AZPIDETERMINATUA baita, izpiaren edozein puntutan egon daiteke. Baino, sakonera jakingo bagenu orduan (x,y,z) puntua errekuperatu ahalko genuke. Honela geratzen da formula:
z = d = sakonera. x = (i-(w/2))*d / fp eta y = (j-(w/2))*d / fp
IRUDI KORDENATUAK. Pixel koordenatua (i,j) hartu beharrean (x',y'.z') irudi koordenatuak hartuko dira (zentroan egonda, ez ixkina batean). Baina zer da z'?? z’ jatorritik irudiaren planorako distantzia da. FORMULAK irudi koordenatu formalizatuak: x'= x/z, y'=y/z eta z' =1 da. i = fpx' + w/2 eta j = fpy' + h/2
Bi irudi hartuz, puntu beraren BI PROIEKZIO DESBERDIN ditugu. Jatorritik marra proiekzioa INFINITURA eramaten baditugu, ebaki puntua puntu errealera izango da. Zuzen bat 3D-n horrela errepresenta daiteke. (x // y // z ) (zuzeneko puntu bat + s (aldagai parametrikoa SAKONERA) * (n_x // n_y // n_z ) (zuzenaren malda)
Imaginatu bietako irudi batean badakigula puntua baina beste batean ez. Ezin ditugu ezaugarriak parekatu bainam geometriak lagundu dezake. 1 kameraren jatorritik irudiko planora dijoan zuzena bigarren irudian proiektatzen badugum zuzen epipolarra lortuz, nahitaez gure puntuak zuen horretan egon behar du.
Pareko ezaugarria zuzen honetan bilatzeko askoz ere errazagoa da, baina nola atera dezakegu zuzen horren ekuazioa? Zuzen epipolar horretan jatorriaren eta puntuaren proiekzioa atera daiteke. t x R (x' // y' // 1 ) = (a // b // c ) eta t x R = E (matrize esentziala)
Hau da zuzen epipolarraren ekuazioa ebazteko modua. Lehen irudiko puntu proiektatua hartuko dugu, irudi koordenatu normalizatuen eta bi kameren arteko biraketa matrizearekin biderkatu.
Translazio bektorearekin biderkatu bektorealki eta horrela lortuko dugu zuzenaren ekuazioak.
Estereo: Irudi-plano paraleloak
Ez dago biraketarik bi kameren artean, horregatik R beharrean, I identitate matrizea erabiliko da. Traslazioa, gainera, ardatz bakarrean ematen da, horregatik delta x, hau da x-ren aldakuntza hatzen da kontuan. Zuzen epipolarra, Horizontala izango da, jatorrien arteko zuzenaren paraleloa. MOREA. EKUZAIOA: (0)x + (-𝚫x)y + (𝚫xy’) = 0 --> y = y'
Eszenatoki honetan, zuzen epipolarra bilatzea oso-oso erraza da. Lehen irudiko puntua hartu eta bere y koordenatua. Bigarren irudian, y altuera berean dagoen zuzen horizontala da zuzen epipolarra. z = delta_x / x'1 - x'2
Irudi plano paraleloak edukitzeak gauzak hainbeste errazten ditu, ikerlariak aztertu zutela nola bihurtu kasu orokorra irudi plano paraleloetara. Hori egiteko, HOMOGRAFIA!
EZAUGARRIAK PAREKATZEN.
Zein izango da ezaugarri zuzen bat epipolarrean ? Lehenengo irudiko ezuagarriak zuzeneko eskualde leiho gztiekin konparatu. Nola egin konparaketa? 1.sum of squared differences, 2. Cross correlation ...
Ezaugarri txarrak baditugu, parekatze txarrak lortuko ditugu eta beraz, gure sakonera-mapak zarata handia izango du. Leihoak eragin handia du honetan.
Txikiak badira -> Oso zehatzak baina zaratatsuak. eta Handiak badira -> Ez du zaratarik baina zehaztasuna galdu.
NOLA HOBETU DEZAKEGU PAREKATZEA. Estereoaren murriztapenak
Bakartasuna: Irudi bateko puntu batentzat, gehienez puntu bat existituko da beste irudian
Ordena: Parekatutako puntuak orden berean agertu behar dira bi irudietan. Leuntasuna: Desberdintasun-balioak pixkanaka aldatzea espero dugu.