01 – 2020 Yeni Mühendislik İttifakı-Xilinx Yaz Okulu Tanıtımı
Bilgi Teknolojileri Yeni Mühendislik İttifakı tarafından desteklenen ve Xilinx, Güneydoğu Üniversitesi ve Güneybatı Jiaotong Üniversitesi tarafından ortaklaşa desteklenen yaz okulu 3 Ağustos’ta sona erecek. 20 Temmuz’dan 3 Ağustos’a kadar on beş gün boyunca, dünya genelinden 1,200’den fazla öğrenci bu yaz okuluna internet üzerinden katıldı.
100 saatlik pratik sonrası
- İlk hafta dersleri ve deneyler sırasında ne öğrendiniz?
- İkinci haftadaki proje pratiğinin sonucu ne oldu?
- Sıfırdan başlayan A Sınıfı öğrencileri neler başarabilir?
- B Sınıfı’nın HLS tasarımı ne kadar ileri? Gözden geçirmenizi bekliyoruz!
02 – A Sınıfı Mükemmel Çalışmalarına Giriş
A1. OV5647 Tabanlı Taş-Kağıt-Makas Oyunu Tanıma Hareketi
Tanıtım:
Proje, hareket tanıma gerçekleştirmek için SEA-S7 platformuna dayanmaktadır; bu, makas, taş ve kağıt hareketlerini tanıyabilir ve FPGA ile rekabet ederek Taş-Kağıt-Makas oyununun sonucunu elde edebilir. Oyuncular, sonuçları almak ve verileri işlemek için ana bilgisayar aracılığıyla FPGA ile etkileşimde bulunabilir, bu da oyuncuların uygulamalarını genişletmelerini kolaylaştırır.

A2.FPGA Tabanlı Numara Tanıma
Tanıtım:
Bu proje, Camera_Demo resmi rutinine dayalı olarak değiştirilmiştir; görüntü işleme ve numara tanıma işlevleri eklenmiştir, yani toplanan görüntülerin gri tonlama işleme ve ikili işleme yapılması, ardından (0-9) dijital özelliklerine göre sınıflandırılması ve ölçülen numaranın harici LCD1602 veya seri monitör aracılığıyla görüntülenebilmesi sağlanmıştır. İşlenmiş görüntü, HDMI harici ekran aracılığıyla gözlemlenebilir. Sonuçlar:

A3.Rastgele Dalga Formu Üreteci
Tanıtım:
Bu rastgele dalga formu üreteci, WIFI aracılığıyla dalga formunun ilgili parametrelerini uzaktan yapılandırabilir, böylece DAC902, gereksinimleri karşılayan analog sinyali çıkışlayabilir ve ayrıca rastgele dalga formu üretecinin ilgili parametre bilgilerini uzaktan gerçek zamanlı olarak alabilir.

A4.Rastgele dalga formu üreteci + düşük geçiren filtre (IP çekirdek uygulaması)
Tanıtım
Rastgele dalga formu üreteci gerçekleştirilmiştir; 1Hz, 10Hz, 100Hz…1MHz frekanslarında sinüs dalgaları, kare dalgalar, üçgen dalgalar ve testere dişi dalgaları üretebilir. Osiloskop bulunmadığı için, dalga formu üreteci kart düzeyindeki hata ayıklama yalnızca UART seri port iletimi doğrular. Düşük geçiren filtre tasarımının algoritma işlevi gerçekleştirilmemiştir ve nihayetinde düşük geçiren filtre simülasyonu IP çekirdeği ile gerçekleştirilmiştir.

A5.Çok Kanallı UART/SPI Genişletme
Tanıtım:
Buton anahtarı iletişim moduna göre gerçekleştirilir, UART ve SPI arasında seçim yapılabilir ve SPI ana cihazı (veya UART gönderim ucu) ile birden fazla SPI kölesi (veya UART alım ucu) arasında iletişim sağlanabilir; köle, iletişim sürecinde (veya alım ucu) adres seçimi gerçekleştirebilir.

A6.Klasik Oyun Yeniden Üretimi: Araba Kaçma
Tanıtım:
Mini oyun ‘araba kaçma’. Oyuncu, kontrol panelindeki iki buton ile arabayı kontrol eder ve engellere göre kaçınma yönünü seçer.

