Gömb llestés Koseű matematka módseek a geodéában 13.11.5.
Gömb llestése 1. Hán pont sükséges a feladat megoldásáho?. Hogan lehet meghatáon a gömb heletét, sugaát? 3. Hogan llessük be a RANSAC eljáásba? 4. Test sámítások
1. Sakodalom kutatása Kåsa 1976 köllestés, gömbe s jó Patt 1987 Patt módsee Taubn 1991 Taubn módsee Lukács et al. 1997, 1998 Palánc, Molná 1 algeba, geometa, RANSAC megoldások
Patt 1987 algeba felületek kö, kúpselet, sík, gömb llestése nem génel teácót
Palánc B, Molná B 1: Fttng sphee to quanted depth nfomaton, Wolfam Lba, 19 algeba, geometa, ánment llestés neuáls hálóat, Göbne bás, RANSAC
Geometa és ánment llestés geometa llestés ánment llestés
Geometa llestés n ponta n v 1,...,, eét a mnmalácós feladat nemlneás LKN feladata veet: A meghatáoandó paaméteek:,,, Lneaálás és teácó sükséges! hba edk pontban mn 1 Þ å v n
Geometa llestés Göbnebással egseű megoldás a a paamétee
Iánment llestés n ponta n c c c 1,...,, A nemlneás egenletendse: ahol: edk pont távolsága a kameától c, c, c q q p < ha, w v u p v u u w w v q w v u,, q q p ³ ha, c, c, c
Algeba llestés 4 ponta 1,...,4, eét mndegk ponta áll. c A két egenletet össesoova Új α smeetlent beveetve helett lneás egenletendset kell megoldan: 1,...,4, a ahol a Mndegk ponta lleskedk a sugaú gömb:
4 pont alapján sngulás eset Ha a 4 pont eg síkba esk, nncs megoldás gömbsugá végtelen nag A gakolatban a lneás egenletendse kondícósámát kolátouk, pl. 1e
sph4modell Eule függvén functon sph4modellx ## sph4modellx gömböt hatáo meg nég, a, X mát soaban megadott ponta ## Hvatkoás: Palánc, Molná 1: Fttng sphee to quanted depth nfomaton ## Input: X: 43as mát, a nég pont [,,] koodnátá sovektookként táolva ## Output: 4 elemű sovektoban [,,, ], ahol: ## : a gömb sugaa ##,, : a gömb köéppontjának koodnátá ## Megjegés: Ha nncs megoldás a 4 pont köel eg síkba esk, akko a ## függvén vssatéés étéke // átlagétékeket levonjuk XmmeanX'; Xs XXm'; M*Xs 1; h sumxs^; // kondícósám ellenőése: f svdcondtonm > 1 ; etun ; endf; // detemnáns ellenőése: f svddetm < epslon ; etun ; endf; pm\h; sqtsump[1:3]'^ p[4]; // gömb sugaa cp[1:3]xm; // köéppont koodnátá etun c' ; endfuncton
Algeba llestés n ponta n v 1,...,, eét ha v kcs, mndegk ponta majdnem konstans: áll.» c v A két egenletet össesoova V v» Új α smeetlent beveetve helett lneás LKN llestést kell megoldan: 1,...,4 mn, Þ a ahol a Mndegk ponta v eltééssel lleskedk a sugaú gömb:
sphft Eule függvén functon sphftx ## sph4ftx gömböt llest nég vag több, a, X mát soaban megadott ponta ## Hvatkoás: Palánc, Molná 1: Fttng sphee to quanted depth nfomaton ## Input: X: n3as mát, a n pont [,,] koodnátá sovektookként táolva ## Output: 4 elemű sovektoban [,,, ], ahol: ## : a gömb sugaa ##,, : a gömb köéppontjának koodnátá ## Megjegés: Ha nncs jó megoldás, akko a ## függvén vssatéés étéke // átlagétékeket levonjuk XmmeanX'; Xs XXm'; M*Xs 1; h sumxs^; // kondícósám ellenőése: f svdcondtonm > 1 ; etun ; endf; psvdsolvem,h; sqtsump[1:3]'^ p[4]; // gömb sugaa cp[1:3]xm; // köéppont koodnátá etun c' ; endfuncton
Adatok tkább sűűbb a nél matt eleve k kell sűn sok pontot: RANSAC
A RANSAC eljáás lépése Állítsunk elő eg előe meghatáoott M sámú modellt hpotést, mndegket a modell egételmű megalkotásásáho sükséges mnmáls n daab adat alapján e a modell paaméteek meghatáoását jelent Étékeljük k mndegk modellt hpotést: sámítsuk k a össes adat lleskedés eltééset a modellhe képest eg adott hbaküsöbön belül adatok alkotják a konfom adathalmat ún. konsenus halmat At a modellt hpotést válastjuk, amelnek konfom konsenus halmaa a legtöbb elemből áll ee a modelle úja meghatáouk a modell paaméteet a konfom adatok alapján általában LKN becsléssel
A RANSAC eljáás paamétee A modellek megalkotásáho sükséges paaméteek mnmáls n sáma A mamálsan megengedhető teácók k sáma t küsöbéték annak eldöntéséhe, hog eg adat lleskedke a modellhe a a d adatsám, amel alapján eldöntjük, hog eg modell jól lleskedke a adatokho
A RANSAC eljáás paamétee. n k 1 p 1w k p ln 1 ln1 n w k: teácók sáma n: eg teácóban kválastott adatok sáma p: annak a valósínűsége, hog a RANSAC eg teácóban csaks konfom adatokat válast k n daabot w: A konfom nem duva hbás adat előfodulás valósínűsége s k w 1 n w n # k: k sóása köel egek kval
Hán k teácó lehet sükséges? k ln 1 p n p.99 sokásos éték ln1 w adatok sáma duva hbás adatok aána 1 w n 5% 1% 15% % 5% 3% 35% 4% 45% 5% 3 4 5 6 7 8 1 13 16 3 4 5 6 8 11 14 19 5 34 4 3 4 6 9 1 17 3 33 48 71 5 3 5 8 1 17 5 37 57 89 145 6 3 6 1 15 3 37 59 96 164 9 7 4 7 1 3 54 9 16 3 587 8 4 8 14 5 44 78 14 7 548 1177
A RANSAC eljáás eedméne A legjobb modell: aok a paaméteek, amelek a legjobban lleskedő modellhe tatonak vag semm, ha nncs jól lleskedő modell A legjobb konsenus halma: aok a adatok, amelekből a legjobb modellt becsültük A legkedveőbb hba: a legjobb modell hbá a legjobb konsenus halma adataho képest
RANSAC algotmus Adott: adat a mét adatpontok model a adatoka llestendő modell n a modellek megalkotásáho sükséges paaméteek mnmáls sáma k A mamálsan megengedhet# teácók sáma t küsöbéték annak eldöntéséhe, hog eg adat lleskedke a modellhe d adatsám, amel alapján eldöntjük, hog eg modell jól lleskedke a adatokho Eedmén: legjobb legjobban llesked# modellhe tatoó paaméteek semm, ha nncs jó modell teácók legjobb semm legjobb_hba valam nagon nag éték amíg teácók < k { lehet_konfom n véletlenseűen válastott adat lehet_modell a lehet_konfomho llestett modell paaméteek sntén_konfom ües halma tedd mnden adatponta amel nncs a lehet_konfomban { ha a pont lleskedk a lehet_modelle tnél ksebb hbával add a pontot a sntén_konfomho } ha a elemek sáma a sntén_konfomban > d { % e jel, hog eg jó modellt találtunk % most ellenőük, hog menne jó jobb_modell a össes ponta a lehet_konfom és sntén_konfom pontoka végett llestés paamétee e_a_hba annak météke, menne lleskedk a modell a pontoka ha e_a_hba < legjobb_hba { legjobb jobb_modell legjobb_hba e_a_hba } } követkeő teácó } eedmén: legjobb
RANSAC algotmus Eule functon RANSACadat,modell,hba,llest,n,k,t,d,msac ## {bestft,bestd} RANSACadat,modell,hba,llest,n,k,t,d,msac ## ## Cél : RANSAC v. Mbecsl# RANSAC eljáás a 'adat'ho 'modell' llestése ## ## Input: adat : mét adatpontok halmaa: a pontok a mát soa ## modell : függvén neve, amel modellt llest a adatoka ## mpa modelladat ## hba : függvén, amel megmondja a modellt#l vett eltéést ## elt hbamodell,adat ## llest: függvén, amel a konsenus halma elemee vége modell llestést ## modell llestadat ## n : a modell llestéséhe mnmálsan sükséges adatpontok sáma ## k : a eljáásban megengedhet teácók mamáls sáma ## t : küsöbéték annak eldöntésée, hog eg pont lleskedke a ## modellhe ## d : a llesked# pontoknak a a mnmáls sáma, amelbl el tudjuk ## dönten at, hog eg modell jól lleskedk a adatokho ## msac : ha a étéke 1, akko a MSAC becslést végeük, egébként RANSAC ## ## Output: bestft : a adatoka legjobban llesked modell paamétee ## bestd : a legjobb modell konsenus halmaa ndeek
RANSAC eljáás főbb lépése fo teaco1 to k; ## véletlenseen kválastunk n pontot nem aonosakat epeat ld sotfloonadat*andom1,n1epslon; f n^colsnoneosedmldld',1,n^ n then beak; endf; end; ## létehoom a kválastott n db. ponta a modellt lmod modelladat[ld,:]; ## soban mndegk modellt kbővítem a lehetséges konfom adatokkal nkft hbammod,adat[nkd[]]; // nkd: a nem kválastott adatok ndee // bővítjük a konsenus halmat kd a lleskedő adattal f nkft < t then kd kd nkd[]; endf; f colskd > d then // legalább d konfom pontunk van kons ld kd; // a eedetleg kválastott n adat s konfom ## RANSACmetka a konsenus halma elemsáma thse nadat colskons; ## ha e dág a legjobb modell: f thse < beste then bestft mmod; beste thse; bestd kons; endf; // végleges modell llestés a konsenus halma pontjaa bestft llestadat[bestd,:]; etun {bestft,bestd}; endfuncton
spdst Eule függvén hba functon sphdstsph, X ## sphdstsph,x a X pontok távolságát sámítja k a sph gömbtől ## sph: 4elemű vekto: [,,, ] ##,, : a gömb köéppontja ## : a gömb sugaa ## X: n,3 mát, a n db. pont koodnátá sph[4]; c sph[1:3]; // köépponttól vett távolság négete dc sumxc^; dst abssqtdc; etun dst; endfuncton
Palánc Molná adataval palanc.en Eule munkafüetben >X1getmat71,3,"f_3_5.dat"; >X1[:,1]'; >X1[:,]'; >X1[:,3]'; >plot3d,,,ponts1,stle".",use1 eedet Mcosoft Knect XBOX adatok >nsmg
modellenként sükséges adatok sáma: n4 valósínűség snt csak konfom adat kválastása: p.99 konfom étékek előfodulás valósínűsége: w.5 lleskedés küsöbéték: t1 sükséges teácók sáma: klog1p/log1w^n >n4; p.99; w.5; t.9; kcellog1p/log1w^n 7 >{bmod,bd}ransacx1,"sph4modell","sphdst","sphft",n,k,t,5; a legjobb modell >bmod [37.8979, 19.4613, 31.68, 146.3] a konfom pontok sáma >lengthbd 187 a konfom pontok ábáolása >XkX1[bd,:]; >Xk[:,1]'; >Xk[:,]'; >Xk[:,3]'; >plot3d,,,ponts1,stle".",use1
Rehán N. adataval gömbransac.en Eule munkafüetben >X1getmat1581,3,"1_16.asc"; RANSAC gömb llestés >load RANSACsph >{bmod,bd}ransacx1,"sph4modell","sphdst","sphft",4,3,.1,5; a legjobb modell >bmod [1.648,.75484, 66.653,.6934] a konfom pontok sáma >lengthbd 1354 a konfom pontok ábáolása >XkX1[bd,:]; >Xk[:,1]'; >Xk[:,]'; >Xk[:,3]'; >plot3d,,,ponts1,stle".",use1
lleskedés eltéések statstká >vsphdstbmod,xk,; sugáho vsonított sáalékos eltéések >1*meanv'/bmod[4] 1*devv'/bmod[4] [.145153,.538997] ma eltéés % >1*mav'/bmod[4] 1.4311977 elatív eltéések hstogamja >plotdv'/bmod[4],dstbuton;
QQ nomáls kvantls ába R csak bal sélen té el a nomáls eloslástól
sűűbb ponthalmaa >ptgetmat633,3,"1_4.asc"; RANSAC gömb llestés >tc; {bmod,bd}ransacpt,"sph4modell","sphdst","sphft",4,3,.1,15;toc; Used 6.15 seconds >lengthbd 4543 a legjobb modell >bmod [1.988,.63418, 66.655,.693315] a konfom pontok sáma >lengthbd 4543 a konfom pontok ábáolása >Xkpt[bd,:]; >Xk[:,1]'; >Xk[:,]'; >Xk[:,3]'; >plot3d,,,ponts1,stle".",use1
lleskedés eltéések >vsphdstbmod,xk,; elatív eltéések hstogamja >plotdv'/bmod[4],dstbuton;
QQ nomáls kvantls ába R
QQ nomáls kvantls ába R