- Tytuł:
-
Implementation of Spatio-Temporal Track-Before-Detect Algorithm using GPU
Implementacja przestrzenno-czasowego algorytmu śledzenia przed detekcją z wykorzystaniem GPU - Autorzy:
- Mazurek, P.
- Powiązania:
- https://bibliotekanauki.pl/articles/154011.pdf
- Data publikacji:
- 2009
- Wydawca:
- Stowarzyszenie Inżynierów i Techników Mechaników Polskich
- Tematy:
-
estymacja
śledzenie przed detekcją
cyfrowe przetwarzanie obrazów
przetwarzanie równoległe obrazów
estimation
Track-Before-Detect
digital image processing
parallel image processing - Opis:
-
Track-Before-Detect (TBD) Algorithms are especially suitable for tracking low-observable targets. For low signal-to-noise ratio (SNR <1) cases tracking of such target is possible using TBD approach. Using accumulative approach and more than single measurements a noise level can be reduced in algorithm way, and gives SNR value enhancement. Due to the target's dynamic the possible motion vectors should be considered. In this article in parallel processing approach based on GPU (Graphics Processing Unit) and CUDA (a software platform for GPU programming) is discussed. GPU gives ability of using high number of stream processors and high clocking frequency for parallel algorithms. Because TBD algorithms have abilities of processing in parallel way they are well suited for GPU implementations and real-time processing. Using sparse characteristic of Markov's matrix the Spatio-Temporal TBD algorithm is considered and different implementations schemes (texture, global memory, global with shared memory) for state space access are compared and real-time processing for typical image sizes are obtained.
Algorytmy śledzenia przed detekcją (TBD - Track-Before-Detect) umożliwiają realizacje systemów estymacji parametrów kinematycznych obiektów także przy warunku SNR<1 (Signal-to-Noise Ratio), co pozwala na śledzenie obiektów, których sygnał jest poniżej wartości szumów. Wykorzystując podejście akumulacyjne oraz więcej niż jeden pomiar możliwe jest zmniejszenie poziomu szumów, a przez to zwiększenie wartości SNR. Z uwagi na dynamikę obiektu konieczne jest uwzględnienie możliwych wektorów ruchu obiektu. Wymagania te powodują, że algorytmy te mają olbrzymi koszt obliczeniowy niezależny od ilości śledzonych obiektów. W artykule zaproponowano rozwiązanie przetwarzania równoległego w czasie rzeczywistym dla obrazów, z wykorzystaniem GPU (Graphical Processing Unit) i platformy programowej CUDA. Zaletą wykorzystania GPU jest możliwość użycia bardzo dużej liczby procesorów strumieniowych, charakteryzujących się prostą budową i wysoką częstotliwością taktowania, co pozwala na efektywną czasowo realizację algorytmów przetwarzania równoległego. Ponieważ algorytmy śledzenia przed detekcją mają cechy predysponujące je do przetwarzania równoległego, więc wykorzystanie GPU jest rozwiązaniem pozwalającym na przetwarzanie w czasie rzeczywistym. W artykule rozpatrywane jest zastosowanie algorytmu rekurencyjnego: przestrzenno-czasowego śledzenia przed detekcją, ze szczególnym uwzględnieniem możliwości redukcji ilości obliczeń dla rzadkich macierzy Markowa. Porównano różne warianty implementacji dla dostępu do wielowymiarowej przestrzeni stanów, która jest przechowywana w pamięci karty graficznej. Dane wejściowe także przechowywane są w pamięci karty graficznej, a dostęp realizowany za pomocą odczytu tekstury, co pozwala na realizację także ułamkowych wektorów ruchu, dzięki wbudowanej interpolacji dwuliniowej. Przestrzeń stanów jest czterowymiarowa i dostęp do niej obciąża znacząco magistralę pamięci. Przetestowano warianty: odczytu z wykorzystaniem tekstur oraz zwykłego dostępu do pamięci, oraz zapisu bezpośredniego i z synchronizowanym buforowaniem w pamięci współdzielonej, uzyskując zbliżone wyniki czasu przetwarzania. Ponieważ w architekturze CUDA nie jest możliwy zapis do tekstury, dlatego konieczne jest dodatkowe kopiowanie wyników przestrzeni stanów do obszaru tekstury, co jednak nie powoduje znaczącego obciążenia w systemie. Wykazano, że możliwa jest realizacja systemów śledzenie przed detekcją z wykorzystaniem GPU pracującym w czasie rzeczywistym. Dla obrazów o rozmiarze 256x256 pikseli osiągnięto ponad 200 klatek na sekundę przy 13 wektorach ruchu, a dla 1024x1024 osiągnięto 15 klatek na sekundę, przy wykorzystaniu procesora G80 (GeForce 8800 GTS). - Źródło:
-
Pomiary Automatyka Kontrola; 2009, R. 55, nr 8, 8; 657-659
0032-4140 - Pojawia się w:
- Pomiary Automatyka Kontrola
- Dostawca treści:
- Biblioteka Nauki