YaDIC

YaDIC
Oryginalni autorzy Coudert Sébastien, Seghir Rian, Witz Jean-françois
Pierwsze wydanie styczeń 2012 ; 11 lat temu ( 2012-01 )
Wersja stabilna
v04.14a / 27 maja 2015 ; 7 lat temu ( 2015-05-27 )
Magazyn nicEdit this at Wikidata
Napisane w C++
System operacyjny Linuks
Rozmiar 18,4 MB
Typ Przetwarzanie obrazu
Licencja GPLv2 lub nowszy
Strona internetowa yadics .univ-lille1 .fr /wordpress /

YaDICs to program napisany w celu przeprowadzania cyfrowej korelacji obrazów tomograficznych 2D i 3D. Program został zaprojektowany tak, aby był zarówno modułowy, dzięki strategii wtyczek, jak i wydajny dzięki strategii wielowątkowości. Obejmuje różne przekształcenia (globalne, elastyczne, lokalne), optymalizację strategii (Gauss-Newton, najbardziej strome zejście), globalne i/lub lokalne funkcje kształtu (ruchy sztywnego ciała, jednorodne dylatacje, zginanie i brazylijskie modele testowe)...

Podłoże teoretyczne

Kontekst

W mechanice ciał stałych cyfrowa korelacja obrazu jest narzędziem pozwalającym na identyfikację pola przemieszczeń w celu zarejestrowania obrazu referencyjnego (nazywanego tutaj obrazem stałym) do obrazów podczas eksperymentu (obraz ruchomy). Na przykład można obserwować powierzchnię próbki z namalowaną plamką, aby określić jej pola przemieszczeń podczas próby rozciągania . Przed pojawieniem się takich metod badacze zwykle używali tensometrów do pomiaru stanu mechanicznego materiału, ale tensometry mierzą tylko odkształcenie w punkcie i nie pozwalają zrozumieć materiału o niejednorodnym zachowaniu. Można uzyskać pełny tensor odkształcenia w płaszczyźnie przez wyprowadzenie pól przemieszczeń. Wiele metod opiera się na przepływie optycznym .

W mechanice płynów stosowana jest podobna metoda, zwana Particle Image Velocimetry (PIV); algorytmy są podobne do algorytmów DIC, ale nie można zapewnić zachowania przepływu optycznego, więc zdecydowana większość oprogramowania wykorzystywała znormalizowaną metrykę korelacji krzyżowej.

W mechanice jedynym problemem są pola przemieszczenia lub prędkości, rejestracja obrazów to tylko efekt uboczny. Istnieje inny proces zwany rejestracją obrazu przy użyciu tych samych algorytmów (na obrazach monomodalnych), ale w którym celem jest rejestracja obrazów, a tym samym identyfikacja pola przemieszczenia jest tylko efektem ubocznym.

YaDICs wykorzystuje ogólną zasadę rejestracji obrazu ze szczególnym uwzględnieniem podstawy pól przemieszczeń.

Zasada rejestracji obrazu

YaDIC można wyjaśnić za pomocą klasycznej struktury rejestracji obrazu:

Ogólny schemat rejestracji obrazu

Powszechną ideą rejestracji obrazu i korelacji obrazu cyfrowego jest znalezienie transformacji między obrazem nieruchomym a ruchomym dla danej metryki za pomocą schematu optymalizacji. Chociaż istnieje wiele metod osiągnięcia takiego celu, Yadics koncentruje się na rejestrowaniu obrazów za pomocą tej samej modalności. Ideą powstania tego oprogramowania jest możliwość przetwarzania danych pochodzących z µ-tomografu; czyli: kostka danych ponad 1000 3 wokseli. Przy takiej wielkości nie jest możliwe zastosowanie naiwnego podejścia zwykle stosowanego w kontekście dwuwymiarowym. Aby uzyskać wystarczającą wydajność OpenMP używany jest równoległość, a dane nie są globalnie przechowywane w pamięci. Jako obszerny opis różnych algorytmów podano w.

Próbowanie

W przeciwieństwie do rejestracji obrazu, cyfrowa korelacja obrazu jest ukierunkowana na transformację, chce się wyodrębnić najdokładniejszą transformację z dwóch obrazów, a nie tylko dopasować obrazy. Yadics wykorzystuje cały obraz jako siatkę próbkowania: jest to zatem próbkowanie całkowite.

Interpolator

Możliwy jest wybór między interpolacją dwuliniową a interpolacją dwusześcienną do oceny poziomu szarości we współrzędnych niecałkowitych. Zalecana jest interpolacja dwusześcienna.

Metryka

Suma kwadratów różnic (SSD)

Dysk SSD jest również znany jako błąd średniokwadratowy . Poniższe równanie definiuje metrykę dysku SSD:

gdzie nieruchomym obrazem, ruchomym, obszar integracji liczba pi (vo) xels (kardynał) i transformacja sparametryzowana przez μ

Transformację można zapisać jako:

Ta metryka jest główną metryką używaną w YaDIC, ponieważ działa dobrze z obrazami o tej samej modalności. Trzeba znaleźć minimum tej miary

Znormalizowana korelacja krzyżowa

