Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

GÖRÜNTÜ İŞLEME ALGORİTMALARININ FPGA DONANIMI ÜZERİNDE GERÇEKLENMESİ

Benzer bir sunumlar


... konulu sunumlar: "GÖRÜNTÜ İŞLEME ALGORİTMALARININ FPGA DONANIMI ÜZERİNDE GERÇEKLENMESİ"— Sunum transkripti:

1 GÖRÜNTÜ İŞLEME ALGORİTMALARININ FPGA DONANIMI ÜZERİNDE GERÇEKLENMESİ
Ali Recai ÇELİK

2 GİRİŞ: 1-GÖRÜNTÜ İŞLEME 2-KULLANILAN DONANIM 3-YAZILIM 4-UYGULAMA 5-SONUÇ

3 GÖRÜNTÜ İŞLEME Görüntü işleme; görüntüleri değiştirmek, yabancılaştırmak veya iyileştirmek için kullanılır. Üzerinde çeşitli işlemler gerçekleştirilecek olan görüntü, kamera aracılığı ile alınan bir video veya fotoğraf görüntüsü olabileceği gibi; kullanıcılar tarafından kırmızı, yeşil, mavi ve bu renklerin birleşimleriyle elde edilen bir görüntü de olabilir.

4 Akıllı Robot Sistemleri Bilgisayar Grafikleri ve Oyunları
KULLANIM ALANLARI; Tıp ve Biyoloji Uzay Bilimleri Savunma Sanayi Fraktal Şekiller Coğrafi Bilimler Animasyon Filmleri Güvenlik Sistemleri Akıllı Robot Sistemleri Bilgisayar Grafikleri ve Oyunları

5 TEKNİKLERİ; Kenar Bulma Filtreleme Yapısal Düzenleme Bölümlendirme
Eşikleme Görüntü Değiştirme

6 FPGA DONANIMI Programlanabilir Mantık Devreleri, mantık kapılarının ve flip- flopların birbirlerine bağlanmasıyla oluşturulan devreler şeklinde tanımlanabilir. Sahada Programlanabilir Kapı Dizileri (FPGA – field programmable gate arrays) de bu alanda üretilmiş olan donanımlardan biridir. FPGA, üretimden sonra istenilen fonksiyona göre, donanım yapısı kullanıcı tarafından değiştirilebilen entegre devre olarak tanımlanır.

7 FPGA ÖZELLİKLERİ FPGA devrelerinin hızlı işlem yapabilme, içine çoğullayıcı gömülebilme, aritmetik işlemleri başarıyla gerçekleştirebilme gibi özellikleri ve paralel işlem yapabilme yeteneği vardır. Donanım üzerinde çok sayıda giriş-çıkış birimi mevcuttur. USB bağlantısı, RS232 girişi, VGA çıkışı, Switch ve Key anahtarları, kırmızı ve yeşil LED’ler, SRAM ve SDRAM hafıza kartları, saat üretici vb. bu birimlerden bazılarıdır.

8 NEDEN FPGA? Gömülü sistemlerde sistem mimarisi bakımından çeşitli alternatifler mevcuttur. Bunlar standart ASIC’ler, DSP’ler veya FPGA’ler gibi programlanabilir çözümlerdir. Yüksek performans, hızlı işlem yapabilme, esnek programlanabilme, zahmetsiz güncelleme, düşük bakım maliyeti, güvenirlilik, düşük geliştirme maliyeti, zamanında pazara çıkabilme ve üretim adedi arttıkça düşük maliyete geçebilme yeteneği gibi özellikler ideal mimaride olması beklenen özelliklerdir.

9 NEDEN FPGA? Yüksek hız için gerekli olan yüksek veri boyutu, yüksek performans ve esnek programlanabilme özellikleri FPGA’lerde mevcuttur. Yüksek hızlı sinyal işleme uygulamaları genellikle sayısal sinyal işleyici (DSP) kullanılarak gerçeklenmektedir. Fakat FPGA devrelerinin aynı işlemi daha hızlı yapabilme yeteneği nedeniyle günümüzde FPGA kullanımı artmaya başlamıştır.

10 NEDEN FPGA?

11 YAZILIM FPGA’lerde algoritmaları oluşturmak için kullanılan programlama dillerine genel olarak “donanım tanımlama dili” denir. Donanım tanımlama dilleri FPGA’de bulunan mantıksal blokların ve ara bağlantı anahtarlarının uygun şekilde programlanmasında kullanılır. En sık kullanılan diller VHDL ve VERILOG programlama dilleridir.

12 VERILOG Verilog tasarımında modüller vardır ve bu modüller arasında bir hiyerarşi bulunur. Modüller bir takım giriş, çıkış ve çift yönlü portlar şeklinde tanımlanır Bir modül içinde yazmaç (register) ve kablo (wire) listesi bulunur. Ardışık ifadeler bir begin/end bloğuna konur ve blokla beraber ardışık olarak yürütülür. Tüm eş zamanlı ifadeler ve begin/end blokları koşut olarak yürütülür.

