Small Targets Subpixel Position Estimation using GPU Estymacja położenia obiektów o bardzo małych rozmiarach z rozdzielczością subpikselową z wykorzystaniem GPU
Position estimation of small targets occurs in numerous applications and for pixel-size targets subpixel resolution can be obtained using advanced image processing algorithms. Subpixel estimation using Center-of-Gravity (Center-of-Mass) give ability of position estimation with magnitude higher resolution in comparison to the conventional, maxima based search method. Application of COG algorithm [3] needs prior detection of targets using morphological filters. In this article is assumed 3x3 window and up to 2x2 pixels excitation by target. Proposed detection method and COG estimation can be processed in parallel what is important for CPU and GPU (Graphics Processing Unit) implementations due to single-pass image processing. Different implementations are compared (full processing of both algorithms; COG calculation driven by detection; full and prefilled results data storage; two implementations of divide operations in COG) for 1024x1024 input images. For GPU implementation CUDA (Compute Unified Device Architecture) is used.
Konieczność detekcji położenia obiektów o małym rozmiarze, rzędu rozmiaru piksela występuje w wielu praktycznych zastosowaniach cyfrowego przetwarzania obrazów. Dla obiektów o tych rozmiarach występują pobudzenia zwykle większej liczby pikseli, co pozwala na estymację położenia z rozdzielczością subpikselową (podpikselową). Możliwe jest wyznaczanie położenia obiektu w takim przypadku z precyzją kilka, kilkanaście razy większą niż w przypadku estymacji opartej na poszukiwaniu położenia maksymalnej wartości sygnału. W tym celu konieczne jest zastosowanie algorytmu estymacji, takiego jak algorytm środka ciężkości wyliczającego estymaty wokół maksymalnej wartości wykrytej za pomocą filtru morfologicznego. Dla obiektów o rozmiarze rzędu piksela (na przetworniku) pobudzenie dotyczy od jednego do czterech pikseli, jednak konieczne jest uwzględnienie niezbędnej separacji pomiędzy potencjalnymi sąsiednimi obiektami. Jeśli nie występuje nałożenie lub stykanie się obiektów, to za pomocą zaproponowanego detektora morfologicznego dla obrazów w odcieniach szarości możliwe jest wykrycie obiektu. Do precyzyjnego wyznaczania położenia wykorzystano zoptymalizowany algorytm środka ciężkości, w którym zmieniono sposób indeksacji wartości pikseli, tak by zmniejszyć ilość operacji arytmetycznych, zarówno mnożeń jak i dodawań. Ponieważ istotna jest efektywna obliczeniowo realizacja algorytmu porównano dwie zasadnicze implementacje w oparciu o CPU i GPU (Graphical Processing Unit). Kluczowym zagadnieniem jest minimalizacja ilości przesyłanych danych w obu implementacjach, między jednostką przetwarzającą a pamięcią przechowującą obraz wejściowy i wyniki (położenia obiektów). Rozwiązanie bazujące na zoptymalizowanym algorytmie detekcji i estymacji położenia pozwala na jednoprzebiegowe przetwarzanie obrazu, bez konieczności magazynowania wyników pośrednich w stosunkowo wolnej pamięci. Zbadano i porównano różne warianty implementacji, wykorzystujące pełne przetwarzanie wszystkich danych za pomocą obu algorytmów, warunkowe przetwarzanie algorytmu środka ciężkości sterowane detekcją, wstępne wypełnianie pamięci wyników oraz dwa warianty implementacji operacji dzielenia wymaganej przez algorytm środka ciężkości. Uzyskane wyniki pokazują, że implementacja z wykorzystaniem GPU była co najmniej o rząd wielkości szybsza w stosunku do CPU. W badaniach wykorzystano pojedynczy rdzeń CPU Q6600 oraz GPU G80 (Geforce 8800 GTS). Zaproponowane rozwiązania pozwalają na implementację w czasie rzeczywistym, gwarantując maksymalny czas przetwarzania. Dla implementacji z warunkowym przetwarzaniem i wstępnym wypełnianiem pamięci wyników uzyskano statystyczne skrócenie czasu przetwarzania. Oba rozwiązania dzielenia dla GPU były tak samo efektywne, ponieważ zasadniczym ograniczeniem systemu jest przepustowość pamięci. Dla obrazów o rozmiarze 1024x1024 pikseli uzyskano przetwarzanie z szybkością ponad 400 klatek na sekundę, a w wariantach bardziej zoptymalizowanych ponad 800 klatek na sekundę, co pozwala to na wykorzystanie GPU także do innych celów, przy systemach pracujących z mniejszą liczbą klatek na sekundę. Abstract: Position estimation of small targets occurs in numerous applications and for pixel-size targets subpixel resolution can be obtained using advanced image processing algorithms. Subpixel estimation using Center-of-Gravity (Center-of-Mass) give ability of position estimation with magnitude higher resolution in comparison to the conventional, maxima based search method. Application of COG algorithm [3] needs prior detection of targets using morphological filters. In this article is assumed 3x3 window and up to 2x2 pixels excitation by target. Proposed detection method and COG estimation can be processed in parallel what is important for CPU and GPU (Graphics Processing Unit) implementations due to single-pass image processing. Different implementations are compared (full processing of both algorithms; COG calculation driven by detection; full and prefilled results data storage; two implementations of divide operations in COG) for 1024x1024 input images. For GPU implementation
Ta witryna wykorzystuje pliki cookies do przechowywania informacji na Twoim komputerze. Pliki cookies stosujemy w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Twoim komputerze. W każdym momencie możesz dokonać zmiany ustawień dotyczących cookies
Informacja
SZANOWNI CZYTELNICY!
UPRZEJMIE INFORMUJEMY, ŻE BIBLIOTEKA FUNKCJONUJE W NASTĘPUJĄCYCH GODZINACH:
Wypożyczalnia i Czytelnia Główna: poniedziałek – piątek od 9.00 do 19.00