Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací 4 3 Podobnostní transformace 4 4 Afinní transformace 5 5 Afinní transformace s podmínkami 6 6 Projektivní transformace 8 7 Speciální přípa afinní transformace 8 Literatura 0
Odvození transformačního klíče vybraných 2D transformací Cílem této části je podrobně popsat všechny implementované postupy výpočtu transformačních koeficientů Popsán bude jak obecný postup vyrovnání, tak konkrétní tvary matic pro jednotlivé transformační meto Meto vyrovnání Pro jednoznačné určení transformačního klíče z nadbytečného počtu identických bodů byla použita metoda nejmenších čtverců Tato metoda byla aplikovaná na vzdálenost v rovinně) mezi cílovými a přetransformovanými výchozími bo V následujícím textu budou popsány vzorce, které byly použité pro jednotlivá vyrovnání metodou zprostředkujících pozorovaní Dále bude také zmíněn složitější případ vyrovnaní metodu zprostředkujících s podmínkami Pro další rovnice použijeme toto označení: Pak platí: x = x x k ) T vektor hledaných veličin x 0 = x 0 x k0 ) T vektor přibližných hodnot neznámých = k ) T vektor přírůstků přibližných hodnot F i x) funkční vztah mezi hledanými x a měřenými veličinami v našem případě transformační rovnice) l i naměřená zprostředkující veličina v i oprava naměřené zprostředkující veličina f i vyrovná hodnota zprostředkující veličiny i index i-té zprostředkující rovnice F i x) = f i F i x x k ) = l i + v i F i x 0 + x k0 + k ) = l i + v i Levou stranu rozvedeme do Taylerova rozvoje : ) Fi F i x 0 ) + + + Po úpravě dostáváme: Fi k ) k = l i + v i a i + a i2 2 + + a ik k + F i x 0 ) l i = v i, ) kde i =,, n a n je počet linearizovaných zprostředkujících rovnic oprav a k je počet hledaných neznámých Výraz F i x 0 ) l i = L i je tzv absolutní člen Pro případ, k zavedeme vhodnou substituci a např jako transformační koeficienty nevolíme přímo geometrické parametry, není použití Taylerova rozvoje nutné V případě, k potřebujeme, ale zavést podmínky přímo pro geometrické koeficienty např, stočení rovno nule, nebo shodná změna měřítek pro obě osy apod) Tylerovo rozvoj musíme použí 2
Výraz ) můžeme zapsat maticově takto: kde A + L = v, a a 2 a k a 2 a 22 a 2k a nk a n2 a nk, = 2 k, 2) L = F x 0 ) l F 2 x 0 ) l 2 F n x 0 ) l n 3) Po aplikace meto nejmenších čtverců odvození viz []) získáváme pro vyrovnané neznámé vztah: = A T A) A T L) 4) Tento způsob byl implementován pro výpočet podobností, afinní a projektivní transformace, přičemž konkrétní matice jsou uvedeny v následujících kapitolách Pro případ, k chceme zavést podmínky pro neznám0 je výpočet následující: Podmínky pro opravy neznámých definujeme pomocí obecného vyjádření: b v + +b n v n + U = 0 5) b r v + +b rn v n + U r = 0 kde U i jsou hodnoty uzávěrů - tzn rozdíl mezi hodnotou vypočítanou z přibližných hodnot a hodnotou požadovanou, která je stanovena podmínkou Koeficienty označené jako b ii tvoří pak matici B Můžeme te psát: Bv + U = 0 6) Pro společné vyrovnání zprostředkujících měření s podmínkami pak dostáváme odvození viz []): k ) A = T A B T B 0 ) A T L U ) 7) 3
2 Obecné vyjádření lineárních 2D transformací V této části se budeme zabývat implementovanou skupinou lineárních 2D transformací a především způsobem výpočtu transformačního klíče z nadbytečného počtu identických bodů Popsány budou: Podobnostní transformace Afinní transformace Projektivní transformace Afinní transformace s podmínkami Speciální případ afinní transformace Obecný výraz pro všechny tyto meto lze napsat pomocí obecného maticového vyjádření x = Px, kde qx p 00 p 0 p 20 x x = qy P = p 0 p p 2, x = y, q p 02 p 2 přičemž x, y jsou souřadnice v cílové soustavě, x, y ve výchozí, p nn jsou transformační koeficienty a q je pomocný parametr V následujících odstavcích budou uvedeny vztahy pro výpočet transformačních koeficientů na základě známých identických bodů pomocí MNČ Ačkoliv je toto odvození poměrně jednoduché, uvádíme jej zde především z důvodu dokumentace implementovaných algoritmů Cílem je také vytvořit jednotný soupis všech vztahů pro tyto meto Pro konečný výpočet koeficientů lze použít algoritmus vyrovnání zprostředkujících měření viz část ) Cílem následujících sekcí je te především popsat tvar matic A, a L Pro konečný transformačních parametrů pak stačí použít vzorec 4) 3 Podobnostní transformace Podobnostní transformaci lze vyjádřit pomocí vztahu: x a b c x y = b a d y 0 0 Jelikož se jedná o lineární vztah, lze jako přibližné hodnoty neznámých zvolit x 0 = 0, 0, 0, 0) T a te platí i 0 + i = x i x i = i Neznámými jsou transformační koeficienty Necht te matice má tvar: Potom matice A má tvar: = a b c d x y 0 x n y n 0 y x 0 y n x n 0 8) 4
Vzhledem k volbě nulových přibližných hodnot můžeme psát F i x 0 ) = 0 a te dle 3) matice L mátvar: L = x x n y y n 9) Použitím vztahu 4) dostáváme tak přímo vyrovnané neznámé bez nutnosti další iterace Důvodem je lineární vztah mezi neznámými a měřenými veličinami 4 Afinní transformace Afinní transformaci lze vyjádřit pomocí vztahu: x a b c y = d e f 0 0 Na základě obdobné volby neznámých jako v 3 můžeme psát tvar matice : a b = c d e f Potom matice A má tvar: x y x y 0 0 0 x n y n 0 0 0 0 0 0 x x 0 0 0 x n x n Matice L je pak shodná jako u podobností transformace viz vztah 9 Použitím vztahu 4 dostáváme tak přímo vyrovnané neznámé Pro optimalizaci výpočtu lze matici A zjednodušit a počítat neznáme a, b, c a d, e, f odděleně Matice A má pak tvar: přičemž dílčí matice neznámých jsou: = a b c x y x n y n, 2 = V implementaci tohoto způsobu bylo znaménko matice L vytknuta a uplatněno až ve vztahu 4 d e f 0) 5
a dále matice L lze rozdělit takto: L = x, L 2 = y ) x n y n 5 Afinní transformace s podmínkami Jednou z často používaných forem afinní transformace je varianta, k parametr zkosení je roven nule Tento způsob se často využívá právě při referencování satelitních snímků apod Obecně lze tuto úlohu řešit bud přímým vyloučením tohoto parametru, nebo použitím vyrovnání zprostředkujících měření s podmínkami V následujících odstavcích bude popsáno odvození vyrovnání včetně podmínek, tak jak bylo implementováno Výhodou je obecný přístup k řešení daného problému Výsledek pak umožňuje definovat jakékoliv jiné podmínky bez zásahu do kódu Pro určení transformačních koeficientů je poučit obecný algoritmus vyrovnání zprostředkujících měření s podmínkami dle [] Jelikož je nutné pracovat přímo s geometrickou formou transformačních parametrů je výchozí vztah afinní transformace tento: x = S x cos α x S y sin α y + T x y = S x sin α x + S y cos α y + T y 2) kde x, y jsou cílové souřadnice, x, x jsou výchozí souřadnice Další označení je: S x měřítko ve směru osy X, S y měřítko ve směru osy Y, α x úhel rotace pro osu x, α y úhel rotace pro osu y, T x posun ve směru osy X, T y posun ve směru osy Y Parametr q vyjadřující zkosení je potom q = α x α y Pro další postup vyrovnání byla matice neznámých zvolena takto: = ds x ds y α x α y dt x dt y Na základě této volby byla odvozena matice A Jednotlivé derivace potom jsou i =,, n je počet identických bodů): 3) S x S y α x α y T x T y = cos α x x i = sin α y y i = S x sin α x x i = S y cos α y y i = = 0 4) 6
S x S y α x α y T x T y = sin α x x i = cos α y y i = S x cos α x x i = S y sin α y y i = 0 = 5) Matice A má te tvar: S x S x S x S x S y S y S y S y α x α x α x α x α y α y α y α y T x T x T x T x T y T y T y T y 6) Zbývá ještě naplnit matici L Dle vztahů 3) a 2) můžeme psát: L = fxx 0 ) x fxx 0 ) x n fyx 0 ) y fyx 0 ) y n, 7) kde x 0 je vektor přibližných hodnot neznámých Pro zařazení podmínek do vyrovnání je ještě nutné určit tvar matice B a U Chceme-li např definovat podmínku, že parametr zkosení q má být roven tzn musí platit α x α y = 0) bude rovnice 6) mít tento tvar: v α x + q 0 ) = 0 Matice B bude mít pak tvar vzhledem ke vztahu 3)): B = 0, 0,,, 0, 0) Chceme-li aby parametr zkosení q měl po vyrovnání hodnotu q = 0 bude matice U mít tvar: U = αx 0 αy 0 ), kde q 0 je přibližná hodnota parametru q Výsledné opravy pak dostaneme pomocí vzorce 7) Máme-li k dispozici odpovídající přibližné hodnoty můžeme opravy počítat iterativně Přibližné hodnoty lze získat např výpočtem afinní transformace bez podmínek jak je popsáno v části 4 7
6 Projektivní transformace Projektivní transformaci lze vyjádřit pomocí vztahu: mx my = a b c d e f x y m g h Vzhledem k lineární formě vztahů můžeme opět zvolit: a b c = d e f g h Potom matice A má tvar: x y 0 0 0 x x x y x n y n 0 0 0 x x x y 0 0 0 x y x x x y 0 0 0 x n y n x x x y 8) Matice L je pak shodná jako u podobností transformace viz vztah 9) Použitím vztahu 4) dostáváme tak opět přímo vyrovnané neznámé 7 Speciální přípa afinní transformace V této části bude popsáno odvození transformace pří které dochází ke změně měřítek v obou směrech a k posunu Na rozdíl od afinní transformace te není uplatněni zkosení a rotace Použijeme-li ve vztahu 2) nulové koeficienty pro stočení získáme transformační rovnici ve tvaru: x y = Necht te matice neznámých má tvar: Potom matice A má tvar: = a 0 b 0 c d 0 0 a b c d x 0 0 x n 0 0 0 0 y 0 0 y n x y 9) 8
Výsledný postup výpočtu neznámých je shodný s výpočtem afinní transformace Použitím vztahu 4) dostáváme opět přímo vyrovnané neznámé Pro optimalizaci výpočtu je možné matici A opět rozdělit a počítat koeficienty odděleně Na rozdíl od afinní transformace však nedostaneme pro obě skupiny koeficientů stejnou matici A 9
Reference [] Kabeláč, J: Geodetické meto vyrovnání metoda nejmenších čtverců Skriptum Fakulty Aplikovaných Věd Plzeň, Západočeská univerzita v Plzni 2003, ISBN 80-7043-260-8 0