HU220729B1 - Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására - Google Patents

Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására Download PDF

Info

Publication number
HU220729B1
HU220729B1 HU9802241A HUP9802241A HU220729B1 HU 220729 B1 HU220729 B1 HU 220729B1 HU 9802241 A HU9802241 A HU 9802241A HU P9802241 A HUP9802241 A HU P9802241A HU 220729 B1 HU220729 B1 HU 220729B1
Authority
HU
Hungary
Prior art keywords
recording device
light source
image
line
information
Prior art date
Application number
HU9802241A
Other languages
English (en)
Inventor
Gábor Bernáth
Original Assignee
EasyScan Műszaki Fejlesztő, Kereskedelmi és Szolgáltató Kft.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EasyScan Műszaki Fejlesztő, Kereskedelmi és Szolgáltató Kft. filed Critical EasyScan Műszaki Fejlesztő, Kereskedelmi és Szolgáltató Kft.
Priority to HU9802241A priority Critical patent/HU220729B1/hu
Publication of HU9802241D0 publication Critical patent/HU9802241D0/hu
Priority to AU61159/99A priority patent/AU6115999A/en
Priority to PCT/HU1999/000067 priority patent/WO2000021034A1/en
Publication of HUP9802241A1 publication Critical patent/HUP9802241A1/hu
Publication of HU220729B1 publication Critical patent/HU220729B1/hu

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2518Projection by scanning of the object
    • G01B11/2522Projection by scanning of the object the position of the object changing and being recorded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/586Depth or shape recovery from multiple images from multiple light sources, e.g. photometric stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Description