13 QUARTUS II Altera firmasının üretmiş olduğu Fpga platformu ile uygulama gerçekleştirmek için, Quartus II yazılımı kullanılır. Quartus II yazılımı tamamen entegre bir yazılım geliştirme ortamıdır. Mantık kapıları tasarımı, devre dizaynı ve simulasyonu, HDL kodunun derlenmesi gibi işlemlerin gerçekleştirilmesini sağlar.

14 QUARTUS II

15 QUARTUS II

16 ALTERA DE2 FPGA FPGA üretiminde söz sahibi olan firmalar Xilinx ve Altera firmalarıdır. Bu iki firmanın ürettiği çok çeşitli FPGA platformları vardır. Platformların farklılığını belirleyen temel etmenler; hız, mantıksal blok sayısı, giriş-çıkış pinlerinin sayısı gibi donanımın sahip olduğu özelliklerdir.

17 ALTERA DE2 FPGA

18 ALTERA DE2 FPGA FPGA donanımında bulunan giriş ve çıkış birimleri şunlardır; -Dahili Fpga için USB Blaster yapılanması -Mikrofon girişi -Ses çıkışı -Video girişi -Video çıkışı -RS-232 birimi

19 ALTERA DE2 FPGA -Ethernet bağlantısı
-PS/2 Mouse ve klavye bağlantı noktaları -SDRAM -SRAM -Anahtarlar -Saatler -18 adet kırmızı, 9 adet yeşil LED’ler -27 MHz ve 50 MHz osilatörler

20 CYCLONE II KART

21 VGA KONTROLÜ Video Grafik Dizisi bilgisayarlardaki analog görüntü standartı ile 15 pin D-sub konektörü veya 640x480 çözünürlüğün kendisini ifade eder. İlk defa 1988 yılında IBM tarafından piyasaya sürülmüştür. VGA iletiminde 5 farklı sinyal kullanılır. Bunlar; horizontal sync: Satır eşlemesini sağlayan dijital sinyal vertical sync: Kare eşlemesini sağlayan dijital sinyal red(R): Kırmızı renk bilgisini taşıyan analog sinyal green(G): Yeşil renk bilgisini taşıyan analog sinyal blue(B): Mavi renk bilgisini taşıyan analog sinyaldir

22 VGA KONTROLÜ // Yatay Senkronizasyon Parametreleri
parameter H_SYNC_CYC = 95; parameter H_SYNC_BACK = 65; parameter H_SYNC_ACT = 640; // Yatay olarak 640 piksel parameter H_SYNC_FRONT = 0; parameter H_SYNC_MAX = 799; // Düşey Senkronizasyon Parametreleri parameter V_SYNC_CYC = 2; parameter V_SYNC_BACK = 33; parameter V_SYNC_ACT = 480; // Düşey olarak 480 piksel parameter V_SYNC_FRONT = 10; parameter V_SYNC_MAX = 524; //

23 ALGORİTMA: ELMAS-KARE ALGORİTMASI
Uçuş simülasyonlarında, bilgisayar grafik ve oyunlarının oluşturulmasında, animasyon filmlerinde ve daha birçok alanda, doğada var olan şekillerin gerçektekine benzer görüntülerinin oluşturulmasına ihtiyaç duyulur. Bu görüntülerin elde edilmesi için, yükseklik ve doku eşlemelerinin gerçekleştirilmesi gereklidir. Yükseklik eşlemeleri, yükseklik ile ilgili verileri içerir. Doku eşlemeleri ise; bir, iki veya üç boyutlu matris olarak düzenlenen renk değerlerini içerir.

24 ELMAS-KARE ALGORİTMASI
.

25 ELMAS-KARE ALGORİTMASI

26 ELMAS-KARE ALGORİTMASI
Örneğin; başlangıçta 4 köşesine yerleştirilen yükseklik değerleri aşağıdaki gibi olan bir karenin, önce elmas şekline dönüşmesi ve daha sonra dört adet küçük kareye dönüşmesi neticesinde meydana gelen yeni değerler şekilde verilmiştir. Bu işlemin bir sonraki tekrarı için, merkezde oluşan 3.5 birim miktarındaki yüksekliğe rastgele bir değer eklenir.

27 ELMAS-KARE ALGORİTMASI
Birinci elmas-kare dönüşümünden sonra elde edilen 9 noktanın birbirlerine bağlanması ile Şekildeki gibi bir yüzey şekli elde edilebilir.

28 ELMAS-KARE ALGORİTMASI
İkinci tekrarlamadan sonra gerçekleşen elmas-kare dönüşümü ile 16 küçük kare ve 25 nokta oluşur. Bu noktaların birleştirilmesiyle elde edilebilecek yüzey şekli ise Şekilde görülmektedir

29 ELMAS-KARE ALGORİTMASI
Bu işlemler tekrar edilmeye devam edilirse elde edilen şeklin yoğunluğu artmış olur. Örneğin, 5. tekrarlamadan sonra Şekil’deki gibi bir yüzey elde edilebilir. Sonuç olarak yükseklik değerlerinin ataması yapılmış bir şekil elde edilmiştir.

