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í
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ů

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í:

Více

Příloha č. 6 - Výkaz výměr 215 KB

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

Více

veřejná knihovna tříd a funkcí spatfig a její aplikace

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).

Více

Možnosti využití technologie laserového skenování k dokumentaci

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ě...

Více

Odporové snímače teploty do interiéru design ABB - Gas-Me

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í...

Více

Nové směry ve vývoji velmi přesných

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...

Více

Alltran documentation - Katedra speciální geodézie

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 ...

Více