Illesztés Digitális képelemzés alapvető algoritmusai Csetverikov Dmitrij Eötvös Lóránd Egyetem, Budapest csetverikov@sztaki.hu http://vision.sztaki.hu Informatikai Kar 1 Megfeleltetés és illesztés a számítógépes latásban Megfeleltetést igénylő képelemzési feladatok Megfeleltetés kritikus problémái 2 Mintaillesztés Eltérési mértékek Hasonlósági mértékek 3 Robusztusság és lokalizációs pontosság 4 Invariancia, robusztusság, sebesség Mintaillesztés felgyorsítása z illesztési konzisztencia ellenőrzése datregistráció és -fúzió 1/2 datregistráció és -fúzió 2/2 Különböző érzékelőkkel képeket készítünk ugyanarról a színtérről. pl. emberi testról MRI, PET, röntgen képeket különböző fizikai eredetű képeket össze kell illeszteni, megfeleltetni. orvosi képalkotásban az ilyen képeket modalitásoknak hívják Ez multimodális képregisztráció. illesztés = matching megfeleltetés = search for correspondence megfeleltetni = find correspondence Ha nem képi, hanem más mérési adatokról, pl. 3D-s ponthalmazokról van szó, akkor adatregistrációról beszélünk. pl. az angol 3D data registration kifejezés gyakran a mért felületek vagy pontfelhők illesztését jelenti Ha különböző adatstruktúrájú adatokat illesztünk össze, akkor inkább az adatfúzió szót használjuk. video és hang adatfúziója, regisztrációja kép és ponthalmaz adatfúziója, regisztrációja
Mozgáselemzés Sztereó látás Különböző időpontokban képeket készítünk változó, mozgó színtérről. például arcmozgást, -kifejezést vizsgálunk vagy térmegfigyelést végzünk Ilyenkor kereshetünk egymásnak megfelelő pontokat (correspondences) elmozdulásokat (displacements) változásokat Ez mozgáselemzés. Tipikus példák: mozgáskövetés (motion tracking) optikai áramlás becslése (optical flow estimation) Különböző szemszögből képeket készítünk egy színtérről és keresünk egymásnak megfelelő képpontokat. Ez a sztereó látás. z illesztés biztosítja a diszparitásokat. a két felvétel közötti pontelmozdulásokat Diszparitás és bázistávolság alapján triangulációval meghatározzuk a mélységet. bázistávolság (baseline) a kamerák közötti távolság mélység (depth) a kamera és a 3D-s pont közötti távolság Klasszikus sztereó: kalibrált kamerapár (stereo rig). Általános eset: 3D-s rekonstrukció több felvétel alapján. Mintaillesztés Megfeleltetés nehézségei Olyan kisebb képrészeket keresünk, amelyek egy adott mintára hasonlítanak. mintát mágából a képből, vagy egy másik képből vehetünk. sztereóillesztésnél is lokális mintát keresünk, amikor pontokat (pontkörnyezeteket) megfeleltetünk, korrelálunk mozgáskövetés is gyakran mintaillesztéssel történik kereshetünk minta szerint egy képi adatbázisban is Mintaillesztés egy alapvető felismerési probléma, számtalan feladatban jelenik meg. az előadásban elsősorban mintaillesztésről lesz szó megfeleltetési probléma sikeres megoldása kritikus kérdés a számítógépes látásban. megnyítja az utat további problémák megoldása felé de több elvi nehézséget kell leküzdeni Képalkotási változásokkal szembeni robusztusság térbeli (látószőg, távolság, perspektíva) fotometrikus (világítás, fényvisszaverődés) Más tényezőkkel szembeni robusztusság zaj, képtorzítás takarás (occlusion): nem minden pontnak van megfelelóje, és nem tudjuk, hogy melyiknek nincs láthatóság (visibility) problémája
következő változásokat fogjuk vizsgálni: Mintaillesztés fogalma Geometriai transzformációk 2D-s eltolás és elforgatás Fotometrikus transzformációk intenzitás-skálázás és -eltolás I = ai + b z intenzitás-skálázás és -eltolás jelentése a: a direkt megvilágítás erőssége az objektumra irányított, közvetlen megvilágítás b: a szórt fény (ambient light) erőssége a színtér globális fényessége minden irányból érkező fény Minden lehetséges (x, y) pozícióban összehasonlítjuk a w(x, y ) képmintát (részképet) az f(x, y ) képpel más szóval, minden (x, y) pontban illesztjük a w(x, y )-t az f(x + x, y + y )-hez Mintaillesztés: olyan (x, y) helyeket keresünk, ahol kicsi az eltérés a minta és a kép között, vagy nagy a hasonlóság a minta és a kép között angolul: low dissimilarity, high similarity Négyzetes különbségek összege Intenzitás-eltolásra korrigált SSD SSD(x, y) = {f(x + x, y + y ) w(x, y )} 2, ahol az egyszerűség kedvéért = (x,y ) W (x+x,y+y ) F SSD a Sum of Squared Differences rövidítése. W a lokális pozíciók halmaza a w mintán belül F a globális pozíciók halmaza az f képen belül SSD(x, y) nem invariáns 2D-s elforgatásra nem talál meg elforgatott mintát intenzitás-változásokra nem kezel változó világítást SSD SC (x, y) = ] [ ]} 2 {[f(x+x, y+y ) f(x, y) w(x, y ) w f(x, y) az intezitás-átlag az aktuális képrészen. minden (x, y) pozícióban kell kiszámítani hasznaljuk a futó dobozszűrőt! w a minta átlaga. csak egyszer kell kiszámítani SSD SC (x, y) segítségével kompenzálhatjuk az intenzitás-eltolást kezeli a szórt fény változását nem kezeli a direkt megvilágítás változását
Nemnormalizált kereszt-korreláció Normalizált kereszt-korreláció CC(x, y) = f(x + x, y + y ) w(x, y ) kereszt-korreláció és a konvolúció tulajdonságait már ismerjük. CC(x, y) formailag ugyanaz, mint az f kép a w maszkkal való szűrése. amit szűrésről tudunk, itt is alkalmazható: normalizálás, szeparábilitás, futószűrés CC(x, y) nem invariáns intenzitás-eltolásra és -skálázásra. mikor w > 0 és f nagy, CC(x, y) is nagy, függetlenül attól, hogy w és f hasonlítanak-e. ezt normalizálással korrigáljuk NCC(x, y) = 1 ] [ ] [f(x + x, y + y ) f(x, y) w(x, y ) w, N 1 ahol N 1 = S f (x, y) S w, S f (x, y) = [f(x + x, y + y ) f(x, y)] 2, S w = (x,y ) W [ w(x, y ) w] 2. S f (x, y)-t sokszor kell kiszámítani, S W -t csak egyszer. NCC(x, y) invariáns minden lineáris intenzitás-változásra Módosított normalizált kereszt-korreláció Mintaillesztés példája MNCC(x, y) = 1 ] [ ] [f(x +x, y +y ) f(x, y) w(x, y ) w, N 2 ahol N 2 = S f (x, y) + S w bal kép minta, kinagyítva jobb kép z MNCC és az NCC között a különbség csak a normalizálásban van: N 1 = S f (x, y) S w. MNCC-vel elkerülhető a numerikus instabilitás, amikor S f (x, y) kicsi. kis képváltozás Elméletileg, az MNCC csak eltolás-korrigált. a gyakorlatban, kevésbé érzékeny skálázásra is: S f (x, y) + S w S f (x, y), közelítve NCC kép NCC felület SDD kép SDD felület jobb képen levő mintán a bal képen keressük. NCC a normalizált kereszt-korreláció SSD a négyzetes különbségek
Numerikus példa mintaillesztésre Területilleztés vagy kontúrillesztés? 1/2 minta input kép CC eredménye NCC eredménye 0 0 0 0 0 0 1 2 3 2 1 1.0 1.4 1.7 1.4 1.0 0 0 0 0 0 0 1 2 3 2 1 1 2 3 2 1 1 2 3 2 1 1.0 1.2 1.0 1.0 1.0 1.2 1.0 (N)CC: (normalizált) keresz-korreláció az input képet 0-ák veszik körül az eredményekben az 1 alatti értékeket nem mutatjuk Ideális illeszkedés nem sokkal jobb, mint közeli értékek az illesztés nem elég éles minta input kép NCC eredménye 0 0 0 0 0 1.2 0 0 1.3 2.0 1.3 0 0 1.2 2.0 3.0 2.0 1.2 0 0 1.3 2.0 1.3 0 0 0 0 0 1.2 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1.3 1.4 1.3 1.4 2.8 1.4 1.3 1.4 1.3 Kontúrillesztés élesebb eredményt ad. területilleztés: ideális illesztés és közeli értékek aránya 1.5 kontúrillesztés: az arány 2 Területilleztés vagy kontúrillesztés? 2/2 Robusztusság és lokalizációs pontosság ideális objektum eltorzított objektum szagg. vonal: minta folyt. vonal: objektum körök: átfedő pontok Ideális objektum esetén a minta kis eltolására a kontúrátfedés drasztikusan csökken a területátfedés alig csökken kontúrillesztés élesebb Eltorzított vagy elforgatott objektum esetén a kontúrátfedés kicsi elveszíthetjük az objektumot a területátfedés nagy megtaláljuk az objektumot kontúrillesztés kevésbé robusztus Kontúrillesztés élesebb illesztés: jobb lokalizáció kevésbé robusztus: elveszíthetünk objektumokat gyorsabb Területilleztés kevésbé éles illesztés robusztusabb lassúbb Más detektálási feladatoknál is van hasonló kapcsolat. jobb lokalizációs pontosság gyengébb robusztusság ha megtaláljuk, megmondjuk a pontos helyét, vagy megtaláljuk, de nem tudjuk a pontos helyét
Mintaillesztés kritikus problémái Méretváltozás és elforgatás kezelése Méret-változásokra és elforgatásra való invariancia például, közelebbről és/vagy elforgatva látjuk Képtorzítással szembeni robusztusság például, perpektív torzítás "Zajos" illeszkedésekkel szembeni robusztusság váratlanul jól illeszkedő, nem keresett képrészek hasonlósági mértékeink nem ideálisak! Számításigény Képnormalizálás a képet standard méretre és orientációra transzformáljuk feltételezi, hogy képen belül nincs méret- vagy orientáció-változás képorientációt kell definíálni daptív megoldások minden pozícióban variáljuk a minta méretét és orientációját kiválasztjuk a legjobban illeszkedő méretet és orientációt nagyon lassú ha a méretek és szögek száma nagy csak kisszámú méret és szög esetén használjuk! Invariáns megoldások méret- és elforgatás-invariáns leírást használunk nem képeket, hanem képleírásokat hasonlítunk össze Képnormalizálás méretre és orientációra Torzítástűrő illesztés template original image normalised image jobb felső sorokban levő betű mérete és orientációja eltér a többiétől. ez a betű nem fog illeszkedni többi négy betű illeszkedni fog. Hogyan definíáljuk a képorientációt? Rugalmas mintákat használunk. rugalmasan összekötött alminták "rugók" lehetővé teszik a minta kisebb változtatását bevezetünk egy célfüggvényt, amely büntet nagyobb változtatásokat nagyobb változtatásnak nagyobb a költsége kkor működik jól, amikor az alminták elég jellegzetesek megbízható illesztéshez. rcminta mint rugalmasan összekötött alminták rendszere.
Mintaillesztés felgyorsítása jellemzőpontokkal Mintaillesztés felgyorsítása FFT-vel Nem képekkel és mintákkal dolgozunk, hanem lokális jellemzőpontjaikkal. például élekkel, sarkokkal kkor hasznos, amikor a képi sajátságok viszonylag ritkák, de megbízhatóak. Másfelöl, ez a megoldás torzításérzékeny lehet. emlékezzünk vissza kontúrillesztésre! Nagy minták esetén a kereszt-korrelációt célszerű Gyors Fourier Transzformációval, FFT-vel implementálni. f w = IFFT [FFT [ f(x, y) ] [ ] ] FFT w(x, y) IFFT az inverz FFT X az X komplex konjugáltja N N-es képre az FFT műveletigénye O(N 2 log N) a direkt implementáció műveletigénye O(N 4 ) Ökölszabály "nagy mintára": nagyobb mint 13 13 pixel. Nem illeszkedő régiók gyors kiszűrése: alapötlet Gyors kiszűrés ritkított mintavételezéssel 1 Gyorsan kiszűrjük a nyilvánvalóan nem illeszkedő régiokat. 2 Csak a megmaradt, válogatott régiókat, jelölteket vizsgáljuk meg alaposan. zért hatékony, mert a mintára egyáltalán nem hasonló régióból gyakran sokkal több van, mint a hasonlóból. De vigyázni kell vele, mert elveszíthetünk igazi, keresett régiókat. ha ügyetlenül szűrűnk Először nem minden pontban illesztünk, hanem nagyobb lépéssel mozgatjuk a mintát. Kiszűrjük a nyilvánvalóan nem illeszkedő helyeket, aztán csak a megmaradt helyekkel foglalkozunk. Ezt egy képpiramissal is meg lehet csinálni. Gyakorlatilag, a keresztkorrelációs függvény egyre finomabb mintavételezéséről van szó. elveszíthetünk nagyon keskeny csúcsokat, maximumokat!
Gyors kiszűrés más módszerekkel z oda-vissza illesztés Kiszámítjuk minta és régió egyszerű tuljadonságait. kiszűrjük a régiót, ha a tulajdonságok nagyon eltérnek Hamis illeszkedések kiszűrésére alkalmazott módszer. Csak akkor fogadunk el illesztést, ha fordítva is érvényes. Kisebb almintákat használunk. kiszűrjük a régiót, ha az alminták nem illeszkednek Küszöböt szabunk kumulatív (összegző) eltérési mértékre. kiszűrjük a régiót, ha a mérték eléri a küszöböt nem kell végig számolni az eltérést! de a küszöb jó beállítása nem egyszerű dolog legyen inkább óvatos, viszonylag magas érték! bal kép jobb kép eredet IH konzistens IH Takart pontok kiszűrése sztereóillesztésben. Illesztési Hiba: világosabb pixel nagyobb hiba konzisztencia-ellenőrzés kiszűri a takart pontokat