Znormalizowana korelacja krzyżowa (NCC) jest stosowana, gdy nie można zapewnić zachowania przepływu optycznego; dzieje się tak w przypadku zmiany oświetlenia lub zniknięcia cząstek ze sceny, co może wystąpić w prędkościomierzu obrazów cząstek (PIV).

NCC jest zdefiniowany przez:

gdzie i są średnimi wartościami obrazy stałe i ruchome.

Ta metryka jest używana tylko do znajdowania lokalnego tłumaczenia w Yadics. Tę metrykę z transformacją translacyjną można rozwiązać za pomocą metod korelacji krzyżowej, które nie są iteracyjne i można je przyspieszyć za pomocą szybkiej transformaty Fouriera.

Klasyfikacja przekształceń

Istnieją trzy kategorie parametryzacji: transformacja elastyczna, globalna i lokalna. Przekształcenia sprężyste respektują podział jedności, nie powstają dziury ani powierzchnie liczone kilka razy. Jest to powszechnie stosowane w rejestracji obrazu przy użyciu B-Spline oraz w mechanice bryłowej opartej na elementach skończonych. Globalne przekształcenia są definiowane na całym obrazie za pomocą sztywnego ciała lub transformacji afinicznej (co jest równoważne z jednorodną transformacją odkształcenia). Można zdefiniować bardziej złożone transformacje, na przykład oparte na mechanice. Transformacje te wykorzystano do identyfikacji współczynnika intensywności naprężeń wg i odkształceń prętów wg. Transformację lokalną można uznać za tę samą transformację globalną zdefiniowaną w kilku strefach zainteresowania (ZOI) nieruchomego obrazu.

Światowy

Zaimplementowano kilka globalnych transformacji:

  • Sztywne i jednorodne (Tx,Ty,Rz w 2D; Tx,Ty,Tz,Rx,Ry,Rz,Exx,Eyy,Ezz,Eyz,Exz,Exy w 3D)
  • brazylijski (tylko w 2D),
  • dynamiczne zgięcie,

Elastyczny

Czworokątne elementy skończone pierwszego rzędu Q4P1 są używane w Yadics.

Lokalny

Każda globalna transformacja może być użyta na lokalnej siatce.

Optymalizacja

Proces optymalizacji YaDIC jest zgodny ze schematem opadania gradientu.

Pierwszym krokiem jest obliczenie gradientu metryki w odniesieniu do parametrów transformacji

Metoda gradientowa

Po obliczeniu gradientu metryki należy znaleźć strategię optymalizacji

Zasada metody gradientowej została wyjaśniona poniżej:

Krok gradientu może być stały lub aktualizowany w każdej iteracji. } między następujące metody:

  • najbardziej strome zejście,
  • Gaussa-Newtona.

Istnieje wiele różnych metod (np. BFGS, gradient sprzężony, gradient stochastyczny), ale ponieważ najbardziej stromy gradient i Gauss-Newton są jedynymi zaimplementowanymi w Yadics, metody te nie są tutaj omawiane.

Metoda Gaussa-Newtona jest bardzo wydajną metodą, która wymaga rozwiązania [M]{U}={F}. Na obrazie µ-tomograficznym 1000 3 wokseli liczba stopni swobody może sięgać 1e6 ( czyli: na siatce 12×12×12), radzenie sobie z takim problemem jest bardziej sprawą naukowców zajmujących się numerykami i wymaga specyficznego rozwoju (korzystanie z bibliotek takich jak Petsc lub MUMPS), więc nie używamy metod Gaussa-Newtona do rozwiązywania takich problemów. Opracowano określony algorytm najbardziej stromego gradientu z określonym strojeniem parametru skalarnego αk w każdej iteracji. Metodę Gaussa-Newtona można zastosować w przypadku małych problemów w 2D.

Filtr piramidalny

Żadna z tych metod optymalizacji nie może odnieść bezpośredniego sukcesu, jeśli zostanie zastosowana w ostatniej skali, ponieważ metody gradientowe są wrażliwe na początkowych gości. Aby znaleźć optimum globalne, należy ocenić transformację na przefiltrowanym obrazie. Poniższy rysunek ilustruje sposób użycia filtra piramidalnego do znalezienia transformacji.

Piramidalny proces używany w Yadics (i ITK).

Regularyzacja

Metryka jest często nazywana energią obrazu; ludzie zwykle dodają energię, która pochodzi z założeń mechaniki, takich jak Laplacian przemieszczenia (specjalny przypadek regularyzacji Tichonowa) lub nawet z problemów elementów skończonych. Ponieważ w większości przypadków zdecydowano się nie rozwiązywać problemu Gaussa-Newtona, rozwiązanie to jest dalekie od wydajnego procesora. Cachier i in. wykazał, że problem minimalizacji obrazu i energii mechanicznej można przeformułować, rozwiązując obraz energii, a następnie stosując filtr Gaussa w każdej iteracji. Używamy tej strategii w Yadics i dodajemy filtr mediany, ponieważ jest on masowo używany w PIV. Można zauważyć, że filtr medianowy unika lokalnych minimów, zachowując jednocześnie nieciągłości. Proces filtrowania ilustruje poniższy rysunek:

Zobacz też

Linki zewnętrzne