A találmány tárgya eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására, amelynek során a tárgyat legalább egy irányból megvilágítjuk, a megvilágított tárgyról azt előre megválasztott mértékben egy előre megválasztott forgástengely körül elforgatva a megvilágítás irányától különböző irányból képfelvételeket készítünk, a képfelvételeket adathordozón rögzítjük, minden egyes felvett képnek a tárgy megvilágított profilját tartalmazó részletét alakos vonal információként kiválasztjuk, az alakos vonal információkból önmagában ismert képfeldolgozó programmal sokszöghálót állítunk elő, és a sokszöghálót eredeti képinformációból származó textúrával látjuk el.
A szabálytalan térbeli alakzatok, például egy emberi arc digitalizálására eddig rendkívül drága, nagy műszaki pontosságú berendezések, ezen belül optikai vagy mechanikus letapogatok szolgáltak, ami gátat szab az így elkészíthető számítógépes modellek széles körű felhasználásának.
Az amerikai egyesült államokbeli Immersion Corporation „Microscribe” elnevezésű berendezése négytengelyes robotkart tartalmaz, amelynek minden csuklójába elfordulásérzékelő van szerelve. A letapogatandó tárgyat a kar mellé kell állítani, és a kar szabad végét az objektum felületén csúsztatva az érzékelők helyzetéből a tapintócsúcs térbeli helyzete számítástechnikai módszerrel egyértelműen kiszámítható.
Ugyancsak mechanikus letapogatási módot alkalmaz a Roland DGA Corporation, USA, „PICZA” elnevezésű berendezés, ami többek között annyiban tér el az előző mechanikus berendezéstől, hogy amíg az kézi vezérlésű és közvetlen érintkezésű berendezés, itt automatikus és a letapogatandó tárggyal érintkezésbe nem lépő megoldást használnak. A berendezés alapzatára helyezett letapogatandó tárgyat automatikus mozgatású piezo-távolságérzékelóvel felszerelt mechanika tapogatja le.
A mechanikus berendezések közös és közismert hátránya, hogy alkalmazásuk elsősorban szilárd felületű tárgyaknál lehetséges, és a letapogatás sebessége rendszerint alacsony.
A fenti hiányosság kiküszöbölésére hozták létre azokat az optikai letapogatóberendezéseket, amelyek a letapogató elé állított tárgyat legtöbbször egy vezérelhető helyzetű tükörrel irányított lézersugárral rajzolt strukturált mintával világítják meg. A tükörtől meghatározott távolságra elhelyezett felvevőberendezés, legtöbbször CCD kamera jelét a háromszögelési távolságmérés ismert elve alapján mikroprocesszoros feldolgozóegység dolgozza fel. Ilyen jellegű berendezést forgalmaz az amerikai egyesült államokbeli Méta Creation Corporation „RTG” néven.
Ugyancsak optikai lézeres letapogatást alkalmaz a National Research Council Institute fór Information Technology „VIT” nevű berendezésében, amely úgynevezett szinkron lézerletapogató berendezés. Ebben egy mindkét oldalán tükrözőfelülettel bevont tükröt használnak a lézernyaláb vetítésére, ugyanakkor a tárgyról visszaverődő fénynek a felvevőberendezés CCD érzékelőjének optikája felé történő irányítására is. A lézernyalábot optikai szál vezeti egy mozgó letapogatótükörig, amelynek mozgatását a galvanométerekben használt elv szerint felépített elrendezésben egy motor vezérli. A tükör a motor tengelyére van rögzítve, és a vezérelt motor a lézernyalábot a tükörrel legyezőszerűen szétteríti, ezáltal egy síkot jelölve ki a térben. Ezt a fényt egy második, de álló tükör vetíti a letapogatandó tárgyra. Az arról visszaverődő fény egy harmadik, szintén álló tükörről a mozgó tükör hátsó felére, onnan pedig a CCD érzékelő optikájába jut. A szimmetrikus elrendezésből adódóan a visszavert fény az érzékelőn tárgytávolságtól függő hosszúságú világosabb egyenes szakaszt eredményez, ezért a nevezett megoldásban felületi érzékelő helyett lineáris CCD érzékelőt alkalmaznak. A CCD érzékelőhöz csatlakoztatott elektronikus kiértékelőegység a világos szakasz hosszának megfelelő csúcsértéket mér, és ennek a jelnek a nagyságából, a motor pillanatnyi helyzetének, azaz a vetítés szögének az ismeretében, valamint a mérési elrendezés pontos geometriájának a birtokában a tárgyra eső fénypont térbeli koordinátája egyértelműen kiszámítható. A lineáris CCD, a csúcsértékdetektor, a vezérelt motor jeleit nagyon gyors, valós idejű mikroprocesszoros vezérlőegység dolgozza fel.
Az optikai, pontosabban a lézeres letapogatóberendezések legnagyobb hátránya, hogy ugyan a feladatot megfelelően, nagy pontossággal képesek megoldani, bekerülési költségük, bonyolultságuk olyan nagy, hogy kizárólag megfelelő képzettségű szakemberek professzionális célokra alkalmazhatják őket.
Közönséges fényt használ térbeli tárgy letapogatására a 3D-Systems GmbH „Sphinx” elnevezésű berendezése, amely lényegében a letapogatandó tárgyat megtartó forgó tányérból, felvevőberendezésként alkalmazott kamerából, video-digitalizálókártyát (fiamé grabber kártya) tartalmazó személyi számítógépből, valamint ezekhez kifejlesztett, az eljárást végrehajtó programcsomagból áll. A számítógépes modell létrehozásához a letapogatandó térbeli tárgyat a forgó tányérra helyezik, megvilágítják, és a fényforrással célszerűen pontosan szemben elhelyezett kamera segítségével számítógéppel vezérelten az elforgatott tárgyat különböző irányokból lefényképezik. Az így nyert képfelvételekből, pontosabban a tárgy rögzített sziluettjeiből a programcsomag révén teljesen automatikusan kiszámolják a háromdimenziós számítógépes modellt. A megoldás immár egyszerűbb, mint a lézeres letapogatású berendezések, ugyanakkor a rendszer még mindig túlságosan nagy követelményeket támaszt a hardverrel szemben, hiszen Silicon Graphics vagy Sun SPARC Workstation számítógépet előfeltételez, ami szakember számára egyértelműen minősíti a követelményeket, továbbá a felületi üregek, hacsak a körvonalon nem látszanak, nem jelennek meg megfelelően.
Az US 5,754,680 számú szabadalmi leírás egy tárgy felületének leképezésére alkalmas berendezést ismertet, amely a tárgyat egy, a tárgy tengelyével párhuzamos fénycsíkkal megvilágító fényforrást, a tárgy képét felvevő eszközt, jelesül egy kamerát, valamint az adatokat kiértékelő és ennek alapján képet alkotó számítógépet foglal magában. A megoldásnak bonyolultságára jellemző, hogy a fényforrást és a kamerát egy körpá2
HU 220 729 Β1 lyán mozgatják a tárgy körül. A berendezés célja egy háromszögelési módszenei digitalizált 3D objektum felületipont-sokaságára történő felületillesztési módszer. Újdonsága, hogy nem a diszkrét pontok sűrűségének megfelelő felbontásban generálják a felületet alkotó poligonokat, hanem a felület normálisának változásával arányban végeznek újrafelosztást, ugyanis ez jellemzi a felület változásának mértékét. A leírásban sem az optikai háromszögelés módszere, sem a 3D koordináták kiszámítását végző egység nincs részletezve.
A módszerünk lényegét az egyes igénypontok jellemzői tartalmazzák, miszerint:
1. a fénycsíkot a forgástengelyre igazítjuk,
2. a videojelet fekete-fehér képpontokká alakítjuk,
3. az alakos vonal vastagságát egy képpont szélességűre vékonyítjuk,
4. az alakos vonal szakadásait (hiányzó képpontok) számítással megszüntetjük,
5. a takaró részletek hatását több fényforrás használatával csökkentjük,
6. a perspektivikus torzítást referenciaábra alapján korrigáljuk, és
7. az alakos vonalak és a képpontok sorrendje alapján sokszöghálót állítunk elő.
A találmány célja elsődlegesen valóságos térbeli tárgyak háromdimenziós számítógépes modellezése, ezen belül szabálytalan geometriájú tárgyak letapogatása általánosan elterjedt személyi számítógép környezetben.
A találmány azon a felismerésen alapul, hogy közönséges fény alkalmazásával, a tárgy - fényforrás felvevóberendezés megfelelő geometriájú elrendezésével, és a kapott információ viszonylag egyszerű számítógépes feldolgozásával a letapogatott térbeli tárgy kétdimenziós vetületeiből térhatású, háromdimenziós képet tudunk létrehozni és megjeleníteni.
A kitűzött feladat megoldása során olyan eljárást vettünk alapul térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására, amelynek során a tárgyat legalább egy irányból megvilágítjuk, a megvilágított tárgyról azt előre megválasztott mértékben egy előre megválasztott forgástengely körül elforgatva a megvilágítás irányától különböző irányból képfelvételeket készítünk, a képfelvételeket adathordozón rögzítjük, minden egyes felvett képnek a tárgy megvilágított profilját tartalmazó részletét alakos vonal információként kiválasztjuk, és alakos vonal információként adathordozón rögzítjük, az alakos vonal információkból önmagában ismert képfeldolgozó programmal sokszöghálót állítunk elő, és a sokszöghálót eredeti képinformációból származó textúrával látjuk el. Ezt a találmány értelmében úgy fejlesztettük tovább, hogy a tárgy megvilágítása során a tárgyat forgástengelyére igazított azzal párhuzamos fehér fénycsíkkal világítjuk meg, továbbá a részletek kiválasztása és alakos vonal információként történő rögzítése során a felvett képből fekete és fehér képpontokat tartalmazó mátrixot állítunk elő, az alakos vonal vastagságát a pontosság növelésére átlag képzéssel egy képpont szélességűre vékonyítjuk, az alakos vonal esetleges szakadásait számítással megszüntetjük, az alakos vonalat képező pontok térkoordinátáit a tárgy, a felvevőberendezés és a megvilágító fényforrás pontos helyzete alapján kiszámítjuk.
A találmány szerinti eljárás egy előnyös foganatosítási módja értelmében az alakos vonal esetleges szakadásait növekményes algoritmus felhasználásával szüntetjük meg.
A találmány szerinti eljárás egy további előnyös foganatosítási módja értelmében az alakos vonal esetleges szakadásait az eredeti profil görbékkel történő közelítésével szüntetjük meg.
Ugyancsak előnyös a találmány értelmében, ha a tárgynak a felvevőberendezés nézőszögéből a tárgy más részeit takaró részletei hatásának csökkentésére egynél több, különböző helyzetű fényforrást használunk. Ez történhet előnyösen váltakozva, és ilyenkor az egyes fényforrásokkal külön-külön képfelvételeket készítünk.
Előnyös továbbá, ha a perspektivikus torzulások csökkentésére a felvevőberendezést a képfelvétel minősége által meghatározott legnagyobb távolságban helyezzük el a tárgytól, és a távolságot úgy határozzuk meg, hogy a tárgy helyére, annak mélységi tartományába referenciahálót helyezünk, arról felvételt készítünk, és a felvett kép és a referenciaháló összehasonlításával a vízszintes és a függőleges koordináták korrekcióját meghatározzuk, majd a referenciahálónak a tárgy mélységi tartományába történő áthelyezésével az összehasonlítást ismételjük, és ezzel a mélységi koordináta korrekcióját is meghatározzuk.
Fentieken túlmenően előnyös, ha a felvett kép függőleges felbontását úgy növeljük, hogy a felvevőberendezés optikájának érzékenyebb irányát a tárgy forgástengelyével párhuzamosan állítjuk be.
A kitűzött feladat megoldása során továbbá olyan berendezést vettünk alapul a találmány szerinti eljárás megvalósítására, amelynek a letapogatandó tárgyat legalább egy irányból megvilágító eszköze, a letapogatandó megvilágított tárgyról a megvilágítás irányától különböző irányból képfelvételt készítő felvevóberendezése, a felvevóberendezésnek a tárgy kerületéhez viszonyított helyzetét beállító eszköze, valamint az egyes képfelvételeket és a letapogatandó tárgynak a felvevőberendezéshez viszonyított egyes helyzeteit összerendező eszköze, továbbá a találmány szerint minden egyes felvett képből fekete és fehér képpontokat tartalmazó mátrixot előállító, abból a tárgy megvilágított profiljának megfelelő alakos vonal vastagságát a pontosság növelésére egy képpont szélességűre vékonyító, az alakos vonal esetleges szakadásait megszüntető, és az alakos vonalat képező képpontok térkoordinátáit a tárgy, a felvevőberendezés és a megvilágító fényforrás pontos helyzete alapján kiszámoló, a képpontokból sokszöghálót előállító, és a sokszöghálót eredeti képinformációból származó textúrával ellátó eszköze van.
Látható tehát, hogy szabadalmi bejelentésünk lényege az ismert megoldásokban ki nem részletezett háromszögelési és 3D koordináta kiszámítási funkció újszerű megvalósítása, amelyet jelentősen megkönnyít az eredeti képinformációból származó textúra előállítása.
A találmányt az alábbiakban a csatolt rajz segítségével ismertetjük részletesebben, amelyen a javasolt eljá3
HU 220 729 Bl rás példakénti foganatosítási módját tüntettük fel. A rajzon az
1. ábra a találmány szerinti eljárás működési elve, a
2. ábra a találmány szerinti eljárást megvalósító berendezésnek a letapogatandó tárgyat tartó eleméhez - forgatható asztalához - rendelt korongjának egy lehetséges kialakítása látható egy szinkronlyukkal, a
3. ábra a szöghelyzetjeladó lehetséges kapcsolási vázlata, a
4. ábrán a felvett kép képpontjaival létrehozott alakos vonalak láthatók, az
5. ábrán a 4. ábra szerinti alakos vonalakkal létrehozott sokszögháló látható, a
6. ábra az eredeti képinformációból származó textúrával ellátott kész számítógépes modellt mutatja, a
7. ábra felvett képből a tárgy megvilágított profilját tartalmazó részlet kiválasztásához használt programablak lehetséges kialakítását mutatja, és a
8. ábrán a javasolt eljárás egy lehetséges folyamatábrája látható.
Általánosságban és elöljáróban elmondhatjuk, hogy a letapogatásra szánt 1 tárgyat a bemutatott esetben forgatható 2 asztalra helyezzük, és az 1 tárgy kiválasztott 3 forgástengelyére irányított keskeny, függőleges 4 fénycsíkkal megvilágítjuk. A 4 fénycsíkot 5 fényforrással és 6 optikai réssel állítjuk elő. A 2 asztalt elforgatva, az 1 tárgy profiljának képét néhány fokonként egy 7 felvevőberendezésként alkalmazott kamera és a rajzon külön nem ábrázolt, kereskedelmi forgalomban beszerezhető ismert video-digitalizálókártya segítségével 8 számítógépre rögzítjük. A 8 számítógépet szintén csak jelképesen vázoltuk. Az így kapott mozzanatokból az 1 tárgy, a 7 felvevőberendezés, és az 5 fényforrás helyzetének pontos ismeretében kiszámítjuk az 1 tárgyat határoló felület pontjainak háromdimenziós koordinátáit, majd az így kapott adatokból háromdimenziós modellt készítünk.
A háromdimenziós modell megjelenítése a 8 számítógépen a háromdimenziós alakzat kétdimenziós vetületének valamilyen képérzékelő eszköz által történő leképzésével kezdődik. A legismertebb ilyen eszköz a CCD érzékelőt tartalmazó videokamera, amely képi információkat hordozó kimenő videojelet állít elő. Az analóg videojel 8 számítógépbe csatolása úgynevezett video-digitalizálókártya felhasználásával lehetséges. A digitalizálást a 8 számítógép felől vezéreljük. Az egymást követő képkockákat, tehát a digitális mozgóképet a 8 számítógép adathordozójára, legtöbbször merevlemezére rögzítjük, későbbi feldolgozás céljából. A képfeldolgozás során különböző képjavítási módszerekkel korrigáljuk a leképezési hibákat, torzulásokat, kiszűrjük a zavaró hatásokat.
A számítógépes testmodellezés alapja az objektumok szerkezetét leíró matematikai modell. Amikor egy 1 tárgy vizuális megjelenítése a cél, elég annak látható külső felületét leírni. A felületmodellezés egyik legismertebb módszere a sokszögháló használata. A sokszögháló egy élekből, csúcsokból és sokszögekből álló gyűjtemény, amiben a sokszögek (poligonok) úgy vannak összekapcsolva, hogy legfeljebb két sokszög osztozik egy élen, egy él két csúcsot köt össze, egy sokszög az élek zárt sorozata, egy csúcsot legalább két él tartalmaz, és minden él legalább egy sokszög része.
A ma használatos letapogatóeszközök, közismert nevükön szkennerek jelkimenete a csúcspontok koordinátáit alkotó pontfelhő. A sokszöghálót ezekre a csúcspontokra illesztjük egy ismert képmegjelenítő programmal. Nyilvánvaló, hogy egy 1 tárgy felületének minél több pontját adjuk meg, annál jobban hasonlít a modell a valósághoz. A pontok száma egy szabálytalan felületű 1 tárgy esetén több százezer is lehet, egy ilyen modell kézzel történő megszerkesztése szinte lehetetlen.
A monitoron a térhatást az 1 tárgy kétdimenziós vetületeinek egymás utáni megjelenítésével érjük el.
Az 1 tárgy kellő számú profiljának felvételéhez az 1 tárgy és a 7 felvevőberendezés relatív, tehát egymáshoz viszonyított helyzetét változtatnunk kell, és ezt a műveletet célszerűen automatizáljuk. Az eredmény szempontjából nincs jelentősége, hogy az 1 tárgyat forgatjuk egy rögzített 7 felvevőberendezéshez képest, vagy fordítva. Az 1 tárgy pillanatnyi helyzetét azonban ismernünk kell, így célszerűen 9 szöghelyzetjeladót társítunk vagy vele, vagy a forgatható 2 asztallal.
A 2. ábrán a 9 szöghelyzetj eladó 10 korongját, a
3. ábrán a 9 szöghelyzetjeladó elektronikájának egy lehetséges kapcsolási vázlatát tűntettük fel.
A 10 korong üveghordozóra fotóeljárással felvitt igen precíz osztású mérőelem, amelynek kerületén fokonkénti osztás található. Ez az osztás a 2 asztal elfordulási szögének meghatározására szolgál. A 10 korongon egy úgynevezett 11 szinkronlyuk van kiképezve, ami minden teljes körülfordulásnál egyszer elhalad a szinkronpozíciót érzékelő, LED2 dióda által kibocsátott fényt érzékelő Q2 fototranzisztor előtt - lásd a 3. ábrát. Ezzel az IC IB és IC IC komparátorok formálta és IC2A, IC2B D-tárolók CLK. órajelbemenetére vezetett szinkronjellel engedélyezzük a 9 szöghelyzetjeladó kimenetét. A második szinkronjel letiltja a 9 szöghelyzetjeladót, így egy teljes körülfordulást követően több jel nem kerülhet a video-digitalizálókártyára. A 9 szöghelyzetjeladó RÍ ellenálláson át táplált LED1 diódájából kilépő fény következtében a 10 korong egyenletes szögsebességű forgásakor a Q1 fototranzisztor kimenetén közel szinuszos feszültségváltozás észlelhető. A szinuszosjeleket egy 74LS14 típusú IC1A komparátor alakítja digitális jelekké, ez a LED3 diódán ellenőrizhető. A mintavételezés megkezdésekor egy, az Sw2 nyomógombbal kiadott RÉSÉT jellel alaphelyzetbe hozzuk az 74LS74 típusú IC2A, IC2B D-tárolókat, amelynek Q kimenetei 0 állapotba kerülnek. Ha az IC2B D-tároló Q kimenetének szintje 0, akkor negált Q kimenete 1 értékű, és a 74LS93 típusú négybites IC3 számláló QA-QD kimenetei mind 0 értékűek. Az IC2A D-tároló Dl bemenetére visszacsatolt IC2B D-tároló negált Q kimenetének 1 értéke a szinkronjel hatására beíródik az IC2A D-tárolóba, annak Q kimenetének szintje 1-re vált, LED5 dióda segítségével nyomon követhető álla4
HU 220 729 Bl potú negált Q1 kimenetének 0 szintje engedélyezi az IC3 számlálót annak R01, R02 bemenetén át. Az IC3 számláló az A bemenetére vezetett jeleket osztja, OUT kimenete Swl kapcsolóval beállított leosztással a feldolgozóprogramtól függően például a 8 számítógép soros vagy párhuzamos portjára vezethető, és a jeleket LED4 dióda felvillanásai jelzik, vagy mint a jelen esetben, a mutatóeszközként használt egér bal gombjával van párhuzamosan kötve egy Q3 tranzisztorral meghajtott Rel reed-relé érintkezőivel, és az egér működését imitálja. Újabb szinkronjel hatására az IC2B D-tároló negált Q kimenetének az IC2A D-tároló D bemenetén jelen lévő 0 jelszintje íródik az IC2A D-tárolóba, és annak negált Q kimenetének 1 jelszintje ismét tiltja az IC3 számlálót. C2-C5 kondenzátorok a szokásos simító-szűrő feladatot látják el, RÍ -R9 ellenállások pedig áramkorlátozó, illetve előtét ellenállások, a digitális technikában szokásos méretezés szerint. A 9 szöghelyzetjeladó táplálásáról például LM 7805 típusú integrált IC4 feszültségstabilizátor gondoskodik.
tárgyként egy emberi arcot általában kétfokonként mintavételezve, 640 x 480 képpontfelbontásban rögzítünk, például AVI formátumban. A program az AVI mozgó képfájlokból olvassa ki a rögzített képkockákat. Fontos feladat a fénycsík elkülönítése a háttértől. Ezért az AVI fájlban képről képre elvégezzük az elemzést, majd a képek minőségének javítása után számoljuk ki a pontok térkoordinátáit. Eredményként egy VRML formátumú fájlt kapunk, amit valamilyen ismert böngészőprogrammal, (például GLView, CosmoPlayer, Netscape Live háromdimenziós plug-in, WorldView) nézegethetünk, forgathatunk, vagy egy háromdimenziós editorral tovább finomíthatunk, szerkeszthetünk.
Ha a 7 felvevőberendezés nem tud jól fókuszálni, vagy a fény az 1 tárgy felületével közel párhuzamosan esik be, a fénycsík elmosódottnak látszik. Ezért a képet egy vonalvékonyító algoritmussal (átlagolással) pontosítjuk, ami javulást eredményez a térbeli modellek minőségén. Az átlagolás bizonyos mértékben a csillanásokat is kiküszöböli, feltéve, ha a csillanásból adódó fényfolt halványabb magánál a fénycsíknál.
Kísérleteink során sokféle tárgyat digitalizáltunk és azt tapasztaltuk, hogy a fénycsík gyakran megszakad. Egyes esetekben kívül esik a kamera látószögén, mert az 1 tárgy valamilyen kiálló része eltakarja, beárnyékolja, vagy egy sötétebb felületdarab elnyeli a fényt. Ennek a problémának a kiküszöbölésére meg kell találnunk az esetleges szakadásokat, és ha lehetőség van rá, ki kell javítanunk. Ezt legegyszerűbben egy növekményes algoritmussal lehet megoldani. Bonyolultabb, de pontosabb, ha görbékkel közelítjük az eredeti profilt, mindkét megoldás szakember számára ismert műveletekből áll. A térbeli x, y, z koordináták kiszámításához szükséges ismerni forgástengely helyzetét, valamint a fényforrás és kamera által bezárt szöget. Utolsó lépés a csúcsokra egy sokszögháló feszítése.
Egy, az alábbiakban és a 8. ábrán részletesebben is bemutatásra kerülő lehetséges eljárás lépései a következők:
- a képfelvételeket tartalmazó fájl beolvasása,
- fekete-fehér konverzió,
- a szakadások összekötése növekményes algoritmussal,
- derékszögű koordináták kiszámítása,
- a sokszögháló előállítása,
- a háromdimenziós adatok fájlba írása,
- a fájl számítógépes modellként való megjelenítése.
1. Az AVI fájl olvasása lépésben megkezdve az eljárást, 82 lépésben beolvassuk a feldolgozási paramétereket, 83 lépésben pedig a videofájl fejlécét. A feldolgozóművelet bemenete egy szabványos tömörítetlen, Y8 színformátumú, hang nélküli Microsoft® AVI videofájl. Az elemzés eredményeként tároljuk a fejléc adatait és a képkockák (fiamé) pozícióját (offset), hogy a feldolgozás alatt már ne kelljen a fájlban keresgélni, hanem rögtön a soron következő képkockát olvashassuk be 84 lépésben. A felesleges információkat átugorjuk, így gyorsan végigérhetünk egy nagyobb, több tíz megabájtos fájlon is.
A feladatot megoldó rutin:
Bemenet:
AVI fájl elérési útja
Kimenet:
mP=*képkockák száma* mX=*képkockák szélessége* mY=*képkockák magassága* voffset (mP): képkockák pozícióit tartalmazó numerikus vektor tovább:
Bemenet:
k=*a beolvasandó képkocka sorszáma* v_offset mX, mY
Kimenet:
v_kep(mY) vektor, amely egy képkocka egyes képsorait tárolja.
2. Fekete-fehér konverzió lépésben a videofájlból egy fekete és fehér pontokat tartalmazó mátrixot állítunk elő, így egyértelművé válik minden képpontról, hogy a háttérhez, vagy a fénycsíkhoz tartozik. Az Y8 színformátumban minden képpont világosságkódja 8 biten (1 bájt) van tárolva. Egy képpont világosságkódja minél nagyobb, annál jobban közelít a színe a fehérhez (a fekete világosságkódja 0, a fehéré pedig 255). Egy képkockát tehát pontosan annyi bájton lehet kódolni, ahány képpontból áll. A pixelek színértékei egymás után, balról jobbra, fentről lefelé haladva vannak tárolva. Ha egy színkód értéke nagyobb, mint egy beállítható küszöbérték, tehát világosabb a küszöbértéknél, akkor azt fehérnek, ellenkező esetben feketének vesszük.
Az így előállított képen az eredeti vonalvastagság köszön vissza. A pontosság növelése érdekében a fénycsíkot egy pixel, azaz képpont szélességűre kell vékonyítani, amit 86 lépésben valósítunk meg úgy, hogy minden sorban a fehér pixelek átlagát képezzük.
HU 220 729 Bl
A feladatot megoldó rutin:
Bemenet: vkép vektor mX, mY küszöb xl, tengely (=x2)
Kimenet:
v_átlag(mY) vektor, amely egyes profilokat tartalmaz.
A működést az alábbi pszeudo-kódú algoritmus szemlélteti:
fory=l tomY fór x=xl to tengely if*az (x, y) pixel világosabb, mint küszöb* summ=summ+x osztó=osztó+1 end if next x v_átlag(y)=summ / osztó next y.
3. A szakadások összekötése növekményes algoritmussal lépésben megkeressük a fénycsík szakadásait. Az üres képsorokban (ahol egyetlen fehér képpont sem lett rögzítve) az átlagolás eredménye értelemszerűen 0. A fénycsík abban a képsorban folytatódik, ahol az átlag nullánál nagyobb lesz. Amennyiben sikerült megtalálni a szakadás kezdetét és végét, a két pontot egy egyenes szakasszal kötjük össze. Rövid szakadások esetén ez a közelítés nem okoz nagy hibát. Léteznek közelítő görbéket generáló számításigényesebb algoritmusok is, amelyek pontosabban közelítik az eredeti görbét. A kép első, vagy utolsó sorainál az algoritmus nem végezheti el az összekötést kezdő-, vagy végpont hiányában.
Az összekötés elvét egyszerűen úgy írhatjuk le, hogy az utolsó, még látható fehér pont koordinátái Xu, Yu, a következő, már látható fehér pont koordinátái legyenek Xt, Yt. Köztük szakadás van. Az összekötő szakasz meredeksége m=(Xt-Xu)/(Yt-Yu). Képsoronként, függőlegesen lefelé haladva Yu-tól Yt-ig lépésenként m-el növelve X értékét minden sorra meghatározzuk az új átlagot.
A feladatot megvalósító rutin:
Bemenet:
vátlag(mY) mY
Kimenet:
v_átlag() vektor, amely szakadások nélküli profilokat tartalmaz.
A működést a lenti pszeudo-kódú algoritmus szemlélteti :
ux=-l fory=l to mY x=v_átlag(y) ifx=0 if ux > -1 do until v_átlag(y) > 0 y=y+l loop dx=(v_átlag(y)-uX)/(y-uY) fory2=uY+l toy-1 v_átlag(y2)=v_átlag(y2 -1)+dx next y2 end if y=y-l else uY=y uX=x end if next y.
lépésben megvizsgáljuk, hogy minden képkockát feldolgoztunk-e, és ha nem, a leírt műveletsort a 84 lépéstől, azaz a következő képkocka beolvasásától ismételjük. Ezt követően kerítünk sort 89 lépésben a derékszögű koordináták kiszámítására.
4. Derékszögű koordináták kiszámítása
Bemenet:
v_átlag() vektorok
Kimenet:
háromdimenziós modell felületét leíró ponthalmaz.
Működés: Az algoritmus bemenete mP darab vektor, amely mind egy-egy kétdimenziós profilt ír le. Ezt az adathalmazt a legegyszerűbb módon henger-koordinátarendszerben tároljuk. A henger-koordinátarendszerben a koordinátákat az m magasság (v_átlag() vektorok indexe), az r sugár (v_átlag() vektorok elemei) és az ALFA elfordulási szög (v_átlag() vektor száma: 1mP-ig) jellemzi. E három adatból a következő egyenletek alapján számoljuk ki a derékszögű Xd, Yd, és Zd koordinátákat:
* Xd=r * SIN(ALFA)
Yd=r * COS(ALFA)
Zd=y.
Az így kapott ponthalmaz egy térbeli pontfelhőt alkot. Mivel a pontoknak (csúcsoknak) nincs felületük, a láthatóság érdekében a felhőre felületet kell ráfeszíteni, (lásd 4. ábra).
5. A sokszögháló előállítása lépésben létrehozzuk a háromdimenziós felületet, amelyet 91 lépésben apró négyszögekkel fedünk le. Egy négyszöget négy csúcspontja határoz meg; minden négyszögnek négy szomszédos négyszöggel van egy közös éle. Ez a módszer teljesen zárt háromdimenziós felületet alkotva biztosítja a teljes lefedettséget, lásd 5. és 6. ábra. Ezt követően 92 lépésben a háromdimenziós modellt lemezre újuk, majd az eljárást 93 lépésben befejezzük.
6. A háromdimenziós adatok fájlba írása
Bemenet:
háromdimenziós modell felületét leíró ponthalmaz
Kimenet:
háromdimenziós modellt tartalmazó fájl a kiválasztott fájlformátumban, például VRML, DXF, ASCII.
HU 220 729 Bl
A javasolt eljárást Visual Basic nyelven írt programmal hajtjuk végre, és eredménye vizuálisan is ellenőrizhető, lásd 7. ábra. A program futásakor pontosan nyomon lehet követni, hogy a feldolgozás melyik szakaszában tart.
Az eljárás megvalósítása, azaz a program indítása után a következő legfontosabb bemeneti adatokat kell megadni:
- profilokat tároló forrás videofájl elérési útja,
- háromdimenziós modell adatait tároló kimeneti fájl elérési útja,
- a 7 felvevőberendezés és az 5 fényforrás által bezárt szög
- a 3 forgástengely elhelyezkedése
- küszöbérték a világossági szintek elkülönítésére
- a profilok közötti szög mintavételezéskor (opcionális)
- a rögzítésre került profilok közül csak minden nedik profilt dolgozzuk fel
- a rögzítésre került képeknek csak minden k-adik sora legyen feldolgozva
- az első és az utolsó feldolgozandó profil száma, hogy egy maszkot állíthassunk elő
- háromdimenziós modell színe
- további paraméterek a minőség, sebesség és fájlméret beállítására.
Opcionálisan lehetőségünk van a videofájlból való, feldolgozás előtti mintavételezésre. E funkció segíti a felhasználót a három forgástengely és a képkivágás koordinátáinak a beállítására. A rutinnal kirajzoljuk az eredeti képkockát (lásd 7. ábra), a kétbitesre konvertált képet, a kiszámolt vonalvékonyítási és szakadások nélküli adatokat.
Az elérhető felbontást könnyen javíthatjuk az optikai osztott kör, vagy az elektronika javításával, egy nagy felbontású kamera használatával és különböző korrekciós algoritmusok beépítésével. A példaként elért felbontás:
A tárgy: 10 cm magas, 5 cm sugarú henger
B tárgy: emberi arc.
felbontás: A tárgy B tárgy függőleges: 0,2 mm 0,4 mm vízszintes: 0,9 mm 1,7 mm.
Egy felvétel fél perc alatt elkészíthető, a feldolgozás egy-másfél percig tart a modell bonyolultsága, felbontása függvényében.
Mivel fehér színű fénnyel világítjuk meg az 1 tárgyat, nincs akadálya a felvételt színesben készíteni, és a felület képét színesben rögzíteni. Az így kapott textúrát egy szerkesztőprogrammal a sokszöghálóra vetíthetjük, ezáltal nemcsak az eredeti forma, hanem a szín és rajzolat is megjeleníthető.
A könnyen megszerkeszthető testek előállításához érdemes valamilyen ismert CAD programot használni, mert egy kockát a nyolc csúcsával megadhatunk, amit egyébként a szkenner több tízezer pontból építene fel. Természetesen a térbeli világunk felépítésénél a két technikát vegyesen is alkalmazhatjuk.
A jelenlegi verzió nem veszi figyelembe a perspektivikus torzulásokat. Ha megfelelően állítjuk be a kamera látószögét, például a lehető legtávolabb helyezzük el a tárgytól és ráközelítünk (zoom), a torzító hatás csökkenthető.
A függőleges felbontás növelhető a kamera 90 fokos elforgatásával. A CCD kamera ugyanis több horizontális képpontot vesz figyelembe, mint vertikálist. Hagyományos kézi kamerát használva az elvi határ a TV-szabványból adódóan 768 képpont lehet. Ezek szerint 0,13 mm-es felbontást érhetnénk el egy 10 cm magas 1 tárgy esetében.
A harmadik dimenzió jelentős értéktöbbletet ad a kétdimenziós megjelenítéshez képest. A javasolt eljárás és berendezés jól használható és olcsó szerszámmá válhat a három dimenzióban alkotó művészek és a WEBoldalakat szerkesztők kezében. Az eszköz használatával új távlatok nyílhatnak meg a formatervezők előtt a térbeli modellezés gyakorlati alkalmazásával, új oktatási szemléltetőeszközöket lehet készíteni. A biológiatanárok az élőlények szerveinek térbeli képét mutathatják be, képzőművészeti órán pedig szobrok háromdimenziós képeiből virtuális galériát lehet létrehozni. A virtuális áruházak termékkatalógusait és a reklámokat is feldobja a háromdimenziós képek alkalmazása. Háromdimenziós PC-s játékok készítésénél ez az adatbeviteli eszköz lehetőséget ad organikus formák digitalizálására, emberi arc vagy éppen gyurmafigurák letapogatása és beszkennelése által, továbbá az is lehetségessé válik, a számítógépes játékok szereplőit odahaza mindenki tetszése szerint „testre szabja”.

