Geometria obrazu Wykład 8 Zastosowania triangulacji Delaunay cd. Przerzedzanie triangulacji – modelowanie terenu, – kompresja danych. 2. Badanie odcisków palców
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
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.
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.
(Y,X) = ||L(Y,f)|X – fX||. 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).
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.
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. e1(y*) = minyY e1(y).
Przykład. AT AT1. -3 -1 5 2,5 -1,1
minyX \ x d(x, y) / min d(x, ), 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.
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”]
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).
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.
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”]
Badanie odcisków palców 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”]
Każdy trójkąt triangulacji jest opisany za pomocą trzech zmiennych 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.
Badamy odpowiednie triangulacje dla wzorca i danych z bazy 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.
Przykład. Dopasowane dwie triangulacje przed i po afinicznej korekcie. [G. Bebis et al. „Fingerprint Identyfication Using Delaunay Triangulation”]
Dziękuję za uwagę.
Ćwiczenia. 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) ?