FPGA platformu için Vivado HLS tabanlı SURF algoritmasının gerçeklenmesi
Realization of SURF algorithm based on Vivado HLS for FPGA platform
Yazar: HÜSEYİN ÖZDEMİR
Danışman: YRD. DOÇ. DR. ÖVÜNÇ POLAT
Akdeniz Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2018
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
SURF algoritması, görüntü işlemede kullanılan, görüntünün boyut, renk, kontrast gibi özellik değişimlerinden etkilenmeyen bir yöntemdir. Bu çalışmada, işlem yoğunluğu çok olan SURF algoritması, Vivado HLS aracı ile oluşturulmuştur. HLS ile donanım tanımlama dilleri (verilog, VHDL, vb.) kullanılmadan C, C++,vb. diller kullanılarak algoritmalar gerçeklenebilmektedir. SURF algoritması C dili ile gerçekleştirilmiştir. HLS'de bulunan direktifler ile sistemin donanımsal optimizasyonu gerçekleştirilmiştir. Bu kapsamda, sistemin daha hızlı olması ve saklayıcıların daha az yer kaplaması için veri tipi olarak kayan nokta (floating-point) yerine sabit nokta (fixed-point) seçilmiştir. Ayrıca uygun kod blokları paralel çalıştırılarak çalışma zamanı azaltılmıştır. SURF algoritmasının başarısına etki eden parametrelerin belirlenebilmesi için "Genetik Algoritma" kullanılmıştır. Tespit edilen parametreler kullanıldığında başarı oranının önemli ölçüde arttığı gözlemlenmiştir.
Önerilen metot karakter boyutu ve dönmeden bağımsız sabit fontlu rakam tanıma uygulaması için denenmiştir. Yapılan çalışmada rakamlardan oluşturulan resimler ile testler gerçekleştirilmiştir. Her rakam için referans resmi ve test resimleri oluşturulmuştur. Test resimleri için rakamların farklı büyüklük ve rotasyonda (±10) olduğu durumlar seçilmiştir. Böylece referans resimleri ile test resimlerinin aynı olmaması amaçlanmıştır. Uygun parametre değerleri matlab ile tespit edildikten sonra HLS'de kullanılmıştır. Önerilen optimize edilmiş SURF yapısı kullanılarak yüksek başarı oranları elde edilmiştir.

Abstract:
The SURF algorithm is a method which is used in image processing that is not affected by feature changes such as size, color and contrast. In this study, the SURF algorithm which has a lot of  processes, was created with Vivado HLS tool. HLS can be implemented using languages as C, C++, etc. without using hardware description languages such as verilog, VHDL, etc. The SURF algorithm was implemented with a C-language. Hardware optimization of system has been implemented with directives in HLS. In this context, the data type has been chosen as "fixed-point" instead of "floating-point" for the faster system and less storage space. In addition, the runtime was reduced by executing the appropriate code blocks by the parallel operation. "Genetic Algorithm" has been used to determine the parameters which are affected the success of the SURF algorithm. It has been observed that the success rate significantly increased when the determined parameters were used.
The proposed method has been tested for the character recognition application with the fixed font which is independent from the "rotation and character size". In this study, the tests were carried out with the images formed by the numbers. Reference picture and test pictures for all figures were created. Test pictures with different sizes and rotations (± 10) were selected. Thus, it was aimed that the reference and test pictures was not the same. The appropriate parameter values were used in HLS after being determined with matlab. The rate of high success were obtained using the proposed optimized SURF structure.