Claims (8)

1. Eljárás térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására, amelynek során
- a tárgyat legalább egy irányból a tárgy (1) forgástengelyére (3) igazított, azzal előnyösen párhuzamos fénycsíkkal (4) megvilágítjuk,
- a megvilágított tárgyról azt előre megválasztott mértékben egy előre megválasztott forgástengely körül elforgatva a megvilágítás irányától különböző irányból képfelvételeket készítünk,
- a képfelvételeket adathordozón rögzítjük,
- minden egyes felvett képnek a tárgy megvilágított profilját tartalmazó részletét alakos vonal információként kiválasztjuk,
- az alakos vonal információkból önmagában ismert képfeldolgozóprogrammal sokszöghálót állítunk elő, és
- a sokszöghálót eredeti képinformációból származó textúrával látjuk el, azzal jellemezve, hogy
- a részletek kiválasztása és alakos vonal információként történő rögzítése során a felvett képből fekete és fehér képpontokat tartalmazó mátrixot állítunk elő,
- az alakos vonal vastagságát a pontosság növelésére átlagképzéssel egy képpont szélességűre vékonyítjuk,
HU 220 729 Bl
- az alakos vonal esetleges szakadásait számítással megszüntetjük,
- az alakos vonalat képező pontok térkoordinátáit a tárgy (1), a felvevőberendezés (7) és a megvilágító fényforrás (5) pontos helyzete alapján kiszámítjuk.
2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy az alakos vonal esetleges szakadásait növekményes algoritmus felhasználásával szüntetjük meg.
3. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy az alakos vonal esetleges szakadásait az eredeti profil görbékkel történő közelítésével szüntetjük meg.
4. Az 1-3. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a tárgynak (1) a felvevőberendezés (7) nézőszögéből a tárgy (1) más részeit takaró részletei hatásának csökkentésére egynél több, különböző helyzetű fényforrást (5) használunk.
5. Az 1-3. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a tárgynak (1) a felvevőberendezés (7) nézőszögéből a tárgy (1) más részeit takaró részletei hatásának csökkentésére egynél több, különböző helyzetű fényforrást (5) használunk váltakozva, és az egyes fényforrásokkal (5) külön-külön képfelvételeket készítünk.
6. Az 1-5. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a perspektivikus torzulások csökkentésére a felvevőberendezést (7) a képfelvétel minősége által meghatározott legnagyobb távolságban helyezzük el a tárgytól (1), és a távolságot úgy határozzuk meg, hogy a tárgy (1) helyére, annak mélységi tartományába referenciahálót helyezünk, arról felvételt készítünk, és a felvett kép és a referenciaháló összehasonlításával a vízszintes és a függőleges koordináták korrekcióját meghatározzuk, majd a referenciahálónak a tárgy (1) mélységi tartományában történő áthelyezésével az összehasonlítást ismételjük, és ezzel a mélységi koordináta korrekcióját is meghatározzuk.
7. Az 1-6. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a felvett kép függőleges felbontását úgy növeljük, hogy a felvevőberendezés (7) optikájának érzékenyebb irányát a tárgy (1) forgástengelyével (3) párhuzamosan állítjuk be.
8. Berendezés az 1-7. igénypontok bármelyike szerinti eljárás megvalósítására, amelynek a letapogatandó tárgyat legalább egy irányból megvilágító eszköze, a letapogatandó megvilágított tárgyról a megvilágítás irányától különböző irányból képfelvételt készítő felvevőberendezése, a tárgy kerületének és a felvevőberendezésnek egymáshoz viszonyított helyzetét beállító eszköze, valamint az egyes képfelvételeket és a letapogatandó tárgynak a felvevőberendezéshez viszonyított egyes helyzeteit összerendező eszköze van, azzal jellemezve, hogy minden egyes felvett képből fekete és fehér képpontokat tartalmazó mátrixot előállító, abból a tárgy (1) megvilágított profiljának megfelelő alakos vonal vastagságát a pontosság növelésére egy képpont szélességűre vékonyító, az alakos vonal esetleges szakadásait megszüntető, és az alakos vonalat képező képpontok térkoordinátáit a tárgy (1), a felvevőberendezés (7) és a megvilágító fényforrás (5) pontos helyzete alapján kiszámoló, a képpontokból sokszöghálót előállító, és a sokszöghálót eredeti képinformációból származó textúrával ellátó eszköze van.
HU9802241A 1998-10-06 1998-10-06 Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására HU220729B1 (hu)

