Lista przedmiotów z materiałami udostępnionymi dla studentów

Dla_studentów
  • Increase font size
  • Default font size
  • Decrease font size

Rafał Patrzałek

Szybka implementacja algorytmu lokalnej aproksymacji wielomianowej z użyciem procesora GPU dla potrzeb przetwarzania obrazów endoskopii kapsułkowej


Accelerated GPU-based implementation of the local polynomial approximation algorithm for capsule endoscopy image processing


Opiekun pracy dyplomowej: dr hab. inż. Artur Klepaczko
Praca dyplomowa magisterska obroniona 2012-09-12
Streszczenie pracy dyplomowej:
Celem omawianej pracy jest zaprojektowanie programu wykorzystującego algorytm lokalnej aproksymacji wielomianowej do filtracji obrazów endoskopowych. Aplikacja będzie wykorzystywać procesor graficzny oraz technologię CUDA do wykonywania czasochłonnych obliczeń. Wydajność aplikacji wykonywanej na procesorze GPU (czyli GPU, ang. Graphical Processing Unit) zostanie zestawiona w eksperymentach z programem zaopatrzonym w ten sam algorytm, ale wykorzystującym tylko procesor CPU (czyli CPU, ang. Central Processing Unit). Przeprowadzone poszczególne eksperymenty wykażą przewagę lub jej brak w zastosowaniu odpowiedniej technologii do wykonywania czasochłonnych obliczeń związanych z analizą obrazów endoskopowych. Wybór tematyki pracy jest podyktowany wzrostem wydajności kart graficznych oraz możliwością wykorzystania ich potencjału do wykonywania obliczeń innych niż generacja samej grafiki. Wykorzystanie możliwości kart graficznych w analizie zjawisk fizycznych czy analizie obrazów powiązanych z medycyną może być kluczowym nurtem rozwoju technologii wspomagającej medycynę w przyszłości. Zatem celem projektu jest opracowanie wydajnego algorytmu analizującego obrazy WCE (ang. Wireless Capsule Endoscopy) z wykorzystaniem GPU oraz późniejsza ocena efektywności rozwiązania w stosunku do programu wykorzystującego tylko procesor CPU. Wydajność obydwóch programów zostanie przetestowana na różnych architekturach procesorów wielordzeniowych. Projekt wykorzystuje na etapie testów procesory GPU firmy Nvidia oparte o technologię CUDA oraz wielordzeniowe procesory CPU firmy Intel. Różnice w typie oraz architekturze procesorów narzuciły napisanie dwóch wielowątkowych aplikacji uwzględniających odrębność jednostek obliczeniowych. Każdy z programów wykorzystuje ten sam algorytm lokalnej aproksymacji wielomianowej. LPA (ang. Local Polynomial Apprixmation) wylicza dla każdego piksela w obrazie punkty, które tworzą wierzchołki obszaru zainteresowania dopasowanego pod względem kształtu i odcienia do lokalnego sąsiedztwa danego piksela. Na podstawie wyznaczonych obszarów są wyliczane parametry charakteryzujące każdy piksel w obrazie. Różnice w napisanych aplikacjach to głównie sposób w zarządzaniu i wykonywaniu wątków wykorzystujący inne metody oraz narzędzia. Wykonane eksperymenty były głównie skupione na analizie wydajności z wykorzystaniem procesorów GPU, by móc określić efektywność algorytmu napisanego na te procesory. Wydajność głównej aplikacji została odniesiona dodatkowo do wydajności na procesorach CPU. Wyniki eksperymentów wykazały przewagę w wydajności procesorów GPU nad procesorami CPU. Napisany program wykonywał się od 20 do 30 razy szybciej na GPU niż na zwykłym procesorze CPU. Jednakże korzystanie z potencjału kart graficznych jest związane ze specyficznością rozwiązywanego problemu. By uzyskać odpowiedni efekt wykorzystując potencjał wielowątkowości GPU, problem musi się dzielić na drobne zadania niezależne od siebie. Analiza obrazów WCE świetnie się nadaje do korzystania z technologii zaimplementowanej w kartach graficznych i jest obiecującym kierunkiem rozwoju.
Abstract:
The purpose of this paper is to design a program that uses local polynomial approximation algorithm for the filtration of endoscopic images. The application will use the GPU and CUDA technology to perform time-consuming calculations. Performed on the application performance GPU (called Graphical Processing Unit) will be juxtaposed in experiments with the program provided with the same algorithm, but using only the CPU (called the Central Processing Unit). The conducted experiments demonstrate the specific advantages or lack thereof in the application of appropriate technology to perform time-consuming calculations associated with the analysis of endoscopic images. The theme of the work is dictated by the increase in graphics performance and the ability to exploit their potential to perform calculations other than the generation of the graphics. The use of graphics capabilities in the analysis of physical phenomena and the analysis of images related to medicine may be a key technology supporting mainstream medicine in the future. Thus the objective of the project is to develop an efficient algorithm for analyzing images WCE (Wireless Capsule Endoscopy), using the GPU and the subsequent evaluation of the effectiveness of solutions in relation to the program that uses only the CPU. Performance of both programs will be tested on different architectures of multicore processors. The project uses the testing stage GPUs based on Nvidia's CUDA technology and multi-core CPUs from Intel. Differences in the type and processor architecture imposed writing multi-threaded applications take into account two distinct processors. Each program uses the same algorithm for the local polynomial approximation. LPA (called Local Polynomial Apprixmation) is calculated for each pixel in the image points, which form the vertices of the matched region of interest in terms of shape and tone to the local neighborhood of the pixel. On the basis of designated areas are calculated parameters characterizing each pixel in the image. Differences in the written application is mainly the way in the management and execution of threads using other methods and tools. Experiments were performed mainly focused on the analysis of performance using the GPU to be able to determine the effectiveness of the algorithm written on these processors. Efficiency of the main application has been allocated in addition to the performance of the processor CPU. The experimental results showed the advantage of GPUs over CPUs in performance. Written program, performed from 20 to 30 times faster on the GPU than on a standard processor CPU. However, use of graphics potential is related to the specificity of the problem being solved. To get the desired effect using the potential of GPU multithreading, the problem must be divided into small tasks independent of each other. The analysis of WCE ideally suited for the use of technologies implemented in the graphics cards and is a promising direction of development.