A7.SEA-Catmario
Tanıtım:
Mevcut oyun örnekleri ile karşılaştırıldığında, oyun karakterinin zıplama ve haritayı bloklar halinde gösterme işlevlerini gerçekleştirir, bu da oyunun karmaşıklığını artırır.

A8.Numara Tanıma
Tanıtım:
Bu proje, saf arka plan rengine sahip bir numarayı doğru bir şekilde tanıyabilir ve ekranın sol üst köşesindeki dijital ölçüm cihazındaki numarayı seçerek sabit tutabilir.

A9.SEA Tabanlı Yılan Oyunu
Tanıtım:
Oyun işlevini gerçekleştirir, karakter modülasyonu kullanarak belleği azaltır, önyükleme animasyonu ekler, doku tasarımını artırarak oyun deneyimini geliştirir ve Bluetooth/kontrol cihazı kontrolünü seçebilir.

A10.Fonksiyonel Maker Feneri
Tanıtım:
Renk tanıma gerçekleştirir ve kameradan yakalanan görüntüyü gerçek zamanlı olarak görüntüler. Ayrıca bir kullanıcı arayüzü, parlaklık ayarı ve manuel renk çıkışı ekler.

A11.AWS IoT’de SEA Kartı Tabanlı AES Şifreleme Algoritması Uygulaması
Tanıtım:
Herhangi bir zamanda gizli anahtarı değiştirebilen bir AES şifreleme ve şifre çözme cihazı tasarladık. AES algoritmasını gerçekleştirmek için FPGA kullanılır, giriş verileri şifrelenerek şifreli metin elde edilir ve şifreli metin, FPGA aracılığıyla ESP32’nin QSPI verisi ile değiştirilir ve şifreli metin, ESP32 ağı aracılığıyla AWS bulutuna iletilir.

A12.Klasik Oyun Yeniden Üretimi: Flappy Bird
Tanıtım:
ESP32 tabanlı Flappy Bird klasik oyununun yeniden üretimi. Kaynak kodu vivado platformunda yazılmıştır ve HDMI aracılığıyla görselleştirilmiştir, oyunun temel işlevlerini yeniden üretir ve oyun puanına dayalı olarak zorluğu dinamik olarak ayarlayan bir algoritma oluşturur.

A13.MD5 Şifreleme ve QSPI Seri İletişim
Tanıtım:
Şifrelenmiş veriyi doğrudan seri porttan göndermeyi ve elde edilen MD5 şifrelenmiş hash değerini FPGA’dan doğrudan okumayı ve bilgisayar seri monitörüne geri göndermeyi gerçekleştirir.

A14.Aletler: Sanal Osiloskop
Tanıtım:
Dış analog sinyalleri veya ayrık sinyalleri toplayabilir ve verileri MCU’ya iletebilir. MCU, alınan verilere göre ekranda dalga formları çizer.

03 – B Sınıfı Mükemmel Çalışmalarına Giriş
B1.Flower5: Çiçek Tanıma Cihazı
Tanıtım:
Bu tasarım, Ultra96 geliştirme kartını, InceptionV3 ağını ve Vitis-AI nicelikli derleme araç zincirini kullanarak beş çiçek sınıflandırma cihazı yapmaktadır. Xilinx’in DPU’sunu (Derin Öğrenme İşleme Birimi) ve Vitis-AI araç zincirini kullanarak derin öğrenme ağlarını FPGA’lara hızlı bir şekilde dağıtır.

B2.FPGA Tabanlı Hedef Tespit Ağı Hızlandırma Devresi Tasarımı
Tanıtım:
SkyNet ve iSmart2 prensiplerine dayanan bu proje, hedef tespit görevlerini tamamlamak için esasen 3×3 kanal bazında konvolüsyon ve 1×1 nokta bazında konvolüsyondan oluşan hafif bir sinir ağı inşa etmektedir. Bu iki tür konvolüsyon için konvolüsyon işlem hızını artırmak amacıyla FPGA hızlandırma devre modülü tasarlanmıştır. Donanım devresinin toplam yongada güç tüketimi yalnızca 2.322W’dır ve IoU 0.573’e ulaşarak tasarım hedefini karşılamaktadır.