Priority Applications (3)

Application Number Priority Date Filing Date Title
HU9802241A HU220729B1 (hu) 1998-10-06 1998-10-06 Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására
AU61159/99A AU6115999A (en) 1998-10-06 1999-10-06 Method and apparatus for the scanning of spatial objects and to create a three dimensional computer model
PCT/HU1999/000067 WO2000021034A1 (en) 1998-10-06 1999-10-06 Method and apparatus for the scanning of spatial objects and to create a three dimensional computer model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
HU9802241A HU220729B1 (hu) 1998-10-06 1998-10-06 Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására

Publications (3)

Publication Number Publication Date
HU9802241D0 HU9802241D0 (en) 1998-12-28
HUP9802241A1 HUP9802241A1 (hu) 2000-06-28
HU220729B1 true HU220729B1 (hu) 2002-05-28

Family

ID=89997187

Family Applications (1)

Application Number Title Priority Date Filing Date
HU9802241A HU220729B1 (hu) 1998-10-06 1998-10-06 Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására

Country Status (3)

Country Link
AU (1) AU6115999A (hu)
HU (1) HU220729B1 (hu)
WO (1) WO2000021034A1 (hu)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0208852D0 (en) * 2002-04-18 2002-05-29 Delcam Plc Method and system for the modelling of 3D objects
JP4083554B2 (ja) * 2002-11-29 2008-04-30 株式会社森精機製作所 3次元モデルデータ生成装置
EP1612509A1 (en) * 2004-07-01 2006-01-04 Sick IVP AB Optical profilometer
WO2009024758A1 (en) 2007-08-17 2009-02-26 Renishaw Plc Non-contact probe
GB0915904D0 (en) 2009-09-11 2009-10-14 Renishaw Plc Non-contact object inspection
CN112257536B (zh) * 2020-10-15 2022-05-20 天目爱视(北京)科技有限公司 一种空间与物体三维信息采集匹配设备及方法
CN113137938B (zh) * 2021-04-13 2023-04-25 思看科技(杭州)股份有限公司 三维扫描系统、方法、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63265371A (ja) * 1986-12-15 1988-11-01 Toshiba Corp 線図形つなぎ装置
US5747822A (en) * 1994-10-26 1998-05-05 Georgia Tech Research Corporation Method and apparatus for optically digitizing a three-dimensional object

