Performance comparison of image matching algorithm using fpga and gpu
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Görüntü işleme teknolojilerinin geliştirilmesi insanlığın bu teknolojiyi kullanarak görüntüleri anlamlandırmasını sağlamıştır. Dijital görüntüleri tanımlamak için kullanılan en etkili yöntem şablon eşleştirmesidir. Bu yöntem, görüntünün şablon resmiyle eşleşen küçük parçalarını veya görüntünün tamamının başka bir veriyle eşleştirilmesinde kullanılır. Parmak izi tanıma işlemi güvenlik ve sağlık nedenlerinden dolayı günümüzde yaygın olarak başvurulan bir yöntemdir. Yöntemin temel amacı var olan bir parmak izi görüntüsünün database içerisinde bulunan diğer görüntüler arasındaki en benzerini bularak asıl görüntünün kime ait olduğunu çıkartmak için yapılır.Bu tezde normalleştirilmiş çapraz korelasyon yöntemi kullanılarak var olan görüntünün database içerisinde bulunması amaçlanmıştır. Günümüzde kullanılan bilgisayarlar işlem yapma kapasiteleri yüksek olmasına rağmen büyük database işlemleri için yetersiz kalmaktadır. Bu sebeple paralel işlem kabiliyeti olan Alan Programlanabilir Kapı Dizileri (FPGA) ve Grafik İşlemci Üniteleri (GPU) bu işlemlerin gerçekleştirilmesinde sıklıkla kullanılmaktadır.Eşleştirmede kullanılan imgeler 256x256 boyutunda, grayscale formatında ve `*.bmp` uzantılı 80 adet parmak izi imgeleri arasından seçilmiştir. FPGA programlamak için Verilog, GPU programlamak için CUDA programlama dili kullanılmıştır. Yazılan kodlarda image pixel değerleri sırayla okunmuş ve kullanılan cihazların hafızasına kaydedilerek korelasyon değerleri hesaplanmıştır. FPGA ve GPU arasındaki performans karşılaştırmasının sonucunda FPGA uygulamasının GPU uygulamasına göre 23 kat daha hızlı çalıştığı görülmüştür.Anahtar Kelimeler: Görüntü eşleme, Normalleştirlmiş Çapraz-korelasyon, Alan Programlanabilir Kapı Dizileri (FPGA), GPU. As the internet and technology developing very rapidly, the need for fast data processing is becoming more apparent. Even though the software computation capacity of computers are increasing day by day, their performance in large database operations becomes increasingly inadequate. For this reason, Field Programmable Gate Arrays (FPGAs) and Graphics Processing Units (GPUs) with parallel processing capability are frequently used to accelerate the intensive data processing operations. The most effective method for identifying fingerprint images is the template matching. This method is used to match small parts of the image that match the template image or any other data in the entire image.In this thesis, it is attempted to find the existing image within the database by using normalized cross-correlation (NCC) method. Computers that are used today are inadequate for large database operations, even though their computation capacity to process software is high. For this reason, Field Programmable Gate Arrays (FPGA) and Graphics Processing Unit (GPU) with parallel processing capability are frequently used to implement intensive operations. Image database, used in matching, is constructed with 80 different fingerprint images that have 256x256 size, grayscale format and *.bmp extensions. When using the Verilog programming language to program the FPGA, the CUDA programming language was used to program the GPU. In the written codes, image pixel values are read in order and the correlation values between each compared pairs are calculated by storing them in the memory of the used devices.The processing speed of FPGA and GPU implementations are compared in terms of their speed to calculate correlation values. Calculation of correlation values with the FPGA is 23 times faster than GPU implementation.Keywords: Image Matching, Normalized Cross-correlation, FPGA, GPU.
Collections