3D - geometra modellezés, alakzatrekonstrukcó, nyomtatás 17. 3D Szegmentálás http://cg.t.bme.hu/portal/node/312 https://www.vk.bme.hu/kepzes/targyak/viiiav54 Dr. Várady Tamás, Dr. Salv Péter BME, Vllamosmérnök és Informatka Kar Irányítástechnka és Informatka Tanszék 1
Tartalom dgtáls alakzatrekonstrukcó a szegmentálás célja és jelentősége lokáls felületjellemzők becslése szegmentáló algortmusok 1. Tartománynövesztés 2. Drekt szegmentácó 3. Morse elmélet alapján 2
Tervezés és alakzatrekonstrukcó Számítógéppel segített tervezés (CAD) Input: egyértelmű specfkácó pontos matematka felületek jól defnált geometra operácók CAD modell: explct határoló elemek és topológa struktúra Dgtáls alakzatrekonstrukcó (DSR) Input: nagyméretű mért ponthalmaz, zajos és hányos határoló felületek típusa és nagysága smeretlen a "létrehozó" operácók és a topológa struktúra smeretlen Cél: az eredet CAD modell rekonstruálása Alakzatrekonstrukcó - 7/9 3
Tervezés és alakzatrekonstrukcó Géppar alkatrészek struktúrája Elsődleges (prmary) felületek: funkconáls és esztétka követelmények szabályos (mplct) felületek - sík, henger, kúp, gömb... proflgörbék által meghatározott felületek - khúzott- és forgásfelületek szabadformájú felületek Összekötő felületek: sma átmenetek bztosítása lekerekítő felületek Alakzatrekonstrukcó - 8/9 4
Az alakzatrekonstrukcó lépése a. Pontfelhő d. Osztályozás b. Háromszögháló c. Szegmentálás Tartományok e. Elsődleges és összekötő felületek llesztése f. CAD modell 5
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 - mnden tartomány megfelel a CAD modell egy lapjának automatkus felületosztályozás és llesztés Szegmentálás - 1/4 6
3D szegmentálás2 Bonyolult algortmus: () a tartományok struktúrája smeretlen () az llesztendő felületek típusa és kterjedése smeretlen tyúk - tojás probléma... megoldások: () teratív megoldás - tartománynövesztés () rögzített felületkészlet - drekt szegmentácó () automatkus eljárás - Morse herarchkus szegmentácó rossz szegmentácó rontja a felületek mnőségét Szegmentálás - 2/4 7
3D szegmentálás 3 Egy felület, szegmentálás nélkül gyenge felületmnőség Két szegmentált elsődleges felület jó felületmnőség Szegmentálás - 3/4 8
3D szegmentálás 4 Pontatlan szegmentálás Pontos szegmentálás 9
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 összefüggő tartományok típusának beállítása Iteratív eljárás: mnmalzálunk és ellenőrzzük, hogy a hba mértéke ksebb-e, mnt egy küszöbérték Korább anyag: normálvektorok és görbületek becslése háromszögháló alapján Felület ndkátorok - 1/4 10
Lokáls felület ndkátorok 2 Síklapúság (planarty): legjobban lleszkedő sík meghatározása távolságok: x P d 2 = x P 2 ( n,( x p )) = mn 0 π d x p0 n Transzlácós ndkátor: a legjobban lleszkedő rány meghatározása merőleges szögek: cos α = 2 n N n N 2 ( n, v) = mn n x v Hbamérték: a mnmalzált kfejezés, normalzálva Felület ndkátorok - 2/4 11
Lokáls felület ndkátorok 3 Rotácós ndkátor: a legjobban lleszkedő tengely meghatározása d tengely körül forgó sík normálsa: N = d ( x p0 ) p 0 x N n szögeltérés: n khajlása az x -t tartalmazó forgó síkból: cos α = 2 n N n N 2 ( n, N ) = mn meghatározandó a tengelyrány és egy tengelypont: d, p 0 (klasszkus geometra - Plücker koordnáták, sajátérték probléma) Felület ndkátorok - 3/4 12
Lokáls felület ndkátorok 4 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 2 ρ, 2ρ D = log 2 { k2 { k 1 : n : n n < 2ρ n < ρ D ~ 0 D ~ 1 D ~ 2 13
Tartománynövesztés 1 "bottom-up" algortmus: 1. magpontok (seed ponts) generálása 2. hpotézs felállítása és lokáls felületllesztés egyszerű felületek profl alapú felületek szabadformájú felületek 3. lokáls hízlalás, feltéve, hogy a pontok tolerancán belül maradnak 4. újrallesztés 5. a tartományok egyesítése (ha lehetséges) Tartománynövesztés 1/3 14
Tartománynövesztés 2 Hengerfelület növesztése Forgásfelület és proflgörbe együttes növesztése Tartománynövesztés 2/3 15
Tartománynövesztés 3 Problémák () jó magpontok generálása és "helyes" hpotézs felállítása () "ckk- cakk"- os tartományhatárok () 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 3/3 16
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 Drekt szegmentácó/1 17
Drekt szegmentácó 2 Herarchkus szekvenca: 1. egyszerű tartomány 1.1. sík vagy 1.2. gömb -? 2. egyszerű transzlácós (khúzott) tartomány -? 2.1 henger -? 2.2. kör-egyenes profl -? 2.3. szabadformájú profl -? 3. egyszerű forgásfelület -? 3.1. kúp -?, 3.2. 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.2. lokáls rotácós tartományok 5. mnden, am megmarad - egyszerű szabadformájú Drekt szegmentácó/2 18
Morse szegmentácó 1 Morse elmélet: 2D-s sokaságokon értelmezett folytonos függvények analízse Kombnatorkus Morse elmélet: 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 Felülettípustól független szegmentáló módszer!!! M: 2D sokaság; f: M R; gradens: vektortér f f f f ( p) =,, x y z egy p pont krtkus, ha f(p) = 0, egyébként közönséges háromfajta krtkus pont: mnmum (m), nyeregpont (s), maxmum (M) ntegrál görbék a lokáls gradens mentén, az egyk krtkus ponttól a máskba futnak Morse szegmentácó 1/5 19
Morse szegmentácó 2 Morse komplex: () maxmum (M) : topológalag nytott körlap; leszálló sokaság D(x): az összes ntegrál görbe, amely M-ből kfut m s m M s M s m m M s m () nyeregpont (s): két görbeív s m () mnmum (m): egy pont m s M Morse szegmentácó 2/5 20
Morse szegmentácó 3 Cél: a Morse elmélet alkalmazása zajos háromszöghálók szegmentálására leszálló sokaságok létrehozása összevonás (egyszerűsítés) M m s p 1. ndkátor függvény - szétválasztja az erősen, lletve kevésbé görbült részeket 2. krtkus pontok becslése - a lokáls háromszöglegyező alapján 3. alapséma szemléltetése: tavak és gátak elárasztása (watershed algortmus) 4. ks tartományok összevonása = a struktúra egyszerűsítése 5. krtkus pont-párok szekvencáls kktatása: mnmum és nyeregpont nyeregpont és maxmum Morse szegmentácó 3/5 21
Morse szegmentácó 4 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ó 4/5 22
Morse szegmentácó5 Az algortmus szemléltetése: (5. kép. automatkus, 6. kép: kézzel javított szegmentácó) Morse szegmentácó 5/5 23
3D szegmentálás 24
Összefoglaló a szegmentálás a dgtáls alakzatrekonstrukcó legkrtkusabb része cél: a háromszögháló partconálása elsődleges tartományokra lokáls felületjellemezők alapján algortmusok () tartomány növesztés () drekt szegmentácó () Morse szegmentácó 25