Implementation and comparison of super resolutionalgorithms on embedded systems
Gömülü sistemler üzerinde süper çözünürlük algoritmalarınıngerçeklenmesi ve karşılaştırılması
- Tez No: 798411
- Danışmanlar: PROF. DR. MÜŞTAK ERHAN YALÇIN
- Tez Türü: Yüksek Lisans
- Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri 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ı: 63
Özet
Bu tezde, CNN tabanlı süper çözünürlüklü yöntemleri uygulamayı hedefliyoruz ve uygulamalarımız gömülü sistemlerde resim ve video üzerine gerçekledik. CNN tabanlı süper çözünürlük yöntemleri EDSR, ESPCN, FSRCNN ve LAPSRN'dir. Süper çözünürlük yöntemlerini ölçek faktörüne, katmanlara ve parametrelerine göre karşılaştırdık. Tüm bu süper çözünürlük yöntemlerini gömülü sistemler üzerinde eğittik. Bu yöntemleri teker teker açıklanıp, gömülü sistemlerde uyguladık ve gerçekledik. Enterpolasyona dayalı yöntemleri, yeniden yapılandırmaya dayalı yöntemleri ve öğrenmeye dayalı yöntemleri karşılaştırdık ve birbirleri arasındaki farkları analiz ettik. Gerçek zamanlı performans elde etmek için performans arttıcı çalışmalara odaklandık ve süper çözünürlük uygulamasını 2 aşamalı olarak gerçekleştirdik. Bunlar eğitim süreci ve uygulama sürecidir. Eğitim sürecinde, tüm süper çözünürlük yöntemlerinde farklı veri setleri ve farklı öğrenme oranları kullandık. Uygulama süreci için tüm ölçek faktörlerine sahip eğitilmiş dosyalar ürettik. Bu dosyaları üretmemizdeki amacımız uygulanma aşamasında öğrenilmiş verileri sistemimize verebilmek için dosya halinde verileri çıkardık. Öncelikle uygulama sürecinde, daha iyi performans için programlama dilini seçmeye odaklandık, çünkü sistemimiz gerçek zamanlı bir gömülü sistem üzerinde gerçekleştirmek istedik. Bir süper çözünürlük yöntemi seçtik, süper çözünürlük uygulaması için farklı programlama dillerinde aynı kodu ürettik ve farklı programlama dillerinde uygulama performansını analiz ettik, ardından her bir CNN tabanlı süper çözünürlük yönteminde kalite için PSNR, SSIM ve geçen zaman değerlerini analiz ettik. Kalite ve işlem süresi için bir denge bulduk. PSNR, SSIM ve geçen zaman değerlerine göre süper çözünürlük yöntemlerinin değerlerini birbirine göre karşılaştırıp, çıkarımlar elde ettik. Gerçek zamanlı performans elde etmek için CPU ve DPU üzerinde görüntü ve video uygulamaları gerçekleştirdik, CPU ve DPU'daki süper çözünürlük uygulamalarının performansını karşılaştırdık. Gerçek zamanlı süper çözünürlük uygulamasına ulaşmak için çıkarımlar elde ettik. Görüntü uygulamasında tek çekirdekli ve çok çekirdekli yapı kullandık ve tüm süper çözünürlük yöntemlerini kullanarak görüntü uygulamasında tek çekirdekli, çok çekirdekli CPU performansını karşılaştırdık. CPU'ların içinden en iyi performansı vereni tespit ettik ve DPU, CPU performans karşılaştırmasını gerçekleştirdik. Video uygulamasında, tek iş parçacığında bir kare ve çoklu iş parçacığında çoklu küçük karelerden oluşan bir yapı kullandık. Videonun karesini küçük parçalara bölerken birbirlerileriyle aynı çözünürlükte olmasını ve ana karenin çözünürlüğündeki tüm alanı kapsayacak şekilde çoklu küçük karelerin çözünürlüğü ayarladık. Video uygulamasında tüm küçük kareleri dikerek bir görüntü oluşturduk.Gerçek zamanlı performans için CPU ve DPU analizlerini raporladık. Süper çözünürlük uygulamalarının ve analizlerinin kodlarını Github hesamızda paylaştık. Uygulamalarımızda Raspberry pi, Laptop ve Kria KV260 kartını kullandık. Platformlarımızı ve uygulamamızı resimler halinde paylaştık. Resimleri ve videoları usb kameramızdan canlı olarak veya hafızadaki resimleri ve videoları kullanarak süper çözünürlüklük uygulamalarını gerçekleştirdik ve çıkan sonuçları yüksek çözünürlük ekranda gösterdik. Çıkan sonuçları ilk aşamada görsel olarak yüksek çözünürlüklü ekranda farklarını karşılaştırıp, arkasında PSNR ve SSIM değerlerini alıp görüntü kalitesi hakkında çıkarımlar gerçekleştirdik. DPU ve CPU üzerinde gerçek zamanlı süper çözünürlük uygulamasının gerçekleştirilebilmesi için başlıca yazılım dili, kalite ve performansı karşılaştırdık. DPU ve CPU mimarisini inceledik, birbirleri arasındaki farkları inceledik. Gömülü sistemlerde kullandığımız DPU ve CPU'ların özelliklerini paylaştık. DPU'nun kullanım amacını, uygulamalarını ve tasarımını inceledik. DPU'nun iç kısımda bulunan yapıların kullanım amaçlarını inceledik. Süper çözünürlük resim uygulamamızı DPU'da ve farklı CPU'larda gerçekledik. Çıkan sonuçlara göre programlama tekniği, ölçekleme ve performans analizi yaptık. Performansı en iyi olan süper çözünürlük metotunu ve gömülü sistemimizi belirledik. Video uygulamamızı farklı CPU'larda ve DPU'da video codecleri kullanarak süper çözünürlük uygulamamızı gerçekledik. Gerçeklememizden çıkan sonuçları tüm süper çözünürlük metotlarına göre analiz ettik. Süper çözünürlük video uygulamasında video encode ve decode ederken video codeclerine ihtiyaç duyduk ve bu amaçla ilk başta yazılımsal video codeleri kullandık, sonrasında donanımsal video codecleri kullandık. Yazılımsal video codecleri kullanmak yerine DPU'da donanımsal video codecleri kullandık. Donanımsal video codeclerin performansını yazılımsal video codecleriyle karşılaştırdık. Süper çözünürlük uygulamamızı şematik halinde görselleştirerek yazılım platformu, donanım platformu, hafıza ve ekran olacak şekilde kısımlara ayırdık. Süper çözünürlük tanımınından, süper çözünürlük uygulamalarından ve süper çözünürlük uygulamalarının öneminden bahsettik. Klasik çözünürlük büyütme metodu ile derin öğrenmeye dayalı süper çözünürlük metotlarını karşılaştırdık. Klasik çözünürlük büyütme metotlarının özellikleri teker teker açıkladık. Herbir çözünürlük büyütme metodunun avantajını ve dezavantajını inceledik. PSNR ve SSIM formüllerini açıkladık, neler olduklarınından bahsettik ve neden kullandığımızı açıkladık. PSNR ve SSIM değerlerini resimler ve video üzerinden analiz ettik. CNN tabanlı süper çözünürlük yöntemleri EDSR, ESPCN, FSRCNN ve LapSRN metotlarının tüm gerçekleme aşamalarını açıkladık. Tüm süper çözünürlük yöntemlerinin katman sayılarını ve parametre sayılarını tablo halinde çıkardık ve birbirlerine göre çıkarımlar yaptık. Tüm analizleri ve performansları tablolar halinde paylaştık. Gömülü sistemlerde kısıtlı kaynaklarda gerçek zamanlı bir süper çözünürlük uygulaması gerçekleştirebilmek için resim ve video kalitesinden, işlem sürecinin performansından, kullanılan donanımdan ve farklı kodlama tekniklerinden çıkarımlar yaptık. Elde ettiğimiz çıkarımlar doğrultusunda gerçek zamanlı bir süper çözünürlük uygulamasını gömülü sistemlerde gerçekledik. Gerçek zamanlı süper çözünürlük video uygulaması gerçekleyebilmek için, gömülü sistemlerde gerçeklediğimiz video uygulamasından çıkan verilere göre videonun saniye başına geçen görüntü sayısını hesapladık. Süper çözünürlük uygulamasının gerçek zamanlı uygulanabilmesi için kullanılan gömülü sistemlerin içinden en uygun performansı veren gömülü sistemi tespit ettik.
Özet (Çeviri)
In this thesis, we aim to implement CNN based super-resolution methods and our implementation is image and video on embedded systems. CNN based super-resolution methods are EDSR, ESPCN, FSRCNN and LAPSRN. We compared super-resolution methods based on scale factor, layers and parameters. We trained all these super-resolution methods on embedded systems. These methods are explained and applied on embedded systems. We compared interpolation-based methods, reconstruction methods and learning-based methods. We focused on performance enhancing research to achieve real-time performance and we implemented the super-resolution implementation in 2 processes. They are training process and implementation process. In training process, we used different datasets on all super-resolution methods and we produced trained files, which have all scale factor for implementation process. First of all in implementation process, we focused on choosing the programming language for better performance. We chose a super-resolution method, we produced same code on different programming languages for super-resolution implementation and we analyzed implemetation performance on different programming languages, then we analyzed PSNR, SSIM and elapsed time values on each CNN based super-resolution methods for quality. We found a trade off for quality and processing time. To achieve real-time performance, we implemented to image and video implementations on CPU and DPU and we compared the performance of super-resolution implementations on CPU and DPU. We obtained to inferences to reach real-time super-resolution implementation. We used single-core and multi-core structure on image implementation and we compared single-core and multi-core CPU performance on image implementation with using all super-resolution methods. We used a frame in single-threading and a frame which consisting of many tiles in multi-threading structure on video implementation. We created a image by stitch all the tiles on video implementation. CPU and DPU analyzes are reported for real time performance. We shared the codes of super-resolution applications and analysis on our Github account.
Benzer Tezler
- Termal görüntülere derin öğrenme tabanlı süper çözünürlük yöntemlerinin uygulanması
Application of deep learning based super resolution in thermal images
CANER CİVE
Yüksek Lisans
Türkçe
2023
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. ENDER METE EKŞİOĞLU
- An examination of super resolution methods
Süper çözünürlük metodları üzerine bir inceleme
YILCA BARIŞ SERT
Yüksek Lisans
İngilizce
2006
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. ÇAĞATAY CANDAN
DOÇ. DR. GÖZDE BOZDAĞI AKAR
- AB ve OECD KOBİ ve girişimcilik politikaları bağlamında verimlilik arayışları: Türkiye ve seçilmiş ülkeler karşılaştırması
The quest for efficiency in the context of EU and OECD SME and entrepreneurship policies: A comparison of Turkey and selected countries
GÜL ELÇİM POLAT
Doktora
Türkçe
2023
Kamu YönetimiAnkara Hacı Bayram Veli ÜniversitesiSiyaset Bilimi ve Kamu Yönetimi Ana Bilim Dalı
PROF. DR. MURAT AKÇAKAYA
- Türkiye'de nesnelerin interneti (IoT) teknolojisinde sektör önceliğinin belirlenmesi
Determination of priority sector on technology internet of things in Turkey
BÜŞRA ÇANAKÇIOĞLU
Yüksek Lisans
Türkçe
2021
İşletmeNuh Naci Yazgan Üniversitesiİşletme Ana Bilim Dalı
DOÇ. DR. BURCU ORALHAN
- Online alışveriş sitesi tercihinde etkili olan kriterlerin belirlenmesine ve önceliklendirilmesine yönelik bir karar modeli
A decision-making method to determine and prioritize the criteria that affect the preferability of an online shopping site
ESRA CAVLAK
Yüksek Lisans
Türkçe
2012
Endüstri ve Endüstri Mühendisliğiİstanbul Teknik ÜniversitesiEndüstri Mühendisliği Ana Bilim Dalı
PROF. DR. Y. İLKER TOPÇU