Also Published As

Publication number Publication date
WO2000021034A1 (en) 2000-04-13
HUP9802241A1 (hu) 2000-06-28
HU9802241D0 (en) 1998-12-28
AU6115999A (en) 2000-04-26

Similar Documents

Publication Publication Date Title
US5870220A (en) Portable 3-D scanning system and method for rapid shape digitizing and adaptive mesh generation
US6611617B1 (en) Scanning apparatus and method
US9363501B2 (en) Combining depth-maps from different acquisition methods
JP4892480B2 (ja) 適応三次元走査
US6529627B1 (en) Generating 3D models by combining models from a video-based technique and data from a structured light technique
US6205243B1 (en) System and method for rapid shape digitizing and adaptive mesh generation
Moss et al. A laser scanning system for the measurement of facial surface morphology
Petrov et al. Optical 3D digitizers: Bringing life to the virtual world
US6549288B1 (en) Structured-light, triangulation-based three-dimensional digitizer
US5747822A (en) Method and apparatus for optically digitizing a three-dimensional object
US20030202120A1 (en) Virtual lighting system
US20050128196A1 (en) System and method for three dimensional modeling
EP3401876A1 (en) Detection of a movable object when 3d scanning a rigid object
KR20080055863A (ko) 얼굴 모션 데이터 캡쳐링 및 처리
JP2003108985A (ja) 3次元オブジェクトを3次元モデルとしてデジタル化するシステムおよび方法
JP2000516360A (ja) 三次元物体モデル化装置及び方法
WO2009120073A2 (en) A dynamically calibrated self referenced three dimensional structured light scanner
JP2001243468A (ja) 三次元モデリング装置、方法及び媒体並びに三次形状データ記録装置、方法及び媒体
HU220729B1 (hu) Eljárás és berendezés térbeli tárgy letapogatására és háromdimenziós számítógépes modell létrehozására
JPH05135155A (ja) 連続シルエツト画像による3次元モデル構成装置
US4757379A (en) Apparatus and method for acquisition of 3D images
JPH071164B2 (ja) 三次元形状の認識装置
JP2001118074A (ja) 3次元画像作成方法、3次元画像作成装置及びプログラム記録媒体
Soh et al. Texture mapping of 3D human face for virtual reality environments
JP2787612B2 (ja) 顔画像モデル生成装置

Legal Events

Date Code Title Description
HMM4 Cancellation of final prot. due to non-payment of fee