geometria obrazu wykład 8
DESCRIPTION
Geometria obrazu Wykład 8. Zastosowania triangulacji Delaunay cd. Przerzedzanie triangulacji – modelowanie terenu, – kompresja danych. 2.Badanie odcisków palców. Przerzedzanie triangulacji. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/1.jpg)
Geometria obrazuWykład 8
Zastosowania triangulacji Delaunay cd.
1. Przerzedzanie triangulacji
– modelowanie terenu,
– kompresja danych.
2. Badanie odcisków palców
![Page 2: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/2.jpg)
Przerzedzanie triangulacji.
Niech X = {x1, x2, ... , xN} R2 będzie danym zbiorem na płaszczyźnie, a fX = (f(x1), f(x2), ... , f(xN)) RN oznacza odpowiadający X ciąg wartości nieznanej funkcji f : R2 R.
Algorytm przerzedzania triangulacji polega na rekurencyjnym usuwaniu punktów ze zbioru X zgodnie z ustalonymi wcześniej kryteriami.
Niech n oznacza liczbę usuwanych elementów. Wtedy algorytm przyjmuje następującą ogólną postać:
XN:=X;
for k:=1 to n do
begin
zlokalizuj usuwalny punkt x XN-k+1 ;
XN-k := XN-k+1\ x ;
end
![Page 3: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/3.jpg)
W wyniku działania tego algorytmu otrzymujemy ciąg zbiorów punktów wyznaczających kolejne triangulacje:
XN-n ... XN-1 XN = X .
Po usunięciu punktu powstały w ten sposób wielokąt ponownie triangulujemy tak, aby ponownie otrzymać triangulację Delaunay.
Ponieważ zaburzenie triangulacji Delaunay ma tylko charakter lokalny, wystarczy tylko striangulować wielokąt wyznaczany przez sąsiadów usuwanego punktu.
![Page 4: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/4.jpg)
Głównym problemem jest zdefiniowanie kryteriów określających usuwalność punktów.
Modelowaną powierzchnię przybliżamy funkcjami sklejanymi (spline) będącymi funkcjami liniowymi na każdym trójkącie triangulacji.
Dla każdego podzbioru zbioru Y X możemy zdefiniować taką funkcję
SY = {s: s C(CH(Y)) oraz s|T jest liniowa na każdym T DT(Y)}.
Fakt.
Dla każdego wektora fY liniowy spline L(Y,f) taki, że L(Y,f)(y) = f(y) dla każdego y Y, jest jednoznacznie określony.
![Page 5: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/5.jpg)
Definicja.
Dla danej normy |||| w RN błędem aproksymacji funkcji f na zbiorze X przez spline określony na zbiorze Y = Xr X nazywamy wartość
(Y,X) = ||L(Y,f)|X – fX||.
W zależności od rozpatrywanej normy otrzymujemy np.
(Y,X) = maxxX |L(Y,f)(x) – f(x)| lub
2(Y,X) = (xX |L(Y,f)(x) – f(x)|2)1/2 .
Chcielibyśmy dla N-n < k < N znaleźć zbiór Y* X taki, że
|Y*| = k oraz (Y*,X) = minYX, |Y| = k (Y,X).
![Page 6: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/6.jpg)
Niestety tak sformułowany problem jest NP-trudny.
Dlatego wykorzystując metodę zachłanną będziemy poszukiwać jak najlepszego rozwiązania.
Kryterium usuwalności AT.
Dla Y X punkt y* Y jest usuwalny z Y wtedy i tylko wtedy, gdy
(Y \ y*,X) = minyY (Y \ y,X).
Wartość e(y) = (Y \ y,X) nazywamy przewidywanym błędem.
W zależności od zastosowania stosuje się różne kryteria usuwalności, które wpływają na postać przewidywanych błędów.
![Page 7: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/7.jpg)
Modelowanie terenu.
Kryterium usuwalności AT.
Dla Y X punkt y* Y jest usuwalny z Y wtedy i tylko wtedy, gdy
(Y \ y*,X) = minyY (Y \ y,X) (określamy minimalne odchylenie).
Niech C(y) określa obszar wyznaczany przez sąsiadów punktu y oraz e1(y) = (Y \ y,X C(y)).
Kryterium usuwalności AT1.
Dla Y X punkt y* Y jest usuwalny z Y wtedy i tylko wtedy, gdy
e1(y*) = minyY e1(y).
![Page 8: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/8.jpg)
Przykład.
AT AT1.
0
-3
0
-1
5
0
2,5
-1,1
![Page 9: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/9.jpg)
Aby przyspieszyć obliczenia możemy nieco uprościć powyższą definicję.
Niech e’(y) = (Y \ y,Y). Wtedy możemy zdefiniować kryterium usuwalności AT2 w następujący sposób:Dla Y X punkt y* Y jest usuwalny z Y wtedy i tylko wtedy, gdy
e’(y*) = minyY e’(y).
Powyższe kryteria odnoszą się do algorytmów przerzedzania dopasowa-nego, tzn. uwzględniającego wartości funkcji f. Można też upraszczać model terenu stosując metody niedopasowane, tzn. bazujące tylko na danych dotyczących zbioru punktów X. Jednym z tego typu kryteriów jest NAT, w którym priorytet wyboru punktów usuwalnych określany jest przez stosunek
minyX \ x d(x, y) / min d(x, ), gdzie d( ) jest funkcją odległości a oznacza brzeg obszaru zawiera-jącego X.
![Page 10: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/10.jpg)
Przykład.
Modele gór Hurrungane (Norwegia) w NAT i AT1 i odpowiadające im siatki.
[L. Demaret et al. „Adaptive thinning for terrain modeling and image compression”]
![Page 11: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/11.jpg)
Kompresja obrazu.
W tym przypadku będziemy starać się minimalizować błąd średnio-kwadratowy ((2(Y,X))2/N).
Niech e(y) = (2(Y \ y,X))2 dla y Y. Minimalizacja e(y) jest równoważna minimalizacji
e(y) = (2(Y \y,X C(y)))2 – (2(Y,X C(y)))2 dla y Y.
Zdefiniujmy kryterium usuwalności AT2:Dla Y X punkt y* Y jest usuwalny z Y wtedy i tylko wtedy, gdy
e(y*) = minyY e(y).
Fakt.
Algorytmy wykorzystujące kryteria NAT, AT1, AT2 działają w czasie O(N log N).
![Page 12: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/12.jpg)
Niech X będzie zbiorem pikseli 2q x 2q a przedział [0, 2r-1] określa skalę barw. Definiujemy miarę zniekształcenia przy kompresji obrazu PSNG (Peak Signal to Noise Ratio) jako
10*log10(2r x 2r x N/ (2(Y,X))2).
Postępując podobnie jak poprzednio obliczamy aproksymację L*(Y,F) SY, gdzie F = f|Y, spełniającą warunek
(i,j)X |L*(Y,F)(i,j) – f(i,j)|2 = mins (i,j)X |s(i,j) – f(i,j)|2 , gdzie s SY.
Postępując odwrotnie do kodowania obliczamy wartości funkcji f.
Notka.
SPIHT (Set Partitioning Into Hierarchical Trees) – metoda kompresji bazująca na transformacjach falkowych.
![Page 13: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/13.jpg)
Przykład.
Porównanie kompresji i dekompresji wykonanych z pomocą SPIHT (b) i AT2 (d) oraz triangulacja najbardziej znaczących punktów obrazu (c).
[L. Demaret et al. „Adaptive thinning for terrain modeling and image compression”]
![Page 14: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/14.jpg)
Badanie odcisków palców.
Na odcisku palca określamy zbiór istotnych punktów.
Zwykle są to końce linii papilarnych lub punkty, w których się one łączą. Dla danego zbioru punktów tworzymy triangulację Delaunay.
[G. Bebis et al. „Fingerprint Identyfication Using Delaunay Triangulation”]
![Page 15: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/15.jpg)
Każdy trójkąt triangulacji jest opisany za pomocą trzech zmiennych. Niech l1, l2, l3 oznaczają długości boków danego trójkąta w porządku niemalejącym. Niech α będzie katem przeciwległym do krawędzi o maksymalnej długości.
Wtedy zmienne z1, z2, z3 przyjmują wartość:
0 ≤ z1 = l1/l3 ≤ 1,
0 ≤ z2 = l2/l3 ≤ 1,
-1 ≤ z3 = cos α ≤ 1.
Następnie skalujemy zmienne, określając odpowiednie progi tak, aby zmienne były liczbami całkowitymi.
![Page 16: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/16.jpg)
Badamy odpowiednie triangulacje dla wzorca i danych z bazy.
Dla trójkątów opisanych tymi samymi zmiennymi zapamiętujemy parametry odpowiedniego przekształcenia w przestrzeni transformacji.
Obszar w przestrzeni transformacji, w którym znajduje się najwięcej punktów odpowiadających odwzorowaniom różnych trójkątów wskazuje na przekształcenie, które najlepiej dopasowuje oba obrazy.
Po dokonaniu takiego przekształcenia, można z pomocą przekształcenia afinicznego dodatkowo dopasować trójkąty, które niewiele się różnią.
Procentową zgodność dopasowania określa formuła 200n/(p+q), gdzie n oznacza liczbę pokrywających się punktów, a p i q są liczbami wierz-chołków badanych triangulacji.
![Page 17: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/17.jpg)
Przykład.
Dopasowane dwie triangulacje przed i po afinicznej korekcie.
[G. Bebis et al. „Fingerprint Identyfication Using Delaunay Triangulation”]
![Page 18: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/18.jpg)
Dziękuję za uwagę.
![Page 19: Geometria obrazu Wykład 8](https://reader035.vdocuments.mx/reader035/viewer/2022062309/5681444f550346895db0ed0c/html5/thumbnails/19.jpg)
Ćwiczenia.
1. Dany jest zbiór punktów P i zbiór nieprzecinających się krawędzi E.
Jaki jest najniższy rząd triangulacji P zawierającej krawędzie z E ?
Otwarty problem: Znajdź efektywny algorytm obliczający taką triangulację.
2. Jak umieścić dodatkowe punkty na krawędziach z E, aby zmniejszyć rząd triangulacji do danego k (np. k = 0) ?