TECHNICKÁ UNIVERZITA V LIBERCI FAKULTA STROJNÍ
DIPLOMOVÁ PRÁCE Vývoj zařízení bezkontaktní digitalizace
2006
PETR LEPŠÍK
Technická univerzita v Liberci Fakulta strojní
Katedra výrobních systémů
Obor: Výrobní systémy Zaměření: Pružné výrobní systémy pro strojírenskou výrobu
VÝVOJ ZAŘÍZENÍ BEZKONTAKTNÍ DIGITALIZACE KVS – VS – 170
Petr Lepšík
Vedoucí práce: Prof. Ing. Přemysl Pokorný, CSc.
Počet stran : 76 Počet příloh : Počet obrázků : 38 Počet tabulek : Počet modelů nebo jiných příloh: -
V Liberci 21.5. 2006
1
Diplomová práce KVS – VS – 170
TÉMA: VÝVOJ ZAŘÍZENÍ BEZKONTAKTNÍ DIGITALIZACE ANOTACE: Práce dává ucelený přehled o hlavních metodách a principech 3D digitalizace s jejich využitím v procesu Reverse Engineering. Podrobněji se pak zabývá principy a metodami optické 3D digitalizace na jejichž principu je založen 3D digitizér vyvíjený na Katedře výrobních systémů FS TUL, který je v této práci také představen. V rámci vývoje tohoto 3D digitizéru je v praktické části práce řešen vývoj matematického algoritmu pro skládání skenů. Vyvinutý algoritmus je dále aplikován a testován na modelovém příkladě. Na závěr jsou uvedeny výsledky testů a poznatky z oblasti vývoje matematického algoritmu skládání skenů.
THEME: DEVELOPMENT OF DEVICE FOR NON-CONTACT DIGITIZING ANNOTATION: The work summarises information about main methods of 3D digitizing and their use in process of Reverse Engineering. Minutely it deals with principles and methods of optical 3D digitizing on which 3D scaner is based and has been developing at Department of manufacturing systems Faculty of mechanical engineering Technical University of Liberec which is presented in this work. There is a practical part where it is worked on development of mathematical algorithm of assembling scans. Algorithm which has been developed is further applied and tested on a model example. At the end there are given results of the tests and information about development of mathematical algorithm of assembling scans.
Desetiné třídění: Klíčová slova : 3D digitalizace, Reverse Engineering, optické 3D skenování, triangulace, stereovidění, Newtonova metoda Key words : 3D digitizing, Reverse Engineering, optical 3D scanning, triangulation, stereovision, Newton’s method Zpracovatel: TU v Liberci, Fakulta strojní, Katedra výrobních systémů Dokončeno: 2006 Archivní označení zprávy: Počet stran : 76 Počet příloh : Počet obrázků: 38 Počet tabulek : Počet modelů nebo jiných příloh: -
2
Prohlášení Byl jsem seznámen s tím, že na mou diplomovou práci se plně vztahuje zákon č. 121/2000 o právu autorském, zejména § 60 (školní dílo) a § 35 (o nevýdělečném užití díla k vnitřní potřebě školy). Beru na vědomí, že TUL má právo na uzavření licenční smlouvy o užití mé práce a potvrzuji, že s o u h l a s í m s případným užitím mé práce (prodej, zapůjčení apod.). Jsem si vědom toho, že užít své diplomové práce či poskytnout licenci k jejímu využití mohu jen se souhlasem TUL, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených univerzitou na vytvoření díla (až do jejich skutečné výše).
V Liberci 21.5. 2006.
…………………… Petr Lepšík
3
Místopřísežné prohlášení Místopřísežně prohlašuji, že jsem diplomovou práci vypracoval samostatně s použitím uvedené literatury pod vedením vedoucího a konzultanta diplomové práce.
V Liberci 21.5. 2006.
…………………… Petr Lepšík
4
Poděkování
Na tomto místě bych chtěl poděkovat svému vedoucímu diplomové práce, panu Prof. Ing. Přemyslu Pokornému, CSc. za vedení této práce a za podnětné připomínky ke zpracovávanému tématu. Dále bych chtěl poděkovat mému konzultantovi, panu Ing. Petru Kellerovi, Ph.D za věnovaný čas, četné konzultace a cenné rady ke zpracovávanému tématu.
Petr Lepšík
5
Obsah: Seznam použitých zkratek a symbolů …………………………..………………… .……….8 1. Úvod ………………………………………………………………………………..……….9 2. Rozbor současného stavu ……………………………………………………….. .……...10 2.1. Princip procesu Reverse Engineering ………………………………………... ............10 2.2. Oblasti využití Reverse Engineeringu ……………………………………….. .……...11 2.2.1. Design ………………………………………………………………….. .…...…12 2.2.2. Softwarová analýza …………………………………………………….. .…...…12 2.2.3. Kontrola kvality měřením odchylek …………………………………… .…...…12 2.2.4. Výroba modelu metodami Rapid Prototyping …………………………. .…...…13 2.2.5. Kontrola smontovatelnosti ……………………………………………... .…...…13 2.2.6. Tvorba replik historických objektů…………………………………….. .…...…14 2.2.7. Ostatní oblasti využití …………………………………………………. .…...…14 3. Přehled dostupných systémů ……………………………………………………. ….......16 3.1. Rozdělení 3D digitizérů ……………………………………………………… .…...…16 3.2. Mechanické 3D digitizéry …………………………………………………..... …...….17 3.2.1. Digitizéry ramenové angulární struktury………....…………………….. …...….17 3.2.2. CMM a frézky s dotykovou sondou …………………………………….………18 3.3. Laserové interferometrické 3D digitizéry ……………………………………. …...….19 3.4. Ultrazvukové 3D digitizéry …………………………………………………...…...….21 3.5. Destruktivní 3D digitizéry …………………………………………………….…...….21 3.6. Rentgenové 3D digitizéry …………………………………………………..... …...….23 4. Optické 3D digitizéry ……………………………………………………………. …..…..27 4.1. Princip stereovidění ………………………………………………………….. …..…..27 4.2. Systémy založené na principu stereovidění ………………………………….. …...….29 4.3. Princip projekce proužku světla ……………………………………………… …...….31 4.3.1. Triangulace …………………………………………………………….. …...….32 4.3.2. Způsoby osvětlování scény …………………………………………….. …...….35 4.4. Systémy s projekcí sady proužků světla ……………………………………... …...….35 4.5. Systémy s projekcí jednoho laserového proužku …………………………….. ………40
6
5. 3D digitizér vyvíjený na KVS ……………………………………………………..……43 5.1. Požadavky na měření …………………………………………………………... ……43 5.2. Volba principu …………………………………………………………………..……43 5.3. Současný stav vývoje …………………………………………………………... ……44 5.4. Realizace měření a zjišťování dosahované přesnosti měření …………………...…....46 5.5. Další cíle vývoje ………………………………………………………………...…....48 6. Vývoj algoritmu pro skládání skenů ……………………………………………………49 6.1. Hledání vhodného algoritmu …………………………………………………………50 6.1.1. Uvedení do problému …………………………………………………….. ……50 6.1.2. Sestavení základních rovnic ………………………………………………..……51 6.1.3. Newtonova iterační metoda …………………………………………………....55 6.1.4. Výpočet prvků matice M …………………………………………………. …....57 6.1.5. Sestavení výsledné iterační rovnice ……………………………………….……62 6.2. Aplikace algoritmu ……………………………………………………………...……63 6.2.1. Výpočet souřadnic obrazů referenčních bodů …………………………….……63 6.2.2. Spuštění iteračního procesu a provedení zkoušek ………………………………64 6.3. Zhodnocení výsledků zkoušek a návrh dalšího postupu ……………………….. …....67 6.4. Další možné přístupy k problému ……………………………………………….……70 7. Závěr ………………………………………………………………………………………73 Literatura ……………………………………………………………………………………74 Vlastní publikace autora ……………………………………………………………………76
7
Seznam použitých zkratek a symbolů: 2D …..…… Two Dimensions (dvojrozměrný) 3D …..…… Three Dimensions (třírozměrný) CAD .. …… Computer Aided Design (počítačem podporované konstruování) CAI ……… Computer Aided Inspection (počítačem podporovaná kontrola) CCD .. …… Charged Coupled Device (snímací zařízení obrazu) CMM .…… Coordinate Measuring Machine (souřadnicový měřící stroj) CNC .. …… Computer Numerical Control (číslicové řízení počítačem) CT …. …… Computer Tomography (počítačová tomografie) dpi …. …… dots per inch (počet bodů na palec) FEM .. …... Finite element method (metoda konečných prvků) RP ….. …... Rapid Prototyping (rychlé prototypování) SLA ... …… StereoLitography Aparatus (jedna z metod Rapid Prototyping) STL ... …... (typ plochy tvořené trojúhelníky propojením mraku bodů, podklad pro RP)
8
1. Úvod V posledních několika letech jsme měli možnost setkávat se stále častěji s pojmy, jakými jsou Reverse Engineering a 3D digitalizace. Je tomu tak proto, že v současné době rostou požadavky na rychlé získávání digitální podoby nejrůznějších předmětů a objektů. Oblast 3D digitalizace je poměrně nové rychle se rozvíjející technické odvětví, jež se stává nedílnou součástí vývoje výrobků. Tato oblast strojního inženýrství je ještě relativně málo zmapována, proto je úkolem první části této práce poskytnout ucelený přehled o metodách a principech 3D digitalizace s uvedením konkrétních produktů s jejich technickými parametry. Z používaných metod 3D digitalizace nacházejí největší uplatnění bezkontaktní optické metody, kterými lze velmi rychle získat přesný počítačový model digitalizovaného objektu. V současné době je vývoji těchto systémů věnováno značné úsilí. Z tohoto důvodu je cílem další části práce hlouběji seznámit s jednotlivými technikami bezkontaktní optické 3D digitalizace. Na jednom z optických principů, konkrétně na principu projekce jednoho laserového proužku a na triangulaci, je založen také 3D digitizér vyvíjený na Katedře výrobních systémů Fakulty strojní Technické univerzity v Liberci. V současné době je zhotoven funkční prototyp, který slouží k praktické realizaci měření a k ověřování teoretických předpokladů. Jelikož princip triangulace na kterém je činnost tohoto digitizéru založena, je poměrně jednoduchý a matematicky dobře zvládnutelný, přesouvá se vývoj do oblasti kalibrace jednotlivých prvků digitizéru. Ta pak vede k požadovanému zvýšení přesnosti měření. Ve své další části si tato práce dává za úkol seznámit s tímto 3D digitizérem a s jeho vývojem. V rámci vývoje zmiňovaného 3D digitizéru je hlavním cílem této práce vyvinout vhodný matematický algoritmus, jež umožní skládání jednotlivých skenů v celistvou plochu a tím tak podstatně zvýší univerzálnost a konkurenceschopnost tohoto 3D digitizéru. Vývoji algoritmu, jeho testování, zhodnocení dosažených výsledků a shrnutí poznatků z této oblasti vývoje, je vyhrazena druhá polovina této práce.
9
2. Rozbor současného stavu V minulosti bylo možné uskutečnit strojírenský proces vývoje a výroby součásti pouze klasickým způsobem, spočívajícím ve vytvoření počítačového modelu pomocí některého z dostupných CAD systémů (např. Pro-Engineer, Catia, apod.). Počítačový model byl následně použit pro vytvoření programu pro CNC stroj, který zhotovil v případě obrobku finální součást a v případě odlitku formu pro odlévání. Získávání počítačového modelu touto softwarovou cestou, je vhodné pouze pro jednoduché součásti tvořené základními geometrickými prvky. U součástí skládajících se z obecných ploch je tvorba počítačového modelu časově velmi náročná a složitá, mnohdy až neproveditelná. V současné době již známe řešení tohoto problému a dokážeme velmi rychle vytvořit počítačový model součásti, jež je tvořena složitými obecnými plochami. Řešením je užití 3D digitalizace při procesu Reverse Engineering.
2.1. Princip procesu Reverse Engineering Prvotním předpokladem užití Reverse Engineeringu je existence reálné součásti, jejíž počítačový model chceme získat. Onou součástí může být prototyp, náhodně vybraná součást z výrobní série, ale také designérem vytvořený fyzický model např. z modelovací hlíny. Tuto součást je pak nutno digitalizovat vhodnou skenovaní technologií. Rozdíl mezi klasickým procesem a procesem Reverse Engineering je znázorněn na obr. 2.1.
Obr. 2.1 Proces Reverse Engineering [10]
10
Fáze převodu reálné součásti do digitální podoby se nazývá 3D digitalizace, nebo také skenování, snímání či měření. Tato fáze tvoří nejpodstatnější část Reverse Engineeringu. Zařízení sloužící ke snímání 3D povrchů se nazývá 3D digitizér, 3D skener, nebo také 3D měřící zařízení. Jednotlivé typy 3D digitizérů a principy na kterých jsou založeny budou podrobně rozebrány v kapitole č.3. Vhodnost využití 3D digitalizace si můžeme ukázat v analogii s 2D skenováním. Nejjednodušší cestou přenesení obrázku, či fotografie do digitální podoby je použití 2D skeneru, stejně tak je nejjednodušším způsobem přenosu 3D tělesa do digitální podoby užití 3D digitizéru.
2.2. Oblasti využití Reverse Engineeringu Původním cílem Reverse Engineeringu bylo přenesení reálného modelu designéra do digitální podoby. S postupem času si však Reverse Engineering našel uplatnění i mimo oblast strojírenství a to například ve výzkumu historických objektů, medicíně či filmu. Přehled oblastí uplatnění Reverse Engineeringu je znázorněn na obr. 2.2.
Obr. 2.2 Oblasti využití procesu Reverse Engineering [10]
11
2.2.1. Design
V moderním průmyslovém odvětví, jakým je automobilový průmysl se procesu Reverse Engineering s výhodou využívá při vývoji karoserií automobilů. Nejprve designér vytvoří reálný hliněný model, jež bývá zpravidla v měřítku 1:1. Může ovšem být i zmenšen oproti výslednému produktu, jak si můžeme povšimnout na obr. 2.3. znázorňujícím postup při vývoji karosérie automobilu. Po zhotovení modelu je model snímán 3D digitizérem. Z nasnímaných dat pak velmi rychle dostáváme požadovaný počítačový model.
Obr. 2.3 Vývoj karoserie automobilu [11]
2.2.2. Softwarová analýza
Pokud máme reálnou součást, jejíž digitální model nemáme k dispozici, a chceme zjistit mechanické vlastnosti součásti aniž by došlo k jejímu porušení, užijeme 3D digitalizaci a získáme tak počítačový model. Ten pak lze testovat např. z hlediska pevnosti pomocí některého z FEM softwarů, např. softwaru Algor. Konkrétně se může jednat o součást mechanismu starého zemědělského stroje, nebo také kloubní implantát. Zejména v lékařství je po nalezení optimálního tvaru protézy důležité provést pevnostní analýzu a vyloučit tak vznik mezních stavů vedoucích k poškození protézy.
2.2.3. Kontrola kvality měřením odchylek
Mimo digitalizování reálných modelů za účelem následné výroby se 3D digitizérů využívá také k měření odchylek již vyrobených součástí. Jelikož žádná výrobní technologie není absolutně přesná je třeba zhotovenou součást porovnat s původním návrhem . Proces ověřování technologie se nazývá CAI (Computer Aided Inspection). Proces probíhá tak, že
12
3D digitizér nasnímá prostorové souřadnice konečného výrobku a speciální program (např. Verdict) dokáže porovnat naměřené hodnoty s původním počítačovým modelem. Pomocí barevného spektra lze pak zvýraznit odchylky od původního návrhu. Na obr. 2.4. je uveden výsledek procesu CAI u výztuhy dveří vozu Ford. Právě pro kontrolu správnosti zhotovení součástí, jakými jsou části karoserií automobilů, se tohoto procesu užívá nejčastěji.
Obr. 2.4 Výsledek měření odchylek výlisku [12]
2.2.4. Výroba modelu metodami Rapid Prototyping
Pokud existuje pouze jediný designový návrh výrobku bez počítačového modelu a je ho potřeba např. prezentovat obchodním partnerům, lze pomocí Reverse Engineeringu a metod Rapid Prototyping vyrobit další modely, aniž by došlo k poškození originálu. Metody Rapid Prototyping většinou vyžadují polygonální model, který lze pomocí 3D digitizéru a následného postprocessingu relativně snadno vytvořit. Celý proces od digitalizace až po finální výrobek může být otázkou jen několika dnů. Ve vývoji výrobku tak lze po změnách tvaru modelu velice rychle vyrobit nové aktuální modely, které se mohou podrobit dalšímu schvalovacímu procesu. Lze tak výrazně zkrátit čas pro uvedení výrobku na trh, což je jednou z priorit managementu firmy.
2.2.5. Kontrola smontovatelnosti
Často je potřeba zakomponovat součást do ohraničeného prostoru, v němž se již nachází další nejrůznější objekty. Pokud tento prostor nelze jednoduše změřit nebo pokud ho chceme mít definovaný přesně, lze pomocí 3D digitalizace a následné rekonstrukce ploch či 13
křivek získat digitální model, podle kterého se upraví vkládaná součástka. Tentokrát je získání plošného modelu relativně rychlé, protože se vytváří tzv. obálkové plochy, které kopírují pouze základní tvary bez uvažování detailů.
2.2.6. Tvorba replik historických objektů
Další důležitou oblastí využití 3D digitalizace je výzkum historických objektů, jakými jsou například sochy. Máme-li jedinečný exponát, který chceme poskytnout na odiv široké veřejnosti např. prostřednictvím muzeí, je třeba zhotovit jeho repliky. Dříve nebylo možné repliky zhotovovat pomocí 3D digitalizace, tím docházelo k tomu, že nedosahovaly žádané podobnosti a věrohodnosti. S využitím 3D digitalizace je možno získat identickou kopii originálu. Na obr. 2.5. je zachycen proces digitalizace šestimetrové renesanční sochy Davida z roku 1504 od známého italského sochaře Michelangela Buenarotiho.
skenování originálu
počítačový model
replika
Obr. 2.5 Proces tvorby přesné repliky Michelangelova Davida [13]
Mimo ke zhotovování replik se využívá 3D digitalizace soch za účelem získání digitálních dat pro ulehčení restaurování soch. Konkrétním případem této aplikace je digitalizace barokních soch Matyáše Brauna na Karlově mostě v Praze. Ta byla provedena v roce 1999 na žádost Ministerstva kultury ČR.
2.2.8. Ostatní oblasti využití
Je zřejmé, že oblastí využívajících procesu Reverse Engineering je více, než pouze ty, které zde byly uvedeny. Zajímavé je např. využití procesu Reverse Engineering ve filmu
14
Jurský park. Zde se nejprve vytvořily reálné makety prehistorických zvířat, ty se naskenovaly, převedly do digitální podoby a teprve potom animovaly. Podobným způsobem, jakým se využívá 3D digitalizace ve filmovém průmyslu, se jí také využívá při vývoji počítačových her. V dnešní době internetu je již běžné, že firmy své produkty prezentují na svých webových stránkách. Problém, jak nejlépe vytvořit a vizualizovat představovaný produkt řeší též užití 3D digitalizace. Ve spotřebitelském průmyslu proces Reverse Engineering využívá např. firma Adidas při navrhování sportovní obuvi. Dnes se 3D skenery využívají i v medicíně či kosmetickém průmyslu, např. firma Procter & Gamble tuto technologii využívá pro zjišťování účinku krémů na vrásky. V oblasti medicíny nachází Reverse Engineering uplatnění při tvorbě vzorů implantátů a náhrad, stejně tak jako při tvorbě učebních pomůcek v podobě modelů lidských orgánů. Neopomenutelnou oblastí využití je vytvoření modelu staré součástky bez výkresové dokumentace v případě, že je potřeba tuto součástku vyrobit jako náhradní díl. Konkrétně se může jednat o součást mechanismu starého automobilu (veterána).
Z rozboru současného stavu, s ohledem na výše zmíněné oblasti využití Reverse Engineeringu a 3D digitalizace, vyplývá jednoznačný závěr, a to ten, že dnešek si žádá Reverse Engineering a 3D digitalizaci.
15
3. Přehled dostupných systémů V této kapitole bude věnována pozornost různým typům 3D digitizérů, které nabízí současný trh. Bude provedeno jejich rozdělení, vysvětleny principy 3D skenování na nichž jsou založeny. Dále budou uvedeny výhody a nevýhody z nichž plyne vhodnost užití pro konkrétní aplikace.
3.1. Rozdělení 3D digitizérů Rozdělení 3D digitizérů je možno provést z více hledisek. Jedním z hledisek je mobilita. Mobilní digitizér je přenosný a lze ho dopravovat k digitalizovaným předmětům, což je výhodou zvláště u rozměrných předmětů s vysokou hmotností. Oproti tomu stacionární digitizér je nepřenosný a digitalizované předměty musí být umístěny do jeho pracovního prostoru. Dalším z hledisek členění může být dosahovaná přesnost měření a tím i účel využití digitizéru. My budeme za základní rozdělení považovat to, zda jsou digitalizované objekty snímány kontaktním či bezkontaktním způsobem. Kontaktní 3D digitizéry spočívají v mechanickém snímání povrchu. Bezkontaktní 3D digitizéry dále dělíme podle způsobu snímání ploch.
Kontaktní 3D digitizéry: mechanické
Bezkontaktní 3D digitizéry: laserové ultrazvukové destruktivní rentgenové optické
Z výše uvedených metod 3D digitalizace se nejvíce uplatňují optické bezkontaktní metody. Jelikož 3D digitizér vyvíjený na KVS je také založen na jedné z optických metod, bude tato problematika detailněji rozebrána v kapitole 4. 16
3.2. Mechanické 3D digitizéry
3.2.1. Digitizéry ramenové angulární struktury
Zástupcem tohoto typu kontaktních 3D digitizérů je např. zařízení MicroScribe od firmy Immerson Corporation [15]. Tento kontaktní 3D digitizér je založen na velmi jednoduchém principu snímání povrchu součásti. Ten spočívá v mechanickém „osahání“ povrchu součásti hrotem, popř. kuličkou umístěnou na konci posledního ramene digitizéru. Digitizér je tvořen kinematickou strukturou angulárního typu s pěti stupni volnosti (viz. obr. 3.1). Prostorové souřadnice povrchu digitalizovaného předmětu pak dostáváme pomocí softwaru, který řeší přímou úlohu polohy. Ta spočívá v přepočítání strojních souřadnic získaných z rotačních odměřovacích čidel polohy umístěných v každém z kloubů digitizéru.
Obr. 3.1 Kontaktní 3D digitizér MicroScribe [10]
Při samotném snímání povrchu lze postupovat dvěma způsoby v závislosti na způsobu získávání počítačového modelu. Pokud digitalizujeme relativně jednoduchou součást, např. zrcátko automobilu a požadujeme vysokou kvalitu a hladkost výsledné plochy, je vhodné sejmout jen několik nejnutnějších kontur povrchu. Ty se nám vygenerují jako linie bodů, pomocí nichž pak v některém z CAD softwarů (např. Catia) vytvoříme spline křivky a následně jimi proložíme plochy. Tento způsob snímání povrchu je poměrně rychlý, počítačové zpracování nasnímaných bodů je však časově náročnější a pracnější. Pokud chceme digitalizovat složitější součást, jak je tomu např. na obr. 3.1, je třeba sejmout co nejhustší síť bodů, z níž je následně velmi rychle vygenerována plocha ve formátu
17
STL (StereoLitoGraphy). Tato výsledná plocha je tvořena trojúhelníkovými plochami a její hladkost je přímo úměrná počtu sejmutých bodů. Plochy ve formátu STL se používají pro výrobu součástí metodami Rapid Prototyping. Firma Immerson Corporation vyrábí 3D digitizér MicroScribe ve čtyřech základních provedeních lišících se v dosahované přesnosti měření a ve velikosti pracovního prostoru, tedy v průměru akční koule. Provedení s největším průměrem akční koule (1,67m) dosahuje přesnosti 0,43mm a provedení s nejmenším průměrem akční koule (1,27m) dosahuje přesnosti 0,23mm. [10] Za výhody tohoto typu 3D digitizéru je považována jeho relativně nízká cena, která se pohybuje kolem 250.000 Kč, dále pak mobilita a možnost využití pro složité součásti s členitým povrchem a dutinkami. Mezi nevýhody patří velká pracnost a časová náročnost snímání modelu pro případ kdy budeme plochu generovat v STL formátu a je potřeba nasnímat hustou síť bodů. Další nevýhodou je relativně nízká dosahovaná přesnost měření (řádově desetiny milimetru). Využití 3D digitizérů MicroScribe nalezneme podle výrobce v mnoha odvětvích, jakými jsou např. Rapid Prototyping, vývoj forem, vývoj obuvi a další. Vzhledem k nižší dosahované přesnosti je však tento 3D digitizér častěji využíván pro vývoj počítačových her a ve filmovém průmyslu pro animaci postav. Mimo zmíněného 3D digitizéru MicroScribe, jsou založeny na stejném principu kontaktního snímání povrchu např. také ramenové 3D digitizéry Faro Gage a Platinum FaroArm. Tyto digitizéry dosahují přesnosti měření až 0,02mm. Vývojem a výrobou těchto digitizérů se zabývá firma FARO [22].
3.2.2. CMM a frézky s dotykovou sondou
Druhým typem dotykových digitizérů jsou CMM (Coordinate Measuring Machine). Toto zařízení je založeno na principu CNC stroje s inverzním tokem dat s tím, že je místo nástroje upnuta snímací sonda. Tato sonda je v přímém kontaktu se snímanou plochou a postupným přejížděním plochy získá pomocí přidružené elektroniky její prostorová data. CMM se mimo k digitalizaci, využívají také pro přesnou kontrolu rozměrů výrobků. Výhodou CMM je jeho vysoká přesnost měření. Data jsou nasnímána s přesností řádově tisícin milimetru.
18
Mezi nevýhody patří stacionarita, velká časová náročnost skenování součásti, řídký sken a vysoké pořizovací náklady. Na obr. 3.2. je uveden zástupce CMM, systém Cyclone. Pro 3D digitalizaci a měření lze někdy použít i klasický CNC stroj, který má dotykovou sondu pouze jako přídavné zařízení. Příkladem nástavby pro CNC frézku mohou být systémy Renscan (viz. obr. 3.2) nebo Retrocsan vyráběné firmou Renishaw [16]. Využití takovéto frézky s přídavnou sondou je oproti systémům CMM vhodné jen pro menší objemy snímaných dat.
CMM – Cyclone
CNC frézka s dotykovou sondou – Renscan 350
Obr. 3.2 CMM a frézka s dotykovou sondou [14]
3.3. Laserové interferometrické 3D digitizéry Vývojem a výrobou laserových 3D digitizérů se zabývá firma FARO [22]. Jedním z jejích produktů je systém FARO Laser Tracker. Toto zařízení pracuje na principu interferometrie s využitím laserového paprsku. Vlastní měření spočívá v tom, že je kolmo proti předmětu vyslán laserový paprsek, který se odrazí od optického prvku umístěného na povrchu předmětu a vrátí se zpět do skenovacího zařízení, kde dojde k jeho vyhodnocení. Vyhodnocením doby, která uplyne od vyslání do vrácení paprsku, získáme informaci o vzdálenosti předmětu od skeneru ve směru letu paprsku. Přesné prostorové souřadnice bodu povrchu měřené součásti pak dostáváme podle natočení
19
otočných částí zařízení. Podoba systému FARO Laser Tracker a jeho základní princip je znázorněn na obr. 3.3.
Obr. 3.3 Systému FARO Laser Tracker a jeho základní princip [22]
Toto zařízení je určeno především k měření rozměrných objektů. Samotný proces měření pak probíhá tím způsobem, že je skenovací zařízení umístěno vedle skenovaného objektu a obsluha postupně umisťuje optický prvek, sloužící k odražení laserového paprsku, na vybraná místa povrchu skenovaného objektu. Okamžik vyslání laserového paprsku je určován obsluhou pomocí dálkového ovládání. Počítačový 3D model skenovaného objektu, je pak ze získaných bodů domodelován stejným způsobem, jakým tomu bylo u digitizéru MicroScribe. Proces měření systémem FARO Laser Tracker je zachycen na obr.3.4.
Obr. 3.4 Proces měření systémem FARO Laser Tracker [22]
20
Jak již bylo zmíněno, uplatnění tento systém nalezne především při měření rozměrných objektů, od karoserií automobilů po lodě či letadla. Výhodou tohoto systému je velký pracovní prostor, který je tvořen polokoulí o poloměru 35 metrů. Další výhodou je vysoká dosahovaná přesnost měření, maximální odchylka činní 0.01mm + 0.004mm/m. [22] Mezi nevýhody patří vysoká cena zařízení převyšující cenu ostatních systémů. Dále pak poměrně velká časová náročnost měření a relativně řídký výsledný sken.
3.4. Ultrazvukové 3D digitizéry Na principu bezkontaktního snímání povrchu objektu ultrazvukovou sondou je založen např. 3D digitizér Freepoint firmy Science Accesories. Skenování je prováděno manuálně ultrazvukovou sondou tvaru pistole s kovovým hrotem, který přikládáme ke skenovanému povrchu a stiskem spouště dojde k vyslání ultrazvukového signálu. Tento signál je pomocí speciální konstrukce s ultrazvukovými čidly dekódován do prostorových souřadnic, které je možno vkládat přímo do externích CAD systémů nebo do datových souborů. Tento systém není vybaven vlastním skenovacím softwarovým balíkem (kromě ovladače) a proto jde o jedno z cenově nejméně náročných řešení problematiky prostorového snímání povrchů, což je asi jeho největší výhodou. Nevýhodou zařízení je jeho relativně malá přesnost, která se pohybuje v rozmezí 0,3 až 0,5mm a zdlouhavý manuální způsob pořizování dat. [14] Uplatnění tento systém nalezne zejména tam, kde není požadována vysoká přesnost. To znamená především v oblasti reklamy, filmu a počítačových animací, kde je dosahovaná přesnost dostačující.
3.5. Destruktivní 3D digitizéry Vývojem a výrobou destruktivních 3D digitizérů se zabývá firma CGI (Capture Geometry Inside) [20]. Jedním z jejích produktů je systém RE1000. Toto zařízení má schopnost digitalizovat jak vnější povrch součásti, tak i jeho vnitřní geometrii.
21
Digitalizovaný objekt však bude při použití této metody zničen. Systém RE1000 je zachycen na obr. 3.5.
Obr. 3.5 Destruktivní 3D digitizér RE1000 [14]
Před procesem digitalizace je skenovaná součást umístěna na nastavitelný rám a pokryta speciálním materiálem (Encase-it), který při zpracování naskenovaných snímků poskytne vysoký kontrast mezi součástí a výplňovým materiálem. Poté se z prostoru vyčerpá vzduch a vznikne vakuum, které způsobí, že se tento speciální materiál dostane do všech dutin součásti. Takto připravený blok se přemístí do skenovacího zařízení, kde se připevní k frézovacímu stolu. Vlastní skenování proběhne v okamžiku odfrézování ultratenké vrstvy materiálu z bloku. Každý takto nově vzniklý povrch se naskenuje použitím optického skeneru a získaná data se odešlou k dalšímu softwarovému zpracování. Proces skenování touto metodou je zachycen na obr. 3.6.
Obr. 3.6 Proces destruktivního 3D skenování [14]
22
V dalším zpracování dat, tedy v Post-Processingu, se vytváří z 3D bitmapy body v průsečnicích materiálu Encase-it a součásti na každé skenované rovině osy Z. Nepotřebné body jsou odstraněny a výstupem je uživatelem definovaný soubor hodnot v ose X, Y, stejně jako v ose skenovaných hladin. Komunikace s nejužívanějšími CAD systémy a 3D modeláři je zajištěna exportováním dat do nejběžnějších formátů (IGES, ASCII, STL, DXF). Přesnost digitalizace se pohybuje v rozsahu ±0,0254 mm, rozlišovací schopnost skeneru je nastavitelná od 200 do 600 dpi, tloušťka odfrézované vrstvy se pohybuje od 0,0127 do 0,127 mm. Doba analyzování součásti trvá 8 až 9 hodin podle toho jak je velká součástka, kolik se vytvoří hladin a s jakým rozlišením se skenuje. Skenování 1 vrstvy o rozměrech 152x152mm při rozlišení 300 dpi trvá přibližně 20 sekund. Tímto zařízením je možno digitalizovat součástky do velikosti 300x260x200 mm. Pro urychlení procesu lze skenovat současně i více součástí, které jsou zality v jednom bloku. [14] Uplatnění tento systém nalezne zejména v oblasti Reverse Engineeringu při digitalizaci součástí se složitou vnitřní geometrií, tato data pak mohou být podkladem pro výrobu součástí pomocí metod Rapid Prototyping, které jsou schopny vyrábět součásti se složitou vnitřní strukturou. Výhodou tohoto systému je právě jeho jedinečná schopnost skenování vnitřní struktury objektu, relativně vysoká dosahovaná přesnost měření a cena, která je v porovnání s rentgenovými systémy o 70 až 80% nižší. Mezi nevýhody pak patří zničení skenované součásti, velká časová náročnost skenování a stacionarita zařízení.
3.6. Rentgenové 3D digitizéry Další ze skenovacích technik je využití rentgenového záření. Použití této techniky nám umožní získání informací o vnitřní geometrii součásti, aniž by došlo k jejímu porušení. Jedná se tedy o nedestruktivní metodu digitalizace. Rentgenové skenery pracují na stejném principu jako klasické rentgeny požívané ve zdravotnictví s tím rozdílem, že při technických aplikacích je intenzita záření vyšší. Výhodou těchto zařízení je schopnost pořídit informace o vnitřní struktuře objektu nedestruktivní cestou, dále je to pak také jejich mobilita.
23
Nevýhodou těchto systémů je jejich cena, která je v porovnání s destruktivními digitizéry o 70 až 80% vyšší. Zařízení se nejčastěji používají ke kontrole potrubí, kotlů nebo jiných uzavřených nádob.
Speciálním typem rentgenových zařízení jsou tomografy. Tato zařízení jsou používána v medicíně k získání sady 2D CT dat vyšetřované části těla pacienta. Vyšetřovací metoda k získání těchto dat se nazývá počítačová tomografie (CT – Computer Tomography). Soubor získaných 2D CT dat lze dále převést na 3D CT data, která pak mohou být podkladem pro výrobu fyzického modelu vyšetřované části těla. Tento fyzický model lze vyrábět některou z metod Rapid Prototyping, často je využíváno metody SLA (StereoLitography Aparatus). Využití fyzických modelů pak v medicíně nachází uplatnění v oblastech, jakými jsou:
velice přesná diagnóza, vyspělé chirurgické plánování, poučení (obeznámení) pacientů, pokročilé učební pomůcky, prezentace. [24]
Fyzické modely, zhotovené metodou SLA naleznou rozsáhlé využití v oblasti studií anatomické stavby různých částí lidského těla, jakými jsou například kolenní a ramenní klouby, bedra nebo lebka. Příklad takovéto studie je zachycen na obr. 3.7, kde bylo potřeba zhotovit pacientovi část jeho rozdrcené lebky. Pro stanovení rozměrů a zhotovení chybějící části lebky zde byl jako vzor vytvořen pomocí RP fyzický model lebky a její chybějící části.
Obr. 3.7 Model pro přesné vytvoření chybějící části lebky [25]
24
Problematikou využití modelů zhotovených metodami RP v medicíně, se zabývá firma TMJ Implants [24]. Ta své úsilí soustřeďuje do oblasti vývoje přesných čelistních implantátů a náhrad spojení maxilly s mandibulou pro konkrétní pacienty. Ilustrační fotografie zachycující filosofii činnosti této firmy je zachycena na obr.3.8.
Obr. 3.8 Filosofie firmy TMJ Implants (od CT dat, přes SLA model k přesné náhradě) [24]
Standardní postup, jímž je postupováno při tvorbě přesných implantátů je popsán v následujících sedmi bodech.
Proces tvorby přesného implantátu čelisti: 1) jsou pořízena CT data pacientovy lebky 2) CT data jsou následně převedena na 3D CT data 3) metodou SLA je vytvořen fyzický model lebky 4) je proveden fiktivní chirurgický zákrok na modelu lebky, ten slouží jako příprava pro pozdější chirurgický zákrok a implantaci náhrady 5) je proveden konstrukční návrh náhrady přesně odpovídající geometrii pacientovi čelisti, resp. geometrii získaného fyzického SLA modelu 6) výroba navržené kovové náhrady za poškozenou část čelisti 7) chirurgické zavedení implantátu na pacientovu čelist [24]
Konkrétní příklady zákroků a řešených problémů jsou pak zachyceny společně s představitelem používané náhrady na obr. 3.9.
25
Obr. 3.9 Využití modelů RP pro návrh přesných čelistních náhrad [24]
Další oblastí medicíny, kde je přínosné využít počítačové tomografie a fyzických modelů zhotovených metodami RP, jsou pevnostní analýzy kloubních protéz. Počítačová tomografie poskytuje ve formě 2D CT dat informace o geometrii kosti pacienta. Tato data jsou následně převedena na 3D CT data, pomocí nichž již lze využitím metod RP zhotovit fyzický model kosti a kloubu. Tento model pak slouží ke snazšímu stanovení směru zatěžujících sil. To by při stanovování pouze na počítačovém modelu mohlo vést k nepřesným předpokladům a výchozím podmínkám pro následné pevnostní analýzy. Po stanovení zatížení lze tedy pomocí získaných 3D CT dat a některého z FEM systémů, do kterého jsou tyto 3D CT data transportována, provést pevnostní analýzu a stanovit tak velikost napětí v jednotlivých místech. Z výsledků této analýzy lze pak vycházet při konkrétním návrhu protézy. Pokud je potřeba pacientovi implantovat protézu která není standardních rozměrů, je třeba zhotovit protézu pacientovi podle rozměrů jeho kosti a kloubu. Zde opět nalezne uplatnění RP, kde je vytvořený model vzorem pro skutečnou protézu.
26
4. Optické 3D digitizéry V současné době se nejvíce prosazují optické 3D digitizéry. Důvodem jsou jejich vlastnosti, které převyšují vlastnosti ostatních metod 3D digitalizace. Jsou rychlé, přesné a uživatelsky lehce zvládnutelné. Rozlišujeme dva hlavní principy na kterých jsou optické 3D digitizéry založeny: stereovidění projekce proužku světla
4.1. Princip stereovidění Technika stereovidění vychází z principu vidění lidí. Použitím dvou kamer je možné vypočítat hloubku v obraze z podobnosti trojúhelníků. Podobnost trojúhelníků je pro první i druhou kameru popsána vztahy (4.1). Výslednou polohu bodu v prostoru dostaneme explicitním vyjádřením příslušné souřadnice bodu P z rovnice (4.1). Např. vztahem (4.2) je vyjádřena hloubka v obraze z P . Princip nalezení bodu v prostoru pomocí stereovidění je znázorněn na obr. 4.1.
z
xP
zP
P(xP, yP, zP)
xl
xl f
xP zP
xr f
xP d zP
zP
d f xl xr
xr
f
x Pl
Pr d Obraz levé kamery
(4.1)
Obraz pravé kamery
Obr. 4.1 Určení polohy bodu v prostoru pomocí stereovidění [6]
27
(4.2)
Polohu bodu v prostoru tedy dokážeme nalézt na základě známé ohniskové vzdálenosti f , která je zjištěna pomocí vhodné prvotní kalibrace a na základě odečtených souřadnic ( x r , x l ) obrazu bodu na obou snímcích. Při snímání složitější scény ovšem vzniká problém s automatickým nalezením odpovídajících si bodů v obrazech obou kamer. Při jejich hledání je možné využít informace o hranách objektu, nebo jeho jiné výrazné body, např. uměle vložené. Hledání odpovídajících si bodů v jednotlivých obrazech pomocí význačných míst měřené součásti však zpravidla omezí výsledky měření, kdy je tato součást obvykle popsána jen pomocí několika bodů na jejím povrchu. Těchto bodů je ovšem možno s výhodou využít, jako referenčních při skládání dílčích výsledků v jeden celek. Dílčí výsledky, detailně popisující nasnímanou plochu, je možno pořídit metodou projekce proužku světla, popsanou dále v podkapitole 4.3. Techniku stereovidění lze aplikovat i pomocí jedné kamery. Snímáním obrazů měřené součásti z několika různých míst a následným zpracováním všech získaných obrazů lze vypočítat prostorové souřadnice význačných bodů na měřeném objektu. Je však třeba buď předem znát polohu kamery pro jednotlivé snímky, nebo je možné jednotlivá umístění kamery v prostoru dopočítat pomocí vhodně rozvržených referenčních bodů, zobrazených v každém ze snímku. První způsob vyžaduje použít přídavné zařízení pro přesné odměřování polohy kamery. Následné zpracování obrazu se již principiálně neliší od klasického stereovidění s použitím dvou kamer. Druhý způsob měření je založen na fotogrammetrii, která je již řadu let aplikována v oblasti geodézie při leteckém snímkování povrchu země. V tomto případě není potřeba znát polohu kamery předem a snímky je možno pořídit z libovolného místa. Jedinou podmínkou je, aby byly na každém ze snímků zobrazeny vhodně rozmístěné referenční body, přičemž vzájemná poloha alespoň šesti z těchto bodů musí být předem známa. Zpravidla se používají kódované body, aby je bylo možné jednoznačně identifikovat a následně dopočítat polohu kamery. Z vypočtených poloh kamery je opět možné, užitím principu stereovidění, určit polohu význačných bodů na součásti.
28
4.2. Systémy založené na principu stereovidění Systém TriTop TriTop je mobilní optický měřící systém, určený k přesnému bezkontaktnímu měření polohy diskrétních bodů a kontrastních čar. Jeho funkce je založena na principech stereovidění a fotogrammetrie. Celý systém se skládá z digitálního fotoaparátu s vysokým rozlišením CCD čipu, notebooku, samolepících značek a kalibračních tyčí (viz. obr. 4.2).
Obr. 4.2 Kompletní vybavení systému TriTop [9] Před vlastním procesem skenování je objekt na vhodných místech polepen kruhovými značkami, kterých může být v závislosti na velikosti skenovaného objektu až několik tisíc. Dostaneme tím mnohem větší počet výrazných bodů, jež mohou být naměřeny. Dále jsou kolem objektu rozmístěny též kódované značky sloužící jako referenční body pro fotogrammetrii a kalibrační tyče pro možnost porovnání a získání skutečných rozměrů scény. Samotný proces skenování je znázorněn na obr. 4.2 a spočívá v pořizování snímků digitálním fotoaparátem z různých pozic tak, aby byl nasnímán objekt ze všech stran a aby byly zachyceny kódované značky a kalibrační tyče.
Obr. 4.2 Proces skenování pomocí systému TriTop [17]
29
Takto pořízené fotografie se přenesou do počítače, ve kterém jsou zpracovány speciálním programem obsahujícím matematický aparát principů fotogrammetrie a stereovidění. Výstupem měření jsou pak prostorové souřadnice poloh výrazných bodů (kruhových značek) a poloh fotoaparátu, ze kterých body snímal (viz. obr. 4.3).
Obr. 4.3 Výsledky měření systémem TriTop [17]
Vzhledem ke specifickému charakteru výstupních dat systému TriTop, nalezne tento systém uplatnění především v oblasti kontroly kvality součástí, jakými jsou například výlisky. Dále zařízení umožňuje měřit deformace součástí. To provádí ve dvou fázích, v zatíženém a nezatíženém stavu. V diskrétních bodech pak vyhodnocuje velikost a směr vektorů deformace, které jsou pak přímo znázorněny na digitální fotografii a ve výstupním protokolu. Systém TriTop se může použít i jako doplňující zařízení k zadefinování značek umístěných na objektu před skenováním zařízením Atos. V takovém případě systém Atos bude moci snímat objekty o velikosti až 10m. Přesnost měření systému TriTop se pohybuje v rozmezí 0,1 až 0,02 mm podle rozměru skenované součásti. [17] Výhodou systému TriTop je možnost měření objektů až 20m velkých s prakticky neomezenou hmotností, měření měkkých těles, nebo součástí zahřátých na vysokou teplotu. Další výhodou je mobilita a jednoduchá obsluha zařízení. Nevýhodou je časová náročnost vyplývající z nutnosti polepení objektu značkami a výsledek měření, který dává příliš málo bodů popisujících skenovaný objekt.
30
4.3. Princip projekce proužku světla Dalším způsobem, jak získat prostorový popis objektu, je technika projekce proužku světla. Tato technika spočívá v promítání proužku světla na scénu, která je snímána kamerou. Projektor proužku světla a kamera musí být vůči sobě v prostoru vhodně umístěny, musí být známa jejich vzájemná vzdálenost a úhel natočení projektoru. V získaném obraze je pak zachyceno zakřivení světelného proužku na povrchu měřené součásti, z čehož je možno určit její tvar a orientaci. Příklad uspořádání je znázorněn na obr. 4.4.
Obr. 4.4 Technika projekce proužku světla [6]
Souřadnice jednotlivých bodů na povrchu součásti v místě osvětlení proužkem světla je možné vypočítat pomocí triangulace.
31
4.3.1. Triangulace
Popis v rovině XZ V rovině XZ budeme hledat souřadnice x, z bodu S ležícím na povrchu součásti. Geometrický rozbor scény je znázorněn na obr. 4.5.
z xs S1
x
zs
s
povrch objektu a
fiktivní poloha snímace
x ss f alfa projektor
F kamera
r
Obr. 4.5 Zjednodušený geometrický rozbor scény v rovině XZ
32
Z obr. 4.5 je patrné, že předpis přímky znázorňující středovou osu světelného paprsku lze zapsat pomocí vztahu (4.3).
zP
tg
(4.3)
x
Kde je α úhel svitu paprsku a x nezávisle proměnná obecná souřadnice.
Rovnice charakterizující paprsek kamery procházející bodem S lze vyjádřit vztahem (4.4). zK
f
x
x SS
(4.4)
a
Kde je: f … fiktivní poloha snímače, zjištěno z prvotní kalibrace x SS … souřadnice x stopy bodu S na snímači, zjištěno zpracováním digitálního obrazu a … fiktivní poloha ohniska, vypočtena ze vztahu (4.5)
a
(4.5)
r tg
Kde r je vzájemná vzdálenost kamery a projektoru.
Pro nalezení souřadnic bodu S v rovině XZ musí platit vztah (4.6), vyjadřující průsečík světelného paprsku (4.3) s paprskem kamery (4.4). zP
(4.6)
zK
Dosadíme-li pravé strany vztahů (4.3) a (4.4) do rovnosti (4.6) dostaneme vztah (4.7), tg
f
x
x SS
x
(4.7)
a
ze kterého explicitním vyjádřením souřadnice x, získáme x souřadnici bodu S (4.8). xS
a f x SS
(4.8) tg
Dosazením (4.8) do (4.4), dostaneme vztah (4.9), vyjadřující z souřadnici bodu S. zS
a tg f tg
(4.9)
x SS
33
Popis v rovině YZ V rovině YZ dopočítáme souřadnici y bodu S. Geometrický rozbor scény je znázorněn na obr. 4.6., ze kterého je patrná podobnost trojúhelníků, platí tedy rovnost (4.10). yS a zS
y SS f
(4.10)
Explicitním vyjádřením y S dostáváme poslední z hledaných souřadnic bodu S, viz. (4.11).
yS
y SS f
a
(4.11)
zS
Pokud chceme vyjádřit souřadnici y S jen pomocí známých konstant, je třeba dosadit vztah (4.9) do vztahu (4.11), po dosazení a úpravě dostáváme vztah (4.12).
yS
a y SS f
1
tg f x SS
y
(4.12) tg
zs S1
S yS ySS a
z
Obr. 4.6 Zjednodušený geometrický rozbor scény v rovině YZ
34
f
F
4.3.2. Způsoby osvětlování scény
K nejjednodušším zdrojům proužku světla patří v praxi často používaný nízkovýkonný laser, jehož původně bodový paprsek je možné pro vytvoření proužku světla buď rozmítat, nebo rozptýlit např. pomocí válcových čoček. Každý z těchto přístupů má své výhody i nevýhody. Pro rozmítání je třeba poměrně složitý mechanismus pohybu zrcátka, rozmítajícího paprsek světla. Je tak ale možné řídit intenzitu světla v různých částech proužku pro kameru i na různě odrazivých površích. To poměrně levná a jednoduchá optika, rozptylující celý paprsek světla najednou, neumožňuje a je obvykle třeba snímat jedno takto problematické místo vícekrát pro dosažení dobré viditelnosti celého proužku pro kameru. Pokud na objekt promítáme pouze jeden světelný proužek, je třeba pro získání kompletního popisu objektu postupně přeskenovat světelným proužkem celý objekt. Protože je takto prováděné měření poměrně pomalé, je snaha promítat na objekt více proužků najednou. V tomto případě se nejčastěji používá projektor světla s žárovkou popř. speciální výbojkou, kde jsou proužky vytvářeny pomocí vhodně navržených clon, často umožňujících i jejich automatickou výměnu. Ty pak vytvářejí spolu s optikou projektoru požadované světelné proužky. Snaha promítat najednou více proužků pro rychlejší získání celé hloubkové mapy může ale vést k možné dvojznačnosti proužků v některých místech na povrchu součásti. Tyto problémy nastávají převážně tam, kde jsou velké změny hloubky povrchu, nebo dokonce nespojitosti povrchu měřené součásti. Řešením může být promítání několika sad kódovaných proužků, které je možné při zpracování obrazu jednoznačně identifikovat. V praxi se používá např. kombinace promítání postupně se posouvající sady proužků a následné promítání binárně kódovaných proužků. Ty jsou v souboru několika málo obrazů jednoznačně rozpoznatelné, a tak by k dvojznačnostem nemělo docházet. [6]
4.4. Systémy s projekcí sady proužků světla Systém ATOS ATOS (Advanced Topometric Senzor) je mobilní optický 3D digitizér, pracující na výše popsaném principu projekce variace proužků světla na měřený objekt, který je současně snímán dvěma digitálními kamerami. Výpočet bodů na povrchu součásti je prováděn pomocí
35
triangulace, stačila by tedy jen jedna kamera. Užitím dvou kamer však dosáhneme vyšší robustnosti a přesnosti měření. Z řady digitizérů ATOS vyráběných firmou GOM [17] dosahuje nejvyšší úrovně 3D digitizér uvedený na obr. 4.7., ATOS III.
Obr. 4.7 Mobilní optický 3D digitizér ATOS III [17] Před vlastním skenováním se na objekt a kolem něj umístí pomocné značky, pomocí kterých systém pomocí fotogrammetrie vypočte jednotlivé pozice, z kterých bylo měření prováděno, to pak slouží ke skládání skenů. Pokud chceme digitalizovat objekt tvořený plochami o různé odrazivosti, jako např. karoserii automobilu tvořenou jak plechovými, tak zasklenými částmi, je třeba před samotným skenováním nastříkat objekt speciálním křídovým lakem, který zajistí stejnou odrazivost celého objektu. Tento nástřik skenovaný objekt nijak neznehodnotí, po skončení měření ho lze snadno smýt vodou. Celé zařízení je koncipováno tak, aby jeho ovládání kladlo minimální požadavky na uživatele. Měřicí hlava přístroje je umístěna na fotografickém stativu, a tak se snadno nastavuje kolem snímaného objektu. Objekt není nutné skenovat po pravidelných úsecích, ale stačí udělat snímky nepravidelně a díky pomocným značkám systém vyhodnotí přesnou pozici zhotovování snímku. Proces skenování pomocí systému ATOS je zachycen na obr. 4.8.
Obr. 4.8 Proces skenování pomocí systému ATOS [7]
36
Výsledkem samotného 3D měření je tzv. mrak bodů, který popisuje povrch objektu jednotlivými body o souřadnicích x, y, z.
Počet těchto bodů je závislý na velikosti
skenovaného objektu a na typu použitého digitizéru. Nejvyšší rozlišení CCD čipů kamer má systém ATOS III, který dokáže na jeden záběr naměřit až 4mil. bodů.
Mrak bodů
naskenovaného objektu je zobrazen na obr. 4.9.
Obr. 4.9 Výsledný mrak bodů [9]
Naměřený mrak bodů má však pouze omezené využití, je vhodný zpravidla jen pro rychlou kontrolu rozměrů nebo tvaru součásti. Pro širší využití výsledků je třeba takto naměřená data dále zpracovat. Protože je při skenování většího objektu třeba pořídit více snímků a ty pak složit v jeden celek, dochází v místech napojení k překrývání mraků bodů. V těchto místech je pak vyšší hustota bodů, z tohoto důvodu je třeba naměřený mrak bodů homogenizovat. Homogenizovaný mrak bodů, je takový mrak bodů, který má definovanou konstantní vzájemnou vzdálenost všech sousedních bodů. Další zpracování závisí na účelu využití dat. Je možné homogenizovaný mrak bodů proložit křivkami, nebo dílčími plochami výsledného 3D modelu. Vzhledem k poměrně vysokému počtu získaných bodů, velmi často využíváme automatického vygenerování polygonální sítě, z níž pak dostáváme výslednou STL plochu, kterou lze ještě pro dosažení vyšší kvality vyhladit. Způsob získání STL plochy je poměrně rychlý a nalezne uplatnění při výrobě fyzických modelů metodami Rapid Prototyping, pro něž je výsledná přesnost modelu postačující. Příklad výsledné STL plochy je zobrazen na obr. 4.10.
37
mash (síť)
polygonální plocha
Obr. 4.10 Generování STL plochy [9]
Systém ATOS nalezne uplatnění v odvětvích, jakými jsou např. kontrola kvality, Reverse Engineering, Rapid Prototyping, FEM analýzy, virtuální realita a další. Jak již bylo řečeno, nejvyšší úrovně dosahuje ATOS III, který dokáže v pracovním prostoru 2000mm 3 , naměřit až 4 mil. bodů za 8 sekund s přesností 0,05 až 0,004mm. Předchůdci tohoto 3D digitizéru jsou systémy ATOS I a ATOS II, které nedosahují tak vysoké přesnosti měření, mají nižší rozlišení CCD čipu a dokáží měřit v menším pracovním prostoru. [17] Mimo této základní řady systémů ATOS, nabízí firma GOM také 3D digitizéry pro specifické aplikace. Pro skenování malých součástí je určena řada systémů ATOS SO. Tyto speciálně upravené 3D digitizéry dokáží naměřit součásti o rozměrech jen několika málo centimetrů s přesností až 0,003mm. Naopak ke skenování velkých objektů je určen systém ATOS XL, který je kombinací systému ATOS se systémem TriTop. Hlavním přínosem kombinace těchto dvou systémů je zvýšení celkové přesnosti měření a možnost měřit prakticky neomezeně velké objekty. [17] Mezi výhody systémů ATOS patří hlavně přesnost a rychlost měření, velké rozlišení dávající vysoký počet bodů, mobilita a jednoduchost ovládání. Nevýhodou je citlivost na denní světlo a vysoká cena pohybující se v řádu mil. Kč.
38
Systém COMET IV Optický 3D digitizér COMET IV je produktem firmy STEINBICHLER VISION SYSTEMS [23] a je založen stejně jako systém ATOS na principu projekce sady proužků světla a triangulaci. Podoba tohoto digitizéru je zachycena na obr. 4.11.
Obr. 4.11 Optický 3D digitizér COMET IV [23]
Pro tuto práci stěžejní otázka skládání skenů je u tohoto systému realizována různými způsoby podle charakteru skenovaného předmětu. Pro předměty typu karoserie vozu či blok motoru je využíváno buď fotogrammetrie, kde je digitizér umístěn na stativu, nebo je využito umístění digitizéru na robota, kde je skládání skenů rěšeno přepočítáním strojních souřadnic, získaných z rotačních odměřovacích čidel polohy umístěných v každém z kloubů robotu. Pro rotační součásti je využíváno točny, na kterou je skenovaný předmět umístěn. Pro podlouhlé tenké předměty je pak místo točny využito připravku zajišťujícího přímočarý pohyb. Výše popsané způsoby zajišťující skládání skenů jsou patrné z obr. 4.12., kde je zobrazen proces skenování tímto systémem.
Obr. 4.12 Proces skenování systémem COMET IV [23]
39
Pomocí 3D digitizéru COMET IV je možno za 9 sekund naměřit v pracovním prostoru 1200mm 3 až 4 mil. bodů s přesností 0,001mm.[23] V porovnání se systémem ATOS je doba
měření systémem COMET IV o 1 sekundu delší, pracovní prostor je menší, počet možných nasnímaných bodů stejný a přesnost měření je podle výrobce systému COMET IV vyšší. Výhody a nevýhody tohoto systému jsou podobné jako u systému ATOS. Výhodou je vysoká přesnost a rychlost měření, velké rozlišení dávající vysoký počet bodů, mobilita a jednoduchost ovládání. Nevýhodou je pak citlivost na denní světlo a vysoká cena. Nevýhodou je citlivost na denní světlo a vysoká cena pohybující se v řádu mil. Kč. Tento 3D digitizér nalezne uplatnění v mnoha odvětvích, jakými jsou Reverse Engineering, Rapid Prototyping, FEM analýzy, virtuální realita a další. Díky možnému umístění digitizéru na robot, lze provádět i sériová měření využívaná ke kontrole kvality.
4.5. Systémy s projekcí jednoho laserového proužku Systém FARO Laser ScanArm Optický 3D digitizér FARO Laser ScanArm, je produktem firmy FARO [22]. Tento digitizér je založen na principu projekce jednoho laserového proužku, jehož zakřivení na skenovaném objektu je snímáno kamerou. Tento princip vychází z principu blíže popsaného v podkapitole 4.3., kde je také na obr. 4.4 znázorněn. Rozdíl je ovšem v tom, že nedochází k natáčení projektoru proužku. Kamera a projektor tedy mají vůči sobě konstantní polohu. Digitizér tím sám o sobě dokáže nasnímat pouze jednu linii bodů, přičemž využitelná délka proužku je 64mm. Souřadnice jednotlivých bodů povrchu součásti v místě osvětlení laserovým proužkem jsou vypočítány pomocí triangulace. Samotný proces skenování spočívá v přejíždění digitizérem nad povrchem skenovaného objektu. Digitizér je umístěn na ramenovou strukturu se sedmi stupni volnosti, čímž je zajištěno skládání jednotlivých linií v celistvou plochu. Pro toto skládání je nutno znát aktuální polohu digitizéru. Ta spočívá v přepočítávání strojních souřadnic, získaných z rotačních odměřovacích čidel polohy umístěných v každém z kloubů digitizéru. Velikost pracovního prostoru je pak dána rozsahem ramenové struktury. Optimální vzdálenost, ze které má být objekt snímán, se pohybuje v rozsahu od 89mm do 184mm. Tato vzdálenost je díky integrovanému systému automaticky hlídána a pomocí LED diod je signalizováno její překročení. Tím jsou sníženy nároky na obsluhu digitizéru.
40
Obsluze dále napomáhá ergonomické provedení. Samotný digitizér má rozměry 105 44 124mm a hmotnost pouze 0,53kg .[22] Proces skenovaní součásti pomocí
3D digitizéru FARO Laser ScanArm je zachycen na obr. 4.13.
Obr. 4.13 Proces skenovaní součásti pomocí 3D digitizéru FARO Laser ScanArm [22] Kamera digitizéru má schopnost pořizovat snímky s frekvencí 30 snímků / s, přičemž na jednom snímku je možno zachytit až 640 bodů. Celková rychlost měření tedy dosahuje 19200 bodů / s. [22] Výhodou tohoto systému je poměrně vysoká dosahovaná přesnost. Maximální nepřesnost měření by podle výrobce neměla překročit 0,05mm. Dalšími výhodami jsou mobilita, ergonomičnost, jednoduché ovládání a také necitlivost na denní světlo. Mezi nevýhody patří omezený pracovní prostor, jež je dán rozsahem ramenové struktury. Dále pak časově náročnější pořizování dat, než je tomu u systémů s projekcí sady proužků světla. Využití tento systém nalezne především při skenování předmětů menších rozměrů. Získaná počítačová data jsou pak využita v odvětvích, jakými jsou např. kontrola kvality, Reverse Engineering, Rapid Prototyping, FEM analýzy, animace a další.
Systém T-SCAN Optický 3D digitizér T-SCAN je produktem firmy STEINBICHLER VISION SYSTEMS [23] a je založen, stejně jako výše popsaný systém FARO Laser ScanArm, na principu projekce jednoho laserového proužku a triangulaci. Hlavním rozdílem mezi oběma systémy je způsob skládání dílčích linií bodů v celistvou plochu. Zde již není použito připevnění na ramenovou strukturu. Poloha samotného digitizéru je určena pomocí optického
41
sledovacího systému, který je společně se samotným digitizérem zobrazen na prvním z obr. 4.14. Dále je zobrazen proces skenování a samotný digitizér.
Obr. 4.14 Systém T-SCAN [23]
Využití tohoto optického sledovacího systému poskytuje větší pracovní prostor, který již není omezen rozsahem ramenové struktury, tak jak tomu bylo u 3D digitizéru FARO Laser ScanArm. Pracovní prostor je dán dosahem sledovacího zařízení. Bezpečná vzdálenost na které je možno měřit s přesností 0,03mm jsou 3m.[23] Lze tedy říci, že tímto systémem je možno měřit na větším pracovním prostoru a s vyšší přesností, než pomocí systému FARO Laser ScanArm. Společným znakem obou systémů je on-line zpracování dat a integrovaný systému pro automatické hlídání optimální vzdálenosti od skenovaného objektu. Výhodou tohoto systému je poměrně vysoká dosahovaná přesnost. Dalšími výhodami jsou mobilita, ergonomičnost, jednoduché ovládání a necitlivost na denní světlo. Nevýhodou je pak časově náročnější pořizování dat, než je tomu u systémů s projekcí sady proužků světla. Využití tento systém nalezne především v automobilovém průmyslu pro navrhování designu, nebo také při restaurování soch, tedy v oblastech procesu Reverse Engineering. Dále pak pořízená počítačová data slouží pro kontrolu kvality, Rapid Prototyping, FEM analýzy, a další.
42
5. 3D digitizér vyvíjený na KVS 5.1. Požadavky na měření Před započetím vývoje, byly stanoveny následující požadavky, které by měl vyvinutý 3D digitizér splňovat:
podrobný popis povrchu měřeného objektu pomocí až několika set tisíc bodů, absolutní přesnost měření v daném pracovním prostoru alespoň 0,5mm, velikost pracovního prostoru (zorné pole cca 500x500mm, vzdálenost měřícího zařízení od předmětu cca 800mm), snadná kalibrace, doba měření max. několik minut, nezávislost na denním světle, mobilita, přijatelná cena. [7]
5.2. Volba principu Dále bylo třeba vybrat princip, na kterém bude 3D digitizér založen. Při výběru principu byly zváženy výhody a nevýhody, které s sebou nesou jednotlivé metody bezkontaktního optického měření.
a) Optická metoda stereovidění: hlavní výhody:
- přesné za použití kvalitní optiky a snímačů, - stačí jen několik snímků.
hlavní nevýhody:
- výsledek měření dává příliš málo bodů, - zpravidla je třeba objekt polepit značkami.
43
b) Optická metoda projekce proužků světla hlavní výhody:
- velmi rychlé měření, - výsledek měření dává velké množství bodů, - stačí méně snímků než u metody projekce laserového proužku.
hlavní nevýhody:
- citlivé na denní světlo, - vyhodnocení vyžaduje užití složitého matematického aparátu.
c) Optická metoda projekce jednoho laserového proužku hlavní výhody:
- téměř necitlivé na denní světlo, - výsledek měření dává velké množství bodů.
hlavní nevýhody:
- pro každou linii bodů je třeba sejmout nový snímek.
Po zvážení těchto výhod a nevýhod jednotlivých metod, bylo rozhodnuto použít metodu projekce jednoho laserového proužku. [7]
5.3. Současný stav vývoje Hlavní prvky hardwaru 3D digitizéru, pokud neuvažujeme přidružený PC, tvoří kamera a projektor laserového proužku umístěný na natáčecí hlavici. Ke snímání scény je použita kamera s rozlišením 1,3 megapixelů (1280x1024 pixelu). Díky tomuto rozlišení lze při stávajícím počtu poloh projektoru získat při skenování scény až 280.000 bodů. Pro zajištění necitlivosti na denním světle je na objektivu kamery umístěn speciální filtr jež odfiltruje denní světlo. Tím výrazněji vynikne laserový proužek, jehož hrany jsou pak při procesu rozpoznávání obrazu lépe definovatelné. Projektor je tvořen nízkovýkonovým laserovým ukazovátkem, jehož původně bodový paprsek je rozptýlen na válcové čočce a tvoří tak požadovaný proužek. Natáčení projektoru proužku je zajištěno pomocí krokového motoru s planžetovým bezvůlovým převodem. Propojení samotného 3D digitizéru s počítačem je realizováno pomocí USB portu pro kameru a paralerního portu pro přidruženou elektroniku projektoru. Krokový motor je napájen přímo z počítače napětím o velikosti 12V. Zdrojové kódy programů zajišťujících funkci 3D digitizéru jsou napsány v jazyce Object Pascal v programovém prostředí Delphi. Jedná se především o algoritmy popisující
44
rozpoznávání digitálního obrazu, výpočet bodů v prostoru pomocí triangulace a kalibraci jednotlivých prvků digitizéru. Fáze Post-Processingu spočívající ve zpracování naměřeného mraku bodů je prováděna v nadstavbovém modulu Digitized Shape Editor softwaru CATIA V5, který je na KVS k dispozici. Současná podoba vyvíjeného 3D digitizéru je zachycena na obr 5.1.
Obr. 5.1 Současná podoba vyvíjeného 3D digitizéru [7]
Princip triangulace na kterém je digitizér založen je poměrně jednoduchý a matematicky dobře zvládnutelný. Při vývoji se však vyskytují následující problémy:
precizní polohování laserové hlavice s přesností na několik desetin úhlových vteřin, kalibrace a korekce optické soustavy kamery, zohlednění teplotní stability optické soustavy (kamery i projektoru), matematický popis svitu projektoru, vyloučení systematických chyb měření.
Tyto problémy je nutné pro dosažení uspokojivé přesnosti, pro měření v technické praxi, vyřešit. Po zohlednění předchozích problémů je úloha z hlediska matematického a geometrického popisu komplikovanější a celá problematika vývoje se více přesouvá do
45
oblasti kalibrace celého zařízení. V současné době lze o stavu řešení výše zmíněných problémů říci následující. Polohování projektoru vychází z konstantních úhlů pro každou polohu. Pro matematický model digitizéru je tedy využívána kalibrační tabulka, která přesně jednotlivé úhly definuje. Současný kamerový subsystém je popsán dvěma význačnými body (poloha fiktivního ohniska a bod průniku fiktivní optické osy se sítnicí) a dvěma jednotkovými vektory definujícími natočení sítnice ve 3 osách. Celý systém je tedy popsán 11 nezávislými parametry, které jsou předmětem iteračního výpočtu kalibrace kamery. Druhý komplexní subsystém je projektor proužku. Matematický model projektoru je založen na popisu svitové plochy pomocí kvadriky, která dostatečně kvalitně definuje svazek monochromatického světla rozptýleného na válcové čočce. Prototyp je zatím vybaven pouze jednou kamerou, algoritmy jsou však připraveny na dvoukamerový systém.
5.4. Realizace měření a zjišťování dosahované přesnosti měření Na obr. 5.2 je znázorněno zkušební měření s následným zpracováním dat. Měření bylo provedeno na modelu silikonové hlavy určené ke kontrole dýchacích masek.
vlastní měření
naměřený mrak bodů
vyhlazená STL plocha
Obr. 5.2 Jednotlivé kroky redesignu (měřeno pomocí prvního prototypu) [7]
46
Pro zjištění dosahované přesnosti měření současného prototypu vyvíjeného digitizéru, bylo provedeno kontrolní měření na souřadnicovém měřícím stroji. To je znázorněno na obr. 5.3.
Obr. 5.3 Kontrolní měření na souřadnicovém měřícím stroji
Měření bylo provedeno na obecně umístěnou rovinu v podobě bílé desky s kalibračními body a na kalibrační kouli umístěnou na 5-ti různých místech v pracovním prostoru souřadnicového měřícího stroje. To je patrno z obr. 5.4.
Obr. 5.4 Vizualizace kontrolního měření prostřednictvím opticky změřených dat
47
Takto provedeným kontrolním měřením byla zjištěna maximální odchylka bodů od roviny, která nepřesáhla 0,6 mm, přičemž průměrná hodnota odchylky se pohybovala okolo 0,3 mm. Dále byla zjištěna chyba poloměru kalibrační koule, která nepřesáhla 0,2 mm a odchylka polohy kalibrační koule v prostoru, která nepřesáhla 0,6 mm. Během jednoho měření je možno naměřit až 280.000 bodů, přičemž celé měření včetně zpracování trvá asi 35 sekund.
5.5. Další cíle vývoje Hlavním cílem dalšího vývoje je přesnější a uživatelsky jednodušší kalibrace celého zařízení. Dalším důležitým vylepšením by mělo být vybavení kamery kvalitnějším objektivem určeným pro měření. V plánu je přidání druhé kamery, díky které bude výrazně zlepšeno vyhodnocování bodů blízko šumového prahu v digitálním obraze kamery. Zcela se tak odstraní chybně změřené body, které u jednokamerového systémů nelze podchytit. Druhá stěžejní oblast vylepšení leží ve zpřesnění projekce laserového proužku a zvýšení počtu měřených bodů. Doposud používaný krokový motor s planžetovým bezvůlovým převodem se ukázal jako vhodný, ovšem zvýšením převodového poměru převodu bude dosaženo většího počtu naměřených bodů a vyšší přesnosti. Předmětem úvah je použití miniaturní harmonické převodovky. Zbývá také posoudit teplotní závislosti jednotlivý subsystémů kamery a projektoru a jejich vliv na celkovou přesnost měření.
Mimo těchto cílů vývoje, vedoucích především k dosažení vyšší přesnosti měření, je snaha zvýšit univerzálnost využití 3D digitizéru prostřednictvím vyvinutí vhodného algoritmu pro skládání skenů. Toto je jedním z hlavních cílů, které si klade tato práce, proto bude problematika skládání skenů a hledání vhodného algoritmu detailněji popsána v kapitole 6.
48
6. Vývoj algoritmu pro skládání skenů V současné době se vývoj 3D digitizéru nachází ve fázi, kdy není problém zdigitalizovat plochu, kterou pokryje zorné pole kamery. V průmyslové praxi se však velmi často setkáváme s požadavky, které vyžadují digitalizaci složitých ploch, tvořených nerovnostmi konvexních tvarů. Zde vzniká problém se zachycením celé plochy z jednoho místa v němž se digitizér nachází. Stejný problém nastává při digitalizaci celého tělesa. V tomto případě je potřeba provést měření objektu z více stran a dílčí skeny, jež jsou výsledkem jednotlivých měření, vhodně složit v jeden celek, např. ve výsledný mrak bodů. Ten nám pak po úpravě dává požadovaný počítačový model digitalizovaného objektu. Tato myšlenka je zachycena na obr. 6.1.
Obr. 6.1 Idea skládání skenů [19]
Jelikož vyvíjený 3D digitizér sice umí zdigitalizovat objekt z více stran, ale už neumí složit dílčí výsledky měření v jeden celek, je v současné době stěžejní oblastí vývoje digitizéru, vývoj algoritmu, jež zajistí požadované skládání skenů. Jedním z hlavních cílů této práce tedy je vyvinout vhodný algoritmus pro skládání skenů.
49
6.1. Hledání vhodného algoritmu 6.1.1. Uvedení do problému
V první fázi je hledán matematický popis problému skládání skenů, který spočívá ve stanovení vztahu mezi polohami digitizéru při skenování ze dvou různých poloh. Idea algoritmu vychází z poznatků průsekové fotogrammetrie, která vyžaduje, aby v každém z pořízených snímků byla zachycena stejná alespoň šestice sobě si odpovídajících bodů vhodně umístěných vůči sobě v prostoru. Souřadnice obrazů těchto bodů (A až F) lze potom odečíst z jednotlivých snímků. Ty pak společně se známou „fiktivní“ ohniskovou vzdáleností OV , která byla vypočítána při kalibraci kamery a vhodně zvolenou první polohou digitizéru, dávají výchozí známé parametry, na jejichž základě bude hledána poloha druhého skenování. Tuto úlohu znázorňuje obr. 6.2, přičemž hledán je bod O2 reprezentující druhou polohu digitizéru, osa otočení ω a úhel τ, celkem tedy 7 neznámých.
A
B
O2
C
V2 E osa otočení ω
D F
úhel otočení τ
O1
V1
Obr. 6.2 Úloha hledání druhé polohy digitizéru
50
6.1.2. Sestavení základních rovnic
Pro následující matematický popis situace znázorněné na obr. 6.2., je třeba do bodu O1 zavést trojici vzájemně kolmých jednotkových vektorů i , j , k , přičemž směr vektoru k odpovídá opačnému směru optické osy kamery digitizéru. Vektor i pak leží ve směru osy
x a vektor j ve směru osy y kartézského souřadného systému roviny stínítka. První polohu kamery, reprezentovanou bodem O1 je vhodné umístit do počátku globálného souřadného systému. Pak tedy bude O1
0,0,0 . Toto je znázorněno na obr 6.3., ze kterého bude
vycházeno při sestavování základních rovnic popisujících stávající problém.
A osa ot.
j
a a y
1
x 1
y
k
a
O1 i
2
j o i 2
x
a
2
k V2
V1 uhel ot. Obr. 6.3 Podklad pro sestavování základních rovnic
Z obr. 6.3 je patrné, že souřadnice obrazů bodů prvního snímku budou označovány a1x , a1y až f 1x , f 1 y a souřadnice obrazů bodů druhého snímku a 2x , a 2y až f 2x , f 2y . Průsečík optické osy kamery se stínítkem je označen O1 pro první polohu a O2 pro druhou polohu kamery digitizéru. Fiktivní ohniska jsou podobně označeny V1 a V2 . Fiktivní ohnisková vzdálenost nese označení r a je rovna O1V1
O 2V 2 .
Následující rovnice budou sestavovány pro bod A, analogicky lze psát rovnice pro body B až F.
51
Z obr. 6.3 vyplývá vektorová rovnice (6.1), jejíž levou stranou je parametrický předpis přímky procházející body V1 , A a pravá strana vyjadřuje průsečík této přímky s rovinou sítnice prvního snímku. t1A V1
V1
A
O1
a1x i
a1y j
(6.1)
Kde t1A je parametr z oboru reálných čísel. Polohu fiktivního ohniska V1 lze zapsat vztahem (6.2).
V1
O1
(6.2)
r k
Dosazením vztahu (6.2) do rovnice (6.3), dostáváme po vykrácení bodu O1 rovnost (6.4). t1A O1
r k
r k
a1x i
A
a1y j
(6.4)
Podobným způsobem, jakým byly sestaveny předchozí tři rovnice popisující situaci vztahující se k první poloze kamery, budou sestaveny rovnice popisující polohu a natočení kamery ve druhé poloze. Fyzické otočení kamery lze matematicky popsat jako otočení jednotkových vektorů i , j , k posunutých do bodu O2 kolem osy O2 . Toto otočení je realizováno pomocí matice otočení G oT
o
G
o
E
,
o
kde
oT
o
cos
sin
R
O
,
o
, která prochází bodem
: [5]
(6.5)
… jednotkový směrový vektor osy ω,
… úhel natočení vektorů i , j , k kolem osy ω,
R
o
… matice rotace kolem osy ω, popsaná vztahem (6.6). o 3
0 R
o 3
o
o 2 o 1
0 o 2
o 1
[5]
(6.6)
0
Po zadefinování matice otočení lze napsat rovnost (6.7), jejíž levou stranou je parametrický předpis přímky procházející body V2 , A a pravá strana vyjadřuje průsečík této přímky s rovinou sítnice druhého snímku. V2
t 2A V2
A
O2
a 2x G i
a 2y G j
(6.7)
Kde t 2A je parametr z oboru reálných čísel. Polohu fiktivního ohniska V2 lze zapsat vztahem (6.8).
V2
O2
(6.8)
r G k
52
Podobně jako v případě první polohy bude provedena i u druhé polohy kamery substituce, spočívající v dosazení pravé strany vztahu (6.8) za V2 do rovnice (6.7). Tím dostáváme rovnost (6.9).
t 2A O2
r G k
r G k
a 2X G i
A
a 2Y G j
(6.9)
Nyní tedy jsou pomocí vztahů (6.4) a (6.9) popsány subsystémy obou poloh kamery. Pro popis celé situace obr. 6.3 je třeba tyto dílčí vztahy vyjádřit jediným předpisem. Ten dostaneme sečtením vztahů (6.4) a (6.9), přičemž před samotným sečtením je třeba vynásobit rovnici (6.4) záporně položeným parametrem (- t 2A ) a rovnici (6.9) parametrem t1A . Po tomto roznásobení a sečtení rovnic dostáváme po úpravě vztah (6.10).
r t1A G t 2A E k
t1A t 2A O2
t1A t 2A r G
O1
E k (6.10)
t1A a 2x G t 2A a1x E i
t1A a 2y G t 2A a1y E
j
0
Tento vztah lze dále upravit vydělením obou jeho stran parametrem t1A a následným vytknutím parametrů. Po této úpravě dostáváme vektorovou rovnici (6.11).
t 2A
O2
O1
r G k
a
r G x 2
t 2A t1A
E k
G i
a
y 2
G j
r k
a1x i
a1y j
(6.11)
0
Označíme-li: h1A
O2
O1
h2A
r k
h3A
r G k
r G
a1x i
(6.12)
E k
a1y j
a 2x G i
(6.13)
a 2y G j ,
(6.14)
bude mít vztah (6.11) po vyjádření pomocí vztahů (6.12), (6.13) a (6.14) tvar (6.15). t
A 2
A 1
h
t 2A A h2 t1A
h3A
(6.15)
0
Jelikož je předpokládána lineární závislost vektorů h1A , h2A , h3A , lze napsat vztah (6.16).
det h1A
h2A
h3A
h11A
h21A
h31A
det h21A
h22A
h32A
A 31
A 32
A 33
h
h
det H A
HA
0
(6.16)
h
Pokud by bylo pro další výpočty používáno vztahu (6.16), narazili bychom na stav, kdy algoritmus nalezne řešení, které ovšem neodpovídá druhé poloze kamery, nýbrž poloze první. Tento negativní jev je způsoben vynulováním prvního sloupce matice H A . Aby bylo
53
tomuto vynulování zabráněno, je třeba v prvním sloupci matice H A provést ekvivalentní úpravu zaručující výskyt nenulového prvku v tomto sloupci. Zmiňovanou úpravou je vydělení každého prvku prvního sloupce, prvním prvkem matice. Po této úpravě dostáváme modifikovanou matici H MA , viz. (6.17).
H MA
1 h2A,1 h1A,1 h3A,1 A 1,1
h
h1A, 2
h1A,3
h2A, 2
h2A,3
h3A, 2
h3A,3
hMA 1,1
h1A, 2
h1A,3
hMA 2,1 hMA 3,1
h2A, 2 h3A, 2
h2A,3 h3A,3
(6.17)
Provedením ekvivalentní úpravy zůstává zachován předpoklad lineární závislosti sloupců matice H MA , tudíž i jejího nulového determinantu. Musí tedy platit vztah (6.18). H MA
(6.18)
0
Analogickým způsobem, jakým jsme dospěli k rovnici (6.18) pro bod A, lze napsat rovnice pro další body B až F. Tím dostáváme soustavu (6.19), tedy soustavu šesti rovnic pro sedm neznámých O2x , O2y , O2z , H MA
0
H MB
0
H MC
0
H MD
0
H ME
0
H MF
0
o 1
o 2
,
,
o 3
,
.
(6.19)
Abychom dostali stejný počet rovnic jako je počet neznámých, je třeba soustavu (6.19) doplnit o další rovnici. Onou rovnicí bude rovnice (6.20), tvořící podmínku zachování velikosti jednotkového vektoru o2 1
o2 2
o2 3
o
. (6.20)
1
Nyní tedy máme sedm rovnic pro sedm neznámých. Je patrné, že je vlivem rovnice (6.20) do soustavy vnesena nelinearita. Jde tedy o nelineární problém, jež není možné řešit analyticky, nýbrž je třeba použít vhodnou numerickou metodu.
54
Řešení soustav nelineárních rovnic je poměrně složitou oblastí numerické matematiky. Neexistuje zde žádná univerzální vždy konvergentní metoda, tak jak tomu je v jedné dimenzi, kde lze použít např. metodu bisekce nebo metodu regula falsy. Mezi iterační metody, které lze použít pro řešení soustav nelineárních rovnic, analogickým odvozením ze vztahů pro jednu dimenzi, patří metoda prosté iterace, nebo Newtonova metoda. Metoda prosté iterace je iterační metoda prvního řádu, kdežto Newtonova metoda je metoda druhého řádu, lze tím u ni předpokládat rychlejší konvergenci. Pro řešení našeho problému bylo tedy rozhodnuto o užití Newtonovy iterační metody. Podrobněji jsou metody pro řešení soustav nelineárních rovnic probrány v [3].
6.1.3. Newtonova iterační metoda
Nejprve zde bude ukázán princip Newtonovy metody pro řešení jedné nelineární rovnice o jedné neznámé, kterou lze symbolicky zapsat vztahem (6.21). f
(6.21)
0
x
Obecně lze říci, že iterační metody pro řešení rovnice (6.21) jsou takové metody, pomocí nichž dostáváme posloupnost, která konverguje k řešení rovnice (6.21). Vzorec pro Newtonovu iterační metodu pro funkci jedné proměnné je dán vztahem (6.22). xk
1
xk
f
xk
f
xk
kde k = 0, 1, …
(6.22)
Newtonova metoda se nazývá také metodou tečen, je tomu tak protože vzorec (6.22) vyjadřuje průsečík tečny funkce f
x
v bodě x k , f
y
xk
s osou x , viz. obr.6.4.
y = f(x) [xk, f(x k)]
x*
x k+2
x k+1
xk
x
Obr. 6.4 Průběh výpočtu Newtonovou metodou pro jednodimenzionální úlohu 55
Podobným způsobem, jakým byla předvedena Newtonova metoda pro řešení jedné rovnice pro jednu neznámou, lze sestavit vztah pro řešení soustavy nelineárních rovnic. Zde tedy již není řešena skalární rovnice (6.21), nýbrž soustava rovnic zapsaná symbolicky vektorovou rovnicí (6.23). f
(6.23)
0
x
Při sestavování výsledného iteračního vzorce je vycházeno ze vztahu (6.22), kde je derivace nahrazena jakobiánem a místo dělení je provedena inverze.[26] Vzorec pro řešení soustavy nelineárních rovnic pomocí Newtonovy metody má pak tvar (6.24).
xk
1
xk
M k 1 fk
(6.24)
kde k = 0, 1, … x … vektor hledaných neznámých, pro náš případ je x
O2x , O2y , O2z ,
o 1
,
o 2
,
o 3
T
,
f … soustava řešených nelineárních rovnic, pro náš případ je vektor f dán soustavou (6.19) a vztahem (6.20). Pak je tedy f
H MA , H MB , H MC , H MD , H ME , H MF , H
kde H vyjadřuje vztah (6.20) přepsán do tvaru H
o2 1
o2 2
o2 3
T
1
M … čtvercová matice, jejíž prvky jsou tvořeny parciálními derivacemi všech rovnic vektoru f podle všech neznámých vektoru x . Obecně lze tedy výpočet prvku matice M popsat vztahem (6.25). f i, j
fi xj
(6.25)
Ze vztahu (6.25) je patrná jedna z nevýhod Newtonovy metody a to ta, že je nutno vypočítat všechny parciální derivace, což činní algoritmus poměrně pracným. Ke konvergenci Newtonovy metody lze ještě dodat,
že je stejně jako
v jednodimenzionálním případě založena na aplikaci Banachovy věty o pevném bodě, která je rozebrána např. v [2]. Prakticky lze o konvergenci Newtonovy metody říci, že je citlivá na zvlnění funkce, při které může dojít k nežádoucí divergenci. Dalším úskalím konvergence této metody je počáteční iterační odhad, který musí být stanoven s dostatečnou přesností, aby bylo nalezeno konvergující řešení. Zkoumání maximální nepřesnosti prvního iteračního odhadu a vyvození konkrétních závěrů pro naši úlohu budeme provedeno v podkapitole 6.2.2.
56
6.1.4. Výpočet prvků matice M
Jak již bylo výše zmíněno a také popsáno vztahem (6.25), jsou prvky matice M tvořeny parciálními derivacemi všech rovnic vektoru f podle všech neznámých vektoru x . V této podkapitole se tedy budeme zabývat právě výpočtem těchto parciálních derivací. Nejprve budou vypočteny parciální derivace H MA podle všech neznámých. Při derivování H MA , jde o derivování determinantu, pro které platí zákonitosti předvedené na následujících
dvou příkladech.
Příklad 1: Vztahem (6.26) je popsáno derivování determinantu v maticovém tvaru. Vztah (6.27), kde je determinant rozepsán a derivování je provedeno klasickým způsobem, pak potvrzuje platnost vztahu (6.28). a2 c4
b3 d5 a
a2 c4
b3 d5
2a b 3 0 d5
2ad 5
a2d 5
b3c 4
a
a
(6.26)
2ad 5
(6.27)
Příklad 2: Podobně jako tomu bylo u příkladu 1, je i zde nejprve vztahem (6.28) popsáno derivování determinantu v maticovém tvaru a vztah (6.29) pak potvrzuje jeho platnost. U tohoto příkladu dochází k derivování determinantu podle proměnné, která se vyskytuje ve více než jednom sloupci matice, lze si zde všimnout analogie s derivováním součinu dvou funkcí.
a2
a6
c2
d2 a
0
a2
a6
c2
d2 a
2a
a6
a2
2
2
d
c
a2d 2
a 6c 2 a
6a 5 0
2ad 2
2ad 2
6a 5 c 2
6a 5 c 2
(6.28)
(6.29)
57
Parciální derivace H MA podle O2x , O2y , O2z : Jelikož první poloha kamery reprezentovaná bodem O1 byla zvolena do počátku globálného souřadného systému (tedy O1
0,0,0 ), lze zavést označení bodu O2
O.
Tohoto označení bude užíváno v dalších výpočtech. Bod O se vyskytuje v matici H MA pouze v jejím prvním sloupci, proto je derivování H MA
podle složek bodu O poměrně jednoduché. Parciální derivace H MA
podle O x je
vyjádřena vztahem (6.30).
f
A Ox
0 h2A,1
H MA
A 2 1,1 A 3,1
Ox
h h
A 2 1,1
h
h1A, 2
h1A,3
h2A, 2
h2A,3
h3A, 2
h3A,3
(6.30)
Parciální derivace H MA podle O y je vyjádřena vztahem (6.31).
f OAy
H
A M
Oy
0 1 h1A,1 0
h1A, 2
h1A,3
h2A, 2
h2A,3
h3A, 2
h3A,3
(6.31)
Parciální derivace H MA podle O z je vyjádřena vztahem (6.32).
f OAz
H MA Oz
0 0 1 h1A,1
h1A, 2 h2A, 2
h1A,3 h2A,3
h3A, 2
h3A,3
Parciální derivace H MA podle
(6.32)
o 1
Při derivování H MA podle podle O . Vektor
o
o 2
, o 1
,
o 3
, o 2
,
: o 3
je situace komplikovanější než při derivování
je totiž argumentem matice otočení G
58
O
,
, proto je nejprve potřeba
parciálně zderivovat matici otočení G
O
,
podle vektoru
o
. Při tomto derivování jsou do
vztahů zahrnuty jednotkové vektory i , j , k , kterými je matice otočení v matici H MA násobena. Parciální derivace G GI
G
oT
i
o
O
,
i podle vektoru o
i E
iT
1 cos
o
je po popsána vztahem (6.33).
sin
(6.33)
RI
Kde R I je matice rotace kolem vektoru i , která je dána vztahem (6.34).
Ri
0
i3
i3
0
i2
i2 (6.34)
i1
i1
0
Podobně lze popsat vztahem (6.35) parciální derivaci G G
GJ
Kde R
j
oT
j
o
j
j3
j3
1 cos
sin
j podle vektoru R
o
. (6.35)
j
o
j1
i1
Pro parciální derivaci G G
j2
0
j2
GK
jT
,
je matice rotace kolem vektoru j , která je dána vztahem (6.36).
0 R
o
j E
O
(6.36)
0 O
, oT
k
k podle vektoru o
k E
kT
o
lze napsat analogicky vztah (6.37).
1 cos
sin
(6.37)
Rk
Kde R k je matice rotace kolem vektoru k , která je dána vztahem (6.38).
Rk
0
k3
k3
0
k1
k1
0
k2
k2 (6.38)
Po tomto zadefinování parciálních derivací matice otočení G
O
,
, násobené
jednotkovými vektory i , j , k , lze přistoupit k samotnému výpočtu parciálních derivací H MA podle jednotlivých složek vektoru
o
.
59
Parciální derivaci H MA podle
o 1
lze vyjádřit vztahem (6.39).
0 f
H
A o 1
A M
r
o 1
GK 2,1 h1A,1
h2A,1 GK 1,1
GK 3,1 h1A,1
h3A,1 GK 1,1
h 2 x
h1A, 2
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
GI 1,1
GJ 1,1
A 2, 2 A 3, 2
GJ 2,1 GJ 3,1
o 2
GI 2,1 GI 3,1
a
h h
f
H
A o 2
r
o 2
GK 2, 2 h1A,1
h2A,1 GK 1, 2
GK 3, 2 h1A,1
a
2 x
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
h
h
h
h
GI 1, 2 GI 2, 2
a
2 y
f
A o 3
r
o 3
GJ 1, 2 GJ 2, 2
h
o 3
h
2
A 2 1,1
h
a
2 x
h1A, 2
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
h h
h h
GI1,3 GI 2,3 GI 3,3
a
2 y
GK 1, 2
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
GK 2, 2
r h
h
h
GK 3, 2
(6.40)
GJ 3, 2
h1A, 2
h1A,3
A 2, 2
A 2,3
h
h
A 3, 2
A 3, 3
h
h
hMA 1,1
h1A, 2
GJ1,3
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
GJ 2,3 GJ 3,3
h h
h1A, 2
(6.39)
je vyjádřena vztahem (6.41).
GK 3,3 h1A,1 h3A,1 GK1,3 hMA 1,1
hMA 1,1
h3A,3
A 2, 2 A 3, 2
GK 2,3 h1A,1 h2A,1 GK1,3 h1A,1
h
A M 2 ,1 A M 3,1
0 H MA
A 2,3
h1A, 2
h
Parciální derivace H MA podle
A 2, 2
hMA 1,1 h
GI 3, 2
h1A,3
h3A, 2
h h1A, 2
GK 1,1 GK 2,1 GK 3,1
h
h3A,1 GK 1, 2 A 2 1,1
hMA 1,1
h1A, 2 h
2
h1A,1
h1A, 2 h2A, 2 h3A, 2
je vyjádřena vztahem (6.40).
0 A M
hMA 1,1 r hMA 2,1 hMA 3,1
h3A,3
A M 2 ,1 A M 3,1
Parciální derivace H MA podle
h h
h
h1A, 2
h h
h h
A 2,3
hMA 1,1 2 y
a
A 2, 2
h3A, 2
A 2 1,1
hMA 1,1
h1A,3
h
2
h1A,1
h1A, 2
h h
60
hMA 1,1
h1A, 2
GK1,3
A M 2 ,1 A M 3,1
A 2, 2 A 3, 2
r h
h
GK 2,3
h
h
GK 3,3
(6.41)
Parciální derivace H MA podle
:
Úhel τ je argumentem matice otočení G je vhodné provést nejprve parciální derivaci G
O
O
,
, která se vyskytuje v matici H MA . Proto
,
podle τ. Tato parciální derivace je popsána
vztahem (6.42) W
G
sin
o
E
oT
cos
R
(6.42)
o
Dále je vzhledem k dalším krokům výpočtu vhodné zavést označení součinů matice W s jednotlivými jednotkovými vektory i , j , k . Tyto součiny jsou pak popsány vztahy (6.43), (6.44) a (6.45).
WI
W i
(6.43)
WJ
W j
(6.44)
WK
W k
(6.45)
Po zadefinování těchto součinů lze již přikročit k samotnému výpočtu parciální derivace H MA podle τ. Tato parciální derivace je vyjádřena vztahem (6.46).
0 f
A
H MA
r
A 1,1
A 2 ,1 A 2 1,1 A A 1,1 3,1 A 2
WK 2 h
h
WK1
h
WK1
h
WK 3 h
h1,1
a x2
hMA 1,1 hMA 2,1 hMA 3,1
h1A, 2 WI1 h2A, 2 WI 2 h3A, 2 WI 3
a y2
hMA 1,1 hMA 2,1 hMA 3,1
h1A, 2
h1A,3
h2A, 2
h2A,3
h3A, 2
h3A,3
hMA 1,1 r hMA 2,1 hMA 3,1
h1A, 2 WK1 h2A, 2 WK 2 h3A, 2 WK 3
(6.46)
h1A, 2 WJ 1 h2A, 2 WJ 2 h3A, 2 WJ 3
V tuto chvíli jsou již vyjádřeny všechny parciální derivace tvořící prvky prvního řádku matice M. Analogickým způsobem, jakým byly vypočteny tyto prvky prvního řádku matice M příslušející bodu A, lze vypočíst prvky druhého až šestého řádku příslušejících bodům B až F. Poslední, sedmý řádek matice M je pak tvořen parciálními derivacemi funkce H podle všech sedmy neznámých. Jelikož je funkce H , pouze funkcí složek vektoru
o
situace podstatně jednodušší, nežli tomu bylo v předešlém případě při derivování H MA .
61
, bude
Parciální derivace H
podle
o 1
,
o 2
o 3
,
: o2 1
Připomeňme nyní předpis funkce H , která má tvar H o
Parciální derivace podle jednotlivých složek vektoru
o2 2
o2 3
1.
lze pak snadno vypočíst a popsat
vztahy (6.47), (6.48) a (6.49). H o 1
H o 2
H o 3
2
o 1
(6.47)
2
o 2
(6.48)
2
o 3
(6.49)
Další prvky posledního řádku matice M jsou tvořeny parciálními derivacemi funkce
H
podle ostatních neznámých, tedy podle souřadnic bodu O a podle úhlu τ. Z předpisu
funkce H
je patrné, že tyto parciální derivace nabývají nulových hodnot.
6.1.5. Sestavení výsledné iterační rovnice
Při sestavování konečné iterační rovnice pro naši konkrétní úlohu bude vycházeno z obecného vztahu pro řešení soustav nelineárních rovnic pomocí Newtonovy metody. Jde o vztah (6.24), což je: x k
xk
1
M k 1 f k . Kde jsou prvky matice M vypočteny ze vztahu fi . xj
(6.25), který má tvar f i , j
Matice M je tedy sestavena s ohledem na uspořádání
vektorů x a f . Konečná iterační rovnice algoritmu je pak s využitím výše popsaných rovnic, jež tvoří prvky vektoru f a matice M, zapsána vztahem (6.50). O2x
O2x
f OAx
f OAy
f OAz
y 2 z 2 o 1 o 2 o 3
y 2 z 2 o 1 o 2 o 3
f
B Ox
f
B Oy
f
B Oz
f
C Ox
f
C Oy
f
C Oz
O O
O O
k 1
k
f
A
f
B
f
C
o 1 o 1 o 1
f ODx
f ODy
f ODz
f
D
f OEx
f OEy
f OEz
f
E
f OFx
f OFy
f OFz
f
F
0
0
0
2
o 1 o 1 o 1
o 1
f
A
f
B
f
C
f
D
f
E
f
F
2
62
o 2 o 2 o 2 o 2 o 2 o 2
o 2
f
A
f
B
f
C
f
D
f
E
f
F
2
o 3 o 3 o 3 o 3 o 3 o 3
o 3
f
A
f
B
f
C
f
D
f
E
f
F
0
1
HA HB HC
(6.50)
HD HE HF H k
k
6.2. Aplikace algoritmu Pro aplikaci a ozkoušení funkčnosti algoritmu byl zvolen modelový příklad u kterého již známe správné řešení a dokážeme tím tedy porovnat a zhodnotit správnost dosažených výsledků, vypočtených pomocí vyvinutého algoritmu. V reálném případě, při praktické aplikaci algoritmu pro skládání skenů, bude vycházeno ze známých souřadnic obrazů referenčních bodů na obou stínítkách a ze známé fiktivní ohniskové vzdálenosti. Referenční body v prostoru, stejně tak jako druhá poloha kamery digitizéru, nebudou známy. U tohoto modelového příkladu je k úloze přistupováno z opačné strany. Nejprve jsou vhodně zvoleny referenční body v prostoru a náhodně zvoleny obě polohy digitizéru. Souřadnice obrazů referenčních bodů na obou stínítkách je pak třeba dopočítat. Po jejich dopočtení lze úlohu řešit stejným způsobem, jakým by byla řešena při praktické realizaci. Modelový příklad je znázorněn výše na obr.6.2. Referenční body mají následující souřadnice: A = [-1, 4, -14], B = [4, 4, -16], C = [1, 2, -10], D = [-2, -1.5, -10], E = [1, -1, -13] a F = [4, -2, -10]. První poloha kamery je, jak již bylo řečeno zvolena do počátku globálného souřadného systému, tedy O1
0,0,0 . Druhá poloha kamery a její orientace je zvolena
následovně: O2
2,9,1 ,
T
6,1, 3 ,
27 o . Zvolený vektor
je nutno pro další
výpočty přepočítat pomocí vztahu (6.51) na jednotkový vektor. o
(6.51)
Po tomto přepočtení dostáváme
o
T
0.21567;0.97049;0.10783 .
6.2.1. Výpočet souřadnic obrazů referenčních bodů
Výpočet souřadnic obrazu referenčního bodu A na prvním stínítku spočívá ve vyřešení soustavy tří skalárních rovnic o třech neznámých a1x , a1y , t1A . Tato soustava skalárních
r k
rovnic
t1A O1
r k
je
dána
jednou
A
a1x i
a1y j .
vektorovou
63
rovnicí
(6.4),
což
je
rovnice:
Vyřešením této soustavy dostáváme explicitní vyjádření všech neznámých. Explicitní vyjádření parametru t1A je popsáno vztahem (6.52).
r
t1A
O1
A k
(6.52)
r
Explicitní vyjádření hledaných souřadnic obrazu referenčního bodu A je popsáno vztahy (6.53) a (6.54). a1x
t1A
O1
A i
(6.53)
a1y
t1A
O1
A
(6.54)
j
Při výpočtu souřadnic obrazu referenčního bodu A na druhém stínítku je vycházeno z vektorové rovnice (6.9), což je: r G k
t 2A O2
r G k
A
a 2X G i
a 2Y G j .
Tato vektorová rovnice nám opět dává soustavu tří skalárních rovnic pro tři neznámé. Vyřešením této soustavy dostáváme explicitní vyjádření všech neznámých, ta jsou popsána vztahy (6.55), (6.56) a (6.57). r
t 2A
O2
A G k
(6.55)
r
a 2x
t 2A
O2
A G i
(6.56)
a 2y
t 2A
O2
A G j
(6.57)
Analogickým způsobem, jakým byly vyjádřeny vztahy pro výpočet souřadnic obrazu referenčního bodu A, lze vyjádřit vztahy pro výpočet souřadnic obrazů ostatních referenčních bodů B až F. Pomocí těchto vztahů je pak možno dopočítat tyto souřadnice. Po jejich dopočtení lze k úloze
testování algoritmu na modelovém příkladu, přistupovat stejným
způsobem jako k úloze řešené při praktické realizaci.
6.2.2. Spuštění iteračního procesu a provedení zkoušek
K ozkoušení správnosti a funkčnosti výše odvozeného algoritmu, vedoucího na iterační rovnici (6.50), bylo využito počítačového programu Mathcad. Pomocí tohoto programu byly provedeny všechny dílčí výpočty a také realizován samotný iterační proces.
64
V této podkapitole bude uvedeno jen několik příkladů z mnoha realizovaných zkoušek, ze kterých bude zřejmé chování algoritmu. Před samotným uvedením konkrétních zkoušek poznamenejme, že je algoritmus funkční v oblasti hledání orientace kamery přemístěné do druhé polohy, tedy v hledání složek směrového vektoru osy otočení a v hledání úhlu otočení. Proto je v této podkapitole zaměřena pozornost především na zkoumání rychlosti konvergence těchto čtyř prvků a na zkoumání maximální možné nepřesnosti prvního iteračního odhadu u těchto čtyř prvků. V oblasti hledání druhé polohy kamery algoritmus bohužel neposkytuje žádané jednoznačné řešení. Zkoušky nám ovšem dávají informace o chování algoritmu, na jejichž základě je možno stanovit dodatečné podmínky a postup vedoucí k požadovanému jednoznačnému řešení. Tato problematika bude podrobněji rozebrána v podkapitole 6.3. Níže uvedené zkoušky spočívají v dosazování nesprávných prvních iteračních odhadů, jež by měly díky iteračnímu procesu dospět ke správnému řešení a nalézt tak přesnou polohu a orientaci kamery v druhém místě skenování. Správné řešení modelového příkladu je dáno vektorem x s , viz. (6.58). O2x
6
y 2 z 2 o 1 o 2 o 3
1 3
O O xs
(6.58)
0.21567 0.97049 0.10783 0.47124
s
s
Ve vektoru x s se vyskytují složky jednotkového směrového vektoru osy otočení a úhel otočení v radiánech. Pro větší přehlednost zavedeme vektor X S , ve kterém bude jednotkový vektor osy roznásoben absolutní hodnotou správného vektoru a úhel zde bude místo v radiánech uváděn ve stupních. Správné řešení modelového příkladu pak má tvar (6.59). S tímto správným řešením budeme porovnávat algoritmem spočtené výsledky. O2x O O XS
6
y 2 z 2
1 3
1
2
(6.59)
9 1
2 3 s
27 o
s
65
Zkouška I: O2x y 2 z 2
O O Xk
1
8
65.16949
2 1
5.08675 28.48365 10 kroků
4
1
Xk
2 9
10
6 2
2 3 1
42
1 27 o
o 1
10
Zkouška II: O2x y 2 z 2
O O Xk
1
7
47.32455
0 4
3.85442 20.79923 10 kroků
1
1
Xk
2
10
9 1
7 4
2 3 1
55 o
27 o
1
10
Zkouška III:
O2x O2y O Xk
1
5
648.13005 44.18280
2 2 3
z 2 1
278.74573 10 kroků
Xk
2
10
9
3 3
2 3 1
70
1 27 o
o 1
10
Zkouška IV:
O2x O2y O Xk
1
6.5
401.25419 27.13034
0.5 2.5 10
z 2 1
172.41179 20 kroků
Xk
2
20
9
1 1
2 3 1
87
1 27 o
o 1
66
20
6.3. Zhodnocení výsledků zkoušek a návrh dalšího postupu Z výše uvedených zkoušek je patrné, že je algoritmus funkční v oblasti hledání orientace kamery, kde bezpečně nalézá konvergující řešení pro složky směrového vektoru osy otočení a pro úhel otočení. V oblasti hledání druhé polohy kamery algoritmus bohužel neposkytuje žádané jednoznačné řešení. Užitím tohoto algoritmu tedy nalézáme konvergující řešení čtyř ze sedmi hledaných prvků vektoru x . Z provedených zkoušek bylo zjištěno, že je algoritmus pro zmíněné čtyři konvergující prvky poměrně necitlivý na velikost odchylky prvního iteračního odhadu od hledaného řešení. Necitlivost algoritmu na chybu prvního iteračního odhadu dokazuje také výše uvedená zkouška IV. U této zkoušky bylo nalezeno konvergující řešení i přesto, že odchylka úhlu činila 60 stupňů a zároveň odchylka směrového vektoru osy otočení činila více než 70 stupňů. Jednoznačné a přesné definování podmínek pro maximální možnou nepřesnost prvního iteračního odhadu je vzhledem k provázanosti a vzájemné závislosti jednotlivých složek obtížné. Přibližně lze však říci, že stačí aby první iterační odhad směrového vektoru osy otočení směřoval do stejného poloprostoru jako hledaný vektor, přičemž úhel otočení může být odhadnut s odchylkou v rámci příslušného kvadrantu. Pro praktické využití, kde je potřeba také volit první iterační odhad podle toho na jaké místo byl digitizér přemístěn, se tedy ukazuje být aplikace algoritmu vhodná a pro obsluhu zvládnutelná. Pro usnadnění stanovování prvního iteračního odhadu obsluhou, je vhodné využít stativu digitizéru vybaveného stupnicí pro odměřování úhlu natočení. Pokud by měl být proces odhadování prvního iteračního odhadu obsluhou zcela odstraněn a zautomatizován, lze použít některé z přibližovacích metod, např. metodu Monte Carlo. Ta i velmi chybný první iterační odhad dokáže předzpracovat a přiblížit Newtonově metodě tak, aby ta byla schopna nalézt konvergující řešení. Mimo poměrně velké možné chyby prvního iteračního odhadu je další výhodou algoritmu vysoká rychlost s jakou dokáže nalézt správné řešení. Pro výše zmíněné značně nepřesné iterační odhady, pohybující se na mezi konvergence, algoritmus nachází správné řešení během jen cca 20-ti iteračních kroků. Při těchto velmi chybných prvních iteračních odhadech dochází v prvních několika iteračních krocích k zakmitnutí hodnot kolem správného řešení a v dalších krocích již dostáváme hodnoty, jež stabilně konvergují ke správnému řešení s rychlostí jednoho řádu na krok. Správnější první iterační odhady pak přímo bez počátečního zakmitnutí konvergují s rychlostí přibližně řádu na krok ke správnému řešení.
67
Nyní bude blíže rozebráno chování algoritmu při hledání druhé polohy kamery reprezentované bodem O2 . Z provedených a předvedených zkoušek je zřejmé, že algoritmus není schopen nalézt správné řešení určující polohu kamery. Nicméně i přesto nám výsledky zkoušek poskytují důležité informace o chování algoritmu, na jejichž základě bude stanoven další postup. Z výsledků zkoušek si lze všimnout, že poměry složek vyšlého bodu O2* přibližně odpovídají poměrům složek hledaného budu O2 , a to včetně zachování znamének. Příčina tohoto chování vychází ze stanovování počátečních podmínek a předpokladů při vývoji algoritmu. Konkrétně se jedná o vztah (6.18), což je vztah H MA
0 . Tímto vztahem
byla za výchozí předpoklad stanovena kolinearita vektorů h1A , h2A , h3A , popsaných vztahy (6.12), (6.13) a (6.14). Tyto vektory jsou směrovými vektory spojnic bodů V1 , V2 , A , tedy přímek u,v, w z obr. 6.5, znázorňujícího nalezené nejednoznačné řešení polohy kamery.
A **
A *
A w**
u
V1
w w*
v
*
V2
**
V2
V2
Obr. 6.5 Nejednoznačnost řešení hledání polohy kamery
Z tohoto obr. je patrné, že stanovená podmínka kolinearity vektorů h1A , h2A , h3A je pro nalezení jednoznačného řešení nepostačující. Podmínka je totiž splněna v každém případě, kdy nalezené fiktivní ohnisko V2* leží na přímce dané body V1 a V2 . Pro nalezení požadovaného jednoznačného řešení určení polohy kamery, je tedy třeba stanovit jiný počáteční předpoklad. Pro úlohu skládání skenů, tak jak byla v počátku postavena, tedy pro hledání druhé polohy kamery, nebyla nelezena podmínka vedoucí k jednoznačnému řešení. Z tohoto důvodu byly zkoušeny ještě jiné přístupy, vycházející ze současného hledání druhé i třetí polohy kamery. Ovšem ani tyto přístupy nevedly na 68
jednoznačné řešení. Blíže jsou tyto přístupy, poskytující zajímavé poznatky z oblasti vývoje algoritmu a stanovování počátečních předpokladů, popsány dále v podkapitole 6.4. Jelikož se 3D digitizér vyvíjený na KVS neskládá pouze z jedné kamery, jako je tomu např. u systému TriTop, ale je jeho součástí také projektor laserového proužku a v budoucnu bude jeho součástí také druhá kamera, lze těchto prvků digitizéru využít pro řešení problému skládání skenů, resp. problému jednoznačného nalezení druhé polohy kamery digitizéru. Z obr. 6.5. je patrné, že pokud by byli známi souřadnice bodu A, bylo by možné jednoznačně určit polohu přímky w . Průsečík této přímky w s přímkou v, by pak udával polohu fiktivního ohniska kamery v druhé poloze ( V2 ) , ze kterého lze už velmi snadno dopočítat bod O2 , reprezentující druhou polohu kamery. Teoreticky je možno souřadnice bodu A s plným využitím současné podoby digitizéru, tedy i s využitím projektoru laserového proužku, vypočítat pomocí triangulace. To s sebou ovšem při praktické realizaci přináší značné nevýhody spočívající v problematickém zaměření referenčního bodu A. Tento problém lze řešit použitím referenční koule, jejímž středem je právě zmiňovaný bod A. Ten pak lze, po aproximaci bodů povrchu koule pořízených skenováním dopočítat, což je ovšem časově poměrně náročné. Vzhledem ke zmíněným nevýhodám tohoto dopočtu bodu A, není vhodné tuto techniku použít. Jak již bylo naznačeno, v blízké budoucnosti se počítá s přidáním druhé kamery digitizéru. Po té co tak bude učiněno, bude možno bod A dopočítat pomocí principu stereovidění. Tento princip byl vysvětlen v podkapitole 4.1., kde byl také popsán vztahy (4.1) a (4.2). Využití dvou kamer a principu stereovidění se pro náš účel hledání souřadnic bodu A ukazuje být mnohem výhodnější, nežli použití projekce laserového proužku a triangulace. Při použití dvoukamerového systému a principu stereovidění již nebude problém se zaměřením bodu A, což přispěje k zjednodušení výpočtu a zpřesnění nalezené polohy bodu A. Jediná nepřesnost tohoto způsobu výpočtu, je nepřesnost vnesená chybami CCD čipů kamer a chybou kalibrace soustavy kamera – kamera.
69
6.4. Další možné přístupy k problému Úloha vývoje algoritmu pro skládání skenů byla původně stanovena tak, aby algoritmus dokázal nalézt správnou polohu i orientaci kamery, bez použití metod triangulace či stereovidění, kterými se do výpočtu vnáší jistá chyba. Z toho důvodu se ve vývoji algoritmu dále pokračovalo a byly stanovovány ještě další počáteční předpoklady u nichž bylo očekáváno, že povedou k požadované konvergenci všech sedmi hledaných prvků. Tento ideální případ, kde by byl nalezen algoritmus, jež bez užití triangulace či stereovidění, dokáže nalézt konvergující řešení všech sedmi prvků bohužel nenastal. Při hledání tohoto algoritmu a při stanovování počátečních předpokladů však bylo nabyto zajímavých poznatků, se kterými chce tato podkapitola seznámit.
Varianta I: U výše popsaného algoritmu dochází k nejednoznačnému určení bodu V2* . Zjištěno bylo pouze to, že leží na přímce dané body V1 a V2 . Z tohoto důvodu byla zavedena ještě třetí poloha kamery, která bude hledána současně s druhou polohou. Tím je předpokládáno zamezení nejednoznačnosti dané podobnostmi trojúhelníků znázorněné na obr. 6.5. a získání jednoznačnosti v podobě jehlanu znázorněného na obr. 6.6.
p
3
p
1
p
A
A
S3
2
S1
v
3
V3
V1
A
S2 v
v
1
2
V2 Obr. 6.6 Idea třípolohové varianty s předpokladem různoběžnosti
70
Jako počáteční předpoklad byla stanovena vzájemná různoběžnost spojnic fiktivních ohnisek a bodu A. Tyto předpoklady jsou dány vztahy (6.60), (6.61) a (6.62). V2
V1
S1A
V1
S 2A
V2
0
(6.60)
V3
V1
S1A
V1
S 3A
V3
0
(6.61)
V3
V2
S 2A
V2
S 3A
V3
0
(6.62)
Kde S 1A , S 2A , S 3A jsou obrazy referenčního bodu A na stínítku 1, 2 a 3. Při řešení této úlohy, kde hledáme zároveň druhou i třetí polohu kamery postačují jen čtyři referenční body. Úloha vede na nelineární soustavu 14-ti rovnic pro 14 neznámých. K výpočtu je užita Newtonova iterační metoda. Chod iteračního procesu ovšem naráží na singularitu matice M, což značí nejednoznačnost řešení. Ta je způsobena nevhodně zvolenými počátečními podmínkami, které připouští transformaci jehlanu na rovinný případ.
Varianta II: Další varianta opět vychází z třípolohového systému, tedy z obr. 6.6. Počáteční předpoklady na kterých bude následný výpočet založen lze popsat dvěmi podmínkami zapsanými do tří rovnic. První podmínka je popsaná vztahem (6.63) a zaručuje různoběžnost přímek v 2 , p 3 , p 2 . V3
V2
S 3A
V3
S 2A
V2
(6.63)
0
Vzhledem k tomu že jsou přímky p 2 a p 3 různoběžné, musí existovat jejich průsečík. Tento průsečík bude označen písmenem P a bude použit pro následující podmínku. Druhá podmínka vychází z předpokladu, že pokud přímka p1 prochází průsečíkem P, je vlastně nalezen bod A. Tímto je předpokládána jednoznačnost řešení. Druhá podmínka zaručující, že přímka p1 prochází bodem P, je popsána vektorovou rovnicí (6.64).
V1
P
S1
(6.64)
V1
Kde α je konstanta z oboru reálných čísel. Po rozepsání vektorové rovnice (6.64) na skalární rovnice a vyrušení konstanty dostáváme rovnice (6.65) a (6.66), jež doplňují podmínku (6.63).
V1 y
Py
S1x
V1x
V1x
Px
S1y
V1 y
0
(6.65)
V1z
Pz
S1x
V1x
V1x
Px
S1z
V1z
0
(6.66)
Úloha vede na řešení soustavy nelineárních rovnic, kdy je pro výpočet použita Newtonova iterační metoda. Chod iteračního procesu ovšem opět naráží na singularitu matice M, což
71
značí nejednoznačnost řešení. Nejednoznačnost řešení je i v tomto případě překvapivě způsobena nevhodně zvolenými počátečními podmínkami, které připouští sloučení fiktivního ohniska V1 s fiktivním ohniskem V2 nebo V3 .
Varianta III: V této variantě se vracíme na samotný počátek vývoje algoritmu pro hledání druhé polohy kamery k rovnici (6.10), tedy k rovnici:
r t1A G t 2A E k
t1A t 2A O2
t1A a 2x G t 2A a1x E i
t1A t 2A r G
O1
t1A a 2y G t 2A a1y E
E k j
0
jež popisuje situaci na obr. 6.3. V této rovnici nejsou ještě provedeny žádné zjednodušující úpravy, lze tedy očekávat že by užití této rovnice mohlo vést k jednoznačnému řešení. Jelikož ovšem nejsou provedeny tyto zjednodušující úpravy, které by vedly např. k vyloučení pro naši úlohu nezajímavých parametrů t, dostáváme po vyjádření rovnic i pro další body B až F poměrně rozsáhlou nelineární soustavu 19-ti rovnic pro 19 neznámých. Tato soustava byla řešena Newtonovou iterační metodou z čehož vyplývá, že museli být spočítány parciální derivace podle všech 19-ti neznámých, což činnilo úlohu poměrně pracnou a vzhledem k množství dílčích výpočtů, také náchylnou na vytvoření chyby. Právě v množství dílčích výpočtů, ve kterých mohla vzniknout chyba, lze hledat důvod nejednoznačného řešení, jež bylo výsledkem iteračního procesu. Ze vztahu (6.10) je patrné, že algoritmus mimo hledaných sedmi neznámých hledá také všechny parametry t. Z těchto parametrů lze pak snadno dopočítat referenční body A až F, což rozhodně není pro praktické využití nezajímavé.
72
7. Závěr Cílem praktické části této práce bylo v rámci vývoje 3D digitizéru vyvíjeného na KVS, vyvinout vhodný algoritmus pro skládání dílčích skenů v celistvou plochu. Úloha vývoje algoritmu byla založena na hledání polohy a orientace kamery digitizéru v druhém místě skenování. Přičemž poloha je dána bodem, celkem tedy třemi prvky ( O2x , O2y , O2z ) a orientace je dána osou otočení a úhlem otočení, celkem tedy čtyřmi prvky (
o 1
,
o 2
,
o 3
, ).
Celkem bylo tedy hledáno sedm neznámých. Řešení této úlohy vedlo na řešení nelineární soustavy 7-mi rovnic pro 7 neznámých. Jelikož se jednalo o nelineární problém, nebylo možné úlohu řešit analyticky, nýbrž bylo nutno přistoupit k vhodnému numerickému řešení. Pro řešení úlohy byla použita Newtonova iterační metoda. Zkoumání chování vyvinutého algoritmu bylo prováděno na modelovém příkladě. Bylo zjištěno, že je algoritmus funkční v oblasti hledání orientace kamery. Pro hledání polohy ovšem neposkytuje jednoznačné řešení. Celkem tedy algoritmus nachází řešení 4 ze 7-mi prvků. Z provedených zkoušek bylo zjištěno, že algoritmus v oblasti hledání zmiňovaných čtyř prvků vykazuje dobré chování. Výhodou je jeho poměrně velká necitlivost na velikost odchylky prvního iteračního odhadu od hledaného řešení a vysoká rychlost konvergence. Algoritmus tedy dokáže při snadno odhadnutelném prvním iteračním odhadu velmi rychle nalézt konvergující řešení orientace kamery. Pro dohledání polohy kamery bude možno v blízké budoucnosti, kdy bude vyvíjený 3D digitizér vybaven druhou kamerou, využít principu stereovidění, jež je mnohem vhodnější nežli princip triangulace, na který je současná podoba digitizéru omezena. Nutno ovšem počítat s jistou nepřesností, jež bude do výpočtu vnesena vlivem použití stereovidění. Velikost této chyby bude závislá na přesnosti kalibrace soustavy kamera – kamera. Hlavním přínosem této práce je tedy vytvoření algoritmu skládání skenů, který se s použitím techniky stereovidění stává, za cenu vnesení jisté nepřesnosti, plně funkčním. Dalším přínosem této práce je poskytnutí zajímavých poznatků z oblasti vývoje algoritmu jež byly v průběhu řešení problému získány.
73
Literatura: Knižní zdroje: [1] ŠONKA, M.; HLAVÁČ, V.: Počítačové vidění. Praha: Grada, 1992. ISBN 80-85424-3. [2] SEGETHOVÁ, J.: Základy numerické matematiky. Praha: Univerzita Karlova v Praze, Nakladatelství Karolinum, 2002. ISBN 80-246-0585-6. [3] NEJZAR, K.; ZÍTKO, J.: Numerické metody funkcionální analýzy I. Praha: Univerzita Karlova v Praze, SPN Praha, 1984. [4] BARTSCH, H. J.: Matematické vzorce. 3.vydání. Praha: Mladá Fronta, 1996. 832 s. ISBN 80-204-0607-7. [5] KRACÍK, V.: Úvod do tenzorového počtu. Liberec: Technická univerzita v Liberci, FP, 2005. [studijní materiál pro doktorandy] [6] KELLER, P.: Bezkontaktní měření rozměrů zpracováním digitálního obrazu. Liberec: Technická univerzita v Liberci, Fakulta strojní, 2004. [disertační práce] [7] RACH, P.: Vývoj zařízení pro skenování 3D povrchů. Liberec: Technická univerzita v Liberci, Fakulta strojní, 2005. [teze disertační práce] [8] KELLER, P.; RACH, P.: 3D Měření a modelování. Liberec: Technická univerzita v Liberci, Fakulta strojní, 2004. [výzkumná zpráva] [9] VANĚK, D.; ŠVEJDA, Z.: Optická Digitalizace. Mladá Boleslav: Škoda Auto a.s., 2003. [prezentace]
Internetové zdroje: [10] Stránky o procesu Reverse Engineering URL: http://robo.hyperlink.cz/re-teorie/index.html Poslední přístup: 20.2. 2006 [11] Vývoj automobilu Rivage URL: http://www.gom.com/En/Applications/Digitizing/rpm/rivage.html Poslední přístup: 21.2. 2006 [12] Computer Aided Inspection URL: http://www.laserdesign.com/service-bureau-stories.htm Poslední přístup: 28.2. 2006 [13] Projekt digitalizování Michelangelovy sochy Davida URL: http://graphics.stanford.edu/projects/mich/more-david/more-david.html Poslední přístup: 1.3. 2006 74
[14] Stránky o 3D digitalizaci URL: http://robo.hyperlink.cz/3dskenery/index.html Poslední přístup: 7.3. 2006 [15] Stránky firmy Immerson Corporation, výrobce 3D digitizérů Microscribe URL: http://www.immersion.com/digitizer/ Poslední přístup: 8.3. 2006 [16] Stránky firmy Renishaw URL: http://www.renishaw.com Poslední přístup: 8.3. 2006 [17] Stránky firmy GOM, výrobce systémů ATOS a TriTop URL: http://www.gom.com Poslední přístup: 9.3. 2006 [18] Stránky firmy MCAE Systems zabývající se progresivními technologiemi URL: http://www.mcae.cz Poslední přístup: 10.3. 2006 [19] Stránky firmy KONICA MINOLTA URL: http://www.minolta3d.com Poslední přístup: 29. 3. 2006 [20] Stránky firmy CGI, výrobce destruktivních 3D digitizérů URL: http://www.reverse-eng.com Poslední přístup: 31.3. 2006 [21] Stránky o ultrazvukovém 3D digitizéru Freepoint URL: http://www.remtek.com/remtek/Freepoint.htm Poslední přístup: 31.3. 2006 [22] Stránky firmy FARO, výrobce laserových 3D digitizérů URL: http://www.faro.com Poslední přístup: 27.4. 2006 [23] Stránky firmy STEINBICHLER VISION SYSTEMS, výrobce optických 3D digitizérů URL: http://www.steibichler.de Poslední přístup: 18.5. 2006 [24] Stránky firmy TMJ Implants URL: http://www.tmj.com/products/cmt.php Poslední přístup: 24.4. 2006 [25] Stránky o využití RM v medicíně http://www.materialise.com/MEDICAL/main_ENG.html Poslední přístup: 24.4. 2006
75
[26] Stránky o iteračních metodách numerické matematiky URL: http://cmp.felk.cvut.cz/~navara/nm/koreny.pdf Poslední přístup: 2.5. 2006 [27] Stránky o numerické matematice URL: http://www.pef.zcu.cz/pef/kvd/cz/materialy/numet/_numet.html Poslední přístup: 2.5. 2006 [28] Ústav technické matematiky - základy algoritmizace a programování URL: http://www.fsid.cvut.cz/cz/U201/ZAPG6.htm Poslední přístup: 2.5. 2006
Vlastní publikace autora: <1> KELLER P.; RACH P.; LEPŠÍK P.: Bezkontaktní 3D digitalizace – skládání skenů. In: Stretnutie ústavov a katedier výrobných strojov a robotiky. Zborník z konferencie, Košice, 29.-30.5. 2006. ISBN [v tisku]
76