transformări polinomiale-Gis de laborator

Formule și exemple de transformări polinomiale de așezări

Formula transformărilor polinomiale sunt folosite pentru a traduce coordonatele originale (de obicei locale dreptunghiulare) la finala (proiectat în mod normal - dreptunghiular). În funcție de cantitatea de distorsiune a imaginii de puncte de control (GCP - punct de control de la sol), precum și plasarea lor în raport reciproc pentru a exprima conversia necesară poate necesita formula Polinomial destul de complex. Complexitatea polinomului este exprimată în termeni de ordine sale. Ordinea - este un indicator al cel mai înalt grad în polinomul utilizat.

Conversie prima comandă - transformare liniară. Această conversie se poate schimba:

  • poziția X și / sau Y; Schimbarea poziției, mutați imaginea unui anumit număr de pixeli în X și Y.
  • scara a lungul axei X și / sau Y; Factorii de scalare pentru X și Y pot fi diferite
  • înclinare X și / sau Y;
  • rândul său; Când rotiți, puteți identifica orice număr pozitiv sau negativ de grade pentru a roti po și anti-sensul acelor de ceasornic, respectiv. Rotație are loc în jurul pixelului central al imaginii.
  • reflecție; stânga la dreapta, de sus în jos, de sus în jos și de la stânga la dreapta (rotație similară cu 180 de grade)

Conversia ordine 1 poate fi folosit pentru a traduce sursa (de exemplu, doar scanate) imagini într-un sistem de coordonate rectangulare, transforma un sistem de coordonate rectangular la alta, utilizată în mod obișnuit pentru această transformare fragmente relativ mici.

Exemple de aplicare a acestei transformări pot fi: distorsiuni de corectare în date de teledetecție, rotirea scanata foi topografice, și rotirea datelor descendente pe orbită, astfel încât nordul era deasupra imaginii (și nu de-a lungul orbitei).

Conversia prima comandă poate fi de asemenea utilizat pentru date care sunt deja proiectate pe planul. De exemplu, de multe ori la distanță a datelor de detecție sunt deja în sistemul de coordonate rectangulare locale, dar nu a redus la proiecția corespunzătoare. Când se utilizează acest tip de transformare, nu este semnificativă creștere pentru conversie, în cazul în care există o mare eroare pătratică medie atunci când prima comanda. În primul rând, trebuie să verificați alte surse posibile de eroare: ca puncte de referință, distribuția acestora și alte deviațiilor posibile.

Figura prezintă modul în care datele se modifică în conformitate cu transformări liniare.

Pentru a pune în aplicare transforma primul polinom de gradul este necesar de a găsi șase coeficienți - trei pentru fiecare coordonate (X și Y): A0. a1. a2. B0. b1. b2. Acești coeficienți sunt apoi utilizate în conversia efectivă ecuațiile polinomiale de gradul I (echivalent ca transformare afină):

unde x, y - coordonatele sursei, x0, y0 - coordonatele finale

transformări neliniara - o transformare de ordinul a 2 sau mai mult. Aceste conversii pot regla distorsiunea neliniare. Figura prezintă exemple ale rezultatelor unor transformări neliniare.

Transformări de ordinul a 2 poate fi utilizată pentru a converti datele într-un sistem geografic de coordonate (latitudine, longitudine) dreptunghiulară, pentru conversia datelor din câmpuri mari (cont de curbura pământului), pentru a ancora tocmai distorsionate de un motiv sau alte date (de exemplu, iz pentru distorsiunea lentilelor camerei, materiale slab scanate) etc.

Matricea de transformare se calculează prin punctele de control. Matricea este formată din coeficienții polinoamelor utilizați în coordonate formulele de conversie. Dimensiunea matricei depinde de comandă utilizată de conversie. Coeficienții matricei de transformare sunt calculate astfel încât să se obțină transformarea polinomul formula cu cea mai mică eroare posibilă în traducerea originalului coordonatelor final. Ia-rate care nu duc la greșeli nu este întotdeauna posibil. Un exemplu care ilustrează eroarea relativă a poziției inițiale și curba finală care aproximează relația dintre ele exprimată printr-un polinom (nu toate punctele se află pe o linie, distanța de la punctul de plecare pentru o curba polinom - abaterea medie pătrată). Pentru simplificare, exemplul arată doar raportul dintre coordonatele inițiale și finale X și curba descriind ei, în viața reală, coordonatele inițiale și sfârșitul coordonatele 2 2, astfel încât relația dintre ele nu este aproximată printr-o curbă și plane.

transformare Număr coeficienți matrice pentru conversia ordinul t este egal cu:

Acest număr trebuie înmulțit cu 2 - două seturi de coeficienți, unul - pentru X, Y. Mai mult de una pentru o formulă simplă pentru numărul de coeficienți:

In mod evident, transformarea dimensiune crește conversie matrice cu ordine crescătoare, respectiv, numărul minim de puncte de control necesare pentru calcularea coeficienților matricei, de asemenea, crește.