30 ELMAS-KARE ALGORİTMASI
Yüzey şekli oluşturulduktan sonra doku eşlemi gerçekleştirilir. Oluşturulan şeklin yeşil renk ile renklendirilmesi yapıldıktan sonra aşağıdaki şekillerde verilen görüntüler meydana gelir.

31 UYGULAMA: Dağ, ova, göl ve vadi gibi farklı coğrafik şekiller, aynı resim içinde gerçek zamanlı olarak üretilmiştir. Elmas-kare algoritmasının kullanıldığı bu uygulamada, 4 farklı yükseklik ve renk değeri kullanılarak şekillerin gerçektekine benzer görüntülerinin oluşturulması sağlanmıştır. Uygulama Verilog programlama dili kullanılmış ve FPGA platformunda bulunan VGA çıkış birimi aracılığı ile görüntüler ekrana aktarılmıştır.

32 UYGULAMA: .

33 GÖRÜNTÜ NETLEŞTİRME Görüntüdeki gürültünün yani bozucu etkinin yok edilmesi veya indirgenmesinde görüntü yumuşatma ve iyileştirme operatörleri kullanılır. Bir resim üzerinde düzleştirme ve iyileştirme işleminin yapılmasında kullanılan en önemli teknik filtreleme tekniğidir.

34 GÖRÜNTÜ NETLEŞTİRME Highpass filtresi, Gauss filtresi, Sinc filtresi, Sobel operatörü filtresi, Laplace filtresi gibi filtre çeşitleri vardır. Bu filtrelerden Gauss filtresi blur efektini artırır ve görüntüyü yumuşatır.

35 GAUSS FİLTRESİ Resimler Gauss filtre aracılığıyla yumuşutalarak pürüzsüz hale getirilebilir. 3 satır ve 3 sütundan oluşan Gauss Kernel filtresi Şekil’deki matris gibidir.

36 GÖRÜNTÜ NETLEŞTİRME Gauss filtre matrisi kulanarak, uygulama 2’de elde edilen görüntü üzerinde ‘görüntü netleştirme’ işlemi gerçekleştirme uygulaması...

37 UYGULAMA: GÖRÜNTÜ NETLEŞTİRME
.

38 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Uygulama 1’de oluşturulup, uygulama 2’de netleştirilen resim 2 boyutlu olarak görülmektedir. Bu görüntünün 3 boyutlu olarak görülmesi için X ekseni etrafında döndürülmesi gerekir. Başka bir ifadeyle; görüntü, manzara resminin üstten görüntüsüdür. Resim sadece x-y ekseni olarak yani en ve boy olarak görülmektedir. Yükseklik miktarı yani z ekseni görülmemektedir.

39 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Resmin x ekseni etrafında belli açı değerleri ile döndürülmesi neticesinde, görüntünün en-boy-yükseklik özellikleri net bir şekilde görülür.

40 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Bir görüntünün X ekseni, Y ekseni ve Z ekseni etrafında döndürülmesi için gerekli döndürme matrisleri sırasıyla aşağıdaki gibidir:

41 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Uygulama 1’de elde edilen manzara resminde ‘x’ ve ‘y’ piksel değerini, ‘z’ ise yükseklik değerini gösteriyor olsun. Bu değerleri ifade eden matris A matrisi olarak isimlendirilir ise; matrisin değeri aşağıdaki gibi ifade edilebilir.

42 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Resmi X ekseni etrafında döndürmek istediğimiz için Rx(θ) matrisi ile A matrisi çarpılır. Bu işlem neticesinde x sabit kalırken, y ve z değişime uğrar. Fakat z değerinin yani yükseklik değerinin değişmesine gerek duyulmadığından, işlemlere z değeri değiştirilmeden devam edilir.

43 2 BOYUTLU RESMİN 3 BOYUTLU ŞEKİLDE GÖRÜNTÜLENMESİ
Değişim neticesinde oluşması gereken yeni y değeri; yyeni = y*cos(θ) - z*sin(θ) olur. Açı değerlerine göre sinüs ve kosinüs fonksiyonlarının değerinin ne olacağı, yazılan programda alt modüller içerisinde belirtilmiştir.

44 UYGULAMA: İKİ BOYUTLU RESMİN ÜÇ BOYUTLU OLARAK GÖRÜNTÜLENMESİ
Elde edilen ve Gauss filtresi ile pürüzsüz hale getirilen resmi 3 boyutlu olarak görüntüleme uygulaması. Uygulamada ‘Rotation Matrix’ kullanılmıştır.

45 UYGULAMA: İKİ BOYUTLU RESMİN ÜÇ BOYUTLU OLARAK GÖRÜNTÜLENMESİ

46

47 . .


"GÖRÜNTÜ İŞLEME ALGORİTMALARININ FPGA DONANIMI ÜZERİNDE GERÇEKLENMESİ" indir ppt

Benzer bir sunumlar


Google Reklamları