HSA'ların FPGA üzerinde gerçeklenmesi ve görüntü işleme uygulamaları
CNN implementations on FPGA and video processing application
Yazar: SİNEM FIRAT
Danışman: PROF. DR. VEDAT TAVŞANOĞLU
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Elektronik Bilim Dalı
Derece: Yüksek Lisans, 2011
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: FPGA = FPGA ; Hücresel sinir ağları = Cellular neural networks ; Konvolüsyon = Convolution ; VHDL = VHDL

Özet:
Görüntü işleme bir görüntünün analog veya dijital elektriksel işaretlere dönüştürüldükten sonra çeşitli yöntemlerle istenilen şekle getirilmesidir. Birçok görüntü işleme tekniği görüntünün iki boyutlu bir sinyal olarak değerlendirilerek, çeşitli bilgisayar algoritmalarının uygulanması ile gerçekleştirilir. Görüntü işleme uygulamaları biyomedikal uygulamalar, uydu görüntüsü tanıma gibi birçok alanda kullanılmaktadır.Hücresel Sinir Ağı modeli 1988 yılında L. O. Chua ve L. Yang tarafından ortaya atılmıştır. ACE4K ve ACE16K gibi analog yapıdaki HSA gerçeklemelerinin işlem hızı, sayısal HSA gerçeklemelerinin işlem hızlarına erişememektedir. Günümüzde dijital olarak tasarlanan sistemler, görüntüleri gerçek zamanlı olarak işleyebilecek kadar hızlı hale gelmiştir. Bunun yanı sıra, dijital tasarımda değişik ihtiyaçlara göre farklı düzenlemeler yapılabilir. Bu çalışmada 3x3 boyutunda çeşitli fitrelerin kullanılabileceği bir HSA yapısı üzerinde konvolüsyon bloğu dijital olarak tasarlanmıştır.Görüntü işlemede sık kullanılan işlemlerden birisi filtrelemedir. Bu çalışmada filtreleme işlemi için HSA yapısının FPGA ile dijital emülasyonunda kullanılabilecek bir konvolüsyon bloğu tasarlanmıştır. Bloğu test etmek amacıyla gri tonlamalı bir görüntü örneği filtrelenip incelenmiştir. Kullanılan tasarım ortamı Xilinx firmasının ISE yazılımıdır. Konvolüsyon bloğu, Altera firmasının Cyclone-III FPGA Starter Kit ve Bitech HSMC Dijital Video Daughter Card (DVI in-out) kullanılarak gerçeklenmiştir.İlk bölümlerde HSA yapısından genel olarak bahsedildikten sonra FPGA ve VHDL ile ilgili özet bilgilere yer verilmiştir. Daha sonraki bölümlerde tezin özgün kısmını oluşturan, HSA' ların sayısal yapısına yönelik iki boyutlu konvolüsyon bloğunun gerçeklenmesi anlatılmıştır. Son bölümde ise elde edilen sonuçlar yorumlanmış ve çalışmanın devamında gelecekte yapılacak geliştirmeler için bazı önerilerde bulunulmuştur.

Abstract:
Image processing can be defined as modifying an image by means of various techniques after converting the image to analog or digital electrical signals. Many image processing techniques include the application of computer algorithms to the images which are considered as two dimensional signals. Image processing applications are used in many areas such as biomedical applications, satellite image recognition...etcCellular network model was first introduced in 1988 by L.O. Chua and L. Yang. Analog CNN implementations such as ACE4K and ACE16K can not reach the processing speeds that digital implementations. Nowadays, digitally designed systems are fast enough to be able to process the images in real-time. Furthermore digital design is flexible since the system can be easily altered anytime for different needs. In this work, the convolution block of the CNN is digitally designed for 3x3 dimensional filters.One of the most used operations in image processing is filtering. Spatial filtering of an image in time domain is done by convolution. In this thesis, a convolution block which can be used both for general purpose and for the digital emulation of CNN structure on FPGA is designed. For testing purposes, a digital grayscale two dimensional signal, that is obtained from an image, is filtered and analyzed. The used design environment ise ISE software of Xilinx firm. The convolution block is implemented on Cyclone-III FPGA Starter Kit and Bitech HSMC Dijital Video Daughter Card (DVI in-out).After the general information about CNN, general information about FPGA and VHDL is given on the first chapter and the following chapters. After these chapters, the genuine implemetation of the two-dimensional convolution block is explained on the further chapters. Finally, the obtained results were interpreted and some suggestions are given for future improvements as ongoing work in the last chapter.