Fiecare punct de control afectează coeficienții estimați. în cazul în care nu se potrivesc perfect cu fiecare punct polinom de control, care este reprezentat de acești coeficienți. Distanța dintre curba și coordonatele calculate ale punctului - numit RMS eroare (rădăcină medie termeni de eroare pătrat). Pentru a calcula matricea de transformare pentru setul de puncte de control utilizate metoda medie de regresie pătrată (metoda celor mai mici pătrate) pe baza punctelor de control ale aranjează utilizator originale (bind) dintr-un material la materialul final (cel căruia cravata).

Formula de calcul a polinomului de ordin t

În cazul în care: T - comanda polinomului, ak și bk - coeficienți, indicele k pentru ak și bk se calculează ca:

De exemplu, pentru a converti coeficienții de ordinul trei din 20 vor fi utilizate:

Formula de conversie a 3 ordine, după calcularea coeficienților poate arăta astfel:

Efectul de conversie a ordinului

Formulele de calcul ale polinoame de ordin înalt, iar valoarea de ieșire este mai dificilă decât calcularea unui prim ordin polinom. Prin urmare, polinoame de ordin superior sunt folosite pentru imagini care necesită pentru a se lega distorsiuni mai complexe. Pentru a înțelege influența diferitelor comenzi pentru conversia rectificare imagine este util să se ia în considerare valoarea de ieșire a polinoame de diferite ordine.

În acest exemplu, pentru simplu, folosind doar unul de coordonate (X), în loc de două (X, Y), care pentru calcul, o transformare polinom. Acest lucru permite utilizarea unor grafice bidimensionale care ilustrează modul în care utilizarea conversia unui anumit ordin de a se asocia sursa și coordonatele de destinație. Datorită faptului că, în exemplul folosit numai coordonatele X, numărul de puncte de control utilizate mai puțin necesare într-adevăr pentru ordinele respective schimba.

Coeficienți, cum ar fi cele utilizate în exemplul sunt calculate în general prin metoda celor mai mici pătrate. Să presupunem că următoarele puncte de referință sunt introduse:

X inițiale de coordonate

Ultimate X coordonate

Aceste puncte permit de a converti ordinul 1 pentru coordonatele X, care satisfac următoarea ecuație (coeficienții sunt prezentate în paranteze):

Unde: xr = sfârșit de coordonate X, xi = X inițial de coordonate

În acest caz, ecuația ia aceeași formă ca și ecuația unei linii (y = b + mx), și, prin urmare, liniaritatea transformării.

Cu toate acestea, ceea ce se întâmplă în cazul în care al doilea punct de control, să modifice?

X inițiale de coordonate

Ultimate X coordonate

Aceste puncte nu pot fi conectate o linie dreaptă, ceea ce înseamnă că acestea nu pot fi descrise printr-un polinom de ordinul 1, așa cum este descris mai sus.

În acest caz, aceste puncte sunt exprimate în termeni de ordinul a 2 polinomul:

Polinoame de ordinul 2 și mai mare - neliniare.

Ce se întâmplă dacă adăugați un alt punct de control?

X inițiale de coordonate

Ultimate X coordonate

După cum se vede în figură, al patrulea punct se află pe curba exprimată printr-o ecuație polinomială de ordinul 2. Pentru toate punctele situate pe curba, ordinea transformării trebuie crescută la 3. Ecuația rezultată și curba prezentată în figură.

Figura ilustrează conversia ordinii 3a. Cu toate acestea, poate că este prea complicat ecuație. Efectuarea de coordonate de conversie cu ajutorul acestei ecuații, poate provoca variații neașteptate în imaginea rezultată, atunci când încearcă să realizeze cea mai bună potrivire a punctelor de control inițial pentru a pune capăt. Poate că, în acest exemplu, utilizarea de conversie, pentru a 3-a fost inutilă deoarece pixelii care rezultă ordine diferită de ordinea pixelilor de intrare ale axei X (punctul 4 răsărite pe locul 3, 3 a fost locul 4).

X inițiale de coordonate

Ultimate X coordonate

x (1)> x (2)> x (4)> x (3)

În acest caz, conversia unui ordin superior nu poate fi rezultatul intenționat, imaginea este puternic distorsionată.

Numărul minim de puncte de control

Conversiile de comenzi mai mari pot fi folosite pentru a corecta tipuri foarte complexe de distorsiune. Cu toate acestea, creșterea numărului de puncte de control necesare pentru a utiliza transformări de ordin superior. De exemplu, în planul definit de 3 puncte. astfel aplicând transformarea la ordinul 1, care este exprimată prin ecuația plan care necesită un minim de 3 puncte. De asemenea, conversia ordinul 2-lea este exprimat printr-un paraboloid. Pentru a determina ecuația paraboloidului necesită 6 puncte. Prin urmare, cel puțin 6 puncte de referință necesare pentru conversia a două ordine. Numărul minim de puncte necesare pentru a transforma-t-lea ordin se calculează după cum urmează:

Folosind o cantitate mai mare de puncte de referință minime este de asemenea posibilă. Cu toate că, probabil, se va da o potrivire mai bună, de multe ori crește numărul de puncte nu contează.

Tabelul următor listează numărul minim de puncte de control necesare pentru comenzi de transformare de la 1 la 10 minute.

Numărul minim de puncte de control