ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta stavební Doktorský studijní program: GEODÉZIE A KARTOGRAFIE Studijní obor: Geodézie a kartografie Ing. Bronislav Koska OPTOELEKTRONICKÉ METODY 3D ZAMĚŘENÍ POVRCHŮ PŘEDMĚTŮ OPTOELECTRONIC METHODS OF 3D MEASURING SURFACES OF OBJECTS DISERTAČNÍ PRÁCE K ZÍSKÁNÍ AKADEMICKÉHO TITULU Ph.D. Školitel: prof. Ing. Jiří Pospíšil, CSc. Praha, září 2009
Na tomto místě bych rád poděkoval svému školiteli prof. Ing. Jiřímu Pospíšilovi, CSc., který vždy velmi vstřícně a fundovaně reagoval na mé dotazy, podněty a žádosti. Dále bych poděkoval kolegům na pracovišti, zejména členům Laboratoře laserového skenování, za spolupráci na řadě projektů, experimentů a publikací a zejména za rozsáhlé debaty, které nás posouvaly dále v poznání širokého oboru prostorového skenování a souvisejících věd. Poslední koho bych zde chtěl jmenovat je Ing. Jan Řezníček, jemuž vděčím za zpřístupnění mnoha aspektů moderní fotogrammetrie, která je esenciální součástí zejména základnových skenovacích systémů. 1
Čestné prohlášení Místopřísežně prohlašuji, že jsem celou disertační práci včetně příloh vypracoval samostatně s využitím zdrojů uvedených v kapitole 9 "Literatura". U citovaných částí textu, převzatých obrázků a převzatých nebo přeložených tabulek a schémat, je vždy uveden zdroj. Je tak činěno i u kapitol, pro které bylo čerpáno převážně z jediného zdroje. V Praze dne...... Ing. Bronislav Koska 2
OBSAH 1 ÚVOD... 10 2 CÍLE DISERTAČNÍ PRÁCE... 12 3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS... 14 3.1 ÚVOD... 14 3.2 SOUČASNÝ STAV V OBLASTI ZÁKLADNOVÝCH SKENOVACÍCH SYSTÉMŮ... 14 3.2.1 Hardware... 16 3.2.1.1 Creaform Handyscan EXAscan...17 3.2.1.1.1 Praktické zkušenosti...18 3.2.1.1.2 Zhodnocení systému...23 3.2.1.2 Konica Minolta VI-9i...23 3.2.1.2.1 Praktické zkušenosti...24 3.2.1.2.2 Zhodnocení systému...25 3.2.1.3 NextEngine...25 3.2.1.3.1 Zhodnocení systému...26 3.2.1.4 GOM Atos...27 3.2.1.4.1 Zhodnocení systému...27 3.2.1.5 FlexScan3D...27 3.2.1.5.1 Princip dvou-kamerového módu...28 3.2.1.5.2 Princip jedno-kamerového módu...28 3.2.1.5.3 Parametry systému FlexScan3D...29 3.2.1.5.4 Zhodnocení systému...29 3.2.1.6 David Laserscanner...29 3.2.2 Software... 30 3.2.2.1 Software na zpracování naměřených dat...31 3.2.2.2 Komerční produkty...31 3.2.2.3 Open source řešení...32 3.2.2.3.1 MeshLab...32 3.2.2.3.2 Ostatní softwary...33 3.3 PRINCIP SYSTÉMU LORS41... 34 3.4 POPIS SYSTÉMU... 34 3.5 HARDWAROVÉ ŘEŠENÍ SYSTÉMU... 34 3.5.1 Točna... 34 3.5.2 Digitální kamera... 35 3.5.3 Laserová rovina... 36 3.6 KALIBRACE SYSTÉMU... 36 3.6.1 Způsob určení souřadnic bodů pro kalibraci... 37 3.6.2 Kamera... 37 3.6.2.1 Projektivní transformace...37 3.6.2.2 Určení distorzí a dalších vad kamery...38 3.6.2.3 Vnitřní orientace...38 3.6.2.4 Vnější orientace...39 3.6.2.4.1 Kalibrační pole...39 3.6.2.4.2 Určení přibližných hodnot pro projektivní transformaci...40 3.6.2.4.3 Transformace vnější orientace kamery...41 3.6.2.4.4 Transformace matice rotace...41 3.6.3 Točna... 42 3.6.4 Rovina... 42 3.6.5 Inicializační soubor... 42 3.6.5.1 Jednotky prvků vnitřní orientace...42 3.6.6 Nová metoda kalibrace systému LORS41... 42 3.7 MATEMATICKÉ ŘEŠENÍ VÝPOČTU PODROBNÝCH BODŮ... 43 3.7.1 Průsečík záměrné přímky a roviny... 43 3.7.2 Výpočet parametrů roviny v libovolné poloze točny... 44 3.8 SOFTWAROVÉ ŘEŠENÍ SYSTÉMU... 45 3.8.1 Kalibrace systému... 45 3.8.2 LORS41 Scanning... 46 3.8.3 LORS41 Processing... 46 3.8.3.1 Detekce stopy laseru...46 3.8.3.2 Ovládání programu...46 3
3.9 PROVEDENÉ EXPERIMENTY... 47 3.9.1 Referenční objekty... 48 3.10 TESTOVÁNÍ PŘESNOSTI... 54 3.11 BUDOUCÍ VÝVOJ FOS3D... 55 3.11.1 Dvou-kamerová varianta... 55 3.11.1.1 Kalibrace systému...55 3.11.1.2 Detekce podrobných bodů...57 3.11.1.3 Oprava snímků o distorze a další vlivy...58 3.11.1.4 Epipolární geometrie...58 3.11.1.5 Výpočet podrobných bodů...60 3.11.2 Jedno-kamerová varianta... 61 3.11.2.1 Kalibrace...61 3.11.2.2 Výpočet podrobných bodů...62 3.11.2.3 Srovnání se dvou-kamerovou variantou...62 3.11.3 Softwarové řešení pro systém FOS3D... 63 3.11.4 Srovnání parametrů systému LORS41 a FOS3D... 65 3.12 VLASTNÍ PŘÍNOS... 66 3.12.1 Vývojové verze a můj podíl na nich... 66 3.12.2 Vlastní přínos... 67 3.12.3 Nepřímý přínos FOS3D... 67 4 SPATFIG... 69 4.1 ÚVOD... 69 4.2 MOTIVACE... 69 4.3 SOUČASNÝ STAV... 69 4.4 DOKUMENTACE KNIHOVNY SPATFIG... 70 4.4.1 Úvod... 70 4.4.2 Definice problému... 70 4.4.3 Zvolená metoda... 71 4.4.3.1 Metoda oddělených parametrů tvaru a polohy...71 4.4.3.2 Algoritmus III...71 4.4.3.2.1 Maticová formulace řešení...71 4.4.3.2.1.1 Řešení s podmínkami pro určované parametry...72 4.4.3.2.2 Hledání ortogonálního bodu v implicitním tvaru...72 4.4.3.2.2.1 Newtonova metoda...72 4.4.3.2.2.2 Metoda Lagrangeových multiplikátorů...73 4.4.3.2.3 Algoritmus III v implicitním tvaru geometrického útvaru...73 4.4.3.2.4 Algoritmus III pro geometrický útvar v parametrickém tvaru...75 4.4.4 Metoda získání přibližných hodnot hledaných parametrů... 76 4.4.4.1 Momentová metoda...76 4.4.4.2 Evoluční metoda...76 4.4.4.3 Metoda náhodného výběru...76 4.4.5 Přesnost výpočtu... 77 4.4.5.1 Používané metody...77 4.4.5.2 Nové metody...77 4.4.5.3 Úvaha o maximální přesnosti výpočtu...77 4.4.6 Vlastnosti... 78 4.4.7 Implementované geometrické útvary... 78 4.4.8 Parametry uvedených geometrických útvarů... 79 4.4.8.1 Norma ISO 10360 6...79 4.4.8.2 Uvedené údaje...79 4.4.8.3 Rovinné geometrické útvary...79 4.4.8.3.1 Přímka...79 4.4.8.3.2 Kružnice...80 4.4.8.4 Prostorové geometrické útvary...80 4.4.8.4.1 Přímka...80 4.4.8.4.2 Kružnice...81 4.4.8.4.3 Rovina...81 4.4.8.4.4 Horizontální rovina...82 4.4.8.4.5 Vertikální rovina...83 4.4.8.4.6 Rovina kolmá k vektoru...83 4.4.8.4.7 Koule...83 4.4.8.4.8 Koule s daným poloměrem...84 4.4.8.4.9 Válec...84 4
4.4.8.4.10 Válec s daným poloměrem...85 4.4.8.4.11 Eliptický válec...85 4.4.8.4.12 Kužel...86 4.4.8.4.13 Kužel s daným vrcholovým úhlem...87 4.4.8.4.14 Anuloid...87 4.4.9 Vykreslení geometrických útvarů... 88 4.4.9.1 Parametry pro vykreslení...88 4.4.9.2 Způsob vykreslení v systému Microstation...89 4.4.10 Realizace knihovny... 90 4.4.11 Program spatfig_console... 91 4.4.12 Závěr... 93 4.5 BUDOUCÍ VÝVOJ... 93 4.5.1 Odstranění podmínek změnou architektury knihovny... 93 4.5.2 Obecný model vyrovnání... 93 4.5.3 Automatické testování a zavedení další útvarů... 94 4.5.4 Omezené a složené geometrické útvary... 94 4.6 VLASTNÍ PŘÍNOS... 95 5 ALLTRAN... 96 5.1 ÚVOD... 96 5.2 MOTIVACE... 96 5.3 SOUČASNÝ STAV... 96 5.3.1 3D resekce přibližné hodnoty pro projektivní transformaci... 96 5.3.2 Přibližné hodnoty pro 3D transformaci kartézských souřadnic... 97 5.3.2.1 Singulární řešení podle skript...98 5.3.2.2 Zbytečně komplikované řešení podle časopisu GAKO...99 5.4 PŮVODNÍ ŘEŠENÍ 3D RESEKCE ZÍSKÁNÍ PŘIBLIŽNÝCH HODNOT PRO PROJEKTIVNÍ TRANSFORMACI... 100 5.4.1 Řešení... 100 5.4.2 Závěr... 101 5.5 VÝPOČET PŘIBLIŽNÝCH HODNOT PRO TRANSFORMACI KARTÉZSKÝCH SOUŘADNIC V PROSTORU... 102 5.6 POUŽITÍ TRANSFORMACÍ K POSUZOVÁNÍ PŘESNOSTI MNOŽIN BODŮ... 102 5.6.1 Případ existence řádově přesnější metody... 103 5.6.2 Případ neexistence řádově přesnější metody... 103 5.7 DOKUMENTACE KNIHOVNY ALLTRAN... 104 5.7.1 Úvod... 104 5.7.2 Definice problému... 104 5.7.3 Implementované transformace... 105 5.7.3.1 Základní transformace...106 5.7.3.1.1 Obecná afinní transformace lineární tvar...106 5.7.3.1.2 Obecná afinní transformace...107 5.7.3.1.3 Afinní transformace ve 2D...107 5.7.3.1.4 Podobnostní transformace ve 2D...108 5.7.3.1.5 Shodnostní transformace ve 2D...108 5.7.3.1.6 Afinní transformace ve 3D...109 5.7.3.1.7 Podobnostní transformace ve 3D...109 5.7.3.1.8 Shodnostní transformace ve 3D...110 5.7.3.1.9 Shodnostní transformace ve 3D pro rovinné body...110 5.7.3.1.10 Poznámky k nutnému počtu bodů pro přibližné hodnoty...110 5.7.3.2 Funkce popisující distorzi...111 5.7.3.2.1 Radiální distorze...112 5.7.3.2.2 Radiální distorze 2...112 5.7.3.2.3 Radiální a tangenciální distorze...113 5.7.3.3 Polynomické transformace...113 5.7.3.3.1 Kvadratická...113 5.7.3.3.2 Kubická...114 5.7.3.3.3 Čtvrtého stupně...114 5.7.3.4 Transformace založené na direktní lineární transformaci...115 5.7.3.4.1 DLT v lineárním tvaru...115 5.7.3.4.2 DLT...115 5.7.3.4.3 DLT s opravou radiální distorze...116 5.7.3.4.4 DLT s opravou radiální distorze 2...117 5.7.3.5 Kolineární transformace (DLT 2D)...117 5.7.3.5.1 DLT 2D v lineárním tvaru...117 5.7.3.5.2 DLT 2D...118 5
5.7.3.5.3 DLT 2D s opravou radiální distorze...118 5.7.3.5.4 DLT 2D s opravou radiální distorze 2...119 5.7.3.5.5 Inverzní DLT 2D s opravou radiální distorze 2...119 5.7.3.5.6 DLT 2D s opravou radiální a tangenciální distorze...120 5.7.3.5.7 DLT 2D s kubickou...120 5.7.3.6 Thin Plate Spline 2D...121 5.7.3.7 Transformace založené na projektivní transformaci...121 5.7.3.7.1 Projektivní transformace...122 5.7.3.7.2 Projektivní transformace s neznámým hlavním bodem...123 5.7.3.7.3 Projektivní transformace s neznámým ohniskem...123 5.7.3.7.4 Projektivní transformace s opravou radiální distorze 2...123 5.7.3.7.5 Projektivní transformace s neznámým hlavním bodem a opravou radiální distorze...123 5.7.3.7.6 Projektivní transformace s neznámým hlavním bodem a opravou radiální a tangenciální distorze...124 5.7.3.7.7 Projektivní transformace s rovinným bodovým polem...125 5.7.3.7.8 Projektivní transformace s rovinným bodovým polem s neznámým hlavním bodem...125 5.7.3.7.9 Projektivní transformace ze dvou snímků s neznámými prvky vnitřní orientace...125 5.7.3.7.10 Projektivní transformace ze dvou snímků...126 5.7.3.7.11 Projektivní transformace s rovinným bodovým polem s neznámým hlavním bodem a opravou radiální distorze...127 5.7.3.7.12 Projektivní transformace s rovinným bodovým polem s neznámým hlavním bodem a opravou radiální distorze...127 5.7.3.7.13 Projektivní transformace s rovinným polem pro kameru se známými prvky vnitřní orientace...127 5.7.3.8 Složené transformace...127 5.7.4 Realizace knihovny... 128 5.7.4.1 Implementace nové transformace založené na MNČ...130 5.7.5 Popis programů... 133 5.7.5.1 Alltran_console...133 5.7.5.2 Program Alltran_test...137 5.7.6 Závěr... 138 5.8 BUDOUCÍ VÝVOJ... 139 5.8.1 Obecný model vyrovnání... 139 5.8.2 Odstranění podmínek volbou vhodnějších parametrů... 139 5.8.3 Odstranění podmínek změnou architektury knihovny... 139 5.8.4 Implementace metody ICP... 139 5.8.5 Použití ICP k rozpoznávání objektů... 139 5.9 VLASTNÍ PŘÍNOS... 140 6 DALŠÍ PROJEKTY... 141 6.1 APLIKACE TERESTRICKÉHO LASEROVÉHO SKENOVÁNÍ V INŽENÝRSKÉ GEODÉZII... 141 6.1.1 Plošné monitorování dynamických deformací vrat plavební komory... 141 6.1.2 Zaměření jeřábové dráhy... 141 6.1.3 Možnosti využití technologie laserového skenování pro měření nerovnosti povrchu vozovek... 143 6.1.4 Kontrola provedení zemních prací technologií pozemního skenování... 144 6.1.5 Použití technologie laserového skenování pro měření deformací... 144 6.2 DALŠÍ PROJEKTY... 146 6.2.1 Ověřování parametrů polárních laserových skenovacích systémů... 146 6.2.2 Výzkum vhodných metod pro odstranění vad digitálních komor... 148 6.2.3 Srovnání možností vyhodnocení historické fasády zaměřené laserovým skenovacím systémem nebo fotogrammetricky... 149 6.3 VLASTNÍ PŘÍNOS... 150 7 ZÁVĚR... 152 8 ŘEŠENÉ GRANTY A VÝZKUMNÉ ZÁMĚRY... 154 8.1 GRANTOVÁ AGENTURA ČESKÉ REPUBLIKY... 154 8.2 INTERNÍ GRANTOVÁ SOUTĚŽ ČVUT... 154 8.3 VÝZKUMNÉ ZÁMĚRY A OSTATNÍ PROJEKTY... 154 9 LITERATURA... 155 10 VLASTNÍ PUBLIKACE... 157 10.1 CITACE V ZAHRANIČNÍCH PUBLIKACÍCH... 160 6
11 PŘÍLOHY... 162 11.1 PEDAGOGICKÉ AKTIVITY SOUVISEJÍCÍ S ŘEŠENOU PROBLEMATIKOU... 162 11.1.1 Laserové skenování... 162 11.1.1.1 Zadání...162 11.1.1.2 Zadaný objekt...162 11.1.1.3 Cyclone...163 11.1.1.3.1 Registrace...163 11.1.1.3.2 Export registrovaných mračen bodů...164 11.1.1.4 Geomagic...164 11.1.1.4.1 Ovládání...164 11.1.1.4.2 Registrace...165 11.1.1.4.2.1 Ruční registrace...165 11.1.1.4.2.2 Globální registrace...165 11.1.1.4.2.3 Sloučení mračen bodů...166 11.1.1.4.3 Standardní postup tvorby modelu...166 11.1.1.4.3.1 Fáze bodů Point Phase...167 11.1.1.4.3.2 Fáze polygonů Polygon Phase...170 11.1.1.5 Závěr...173 11.1.2 Základy automatizace v Inženýrské geodézii... 175 11.2 ILUSTRAČNÍ VÝPIS PLNÉ ROVNICE PRO ORTOGONÁLNÍ PROKLÁDÁNÍ VÁLCE... 177 11.3 VYROVNÁNÍ FINGOVANÝCH ZPROSTŘEDKUJÍCÍCH MĚŘENÍ... 179 11.3.1 Základní modely vyrovnání podle MNČ... 179 11.3.2 Důležité vlastnosti modelů vyrovnání... 180 11.3.3 Tradiční použití... 180 11.3.4 Nedostatky tradičního použití... 180 11.3.5 Řešení současného stavu... 181 11.3.6 Přínosy... 181 7
SEZNAM POUŽITÝCH ZKRATEK DLT: Direktní lineární transformace. FOS3D: Flexibilní optický skener. GÚ: Geometrický útvar. ICP: Iterative closest point, česky "metodou nejbližšího iteračního bodu". LORS: Laserový a optický rotační skener. MNČ: Metoda nejmenších čtverců. NURBS: Non-uniform rational B-splines, česky "neuniformní racionální B-spline plochy/křivky". OpenCV: Computer Vision Library. PCM: Point Cloud Manager (software J. Řezníčka). SDK: Software development kit. SVD: Singulární dekompozice. 8
ABSTRAKT Prostorové skenování zahrnuje velmi širokou problematiku jak konstrukčně tak zejména aplikačně. Předložená práce se zabývá několika z mnoha aspektů prostorového skenování. V první části je popsáno hardwarové a softwarové řešení finančně nenákladného, ale přesného, 3D skenovacího systémů LORS, dále návrh vyspělejšího systému FOS3D a návrh maximálně automatizovaného pracovního postupu tvorby finálního modelu založeného na volně dostupném softwaru. V druhé a třetí části je představeno vlastní softwarové řešení několika z častých úloh v procesu vyhodnocení dat z 3D skenerů. Jedná se o ortogonální prokládání obecných geometrických útvarů realizované v knihovně Spatfig a dále o transformace používané v základnových skenovacích systémech nebo k vyhodnocení mračen bodů, které jsou realizované v knihovně Alltran. Poslední část je věnována výsledkům experimentálních aplikací 3D skenovacích systémů v různých náročných úkolech, kde řešení jinou technologií buď není výhodné, anebo není vůbec možné. Vždy je provedeno objektivní zhodnocení výsledků srovnáním s jinou technologií a analýzou aposteriorních odchylek. Ve všech projektech je uveden důkladný průzkum současného stavu, uveden vlastní přínos autora práce a stručně navržen budoucí vývoj. ABSTRACT Spatial scanning includes very wide knowledge field both from the construction side and especially from the application side. The thesis deals with some of many aspects of 3D scanning. In the first part the hardware and software solution of inexpensive but accurate 3D scanning system LORS is described, the new more advanced 3D scanning system FOS3D is designed and the design of maximally automated workflow of final 3D model creation based on free available software is suggested. In the second and third part my own software solutions of some common tasks in 3D data processing is presented. At first the orthogonal fitting of general geometrical figures is solved in the library Spatfig. At second the transformations used in the baseline 3D scanning systems or used for the 3D data processing are realized in the library Alltran. The last part is engaged in experimental application of 3D scanning systems in some challenging special tasks. The different solution for these tasks either is unsuitable or doesn't exist. The objective evaluation is done for all the applications by means of the comparison with different technology and a posteriori deviations analysis. The state of the art research, my own contribution and the brief suggested future development is stated for all projects. 9
1 ÚVOD " zkušenost je důkazem, že kdokoliv, kdo studoval geometrii, je nekonečně rychlejší v pochopení složitých problémů, než ten, kdo ji nestudoval." Platón: The Republic. Svazek 8, 375 před naším letopočtem (online na Google Books). 1 ÚVOD Technologie prostorového skenování je revoluční v několika ohledech. Nejedná se pouze o vysokou rychlost sběru dat a automatizaci tohoto procesu, kde je v geodézii srovnatelná snad jen technologie dálkového průzkumu země nebo fotogrammetrie. Jedná se zejména o bezprecedentně širokou oblast využití a rozmanitost principů i funkčního rozsahu přístrojového vybavení. Z hlediska přístrojového vybavení existují komerční přístroje pro skenování předmětů rozměrů a detailnosti v řádu mikrometrů určené například ke kontrole tištěných spojů až po letecké skenování ze vzdálenosti několika kilometrů k určení digitálního modelu terénu velkých území. To co spojuje tyto rozsahově a přístrojově diametrálně rozdílné aplikace je výstupní produkt měření v podobě prostorového mračna bodů a podobnost jeho zpracování. Existuje celá řada principů prostorového skenování s typickým nasazením v určitém funkčním rozsahu. Velká část z nich je popsána nebo vyjmenována v kapitole 3.2 strana 14. Jmenujme nejzákladnější, kterými se zabývám v této práci. Jsou to polární skenovací systémy s funkčním rozsahem od jednotek metrů po několik kilometrů a systémy základnové, které fungují na triangulačním principu a jejichž funkční rozsah je standardně od jednotek centimetrů do desítek metrů. Existuje mnoho variant základnových skenovacích systémů. Další principy jsou použitelné pro řádově menší funkční rozsahy a pro ilustraci jmenujme skenování na základě zaostřování (například mikroskopu). Velkému funkčnímu rozsahu (10-6 až 10 3 metru) odpovídá velmi široký rozsah aplikační. V oboru geodézie jsou komerčně nejúspěšnější aplikace srovnání skutečného stavu podzemních liniových staveb s projektem, kontrola objemu zemních prací, určování digitálního modelu terénu velkých území leteckým laserovým skenováním, zaměřování složitých průmyslových objektů a zaměřování komplexních zejména historických fasád budov. Dále v geodézii existují aplikace, ve kterých je prostorové skenování používáno zatím omezeně, ale které mají velký potenciál se v budoucnu významně prosadit viz kapitola 6.1 str. 141 a zejména odstavec 6.1.3. Z jiných oborů jmenujme například strojírenství a stavitelství, kde prostorové skenování slouží k získávání podkladu, ve formě trojúhelníkových 3D modelů, pro statické výpočty nebo speciálně ve strojírenství je možné použít 3D model k výrobě funkční kopie na 3D tiskárně tzv. "rapid prototyping". V archeologii je skenování používáno například k získávání 3D modelů pro dokumentaci a nekontaktní průzkum složitých artefaktů, virtuální rekonstrukce z úlomků, mapování a vizualizace již neexistujících historických budov a celých sídel nebo k tvorbě 3D kopií rapid prototypingem například pro zpřístupnění vzácných předmětů zrakově handicapovaným občanům. Dříve spíš okrajové využití ve filmovém a 10
1 ÚVOD herním průmyslu se stává stále významnějším odvětvím. Skenují se slavní herci, tvrze, formule, závodní okruhy a další předměty. V kriminalistice se dokumentují místa činu a provádí se jejich virtuální rekonstrukce a studie. 3D modely vytvořené na základě prostorového skenování byly již například ve Velké Británii použity jako důkazní materiály u soudu. Poslední obor, ale nikoliv významem, který bych zde rád jmenoval je robotika a počítačové vidění. Zde jsou 3D skenovací systémy používány k "vidění" robotů a rozpoznávání objektů. Předložená práce se zabývá několika z mnoha aspektů prostorového skenování. V první části se věnuji popisu hardwarového a softwarového řešení finančně nenákladného, ale přesného, 3D skenovacího systému LORS, dále návrhu vyspělejšího systému FOS3D a návrhu maximálně automatizovaného pracovního postupu tvorby finálního modelu založeného na volně dostupném softwaru. V druhé a třetí části se zabývám vlastním softwarovým řešením několika z častých úloh v procesu vyhodnocení dat z 3D skenerů. Jedná se o ortogonální prokládání obecných geometrických útvarů realizované v knihovně Spatfig a dále o transformace používané v základnových skenovacích systémech nebo k vyhodnocení mračen bodů, které jsou realizované v knihovně Alltran. V poslední části se věnuji výsledkům zkušebních aplikací 3D skenovacích systémů v různých náročných úkolech, kde řešení jinou technologií buď nebylo výhodné, anebo nebylo vůbec možné. Vždy je provedeno objektivní zhodnocení výsledků srovnáním s jinou technologií a analýzou aposteriorních odchylek. 11
2 CÍLE DISERTAČNÍ PRÁCE 2 CÍLE DISERTAČNÍ PRÁCE Prvním a původním cílem mé práce bylo vytvoření prototypu 3D skenovacího systému, který začal vznikat v rámci grantového projektu GA ČR 103/02/0357 "Moderní optoelektronické metody topografie ploch". Základní koncepce i první hardwarové komponenty byly při mém zapojení do projektu již navrženy. V původním konceptu bylo finálním výstupem ze systému mračno bodů. Při řešení tohoto cíle jsme narazili v několika momentech na nutnost řešení tzv. "ortogonálního prokládání". Prvním okamžikem bylo řešení prostorové konfigurace systému, pro kterou bylo nutné řešit ortogonální prokládání rovinou, z důvodu určení prostorové polohy laserové roviny, a prokládání kružnicí, z důvodu určení vektoru osy a bodu na ose točny. Druhým impulsem bylo testování přesnosti systému. Protože prostorové skenování neumožňuje výběr konkrétních bodů k zaměření, probíhá testování nejčastěji na základě zaměření nějakých jednoduchých geometrických útvarů. Z důvodu jednoduchosti a snadného identifikování jsou často používány koule nebo rovina (například viz [31]). Muselo být tedy řešeno ortogonální prokládání koulí daného poloměru. Dalším podnětem bylo vyšetřování systematických vlivů, které vznikají při zaměření a proložení některých geometrických útvarů (koule, válec). Snahou bylo pochopení těchto vlivů a jejich odstranění správným přiřazením vah (kovariančních matic). Byla tedy nutná podpora vstupní kovarianční matice, kterou komerční systémy neumožňovali. Posledním impulsem bylo, že v některých aplikacích je ortogonální prokládání součástí standardního postupu tvorby výsledného modelu. Jedná se zejména o aplikace tvorby 3D modelu komplexních celků, jako jsou potrubní systémy v petrochemickém průmyslu nebo ropné plošiny. U komerčních řešení není znám algoritmus výpočtu a experimentálně bylo zjištěno, že některé softwary nepoužívají teoreticky nejsprávnější ortogonální prokládání. Nebylo nalezeno žádné softwarové řešení, které by splňovalo naše požadavky, které byly: Znalost použitého algoritmu, možnost použití kovarianční matice vstupních bodů, možnost získání kovarianční matice výstupních parametrů, možnost dávkového řešení pro potřeby testování. Bylo možné řešit jenom uvedené základní geometrické útvary, kterými jsme se doposud při řešení prvního cíle setkali, ale na základě dosavadní zkušenosti jsme očekávali potřebu řešení dalších útvarů v budoucnosti. Proto byl po dohodě se školitelem stanoven druhý cíl práce: Navrhnout a naprogramovat softwarové řešení ortogonálního prokládání, které splňuje naše požadavky, minimálně pro požadované geometrické útvary, lépe ale pro libovolné geometrické útvary zadané implicitní nebo parametrickou funkcí. Dalším problémem, který se vyskytl při řešení prvního cíle, byly transformace. Prvním typem transformací byly transformace kartézských souřadnic, které byly nutné pro transformaci skenů s identickými body (a s milióny podrobných bodů) do jediného souřadnicového systémů nebo k testování přesnosti navržených metod a systémů. Druhým typem byly fotogrammetrické transformace. Součástí systému LORS je digitální kamera a proto bylo nutné aplikovat některou verzi zobrazovacích funkcí a dále vyšetřit vhodné funkce k popisu odchylek od zobrazení ideální dírkovou kamerou. Softwarové vybavení bylo dostupné pouze pro několik vybraných transformací a ani pro tyto nesplňovalo naše požadavky. 12
2 CÍLE DISERTAČNÍ PRÁCE Opět mohly být řešeny odděleně jednotlivé potřebné transformace, ale z hlediska správy a rozvoje se jako výhodnější jevilo vytvoření jednotného systému pro všechny potřebné transformace založené na metodě nejmenších čtverců, který by navíc umožňoval jejich řetězení. Proto byl po dohodě se školitelem stanoven třetí cíl: Navrhnout a naprogramovat softwarové řešení pro transformace vyrovnávané metodou nejmenších čtverců a to minimálně v rozsahu nutném k řešení prvního cíle a k testování jeho výstupů, se snadnou implementací nových transformací. Poslední cíl vyplynul opět z těch předchozích. Jednalo se o aplikaci výstupů druhého (Spatfig) a třetího (Alltran) cíle ve vybraných projektech řešených mým školitelem. Cíle disertační práce v bodech: 1. Vytvoření a otestování 3D skenovacího systému. 2. Navržení a naprogramování softwarového řešení k ortogonálnímu prokládání geometrických útvarů obsažených v normě [7]. Řešení musí podporovat vstupní i výstupní kovarianční matice. 3. Navržení a naprogramování softwarového řešení pro transformace nutné k řešení prvního cíle a testování jeho výstupů. 4. Řešení dílčích cílů v rámci výzkumných projektů řešených mým školitelem [#1], [#2], [#3] a [#7]. 13
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.1 Úvod Označení LORS je akronymem pro Laserový a optický rotační skener (Laser and Optic Rotating Scanner). Tento systém začal být vyvíjen ještě před mým nástupem do doktorského studia prof. Ing. J. Pospíšilem, CSc., doc. Ing. M. Štronerem, Ph.D. a s podporou doc. Dr. Ing. K. Pavelky v rámci řešení grantového projektu GA ČR 103/02/0357 "Moderní optoelektronické metody topografie ploch". Další vývojové verze systému byly podpořeny z grantů [#1] a [#2], na jejichž řešení jsem se již podílel. V průběhu vývoje dosáhl systém řady významných změn ve všech parametrech (v použitém hardwaru, softwaru, konfiguraci, kalibraci, kvality matematického modelu a přesnosti). Zachován zůstal v podstatě pouze základní princip založený na průsečíku laserové roviny a optické přímky. Celý vývoj a jednotlivé verze jsou nejuceleněji popsány v profesorské přednášce prof. Ing. J. Pospíšila, CSc. [17]. Vývoj LORSu ve verzích na kterých jsem se podílel je zachycen v řadě publikací: [*2], [*3], [*4], [*5], [*7], [*8], [*9], [*10], [*11], [*14], [*16] a [*38] (některé uvedené publikace se systému LORS týkají jen částečně). Postupem času jsem se podílel na vývoji LORSu ze stále větší části já, pod odborným dohledem svého školitele. Aktuální verze označená LORS41 je již téměř výhradně mým dílem. Více informací o vývojových verzích a mém přínosu viz kapitola 3.12 na straně 66. Tento text uceleně popisuje aktuální verzi z hlediska softwarových i hardwarových složek. Některé významné inovace jsou zde publikovány prvně. 3.2 Současný stav v oblasti základnových skenovacích systémů Důkladný průzkum současného stavu ve zkoumané problematice má předcházet samotnému výzkumu. Jak je uvedeno výše, zapojil jsem se do již probíhajícího výzkumu, a proto jsem průzkum současného stavu a priori neprováděl. Druhým aspektem ovlivňujícím průzkum současného stavu byla délka vývoje, která je více než pět let. To je v takto bouřlivě vyvíjeném a široce aplikovatelném oboru velmi dlouhá doba. V současné době je nabídka hardwaru v základnových skenovacích systémech velmi bohatá a nepřehledná. Na internetu je možné najít stovky různých systémů. Nejúplnější a nejaktuálnější jsou různé webové přehledy jako například www.3dlinks.com (odkaz "3D Hardware" "3D Scanners") nebo www.simple3d.com. Poznámka: V oblasti polárních skenovacích systémů použitelných ve stavebnictví existuje na globálním trhu pouze několik málo výrobců a modelů a skupina laserového skenování na Katedře speciální geodézie jejich nabídku průběžně sleduje a dokumentuje, viz např. publikace [*36]. Opravdu vyčerpávající a aktuální přehled současného stavu z hlediska principů a aplikací jsem nalezl v článku [19]. Je zbytečné tento článek přepisovat zejména proto, že je publikován bezplatně online. Dovolím si zde ale citovat a okomentovat přeloženou tabulku uvádějící většinu známých principů 3D skenovacích systémů a jejich základní vlastnosti. 14
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Technologie Klady Zápory Laserová triangulace Strukturované světlo Fotogrammetrie Time-of-flight (Polární pulsní systémy) Interferometrie Moire Tvar ze zaostřování Tvar ze stínů (promítání stínů) Jednoduchost. Nezávislost výkonu na světelných podmínkách. Vysoká rychlost sběru dat. Velmi vysoká rychlost sběru dat. Středně velký objem zaměřované oblasti. Závislost výkonu na světelných podmínkách. Jednoduchost. Cena. Vysoká přesnost na dobře definovaných cílech. Střední až velký dosah měření. Dobrá rychlost sběru dat. Nezávislost výkonu na světelných podmínkách. Přesnost vyšší než mikrometrová pro malé rozměry. Jednoduchost a cena. Malé vzdálenosti. Jednoduchost a cena. Dostupnost senzorů pro inspekci povrchů a mikroprofilometrii. Cena. Malá výpočetní náročnost. Bezpečnostní rizika plynoucí z použití zdroje laserového záření. Limitovaný dosah a objem zaměřované oblasti. Chybějící data v zastíněných oblastech. Cena. Bezpečnostní rizika při použití laserového projektoru. Středně výpočetně náročné. Chybějící data v zastíněných oblastech. Cena. Výpočetní náročnost. Řídké pokrytí body. Limitováno na dobře definované scény. Nízká rychlost sběru dat. Cena. Nižší přesnost než triangulace na malé vzdálenosti. Měření limitováno na téměř ploché povrchy. Cena. Limitovaná aplikovatelnost v průmyslovém prostředí. Omezeno na měření plynulých povrchů. Omezené zorné pole. Nejednotné prostorové rozlišení. Závislost výkonu na světelných podmínkách (při pasivních). Malá přesnost. Gradient textur Jednoduchost a cena. Malá přesnost. Tvar ze stínování (pohyb zdroje světla) Jednoduchost a cena. Malá přesnost. Tab. 1 Srovnání optických technik pro 3D skenování (převzato z [19]) Poznámka: Technologie time-of-flight je v tabulce podle mého názoru zařazena nepatřičně, protože její vlastnosti a využití výrazně vybočují z ostatních uvedených technologií. Označení time-of-flight navíc není vhodné, protože do stejné kategorie (z hlediska 15
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS vlastností a využití) patří taky systémy založené na určování fázových posunů (phase-shift). V české literatuře označujeme obě technologie společně jako "Polární skenovací systémy". Protože mám relativně hluboké zkušenosti s některými z uvedených technologií, nesouhlasím s některými hodnoceními. Pro laserovou triangulaci je uvedena jako nevýhoda limitovaný dosah a objem zaměřované oblasti. To jistě platí pro některé komerční systémy (například dále podrobněji popsaný Konica Minolta VI-9i nebo NextEngine), ale obecně to pro laserové přístroje říct nelze, protože laserové zdroje mají z principu větší "dosah" než nekoherentní projektory převážně užívané u technologie strukturovaného světla (a příkladem relativně velkého zorného pole je i systém LORS41). Pro technologii strukturovaného světla je jako výhoda uvedena závislost výkonu na světelných podmínkách. Tato chyba vznikla pravděpodobně nedopatřením, protože je to sice skutečně vlastnost této technologie, ale je možné ji chápat spíše jako nevýhodu a tak to bylo pravděpodobně i zamýšleno (u technologie laserové triangulace je jako výhoda uvedena naopak nezávislost výkonu na světelných podmínkách). Jako nevýhoda této technologie je uvedena cena a to v současné době již není pravda, jak je vidět například u níže detailně popsaného systému FlexScan3D. U fotogrammetrie je uvedena jako nevýhoda řídké pokrytí body. Hustota mračna bodů zaměřeného fotogrammetricky ale závisí na požadavcích a může dosahovat až rozlišení původních snímků. Vlastnost bych spíše popsal jako nepravidelné pokrytí podrobnými body, protože i při volbě korelace v kroku po jednom pixelu, se můžou vyskytnout oblasti, kde korelace není úspěšná vůbec. Nevím, co autoři mysleli nízkou rychlostí sběru dat, protože pro jediný snímek je dnes běžné rozlišení 10 miliónů pixelů a snímků je možné udělat několik za sekundu. Z důvodu svého zaměření (program Geodézie a kartografie) se dále budu věnovat jenom systémům založeným na technologiích s nejpřesnějšími výstupy a současně aplikovatelných zejména v oborech s mým zaměřením tradičně spojenými jako je archeologie, památková péče a strojírenství. Jedná se o technologie laserové triangulace, strukturovaného světla a fotogrammetrie. Podobné tabulkové srovnání základních vlastností s obdobnými závěry je, pouze pro tři vybrané technologie, možné najít na webových stránkách dále podrobněji popsaného systému FlexScan3D viz kapitola 3.2.1.5 strana 27 a webové stránky výrobce: www.3d3solutions.com/support/compare.php. Technologie laserové triangulace je detailně vysvětlena při popisu systému LORS41, který ji používá, technologie strukturovaného světla v kapitole popisující nově navržený systém FOS3D viz kapitola 3.11 strana 55 a klasickou fotogrammetrii je možné najít jednak [16] a [14], ale moderní přístupy lépe v [20] a [22]. Níže jsou uvedeny základní informace o několika nejrozšířenějších a nejznámějších základnových 3D skenovacích systémech (posouzeno subjektivně na základě citací v odborných publikacích i dalších médiích). V posledních několika měsících jsem měl možnost se s některými z nich osobně seznámit a použít je pro praktická měření. 3.2.1 Hardware Poznámka: Níže uvedené informace o principech fungování jednotlivých skenovacích systémů jsou neověřené, neboť výrobci je z konkurenčních důvodů tají. Jsou založeny na zkušenosti a hloubce poznání dané problematiky autorem této práce. 16
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.2.1.1 Creaform Handyscan EXAscan Společnost Creaform (www.creaform3d.com) se specializuje na 3D skenovací systémy a souřadnicové měřicí systémy. V kategorii skenovacích systémů nabízí celou řadu modelů, které se liší zejména ve speciálních funkcích. Princip systému je založen na průsečíku laserové roviny (v tomto případě dvou navzájem kolmých, které se protínají uprostřed zorného pole) a optické přímky z digitální kamery (standardně jsou použity dvě kamery a u modelu EXAscan ve speciálním režimu tři). Není uvedeno, jestli je laserová rovina "kalibrována" vůči kamerám nebo slouží pouze k signalizaci linií pro obě kamery (obě řešení jsou teoreticky možná, první princip je používán u LORSu 41 a Konica Minolty (popsána dále v textu) a druhý je použit u systémů GOM Atos, FlexScan3D (systémy popsány dále v textu) a nově navrženého systému FOS3D viz kapitola 55). Výjimečností tohoto systému je způsob určení jeho vnější orientace. K tomu jsou použity nalepovací terče, které je nutné rozmístit po povrchu zaměřovaného objektu ve vzdálenostech přibližně 10 cm. Tyto terče jsou následovně zaměřeny pomocí kamer. Určení terčů se provádí buď samostatně před skenováním, nebo v průběhu skenování. Použité kamery dosahují vysokých frekvencí (ve specifikaci to není uvedeno, ale předpokládám, že nejméně 10 Hz) a při skenování aktualizují informace o vnější orientaci s každým snímkem. Výpočet vnější orientace na základě neoznačených vlícovacích bodů, po novém umístění přístroje a jeho zapnutí, musí být velmi dobře algoritmizován, protože probíhá ve zlomku sekundy i v případě několika tisíc neoznačených vlícovacích bodů. Systém Creaform Handyscan je výjimečný tím, že výsledkem měření je přímo homogenní trojúhelníková síť a systém tedy nepotřebuje další software na její vytváření. Společnost Creaform nabízí v současnosti pět modelů, které se liší jenom nepatrně. Nejpřesnějším modelem je EXAscan viz obr. 1 a jeho technické parametry podle výrobce jsou: Oblast měření: Technologicky není omezena. Přesnost: až 0.04 mm. Rozlišení: 0.05 mm. Počet 3D bodů za sekundu: cca 25 tisíc. Rozměry systému: 260 x 172 x 216 mm (šířka x výška x hloubka). Hmotnost: 1.25 Kg. Cena: Přibližně dva milióny korun (2008). EXAscan v základním režimu používá dvě kamery a třetí kameru je možné zapnout hardwarovým tlačítkem. Důležitým faktem je, že tento model (a všechny ostatní kromě novinky VIUscan) neumožňuje snímání barev. 17
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 1 Creaform EXAscan Prvním modelem společnosti Creaform byl REVscan, který je stále v nabídce a od EXAscanu liší jen použitím pouze dvou kamer a z toho plynoucí mírně nižší přesností. Dalším modelem je MAXscan. Z hlediska skenování má přesně stejné parametry jako REVscan. Základním rozdílem oproti dvěma doposud uvedeným modelům je doplnění o třetí kameru, která slouží k fotogrammetrickému snímání z větší vzdálenosti, speciální kódované (jednoznačně automaticky identifikovatelné) terče, přesnou základnu k určení rozměru modelu a fotogrammetrický software. Přesnost určení vlícovacích bodů a zejména narůstání chyby s rozměry zaměřovaného objektu je praktickým limitujícím faktorem ostatních modelů viz kapitola 3.2.1.1.1 Praktické zkušenosti níže. Již výše zmíněný model VIUscan je nejnovější z modelů společnosti Creaform a jako jediný umožňuje snímání barev. Ostatní parametry jsou stejné parametry jako u základního modelu REVscan. Posledním modelem je ERGOscan. Tento model je určený pro skenování osob, proto používá laserový zdroj bezpečnostní třídy jedna (ostatní třídy dva) a nedosahuje takové přesnosti jako ostatní modely. Systémy společnosti Creaform jsou distribuovány taky jinými společnosti s upravenými názvy například model ZScanner 800 od společnosti Z Corporation. 3.2.1.1.1 Praktické zkušenosti S modelem EXAscan mám rozsáhlé praktické zkušenosti, protože jsem s ním zaměřoval velké množství různorodých objektů v rámci grantu ministerstva kultury "Nové možnosti pro dokumentaci a prezentování nejcennějších památek dědictví národa pomocí technologie 3D scanování" [#8]. Informace, o v rámci projektu zaměřených objektů, je možné najít na webové stránce projektu. Odkaz na ni i další doplňující informace (odkaz na dokument České televize, který o tomto projektu vznikl) je možné najít v kapitole výzkumných projektů, na kterých jsem se podílel, na straně 154. Díky originálnímu řešení orientace systému v prostoru, je práce s ním zcela odlišná než u všech ostatních systémů, se kterými jsem se seznámil. Významnou výhodou je možnost sledování zaměřeného povrchu v reálném čase, která eliminuje možnost opomenutí zaměření jeho částí. 18
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 2 Živý náhled skenovaného povrchu Taky umožňuje provádět skenování na polohově nestabilních površích viz obr. 3 (nestabilní může být měřič i zaměřovaný objekt), což většina systémů z důvodu času skenování minimálně v jednotkách sekund neumožňuje. Obr. 3 Skenování sgrafita v Litomyšli na nestabilní platformě Nevýhodou technologie je naopak nutnost nalepit na celý zaměřovaný objekt vysoce odrazné orientační body viz obr. 4 níže. 19
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 4 Vysoce odrazné vlícovací body V průběhu prácí na projektu jsem se nesetkal s žádnými významnými problémy systému EXAscan, kromě komplikací vzniklých při zaměřování sousoší svaté Ludmily. Toto sousoší bylo vybráno řešitelem projektu [#8] Ing. M. Dvořákem jako ukázkový projekt při převzetí systému od dodavatele. Jedná se o originál sochaře Matyáše B. Brauna, který je umístěn v sálu Gorlice vyšehradských kasemat (originál i kopie viz obr. 5). Předtím byla socha umístěna na Karlově mostě, kde je dnes umístěna její kopie. Sousoší má rozměry přibližně 4.5 x 2 x 1.2 metru (výška, šířka, hloubka) a je velmi povrchově členité. Pro pokrytí vlícovacími body bylo potřeba přibližně čtyři tisíce vlícovacích bodů (cena jednoho bodu je přibližně dvě koruny). 20
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 5 Kopie sousoší Svaté Ludmily na Karlově mostě a skenování originálu V první fázi byla zaměřena horní část sochy bez podstavce. Postupovalo se doporučeným a výše popsaným způsobem. Nejprve byly na sochu nalepeny vlícovací body. Druhým krokem bylo zaměření sítě vlícovacích bodů. Z důvodu velké členitosti a rozměrů zaměřovaného objektu nedošlo k úspěšnému uzavření sítě vlícovacích bodů. Začali se objevovat zdvojené i ztrojené vlícovací body a ty nebyly odstraněny ani procesem optimalizace sítě vlícovacích bodů. Podle instrukcí přítomného zaměstnance dodavatele, Ing. Fišerové, jsme začali s poslední fází skenováním povrchu sochy. V místech zdvojených vlícovacích bodů byla ale vytvářena nekvalitní "roztrhaná" síť a software velmi často hlásil ztrátu orientace skeneru. Proto bylo nutné doskenovat tyto části nově (řádově desítky procent povrchu sochy) v samostatné síti vlícovacích bodů. Takto vytvořené části ale již nebyly umístěny v jednotném souřadnicovém systému a musely být vzájemně umístěny metodou nejbližšího iteračního bodu (v originále "iterative closest point", dále ICP). Nebylo taky možné použít softwarem systému generovanou trojúhelníkovou síť, ale po registraci musela být vytvořena jednotná síť nová. Problémy byly způsobeny tím, že systém EXAscan není určen na skenování takto velkých objektů. Při zaměřování vlícovacích bodů se postupuje od bodu, ve kterém je zapnuto snímání, kolem celého objektu. Je zřejmé, že absolutní chyba vůči výchozí pozici systému neustále narůstá. V našem případě došlo na spojích na druhé straně sochy k odchylkám několika milimetrů. Řešením by bylo použití jiné metody pro zaměření sítě vlícovacích bodů. K tomu by mohla být použita upravená fotogrammetrická metoda. Výrobce Creaform takové řešení nabízí, bylo stručně popsáno výše a je nazváno MAXscan. Výsledné mračno obsahuje přibližně sedm miliónů bodů. 21
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 6 Sousoší v bodové fázi Obr. 7 Podstavec v polygonové fázi a detail štítu Pro budoucí testování a srovnání s ostatními systémy byly také zaměřeny referenční objekty viz kapitola 3.9.1 str. 48. 22
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.2.1.1.2 Zhodnocení systému Klady: Možnost polohové nestability objektu i měřiče. Sledování zaměřeného povrchu v reálném čase na rozdíl od ostatních systémů se nestává, že by části objektu zůstaly nezaměřeny. Systém přímo vytváří bezešvou pravidelnou trojúhelníkovou síť zpracování naměřených dat je minimální. Díky relativně malým rozměrům je možné zaměřit i hodně členité povrchy a zákoutí. Zápory: Cena přibližně dva milióny korun. Nutnost nalepit na zaměřovaný objekt vlícovací body v případě některých objektů to není možné. Model bez barev. 3.2.1.2 Konica Minolta VI-9i Společnost Konica Minolta Sensing, Inc. (www.konicaminolta.eu) nabízí řadu produktů, mezi které patří i 3D skenovací systémy. V současné době nabízí tři systémy, které se liší pouze dosaženou přesností. Nejpřesnější je model Range7, následující je dále podrobněji popsaný model VI-9i (viz obr. 8) a nejméně přesný je model VI-910. Všechny tři modely fungují na stejném principu laserové triangulace viz kapitola 3.3 strana 34. Obr. 8 Konica Minolta VI-9i Konkrétní parametry je možné najít v technických specifikacích výrobce na webových stránkách uvedených výše. Systém je standardně dodáván s třemi objektivy různých ohniskových vzdáleností, z kterých vyplývá zorné pole a hloubka ostrosti kamery. Pro orientaci čtenáře jsou uvedeny nejdůležitějších parametry systému pro objektiv se střední ohniskovou vzdáleností podle výrobce: 23
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Oblast měření: Šířka: 165 až 823 mm, výška: 124 až 618 mm, hloubka: 42 až 1100 mm. Přesnost (Accuracy XYZ) 1 : ±0.1/0.2 mm (ve vzdálenosti 0.6/1.0 m). Přesnost (Precision Z) 1 : ±0.016/0.048 mm (ve vzdálenosti 0.6/1.0 m). Čas měření: 2.5 sekundy. Počet 3D bodů v jednom skenu: maximálně cca 300 tisíc. Rozměry systému: 221 x 412 x 282 mm (šířka x výška x hloubka). Hmotnost: 15 Kg. Cena: Přibližně dva milióny korun (2008). Volitelnou součástí systému je točna s nosností 100 kg, která pracuje v polo statickém režimu (skenování, natočení, skenování, ). Na rozdíl od systému LORS je pozice a prostorová orientace točny určována pouze přibližně a není ji tedy možné použít pro definitivní transformaci do jediného souřadnicového systému. Systém je dodáván se softwarem Polygon Editing Tool, který spadá do stejné kategorie jako softwary popsané v kapitole 3.2.2.1 str. 31 a umožňuje vytváření dokončených modelů. 3.2.1.2.1 Praktické zkušenosti Koncem roku 2008 se podařilo model VI-9i zakoupit do Laboratoře fotogrammetrie Katedry mapování a proto jsem jej mohl vyzkoušet. Osobně jsem zaměřil a vyhodnotil referenční objekt sochy Davida viz kapitola 3.9.1 str. 48. Při měření a zpracování jsem byl instruován Ing. J. Řezníčkem z Laboratoře fotogrammetrie, který má se systémem již rozsáhlou praxi, a proto nelze nedostatky systému mnou zjištěné připisovat pouze mé nezkušenosti. Zaměření bylo prováděno s využitím točny. Krok točny byl nastaven na 30 stupňů, aby byly získány dostatečné překryty pro ICP. Na jedno postavení skeneru bylo tedy získáno 12 skenů. Bylo realizováno pět pozic skenování a celkem tedy zaměřeno 60 skenů. Vyhodnocení probíhalo v softwaru Polygon Editing Tool. Skeny v rámci jedné pozice skeneru byly již přibližně umístěny do jednoho souřadnicového systému. Proto byla použita funkce globální registrace. V dalším kroku byla použita manuální registrace pro přibližné napasování skenů z různých pozic skeneru na sebe. Posledním krokem byla globální registrace. Výsledek ale nesplnil naše očekávání. V oblasti obličeje a krku došlo k nedokonalému překrytu sítí ze dvou pozic skeneru viz obr. 9 níže. 1 Ve specifikaci k modelu VI-9i není rozdíl mezi "accuracy" a "precision" popsán. Ve specifikaci k modelu Range7 je uvedeno, že "accuracy" byla určena na základě zaměření, určení a porovnání vzdálenosti dvou standardních kulových terčů umístěných na tyči známé délky v deseti pozicích. Pro "precision" je uvedeno, že se jedná o směrodatnou odchylku určenou na základě zaměření rovinné desky. Předpokládám, že pro model VI-9i jsou tyto charakteristiky určeny stejně. Jak bylo později zjištěno, odpovídají uvedené charakteristiky přesnosti normě [31]. Ve specifikacích k systému to ale není uvedeno. 24
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 9 Chyby modelu ze systému Konica Minolta Tyto jsem se pokoušel odstranit novým zpracováním v softwaru Geomagic, ale výsledek nebyl výrazně lepší. Jako řešení problému si dovedu představit nové skenování obličejové části s ještě menším krokem točny. Z časových důvodů nebylo toto řešení ověřeno. Kolega Ing. J. Řezníček prováděl skenování druhého referenčního objektu. Z důvodu rozměrů a nutnosti polohy na ležato nemohl být barokní andělíček umístěn na točnu. Skenování bylo prováděno přibližně ze sta pozic a trvalo více než deset hodin. To je výrazně více než skenování systémem EXAscan a LORS41. V době odevzdání práce nebylo ještě provedeno vyhodnocení naměřených dat. 3.2.1.2.2 Zhodnocení systému Klady: Zápory: Cena přibližně dva milióny korun. Nevýhodný poměr velikosti zorného pole k přesnosti měření a z toho plynoucí nutnost velkého počtu pozic skenování. Nekvalitní barvy modelu. 3.2.1.3 NextEngine Společnost NextEngine (www.nextengine.com) v současné době nabízí jediný produkt, 3D skenovací systém NextEngine. 25
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 10 Hardware systému NextEngine s točnou Jedná se o revoluční 3D skenovací systém založený na principu laserové triangulace. Revoluční je systém cenou, která je více než řádově nižší než do jeho uvedení dostupné komerční produkty. Systém je taky volitelně dodáván se stejně výhodně cenově položeným softwarem RapidWorks. Od svého uvedení sice systém mírně podražil, ale pořád se jedná o ve své kategorii (technologie laserové triangulace) řádově nejlevnější produkt. Cena skeneru, ovládacího a základního vyhodnocujícího softwaru je v současnosti 2995$ cena plnohodnotného softwaru k vyhodnocení 2495$ (obě ceny jsou bez daně). Podle testování a srovnání prezentovaném v publikaci [23] systém sice nedosahuje kvalit zavedených systémů, ale zaostává za nimi pouze mírně (v desítkách procent) a proto je v poměru cena/výkon výrazně převyšuje. Základní technické parametry podle výrobce jsou: Oblast měření: Režim Macro: Výška: 130 mm, šířka: 100 mm. Režim Wide: Výška: 350 mm, šířka: 260 mm. Přesnost: ±0.01 mm (Macro), ±0.04 mm (Wide). Počet 3D bodů za sekundu: cca 50 tisíc. Čas měření jednoho skenu: přibližně dvě minuty. Rozměry systému: 225 x 280 x 92 mm (šířka x výška x hloubka). Hmotnost: 3.5 Kg. Cena: Přibližně stotisíc korun (2009). 3.2.1.3.1 Zhodnocení systému Klady: Velmi výhodný poměr ceny hardwaru i softwaru k přesnosti. Malé rozměry a hmotnost systému. Zápory: Nižší přesnost než u nejpřesnějších systémů stejné kategorie. Malé zorné pole. 26
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.2.1.4 GOM Atos Společnost GOM má již dlouholetou tradici ve vývoji a prodeji průmyslových 3D skenovacích systémů. V současné době mají v nabídce šest modelů a jejich nejznámějším produktem je systém Atos. Systém Atos je založen na technologii strukturovaného světla. Tato technologie je podrobně popsána v kapitole 3.11 str. 55 popisující nově navržený systém FOS3D. V současné době je nabízeno pět variant tohoto modelu, které se liší v rychlosti měření, dosažené přesnosti a objemu zaměřeného prostoru. Nejvyšším modelem v nabídce je model GOM Atos III. Obr. 11 Systém GOM Atos III Technické specifikace tohoto modelu podle výrobce: Oblast měření: 150 x 150 až 2000 x 2000 mm. Počet 3D bodů na sken: cca 4 milióny. Čas měření jednoho skenu: přibližně dvě sekundy. Rozměry systému: 490 x 300 x 170 mm (šířka x výška x hloubka). Cena: Přibližně dva milióny korun. Výrobce v technických parametrech bohužel neuvádí přesnost systému. Osobně jsem se s tímto modelem setkal na stáži v institutu i3mainz (Institute for Spatial Information and Surveying Techniques, Fachhochschule Mainz, University of Applied Sciences). V té době jsem ještě "neklesl" na úroveň hardwaru, a proto jsem se se systémem seznámil minimálně. 3.2.1.4.1 Zhodnocení systému Klady: Přesnost v řádu setin milimetrů. Vysoká spolehlivost systému daná dlouholetou zkušeností výrobce a orientací na přesná strojírenská měření. Zápory: Vysoká cena. 3.2.1.5 FlexScan3D Hlavním produktem Kanadské společnosti 3D3 Solution (www.3d3solutions.com) je, na rozdíl od ostatních uvedených společností, software a nikoli hardware. Software se nazývá FlexScan3D a ve spojení se běžným (neprůmyslovým) hardwarem umožňuje vytvořit 3D skenovací systém. Hardwarem je myšleno jedna nebo dvě digitální kamery a projektor. Podle typu kamery je možné její ovládání manuální nebo softwarové. 27
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Software podporuje dva módy měření. První mód používá jednu kameru a nazývá se "Single Scan Mod" dále jedno-kamerový mód a druhý mód dvě kamery a nazývá se "Duo Scan Mod" dále dvou-kamerový mód. Kromě softwarového řešení nabízí společnost i vhodný hardware založený na průmyslových kamerách, který je označen HDI 3D Scanner. Obr. 12 HDI 3D Scanner 3.2.1.5.1 Princip dvou-kamerového módu V tomto módu je princip měření totožný jako u systému GOM Atos a systému FOS3D v dvou-kamerovém módu viz kapitola 3.11 str. 55 a jedná se tedy o technologii strukturovaného světla. Neznámou je kalibrace systému, která se dá ale odvodit na základě manuálu k systému FlexScan3D na webových stránkách společnosti. Pro kalibraci je snímáno kalibrační pole typu šachovnice s rozdílným počtem sloupců a řádků (zde 24 a 19). Toto kalibrační pole je sejmuto v několika pozicích. Na základě těchto snímků je možné vypočítat vnější i vnitřní orientaci obou kamer metodou svazkového vyrovnání. Jedinou problematickou částí, ale se známým řešením, je zjištění přibližných hodnot pro svazkové vyrovnání. Existuje více možností řešení. V komunitě počítačového vidění je nejčastější řešení založeno na výpočtu a rozkladu tzv. fundamentální matice a je jej možné najít v moderních učebnicích počítačového vidění a fotogrammetrie např. [20] a [22]. Druhé řešení může být založeno na 3D resekci viz kapitola 5.4 str. 100. V tomto případě je možné určit přibližné parametry vnější orientace kamery na základě znalosti nejméně čtyř bodů v rovině a přibližných hodnot vnitřní orientace (ohnisková vzdálenost od výrobce, hlavní snímkový bod uprostřed snímku). V druhém kroku je možné pro 3D resekci použít všechny body a provést vyrovnání. Tím se získají v jediném souřadnicovém systému kalibrační desky vnější orientace obou kamer. Vše je možné pro větší přehlednost přetransformovat do souřadnicové soustavy jedné z kamer (transformace vnější orientace viz 3.6.2.4.3 na str. 41). Přibližné souřadnice bodů kalibrační desky v jejich dalších polohách v prostoru je možné získat již snadno prostorovým protínáním vpřed ze známých přibližných vnitřních a vnějších orientací kamer. 3.2.1.5.2 Princip jedno-kamerového módu S tímto řešením jsem se v literatuře doposud nesetkal. Podle kalibračních instrukcí v manuálu systému FlexScan3D je zřejmé, že se provede ztotožnění vytištěného kalibračního pole a stejného pole promítnutého projektorem. Potom je 28
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS možné pro projektor určit přibližné prvky vnější orientace jako by se jednalo o kameru. Distorze a další vady jsou zřejmě zanedbány. Výpočet podrobných bodů je potom již stejný jako u technologie laserová triangulace (průsečík roviny a optické přímky). Autorem bylo navrženo výrazně přesnější řešení jedno-kamerového módu a bylo začleněno do systému FOS3D jako jedno-kamerová varianta viz kapitola 3.11.2 str. 61. 3.2.1.5.3 Parametry systému FlexScan3D Přesnost systému závisí na použitém hardwaru a aktuální konfiguraci systému. Pro jedno-kamerovou variantu je uváděna přesnost 3x nižší než pro dvou-kamerovou s ještě výraznějším snížením přesnosti na okrajích zorného pole. To je způsobeno zanedbáním distorzí a nepřesností při manuálním ztotožnění tištěného a projektovaného kalibračního pole. Pro hardwarový systém HDI 3D Scanner je pro variantu s pěti mega-pixelovou kamerou uvedeno: Oblast měření: 150 x 150 až 2000 x 2000 mm. Přesnost v hloubce: 0.007 až 0.07 mm. Čas měření: 3 6 sekundy. Počet 3D bodů v jednom skenu: 2.5 milionu. Cena: uvedena 2 999$ pro 1.3 mega-pixelovou variantu (2009). 3.2.1.5.4 Zhodnocení systému Na základě uveřejněných parametrů považuji tento systém za nejvýhodnější řešení. Principiálně a tedy i vlastnostmi je systém totožný s pravděpodobně nejvyspělejším systémem GOM Atos (dvou-kamerová varianta systému FlexScan3D), ale jeho cena je řádově nižší. Oproti Atosu navíc umožňuje větší flexibilitu konfigurace. Klady: Vysoká přesnost. Velmi dobrý poměr ceny a výkonu. Zápory: V případě zakoupení pouze softwaru vyšší pracnost sestavení systému a jeho kalibrace. 3.2.1.6 David Laserscanner Tento systém není ze stejné kategorie jako doposud popsané systémy a nebude s nimi srovnáván. Jedná se o velmi levný a z principu málo přesný systém. Cena tzv. David Starter Kitu je 399 Eur včetně daně (2009). V balení je obsažen software i hardware. Z hlediska hardwaru se jedná o kameru s podstavcem, liniový laserový zdroj s mechanickým ostřením a kalibrační desky. Na stránkách systému (www.david-laserscanner.com) je možné koupit zajímavé laserové liniové moduly, které jsou na rozdíl od modulu použitého v LORSu 41 vybaveny optikou a umožňují zaostření na požadovanou vzdálenost. 29
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 13 David Laserscanner Systém David Laserscanner zde uvádím proto, že mě jeho důvtipný princip přivedl na dvě zajímavé myšlenky. První je jednodušší kalibrace systému LORS41, u něhož je kalibrace doposud nejobtížnější částí. Nový postup je popsán v kapitole 3.6.6 str. 42. Druhou myšlenkou je možnost výrazného zpřesnění systému FlexScan3D v jedno-kamerové variantě, který je aplikován v jedno-kamerové variantě systému FOS3D viz kapitola 3.113.11.2 str. 61. Princip systému je možné plně pochopit z jednoduché kalibrace, která je popsána na stránkách systému nebo i z uvedeného obrázku. Postup kalibrace je následující: 1. Je vytvořen kalibrační roh. Vznikne nalepením kalibračního vzoru na dvě "přesně" kolmé desky. Rozměr kalibračního vzoru se kontroluje pravítkem. 2. Je vyfotografován jeden kalibrační snímek. Je provedena kalibrace. (Protože jsou známy prostorové souřadnice bodů na kalibračním vzoru, je kalibrace provedena metodou 3D resekce pravděpodobně se zavedením členů pro distorze viz kapitola 5.4 str. 100). Z uvedeného postupu kalibrace je zřejmé, že při měření je v každém snímku určena poloha laserové roviny v prostoru odečtením jejich snímkových souřadnic na kalibračních deskách. Dále se již jedná o známou laserovou triangulaci. 3.2.2 Software Poznámka 1: Důkladný přehled softwarů a jejich vlastností by byl velmi komplexní a bezpochyby by vydal na samostatnou disertační práci. Proto jsou v této kapitole uvedeny pouze základní informace s vazbou na další řešené projekty. Uvedené informace se v menší míře týkají i polárních skenovacích systémů. Poznámka 2: Autor práce ani jeho kolegové doposud nezaregistrovali žádnou publikaci, která by podrobně srovnávala na trhu dostupné softwary pro zpracování mračen bodů a sítí. Vznik takové publikace je velmi problematický, protože použitelných softwarových produktů jsou desítky, jejich cena se pohybuje v řádu desítek až stovek tisíc korun a jimi používané algoritmy jsou z konkurenčních důvodů utajovány. Není pravděpodobné, že by jedno pracoviště nakoupilo desítky softwarů a provedlo jejich důkladné testování a porovnání. Dále uvedený text v této kapitole je proto původní text autora práce, který vznikl na základně jeho osobních zkušeností s různými skenovacími systémy a softwary. Esenciální součástí 3D skenovacích systémů je software. Z uživatelského hlediska je možné software spojený s 3D skenovacími systémy rozdělit nejméně do dvou skupin. První skupinou je software pro řízení měření a u komerčních projektů většinou zahrnuje i nástroje na kalibraci systému a vyhodnocení měření do fáze mračna bodů (většina polárních 30
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS skenovacích systémů) nebo trojúhelníkové sítě (většina základnových systémů). Tato skupina softwaru je velmi specifická pro každý typ skenovacího systému. Druhou skupinou je software, který slouží ke zpracování naměřených dat, a této kategorii se budu věnovat podrobněji. 3.2.2.1 Software na zpracování naměřených dat Existují dva základní přístupy ke zpracování výstupů 3D skenovacích systémů. Prvním přístupem je prokládání jednoduchých geometrických útvarů výběrem z mračna bodů v souladu s metodou nejmenších čtverců. Tento přístup je použitelný pro povrchy, které se skládají z jednoduchých geometrických útvarů a je méně rozšířen, alespoň z hlediska dostupných softwarů a aplikací. Podrobně se této problematice věnuji v kapitole 4 Spatfig str. 69. Druhým přístupem je práce s trojúhelníkovými sítěmi a non-uniform rational B-splines (dále NURBS), která se používá pro komplexnější povrchy. Jeho aplikační pole je velmi široké viz např. [19] a nabídka softwaru je také výrazně větší. Mezi základní kroky a možnosti zpracování u softwaru pro práci s trojúhelníkovými sítěmi patří: 1. Registrace: Transformace skenů do jednoho souřadnicového systému (skenem je myšleno mračno bodů nebo trojúhelníková síť zaměřená z jednoho stanoviska nebo v jedné pozici objektu). Registrace probíhá na základě známých identických bodů nebo geometrických útvarů nebo na základě překrytových oblastí metodou nejbližšího iteračního bodu (v originále "iterative closest point", dále ICP). 2. Editace bodů: 2.1. Mazání bodů podle výběru. Výběr může být ruční nebo automatický (výběr odlehlých oblastí nebo odlehlých měření bodů). 2.2. Snížení šumu. 2.3. Změna vzorkování: Snížení, zvýšení, sjednocení. 3. Vytvoření trojúhelníkové sítě. 4. Editace trojúhelníkové sítě: 4.1. Sloučení sítí, pokud je sítí více a překrývají se. 4.2. Vyplnění děr. 4.3. Vyhlazení sítě: Lokální nebo globální (pro celý objekt). 4.4. Redukce počtu trojúhelníků. 5. Vytvoření parametrických spline ploch NURBS. Celý postup zpracování mračna bodů je podrobně popsán a vyučován autorem práce na příkladu vytvoření modelu sochy viz příloha 11.1.1 str. 162. 3.2.2.2 Komerční produkty Někteří výrobci skenovacích systémů dodávají vlastní software a ten v některých případech navíc využívá informace o způsobu měření. To je přínosný přístup, protože tato informace může vyhodnocení výrazně zkvalitnit. 31
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Dále existuje celá řad softwaru třetích výrobců, který provádějí vyhodnocení nezávisle na použitém skenovacím systému. Mezi nejrozšířenější (na základě citací na odborných konferencích a v médiích obecně) a pravděpodobně i nejlepší patří trojice softwarů Geomagic Studio (www.geomagic.com), PolyWorks (www.innovmetric.com) a Rapidform (www.rapidform.com). Se softwarem Geomagic Studio máme bohaté zkušenosti, neboť se nám jej podařilo zakoupit v rámci projektu [#2] a byl použit v řadě výzkumných projektů a je používán ve výuce (viz příloha 11.1.1 str. 162). Cena všech tří softwarů je v řádu stovek tisíc korun. V poslední době vznikly desítky dalších softwarů, které jsou většinou levnější než tři jmenované zavedené značky (ceny v desítkách tisíc korun), ale jejich funkčnost by, podle deklarací producentů a prodejců, měla být srovnatelná. Jedná se například o software RapidWorks (www.nextengine.com), který je distribuován za příplatek s výše popsaným skenovacím systémem NextEngine a který je postaven na výpočetním jádru výrazně dražšího softwaru Rapidform. Dalším softwarem v této cenové relaci, na který jsem v průběhu studia narazil, je Leios Studio (www.egsolutions.com). Dále většina výrobců komerčních softwarů nabízí zdarma verze (licence freeware) k prohlížení mračen bodů a trojúhelníkových sítí. Tyto verze ale není možné použít k vyhodnocení. Zajímavou "novinkou" k prezentaci výstupů hromadného sběru 3D dat je rozšíření Adobe Acrobatu o možnost vkládání 3D modelů v řadě standardních formátů. Tyto modely je možné interaktivně prohlížet v bezplatném multiplatformním Adobe Acrobat Readeru. Kromě různých možností vizualizace je možné povolit i měření vzdáleností a vytváření řezů. Tvorbu interaktivního 3D obsahu "pdf" dokumentů umožňuje i open source software MeshLab popsaný níže (formát universal 3D - u3d). Touto technologií jsou v elektronické verzi této práce zpřístupněny některé 3D modely viz kapitola 3.9.1 str. 48. 3.2.2.3 Open source řešení Každý pokročilý uživatel počítače si jistě všiml výrazného nárůstu softwaru publikovaného s licencí freeware nebo open source v posledních letech ve všech softwarových oblastech. Dostupná řešení s freeware licencí byla zmíněna výše a pro vyhodnocení nejsou použitelná. Zajímavější jsou v této oblasti řešení s licencí open source. Autor této práce podporuje myšlenku open source a nabízí svá softwarová řešení s licencí GNU GPL viz [1]. Je nutno přiznat, že žádné z testovaných řešení nedosahuje uživatelské přívětivosti a stability hlavních komerčních produktů. 3.2.2.3.1 MeshLab V současné době je nejzajímavějším projektem software MeshLab (http://meshlab.sourceforge.net/). Jedná se o uživatelsky, ale zejména funkčně, vyspělý software, jehož vývoj v současné době aktivně probíhá (29. 4. 2009 byla po zhruba roce vydána nová verze označená 1.2.0). Software je vyvíjen v jazyce C++, používá multiplatformní framework pro uživatelské rozhraní Qt. Největší výhodou oproti komerčním softwarům je, že k většině implementovaných funkcí (v softwaru označených jako filtry) je přímo v programu uveden název odborné publikace, kde byl jeho algoritmus představen (a ta je navíc ve většině případů dostupná online). Další výhodou je, že nové algoritmy jsou zaváděny pružněji než u komerčních řešení (ve filtrech nejsou výjimkou odkazy na odborné publikace z tohoto roku (2009)). Další zajímavostí a výhodou softwaru MeshLab je podpora tvorby modelů ve formátu Acrobat 3D 32
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS (U3D) pospaném výše, který společně s open sourcem LaTeXem umožňuje tvorbu interaktivního 3D obsahu v "pdf" dokumentech. Naopak nevýhodou, z našeho uživatelského pohledu, je jeho velmi omezená práce s mračny bodů (pouze prohlížení a generování trojúhelníkových sítí), protože software je založen na práci s trojúhelníkovými sítěmi, nepříliš podrobná dokumentace a určitá nestabilita softwaru (neošetřené výjimky), která je ale k charakteru projektu a množství funkcí (výrazně větší počet než u komerčních produktů) pochopitelná. Přes uvedené nedostatky je software velmi zajímavou alternativou ke komerčním produktům a nejlepším řešením z kategorie open source. Obr. 14 Model andělíčka zaměřený systémem LORS41 v prostředí MeshLabu 3.2.2.3.2 Ostatní softwary Další zajímavé softwary vznikly v rámci řešení projektu digitální Michelangelo (v originále "The Digital Michelangelo Project") na Stanfordské univerzitě. Tento projekt je již ukončen, ale vyvinutá softwarová řešení jsou na stránkách projektu stále k dispozici. Mezi, z hlediska vyhodnocení, nejzajímavější řešení patří Scanalyze (http://graphics.stanford.edu/software/scanalyze/), který je určen pro zarovnávání a slučování mračen bodů. Dalším zajímavým softwarem je VripPack akronym pro Volumetric Range Image Processing Package (http://graphics.stanford.edu/software/vrip/), který slouží k slučování mračen bodů nebo trojúhelníkových sítí, ale bere v úvahu i použitý skenovací systém a jeho polohu v okamžiku měření. Posledním software s veřejnou licencí, který bude jmenován je PointShop3D (http://graphics.ethz.ch/pointshop3d/). Podle dat na stránkách projektu přestal být tento software vyvíjen v roce 2005. Na rozdíl od předchozích open sourcových projektů je založen na prácí s body a ne s trojúhelníkovými sítěmi. Pro každý bod je určen normálový vektor k povrchu a tím je definován tzv. "surfel". V softwaru je obsažena řada nástrojů pro editace a ICP registrace ve formě pluginů. 33
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.3 Princip systému LORS41 Systém je složen ze tří hardwarových komponent. Jedná se o digitální kameru, laserový modul a točnu. Laserový modul je umístěn na točně a vytváří rovinu. Snímkové souřadnice jednotlivých pixelů laserové stopy na měřeném objektu definují, při známých parametrech vnější a vnitřní orientace digitální kamery, záměrné přímky v prostoru. Parametry vnitřní orientace jsou určeny kalibrací a parametry vnější orientace jsou určeny na základě projektivní transformace. Jsou známy parametry točny (bod na ose a vektor osy). Je znám vztah mezi aktuální polohou točny a parametry laserové roviny. Prostorový bod je definován jako průsečík laserové roviny a záměrné přímky. 3.4 Popis systému Celý systém je značně komplexní a je složen z několika softwarových, hardwarových a metodologických částí. Pro jednodušší orientaci je systém rozdělen do několika logických kategorií. První kategorie obsahuje hardwarové složky systému. Druhá kategorie obsahuje metody, pomůcky, algoritmy a softwary nutné ke kalibraci systému před použitím. Třetí kategorie obsahuje softwarové složky, kromě částí nutných pro kalibraci uvedených výše, a je dále dělena na část pro řízení měření a vyhodnocení naměřených dat. Současná verze LORS41 v aktuální konfiguraci je určena k měření objektů rozměrů až 1.3 x 0.9 x 1.0 metru (šířka, výška, hloubka). 3.5 Hardwarové řešení systému Systém tvoří pevná metrová základna. Na jednom konci základny je upevněna točna, s pevně uchyceným laserovým modulem. Na druhém konci je umístěna digitální kamera. Systém je koncipován na skenování ve vzdálenosti přibližně dva metry od základny a proto je kamera mírně stočena ke středu základny (viz obr. 15). 3.5.1 Točna Obr. 15 Systém LORS41 Je použit krokový motor Microcon SX23-1012 s řídící deskou CD30M (čip M1486B). Základní krok motoru je 1.8 stupně a přesnost kroku je 0.1 stupně. Deska je propojena s 34
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS počítačem pomocí sériového portu a řízena ascii příkazy. Pro zmenšení délky kroku a zvýšení přesnosti byla pořízena šneková převodovka TOS Znojmo MRTK30A s převodovým poměrem 60:1. Po dodání převodovky byla zjištěna vůle přibližně 0.5 stupně. Její vliv byl odstraněn udržováním točny v krajní poloze "vůle" pružinou. Obr. 16 Točna Uvedené řešení umožňuje přesné a automatické řízení polohy točny. Cena zařízení (motor, řídící deska, šneková převodovka, síťový zdroj, pružná spojka) byla v roce 2006 přibližně 450 EUR. 3.5.2 Digitální kamera Je použita standardní digitální zrcadlovka Canon E350D s fyzickým rozlišením snímače 8 Mpixelů (3456 x 2304). Další parametry kamery jsou připojení portem USB 2 a možnost vývoje vlastního ovládacího softwaru s pomocí originálního Remote Control Software Development Kit (RC-SDK). Při řízení kamery z počítače je rychlost snímkování přibližně jeden snímek za sekundu včetně přenosu snímku do počítače. Důležitými vlastnostmi kamery je možnost plného manuálního ovládání (rychlost závěrky a ovládání clony) a používání objektivů s mechanickým přepínáním na manuální ostření. Všechny ovládací prvky je možné nastavovat softwarově z počítače. V současné době je používán standardní objektiv Sigma 18 50 mm F3.5 5.6 DC v krajní širokoúhlé poloze. Důležitým parametrem objektivu je hloubka ostrosti, kterou lze vypočítat z tzv. hyperfokální vzdálenosti h [14]: 2 f h =, (1) nd kde f je ohnisková vzdálenost, n je clonové číslo a d je maximální povolená neostrost na snímači (například vzdálenost pixelů). Pro výpočet přední ff a zadní bf hrany ostrosti lze použít následující vzorce: 35
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS kde s je vzdálenost, na kterou je zaostřeno. h s ff = h + s f, (2) h s bf = h s + f Parametry daného objektivu jsou pro hodnoty f = 18 mm, n = 10 a d = 0.0063 mm uvedeny v následující tabulce: Zaostřeno na vzd. Přední hrana ostrosti Zadní hrana ostrosti Interval ostrosti [m] [m] [m] [m] 0.2 0.19 0.21 0.01 0.4 0.37 0.43 0.06 0.6 0.54 0.68 0.14 0.8 0.69 0.94 0.25 1 0.84 1.24 0.40 1.5 1.16 2.11 0.95 2 1.44 3.27 1.83 3 1.89 7.21 5.31 4 2.25 18.14 15.90 5 2.53 202.53 200.00 6 2.76-35.07-37.84 7 2.96-19.08-22.04 Tab. 2 Parametry použitého objektivu Záporná čísla znamenají, že zadní hrana ostrosti je v nekonečnu. Cena uvedené kamery v setu s objektivem byla v roce 2006 přibližně 800 EUR. 3.5.3 Laserová rovina Jedná se o laserový modul DPGL-3005L-45 (výkon 5 mw, vlnová délka 532 nm), který přímo vytváří rovinu. Šířka stopy je přibližně 2-3 milimetry. Proto byla vytvořena clona, která je umístěna před laserový modul. Výsledná laserová rovina má šířku přibližně jeden milimetr. Přibližná cena laserového modulu byla v roce 2006 přibližně 600 EUR (laserový modul s vlnovou délkou odpovídající červené barvě je výrazně levnější a může být v systému použit). 3.6 Kalibrace systému Kalibrací systému je myšleno určení všech parametrů systému nutných pro měření. Zejména se jedná o parametry prostorové konfigurace systému, kdy je v jednom souřadnicovém systému nutné určit pozici všech komponent systému (kamera, točna, rovina). V této kapitole jsou popsány metody, postupy, pomůcky, algoritmy a programy nutné ke kalibraci systému před použitím. Kalibrace systému LORS41 je velmi složitý a náročný proces. Osobně ji považuji za nejslabší část systému a hlavní faktor, který by bránil jeho komerčnímu nasazení. Proto bylo v této vývojové verzi provedeno mírné zjednodušení tohoto procesu a nový postup je prvně publikován v tomto textu. Dále byl navržen zcela nový systém, který mimo jiné i problematiku kalibrace velmi výrazně zjednoduší (viz kap. 3.11 str. 55). 36
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Při sepisování současného stavu byl autorem práce navržen nový způsob kalibrace systému, který je popsán v kapitole 3.6.6 str. 42 3.6.1 Způsob určení souřadnic bodů pro kalibraci Souřadnice všech bodů nutných pro kalibraci systému byly určeny metodou prostorového protínání z úhlů totální stanici Topcon GPT 2006 (směrodatná odchylka ve směru 0.0020 gon). Směrodatná odchylka ve vzájemné poloze takto určených bodů byla vypočtena na základě zákona hromadění směrodatných odchylek a je přibližně 0.08 mm. 3.6.2 Kamera Parametry vnitřní orientace jsou určeny před instalací kamery do systému LORS41 pomocí kalibrace založené na snímkování rovinného kalibračního pole pod různými úhly. Parametry vnější orientace jsou určovány zprostředkovaně z jediného snímku přesně známého kalibračního pole vyrovnáním projektivní transformace se známými prvky vnitřní orientace a parametry Brownova modelu distorzí. 3.6.2.1 Projektivní transformace Základem nového postupu je použití projektivní transformace místo doposud používané direktní lineární transformace (dále DLT). DLT je matematická transformace jejíž geometrická interpretace je složitá [14]. Hlavní výhodou DLT je její lineární forma z hlediska jejich parametrů a tedy možnost jejího výpočtu bez znalosti přibližných hodnot. Naopak její významnou nevýhodou je, že její parametry nelze vypočítat pro body ležící v rovině a je zřejmé, že je jednodušší vytvořit, určit a udržovat rovinné kalibrační bodové pole než prostorové. Projektivní transformaci je možné geometricky interpretovat jako středové promítání ideální (dírkovou) kamerou. Její rovnice mají tvar: r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 11 0 21 0 31 0 x= x0 f r 13 X X 0 + r 23 Y Y 0 + r 33 Z Z 0 r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 12 0 22 0 32 0 y = y0 f r 13 X X 0 + r 23 Y Y 0 + r 33 Z Z 0, (3) kde x, y jsou snímkové souřadnice, X, Y, Z jsou prostorové souřadnice, x 0, y 0 jsou souřadnice hlavního snímkového bodu, X 0, Y 0, Z 0 jsou prostorové souřadnice projekčního centra, f je ohnisková vzdálenost a r 11 až r 33 jsou prvky matice rotace, která je ortogonální. Pokud nebudeme nahrazovat v matici rotace koeficienty r 11 až r 33 vztahy používajícími úhly rotace kolem jednotlivých os, potom je nutné definovat podmínky normality a ortogonality: 37
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS r + r + r 1= 0, 2 2 2 11 12 13 r + r + r 1= 0, 2 2 2 21 22 23 r + r + r 1= 0, 2 2 2 31 32 33 r r + r r + r r = 0, 11 21 12 22 13 23 r r + r r + r r = 0, 21 31 22 32 23 33 r r + r r + r r = 0. 11 31 12 32 13 33 V případě jednoho snímku není možné určit současně prvky vnitřní a vnější orientace. Proto je nutné provést kalibraci kamery před její fixací v systému LORS41. Poznámka: Z numerického hlediska je výrazně jednodušší řešit soustavu rovnic bez podmínek. Proto je vhodné použít vztah (3) v uvedené podobě pouze pro výpočet přibližných hodnot hledaných parametrů a konečné vyrovnání provést pro podobu s úhly rotace kolem jednotlivých souřadnicových os a tedy bez podmínek. 3.6.2.2 Určení distorzí a dalších vad kamery Jak je již uvedeno výše, projektivní transformace popisuje středové promítání ideální kamerou. Skutečná kamera má ale řadu vad jako jsou například distorze objektivu, geometrické vady snímacího senzoru, stočení senzoru vůči optické ose a další. V příspěvku [*38] bylo prezentováno testování několik funkcí k odstranění těchto vad. Na základě těchto testů a dalších informací byl pro výpočet použit tzv. Brownův model: x = X X Y Z x x k r + k r + k r p r + x x p x x y y 2 4 6 2 2 (,, ) ( )( ) ( 2( ) ) 2 ( )( ) 0 1 2 3 1 0 2 0 0 y = Y X Y Z y y k r + k r + k r p r + y y p x x y y 2 4 6 2 2 (,, ) ( )( ) ( 2( ) ) 2 ( )( ) 0 1 2 3 2 0 1 0 0 r = ( x x ) + ( y y ) 2 2 2 0 0 Koeficienty k 1, k 2 a k 3 slouží k popisu radiální distorze a koeficienty p 1 a p 2 k popisu tzv. "tangenciální distorze". V některých případech může nastat velmi silná korelace mezi souřadnicemi hlavního snímkového bodu a koeficienty p 1 a p 2 viz [18], která způsobí numerickou nestabilitu řešení. Potom je nutné koeficienty p 1 a p 2 z řešení vypustit. Zavedení tangenciálních členů pro popis distorzí je v této verzi systému LORS inovací proti předchozím verzím. Jak je vidět v příspěvku [*38] dochází k snížení aposteriorní jednotkové chyby až na 50 procent proti uvážení pouze radiálních členů. Model kamery je tedy významně kvalitnější. 3.6.2.3 Vnitřní orientace Proces získání parametrů vnitřní orientace kamery se nazývá kalibrace kamery. Parametry vnitřní orientace jsou zejména souřadnice hlavního snímkového bodu a ohnisková vzdálenost. Pro výše popsaný Brownův model kamery jsou dalšími prvky vnitřní orientace parametry k 1, k 2, k 3, p 1 a p 2. Pro kalibraci kamery byl z časových důvodů použit software PhotoModeler ve verzi 6, který používá uvedený Brownův model. Kalibrace je založena na snímkování rovinného bodového pole pod různými úhly. (4) (5) 38
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Je možné použít buď kalibrační pole, jehož podklady pro tisk jsou součástí instalace PhotoModeleru, nebo námi vytvořené kalibrační pole popsané níže. Výhodou našeho kalibračního pole je jeho tuhost, která umožňuje pohybovat místo kamery samotným polem a tedy kalibraci již zafixované kamery. Následuje svazkové vyrovnání [14], které určuje prvky vnější orientace pro všechna stanoviska, prvky vnitřní orientace a prostorové souřadnice všech bodů kalibračního pole. Všechny uvedené parametry jsou určeny vyrovnáním, které minimalizuje sumu čtverců oprav snímkových souřadnic bodů kalibračního pole. Výhodou použití softwaru PhotoModeler je poloautomatická subpixelová detekce podrobných bodů a po ručním referencování několika bodů i automatické referencování všech dalších bodů. Dalším krokem je již svazkové vyrovnání. Svazkové vyrovnání není složité algoritmizovat a vytvořit jeho vlastní softwarové řešení. Hlavním problémem je určení přibližných hodnot vnější orientace. Není zveřejněno, jak tento problém řeší software PhotoModeler, ale autorem této práce a Ing. J. Řezníčkem bylo navrženo a ověřeno původní řešení, které umožňuje tyto přibližné hodnoty určit viz kapitola 5.4 str. 100. Při znalosti přibližných hodnot souřadnic bodů kalibračního pole (například na základě jejich pravidelného rastru) a čtyř bodů ve snímkových souřadnicích, je snadná i algoritmizace automatické subpixelové detekce ostatních podrobných bodů a dále jejich automatické referencování. 3.6.2.4 Vnější orientace Parametry vnější orientace jsou určovány zprostředkovaně z jediného snímku přesně známého kalibračního pole vyrovnáním projektivní transformace se známými prvky vnitřní orientace a parametry Brownova modelu. 3.6.2.4.1 Kalibrační pole Pole obsahuje 300 bodů a jeho rozměry jsou 100 x 70 cm viz obr. 17 str. 40. V poli byly voleny značky tvaru mezikruží s vnějším poloměrem čtyři milimetry a vnitřním jeden milimetr viz obr. 18 níže. Tyto značky jsou vhodné jak pro přesné zaměření planimetrem tak pro odečítání na digitálních snímcích, kde se podle rozlišení volí jako cíl buď mezikruží, nebo vnitřní kruh. Kalibrační pole bylo zaměřeno dvakrát nezávisle s dvojím odečtením na planimetru firmy Altec Corporation. Přesnost jednoho zaměření byla určena z rozdílů dvojího zaměření a je v obou souřadnicích dána směrodatnou odchylkou přibližně 0.04 mm (směrodatná odchylka použitého průměru je přibližně 0.03 mm což odpovídá přibližně 0.1 pixelu). 39
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 17 - Kalibrační snímek kalibračního pole Středové značky identických bodů byly několikrát odečteny s pomocí softwaru "odecitacv2" doc. Ing. M. Štronera, Ph.D. Tento software umožňuje subpixelový odečet bodů metodou RGB filtru. Po kliknutí do jediného bodu splňujícího zadaný filtr jsou automaticky vybrané všechny sousedící pixely splňující RGB filtr a je vypočítán jejich průměr. Na základě opakovaného odečítání vycházela směrodatná odchylka v souřadnici průměrného odečtu v rozmezí 0.05 až 0.2 pixelu podle použitého snímku. Obr. 18 Detail bodu na kalibračním poli 3.6.2.4.2 Určení přibližných hodnot pro projektivní transformaci Hlavní nevýhodou projektivní transformace je nutnost znát přibližné hodnoty jejich parametrů (prvků vnitřní a vnější orientace), protože se jedná o nelineární transformaci z hlediska hledaných parametrů. Řešení pro čtyři body bylo nalezeno v [16] a bylo implementováno do knihovny Alltran viz kap. 5. Pro rovinné pole je vhodnější použití původního řešení navrženého autorem tohoto textu a Ing. J. Řezníčkem viz kapitola 5.4 str. 100. Toto řešení používá k výpočtu přibližných hodnot všechny identické body a vypočtené přibližné hodnoty jsou přesnější. 40
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.6.2.4.3 Transformace vnější orientace kamery Jistou komplikaci navrženého řešení přibližných hodnot způsobuje nutnost používat prostorové souřadnice rovinného pole v takové souřadnicové soustavě, kde rovina XY leží v rovinně kalibračního pole a souřadnice Z je tedy pro všechny body přesně nebo přibližně nula. Proto je používán tento postup: 1. Je vypočtena projektivní transformace v souřadnicové soustavě dané kalibračním polem (v této soustavě je určeno projekční centrum a matice rotace, jejíž sloupce představují vektory souřadnicových os systému kamery v systému pole). Je použita projektivní transformace se známými prvky vnitřní orientace a parametry Brownova modelu distorzí v Alltranu nazvaná "projective_planar_rd_td" viz kap. 5.7.3.7.13 str. 127. 2. Je vypočtena shodnostní prostorová transformace ze souřadnicové soustavy z bodu 1. do "kalibrační" souřadnicové soustavy na základě nejméně tří identických bodů zaměřených totální stanicí na kalibračním poli. 3. Vnější orientace kamery je přetransformována transformačním klíčem podle bodu 2. ze souřadnicové soustavy dané kalibračním polem do "kalibrační" souřadnicové soustavy. Poznámka: Protože souřadnice "z" všech bodů v souřadnicové soustavě dané kalibračním polem je nulová, tak v matici normálních rovnic (nebo matici plánu) řešení přibližných hodnot prostorové transformace vzniknou nulové sloupce (řešení přibližných hodnot viz [11]). Sloupcům příslušné parametry nelze určit, a proto jim řešení metodou singulární dekompozice přiřadí nulové hodnoty. To vede k nepřesným přibližným hodnotám pro navazující transformaci a způsobuje špatnou konvergenci nebo divergenci jejího řešení. Řešený problém z principu ale singulární není a je možné jej spolehlivě řešit například vypuštěním parametrů příslušejících daným sloupcům (v našem případě r 13, r 23 a r 33 ) a jejich dopočtením jinou metodou (například vektorovým součinem zbylých dvou sloupců matice rotace). Další možností je výpočet přibližných hodnot metodou prezentovanou v kapitole viz kap. 5.7.3.1.10 str. 110, která je ale v Alltranu automaticky používána jen při znalosti pouze tří identických bodů. Z tohoto důvodu byla v Alltranu zavedena nová transformace "identity_3d_planar" viz kap. 5.7.3.1.9 str. 110, která vždy používá druhý způsob řešení přibližných souřadnic navržený v předchozím odstavci. Pro všechny výše uvedené transformace byla použita knihovna Alltran. Vnější orientace kamery je dána prostorovými souřadnicemi projekčního centra X 0, Y 0 a Z 0 a prvky matice rotace r 11 až r 33 viz (3). Transformace projekčního centra je elementární transformací bodu. Složitější je transformace matice rotace. 3.6.2.4.4 Transformace matice rotace Protože matice rotace je ortogonální, tak sloupce matice rotace představují vektory souřadnicové soustavy kamery v souřadnicové soustavě kalibračního pole. Jednou možností je výpočet koncových bodů osových jednotkových vektorů soustavy kamery jejich přičtením k projekčnímu centru, přetransformováním těchto bodů i projekčního centra do "kalibrační" souřadnicové soustavy a zpětný inverzní výpočet osových vektorů soustavy kamery odečtením přetransformovaného projekčního centra od přetransformovaných koncových bodů. Druhou možností je aplikace pouze složky rotace (transformace do "kalibrační" soustavy) na vektory matice rotace kamery. 41
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.6.3 Točna Parametry točny jsou vektor osy otáčení točny n RP a bod na této ose X CR. Tyto prvky byly určeny ze zaměření bodu na točně v několika polohách točny. Body jsou následně proloženy kružnicí v prostoru v knihovně Spatfig viz kap. 4.4.8.4.2 str. 81. 3.6.4 Rovina Poslední komponentou je laserová rovina. Ta byla zaměřena v jedné poloze točny nadbytečným počtem bodů a proložena rovnicí roviny v knihovně Spatfig viz kap. 4.4.8.4.3 str. 81. Rovina je definována rovnicí: A X + B Y + C Z + D = 0, (6) z důvodu jednoznačnosti parametrů je nutné splnit podmínku: 2 2 2 A + B + C 1= 0. (7) Rovina je zaměřena v jedné pozici natočení točny. Toto natočení vůči základní pozici je dále označeno α 30. 3.6.5 Inicializační soubor Vybrané parametry z pro kalibraci uvedených součástí je nutné předat vyhodnocovacímu softwaru LORS41 Processing. K tomu účelu je nutné vytvořit inicializační soubor přesně dané struktury. V této kapitole je uveden přesný popis obsahu inicializačního souboru. Jednotlivé údaje v inicializačním souboru jsou uvedeny vždy na samostatném řádku (v uvozovkách jsou uvedena klíčová slova, bez uvozovek názvy parametrů, které jsou v souladu se značením v předcházejících kapitolách): 1. řádek: "Camera:" 2.- 21.: r 11, r 12, r 13, r 21, r 22, r 23, r 31, r 32, r 33, X 0, Y 0, Z 0, x 0, y 0, k 1, k 2, k 3, p 1, p 2, f. 22.: "Rotating_platform:" 23. - 28.: n rpx, n rpy, n rpz, X CR, Ycr, Zcr. 29.: "Plane:" 30.-34.: A, B, C, D, α 30. 3.6.5.1 Jednotky prvků vnitřní orientace V inicializačním souboru jsou parametry kamery x 0, y 0 a f uvedeny v pixelech, protože snímkové souřadnice jsou nejčastěji odečítány taky v pixelech. Software PhotoModeler standardně používá pro tyto parametry jednotky milimetrů. Z rozměrové zkoušky taky vyplývá, že parametry k 1, k 2 a k 3 mají ve PhotoModeleru rozměr mm -2, mm -4 a mm -6 a parametry p 1 a p 2 mají rozměr mm -1. Proto je nutný převod všech parametrů vnitřní orientace na pixely. Pro parametry x 0, y 0, a f provedeme vynásobení poměrem r = "šířka snímače v pixelech" / "šířka snímače v mm" a pro parametry k 1, k 2 a k 3 vydělíme poměrem r umocněným na druhou, čtvrtou a šestou a pro parametry p 1 a p 2 vydělíme poměrem r. 3.6.6 Nová metoda kalibrace systému LORS41 Jak již bylo v textu práce uvedeno, kalibrace je klíčovou a nejvíce náročnou částí systému LORS41, což ilustruje například nutnost použití dvou totálních stanic. 42
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Při sepisování současného stavu 3D skenovacích systémů v této práci jsem narazil na zajímavý skenovací systém David Laserscanner viz kap. 3.2.1.6 str. 29. Při dedukci principu jeho fungování jsem si uvědomil novou a výrazně jednodušší metodu kalibrace systému LORS41. Bodově je ji možné popsat následovně: 1. Vytvoření a určení rovinného kalibračního pole. 2. Ve vhodném natočení laserového modulu vyfotografování kalibračního pole s laserovou stopou. 3. Na základě metody 3D resekce (viz kap. 5.4 str. 100) určení vnější orientace kamery v systému kalibračního pole. 4. Určení 3D souřadnic bodů laserové roviny na kalibračním poli z průsečíku roviny kalibračního pole a optické přímky. 5. Zpětná transformace souřadnic 3D bodů laserové roviny do souřadnicového systému kamery. 6. Opakování postupu pro nejméně jednu další pozici kalibračního pole radiálně posunutou od laserového zdroje. Tím získání nejméně dvou linií 3D bodů laserové roviny, které ji dostatečně definují. 7. Natočení točny o známý úhel (například 20 gonů) a opakování bodů 2 až 6. Opakování celého postupu je možné a vhodné ve více pozicích točny. 8. Na základě znalosti rovnice roviny v několika pozicích v souřadnicovém systému kamery a na základě znalosti jejich vzájemného stočení je možné vypočítat souřadnice bodu a vektor osy točny. Detaily osmého bodu popsaného postupu nejsou doposud vyřešeny, ale protože jsou známy přibližné hodnoty hledaných parametrů, tak i v případě, že by řešení vedlo k nelineárním vztahům, je možné jejich vyřešení numerickými metodami. Nastíněné řešení by bylo vhodnější než doposud používané, ale z důvodu vývoje nového systému FOS3D nebude implementováno. 3.7 Matematické řešení výpočtu podrobných bodů 3.7.1 Průsečík záměrné přímky a roviny Rovnice (5) a (6) jsou tři lineární rovnice o třech neznámých souřadnicích bodu X, Y, Z. Plný tvar rovnice (5) bez významných substitucí je: r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 11 0 21 0 31 0 xi = x0 f r 13 X X 0 + r 23 Y Y 0 + r 33 Z Z 0 ( x x ) ( k r + k r + k r ) p ( r + 2 ( x x ) ) 2 p ( x x ) ( y y ) 2 4 6 2 2 i 0 1 i 2 i 3 i i i 0 i 0 i 0 1 2 r ( X X ) + r ( Y Y ) + r ( Z Z ) ) ( ) 12 0 22 0 32 0 yi = y0 f r 13 ( X X 0) + r 23 ( Y Y 0 + r 33 Z Z 0 ( y y ) ( k r + k r + k r ) p ( r + 2 ( y y ) ) 2 p ( x x ) ( y y ) 2 4 6 2 2 i 0 1 i 2 i 3 i i i 0 i 0 i 0 r = ( x x ) + ( y y ) 2 2 2 i i 0 i 0 Pro algoritmizaci byly zavedeny tyto substituce: 2 1. (8) 43
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS dx = x x, 0 dy = y y 0 rr = dx + dy 2 2 kr = k rr + k rr + k rr 2 3 1 2 3 ddx = dx kr + p ( rr + 2 dx ) + 2 p dx dy, 2 1 2 ddy = dy kr + p ( rr + 2 dy ) + 2 p dx dy, 2 2 1 dddx = dx + ddx, dddy = dy + ddy. Pokud si uvedeme řešení tří rovnic (6) a (8) v maticovém tvaru: nabudou koeficienty matice A a l pro rovnice (8) podoby: i i,,, (9) Ah = l, (10) 11 13 11 12 23 21 13 33 31 21 13 21 22 23 22 23 33 32 1 13 0 23 0 33 0 11 0 21 0 31 0 2 13 0 a = dddx r + f r a = dddx r + f r a = dddx r + f r a = dddy r + f r a = dddy r + f r a = dddy r + f r l = dddx r X + dddx r Y + dddx r Z + f r X + f r Y + f r Z l = dddy r X + dddy r 23 Y 0 + dddy r 33 Z 0 + f r 12 X 0 + f r 22 Y 0 + f r 32 Z 0. A pro rovnici (6): a a a l 3 31 32 33 = A, = B, = C, = D. 3.7.2 Výpočet parametrů roviny v libovolné poloze točny Jak již bylo uvedeno, rovina je zaměřena v jedné poloze točny. Úkolem je určit parametry této roviny v libovolné poloze točny. Rovina je dána rovnicí (6). Jsou vhodně automaticky vypočteny tři body v této rovině v globálním (kalibračním) systému XYZ. Tyto body je ale nutné znát i v lokální rotující souřadnicové soustavě xyz. Proto byla provedena jejich transformace. Základní vztah prostorové transformace je: CR,,,,,,, (11) (12) X = X + R x, (13) i kde X i je bod i v souřadnicové soustavě XYZ, X CR je posun, R je rotační matice a x i je bod i v lokálním souřadnicovém systému xyz. V naší situaci přepíšeme rovnici (13) na tvar: kde: T x0i R X0i X CR i = ( ), (14) R= R ( α ) R ( α ) R ( α ), (15) Z' 1 Y' 2 Z' 3 44
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS cos α sin α 0 cos 0 sin cos sin 0 1 1 α α α α 2 2 3 3, (16) R ( α ) = sin α cosα 0, R ( α ) = 0 1 0, R ( α ) = sin α cos α 0 Z' Y' Z' 1 1 1 2 3 3 3 0 0 1 sin α 0 cos α 0 0 1 2 2 n α = arccos, α = arccos( n ), (17) RPx 1 2 2 2 nrpx + n RPy kde n RP je vektor osy otáčení točny, úhel α 3 je aktuální směr natočení točny, který je v okamžiku zaměření roviny nulový a index 0 u X 0i a x 0i znamená právě nulový α 3. Výsledná transformace bodů v rovině má tvar: T T 0i Y' 2 Z' 1 0i CR x = R ( α ) R ( α ) ( X X ). (18) Pokud bude laserová rovina natočena o nějaký nenulový α 3 je transformace bodů do systému XYZ definována jako: X α = X + R ( α ) R ( α ) R ( α ) x. (19) i 3 CR Z' 1 Y' 2 Z' 3 0i Pokud obě transformace spojíme, získáme výsledný vztah ve tvaru: X α = X + R ( α ) R ( α ) R ( α ) R ( α ) R ( α ) ( X X ). (20) T T i 3 CR Z' 1 Y' 2 Z' 3 Y' 2 Z' 1 0i CR Nyní je již možné získat rovnici laserové roviny v dané poloze točny proložením rovnice roviny třemi transformovanými body například podle [2] vztahem: x x1 y y1 z z1 x2 x1 y2 y1 z2 z1 = 0, (21) x x y y z z a tedy 3 1 3 1 3 1 A= ( y y ) ( z z ) ( y y ) ( z z ), (22) 2 1 3 1 3 1 2 1 RPz [( ) ( ) ( ) ( )] B = x x z z x x z z, (23) 2 1 3 1 3 1 2 1 C = ( x x ) ( y y ) ( x x ) ( y y ), (24) 2 1 3 1 3 1 2 1 D= x1 A y1 B z1 C. (25) 3.8 Softwarové řešení systému Softwarové řešení systému LORS41 se kromě řešení kalibrace skládá pouze ze dvou programů LORS41 Scanning a LORS41 Processing. 3.8.1 Kalibrace systému Kalibrace systému LORS41 je komplexní proces a je podrobně popsán v kapitole 3.6 str. 36. Pro výpočty spojené s kalibrací systému je několikrát použita knihovna Spatfig a Alltran. 45
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS 3.8.2 LORS41 Scanning Program LORS41 Scanning je jednoduchý program, který řídí digitální kameru a krokový motor točny. Nastavuje se pouze interaktivně pravý a levý okraj skenování a velikost kroku točny v gonech. Před najetím laseru do oblasti skenování se provede referenční snímek a poté systém již zcela automaticky provede měření. 3.8.3 LORS41 Processing Pro vyhodnocení je použit program nazvaný LORS41 Processing. Program umožňuje provést veškeré nutné operace pro získání výsledných 3D souřadnic. Program je napsán v jazyce C++ ve vývojovém prostředí "Microsoft Visual C++ 2008 Express Edition". V tomto prostředí je možné kombinovat nativní C++ společně s "Microsoft.NET Frameworkem". 3.8.3.1 Detekce stopy laseru Jsou implementovány dva algoritmy detekce laserové stopy. V obou případech je nejprve otevřen "set" snímků. První metodou je RGB filtr. Pro tento filtr je nutné nastavit detekční parametry (pro zelený laser většinou postačuje R: 0 255, G: 190 255 a B: 0 255) a rozsah filtrované oblasti. Poté je provedena detekce na všech snímcích (přibližná rychlost 2 snímky za sekundu). Druhou metodou detekce laserové roviny je rozdílový filtr, který je oproti klasickému RGB filtru citlivější. Principem metody je odečtení aktuálního snímku od snímku referenčního bez stopy laserové roviny. Jako stopa laserové roviny jsou označeny ty pixely rozdílového snímku, které mají větší hodnotou než mezní (aby nebyl detekován šum snímače, je používána mezní hodnota 30 až 50). U obou metod je možné provádět volbu hodnot výběrových parametrů interaktivně včetně výběru oblasti snímku, na kterou je filtr aplikován. Následuje automatická detekce stopy na všech snímcích a její zápis do vybraného ascii souboru. U obou metod detekce laserové stopy program zapisuje i barvy v RGB schématu z příslušných pixelů referenčního snímku. 3.8.3.2 Ovládání programu Dalším krokem je zadání konfiguračních parametrů výpočtu. To je provedeno nahráním inicializačního souboru s parametry projektivní transformace s Brownovým modelem distorzí kamery, s parametry transformace (točny) a parametry laserové roviny viz kapitola 3.6.5 str. 42. Je zadán úhlový krok točny mezi jednotlivými snímky. Posledním bodem postupu je výběr souboru pro uložení výsledných 3D souřadnic a spuštění výpočtu. 46
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 19 Pracovní prostředí LORS41 Processing 3.9 Provedené experimenty Obr. 20 Detekce rozdílovou metodou Bylo provedeno několik praktických měření k ověření funkčnosti celého systému a odhalení jeho problematických částí. V prvním experimentu byla v několika pozicích zaměřena přibližně metrová sádrová socha. Po registraci měření z několika pozic by vytvořen trojúhelníkový model. 47
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 21 Model a fotografie sochy Následující obrázek ukazuje schopnost systému detekovat skutečné barvy zaměřovaného objektu. Obr. 22 Fotografie, mračno bodů a detail mračna bodů naskenovaného objektu 3.9.1 Referenční objekty Pro porovnání systému LORS41 s dostupnými 3D skenovacími systémy byly zaměřeny a vyhodnoceny dva referenční objekty. Prvním referenčním objektem je zmenšená kopie Michelangelova Davida, která byla zakoupena na Katedru speciální geodézie k výukovým a testovacím účelům. Rozměry sochy jsou přibližně 0.3 x 1.0 x 0.3 metru (šířka x výška x hloubka) a její hmotnost je přibližně 20 kg. 48
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 23 Kopie Michelangelova Davida Druhým referenčním objektem je kopie barokní sochy andělíčka, která byla zapůjčena do Laboratoře fotogrammetrie. Autorem originálu je Matyáš B. Braun a socha je součástí morového sloupu na Náměstí Československé armády v Jaroměři. Rozměry sochy jsou přibližně 0.5 x 0.9 x 0.3 metru (šířka x výška x hloubka) a hmotnost přibližně 30 kg. Obr. 24 Barokní andělíček Zaměření a vyhodnocení obou objektů prováděla s mými radami slečna Michaela Žižková při zpracování své bakalářské práce. To ilustruje poměrnou jednoduchost obsluhy systému. Socha Davida byla zaměřena 12-ti skeny. Úhlový krok byl zvolen 0.05 gonu, což odpovídá horizontálnímu rozestupu bodů přibližně jeden milimetr. Zpracování proběhlo v souladu s postupem uvedeným v příloze 11.1.1 str. 162 v softwaru Geomagic. Výsledný model v bodové fázi obsahoval přibližně tři milióny bodů viz obr. 25. Po sloučení všech skenů a sjednocení vzorkování na střední vzdálenost 1.7 milimetru obsahoval bodový model cca 700 tisíc bodů. Vytvořená trojúhelníková síť obsahovala cca 1.5 milionu trojúhelníků. Bez významné ztráty kvality byl počet použitých trojúhelníků snížený na 500 tisíc viz obr. 26. 49
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 25 Socha Davida při globální registraci, výsledný model v bodové fázi, v polygonové fázi a v polygonové fázi s texturou Obr. 26 Detail výsledného modelu s plným (1.5 milionu) a inteligentně redukovaným (500 tisíc) počtem trojúhelníků Výsledný model se sníženým rozlišením je v pdf verzi této práce zpřístupněn pomocí technologie Acrobat 3D níže. 50
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 27 Interaktivní (v pdf) model sochy Davida ve sníženém rozlišení na 100 tisíc trojúhelníků Socha andělíčka byla zaměřena celkem 13-ti skeny. V první etapě bylo provedeno devět skenů. Protože socha je velmi tvarově členitá, bylo nutné provést vyhodnocení naměřených částí a zjistit, které části sochy ještě nejsou naskenovány viz obrázky níže. 51
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 28 Pět nenaskenovaných oblastí na soše andělíčka V druhé etapě bylo naměřeno pět skenů. Byl vyhotoven finální model, který obsahuje po redukci přibližně 400 tisíc trojúhelníků. 52
3 VÝVOJ SKENOVACÍHO SYSTÉMU LORS Obr. 29 Detail modelu barokního andělíčka Obr. 30 Interaktivní (v pdf) model sochy barokního andělíčka ve sníženém rozlišení na 100 tisíc trojúhelníků 53