FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ Abdullah Usta 040030418 Mayıs 2008
Neden Görüntü İşleme? Görüntü işleme teknikleri: Savunma sanayiinden tüketici elektroniğine kadar bir çok sektörde görüntü işlemeye ihtiyaç duyulmaktadır. Kişi tanıma Cisim tanıma Görüntüyü güzelleştirme Görüntü işleme teknikleri: görüntü analizi, görüntü onarımı, görüntünün iyileştirilmesi, görüntünün sıkıştırılması(kodlanması), görüntünün bölütlendirilmesi
Sayısal İşaret İşleme Mobil telefonlardan uçak elektronigine kadar çok yaygın bir teknoloji alaninda sayısal işaret işlemenin kullanımı mevcuttur. Sayısal işaret işleme mikroişlemcilerle gerçeklenebildiği gibi, özel olarak bu amaçla üretilmiş sayısal işaret işleyiciler(DSP) de vardır. Bu çalışmada işaret işleme FPGA üzerinde yapılmıştır.
KONVOLÜSYON İŞLEMİ Piksellerin komşuluğundan faydalanarak, bir filtre çekirdeğinin (konvolüsyon maskesi) resim üzerinde gezdirilmesi ile yapılır.
Filtre örnekleri Kaynak Resim
Yüksek geçiren filtre ile süzülmüş resim Filtre örnekleri Yüksek geçiren filtre ile süzülmüş resim
Bulanık filtre ile süzülmüş resim Filtre örnekleri Bulanık filtre ile süzülmüş resim
Sinc filtre ile süzülmüş resim Filtre örnekleri Sinc filtre ile süzülmüş resim
FPGA Nedir? Field Programmable Gate Array (FPGA) genel olarak programlanabilir aygıt olarak tanimlanir. Genel tanım olarak “Bir lojik blok dizisi, bu dizinin çevresinde bir halka oluşturan giriş çıkış birimleri ve bütün bu birimleri birbirine bağlayan programlanabilir ara bağlantılardan oluşan aygıttır” denebilir.
İşlem Devresinin Blok Diyagramı RAM KONTROLÖR KONVOLÜSYON RS232 Haberleşme Modülü RAM Denetleyicisi FPGA İşlem Devresinin Blok Diyagramı
Konvolüsyon Modülü Resim üzerinde pencere matrisi
Konvolüsyon Modülü Pencereleme modülünün blok diyagramı
Konvolüsyon Modülü Çarpma-toplama bloğunda kullanılan sayı sistemi
Çarpma-toplama bloğu veri akış diyagramı
RAM Kontrolör Modülü RAM’den sırası ile gelen verilerin konvolüsyon modülüne gönderilip, oradan gelen verileri de RAM’e göndermekle yükümlü birimdir. Örnek pencere matrisi
RAM Kontrolör durum diyagramı
Donanım Test Sonuçları Konvolüsyon bloğu benzetim sonucu
Donanım Test Sonuçları Kaynak resim
Donanım Test Sonuçları FPGA üzerinde Gauss alçak geçiren filtre ile süzülmüş resim
Donanım Test Sonuçları FPGA üzerinde yüksek geçiren filtre ile süzülmüş resim
Donanım Test Sonuçları Kaynak resim
Donanım Test Sonuçları FPGA üzerinde Gauss alçak geçiren filtre ile süzülmüş resim
Donanım Test Sonuçları FPGA üzerinde yüksek geçiren filtre ile süzülmüş resim
Sonuç Bu çalışma FPGA üzerinde fotoğraf makinesi gerçeklenmesinin bir sonraki basamağı olarak görülebilir. Ayrıca, FPGA üzerinde görüntü işlemeye giriş mahiyetinde olup, daha farklı görüntü işleme tekniklerine de ön ayak olabilecek niteliktedir. Yapılan çalışmadaki algoritmaların biraz daha düzenlenmesi ile video işleme yapmak da mümkündür. Mevcut durumda 160 ms’de bir çerçeve(frame) hazır hale gelmektedir(saat frekansı: 50 MHz) Bu çalışma, gömülü sistem üzerinde gerçeklendiği için; televizyon, video kaydedici, dijital fotoğraf makinesi gibi ürünlerde doğrudan(FPGA ile) kullanılabildiği gibi, yapılan tasarım ile ASIC halde üretilip de kullanılabilir.
TEŞEKKÜRLER