B3.PYNQ-Z2 Tabanlı Odak Dışı Görüntü için Bulanıklığı Giderme Sistemi
Tanıtım:
Bu çalışma, PS tarafında yerel resimleri veya kamera giriş resimlerini okuyabilir ve ardından bunları paylaşılan belleğe yazabilir; ardından AXI veri yolu, PL tarafını yüksek hızlı iki boyutlu Fourier dönüşümü, matris işlemi, ters dönüşüm ve diğer işlemleri gerçekleştirmek için kontrol eder ve Wiener filtreleme işlemini gerçekleştirir. PS terminalinden elde edilen yeni resim, nihayetinde okunarak görüntünün bulanıklığı giderilir. Ancak şu anda yalnızca belirli tasarlanmış görüntüler bulanıklığı giderilebilir ve adaptif bir yeteneği yoktur.

B4.PYNQ Tabanlı SSD (Single Shot Multi-Box Detector) Hedef Tespit Sistemi Tasarımı
Tanıtım:
Proje, SSD hedef tespit ağının PYNQ platformuna taşınmasını gerçekleştirmiştir. Konvolüsyon, havuzlama ve L2 norm biriminin tasarımı HLS araçları aracılığıyla tamamlanmış ve PYNQ platformunda hedefin giriş görüntüsünde çıkarılması ve görüntüdeki hedefin konumunun belirlenmesi için bir ağ çerçevesi oluşturulmuştur.

B5.Trafik işareti tanıma
Giriş:
Bu tasarım, LeNet-5 sinir ağı mimarisine dayalı olarak parametrelerin ince ayarını yaparak oluşturulmuş bir sinir ağı yapısıdır. TensorFlow2 ile eğitim sonrası, her katmanın ağırlık ve bias parametreleri elde edilir ve ardından HLS kullanılarak sinir ağının PL ucundaki hızlandırıcısı oluşturulur. Ağırlık ve bias parametreleri PL ucuna aktarılır ve sinir ağı hızlandırma amacı gerçekleştirilir. Bu tasarımın amacı, sinir ağını hızlandırarak trafik işaretlerini tanıyabilmektir. Bu süreçte, tensorflow2.x kullanarak bir sinir ağı oluşturup eğittik, HLS kullanarak bilinen bir ağ yapısını hızlı bir şekilde inşa ettik ve alanı makul bir şekilde tahsis ettik.

B6.El yazısı tanıma
Giriş:
El yazısı tanıma, yaygın bir görüntü tanıma görevidir. Farklı insanlar farklı el yazısı stillerine ve boyutlarına sahiptir, bu da bilgisayarlar için el yazısı tanıma görevlerinde bazı zorluklar yaratır. Bu çalışmada, el yazısı tanıma ağı lenet-5 FPGA üzerinde dağıtılarak daha yüksek verimlilik ve daha düşük güç tüketimi ile otomatik el yazısı tanıma gerçekleştirilmiştir.

B7. AI maske tespit sistemi
Giriş:
Salgın önleme ve kontrolünde maske takma tanıma ihtiyacına yanıt olarak, bu makale Xilinx’in en son Vitis-AI aracına dayanarak, kendine ait bir görüntü tanıma ağı ile birleşerek hızlı bir AI maske takma tanıma sistemi geliştirmektedir. Nihai tanıma oranı %88’in üzerine çıkabilir ve maske takma durumunu doğru bir şekilde ayırt edebilir, ağız kapama, atkı takma vb. durumları ayırt edebilir.

B8.MD5 algoritmasının HLS uygulaması
Giriş:
Bu proje, MD5 algoritmasını FPGA üzerinde uygulamak için HLS geliştirme yöntemini kullanmaktadır. Proje, PS/PL için sırasıyla DMA ve BRAM kullanarak iki veri paylaşım şemasını gerçekleştirmiştir. PYNQ-Z2 platformunda yapılan nihai testte, her iki şema da beklenen düşük güç tüketimi ve yüksek performans hedeflerine ulaşmıştır.

