3D-s számítógépes geometra 11. 3D szegmentálás http://cg.t.bme.hu/portal/node/31 https://www.vk.bme.hu/kepzes/targyak/viiiav01 Dr. Várady Tamás BME, Vllamosmérnök és Informatka Kar Irányítástechnka és Informatka Tanszék 3D-s számítógépes geometra 1
Tartalom 3D szegmentálás a szegmentálás célja és jelentősége mnmalzálás kényszerekkel lokáls felületjellemzők tartománynövesztés drekt szegmentácó Morse elméleten alapuló szegmentácó (tartományok osztályozása felülettípus szernt) Következő előadás
3D szegmentálás 1 Input: nagyméretű háromszögháló Cél: az objektum topológa struktúrájának létrehozása - különálló elsődleges tartományok - elválasztó tartományok - szegmentáló görbeháló Bonyolult algortmus: () a tartomány struktúra smeretlen () az llesztendő felületek típusa és kterjedése smeretlen Szegmentálás - Bevezetés 3
3D szegmentálás konzsztens struktúra mnden tartomány megfelel a CAD modell egy lapjának felületosztályozás és llesztés rossz szegmentácó lerontja a felületek mnőségét megbllent síkok, ferde hengerek, hullámzó szabadformájú felületek, pontatlan lekerekítések, stb. tyúk - tojás probléma... megoldások: () teratív megoldás - tartománynövesztés () lmtált felület-készlet - drekt szegmentácó () automatkus eljárás - Morse herarchkus szegmentácó Szegmentálás - Bevezetés 4
3D szegmentálás3 Szegmentálás - Bevezetés 5
Mnmalzálás kényszerekkel 1 Példa: egyenes (sík) llesztés Adott pontok: Egyenes egyenlete: Mnmalzálandó: {( x, y )} Ax + By + C = 0 d = ( Ax + By + S( A, B, C) = C) S S S =... = 0, =... = 0, = ( Ax A B C nc = A x B y = Ax 0 By 0... + By + C) = 0, ( A, B ) ( A 1, B1 ) Módosított feladat (súlypont korrekcó): x y0 x = x, y = y, ( Ax + By ) n n 0 = Normalzálás kényszer: A + B = 1 Megoldás: s = [ A, B], x x y A T sms = [ A, B], x y y B mn. sds T 1 = [ A, B] 0 λ 0, s 1 λ λ, s 1 0 A. 1 B 1 = ( A, B ), 1 = ( A, B 1 ) Mnmalzálás 6
Mnmalzálás kényszerekkel Meghatározandó paraméterek: s = ( a, a, K, a 1 n ) Együttható mátrx: d = sms T = mn. Kényszer mátrx: T sds = 1 Mnmalzálandó: T T H ( s, λ) = sms λ( sds 1) = mn. 1. Lagrange multplkátor: n+1 smeretlen, nemlneárs egyenletrendszer. Sajátérték, sajátvektor: megoldás: karaktersztkus polnom vagy teratív sajátérték sajátvektor: H s H s H = 0, = 0 λ = 0, Ms As = λs, P( λ) = det( A λi) = 0 T T T = λ Ds, D Ms = λs As = λis, = ( λ, s ), λmn 0, λmn d 1 T ( A λi) s = 0,, a (*) a λ (*) feltéve, hogy D nvertálható Mnmalzálás 7
Lokáls felület ndkátorok 1 Cél: () a felület lokáls jellemzése különböző ndkátorok segítségével () nagyobb tartományok típusának beállítása () mnmalzálunk és mérjük, hogy a hba ksebb-e mnt egy küszöbérték síklapúság (planarty) legksebb négyzetes sík hbájának mérése: lokáls normálvektorok legksebb négyzetes másodfokú felület alapján: x P T ( x Ax + ( d, x )) = mn., { x } { n} x P ( n,( x p )) mn 0 = transzlácós ndkátor merőleges szögek: n N ( n, d) = mn. n d Felület ndkátorok 8
Lokáls felület ndkátorok Rotácós ndkátor tengely körül forgó sík normálsa: d N = d ( x p0 ) szögeltérés: n khajlása az x -t tartalmazó forgó síkból: p 0 x N n n N meghatározandó ( n, N ) = mn. tengelyrány, tengelypont: d, p 0 Pottmann-tengely - sajátérték probléma; egyenesek Plücker koordnáták szernt: [ d, d] = [ d, d p n N ], [ n, n ] = [ n (( n, d) + ( n, d) ) = mn. 0, n x ], (opconáls anyag) Felület ndkátorok 9
Lokáls felület ndkátorok 3 Gauss gömb egység normálvektorok leképzése sík pontcsomó (cluster) transzlácós felület főkör döntött (kúp) felület mellékkör dmenzó ndkátor a pontok eloszlását mér egy adott környezetben két koncentrkus gömb, sugarak: pontok száma: k 1, k ρ, ρ D = log { k { k 1 : n : n n < ρ n < ρ Felület ndkátorok 10
Lokáls felület ndkátorok 4 Cél: tartományok létrehozása és osztályozása Színkódolás sík (cluster) - zöld általános transzlácós felület (főkör) - barna általános döntött (kúp) felület - vlágos kék általános rotácós fekület - rózsaszín szabadformájú (maradék) - vörös Felület ndkátorok 11
Tartománynövesztés 1 "bottom-up" algortmus magpontok (seed ponts) generálása hpotézs felállítása és lokáls felület llesztés egyszerű felületek: másodfokú f(x,y,z)=0, esetleg transzlácós és rotácós, vagy Bézer lokáls hízlalás, feltéve, hogy a pontok tolerancán belül maradnak, majd újrallesztés ha lehetséges - tartományok egyesítése problémák jó magpontok generálása és "helyes" hpotézs felállítása a tartományhatárok "ckk-cakk"-osak teratív módszer - hatékonyság, megbízhatóság szabályos felületekre - OK, szabadformájú felületekre kétséges Tartománynövesztés 1
Tartománynövesztés Hengerfelület növesztése Rotácós felület és forgásprofl együttes növesztése Tartománynövesztés 13
Tartománynövesztés 3 Szabályos és szabadformájú felületek növesztése Tartománynövesztés 14
Drekt szegmentácó 1 egyszerűbb objektumok szegmentálására (top-down) feltételezés: aránylag nagy elsődleges felületek síkok, hengerek, kúpok, gömbök, tórusz felületek khúzott és forgásfelületek éles élek vagy aránylag kcs lekerekítések a struktúra meghatározható egy adott szekvenca szernt lokáls normálvektor becslés globáls szűrés síklapúság szernt - szétbontás az élek és a ks lekerekítések mentén ezután már csak sma tartományokat szegmentálunk herarchkus szegmentálás egyszerű tartományok leválasztása, felület paraméterek meghatározása összetett tartományok - szétválasztás egyszerűbb tartományokra 3D Számítógépes Geometra 15
Drekt szegmentácó Herarchkus szekvenca: 1. egyszerű tartomány 1.1. sík vagy 1.. gömb -?. egyszerű transzlácós (khúzott) tartomány -?.1 henger -?.. kör-egyenes profl -?.3. szabadformájú profl -? 3. egyszerű forgásfelület -? 3.1. kúp -?, 3.. tórusz -? 3.3. kör-egyenes profl -? 3.4. szabadformájú profl -? 4. összetett tartomány -? 4.1. belső síkok és transzlácós tartományok leválasztása 4.. lokáls rotácós tartományok 5. mnden, am megmarad - egyszerű szabadformájú 3D Számítógépes Geometra 16
Drekt szegmentácó 3 Modell építés: szegmentálás felület paraméterek meghatározása proflgörbék kszámítása metszésgörbék (él-görbék) meghatározása határolóelem reprezentácó felépítése lekerekítő felületek hozzáadása 3D Számítógépes Geometra 17
Morse szegmentácó 1 Morse elmélet: D-s sokaságokon értelmezett folytonos függvények analízse kombnatorkus Morse függvény - háromszöghálón értelmezett skalár függvény, valamlyen lokálsan becsült felület tulajdonság lneárs approxmácója M: D sokaság; f: M R; gradens f(x) - vektortér egy x pont krtkus, ha f(x) = 0, egyébként közönséges háromfajta krtkus pont: mnmum (m), nyeregpont (s), maxmum (M) ntegrál görbék görbék a lokáls gradens mentén, az egyk krtkus ponttól a máskba futnak Morse komplex: x maxmum: topológalag nytott körlap, leszálló sokaság D(x) az összes ntegrál görbe, amely kfut x-ből x nyeregpont - két görbeív x mnmum - egy pont Felülettípustól független szegmentáló módszer!!! Morse szegmentácó 18
Morse szegmentácó ndkátor függvény - szétválasztja az erősen, lletve kevésbé görbült részeket becslés - a lokáls háromszöglegyező alapján alapprobléma: hogyan lehet a Morse elméletet alkalmazn zajos, háromszöghálókra leszálló sokaságok létrehozása az alapséma szemléltetése: tavak - gátak - elárasztás (watershed algortmus) nagyon sok ks tartomány egyszerűsítés - krtkus pont-párok kktatása: mnmum és nyeregpont nyeregpont és maxmum Morse szegmentácó 19
Morse szegmentácó 3 sokfajta egyszerűsítés stratéga létezk perzsztenca mérték: jelz, hogy egy pont perturbáláskor eltűnk-e mndegyk egyszerűsített struktúra konzsztens topológa értelemben herarchkus reprezentácó Morse szegmentácó 0
Morse szegmentácó 4 Az algortmus szemléltetése: (5. kép. automatkus, 6. kép: kézzel javított szegmentácó) Morse szegmentácó 1
Morse szegmentácó 5 Posztprocesszálás: Morse-tartományok használható szegmentált struktúra soklépéses algortmus elválasztó halmazok (separator sets) alakváz meghatározása - a modell élenek egyszerűsített gráfja (feature skeleton) csúcspontok lokalzálása élek smítása hízlalás, határgörbe összemetszése Morse szegmentácó
3D Számítógépes Geometra 3
A következő előadás tartalma Dgtáls alakzatrekonstrukcó II. Görbe nterpolácó - szakaszonként, B-splne görbe nterpolácó B-splne görbe approxmácó, B-splne felület approxmácó Felületek llesztése mért adatokra szabadformájú felületek parametrzálása és llesztése : felületcsoportok llesztése kényszerekkel Következő előadás 4