ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA SPECIÁLNÍ GEODÉZIE doktorand Ing. Bronislav Koska školitel Doc. Ing. Jiří Pospíšil, CSc. Studie disertační práce na téma Optoelektronické metody 3D zaměření povrchů předmětů Praha, listopad 2005
0. Seznam často použitých akronymů Katedra speciální geodézie OBSAH SEZNAM POUŽITÝCH AKRONYMŮ... 3 1. ÚVOD... 4 2. DEFINICE PROBLÉMU... 5 3. MOŽNOSTI VYUŽITÍ ORTOGONÁLNÍHO PROKLÁDÁNÍ... 6 4. HISTORICKÝ VÝVOJ METOD PROKLÁDÁNÍ... 8 4.1. DALŠÍ METODY PROKLÁDÁNÍ... 8 5. SOUČASNÝ STAV ORTOGONÁLNÍHO PROKLÁDÁNÍ... 9 5.1. MOŽNOSTI KLASIFIKACE METOD ORTOGONÁLNÍHO PROKLÁDÁNÍ... 9 5.1.1. Klasifikace podle tvaru funkce... 9 5.1.2. Klasifikace podle rozdělení modelových parametrů... 10 5.1.2.1. Transformace... 10 5.1.3. Klasifikace podle minimalizované funkce... 10 5.1.3.1. Délkový algoritmus... 10 5.1.3.2. Souřadnicový algoritmus... 11 5.1.4. Klasifikace podle způsobu řešení... 11 5.1.4.1. Metoda odděleného určení proměnných... 11 5.1.4.2. Metoda současného určení proměnných... 11 5.2. SOUČASNÉ POŽADAVKY NA METODU ORTOGONÁLNÍHO PROKLÁDÁNÍ... 11 5.3. SKUPINY PRACUJÍCÍ NA VÝVOJI ALGORITMU ORTOGONÁLNÍHO PROKLÁDÁNÍ... 12 5.3.1. S. J. Ahn a kolektiv... 12 5.3.2. A. Atieg a G.A. Watson... 13 5.3.2.1. Nekompletní ortogonální prokládání... 13 5.3.3. P. Faber a R.B. Fisher... 14 5.3.4. G. Lukács, A.D. Marshal a R.R. Martin... 14 5.4. ALGORITMUS III... 14 5.4.1. Maticová formulace řešení... 14 5.4.2. Hledání ortogonálního bodu v implicitním tvaru... 15 5.4.2.1. Newtonova metoda... 15 5.4.2.2. Metoda Lagrangeových multiplikátorů... 16 5.4.3. Algoritmus III v implicitním tvaru geometrického útvaru... 16 5.4.4. Algoritmus III pro geometrický útvar v parametrickém tvaru... 18 5.5. PŘIBLIŽNÉ HODNOTY PRO ORTOGONÁLNÍ PROKLÁDÁNÍ... 18 5.5.1. Metoda evoluce... 18 5.5.2. Metoda normál... 19 5.5.3. Momentová metoda... 19 5.5.4. Metoda náhodného výběru... 19 5.6. VEŘEJNÉ SOFTWARY K ORTOGONÁLNÍMU PROKLÁDÁNÍ... 20 5.7. KOMERČNÍ SOFTWARE K ORTOGONÁLNÍMU PROKLÁDÁNÍ V OBLASTI GEODÉZIE... 20 5.8. NORMA ČSN EN ISO 10360-6... 21 6. MOTIVACE KE VZNIKU KNIHOVNY SPATFIG... 22 7. CÍLE DISERTAČNÍ PRÁCE... 23 8. METODY A STAV ŘEŠENÍ CÍLŮ DISERTAČNÍ PRÁCE... 24 8.1. VÝBĚR NEJVHODNĚJŠÍ METODY... 24 8.2. KNIHOVNA SPATFIG... 24 8.2.1. Použitá licence... 25 8.2.2. Použitý programovací jazyk a knihovny... 25 8.2.3. Implementované geometrické útvary... 25-2 -
0. Seznam často použitých akronymů Katedra speciální geodézie 8.2.4. Implementace SPATFIGU v C++... 25 8.2.5. Možnost rozšíření funkcí... 27 8.3. TESTOVÁNÍ KNIHOVNY SPATFIG... 27 8.3.1. Generátor měření... 27 8.3.2. Srovnání s komerčními produkty... 27 9. OSTATNÍ PROJEKTY... 31 9.1. LASEROVÝ A OPTICKÝ ROTAČNÍ SKENER LORS... 31 9.2. ZKOUMÁNÍ NEČEKANĚ VELKÝCH ODCHYLEK MODELOVÝCH PARAMETRŮ NĚKTERÝCH GEOMETRICKÝCH ÚTVARŮ... 32 9.3. VYŠETŘOVÁNÍ SMĚRODATNÝCH ODCHYLEK DÉLEK A SMĚRŮ U LASEROVÝCH SKENOVACÍCH SYSTÉMŮ... 32 10. ZÁVĚR... 34 10.1. DŮLEŽITÉ POZNÁMKY... 34 11. VLASTNÍ PŘÍNOS AUTORA STUDIE... 36 11.1. REALIZOVANÉ PROJEKTY... 36 11.2. ČÁSTEČNĚ REALIZOVANÉ PROJEKTY... 36 11.3. BUDOUCÍ PROJEKTY REALIZOVANÉ V RÁMCI DISERTAČNÍ PRÁCE... 36 12. POUŽITÁ LITERATURA... 37 13. VLASTNÍ PUBLIKACE... 39 Seznam často použitých akronymů GÚ geometrický útvar LORS laserový a optický rotační skener LSS laserové skenovací systémy OP ortogonální prokládání - 3 -
1. Úvod Katedra speciální geodézie 1. Úvod V průběhu druhé poloviny devadesátých let se v geodézii objevila technologie laserového skenování. Od začátku 21. století již můžeme hovořit o jejím běžném komerčním nasazení. Tato technologie ohromila obrovskou efektivností sběru dat. Laserové skenovací systémy (LSS) dokážou při využití pulsní dálkoměrné technologie měřit tisíce bodů a při využití fázové technologie desetitisíce bodů za vteřinu. Po čase používání LSS se však ukázalo, že jejich "úzkým hrdlem" je zpracování naměřené množiny bodů (tzv. mračna bodů). Existující projekty často obsahují stovky miliónů bodů a poměr mezi dobou sběru dat a jeho zpracováním se pro běžné aplikace uvádí 1/10 až 1/100. Doposud nevyřešeným problémem LSS je jejich kalibrace. U klasických teodolitů se metodika kalibrace vyvíjela desetiletí a obsahuje značně sofistikované metody. Naproti tomu jsou kalibrační metody LSS teprve v počátcích vývoje. Existuje zde jistá podobnost LSS a totálních stanic s pasivním odrazem, u nichž je ale výhodou snazší manipulace. Problémem LSS je také neznalost jejich vnitřních principů, které výrobci z konkurenčních důvodů tají. Stejně tak jsou utajovány algoritmy ke zpracování naměřených dat. Z těchto a dalších důvodů výrobci u LSS neuvádějí běžné charakteristiky přesnosti zaměřených bodů. Hardwarové řešení LSS nelze blíže studovat, protože se jedná o uzavřenou "černou skříňku". Oblastí, kde je možnost aspoň částečně poodhalit komerční řešení, je software. Ten je možno rozdělit do několika základních kategorií: nástroje k práci s mračnem bodů registrace mračen z různých stanovisek, úpravy mračen z hlediska hustoty a členitosti bodů, segmentace mračna, nástroje pro prokládání geometrických útvarů použití pro matematicky jednoduše definovatelné křivky a plochy nástroje pro vytváření a práci s trojúhelníkovými sítěmi a non-uniform rational B- splines (NURBS) pro nepravidelné křivky a plochy nástroje pro práci s texturami obrázky ze skeneru nebo z externích zdrojů V předkládané studii je přiblížena druhá uváděná skupina nástrojů, tedy problematika prokládání geometrických útvarů množinou bodů v souladu s metodou nejmenších čtverců. Znalost a programové zpracování této problematiky může být využito k pokročilým účelům. Jedná se například o modelování procesu měření skenovacího sytému a vyhodnocení naměřených dat za účelem prognózy chyb nebo o analýzu přesnosti LSS založené na vyhodnocení zaměřených geometrických útvarů, u kterých jsou známy modelové parametry. V práci je představena veřejná knihovna tříd a funkcí SPATFIG, která slouží k ortogonálnímu prokládání geometrických útvarů a kterou vytváří autor studie. - 4 -
2. Definice problému Katedra speciální geodézie 2. Definice problému V prostoru R n je dáno m bodů. Je dána funkce v implicitním tvaru: nebo parametrickém tvaru: σ F (, ax) = 0 Xa (, u) = dppd, (3) 2 T T 0 2 T T σ 0 ( ) ( ), (1), (2) kde a je sloupcový vektor neznámých modelových parametrů dimenze p, X je sloupcový vektor daných bodů dimenze (m n, 1) a u je vektor parametrů (parametrického popisu geometrického útvaru). Úkolem algoritmu je určení hodnot parametrů a tak, aby byla minimalizována zadaná funkce. V případě prokládání geometrických útvarů (dále GÚ) se jedná o funkci: nebo o funkci: = X-X P P X-X. (4) d je sloupcový vektor ortogonálních (nejkratší vážená geometrická) vzdáleností mezi danými body X i a odpovídajícími body na GÚ X i, P T P je váhová matice nebo matice váhových koeficientů (Q -1 ), P je nesingulární symetrická matice a X' je sloupcový vektor souřadnic bodů na útvaru odpovídajících bodům vektoru X. Funkce (σ 0 / r), kde r značí počet stupňů volnosti, je tzv. směrodatná odchylka jednotková aposteriorní. Matici P je možné získat odmocninou z matice váhových koeficientů. Odmocninu z pozitivně definitní matice lze vypočítat pomocí její diagonalizace, odmocnění diagonální matice vlastních čísel a zpětném roznásobení: Q = P P -1 T T T PP=VλV = T 1/2 T 1/2 (P P) V λ V=P, (5) kde V je matice vlastních vektorů a λ je diagonální matice vlastních čísel. Uvedená problematika se v zahraniční literatuře nazývá například geometrické prokládání (geometrical fitting), Euklidovské prokládání (Euclidean fitting), regrese podle ortogonálních vzdáleností (orthogonal regression), obecněji nelineární regrese nebo prokládání podle ortogonálních vzdáleností (orthogonal distance fitting). V prácí bude užíván zkrácený poslední uvedený termín ve formě "ortogonální prokládání" (dále OP). - 5 -
3. Možnosti využití ortogonálního prokládání Katedra speciální geodézie 3. Možnosti využití ortogonálního prokládání Možnosti využití OP jsou velmi široké a rozsah rozměrů jeho aplikování je od nanometrů (trajektorie částic ve fyzice částic) po tisíce světelných let (trajektorie kosmických těles v astronomii). OP je používáno všude tam, kde je nutné prokládat křivky nebo plochy nadbytečným počtem měření. Podle [ 4] lze uvést například tyto aplikační oblasti a konkrétní využití: inženýrská geodézie, strojírenství: reverzní inženýrství a modelování souřadnicová metrologie: základní cíl je přesné určení modelových parametrů astronomie: určování trajektorie (orbitu) kosmického tělesa (první aplikace C. F. Gaussem na planetce Ceres) fyzika částic: OP křivek trajektorií částice oddělené z atomu v akcelerátoru počítačové a přístrojové vidění: rozpoznávání vzorů z 2D snímků nebo 3D mračna bodů, interpretace scén a rekonstrukce objektů robotika, sportovní a zábavní průmysl: analýza pohybu pomocí prokládání křivek skupinou zaměřených bodů Pro úplnost lze uvést, že autor studie se poprvé k problematice OP dostal při vývoji LSS LORS (laserový a optický rotační skener, viz. kap. 9.1), kde bylo nutné při konfiguraci systému řešit OP roviny laseru a dále kružnice ve 3D při určování osy točny. Vzhledem k zaměření autora studie je práce orientována zejména na první dvě uvedené aplikační oblasti. Z praktického hlediska to znamená, že není nutné brát ohled na zpracování v reálném čase. Dále je tím přibližně vymezen seznam útvarů nezbytně nutných k implementaci. V následné tabulce je uveden seznam útvarů implementovaných ve dvojici nejrozšířenějších softwarů pro zpracování mračna bodů. Jedná se o software Cyclone dodávaný firmou Leica k LSS HDS a 3Dipsos dodávaný firmou Trimble k LSS Mensi. Tabulka je doplněna útvary definovanými v normě ČSN EN ISO 10360-6, která slouží k posuzování vyhodnocovacího softwaru v souřadnicové metrologii (viz. kap. 5.8) a útvary implementovanými autorem studie v knihovně SPATFIG. - 6 -
3. Možnosti využití ortogonálního prokládání Katedra speciální geodézie 2D útvar Cyclone 5.1 (Leica) 3Dipsos 3.0.3 (Trimble) ISO 10360-6 SPATFIG přímka úsečka kružnice část kružnice elipsa část elipsy složená křivka rovina 3D útvar koule válec prstenec s kružnicovým průřezem prstenec s obdélníkovým průřezem kužel excentrický kužel elipsoid kvádr jehlan extruze (protažení) 2D útvaru kloub roh Tab. 1 Útvary implementované v Cyclonu, 3Disposu, ISO 10360-6 a SPATFIGU Pro útvary uvedené v tabulce jsou většinou implementovány proložení za různých doplňujících podmínek, takže celkový počet možných proložení je výrazně vyšší. Jako příklad doplňujících podmínek lze uvést daný poloměr pro všechny útvary s poloměrem (kružnice, koule, válec, kužel), proložení vodorovných, svislích nebo kolmých rovin, proložení přímek ležících v dané rovině a další. - 7 -
4. Historický vývoj metod prokládání Katedra speciální geodézie 4. Historický vývoj metod prokládání Prvním předpokladem výpočtu OP bylo vymyšlení metody nejmenších čtverců. Tuto matematickou metodu vytvořil roku 1795 německý matematik C. F. Gauss. 4.1. Další metody prokládání Před nástupem metody OP se většinou používaly různé náhradní funkce k prokládání. To bylo způsobeno jednak nedostatečným výpočetním výkonem a jednak i teoretickou složitostí OP. Nejdůležitější je klasifikace podle metody prokládání, i když náhradní metody k OP pomalu ztrácejí své opodstatnění. První a nejjednodušší náhradní funkcí je tzv. algebraické prokládání. Ta je založena na algebraické vzdálenosti, která je minimalizována: m 2 min F ( ax, ). (6) a i= 1 Jak je vidět u algebraického prokládání, je minimalizována přímo implicitní funkce v základním tvaru (1). Další možností je minimalizování upravené implicitní funkce ve tvaru: min a m i= 1 i 2 F ( a, Xi ), (7) F ( i ) a, X kde v znamená l 2 normu vektoru v (někdy nazývána Euklidovská norma). Tato metoda se nazývá normalizované algebraické prokládání nebo podle autora "Taubin s fitting". Pro úplnost je uvedena i funkce OP ve stejném tvaru: min m m a,{ Xi } i = 1 i = 1 což je jen jiná forma zápisu (3) nebo (4) bez uvedení vah. i i 2 X X, (8) Tyto metody jsou srovnány v několika pracích například [ 4], [ 10] a [ 11]. Hlavní výhodou metod algebraického prokládání a normalizovaného algebraického prokládání je snadná definice funkce vzdálenosti, která se v sumě čtverců minimalizuje. V případě algebraického prokládání je touto funkcí přímo implicitní rovnice útvaru a v případě normalizovaného algebraického prokládání je to implicitní funkce lomena l 2 normou gradientu. Pro algebraické prokládání existuje vždy uzavřené analytického řešení pro výpočet definované vzdálenosti. V případě OP existuje uzavřené analytické řešení jen pro nejjednodušší útvary. V případě řešení OP při neexistenci uzavřeného řešení je výpočet ortogonální vzdálenosti nejvíce náročnou částí. Proto je v těchto případech OP mnohem náročnější na výpočetní výkon. Podle [ 11] je OP přibližně 2x-20x náročnější než normalizované algebraické prokládání. Mezi zásadní nevýhody algebraického prokládání patří: definice chyb není v souladu s principem měření není zřejmá interpretace algebraické vzdálenosti - 8 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie pro útvary vyššího než druhého stupně (kvadratické plochy, ) neexistuje efektivní metoda k získání fyzických parametrů (tvar, velikost, pozice, ) z algebraických parametrů parametry modelu nejsou nezávislé na souřadnicových transformacích Z výše uvedeného srovnání různých prokládacích metod je zřejmé, že algebraické prokládání a normalizované algebraické prokládání téměř nemá v dnešní době opodstatnění. V některých případech může být pouze použito pro přibližné řešení některých parametrů pro OP. 5. Současný stav ortogonálního prokládání Zhruba před sto lety bylo vyřešeno K. Pearsonem OP roviny a přímky v uzavřeném analytickém tvaru s použitím momentové metody. Tato metoda je dodnes používána, protože přímka a rovina často slouží jako vhodná aproximace před OP složitějšími GÚ. Až na několik výjimek pro nejjednodušší útvary (koule, kružnice, elipsa) je nutné OP řešit iterativně. Proto byl další rozvoj těchto algoritmů možný až s nástupem osobních počítačů v 80. letech 20. století. V té době se objevuje několik obecných algoritmů pro OP, které mají z hlediska dnešních požadavků vždy nějaké nedostatky. V současnosti probíhá v oblasti OP bouřlivý vývoj, který nastartoval nástup používání osobních počítačů. V souladu s růstem výkonnosti výpočetní techniky a možností vývojových prostředků (programovací jazyky, vývojové prostředí) rostou i možnosti a aplikace OP. Tento nárůst výpočetního výkonu ovlivňuje oblast OP přímo i nepřímo. Přímým důsledkem je, že výpočetní výkon je na dostatečné úrovni, aby bylo možné počítat OP pro velké množiny bodů i pro velmi složité útvary bez uzavřeného analytického řešení pro výpočet ortogonální vzdálenosti. Pro menší počty bodů a jednodušší útvary s uzavřeným analytickým řešením pro řešení ortogonální vzdálenost je možné počítat OP v reálném čase. Nepřímým důsledkem je výrazné navýšení počtu aplikací pro OP v dalších oblastech závislých na výpočetním výkonu a na možnostech technologií. Jedná se zejména o oblasti vývoje robotů, automatizace výroby, laserové skenovací systémy a další (viz. kap. 3). 5.1. Možnosti klasifikace metod ortogonálního prokládání Pro potřeby formálního rozdělení dále uváděných metod je nutná určitá forma klasifikace. 5.1.1. Klasifikace podle tvaru funkce Většinu GÚ (jak ploch tak křivek) je možné vyjádřit ve třech různých tvarech: explicitní tvar: Z = F( a, X, Y) implicitní tvar: F( ax, ) = 0 parametrický tvar: Xau (, ) Tvary GÚ lze mezi sebou snadno převádět. Explicitní tvar je nejméně vhodný, protože může nabývat pouze jednu hodnotu pro explicitní souřadnici. Proto s jeho použitím nelze popisovat celé uzavřené GÚ. - 9 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie Implicitní tvar je vhodný pro všechny typy GÚ kromě prostorových křivek. Prostorové křivky jsou totiž v implicitním tvaru definovány jako průsečík dvou implicitních ploch. Použitelných kombinací těchto ploch ale může být větší množství a obecně jsou přeparametrizovány. Proto musí být zavedeny doplňující podmínky, které ale mohou být v extrémních případech omezující. Některé užitečné křivky nemohou být vhodně implicitně popsány vůbec (šroubovice). Nejobecnější popis geometrických útvarů umožňuje parametrický tvar. Pro některé plochy je ale méně vhodný než tvar implicitní. 5.1.2. Klasifikace podle rozdělení modelových parametrů Parametry popisující GÚ mohou souhrnně popisovat tvar a polohu. Potom vektor parametrů značíme b. Z hlediska další práce s proloženým GÚ je vhodnější rozdělení parametrů na parametry popisující tvar GÚ a polohu GÚ. V metodách, které pracují s parametry tímto způsobem, budeme vektor parametrů značit a. Parametry polohy budeme dále rozdělovat na parametry posunu a rotace (shodnostní transformace). Vektor parametrů a dimenze p tedy obsahuje parametry tvaru a g dimenze l, parametry posunu a p dimenze n a parametry rotace a r dimenze s. Platí tedy vztahy p=l+n+s a vektor a lze psát ve tvaru (a g T, a p T, a r T ) T. 5.1.2.1. Transformace Pokud je uvažováno dělení parametrů, potom je součástí metody OP transformace a výpočet ortogonálních bodů se děje v transformovaném souřadnicovém systému. Implicitní a parametrické funkce GÚ získávají místo tvarů (1) a (2) tvary: a X ag x ag x ap ar X) ag R(X-X 0 F(, ) f(, ) = f(, (,, ) = f(, ) = 0, Xa R xa u X -1 (, u ) ( g, ) + 0. (9) Znak označuje shodnost plynoucí z definice. A transformace mají tvar: X=X + R x, x=r(x-x ωϕκ,, 1 0 0 R=R = ( r r r), R = R x y z a X a T -1 T T T p = 0 = ( X 0, Y0, Z0) and r= ( ωϕκ,, ) ) (10) 5.1.3. Klasifikace podle minimalizované funkce V kap. 2 byly uvedeny dvě funkce, jejichž minimalizace řeší hledané modelové parametry. Funkce jsou totožné, pokud není uvedena kovarianční matice měření a nebo je jednotkovou maticí. 5.1.3.1. Délkový algoritmus T První algoritmus pracuje s funkcí (3) σ = dppd. Jak již bylo uvedeno v kap. 2 je d 2 T 0 vektor ortogonálních vzdáleností a jeho dimenze je m. Matice P T P je matice váhových koeficientů pro jednotlivé body v tomto případě pochopitelně rozměru (m, m). Je zřejmé, že váhy mohou být přiděleny pouze jednotlivým bodům a nikoliv souřadnicím. Stejně tak mohou být zavedeny korelace pouze mezi jednotlivými body a ne mezi souřadnicemi. Tento algoritmus budeme nazývat "délkový algoritmus" - 10 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie 5.1.3.2. Souřadnicový algoritmus 2 T T Tento algoritmus pracuje s funkcí (4) σ 0 = ( X-X ) P P( X-X ). V souladu s kap. 2 je X' sloupcový vektor souřadnic bodů na útvaru, které odpovídají daným bodům vektoru X. Matice P T P je opět matice váhových koeficientů, v tomto případě pro jednotlivé souřadnice, má tedy rozměr (n m, n m). Tento algoritmus budeme nazývat "souřadnicový algoritmus". Je zřejmé, že souřadnicový algoritmus je zobecněním délkového algoritmu. Jeho nevýhodou je vyšší paměťová náročnost a složitější implementace nových GÚ. (4). 5.1.4. Klasifikace podle způsobu řešení Existují dva základní způsoby jak řešit nelineární problém formulovaný vzorcem (3) a 5.1.4.1. Metoda odděleného určení proměnných Název první metody můžeme přeložit jako "metoda odděleného určení proměnných". Jedná se o dvoukrokové řešení. Nejprve je v tzv. "vnitřní iteraci" nalezen ke každému zadanému bodu příslušný ortogonální (geometricky nejbližší) bod. Pokud neexistuje uzavřené analytické řešení, je nutné tyto body hledat iterativně. Potom je tato část metody nejnáročnější na výpočetní výkon. V druhém kroku tzv. "vnější iteraci" jsou hledány modelové parametry a. Vnitřní a vnější iterace se opakuje, dokud není splněno zadané kritérium pro přírůstek modelových parametrů. Vnější iterace je analogií metody vyrovnání zprostředkujících měření z teorie vyrovnávacího počtu (viz. [ 17]). Zprostředkující měření jsou v této analogii ortogonální vzdálenosti a minimalizované neznámé jsou modelové parametry a. Matice normálních rovnic má dimenzi vektoru a, tedy (p, p). 5.1.4.2. Metoda současného určení proměnných Druhou metodu je možno přeložit jako " Metoda současného určení proměnných". Tato metoda řeší nelineární problém v jediném kroku. Metoda je analogií metody podmínkového vyrovnání s neznámými (viz. [ 17]). Matice normálních rovnic má dimenzi rovnu počtu měření v součtu s počtem neznámých, tedy (m+p, m+p) pro rovnici (3) a (3m+p, 3m+p) pro rovnici (4). Z toho je zřejmé, že pokud není použit algoritmus pro práci s řídkými maticemi, je tato metoda velmi nevhodná z důvodu výpočetní a paměťové náročnosti. Při uvažování logického požadavku m>>p je výpočetní a paměťová náročnost řádu O(m 3 ), zatímco u metody odděleného určení proměnných je řádu O(m). 5.2. Současné požadavky na metodu ortogonálního prokládání S přihlédnutím k faktům uvedeným v kap. 5.1 lze současné požadavky na metodu OP shrnout: prokládání obecných GÚ v implicitním a parametrickém tvaru (viz. kap. 5.1.1) rozdělení modelových parametrů na tvarové a polohové parametry (viz. kap. 5.1.2) robustní a rychlá konvergence - 11 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie nízká výpočetní a paměťová náročnost snadná implementace nových GÚ 5.3. Skupiny pracující na vývoji algoritmu ortogonálního prokládání V současné době se věnuje metodám OP několik skupin autorů. V následujícím přehledu budou uvedeny nejaktivnější skupiny pracující v oblasti OP a jejich přístupy. V závěru budou přístupy srovnány a bude zvolen nejvhodnější algoritmus, který bude implementován do knihovny SPATFIG. 5.3.1. S. J. Ahn a kolektiv Tato skupina z institutu IPA 1 pří stuttgartské univerzitě se začala problematice věnovat kolem roku 1999. Od tohoto roku jsou datovány jejich publikace týkající se OP. Některé zveřejněné publikace jsou [ 1], [ 2] a [ 3]. Práce této skupiny je shrnuta v disertační práci S. J. Ahna [ 4]. V této práci jsou uvedeny dvě prokládací metody pro GÚ v implicitním tvaru a tři pro GÚ v parametrickém tvaru. Uváděné metody jsou shrnuty v následující tabulce (S je označení GÚ): Metoda současného určení proměnných Metoda odděleného určení proměnných délkový algoritmus Algoritmus II T T min min p m a R { X } S i i= 1 ( dppd) souřadnicový algoritmus min m,{ X } p a R i S i= 1 Algoritmus I T T (( X-X ) P P( X-X )) Algoritmus III T T min min X-X p m a R { X } S i i= 1 Tab. 2 Dělení algoritmů podle S. J. Ahna (( ) P P( X-X )) Algoritmus II a III je definován jak pro implicitní, tak pro parametrické vyjádření GÚ. Algoritmus I pouze pro parametrické tvary. Podle S. J. Ahna a kolektivu algoritmy II a III konvergují rychleji a jsou robustnější než algoritmus I. S algoritmem I je taky spojena vysoká výpočetní a paměťová náročnost, pokud není použit nástroj pro práci s řídkými maticemi (viz. kap. 5.1.4). Pokud srovnáme algoritmy II a III, autoři uvádějí zhruba stejné vlastnosti z hlediska rychlosti konvergence a robustnosti. Výrazně lepší chování má algoritmus III při OP prostorových křivek (řešeno pouze pro parametrický tvar). Naopak jeho nevýhodou je složitější implementace nového GÚ. V případě implicitních tvarů je potřeba u algoritmu II pouze první derivace implicitní funkce v základním tvaru podle modelových parametrů f a a gradient f. V případě algoritmu III je nutná druhá derivace g f x a smíšená druhá derivace f a g. 1 Fraunhofer Institute for Manufacturing Engineering and Automation - 12 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie V případě parametrického vyjádření GÚ je situace podobná. I druhý algoritmus potřebuje 2 pro implementaci nového GÚ první a druhou derivaci ( x u, x a g, x III dále potřebuje druhou smíšenou derivaci ( 2 x u a g ). 2 u ). Algoritmus Z důvodů uvedených výše a v odstavci 5.3.2 byl k implementaci v knihovně SPATFIG zvolen algoritmus III. Detaily tohoto algoritmu budou uvedeny v kap. 5.4. 5.3.2. A. Atieg a G. A. Watson Tito autoři z matematické katedry university v Dundee ve Skotsku 1 uveřejnili několik článků týkajících se OP. Jedná se například o publikace [ 5], [ 6], [ 7] a [ 8]. V publikaci [ 5] jsou shrnuty existující metody k OP. Dvě základní metody zde uvedené principiálně odpovídají dělení podle kap. 5.1.3 a v publikaci jsou označovány jako Gauss- Newtonovo řešení v R m pro délkový algoritmus (kap. 5.1.3.1) a Gauss-Newtonovo řešení v R n m pro souřadnicový algoritmus (kap. 5.1.3.2). Dále podle výše uvedené klasifikace metod v kapitole 5.1 obě srovnávané metody pracují s implicitními i parametrickými tvary a obě používají odděleného určení proměnných (kap. 5.1.4.1) Z hlediska rozdělení modelových parametrů (kap. 5.1.2) jsou parametry a odděleny na parametry tvarové a g a parametry transformace, i když oproti metodám v kap. 5.3.1 je definice problému trochu odlišná. Při popisu metody řešení v R m vychází autor z množství prací z komunity pracující v oblasti souřadnicové metrologie, např. [ 9]. Při popisu metod řešení v R n m vychází autoři zejména z práce skupiny S. J. Ahna (viz. kap. 5.3.1). S. J. Ahn ve své disertační prácí [ 4] nicméně uvádí obě metody řešení (v R m i v R n m ). V závěru je uvedeno srovnání obou metod pro OP. Srovnání je v souladu se závěry v [ 4]. Řešení v R n m je posuzováno jako efektivnější pro křivky v prostoru. V ostatních případech jsou obě metody srovnatelné. Výhodou řešení v R m je naopak snadnější implementace nových GÚ (není nutný výpočet druhých derivací v implicitním tvaru a smíšených druhých derivací v parametrickém tvaru) a nižší paměťová náročnost (dvakrát nižší v 2D a třikrát ve 3D). 5.3.2.1. Nekompletní ortogonální prokládání Z hlediska volby základního algoritmu pro knihovnu SPATFIG, vytvářenou autorem studie, je velmi důležitá publikace [ 6], která se zabývá tzv. "nekompletním OP". Tímto termínem je myšleno OP GÚ, kde neexistuje ke každému zadanému bodu X i odpovídající ortogonální bod na GÚ X i. Tato situace může nastat často v praxi, pokud je prokládán GÚ s určitým omezením (úsečka, válec dané délky atp.). V takovýchto případech je vybrána přirozená alternativa geometricky nejbližší bod na GÚ. V závěru práce je prezentováno zjištění, že rozšířené řešení problému v R n m je mnohem vhodnější než rozšířené řešení v R m. To je způsobeno zejména špatnou podmíněností druhého řešení v případě téměř ortogonální vzdálenosti (tato situace bude v praxi velmi častá). I v ostatních případech je první řešení rychlejší. Skutečnosti uvedené v předchozím odstavci jsou dalším důvodem k volbě metody řešení v R n m v knihovně SPATFIG. V současnosti sice není nekompletní OP v knihovně zpracováno, jeho implementace je logických zobecněním stávající metody. 1 Department of Mathematics, University of Dundee, Scotland - 13 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie 5.3.3. P. Faber a R. B. Fisher Tato skupina z katedry informatiky Edinburghské univerzity ve Skotsku 1 uvedla několik prací srovnávajících algebraické prokládání, normalizované algebraické prokládání a OP (viz. kap. 4.1, [ 10] a [ 11]). Jejich další práce se zabývá přímou (neiterační) metodou OP elipsy [ 12]. 5.3.4. G. Lukács, A. D. Marshal a R. R. Martin Tato skupina z katedry počítačových věd z Cardiffské univerzity ve Velké Británie 2 publikovala několik prací týkajících se OP konkrétních kvadratických GÚ (viz. [ 13] a [ 14]). Jedná se o kouli, válec, kužel a torus. Nejedná se tedy o obecné metody OP GÚ jako v případě kap. 5.3.1 a 5.3.2. Navržená originální metoda je založena na nahrazení původní ortogonální vzdálenosti pomocnou funkcí podobných vlastností (nulová hodnota pro body ležící na GÚ a stejná první derivace v bodech na povrchu GÚ). Dalším specifikem metody je eliminace nadbytečných parametrů pomocí podmínky, která je u některých tvarů GÚ nutná a slouží k odstranění nejednoznačnosti vyjádření GÚ. Vyjádření GÚ je tedy jednoznačné a k jeho výpočtu iterativní metodou je možné použít přímou metodu bez zavedení podmínek (například pomocí Lagrangeových multiplikátorů). Tyto speciální metody nebyly v literatuře porovnány z hlediska robustnosti a rychlosti konvergence s obecnými metodami uvedenými v kapitolách 5.3.1 a 5.3.2. Proto by bylo vhodné v rámci disertační práce toto srovnání provést. 5.4. Algoritmus III V kapitole 5.3 byly představeny základní skupiny metod k OP rozdělené podle autorů a vlastností. V kapitole 8.1 jsou tyto vlastnosti shrnuty a jako nejvhodnější je vybrána metoda, kterou její autor označil jako Algoritmus III. Tato metoda tedy byla vybrána k použití v knihovně SPATFIG. Proto si na dalších řádcích popíšeme podrobněji její matematické řešení. 5.4.1. Maticová formulace řešení Nejprve si znovu uveďme základní funkci, kterou je nutné minimalizovat: (4) 2 T σ 0 = ( X-X ) P T P( X-X ). Základní nutnou podmínkou minimalizace této funkce je: kde T 2 T T σ 0 = 2 JPPX-X ( ) = 0, (11) a X J= (12) a je tzv. Jacobiho matice. Tyto rovnice mohou být řešeny Gauss-Newtonovou iterační metodou (viz. [ 16]) ve tvaru normálních rovnic: 1 Division of Informatics, University of Edinburg, Scotland 2 Department of Computer Science, Cardiff University, UK - 14 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie JPPJ Δ a= JPPX-X ( ), a = a + T T T T k k k+ 1 k α Δa, (13) kde α je vhodně zvolené číslo menší nebo rovno jedné (ve SPATFIGU α = 1). Pokud bude použita metoda singulární dekompozice (viz. [ 16] a [ 26]), je možné řešit přímo rovnice návrhu ve tvaru: PJ Δ a = P( X - X ), a = a + α Δa. (14) k k k+ 1 k Gauss-Newtonova iterace bude ukončena při dosažení podmínky: Δa k, (15) kde Δa je l 2 norma vektoru, Δa a k je vhodně zvolené číslo (ve SPATFIGU k = 10-6 ). Pokud je v algoritmu potřeba splnit určitou podmínku pro hledané parametry, je navržen způsob pomocí velkých vah (ve SPATFIGU 10 6 ). Potom se rovnice (14) změní na tvar: ( ) const PJ PX-X ( ) fc Δ a=, J c =, (16) WJ -Wc( fc( a) - const c c ) a kde f a - = 0je vektor podmínek pro modelové parametry, W c je matice druhých c odmocnin vah jednotlivých podmínek (ve SPATFIGU 10-3 ). 5.4.2. Hledání ortogonálního bodu v implicitním tvaru Hledání ortogonálního bodu je nejvíce problematická část této metody. V knihovně SPATFIG nebyl zatím implementován GÚ, u kterého nebylo známo uzavřené analytické řešení pro hledání ortogonálního bodu, takže tato část metody zatím není ve SPATFIGU zavedena. Z těchto důvodů bude popis této části stručnější. S.J. Ahn uvádí dvě možnosti hledání ortogonálního bodu. 5.4.2.1. Newtonova metoda Nutnou podmínkou pro ortogonální bod x i ' na povrchu implicitního GÚ je rovnoběžnost normály v tomto bodě se spojnicí s bodem daným. To lze zapsat ve tvaru: f ( x x ) = 0, (17) kde je gradient, je vektorový součin, x i je daný bod a x je bod na f. Hledaný ortogonální bod musí na povrchu GÚ tedy musí splňovat podmínku: Tato podmínka je řešená Newtonovou metodou: f x i f f(ag, xi, x) = = 0, (18) f ( xi x) Δ x= -f( x), x = x + α Δx k k k+ 1 k Někdy je vhodné podmínku, že bod x leží na povrchu GÚ (podmínka f) zeslabit pomocí nižší váhy. Iterace začíná z daného bodu x i. (19) - 15 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie 5.4.2.2. Metoda Lagrangeových multiplikátorů Druhou možnou formulací problému je hledání minima funkce pro x: za podmínky f (x) = 0. Lagrangeova funkce má tvar: Podmínka minima je: T ( x-x) ( x-x), (20) L λ x x -x x T (, ) ( i ) ( i i i -x) + λf( x) (21) L -2( xi -x) + λ f L = = 0 (22) f( x) λ Kromě těchto základních metod jsou v [ 4] uvedeny postupy na ověření ortogonálního bodu (protože podmínky (18) a (22) z principu iterují k lokálnímu extrému) a metody pro zrychlení jeho hledání. 5.4.3. Algoritmus III v implicitním tvaru geometrického útvaru Vyjdeme z vyjádření Jacobiho matice (12) odvozené z rovnice transformace (10). Pro jeden bod můžeme psát: X x R X = = + =. (23) x R T T 0 J X, [ ] i a R x a X= X a a a i x= x i T T = R + 0 I [ x i ] a x= xi ar I označuje jednotkovou matici. x a lze získat z podmínky pro ortogonální bod (18). Ta po derivaci nabude tvaru: f x f x f i = - + x a xi a a. (24) xi alze opět získat z rovnice transformace. Ostatní matice f x, f xi a f a se získají derivací z (18) a z lineárních kombinací chybového vektoru (x i x). Z důvodu jednoduššího zápisu autor této metody navrhl vytvoření matic FHG: f f f f F= f =,,, H= f, G= x y z x ag f S pomocí těchto matic lze automaticky naplnit matice f x, f xi a f a: (25) - 16 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie f f f x y z 0 0 0 f f 0 yi y ( xi x) 0 f y x = H+ x ( zi z) 0 xi x f f 0 0 zi z ( yi y) z x f f 0 z y 0 0 0 f f 0 y x f = f f x i 0 z x f f 0 z y 1 0 0 0 f 0 = yi y ( xi x) 0 ( G 0 0) a 0 ( zi z) 0 xi x 0 0 zi z ( yi y). Je vidět, že k implementaci nového GÚ v implicitním tvaru stačí vyjádřit derivace podle vztahů (25). Schéma Algoritmu III pro OP GÚ v implicitním tvaru je zobrazeno níže: (26) obr. 1 Schéma metody OP GÚ v implicitním tvaru - 17 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie 5.4.4. Algoritmus III pro geometrický útvar v parametrickém tvaru Z nedostatku prostoru v rámci studie nebude algoritmus hledání ortogonálního bodu ani naplnění Jacobiho matice pro parametrický tvar GÚ podrobně rozepsán. Principielně se jedná o obdobu prokládání v implicitním tvaru. Pro hledání ortogonálního bodu jsou opět navrženy dvě metody: Newtonova metoda a Levenberg-Marquardtova metoda se širším konvergenčním rozsahem. Jedinou povinností při implementaci nového GÚ v parametrickém tvaru je vyjádření matic XHG (obdoba FHG v implicitním tvaru): G 0 x x x x uu uv X= = ( x, x ), H=, G= G = x u u v x x 1 a u g vu vv G x 2 v Pro pochopení je uvedeno schéma Algoritmu III pro OP GÚ v parametrickém tvaru: (27) obr. 2 Schéma metody OP GÚ v parametrickém tvaru 5.5. Přibližné hodnoty pro ortogonální prokládání Jako pro každou iterativní metodu je nutné dodat pro OP přibližné počáteční hodnoty modelových parametrů. V přehledu metod uvedených v kapitole 5.3 je určením přibližných hodnot modelových parametrů věnován jen malý prostor. Proto bude nutné další studium specializovaných materiálů. 5.5.1. Metoda evoluce V pracích skupiny S.J. Ahna (kap. 5.3.1) je navržena metoda tzv. "evoluce modelů". Tato metoda je založena na postupném OP GÚ od nejjednoduššího v evoluční řadě až po požadovaný GÚ. Každý složitější GÚ přebírá z předcházejícího všechny společné parametry jako přibližné hodnoty. Typickým příkladem může být řada pro OP superelipsoidu: - 18 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie poloměr a délka os: b,c; úhly rot.: ω,ϕ,κ tvar: ε 1,ε 2 X 0 koule elipsoid superelipsoid Tab. 3 Evoluční řada superelipsoidu X 0 je těžiště (průměrný bod). Dalším krokem pro většinu GÚ bývá průměrná vzdálenost. V [ 4] jsou uvedeny čtyři logické evoluční řady. Nevýhodou evolučních řad je, že nejsou jednoznačné. Například pro podlouhlý válec je navržena řada "těžiště přímka válec" a pro úzký řez válcem evoluční řada " těžiště rovina kružnice válec". Algoritmus rozhodnutí, zda je množina bodů spíše rovinná, a nebo spíše přímková, není v práci uveden a jeho vytvoření může být složité. Na druhou stranu jsou metody uvedené v kap. 5.3.1 natolik robustní, že v provedených experimentech algoritmy konvergovaly i při zcela špatných odhadech některých parametrů. 5.5.2. Metoda normál V pracích [ 13] a [ 14] skupiny autorů prezentované v kapitole 5.3.4 je uvedena metoda výpočtu přibližných hodnot parametrů pomocí normál k povrchu definovanému mračnem bodů. Problém výpočtu vektoru osy rotačního útvaru ze čtyř bodů s normálami k povrchu je možné převést na řešení kvadratické rovnice. Dále je popsán přímý způsob výpočtu dalších parametrů. Nevýhodou této metody je náhodný výběr čtyř bodů, které mohou být zatíženy hrubými chybami nebo mohou být v nevhodné prostorové konfiguraci. 5.5.3. Momentová metoda V úvodu kapitoly 5 je uvedena tzv. momentová metoda pro OP přímky a roviny. Tato metoda je založena na výpočtu hlavních momentů setrvačnosti z tenzoru momentu setrvačnosti. V případě přímky je její vektor totožný s nejmenším hlavním momentem setrvačnosti a pro rovinu je normálový vektor roviny totožný s největším hlavním momentem setrvačnosti. V obou případech je určujícím bodem ležícím na útvaru těžiště. Tato metoda je přesnou a přímou metodou. V knihovně SPATFIG je použita jen pro první určení modelových parametrů přímky a roviny, protože nepracuje s kovarianční maticí souřadnic daných bodů. 5.5.4. Metoda náhodného výběru Volba přibližných hodnot modelových parametrů má z hlediska OP dva důvody. Jedním je zajištění konvergence metody a druhým je nižší počet iterací, a tedy vyšší rychlost výpočtu. První problém je zásadní a je částečně řešen volbou co nejrobustnější metody. Řešení druhého problému může být také velmi důležité. V uskutečněných experimentech se ukázalo, že pro velké počty bodů (cca sto tisíc) trvá jedna iterace na výkonném počítači desítky vteřin (GÚ s uzavřeným analytickým řešením). V knihovně SPATFIG je maximální počet iterací omezen na sto. Řekněme, že průměrný počet iterací je deset. Je zřejmé, že výpočtem OP pouze z výběru z daných bodů, např. z tisíce - 19 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie (výpočetní náročnost bude nižší úměrně nižšímu počtu bodů viz. kap. 5.1.4.2) a snížením počtu iterací s plným počtem bodů, dojde k výraznému zrychlení výpočtu. Tento přístup bude autorem studie využit v knihovně SPATFIG. 5.6. Veřejné softwary k ortogonálnímu prokládání Za nejzajímavější metody z pohledu autora studie lze považovat metody, které byly doplněny softwarem s veřejnou licencí. V [ 4] a [ 5] jsou uváděny práce P. T. Boggse a kolektivu [ 22] a D. Sourliera [ 23]. P.T. Boggs zveřejnil v roce 1989 softwarový balík ODRPACK. Metoda použitá v tomto softwaru popisuje útvary v explicitním tvaru, s čímž jsou spojeny nevýhody uvedené v kap. 5.1.1. Další nevýhodou je neoddělení modelových a pozičních parametrů (viz. kap. 5.1.2). Je rovněž použita metoda současného určení všech proměnných (viz. kap. 5.1.4). Posledním problémem je zdrojový kód v jazyce ANSI 77 Fortran, který autor studie neovládá. Druhý softwarový balík FUNKE uveřejnil D. Sourlier v roce 1995 jako součást své disertační práce. Tento software je z hlediska dnešních požadavků pokročilejší než ODRPACK. Jeho hlavní nevýhodou je stejně jako u ODRPACKU metoda současného určení všech proměnných a podle [ 4] špatná konvergence v případě málo přesných přibližných hodnot určovaných parametrů. FUNKE dále pracuje pouze s parametrickým vyjádřením GÚ. Zdrojový kód je napsán v jazyce C. Přes intenzivní snahu se mi nepodařilo získat zdrojový kód softwaru FUNKE ani aktuální kontakt na jeho autora D. Sourliera, což považuji za největší nevýhodu tohoto softwaru. 5.7. Komerční software k ortogonálnímu prokládání v oblasti geodézie Situace v soukromé sféře v oblasti OP je poněkud jiná než ve veřejné. Komerční softwarové aplikace k OP nepracují samostatně, ale tvoří skupinu nástrojů ke zpracování mračna bodů. Tento software pracuje v grafickém režimu a umožňuje interaktivní výběr části mračna bodů. Základní skupiny nástrojů v softwaru mohou být: nástroje k práci s mračnem bodů registrace mračen z různých stanovisek, úpravy mračen z hlediska hustoty a členitosti bodů, segmentace mračna, nástroje pro prokládání geometrických útvarů použití pro matematicky jednoduše definovatelné křivky a plochy nástroje pro vytváření a práci s trojúhelníkovými sítěmi a non-uniform rational B- splines (NURBS) pro nepravidelné křivky a plochy nástroje pro práci s texturami obrázky ze skeneru nebo z externích zdrojů Nástroje k OP většinou obsahují základní GÚ, které se mohou vyskytnout v praxi (viz. tab. 1). Některé softwary umožňují i tzv. "nekompletní OP" (viz. kap. 5.3.2.1). Hlavní nevýhody komerčního software jsou: není známa metoda ani algoritmus výpočtu (samozřejmě ani zdrojový kód), jedná se o tzv. "black box" (černá skříňka) software a to svým způsobem omezuje jeho kontrolu nepracuje s kovarianční maticí vstupních bodů - 20 -
5. Současný stav ortogonálního prokládání Katedra speciální geodézie nezobrazuje směrodatné odchylky a kovarianční matici vyrovnaných modelových parametrů neumožňuje implementovat další GÚ nemá variabilní rozhraní, které by umožňovalo automatizovat některé procesy OP nutné například pří hledání optimálních konfiguračních parametrů pomocí generování fiktivního měření vysoká pořizovací cena Mezi nejznámější software použitelný k OP patří: Cyclone Cloudworx 3Dipsos Polyworks Piper++ Název softwaru 3D-Extractor iqscene Vydavatel softwaru Leica Geosystems (Cyra Technologies) Leica Geosystems Trimble (Mensi) InnovMetric Software TU Delft CALLIDUS precision Systems FARO (iqsun GmbH, iqvolution AG) Tab. 4 Nerozšířenější komerční software k OP Autor studie se v krátkosti seznámil se softwary Cloudworx a 3D-Extractor. Hlubší zkušenost má se softwary Cyclone a 3Dipsos, které se řadí k nejpoužívanějším. K jejich rozšíření přispívá jednak fakt, že jsou distribuovány jako hlavní součást LSS (společně s hardwarem) a jednak to, že za jejich distribucí stojí největší firmy zabývající se geodetickou technikou (Trimble a Leica). Z těchto důvodů požádal autor studie obě firmy o zaslání informací ohledně použité metody prokládání. V žádosti byla uvedena skutečnost, že autor pracuje na disertační práci zabývající se tímto tématem a dále byly doplněny reference na nejdůležitější publikace z oblasti OP. Obě firmy odpověděly ve shodě, že jejich software používá metodu nejmenších čtverců a že další informace považují za soukromé vlastnictví a nemohou je poskytnout. Z těchto a dalších důvodů se autor rozhodl stručně otestovat uvedené softwary. "Překvapivé" výsledky jsou uvedeny v kap. 8.3.2. 5.8. Norma ČSN EN ISO 10360-6 Tato norma [ 19] vznikla podle [ 4] z důvodu významných rozdílů v softwaru k vyhodnocení dat ze souřadnicových měřicích systémů (další informace viz. [ 20]). Tyto nesrovnalosti vedly v 80. letech k tzv. "softwarové krizi" v této oblasti. Jedním z příčin byla také neochota společností produkujících souřadnicové měřící systémy zveřejňovat použité algoritmy. Z těchto důvodů vznikla na mezinárodní úrovni silná vůle k vytvoření metody k testování vyhodnocovacího softwaru souřadnicového měřícího systému bez požadavku na odkrytí použitého algoritmu. Tato snaha vyvrcholila právě vydáním normy ISO 10360-6 [ 18] v roce 2001 (v ČR 2002). - 21 -
6. Motivace ke vzniku knihovny SPATFIG Katedra speciální geodézie Tato norma stanovuje: metodu testování je založena na srovnání parametrů GÚ určených testovaným softwarem a referenčních hodnot z referenčního softwaru parametrizaci základních GÚ ve 3D (viz. tab. 1) a útvary ve 2D (přímka, kružnice) metoda určení modelových parametrů metoda nejmenších čtverců definice chybové funkce z důvodů uvedených v kap. 4.1 je to ortogonální vzdálenost způsob tvorby testovacího datasetu Informace týkající se generování datasetu k v souladu s normou ISO 10360-6 a s principy souřadnicových měřících systémů je možné najít např. v [ 21]. Důležitým faktem, který logicky souvisí s uvedenou normou, je podobnost souřadnicových měřících systémů a LSS. Oba systémy se sice liší kvalitou a kvantitou naměřených dat a principem jejich sběru, ale na druhou stranu jsou totožné z hlediska formy vstupních dat pro zpracování a z hlediska principu jejich zpracování. Lze předpokládat, že s postupem času se v oblasti zpracování dat pro LSS objeví stejné problémy jako v případě souřadnicových měřících systémů a že bude nutná určitá standardizace tohoto zpracování. Důkazem toho je, že ačkoli norma vznikla konkrétně pro oblast souřadnicových měřících systémů, tak se již dnes objevuje v pracích z oblasti LSS. 6. Motivace ke vzniku knihovny SPATFIG K myšlence vytvoření knihovny SPATFIG vedlo autora studie několik důvodů, z nichž je většina uvedena v kapitole 5.7 v odstavci nevýhod komerčních softwarů. Pro běžného uživatele nemusí být některé tyto nevýhody podstatné, ale autor zamýšlí používání OP k analýzám přesnosti LSS na základě zaměření GÚ s přesně známými modelovými parametry, k modelování procesu měření a vyhodnocení za účelem nalezení optimální konfigurace a k dalším pokročilým účelům. Dalším důvodem k realizaci SPATFIGU je skutečnost, že v současnosti není dostupné žádné vhodné softwarové řešení s veřejnou nebo volnou licencí (free software, open source dokonce ani freeware). - 22 -
7. Cíle disertační práce Katedra speciální geodézie 7. Cíle disertační práce Bodové členění cílů disertační práce doplněné o odkazy na příslušné kapitoly: 1. Vybrání nejvhodnější metody k ortogonálnímu prokládání. Vhodnost metody je posuzována na základě robustnosti, výpočetní a paměťové náročnosti a obtížnosti implementace nových geometrických útvarů. Viz. kap. 8.1. 2. Vytvoření knihovny tříd a funkcí SPATFIG k ortogonálnímu prokládání s veřejnou licencí (viz. kap. 8.2) volba programovacího jazyka, volba vhodné knihovny pro práci s maticemi a dalších potřebných knihoven implementace základních geometrických útvarů (v souladu s tab. 1) 3. Důkladné testování vytvořené knihovny (viz. kap. 8.3) vytvoření generátoru měření z laserového skenovacího systému srovnání s veřejným a komerčním softwarem 4. Vývoj laserového a optického rotačního skeneru LORS (viz. kap. 9.1) vyvinutí původního systému k hromadnému sběru prostorových dat důkladné otestování tohoto systému a analýza jeho přesnosti - 23 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie 8. Metody a stav řešení cílů disertační práce V této kapitole budou uvedeny metody a stav řešení jednotlivých cílů disertační práce uvedených v kap. 7. 8.1. Výběr nejvhodnější metody V bodě tři je uveden výběr nejvhodnější metody a jsou dána kritéria výběru. Jedná se o: robustnost (posouzení četnosti případů kdy metoda nekonverguje) výpočetní a paměťovou náročnost jedné iterace rychlost konvergence počet iterací obtížnost implementace GÚ možné formy GÚ, které jsou v metodě použitelné nutnost dalších úprav těchto tvarů derivace kterých řádů a podle kterých proměnných je nutno zavádět Kritéria jsou v souladu s požadavky na metodu k OP uvedené v kap. 5.2. Z těchto hledisek byly už jednotlivé metody posuzovány při jejich popisu v kapitole 5.3. Na základě tohoto posouzení se jeví jako nejvhodnější metoda uvedená v kap. 5.3.1 a v publikaci [ 4] jako "Algoritmus III". Jejím autorem deklarované a v [ 5] komentované vlastnosti jsou: možnost práce s implicitními a parametrickými tvary výpočetní a paměťová náročnost řádu O(m) rychlá konvergence v porovnání s ostatními metodami pro všechny požadované typy GÚ (implicitní a parametrické křivky ve 2D, implicitní a parametrické povrchy ve 3D, parametrické křivky ve 3D) středně náročná možnost implementace nových GÚ: implicitní: f, f a, f a a f x parametrický: g g 2 2 2 x u, x a, x u a x u a g g Výhodou této metody je její deklarovaná vhodnost pro další logické zobecnění metodu "nekompletní OP" (viz. kap. 5.3.2.1). Nevýhodou je vyšší paměťová náročnost než u obdobné metody založené na délkovém algoritmu (viz. kap. 5.1.3.2) a nutnost dodání druhých derivací k implementaci nového GÚ. V první verzi knihovny SPATFIG je implementována tato metoda. Důležitým faktem je, že všechny metody byly doposud hodnoceny pouze na základě zkušeností a závěrů uvedených autorů. Proto by bylo vhodné provést na základě uvedených kritérií vlastní porovnání alespoň těch nejzajímavějších metod. 8.2. Knihovna SPATFIG Základním výstupem disertační práce by měla být knihovna tříd a funkcí SPATFIG (jedná se o zkratku ze spojení "spatial figure" prostorový útvar). Tato knihovna by měla - 24 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie sloužit k ortogonálnímu prokládání geometrických útvarů ve 3D. Základní požadavky na knihovnu jsou samozřejmě totožné s požadavky na metodu OP (viz. kap. 5.2). 8.2.1. Použitá licence Ve čtvrtém bodě cílů disertační práce je uvedeno, že použitá licence by měla být veřejnou. Důvodem je snaha autora, aby knihovna mohla být bez obtíží používána co nejširším počtem uživatelů a přispěla tak jako prostředek k možnostem výzkumu v oblasti OP a LSS. Z veřejných licencí byla zvolena všeobecná veřejná licence GNU (GNU GPL 1 ), protože v knihovně jsou používány jiné knihovny s touto licencí (a jelikož je tato licence typu "copyleft", je povinností ji zachovat). 8.2.2. Použitý programovací jazyk a knihovny Jako programovací jazyk k tvorbě knihovny SPATFIG byl použit objektově orientovaný jazyk C++. Jedním z důvodů volby tohoto jazyka je existence velkého množství kvalitních knihoven s veřejnou licencí v potřebných zájmových oblastech (maticové výpočty, numerická matematika a další). Další důvod je obecně uznávaná rychlost sestaveného kódu. Použitá byla kromě standardních knihoven C/C++, ještě knihovna pro práci s maticemi "gmatvec" (viz. [ 25]). Tato knihovna obsahuje základní operace s maticemi a vektory. 8.2.3. Implementované geometrické útvary Ve stávající verzi knihovny SPATFIG jsou implementovány pouze základní GÚ (viz. tab. 1). Ve této tabulce jsou uvedeny GÚ implementované ve standardních softwarech pro zpracování mračna bodů. Ve verzi SPATFIGu, která bude předložena jako součást disertační práce, bude implementována většina GÚ v souladu se softwary Cyclone a 3Dipsos. Důležitým faktem zůstává, že u všech doposud implementovaných GÚ bylo možno vypočítat ortogonální vzdálenost v uzavřeném analytickém tvaru. 8.2.4. Implementace SPATFIGU v C++ Maticově vyjádřený algoritmus k implementaci byl uveden podrobně pro implicitní vyjádření GÚ a nastíněn pro parametrické vyjádření GÚ v kap. 5.4. V současné první verzi knihovny založené na metodě "Algoritmus III" jsou zatím implementovány GÚ uvedené v tab. 1. (přímka, kružnice, rovina, koule, válec) a dále některé útvary v rovině (kružnice_2d a přímka_2d). Pro útvary koule, válec a kružnice_2d je možnost zavedení podmínky známého poloměru. 1 GNU s Not Unix General public license - 25 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie Všechny používané třídy jsou vloženy v hlavičkovém souboru spat_fig.h: #ifndef spat_fig_spat_fig_h_ #define spat_fig_spat_fig_h_ #include<time.h> #include<gmatvec\gmatvec.h> #include<gmatvec\svd.h> #include<gmatvec\symmat.h> #include<gmatvec\bandmat.h> #include<iostream> #include<spat_fig\spat_fig_base.h> #include<spat_fig\plane.h> #include<spat_fig\sphere.h> #include<spat_fig\circle_2d.h> #include<spat_fig\line_2d.h> #include<spat_fig\line_3d.h> #include<spat_fig\circle_3d.h> #include<spat_fig\cylinder.h> #include<spat_fig\cone.h> #include<spat_fig\torus.h> #endif Implementace je v současné době tvořena bázovou abstraktní třídou "spat_fig_base". V této třídě jsou definované všechny společné datové členy a metody všech GÚ. Každý GÚ má vlastní třídu odvozenou od třídy spat_fig_base. V těchto třídách jsou naplněny matice FHG resp. XHG (viz. kap. 5.4.3 resp. 5.4.4), jsou řešeny přibližné hodnoty modelových parametrů většinou voláním GÚ níže položeného v evoluční řadě (viz. kap. 5.5.1) a ve pro vnitřní iteraci je vypočítán ortogonální bod (prozatím jen v uzavřeném řešení). Od těchto tříd jsou odvozeny třídy pro tyto GÚ s další podmínkou (poloměr atp.). Tyto třídy obsahují pouze doplnění Jacobiho matice o další řádky podmínek. Jedná se o třídy: spat_fig_base: circle_2d. circle_2d_radius circle_3d cylinder cylinder_radius line_2d line_3d plane sphere sphere_radius cone torus Metody třídy spat_fig_base jsou: - 26 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie public: ostream& report(ostream& out) const; void solve(); Vec<> get_solution() const; protected: spat_fig_base(const Mat<>& xx,int tel,int tn,int ts,bool param=false) spat_fig_base(const Mat<>& xx,const SymMat<>& ss,int tel,int tn,int ts,bool param=false) private: void outer_iteration(); void inner_iteration(); void fill_rx(double); void fill_ry(double); void fill_rz(double); void fill_dr_byx(); void fill_dr_byy(); void fill_dr_byz(); void fill_r2d(double); void fill_dr2d(); void InitMat(); void solve_findfinalsol(); bool verify_solution(); void OneOuterIteration(); void OneOuterIteration_parametric(); void adjustment(); virtual void inner_iteration_figure()=0; virtual ostream& report_constants(ostream& out) const=0; virtual void ApproxSolution()=0; virtual void FillMatFigure(int i)=0; virtual void ArrangeResults()=0; 8.2.5. Možnost rozšíření funkcí Knihovnu SPATFIG je možné propojit s CAD systémem například pomocí DLL (dynamic link library) knihovny. Tím lze získat výhody interaktivního grafického prostředí srovnatelného s komerčními produkty. Omezením je nižší počet bodů, s kterým je možné v základním CAD systému "rozumně" pracovat. Zkušební propojení s CAD systémem Microstation V8 bylo autorem studie úspěšně testováno. 8.3. Testování knihovny SPATFIG 8.3.1. Generátor měření Pro důkladné testování je nutné vytvořit generátor měření LSS. Výhodou takového systému je, že lze důkladně analyzovat působení jednotlivých složek měření. V průběhu projektu vyšetřování nečekaně velkých odchylek modelových parametrů (viz. kap. 9.2) byl vytvořen generátor měření ve 2D. Praktické zkušenosti s tímto generátorem prokázaly správnost použité metodiky díky výrazné shodě generovaných a naměřených dat. 8.3.2. Srovnání s komerčními produkty Protože neexistuje žádná použitelná nekomerční alternativa k OP (kap. 5.6), byly k posouzení knihovny SPATFIG použity komerční softwary. Zde je potřeba zdůraznit, že během projektu vyšetřování nečekaně velkých odchylek modelových některých GÚ (kap. 9.2) byly náhodně odhaleny překvapivé nesrovnalosti mezi softwary Cyclone a 3Dipsos. Proto - 27 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie bylo srovnání provedeno mezi těmito softwary ve verzích Cyclone v. 5.1, 3Dipsos v. 3.0.3 a SPATFIGem. Jednalo se o první v řadě testů knihovny SPATFIG a z časových důvodů se jednalo o test malého rozsahu. Testování proběhlo na skutečných datech ze skeneru Leica HDS 2500. V tomto testu byl použit válec a koule s různými procenty pokrytí a v každém z použitých případů také se známým a neznámým poloměrem. Poloměr byl určen na základě měření souřadnicovým měřicím systémem FARO (směrodatná odchylka ve všech směrech jedna setina milimetru). Tabulka šestnácti testovaných GÚ: Srovnání MP 1 : SPATFIG a 3Dipsos Úspěšnost GÚ Označení výběru Počet bodů Kry -tí ΔX 0 Δr Δ Δ d_1m Δσ Cyc. 3Dip. SP. [%] [mm] [mm] [gon] [mm] [mm] Válec 1 127758 50 0,5 0,4 0,024 0,4 0,6 Válec 1 c 127758 50 0,0 0 0 0,6 Válec 1 l 95923 38 2,0 1,8 0 0 0,7 Válec 1 l c 95923 38 0,1 0 0 0,7 Válec 1 r 31835 12 12,7 12,0 0,28 4,4 0,4 "?" Válec 1 r c 31835 12 29060 99 1557 27,7 Válec 1 l2 77010 30 4,0 3,7 0,096 1,5 0,7 Válec 1l2c 77010 30 0,2 0,067 1,1 0,7 Válec 1 r2 50748 20 9,0 8,4 0,018 0,3 0,5 "?" Válec 1r2c 50748 20 5804 98,6 1548 28,6 Koule 1 11051 50 1,0 0,6 0,6 Koule 1 c 11051 50 0,4 0,5 Koule 1 l 3866 20 1,5 1,2 0,5 Koule 1 l c 3866 20 0,6 0,5 Koule 1 r m 4187 20 8,6 7,2 0,6 "?" Koule 1 r m c 4187 20 0,5 0,6 Tab. 5 Srovnání výsledků OP Cyclonu, 3Dipsosu a SPATFIGU Výběry se zakončením označení "_c" byly prokládány s daným poloměrem. Další znaky v označení výběru mají čistě rozlišovací charakter (l left, r right, m middle, 1,2 pořadové číslo výběru). V tab. 5 v sekci úspěšnosti použitého algoritmu znamenají symboly správný, zcela nesprávný výsledek, nemožnost proložení a "?" špatný výsledek způsobený nesprávnou funkcí použitou k prokládání. 1 Modelových parametrů - 28 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie V sekci srovnání modelových parametrů ze SPATFIGU a 3Dipsosu jsou uvedeny rozdíly jednotlivých parametrů (ΔX 0 transformační posun, Δr poloměr, Δ úhel os, Δd_1m chyba na jeden metr způsobená, Δσ směrodatná odchylka jednotková aposteriorní). Červeně jsou zvýrazněny nejvýznamnější rozdíly. Rozdíly mezi Cyclonem a 3Dipsosem resp. Cyclonem a SPATFIGEM nejsou uvedeny kvůli nedostatku prostoru ve studii. nicméně z důvodů uvedených níže vyplývá, že největší vypovídací hodnotu má provedené srovnání. Z uvedených a dalších výsledků lze konstatovat, že rozdíly mezi výsledky SPATFIGU a Cyclonu jsou zanedbatelné. Cyclone kromě jediného případu vypočítal správné anebo žádné modelové parametry. Naopak 3Dipsos vypočítal modelové parametry vždy, ale ve dvou případech dosáhl zcela špatných výsledků. I v dalších případech rozdíly výrazně přesahují chyby očekávané (pouze zaokrouhlovací). Autor studie na základě překvapivých výsledků získal podezření na špatně zvolenou funkci k hledání modelových parametrů (viz. kap. 4.1). Proto byla ve SPATFIGU zkušebně nahrazena metoda OP za algebraické prokládání. Získané výsledky potvrdily správnost uvedené myšlenky. Toto překvapivé zjištění bylo předneseno autorem studie na konferenci Optical 3-D Measurement Techniques ve Vídni a vyvolalo znepokojení uživatelů softwaru 3Dipsos. Softwarový ředitel společnosti Mensi (vlastníkem společnosti je Trimble), který se konference také zúčastnil, uznal uvedené skutečnosti a prohlásil, že se na jejich odstranění pracuje. Je možné předpokládat, že tato chyba se týká i dalších rotačních ploch druhého stupně. Význam uvedené chyby lze zřetelně vidět na obrázku (případ označený v tab. 5 jako "1_r_m" pro kouli a "1_r2" pro válec): obr. 3 Rozdíly v proložení koule a válce testovanými softwary Červeně jsou označeny vybrané body (v obou případech 20% z původního padesáti procentního pokrytí). Pro objasnění rozdílnosti algebraického prokládání a OP v nejjednodušším případě koule jsou uvedeny funkce použité v minimalizaci v obou případech (první algebraické prokládání): 2 2 2 2 ( X X0) + ( Y Y0) + ( Z Z0) r = 0 2 2 2 ( X X ) + ( Y Y ) + ( Z Z ) r = 0. (28) 0 0 0-29 -
8. Metody a stav řešení cílů disertační práce Katedra speciální geodézie Je nutné uvést, že tyto chyby se projeví výrazněji pouze ve speciálních, ale přesto reálných případech. Obecně lze konstatovat, že čím je menší procentuální pokrytí GÚ, tím je chyba způsobená algebraickým prokládání větší. Dalším faktorem je neznalost poloměru. Jak je vidět z tab. 5, ve stejných případech se známým poloměrem jsou chyby v poloze řádově menší. Určité systematické chyby jsou pozorovány i u OP. Tomuto jevu je věnována kap. 9.2. - 30 -
9. Ostatní projekty Katedra speciální geodézie 9. Ostatní projekty Autor studie se vedle nosného projektu knihovny SPATFIG věnuje také dalším souvisejícím projektům. Jejich popis ale bude z důvodu omezeného rozsahu studie velmi stručný. 9.1. Laserový a optický rotační skener LORS První rok po svém nástupu do doktorského studia se autor věnoval zejména vývoji LORSu. LORS je akronym pro laserový a optický rotační skener. Na tomto projektu spolupracuje autor se svým školitelem Doc. Ing. Jiřím Pospíšilem, CSc. a Ing. M. Štronerem, Ph.D. LSS LORS je ve fázi funkčního prototypu. Byly vytvořeny algoritmy pro měření a jeho zpracování. Dále bylo vytvořeno softwarové zabezpečení pro měření a vyhodnocení naměřených dat. Prokázala se funkčnost a vyhovující přesnost zařízení na příkladech dokumentace drobných předmětů (do velikosti max. 0,5 m, směrodatná odchylka v jedné souřadnici do 0,5 mm). Výhodou systému je také možnost využití více různých kamer a to i současně, jejich kalibrace se realizuje na základě provedeného měření. obr. 4 Model LSS LORS Systému LORS byly věnovány publikace [* 2], [* 3], [* 4], [* 5], [* 7], [* 8], [* 9], [* 10] a [* 11]. Aktuální stav vývoje lze najít v posledních dvou uvedených publikacích. V nejbližší době je plánován další zdokonalení systému LORS pomocí točny s krokovým motorkem a kamery s vyšším rozlišením (8 Mpixelů). Kamera i motorek budou řízeny a synchronizovány vytvořeným programem. - 31 -