B9.LMS tabanlı adaptif filtre
Giriş:
Adaptif filtre, değişken katsayılı dijital bir filtredir. Algoritmaya göre filtre katsayılarını dinamik olarak ayarlayabildiği için her zaman iyi filtre performansını koruyabilir. Öncelikle MATLAB’da adaptif filtrasyonun uyumluluğunu doğrulamak için simülasyon yapılır; ardından HLS üzerinde paralelleştirme gerçekleştirilir ve nihayetinde LSM paralel hesaplama gücü, otomatik parametre ayarlama ve diğer işlevler elde edilir; en sonunda IP, test için karta indirilir ve tekrar eden testler ve optimizasyonlar sonucunda HLS tabanlı adaptif filtrasyon gerçekleştirilmiştir.

B10.Pynq tabanlı sıkıştırma algoritmasının hızlandırılmış uygulanması
Giriş:
Bu tasarımda, dosyaların sıkıştırılması ve açılması gerçekleştirilmesi planlanmakta ve aynı zamanda sıkıştırma ile ilgili sinyal işleme ve hesaplama yoğun işlevlerin optimize edilmesi hedeflenmektedir. Bu tasarımın nihai amacı, algoritmanın tamamen paralelleştirilmiş bir donanım mimarisinde (örneğin FPGA) uygulandığında hızının büyük ölçüde artırılabileceğini kanıtlamaktır. Öncelikle C dilini kullanarak kodu uygulayacağız, ardından Vivado HLS’de kapsamlı bir şekilde uygulayacağız ve nihayetinde FPGA kartında (pynq-z2) donanım uygulamasını gerçekleştireceğiz ve jupyter notebook’ta işlevsel doğrulama için python kullanacağız.

B11.Ultra96 tabanlı akıllı kapı kilidi
Giriş:
Projemiz, MQTT, Flutter, Dlib ve Ultra 96 kartları üzerine kurulmuş bir akıllı kapı kilidi sistemidir. Uygulama tarafı, cihaz ekleme, uzaktan kontrol ve video akışı gibi işlevlere sahiptir. Cihaz tarafı, yabancıları tanıyabilir, fotoğraflar çekebilir ve geri gönderebilir ve çoklu kullanıcı işlemlerini destekleyebilir. Sunucu tarafı, cihazlar arasındaki iletişim gibi işlemlerden sorumludur.

B12.Ultra96 platformuna dayalı yüz ifadesi tanıma sistemi
Giriş:
Bu tasarım, Ultra96-V2 platformuna dayalı olarak tasarlanmış bir yüz ifadesi tanıma sistemidir. Bir konvolüsyonel sinir ağı algoritması kullanarak bir model oluşturur, yedi yüz ifadesini tanır ve modeli Vitis AI çerçevesine dayalı olarak Ultra96 platformuna dağıtarak modelin çıkarım hızını artırır; nihai tespit hızı yaklaşık 250FPS’ye ulaşır.

B13.El yazısı matematik formülü hesaplayıcı
Giriş:
Bu proje, PYNQ-Z2 geliştirme kartı üzerinde konvolüsyonel sinir ağına dayalı bir el yazısı matematik formülü tanıma ve hesaplama işlevi hesaplayıcısını uygulamak için HLS kullanmaktadır. USB kamerasından veya yerel resimden gelen el yazısı matematik formülünü tanıyabilir ve formülün sonucunu hesaplayabilir.

B14.Binoküler görüş yeniden yapılandırma sistemi tasarımı
Giriş:
Bu proje, PYNQ-Z2 üzerinde bir binoküler görüş mesafe ölçüm sistemi tasarlamıştır. Gelen sol ve sağ göz görüntüleri ile PYNQ-Z2 üzerinde bozulmayı düzeltir ve ortadan kaldırır ve iki kamera arasındaki paralaksı hesaplamak için bir stereo eşleştirme algoritması kullanır. Nihayetinde, elde edilen disparite haritası ve ilgili eşleme matrisini kullanarak üç boyutlu yeniden yapılandırma gerçekleştirilir ve ilgili derinlik görüntüsü elde edilir.

