fpga Üzerİnde İkİ boyutlu konvolÜsyon İŞlemİ gerÇeklenmesİ

25
FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ Abdullah Usta 040030418 Mayıs 2008 İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ

Upload: seth

Post on 06-Jan-2016

93 views

Category:

Documents


7 download

DESCRIPTION

İ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?. Savunma sanayiinden tüketici elektroniğine kadar bir çok sektörde görüntü işlemeye ihtiyaç duyulmaktadır. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYONİŞLEMİ GERÇEKLENMESİ

Abdullah Usta

040030418Mayıs 2008

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ

Page 2: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Neden Görüntü İşleme? 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

Page 3: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

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.

Page 4: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

KONVOLÜSYON İŞLEMİ Piksellerin komşuluğundan faydalanarak, bir filtre çekirdeğinin

(konvolüsyon maskesi) resim üzerinde gezdirilmesi ile yapılır.

Page 5: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Filtre örnekleri

Kaynak Resim

Page 6: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Filtre örnekleri

Yüksek geçiren filtre ile süzülmüş resim

Page 7: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Filtre örnekleri

Bulanık filtre ile süzülmüş resim

Page 8: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Filtre örnekleri

Sinc filtre ile süzülmüş resim

Page 9: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

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.

Page 10: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

İşlem Devresi

İşlem Devresinin Blok Diyagramı

KONVOLÜSYONRAM KONTROLÖR

RAM Denetleyicisi

RS232 Haberleşme

Modülü

FPGA

Page 11: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Konvolüsyon Modülü

Resim üzerinde pencere matrisi

Page 12: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Konvolüsyon Modülü

Pencereleme modülünün blok diyagramı

Page 13: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Konvolüsyon Modülü

Çarpma-toplama bloğunda kullanılan sayı sistemi

Page 14: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Çarpma-toplama bloğu veri akış diyagramı

Page 15: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

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

Page 16: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

RAM Kontrolör durum diyagramı

Page 17: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

Konvolüsyon bloğu benzetim sonucu

Page 18: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

Kaynak resim

Page 19: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

FPGA üzerinde Gauss alçak geçiren filtre ile süzülmüş resim

Page 20: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

FPGA üzerinde yüksek geçiren filtre ile süzülmüş resim

Page 21: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

Kaynak resim

Page 22: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

FPGA üzerinde Gauss alçak geçiren filtre ile süzülmüş resim

Page 23: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

Donanım Test Sonuçları

FPGA üzerinde yüksek geçiren filtre ile süzülmüş resim

Page 24: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

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.

Page 25: FPGA ÜZERİNDE İKİ BOYUTLU KONVOLÜSYON İŞLEMİ GERÇEKLENMESİ

TEŞEKKÜRLER