Veřejná knihovna tříd a funkcí SPATFIG k ortogonálnímu prokládání
Transkript
Veřejná knihovna tříd a funkcí SPATFIG k ortogonálnímu prokládání obecných geometrických útvarů mračnem bodů Ing. Bronislav Koska ČVUT – Fakulta stavební Praha Abstrakt V příspěvku je přiblížena problematika prokládání geometrických útvarů v prostoru množinou bodů v souladu s metodou nejmenších čtverců a představena veřejná knihovna tříd a funkcí SPATFIG k tomuto účelu určená. Nejprve je matematicky definován problém prokládání. Dále jsou uvedeny některé ze širokých aplikačních oblastí metod prokládání a jsou zdůrazněny zájmové oblasti geodézie a souřadnicové metrologie. V další kapitole je představen vývoj metod prokládání. Nejprve jsou uvedeny hlavní metody – algebraické prokládání, normalizované algebraické prokládání a ortogonální prokládání a jsou srovnány jejich vlastnosti. Dále se příspěvek věnuje pouze ortogonálnímu prokládání. Jsou uvedeny jeho možné klasifikace podle různých kritérií a souběžně jsou tyto klasifikované skupiny komentovány. Jsou uvedeny soudobé požadavky na tyto metody. Dále je uvedeno řešení několika z nejvýznamnějších skupin pracujících v současnosti v této oblasti. Poté je podrobně popsána metoda, která je z našeho hlediska nejvhodnější. Následuje stručné seznámení s metodami pro výpočet přibližných hodnot modelových parametrů, je představena norma pro testování softwaru k ortogonálnímu prokládání v oblasti souřadnicové metrologie a jsou komentovány vlastnosti veřejných a komerčních softwarových produktů. V předposlední kapitole je popsán stav projektu SPATFIG. Nejprve je zdůvodněn výběr použité metody k ortogonálnímu prokládání, dále jsou uvedeny informace o realizaci knihovny SPATFIG a nakonec je prezentováno první testování a srovnání SPATFIGu s komerčními softwarovými produkty. V závěru jsou představeny další související současné a budoucí projekty. 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áží 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 -1- 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 Bsplines (NURBS) – pro nepravidelné křivky a plochy • nástroje pro práci s texturami – obrázky ze skeneru nebo z externích zdrojů V tomto příspěvku 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 přesně známy modelové parametry. 2. Definice problému V prostoru Rn je dáno m bodů. Je dána funkce v implicitním: F (a, X) = 0 , (1) X(a, u) (2) nebo parametrickém: tvaru. 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: σ 02 = d T P T Pd , (3) σ 02 = (X - X′)T P T P( X - X′) . (4) nebo o funkci: d je sloupcový vektor ortogonálních (nejkratších vážených geometrických) vzdáleností mezi danými body Xi a odpovídajícími body na GÚ X′i , PTP 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í bodům vektoru X. Funkce (σ0/√r), kde r značí počet stupňů volnosti, je tzv. směrodatná odchylka jednotková aposteriorní. 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 -2- 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). 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 příspěvku se poprvé k problematice OP dostal při vývoji LSS LORS (laserový a optický rotační skener, viz. [ 27]), 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 příspěvku 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 příspěvku v knihovně SPATFIG. -3- Cyclone 5.1 (Leica) 3Dipsos 3.0.3 (Trimble) ISO 10360-6 SPATFIG ü ü ü ü ü ü 2D útvar přímka úsečka ü kružnice ü část kružnice ü elipsa ü část elipsy ü složená křivka ü ü ü ü ü koule ü ü ü ü válec ü ü ü ü prstenec s kružnicovým průřezem ü ü ü prstenec s obdélníkovým průřezem ü ü ü rovina 3D útvar 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ší. 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- 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 nejednodušší náhradní funkcí je tzv. algebraické prokládání. Ta je založena na algebraické vzdálenosti, která je minimalizována: m min ∑ F 2 (a, Xi ) . a (5) 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: 2 F (a, X ) i min ∑ a i =1 ∇F (a, Xi ) , m (6) kde v znamená l2 normu vektoru v (druhá odmocnina ze sumy druhých mocnin jednotlivých prvků vektoru). 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: m minm a ,{ Xi ′ }i =1 ∑X i =1 2 ′ , i − Xi (7) což je jen jiná forma zápisu (3) nebo (4) bez uvedení vah. Tyto metody jsou srovnány v několika pracích například [ 4], [ 9] a [ 10]. 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 l2 normou gradientu. Pro algebraické prokládání existuje vždy uzavřené analytického řešení pro výpočet definované algebraické vzdálenosti. V případě OP existuje uzavřené řešení jen pro nejednodušší útvary. V případě řešení OP při neexistenci uzavřeného řešení je výpočet ortogonálních vzdáleností 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 [ 10] je OP přibližně 2x-20x náročnější na výpočetní výkon než normalizované algebraické prokládání. Mezi zásadní nevýhody algebraického patří: • definice chyb není v souladu s principem měření • není zřejmá interpretace algebraické vzdálenosti • 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ů -5- • parametry modelu nejsou nezávislé na souřadnicových transformacích Z výše uvedeného srovnání různých metod prokládání 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 řešení pro výpočet ortogonálních vzdáleností. Pro menší počty bodů a jednodušší útvary s uzavřeným řešením pro řešení ortogonálních 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ých skenovacích systémů 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 (a, X) = 0 • parametrický tvar: X(a, u) 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Ú. Implicitní tvar je vhodný pro všechny typy GÚ kromě prostorových křivek. Nejobecnější popis geometrických útvarů umožňuje parametrický tvar. Pro některé plochy je ale méně vhodný než tvar implicitní. -6- 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 ag dimenze l, parametry posunu ap dimenze n a parametry rotace ar dimenze s. Platí tedy vztahy p=l+n+s a vektor a lze psát ve tvaru (agT, apT, arT)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: F (a, X) @ f (a g , x) = f (ag , x(ap , ar , X)) = f (ag , R(X - X 0 ) = 0, X(a, u ) @ R -1x(ag , u) + X 0 . (8) Znak @ označuje shodnost plynoucí z definice. A transformace mají tvar: X = X0 + R −1x , x = R(X - X0 ) R = R ω ,ϕ ,κ = (rx ry rz )T , R -1 = R T (9) ap = X 0 = ( X 0 , Y0 , Z 0 )T , ar = (ω , ϕ , κ )T 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í. Jedná se o funkce (3) σ 02 = d T P T Pd a (4) σ 02 = (X - X′)T P T P( X - X′) . Je zřejmé, že souřadnicový algoritmus (4) je zobecněním délkového algoritmu (3). Jeho nevýhodou je vyšší paměťová náročnost a složitější implementace nových GÚ. 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 (4). 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é ř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. -7- 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. [ 16]). 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. [ 16]). 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(m3), 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 • nízká výpočetní a paměťová náročnost • snadná a jednotná implementace nových GÚ 5.3. Skupiny prokládání pracující na vývoji algoritmu ortogonálního V současné době se věnuje metodám OP ve světě několik skupin autorů. Z důvodu omezeného rozsahu příspěvku zde nebudou jednotlivé přístupy podrobně srovnány, ale bude uveden pouze jejich výčet s odkazy na nejdůležitější publikace uvedených skupin: • S. J. Ahn a kolektiv: Institut IPA1 pří stuttgartské univerzitě. Úprava a srovnání metod k ortogonálnímu prokládání: [ 1], [ 2] a [ 3]. Práce této skupiny je shrnuta v disertační práci S. J. Ahna [ 4]. • A. Atieg a G.A. Watson: Katedra matematiky, universita v Dundee ve Skotsku2. Srovnání metod k ortogonálnímu prokládání: [ 5], [ 6], [ 7] a [ 8]. • P. Faber a R.B. Fisher: Katedra informatiky Edinburghské univerzity ve Skotsku1. Několik prací srovnávajících algebraické, normalizované algebraické a ortogonální prokládání: [ 9] a [ 10] a přímá metoda OP elipsy [ 11] 1 Fraunhofer Institute for Manufacturing Engineering and Automation 2 Department of Mathematics, University of Dundee, Scotland -8- • G. Lukács, A.D. Marshal a R.R. Martin: Katedra počítačových věd z Cardiffské univerzity ve Velké Británie2. Několik prací týkajících se OP konkrétních kvadratických GÚ (koule, válec, kužel a torus): [ 12] a [ 13]. 5.4. Metoda ortogonálního prokládání v knihovně SPATFIG "Algoritmus III" V kapitole 5.3 byly uvedeny některé skupiny pracující v oblasti OP a jejich publikace. Na základě studia těchto publikací jsou v kapitole 6.1 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) σ = (X - X′)T P T P( X - X′) . Základní nutnou podmínkou minimalizace této funkce je: 2 0 ∂ 2 T T σ 0 = −2J P P( X - X′) = 0 , ∂ a T (10) kde J= ∂X′ ∂a (11) je matice jakobiánu. Tyto rovnice mohou být řešeny Gauss-Newtonovou iterační metodou (viz. [ 15]) ve tvaru normálních rovnic: J T P T PJ k ∆a = J T P T P(X - X′) , a k +1 = a k + α ⋅ ∆a , k (12) kde α je vhodně zvolené číslo menší nebo rovno jedné (ve SPATFIGU α = 1). Pokud bude použita metoda singulární dekompozice (viz. [ 15] a [ 25]), je možné řešit přímo rovnice návrhu ve tvaru: PJ k ∆a = P( X - X′) k , a k +1 = a k + α ⋅ ∆a . (13) Gauss-Newtonova iterace bude ukončena při dosažní podmínky: ∆a ≤ k , (14) kde ∆a je l2 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 106). Potom se rovnice (13) změní na tvar: 1 Division of Informatics, University of Edinburg, Scotland 2 Department of Computer Science, Cardiff University, UK -9- P( X - X′) PJ ∂fc , ∆a = -W f a - const , J c = ) ∂a Wc J c c( c( ) (15) kde fc ( a ) - const = 0 je vektor podmínek pro modelové parametry, Wc je matice druhých 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é ř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 xi' 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 i − x ) = 0 , (16) kde ∇ je gradient, × je vektorový součin, xi je daný bod a x je bod na f. Hledaný ortogonální bod musí na povrchu GÚ tedy musí splňovat podmínku: f f(ag , xi , x) = =0, ∇f × ( x i − x ) (17) Tato podmínka je řešená Newtonovou metodou: ∂f k ∆x = -f ( x ) k , x k +1 = x k + α ⋅ ∆x ∂x (18) 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 xi. 5.4.2.2. Metoda Lagrangeových multiplikátorů Druhou možnou formulací problému je hledání minima funkce pro x: (xi - x)T (xi - x) , (19) L (λ , x ) @ ( x i - x ) T ( x i - x ) + λ f (20) ∇L = -2(xi - x) + λ∇f ∂L f ∂λ (21) za podmínky f = 0. Lagrangeova funkce má tvar: Podmínka minima je: - 10 - =0 Kromě těchto základních metod jsou v [ 4] uvedeny postupy na ověření ortogonálního bodu (protože podmínky (17) a (21) z principu iterují k lokálnímu extrému) a metody pro zrychlení hledání ortogonálního bodu. 5.4.3. Algoritmus III v implicitním tvaru geometrického útvaru Vyjdeme z vyjádření matice jakobiánu (11) z rovnice transformace (9). Pro jeden bod můžeme psát: J X′i ,a ∂X = ∂a X = X′i = RT T ∂x ∂R T ∂X = R − [x] + 0 ∂a ∂a ∂a ∂x ∂a x =x′i ∂R T + 0 I [ x′i ] ∂ar = x = x′i . (22) I označuje jednotkovou matici. ∂x ∂a lze získat z podmínky pro ortogonální bod (17). Ta po derivaci nabude tvaru: ∂f ∂xi ∂f ∂f ∂x = - + . ∂x ∂a ∂xi ∂a ∂a (23) ∂xi ∂a lze opět získat z rovnice transformace. Ostatní matice ∂f ∂x, ∂f ∂xi a ∂f ∂a se získají derivací z (17) a z lineárních kombinací chybového vektoru (xi–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 ∂ag ∇f ∂x ∂y ∂z S pomocí těchto matic lze automaticky naplnit matice ∂f ∂x, ∂f ∂xi a ∂f ∂a : - 11 - (24) ∂f ∂x 0 0 0 ∂f −( xi − x) 0 ∂f yi − y H + ∂y = 0 xi − x ∂x −( zi − z ) ∂f − ∂z 0 zi − z −( yi − y ) 0 0 0 0 ∂f − ∂f 0 ∂y ∂x ∂f = ∂f ∂f ∂xi − 0 ∂z ∂x ∂f ∂f 0 − ∂z ∂y 1 ∂f 0 = ∂a 0 0 ∂f ∂y ∂f − ∂x 0 ∂f ∂z ∂f ∂z 0 ∂f ∂x ∂f − ∂y 0 0 0 yi − y −( xi − x) 0 (G 0 0) − ( zi − z ) 0 xi − x −( yi − y ) 0 zi − z (25) . Je vidět, že k implementaci nového GÚ v implicitním tvaru stačí vyjádřit derivace podle vztahů (24). Schéma Algoritmu III pro OP GÚ v implicitním tvaru je zobrazeno níže: obr. 1 – Schéma metody OP GÚ v implicitním tvaru - 12 - 5.4.4. Algoritmus III pro geometrický útvar v parametrickém tvaru Z nedostatku prostoru v rámci příspěvku nebude algoritmus hledání ortogonálního bodu ani naplnění jakobiánu 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): x ∂x uu X= = (x , x ), H = u v x ∂u vu G 0 ∂ uv , G = G = 1 ∂a g x vv G 2 x x x u x v (26) Pro pochopení je uvedeno schéma Algoritmu III pro OP GÚ v parametrickém tvaru: 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) je navržena metoda tzv. "evoluce modelů". Tato metoda je založena na postupném OP GÚ od nejednodušší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. - 13 - 5.5.2. Metoda normál V pracích [ 12] a [ 13] 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ů. 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 ř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 (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 příspěvku 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 příspěvku 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 [ 21] a D. Sourliera [ 22]. 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 příspěvku 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ý - 14 - kód softwaru FUNKE ani aktuální kontakt na jeho autora D. Sourliera, což považuji za největší nevýhodu tohoto softwaru. V současnosti tedy není dostupné žádné vhodné softwarové řešení s veřejnou nebo volnou licencí (free software, open source dokonce ani freeware). 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ů. Nástroje k OP většinou obsahují základní GÚ, které se mohou vyskytnout v praxi (viz. tab.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ů • 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 Z těchto důvodů požádal autor příspěvku 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. 6.3.2. 5.8. Norma ČSN EN ISO 10360-6 Tato norma [ 18] 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. [ 19]). Tyto nesrovnalosti vedly v 80. letech k tzv. "softwarové krizi" v oblasti souřadnicových měřících systémů. 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ých měřících systémů bez požadavku na odkrytí použitého algoritmu. Tato snaha vyvrcholila právě vydáním normy ISO 10360-6 [ 17] v roce 2001 (v ČR 2002). - 15 - Tato norma stanovuje: 6. • 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 Stav projektu SPATFIG V této kapitole jsou uvedeny použité metody a stav řešení jednotlivých součástí projektu SPATFIG. 6.1. Výběr nejvhodnější metody Na základě níže uvedených kritérií byla vybrána nejvhodnější metoda k OP: • 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 Na základě uvedených kritérií se jeví jako nejvhodnější metoda uvedená v kap. 5.4 a v publikaci [ 4] jako "Algoritmus III". Jejím autorem deklarované a dalšími autory v [ 5] potvrzené 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 g , ∂∇f ∂a g a ∂∇f ∂x 2 − parametrický: ∂x ∂u , ∂x ∂a g , ∂ 2 x ∂u a ∂ 2 x ∂u ∂a g Výhodou této metody je její deklarovaná vhodnost pro další logické zobecnění – metodu "nekompletní OP" (viz. [ 6]). - 16 - 6.2. Realizace knihovny SPATFIG Knihovna tříd a funkcí SPATFIG (jedná se o zkratku ze spojení "spatial figure" – prostorový útvar) je určena k ortogonálnímu prokládání geometrických útvarů ve 2D a 3D. 6.2.1. Použitá licence Z veřejných licencí byla zvolena všeobecná veřejná licence GNU (GNU GPL1), protože v knihovně jsou používány jiné knihovny s touto licencí (a jelikož je tato licence typu "copyleft", je povinností ji zachovat). 6.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. [ 24]). Tato knihovna obsahuje základní operace s maticemi a vektory. 6.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ů. 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. 6.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. 1 GNU’s Not Unix General public license - 17 - 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/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í matice jakobiánu o další řádky podmínek. 6.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 příspěvku úspěšně testováno. 6.3. Testování knihovny SPATFIG 6.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ů 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. 6.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 parametrů některých GÚ byly náhodně odhaleny překvapivé nesrovnalosti mezi softwary Cyclone a 3Dipsos. Proto - 18 - 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). Z 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é modelové parametry a nebo žádné. 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 příspěvku 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 příspěvku 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: 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 d použité v minimalizaci v obou případech (druhé je OP): ( X − X 0 )2 + (Y − Y0 ) 2 + (Z − Z 0 )2 − r 2 = d ( X − X 0 ) 2 + (Y − Y0 ) 2 + ( Z − Z 0 ) 2 − r = d - 19 - . (27) 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ím větší. Dalším faktorem je neznalost poloměru. 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. 7. Závěr V příspěvku je přiblížena problematika prokládání geometrických útvarů v prostoru množinou bodů v souladu s metodou nejmenších čtverců a představena veřejná knihovna tříd a funkcí SPATFIG k tomuto účelu určená. Nejprve je v kap. 2 matematicky definován problém prokládání. V kap. 3 jsou uvedeny některé ze širokých aplikačních oblastí metod prokládání a jsou zdůrazněny zájmové oblasti geodézie a souřadnicové metrologie. Dále je v kap. 4 představen vývoj metod prokládání. Nejprve jsou uvedeny hlavní metody – algebraické prokládání, normalizované algebraické prokládání a ortogonální prokládání a jsou srovnány jejich vlastnosti. Další kapitola č. 5 se již věnuje pouze nejdůležitějšímu ortogonálnímu prokládání. Jsou uvedeny jeho možné klasifikace podle různých kritérií a souběžně jsou tyto klasifikované skupiny komentovány. Jsou uvedeny soudobé požadavky na tyto metody. Dále je uvedeno řešení několika z nejvýznamnějších skupin pracujících v současnosti v této oblasti. Poté je podrobně popsána metoda, která je z našeho hlediska nejvhodnější. Následuje stručné seznámení s metodami pro výpočet přibližných hodnot modelových parametrů, je představena norma pro testování softwaru k ortogonálnímu prokládání v oblasti souřadnicové metrologie a jsou komentovány vlastnosti veřejných a komerčních softwarových produktů. V kap. 6 je popsán stav projektu SPATFIG. Nejprve je zdůvodněn výběr použité metody k ortogonálnímu prokládání, dále jsou uvedeny informace o realizaci knihovny SPATFIG a nakonec je prezentováno první testování a srovnání SPATFIGu s komerčními softwarovými produkty. V blízké budoucnosti je plánováno několik rozšíření knihovny SPATFIG: Doplnění knihovny o další vhodné geometrické útvary (elipsoid, řetězovka a další), rozšíření knihovny o další obecnější metody prokládání jako je nekompletní ortogonální prokládání [ 6] a prokládání složených geometrických útvarů a důkladné testování knihovny SPATFIG s využitím generátoru měření. V delším časovém horizontu budou řešeny navazující problematiky: Segmentace mračna bodů (rozdělení mračna podle předpokládané příslušnosti k geometrickému útvaru), rozpoznání geometrického útvaru (na základě daných kritérií výběr nejvhodnějšího geometrického útvaru) a rekonstrukce objektů (ortogonální prokládání s vyloučením odlehlých a chybných bodů). Tyto procesy (segmentace, rozpoznání typu a rekonstrukce) je možné provádět s určitým stupněm automatizace. Příspěvek byl zpracován v rámci grantového projektu GA ČR 205/04/1398 – „Využití 3D skenerů v geodézii a památkové péči“. - 20 - 8. Použitá literatura [ 1] Ahn, S.J. – Rauh,W. – Recknagel, M.: Least Squares Orthogonal Distance Fitting of Implicite Curves and Surfaces. In: Lecture Notes in Computer Science, vol. 2191, p. 398–405, 2001. [ 2] Ahn, S.J. – Rauh, W. – Westkämper, E.: Fitting of Parametric Space Curves and Surfaces by Using the Geometric Error Measure. In: Proc. 24th DAGM Symp. Pattern Recognition. Lecture Notes in Computer Science, vol. 2449, p. 548–556, 2002. [ 3] Ahn, S.J. – Effenberger, I. – Roth-Koch, S. – Westkämper, E.: Geometric Segmentation and Object Recognition in Unordered and Incomplete Point Cloud. In: Lecture Notes in Computer Science, vol. 2781, p. 450–457, 2003. [ 4] Ahn, S.J.: Least Squares Orthogonal Distance Fitting of Curves and Surfaces in Space. In: Lecture Notes in Computer Science, vol. 3151, p. 1-125, doctoral thesis, 2004. [ 5] Atieg, A. – Watson, G. A.: A class of methods for fitting a curve or surface to data by minimizing the sum of squares of orthogonal distances. In: Journal of Computational and Applied Mathematics, vol. 158, no. 2, p. 277-296, 2003. [ 6] Atieg, A. – Watson, G. A.: Incomplete Orthogonal Distance Regression. In: BIT Numerical Mathematics, vol. 44, p. 619-629, 2004. [ 7] Atieg, A. – Watson, G. A.: Use of lp norms in fitting curves and surfaces to data. In: ANZIAM J, vol. 45, p. C187-C200, 2004. [ 8] Gulliksson, M. – Söderkvist, I. – Watson, G. A.: Implicit Surface Fitting Using Directional Constraints. In: BIT Numerical Mathematics, vol. 41, no. 2, p. 308-321, 2001. [ 9] Faber, P. – Fisher, R. B.: Pros and Cons of Euclidean Fitting. In: Lecture Notes in Computer Science, vol. 2191, p. 414-420, 2001. [ 10] Faber, P. – Fisher, R. B.: Euclidean Fitting Revisited. In: Lecture Notes in Computer Science, vol. 2059, p. 165-175, 2001. [ 11] Fitzgibbon, A. – Pilu, M. – Fisher, R. B.: Direct Least Square Fitting of Ellipses. In: IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 21(5), p. 476-480, 1999. [ 12] Lukács, G. – Marshal, A. D. – Martin, R. R.: Geometric least-squares fitting of spheres, cylinders, cones and tori. In: Geometric Modelling Laboratory Studies, vol. 5, 1997. [ 13] Lukács, G. – Martin, R. R. – Marshal, A. D.: Faithful Least-Squares Fitting of Spheres, Cylinders, Cones and Tori for Reliable Segmentation. In: Lecture Notes in Computer Science, vol. 1406, p. 671-686, 1998. [ 14] Rektrorys, K. a spolupracovníci: Přehled užité matematiky I. Sedmé vydání: Nakladatelství Prometheus, 1995. [ 15] Rektrorys, K. a spolupracovníci: Přehled užité matematiky II. Sedmé vydání: Nakladatelství Prometheus, 1995. [ 16] Böhm, J. – Radouch, V. – Hampacher, M.: Teorie chyb a vyrovnávací počet. Praha: GKP, 1990. [ 17] ISO 13060-6: Geometrical Product Specifications (GPS) – Acceptance and reverification test for coordinate measuring machines (CMM) – Part 6: Estimation of - 21 - errors in computing Gaussian associated features. In: Standard ISO 10360-6, Geneva, Switzerland, 2001. [ 18] ČSN EN ISO 13060-6: Geometrické požadavky na výrobky (GPS) – Přejímací a periodické zkoušky souřadnicových měřících strojů (CMM) – Část 6: Odhad chyb při výpočtu prvků přiřazených metodou nejmenších čtverců. In: Český normalizační institut, 2002. [ 19] Diaz, C. – Hopp, T. H.: Testing of Coordinate Measuring System Software. In: Proceedings of the 1993 American Society for Quality Control Measurement Quality Conference, 1993. [ 20] Lin, Y.-J. – Damodharan, K. – Shakarji, C.: Standardised Reference Data Sets Generation for Coordinate Measuring Machine (CMM) Software Assessment. In: The International Journal of Advanced Manufacturing Technology, vol. 18, p. 819-830, 2001. [ 21] Boggs, P.T. – Donaldson, J.R. – Byrd, R.H. – Schnabel, R.B.: Algorithm 676 – ODRPACK: Software for Weighted Orthogonal Distance Regression. In: ACM Trans. Mathematical Software, vol. 15, p. 348-364, 1989. [ 22] Sourlier, D.: Three Dimensional Feature Independent Bestfit in Coordinate Metrology. Doctoral thesis 11319, ETH Zurich, Switzerland, 1995. [ 23] GNU General Public Licence [online]. Verze 2, červen 1991 [cit. 11.11.2005]. Dostupné z: <http://www.gnu.org/licenses/gpl.html>. [ 24] Čepek, A.: gMatVec – C++ matrix/vector template library [online]. Verze 0.15, 4.2.2004 [cit. 11.11.2005]. Dostupné z: <http://gama.fsv.cvut.cz/~cepek/matvec/doc/>. [ 25] Press, W. H. – Teukolsky, S. A. – Vetterling, W. T. – Flandery, B. P.: Numerical Recipes in C – The Art of Scientific Computing – Second Edition. Cambridge University Press, 1992. [ 26] Koska, B.: Veřejná knihovna tříd a funkcí SPATFIG a její aplikace. In: Proceedings of JUNIORSTAV 2005. Brno: VUT Brno, Fakulta stavební, 2005. [ 27] Koska, B. – Štroner, M. – Pospíšil, J.: The Result Presentation of the Development of Laser and Optic Rotating Scanner LORS and Introduction of Public Library of Classes and Functions SPATFIG. In: Optical 3-D Measurement Techniques. Wien: Vienna University of Technology, 2005. (English) - 22 -
Podobné dokumenty
Optoelektronické metody 3D zaměření povrchů předmětů
Podle [ 4] lze uvést například tyto aplikační oblasti a konkrétní využití:
Příloha č. 6 - Výkaz výměr 215 KB
Osazení poklopů litinových nebo ocelových včetně rámů hmotnosti nad 150 kg - viz. příloha č. D.3.1.2
veřejná knihovna tříd a funkcí spatfig a její aplikace
primitivum), adjustment (vyrovnání), least square method (metoda nejmenších čtverců), cone
(kužel), cylinder (válec).
Možnosti využití technologie laserového skenování k dokumentaci
obrazové korelaci. Autoři příspěvku mají k dispozici software PhotoModeler Scanner (na trhu
od 2008), který je funkčním rozšířením zavedeného softwaru pro průsekovou fotogrammetrii.
V současné době...
Odporové snímače teploty do interiéru design ABB - Gas-Me
Mysterious) a SCHNEIDER ELECTRIC (řady UNICA).
Uvedené snímače vychází z těchto designů doplněním
o odporové čidlo teploty a plošný spoj se svorkovnicí.
Lze je dodat v libovolném barevném provedení...
Nové směry ve vývoji velmi přesných
Realizace metru podle této definice se děje dvěma způsoby:
První je z doby letu světla podle vzorce pro rovnoměrný přímočarý
pohyb s = c . t
Druhým způsobem, interferometricky na základě superpozic...
Alltran documentation - Katedra speciální geodézie
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 ...