Implementation of the YOLOv8 convolutional neural network block on fpga
YOLOv8 evrişimsel sinir ağı bloğunun fpga üzerinde gerçeklenmesi
- Tez No: 916289
- Danışmanlar: DR. TANKUT AKGÜL
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Elektrik ve Elektronik Mühendisliği, Computer Engineering and Computer Science and Control, Electrical and Electronics Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2025
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Elektronik Mühendisliği Bilim Dalı
- Sayfa Sayısı: 87
Özet
Evrişimsel Sinir Ağları (ESA'lar), bilgisayarlı görü, nesne algılama ve görüntü işleme gibi alanlarda yoğun şekilde araştırılan konular arasında yer almaktadır. ESA işlemleri iki ana aşamaya sahiptir: eğitim ve çıkarım. Eğitim, ileri ve geri yayılım gibi yoğun hesaplamalar gerektirir. İleri yayılım, mevcut ağırlık değerlerini kullanarak çıktıyı tahmin ederken, geri yayılım tahmin edilen ve gerçek çıktı arasındaki hatayı hesaplar ve ağırlıkları gradyan inişi yöntemiyle yinelemeli olarak günceller. Donanım hızlandırma çalışmaları, genellikle eğitim veya çıkarım süreçlerinden birini iyileştirmeye odaklanır, çünkü ESA'lar, yalnızca bir çıktının hesaplanması için milyonlarca işlem gerektirebilecek kadar yoğun hesaplama gerektirir. ESA'lar için kullanılan donanım platformları arasında CPU'lar, GPU'lar, FPGA'ler ve ASIC'ler bulunmaktadır. ASIC'ler yüksek hız sunmalarına rağmen, maliyetli olmaları ve yalnızca belirli bir amaç için tasarlanmış olmaları nedeniyle kullanımları sınırlıdır. CPU'lar, belirli bir algoritmaya özel olarak özelleştirilebilecek komut hatları ve paralel işlem yöntemlerini uygulayamadıkları için esneklikten yoksundur. GPU'lar ise yüksek yoğunluklu algoritmalar için en uygun donanım alternatifleridir, ancak düşük yoğunluklu algoritmalar için performans sınırlamaları gösterirler. FPGA'ler ise yeniden yapılandırılabilir mimarileri, paralellik ve komut işleme hattı (pipelining) yetenekleri ile hem basit hem de karmaşık ESA katmanları için uygun bir çözüm sunarak bu boşluğu doldurur. FPGA benzer programlanabilir yapılara göre de belli avantajlara sahiptir. İnce-tanecikli (fine-grained) yapıda olması ve kendi komşuluğunda olmayan diğer lojik birimlerle kolaylıkla fonksiyon gerçeklemesi için bir araya gelmesini sağlayan ara-bağlantı (inter-connect) yapısı avantajlarından en belirgin olanlarıdır. Örneğin; CPLD yapıları iri-tanecikli (coarse-grained) oldukları, bu durum CLPD içinde yer alan lojik birimlerin FPGA'dekilere göre oldukça büyük olmasını ifade eder, ve lojik birimlerinin ancak yatay ve dikey komşuluğunda bulunan diğer lojik birimlerle bir fonksiyon gerçeklemesi için kullanılabileceği için kompleks algoritmaların gerçeklenmesi için uygun değildir. Ayrıca kaskat işleme gibi farklı yaklaşımlarda FPGA'lerin esnekliği sayesinde kolaylıkla bu yapılarda uygulanabilir. Bu çalışmada, FPGA tabanlı ESA uygulamalarında maksimum 275 MHz çalışma frekansı elde edilmiş, çoğu IP bloğu ise 250 MHz çalışma frekansında çalıştırılmıştır. Bu durum, tasarımın yüksek hızda işlem gerçekleştirme kapasitesine sahip olduğunu göstermektedir. Verilerin depolanmasında kullanılan sabit donanım tabanlı yapılar, LUT tabanlı yaklaşımlara kıyasla hem verimlilik hem de zaman açısından üstünlük sağlamıştır. Bu, özellikle FPGA kaynaklarının daha etkili kullanılması ve işlem sürelerinin kısaltılması açısından önemli bir avantaj sunmaktadır. Çalışmada kullanılan BRAM tabanlı FIFO yapıları, derinlikleri 16 ile 512 arasında değişmekle birlikte, performansta belirgin iyileştirmeler sağlamıştır. Ancak, FIFO derinliğinin 512 girdinin ötesine geçmesi durumunda elde edilen faydaların azaldığı gözlemlenmiştir. Bu azalma, derinlik artışı ile sonuç üretme süresindeki iyileşmenin sınırlı hale gelmesinden kaynaklanmaktadır. Bu bulgu, FIFO tasarımında derinliğin dikkatlice optimize edilmesi gerektiğini ve kaynak tüketimi ile performans arasında bir denge sağlanmasının önemini ortaya koymaktadır. Ayrıca, kaskat işleme yöntemi, aynı verilerin tekrar tekrar bellekten alınmasından kaynaklanan gecikmeleri önemli ölçüde azaltmış ve işlem sürelerinde kayda değer bir azalma sağlamıştır. Bu yöntem, özellikle yüksek veri yoğunluğuna sahip uygulamalarda bellek erişimi ile ilişkili gecikmelerin minimize edilmesinde etkili bir çözüm olarak öne çıkmaktadır. Çalışmanın bulguları, verimlilik, zaman yönetimi ve kaynak kullanımını optimize eden bu stratejilerin, yüksek performanslı FPGA tabanlı sistemlerin geliştirilmesinde kritik rol oynadığını göstermektedir. Çalışmada, IP'lerde kullanılan yöntemlerin güç ve enerji tüketimi üzerindeki etkileri detaylı bir şekilde incelenmiştir. Yapılan analizler, güç tüketiminin işlem frekansı ile doğrusal bir ilişki gösterdiğini, ancak kullanılan mimari yapıların bu ilişki üzerinde küçük değişikliklere neden olabileceğini ortaya koymaktadır. Özellikle, sabit donanım yapıların tercih edilmesinin, LUT tabanlı yapılara kıyasla hem güç hem de enerji tüketimini belirgin bir şekilde azalttığı görülmüştür. Bu durum, donanım kaynaklarının daha verimli kullanılması açısından önemli bir avantaj sağlamaktadır. FIFO derinliğindeki artışın enerji tüketiminde azalmaya yol açtığı tespit edilmiş olsa da, bu etkinin belirli bir noktadan sonra sınırlı hale geldiği gözlemlenmiştir. Bunun temel nedeni, FIFO derinliğinin artmasıyla sonuç üretme süresinde elde edilen iyileşmenin giderek azalmasıdır. Bu durum, tasarım sürecinde, FIFO derinliği ile sonuç üretme süresi arasındaki dengenin dikkatlice optimize edilmesi gerektiğini göstermektedir. Ayrıca, kaskat işleme yönteminin, enerji tüketimini azaltmada etkili bir çözüm sunduğu anlaşılmıştır. Bu yöntem, özellikle sonuç üretme süresindeki iyileşmeleri destekleyerek toplam enerji tüketiminin optimize edilmesine olanak tanımaktadır. Dolayısıyla, tasarımda kullanılan mimari tercihler, yalnızca işlem performansı değil, aynı zamanda güç ve enerji verimliliği üzerinde de doğrudan bir etkiye sahiptir. Bu bulgular, enerji verimliliğini artırmak ve güç tüketimini minimize etmek için tasarım kararlarının kritik önem taşıdığını açıkça ortaya koymaktadır. Bu çalışmada, paralelleştirme, sistem performansını artıran en önemli faktörlerden biri olarak öne çıkmaktadır. Örneğin, 8 paralel işlem ile elde edilen en iyi işlem süresi 0,14 saniye iken, paralel işlem sayısının 16'ya çıkarılmasıyla bu sürenin yaklaşık 0,07 saniyeye düşmesi beklenmektedir. Bu durum, özellikle daha fazla kanala sahip ESA katmanlarında geniş paralelleştirme stratejilerinin önemini açıkça ortaya koymaktadır. Paralelleştirmenin etkin bir şekilde uygulanması, sistemin toplam işlem süresini düşürürken enerji verimliliğini de arttırmaktadır. Bunun yanı sıra, en uygun performansı elde edebilmek için tasarımların, maksimum frekansı artırmayı hedefleyen bölütlenmiş (pipeline) yapılarla geliştirilmesi gerekmektedir. Böyle bir yaklaşım, işlem hattı verimliliğini artırarak paralel işlemler arasındaki bekleme sürelerini minimize eder. Aynı zamanda, tasarımda gereksiz LUT ve Flip-Flop kullanımı en aza indirilerek donanım kaynaklarının verimli bir şekilde kullanılması sağlanmalıdır. Son olarak, kaskat işleme yöntemi, bellek erişimine bağlı zamansal kayıpların elimine edilmesi için kritik bir çözüm olarak öne çıkmaktadır. Bellek erişimlerinin optimize edilmesi, yalnızca işlem sürelerini kısaltmakla kalmayıp, aynı zamanda enerji tüketimini azaltarak daha verimli bir sistem tasarımı sağlar. Bu öneriler, paralelleştirme, bellek yönetimi ve donanım optimizasyonu gibi stratejilerin birlikte kullanılarak sistem performansının iyileştirilmesine önemli katkılar sunmaktadır. Sonuç olarak, bu çalışma, ESA performansını artırmak için izlenebilecek kritik stratejilere dikkat çekmektedir. Özellikle, paralelleştirme teknikleri, sabit donanım yapılarının verimli bir şekilde kullanımı ve kaskat işleme yöntemleri, performans artışı sağlamak için temel yaklaşımlar olarak öne çıkmaktadır. Bu stratejiler, yalnızca sistemin işlem hızını artırmakla kalmayıp aynı zamanda enerji ve kaynak verimliliğini de optimize etmektedir. Bunun yanı sıra, donanım tasarımında ölçeklenebilirlik sağlamanın önemi vurgulanmış, farklı iş yükleri ve uygulama senaryolarına uyum sağlayabilecek esnek mimari yapıların geliştirilmesinin gerekliliği ortaya konulmuştur. Bu bulgular, hem enerji verimli hem de yüksek performanslı tasarımlar oluşturmak için bir rehber niteliği taşımaktadır.
Özet (Çeviri)
Convolutional Neural Networks (CNNs) are among the most extensively studied topics, with applications in areas such as computer vision, object detection, and image processing. CNN operations are divided into two main phases: training and inference. Training requires intensive computations, including forward and backward propagation. Forward propagation estimates output using current weights, while backward propagation calculates the error between predicted and actual outputs, updating weights iteratively using gradient descent. Hardware acceleration studies focus on improving either training or inference, given the computational intensity of CNNs, which often require millions of operations for a single output. Hardware platforms for CNNs include CPUs, GPUs, FPGAs, and ASICs. While ASICs offer high speed, their cost and single-purpose nature limit their use. CPUs lack flexibility for custom operations, and GPUs are best suited for tasks with high-density algorithms. However, GPUs show performance limitations for workloads with low-density algorithms. FPGAs fill this gap by offering reconfigurable architecture, parallelism, and pipelining, making them versatile for both simple and complex CNN layers. In this study, FPGA-based CNN implementations achieved a maximum frequency of 275 MHz, with most IP blocks operating at 250 MHz. Hard-wired structures were utilized for data storage, outperforming LUT-based approaches in terms of efficiency and temporal performance. BRAM-based FIFO structures with depths ranging from 16 to 512 entries provided substantial improvements, although benefits plateaued beyond 512 entries. Cascading also minimized delays caused by repeated memory fetches. In this study, parallelization is one of the main factors of performance increase. For example, with 8 parallel operations, the best execution time was 0.14 seconds, which could drop to around 0.07 seconds with 16 parallel operations. This highlights the importance of extensive parallelization, particularly in deeper CNN layers with more channels. Optimal performance requires segmented designs with minimal LUT and Flip-Flop utilization to maximize frequency and avoid internal resource bottlenecks. In conclusion, the study emphasizes parallelization, correct use of hard-wired structures, and cascading as critical strategies to enhance CNN performance on FPGAs while ensuring resource efficiency and scalability.
Benzer Tezler
- Vision-based detection and recognition of maritime objects for autonomous surface navigation
Otonom deniz seyrüseferi için görüntü tabanlı engel tespiti ve gemi sınıflandırma
SEVDA SAYAN YONCA
Yüksek Lisans
İngilizce
2025
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. HAZIM KEMAL EKENEL
- Seröz efüzyon sitopatolojisinde makine öğrenmesi tabanlı tanı yaklaşımlarının geliştirilmesi ve uygulanması
Development and implementation of machine learning based diagnosis approaches in serous effusion cytopathology
ELİF BAYKAL KABLAN
Doktora
Türkçe
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKaradeniz Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. MURAT EKİNCİ
- Evrişimli sinir ağları ile yüksek çözünürlüklü uydu görüntülerinden uçak tespiti
Aircraft detection from high resolution satellite images with convolutional neural networks
EMİNE DİLŞAD ÜNSAL
Yüksek Lisans
Türkçe
2021
Jeodezi ve Fotogrametriİstanbul Teknik Üniversitesiİletişim Sistemleri Ana Bilim Dalı
PROF. DR. ELİF SERTEL
- Multi-language license plate recognition
Çok-dilli plaka tanıma
MOHAMMED SALEMDEEB
Doktora
İngilizce
2020
Elektrik ve Elektronik MühendisliğiKocaeli ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. SARP ERTÜRK
- Robot hücresi içerisinde yapay zekâ ve görüntü işleme tabanlı parça besleme kontrolü
Artifical intelligence and image processing-based part feeding control in a robot cell
ENESALP ÖZ
Yüksek Lisans
Türkçe
2025
Elektrik ve Elektronik MühendisliğiSakarya ÜniversitesiElektrik ve Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. MUHAMMED KÜRŞAD UÇAR