Uniwersytet Warmińsko-Mazurski w Olsztynie
Wydział Geodezji i Gospodarki Przestrzennej
Katedra Fotogrametrii i Teledetekcji
Sprawozdanie
Analityczna orientacjia pary zdjęć za pomocą programu DDPS
Wykonała:
DDPS – opis programu (przeznaczenie, funkcjonalność).
DDPS (Didactic and Digital Photogrammetric Software) jest programem przeznaczonym do celów dydaktycznych. Został napisany w języku C++, posiada
wygodny w użyciu interfejs graficzny, menu w języku angielskim. Realizuje podstawowe
etapy pracy fotogrametrycznej stacji roboczej. Program wykorzystuje 8-bitowe obrazy skanowanych zdjęć lotniczych w formacie BMP. Operator może pracować na zdjęciach dołączonych do programu lub własnych, po kolei wykonując: orientację wewnętrzną, wzajemną, bezwzględną, pomiar danych do NMT, aż do sporządzenia ortofoto. DDPS nie jest przystosowany do obserwacji stereoskopowej, pozwala na pomiar punktów homologicznych, który może być wykorzystany do pomiaru danych do NMT.Ułatwieniem dopasowania obrazów są wygenerowane po orientacji wzajemnej lub
bezwzględnej obrazy epipolarne. Dane pomiarowe pozwalają na utworzenie NMT w postaci siatki, w jej obrębie można sporządzić ortofoto. Wizualizacja i generowanie modelu
VRML pozwala na przedstawienie danych 3D. W programie można wykonać superpozycję
ortofotomapy na NMT w celu ewentualnego zwizualizowania za pomocą programów typu
VRML Viewer, dostępnych w sieci.
Pracę z programem rozpoczyna się od założenia projektu, wczytania zdjęć dołączonych
do programu lub własnych, wczytania pliku z parametrami metryki kamery, który
można przeglądać i modyfikować w module New Calibration Certificate.
Orientacja wewnętrzna w module Inner Orientation wykonywana jest przez pomiar
znaczków tłowych w ustalonym układzie współrzędnych, z dokładnością podpikselową.
Dostępną transformację z układu pikselowego do układu ramki tłowej jest transformacja
afiniczna, toteż odchyłki na znaczkach pojawiają się po pomiarze trzeciego znaczka. Na
ekranie poniżej okna obrazu pojawiają się obserwacje i współrzędne wzorcowe. W okienku tekstowym przedstawione są parametry transformacji zdjęcie-kamera jak i transformacji odwrotnej. Obliczone parametry należy zapisać ręcznie w pliku o rozszerzeniu *.Olparam, aby móc przejść do następnego etapu opracowania: orientacji wzajemnej. Wykonywana jest ona w układzie modelu definiowanego przez bazę zdjęć, po pomiarze punktów homologicznych w rejonach Grubera i uruchomieniu obliczeń pokazują się obserwacje i paralaksy w układzie tłowym, niestety bez obliczonej ich średniej, co utrudnia podjęcie szybkiej decyzji, co do prawidłowości wyników tego etapu.
W celu obliczenia orientacji bezwzględnej należy wprowadzić nazwy plików ze
współrzędnymi modelu oraz współrzędnymi fotopunktów, w którym można zadeklarować,
które punkty mają być wyłączone z wyrównania. Współrzędne fotopunktów i odchyłki na
nich pojawiają się po wykonaniu orientacji, dostępne są też parametry transformacji
i elementy orientacji zewnętrznej zdjęć. Brak wartości średniokwadratowej odchyłki
utrudnia szybkie oszacowanie jakości orientacji. Współrzędne terenowe punktów wiążących wykorzystywanych w orientacji wzajemnej nie są na tym etapie obliczane, jeśli
chcemy je wyznaczyć, należy posłużyć się odrębną funkcją. Automatyczny pomiar do NMT przy niewłaściwym doborze parametrów może dać niewłaściwe dopasowania, bezpieczniej jest wykonać go manualnie. Oczywiście nie jest to proste, ponieważ nie ma możliwości pracy na modelu stereoskopowym.
2. Dane do projektu (metryka kalibracji kamery, zdjęcia w postaci cyfrowej, współrzędne fotopunktów)
Dane wejściowe
a) zeskanowane zdjęcia zapisane w formacie .bmp;
49 i 50
b) metryka kalibracji kamery umieszczona w pliku LMK 2030_273507.cc
Struktura pliku LMK 3030_273507.cc:
BEGIN_CC
FOCALE 305.335
UNIT 0.001 meters
BEGIN_FIDUCIAL_COORD
1 112.0290000000 0.0030000000
2 -111.9910000000 0.0090000000
3 0.0160000000 -112.0030000000
4 0.0090000000 112.0210000000
5 110.0170000000 -110.0040000000
6 -109.9920000000 110.0160000000
7 -109.9920000000 -109.9890000000
8 110.0180000000 110.0060000000
END_FIDUCIAL_COORD
END_CC
c) współrzędne terenowe fotopunktów (X, Y, Z) zapisane w pliku z rozszerzeniem .OActrl
Struktura pliku 49_50.OActrl:
BEGIN_TERRAIN_POINTS
3015 -5956957.988 7466054.047 124.478 ctrl
3018 -5957465.511 7464493.518 121.985 ctrl
94804 -5957679.240 7466149.295 119.565 ctrl
94906 -5956936.237 7464413.445 110.909 ctrl
94913 -5957172.335 7465319.685 112.579 ctrl
END_TERRAIN_POINTS
3. Orientacja wewnętrzna – pomiar znaczków tłowych (wykaz współrzędnych pikselowych i poprawek Vx’, Vy’, zrzut ekranowy wyników pomiarów i obliczeń, opis, obliczenie RMS Vx’, RMS Vx’, analiza dokładności), wyznaczenie współczynników transformacji afinicznej (protokół obliczeń, opis).
Etap ten polega na wyznaczeniu parametrów transformacji afinicznej: a0, a1, a2, b0, b1, b2.
Współczynniki te wyznaczają zależności między współrzędnymi pikselowymi i
współrzędnymi tłowymi.
Model transformacji afinicznej wykorzystany w oprogramowaniu DDPS:
gdzie:
xpxl, ypxl – współrzędne pixelowe zdjęcia;
xtł, ytł – współrzędne tłowe zdjęcia;
parametry transformacji afinicznej:
a0-przesunięcie względem osi x b0-przesunięcie względem osi y
a1-obrót zględem osi x b1-obrót zględem osi y
a2 -zmiana skali względem osi x b2 -zmiana skali względem osi y
Wyznaczenie parametrów transformacji afinicznej nastąpiło w oparciu o 8 punktów
dostosowania, którymi na etapie orientacji wewnętrznej były znaczki tłowe. Ponieważ znane
były współrzędne tłowe tych znaczków (zapisane w pliku kalibracji kamery LMK3030_273507.cc ),
a także pomierzone zostały na tym etapie ich współrzędne pikselowe, to pary tych obserwacji pozwoliły na utworzenie 16 równań poprawek i wyznaczenie metodą najmniejszych kwadratów współczynników transformacji afinicznej.
- Liczba równań poprawek: m = 8 x 2 = 16;
-Liczba niewiadomych (parametrów): n = 6;
-Liczba obserwacji nadliczbowych): r = 16 – 6 = 10.
Etap ten zakończył się wygenerowaniem do pliku z rozszerzeniem .OIparam parametrów
orientacji wewnętrznej oddzielnie dla każdego ze zdjęć: lewego i prawego. Ponadto zostały
stworzone przeze mnie dwa pliki tekstowe zawierające współrzędne pikselowe oraz poprawki
do tych współrzędnych również oddzielnie dla każdego ze zdjęć.
Dokonano tu także analizy dokładności otrzymanych wartości poprawek dla obu zdjęć.
Przyjęto, że maksymalna wartość poprawki Vxmax oraz Vymax będzie wynosiła połowę
wielkości piksela, tj. ok 10µm. Przekroczenie tej wartości powodowało konieczność
ponownego wyznaczenia parametrów transformacji.Średnia kwadratowa RMS z tych wartości nie powinna przekraczać kilku µm
Współrzędne pikselowe i wartości poprawek dla zdjęcia 49:
Współrzędne pikselowe i wartości poprawek dla zdjęcia 50:
Na
etapie transformacji bezwzględnej otrzymałam następujące
poprawki:
Zdjęcie lewe 49 |
Zdjęcie prawe 50 |
Vxmax=-0,006 RMS(Vx)=0,004 Vymay=-0,007 RMS(Vy)=0,004
|
Vxmax=0,002 RMS(Vx)=0,001 Vymay=-0,007 RMS(Vy)=0,003 |
Zawartość pliku 49mg.OIparam:
BEGIN_OI_PARAMS
BEGIN_IMG2PHOTO
0.02101222705941443700 0.00000999957370644402 -121.04883014453242000000
0.00000932411305204625 -0.02101106747939535500 118.23219999440991000000
END_IMG2PHOTO
BEGIN_PHOTO2IMG
47.59132786998539200000 0.02264969187411480800 5758.19665653637550000000
0.02111961745582202600 -47.59395435938151300000 5629.69445445885230000000
END_PHOTO2IMG
END_OI_PARAMS
Zawartość pliku 50mg.OIparam:
BEGIN_OI_PARAMS
BEGIN_IMG2PHOTO
0.02101239394678569600 0.00000800209638423610 -120.98208143427222000000
0.00000750082700797265 -0.02101073566958431100 118.25529723858641000000
END_IMG2PHOTO
BEGIN_PHOTO2IMG
47.59095352089707400000 0.01812538565213373000 5755.50919523760970000000
0.01698994384849672500 -47.59470957691515000000 5630.38201887643120000000
END_PHOTO2IMG
END_OI_PARAMS
4. Orientacja wzajemna zdjęć – pomiar 6. punktów w strefach Gruber’a i 9. punktów homologicznych (szkic rozmieszczenia punktów, zrzut ekranowy wyników pomiarów i obliczeń, opis, obliczenie RMS pY,, analiza dokładności), analityczne wyznaczenie 5. kątowych elementów orientacji (protokół obliczeń, opis).
Na tym etapie stworzony został lokalny układ współrzędnych dla pary zdjęć, gdzie początek
tego układu zlokalizowany został w środku lewego zdjęcia, a oś odciętych pokrywa się z
poziomą bazą fotografowania (stanowiącą odległość między środkami rzutów lewego i
prawego zdjęcia). Następnie pomierzono 15 punktów homologicznych zlokalizowanych w
strefie podwójnego pokrycia. Sześć spośród tych punktów zlokalizowano w strefach około
standardowych, a pozostałe wypełniły przestrzenie między tymi punktami, tak, aby
rozmieszczenie wszystkich było jak najbardziej równomierne.
Na podstawie znanych współczynników transformacji afinicznej wyznaczono współrzędne
tłowe punktów homologicznych. Następnie ułożono równania poprawek do paralaks
poprzecznych i w oparciu o te równania stosując Metodę Najmniejszych Kwadratów
(minimalizowana wartość paralaksy poprzecznej) uzyskano parametry kątowe orientacji
wzajemnej:
- χ’, χ’’ – kąt skręcenia zdjęcia odpowiednio: prawego i lewego,
- ϕ’, ϕ’’ – kąt nachylenia podłużnego zdjęcia odpowiednio: prawego i lewego,
- ∆ω = ω’’ – kat nachylenia poprzecznego lewego zdjęcia.
-Liczba równań poprawek: m = 15 x 1 = 15;
-Liczba niewiadomych (parametrów): n = 5;
-Liczba obserwacji nadliczbowych): r = 15 – 5 = 10.
Szkic rozmieszczenia punktów
Pierwszym plikiem, który uzyskaliśmy w efekcie pomiaru punktów standardowych i około
standardowych jest plik z rozszerzeniem .hmlg, który zawiera współrzędne pikselowe zdjęcia
lewego i prawego.
Struktura pliku 49_50mg.hmlg:
BEGIN_HOMOLOG_POINTS
10000 5739.79518107746940000000 5220.87148616625560000000 1609.72670583039100000000 5392.21738898369950000000
10001 4591.00000000000000000000 1007.00000000000000000000 539.25000000000000000000 1205.25000000000000000000
10003 9526.50000000000000000000 812.75000000000000000000 5432.75000000000000000000 1039.00000000000000000000
10004 10706.00000000000000000000 4735.25000000000000000000 6545.25000000000000000000 4955.50000000000000000000
10005 7303.25000000000000000000 10441.75000000000000000000 3118.25000000000000000000 10635.50000000000000000000
10006 5760.75000000000000000000 10722.75000000000000000000 1577.75000000000000000000 10893.75000000000000000000
10007 6835.50000000000000000000 797.25000000000000000000 2759.75000000000000000000 1009.25000000000000000000
10008 5157.20080373081330000000 3677.81124530668740000000 1056.16148790355240000000 3853.30434621948460000000
10009 7225.00000000000000000000 3175.00000000000000000000 3115.50000000000000000000 3370.25000000000000000000
10010 10051.75903656172900000000 2793.86747010895080000000 5937.10558682340520000000 3011.85093045294070000000
10011 7790.77911684825180000000 5170.34538179377610000000 3655.63974859460630000000 5362.26086760159250000000
10012 5318.13654681394110000000 8483.75502050442450000000 1184.42856673627190000000 8643.21738898369950000000
10013 8098.16465921507280000000 7957.22088401733620000000 3955.57142505220420000000 8152.74533952377350000000
10014 9762.16064315776750000000 6979.38152630951660000000 5626.08074189889520000000 7192.80745183504860000000
10015 9998.75502050442450000000 10393.85542193703800000000 5846.18012159693440000000 10629.81366306617600000000
END_HOMOLOG_POINTS
Zrzut ekranowy wartości paralaks poprzecznych
Pmax= -0,006
RMS(Py)=0,001
Również na tym etapie przeprowadzono analizę dokładności otrzymanych wyników, a
dokładnie wielkości otrzymanych paralaks poprzecznych na poszczególnych punktach
homologicznych. Podobnie jak w poprzednim etapie, tak i tutaj maksymalna wartość nie
powinna przekraczać wartości połowy piksela, tj. ok 10µm, natomiast średnia wartość
powinna wynosić kilka µm.
Parametry kątowe orientacji wzajemnej zostały wygenerowane do pliku 49_50mg.ORparam
Struktura pliku 49_50mg.ORparam:
BEGIN_OR_PARAMS
-0.010504287966818869 -7.4298404311433033e-005 -0.0015979701818100622 0.01409207947398371 0.011719423620601894
END_OR_PARAMS
5. Orientacja bezwzględna modelu – pomiar min. 3. fotopunktów (szkic rozmieszczenia F-któw, zrzut ekranowy wyników pomiarów i obliczeń, opis, obliczenie wartości RMS dX, RMS dY, RMS dZ, analiza dokładności), analityczne wyznaczenie 7. parametrów orientacji bezwzględnej modelu (protokół obliczeń, opis).
W tym etapie należało pomierzyć współrzędne pikselowe fotopunktów, które mają znane
współrzędne w układzie terenowym (dane o nich zawarto w pliku 49_50mg.OActrl), na
podstawie znanych współczynników transformacji afinicznej przetransformować te punkty do
układu tłowego zdjęć, następnie do układu modelu znając kątowe parametry orientacji
wzajemnej. Ponadto mając współrzędne terenowe fotopunktów oraz ich współrzędne w
układzie modelu ułożono równania poprawek Vx, Vy, Vz i Metodą Najmniejszych
Kwadratów wyznaczono siedem parametrów konforemnej przestrzennej transformacji przez
podobieństwo: k – współczynnik zmiany skali, parametry kątowe Ω, Φ, K, oraz parametry
translacji Xo, Yo, Zo.
-Liczba równań poprawek: m = 4 fotopunkty x 3 współrzędne = 12;
-Liczba niewiadomych (parametrów): n = 7;
-Liczba obserwacji nadliczbowych: r = 12 – 7 = 5.
Parametry transformacji bezwzględnej zostały wygenerowane do pliku z rozszerzeniem
.OAparam, wartości pomierzonych współrzędnych pikselowych fotopunktów na obu
zdjęciach wygenerowano do pliku z rozszerzeniem .OAhmlg, oraz utworzono plik .txt, w
którym zapisano wartości dx, dy, dz – stanowiących różnice między współrzędnymi
terenowymi fotopunktów a współrzędnymi wyznaczonymi fotogrametrycznie.
Szkic rozmieszczenia fotopunktów
Różnice współrzędnych:
RMS(dx) |
RMS(dy) |
RMS(dz) |
0,10 |
0,08 |
0,09 |
Analizą dokładności otrzymanych wyników na etapie orientacji bezwzględnej było
przeanalizowanie wartości dx, dy i dz. Dla celów zadania nie mogły one przekraczać 30 cm.
Struktura pliku 49_50mg.OAparam:
base 90.00000000000000000000
BEGIN_OA_PARAMS
om -0.00443547907809150890
fi -0.00185392122040670210
ka -0.02771845802036217900
k 8.12644424452102680000
Xo -5957638.58361283880000000000
Yo 7465286.57708250360000000000
Zo 2557.87592891610530000000
END_OA_PARAMS
Struktura pliku 49_50mg.OAhmlg:
BEGIN_HOMOLOG_POINTS
3015 9595.22891507416350000000 831.63855382932707000000 5502.00000000000000000000 1058.00000000000000000000
3018 6913.30522009888410000000 10247.63855382932700000000 2731.50000000000000000000 10434.00000000000000000000
94804 5269.23293062648370000000 429.12449760921186000000 1223.00000000000000000000 638.00000000000000000000
94906 10058.47389474026600000000 10577.48995933220600000000 5900.50000000000000000000 10816.00000000000000000000
94913 8464.95180622418050000000 5265.04016028852130000000 4352.00000000000000000000 5463.00000000000000000000
END_HOMOLOG_POINTS
6. Transformacja 3D – wyznaczenie współrzędnych przestrzennych punktów modelu w układzie
terenowym (protokół obliczeń, opis).
W tym etapie wyznaczono współrzędne terenowe punktów homologicznych pomierzonych w
etapie orientacji wzajemnej, które zostały wtedy pomierzone. Współrzędne terenowe
wyznaczono na podstawie parametrów konforemnej przestrzennej transformacji przez
podobieństwo zapisanych w pliku z rozszerzeniem .OAparam. Etap ten zakończono
wygenerowaniem pliku z rozszerzeniem .OAApply.
Struktura pliku 49_50mg.OAApply:
ID type layer code X left Y left X right Y right X terr Y terr Z terr
BEGIN_OA_APPLY
10000 resti default default 5739.79518107746940000000 5220.87148616625560000000 1609.72670583039100000000 5392.21738898369950000000 -5957630.70008409950000000000 7465344.06708269940000000000 130.02806845472605000000
10001 resti default default 4591.00000000000000000000 1007.00000000000000000000 539.25000000000000000000 1205.25000000000000000000 -5957796.11336697450000000000 7466055.69698442050000000000 123.31870714405250000000
10003 resti default default 9526.50000000000000000000 812.75000000000000000000 5432.75000000000000000000 1039.00000000000000000000 -5956969.61569495870000000000 7466057.32135954500000000000 125.05377164481069000000
10004 resti default default 10706.00000000000000000000 4735.25000000000000000000 6545.25000000000000000000 4955.50000000000000000000 -5956801.92662348780000000000 7465393.38593432310000000000 142.44530951814022000000
10005 resti default default 7303.25000000000000000000 10441.75000000000000000000 3118.25000000000000000000 10635.50000000000000000000 -5957401.40032216630000000000 7464458.46786963470000000000 122.46917313338145000000
10006 resti default default 5760.75000000000000000000 10722.75000000000000000000 1577.75000000000000000000 10893.75000000000000000000 -5957662.01176385210000000000 7464420.87182942960000000000 121.13971637242776000000
10007 resti default default 6835.50000000000000000000 797.25000000000000000000 2759.75000000000000000000 1009.25000000000000000000 -5957419.58446904740000000000 7466076.73841545080000000000 124.11365934429023000000
10008 resti default default 5157.20080373081330000000 3677.81124530668740000000 1056.16148790355240000000 3853.30434621948460000000 -5957718.26424063370000000000 7465605.44859483840000000000 127.65767239726665000000
10009 resti default default 7225.00000000000000000000 3175.00000000000000000000 3115.50000000000000000000 3370.25000000000000000000 -5957369.49556149360000000000 7465676.74770239460000000000 126.22352636051119000000
10010 resti default default 10051.75903656172900000000 2793.86747010895080000000 5937.10558682340520000000 3011.85093045294070000000 -5956894.04126334380000000000 7465722.92285061910000000000 126.01260433369771000000
10011 resti default default 7790.77911684825180000000 5170.34538179377610000000 3655.63974859460630000000 5362.26086760159250000000 -5957287.32191549990000000000 7465339.64814626520000000000 126.70905737997646000000
10012 resti default default 5318.13654681394110000000 8483.75502050442450000000 1184.42856673627190000000 8643.21738898369950000000 -5957722.40583570020000000000 7464797.71129960100000000000 110.52875690400879000000
10013 resti default default 8098.16465921507280000000 7957.22088401733620000000 3955.57142505220420000000 8152.74533952377350000000 -5957251.10536527070000000000 7464869.01351509240000000000 113.75521314422167000000
10014 resti default default 9762.16064315776750000000 6979.38152630951660000000 5626.08074189889520000000 7192.80745183504860000000 -5956965.47729902060000000000 7465023.26513604260000000000 116.38516730512583000000
10015 resti default default 9998.75502050442450000000 10393.85542193703800000000 5846.18012159693440000000 10629.81366306617600000000 -5956944.37562238700000000000 7464444.02275900260000000000 108.44889848974935000000
END_OA_APPLY