Derin öğrenme tabanlı süper çözünürlük teknikleri kullanarak JPEG sıkıştırma kaybının iyileştirilmesi
Recovering JPEG compression loss via deep learning-based super resolution techniques
Yazar: MUHAMMET BOLAT
Danışman: PROF. DR. LÜTFİYE DURAK ATA ; DR. NURULLAH ÇALIK
İstanbul Teknik Üniversitesi / Bilişim Enstitüsü / Bilişim Uygulamaları Ana Bilim Dalı / Bilgi ve Haberleşme Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bilgisayar biliminde bant genişliğinin etkin kullanımı, özellikle resim, video, ses gibi büyük verilerin iletilmesiyle giderek daha fazla önem kazanmaktadır. Bant genişliği, iletim hattı üzerinden bir saniyede iletilen maksimum veri miktarını temsil eden bir terimdir.  Aynı zamanda, belirli bir iletim ortamında bir işaretin kapladığı frekans aralığı olarak da tanımlanır. Bu bakış açısıyla, bant genişliği, veri iletimi için kullanılabilen spektrumu temsil eder. Bant genişliği genellikle bit/saniye (bit per second, bps) veya daha yüksek birimlerle ölçülür. Büyük boyutlara sahip verilerin iletilmesi, iletişim kanalının kapasitesini önemli ölçüde meşgul etmektedir. Bir internet kullanıcısı, yüksek kaliteli bir video izlerken kesinti ve veri kaybı yaşamamak için geniş bant genişliğine ihtiyaç duyar. Ancak bir e-posta gönderirken, veriyi iletmek için daha düşük bir bant genişliği yeterli olabilir. MRI taramalarında bir hastanın binlerce görüntüsü çekilir ve bu görüntüler birleştirilerek üç boyutlu sonuçlar elde edilir. Ancak bu görüntüleri bir yerden başka bir yere iletmek, veri boyutu büyüdükçe gereken iletim kapasitesini artırır ve bu durum zorlu ve maliyetli bir görev haline gelir. Bu nedenle, veri iletimi sırasında gecikmeleri ve kayıpları önlemek için bant genişliği kullanımının optimize edilmesi gerekmektedir. 

Bant genişliğinin etkin kullanılması amacıyla veri sıkıştırma teknikleri büyük önem taşımaktadır. Sıkıştırmanın performansı, iletilecek veri miktarını, dolayısıyla kullanılacak bant genişliğini doğrudan etkilemektedir. Veri sıkıştırma, bilgisayar üzerinde saklanan verilerin, tekrarlanan ve gereksiz bilgilerini ortadan kaldırıp kodlama işlemi yaparak kapladığı alanı azaltma işlemidir.  Bu işlem, dosya boyutlarını düşürerek daha verimli bir şekilde depolamak ve iletim hattını verimli bir şekilde kullanmak için tercih edilir. Veri sıkıştırma, iki farklı tekniği içerir: kayıplı ve kayıpsız. Kayıplı sıkıştırma, kullanıcının tercihine göre sıkıştırma oranının özelleştirilebileceği bir veri sıkıştırma tekniğidir.  Bu teknik, veri boyutunu azaltmak için önemsiz, tekrarlı veya insan algısına etkisi düşük olan belirli veri parçalarının atılması veya kodlanması yoluyla gerçekleşir. Kayıplı sıkıştırma algoritmaları kullanıldığında, bazı veri parçaları kalıcı olarak kaybolur ve geri getirilemez. İnsan gözü ve kulağı, veri kaybını her zaman fark edemeyebilir, ancak özellikle yüksek sıkıştırma oranları kullanıldığında kayıplar daha belirgin hale gelebilmektedir. Bu nedenle, kayıplı sıkıştırma genellikle görüntü, video ve ses dosyalarını sıkıştırmak için kullanılır. Kayıpsız sıkıştırma, kullanıcının tercihine bırakılmayan, özelleştirilemeyen bir sıkıştırma tekniğidir. Bu teknik, veri boyutunu azaltmak için tekrarlı olan verileri azaltıp kodlama yöntemiyle sıkıştırma yapmasıyla sağlanır. Bu yöntemde herhangi bir veri kaybolmaz. Verinin kaybolacağı noktada sıkıştırma devam etmez ve orijinal veri geri elde edilmeye çalışıldığında herhangi bir kayıp söz konusu olmaz. Kayıpsız sıkıştırma, tüm verinin önemli olduğu ve asla kaybolması beklenmediği durumlarda kullanılır. Bu yöntem, metin gibi önemli verilerin olduğu alanlarda kullanılır. Metin verileri, orijinal biçiminde kurtarılmalıdır. Kayıp oluştuğunda ise anlamını kaybeder. Kayıplı ve kayıpsız tüm sıkıştırma teknikleri veri boyutunu belirli bir oranda azalttığından dolayı bant genişliğini daha efektif kullanılmasına olanak tanımaktadır. Bu nedenle, bant genişliğinin etkin kullanılması adına sıkıştırma teknikleri önemini korumaktadır.

Web sayfaları ve diğer dijital platformlarda görüntülerin daha hızlı yüklenmesi adına sıkıştırılması gerekmektedir. Bu yüzden kayıplı sıkıştırma tekniği olarak  Birleşmiş Fotoğraf Uzmanları Grubu (Joint Photographic Experts Group, JPEG), kayıpsız olarak Taşınabilir Ağ Grafikleri (Portable Network Graphic, PNG)  gibi teknikler tercih edilmektedir. PNG, JPEG'e kıyasla görüntü kalitesini korurken belirli oranda sıkıştırma yapar. Ancak bu tür algoritmaların dosya boyutları genellikle JPEG ile kıyaslandığında daha büyük olmaktadır. Bu nedenle, web üzerinde hızlı yükleme ve daha az bant genişliği kullanımı gibi faktörler göz önünde bulundurulduğunda, JPEG sıkıştırması tercih edilmektedir. Sonuç olarak, web tabanlı uygulamalarda daha küçük dosya boyutları ve hızlı yükleme süreleri elde etmek adına bir miktar görüntü kalitesi kaybı kabul edilmektedir.

Işık koşulları, donanım yetersizliği, kayıplı veri sıkıştırma veya haberleşme kanallarında maruz kalınan gürültüler gibi faktörlerden dolayı görüntüler düşük çözünürlüklü olabilmektedir. Süper çözünürlük problemi, bilgisayar biliminde düşük çözünürlüklü bir görüntüyü yüksek çözünürlüklü bir görüntüye dönüştürmeyi amaçlamaktadır. Günümüzde, uydu görüntüleri, uzaktan algılama, tıbbi görüntüleme gibi bir çok alanda yüksek çözünürlüklü görüntüler elde etmek için kullanılır. Herhangi bir sebepten dolayı kalite kaybı yaşayan görüntüler, süper çözünürlük yöntemleri kullanılarak görüntü kalitesi belirli bir oranda arttırılabilmektedir. 

Son yıllarda, süper çözünürlük alanında derin öğrenme tabanlı bir çok çalışma yapılmış ve bir çok model ortaya atılmıştır. Bu modellerin performansları, kalite (benchmark)  veri kümelerinde yüksek başarılara imza atmıştır.  Derin öğrenme, makine öğreniminin bir uzantısı olan yapay sinir ağlarına dayalı olarak geliştirilmiş bir kavramdır. Yapay sinir ağları, hesaplama birimleri olarak kullandığı yapay nöronlarla insan beyninin düşünme biçimini taklit eder; yapay sinir ağı yapısı, bu nöronların bağlanma şeklini yansıtır. Derin öğrenmenin amacı, altta yatan özelliklerin hiyerarşik bir temsilini öğrenerek verilerin özellik dağılımını belirlemektir. Süper çözünürlük problemini derin öğrenme ile inceleyen çalışmalarda interpolasyon tabanlı düşük çözünürlüklü görüntüler üzerinde iyileştirme sağlamayı konu almaktadır. Ancak, sıkıştırılmış ve kayıp yaşanmış düşük çözünürlüklü görüntüler üzerinde herhangi bir etkisi incelenmemiştir. Derin öğrenme tabanlı yaklaşımlarda elde edilen sonuçlar, farklı türdeki görüntülerin geri kazanımları için araştırma konusu olmaktadır. Süper Çözünürlük Evrişimli Sinir Ağ (Super Resolution Convolutional Neural Network, SRCNN) modeli, süper çözünürlük problemini derin öğrenme yaklaşımıyla inceleyen ilk çalışması olarak kabul edilir. İlkel olarak tanımlanabilecek bu modelin içerisinde 3 katmanlı evrişimli sinir ağı bulunmaktadır. Çok Derin Süper Çözünürlük (Very Deep Super Resolution, VDSR) modeli , SRCNN modelinin daha derin öğrenme yapısına sahip ve artık blok eklenmiş versiyonu olarak geliştirilmiştir. Derin ağ yapısı sayesinde daha yüksek çözünürlüğe sahip sonuçlar üretmektedir. VDSR, süper çözünürlük alanındaki araştırmalarda ve uygulamalarda büyük bir etki yaratmış ve bu alanda bir dönüm noktası olarak kabul edilmiştir.  Süper Çözünürlük Yoğun Ağ (Super Resolution Dense Network, SRDenseNet) modeli, içerisinde barındırdığı yoğun bloklar sayesinde çok fazla sayıda özellik çıkarımı yapabilmektedir. Ayrıca bu blokların her birinin birbirleri arasında artık öğrenme tekniğinin kullanılması model performansını daha başarılı hale getirmiştir. SRDenseNet modeli bu yüzden SRCNN ve VDSR modellerine göre daha karmaşık ve daha fazla matematiksel işlemi barındırmaktadır.


Bu tez kapsamında, görüntü sıkıştırma işlemi için en çok tercih edilen JPEG yönteminden kaynaklanan kayıpların, derin öğrenme tabanlı süper çözünürlük modellerinden olan SRCNN, VDSR ve SRDenseNet kullanılarak geri kazanımı incelenmiştir. Farklı kalite seviyelerinde sıkıştırılmış görüntülerle bir eğitim veri kümesi oluşturularak inceleme gerçekleştirilmiştir. Eğitim aşamasında ImageNet veri kümesi kullanılırken, test aşamalarında ise süper çözünürlük problemlerinde kullanılan kalite test (benchmark) verilerinden olan SET5, SET14, BSDS100, BSDS200 ve General100 veri kümeleri kullanılmıştır. Çalışmanın sonucunda süper çözünürlük yöntemlerinin JPEG sıkıştırma kayıplarını geri kazanma potansiyeline sahip olduğunu göstermektedir. Ayrıca, süper çözünürlük yöntemlerinin görüntü kalitesini artırmada ve sıkıştırma kayıplarını azaltmada etkili bir çözüm olabileceğini vurgulamaktadır. Gelecekteki çalışmalarda farklı veri kümesi ve modellerin kullanılmasıyla daha ayrıntılı analizler yapılabilir ve bu konuda daha fazla bilgi sağlanabilir.

Abstract:
The effective utilization of bandwidth in computer science is increasingly crucial, particularly with the transmission of large data such as images, videos, and audio. Bandwidth is a term representing the maximum amount of data transmitted per second over a communication channel. It is also defined as the frequency range covered by a signal in a specific transmission channel. From this perspective, bandwidth represents the spectrum available for data transmission. Bandwidth is typically measured in bits per second (bps) or higher units. The transmission of large-sized data significantly occupies the capacity of the communication channel. An internet user, for instance, requires high bandwidth to avoid interruptions and data loss while watching a high-quality video. However, when sending an email, lower bandwidth may be sufficient for data transmission. In MRI scans, a patient's thousands of images are captured, and these images are combined to obtain three-dimensional results. However, transmitting these images from one location to another increases the required transmission capacity as the data size grows, turning it into a challenging and costly task. Therefore, optimizing the use of bandwidth is crucial during data transmission to prevent delays and losses.

Effective utilization of bandwidth is crucial, and for this purpose, data compression techniques have a significant role. The performance of compression directly influences the amount of data to be transmitted and, consequently, the bandwidth to be used. Data compression is the process of reducing the space occupied by stored data on a computer by eliminating repeated and unnecessary information through encoding. This process is preferred to efficiently store data by reducing file sizes and to use the transmission channel more effectively. Data compression involves two different techniques: lossy and lossless. Lossy compression is a data compression technique where the compression ratio can be customized based on the user's preference. In this technique, certain data parts that are considered insignificant, repetitive, or have a low impact on human perception are either discarded or encoded to reduce the data size. When lossy compression algorithms are used, some data parts are permanently lost and cannot be recovered. Human eyes and ears may not always recognise data loss, but especially when high compression ratios are used, the losses can become more noticeable. Therefore, lossy compression is commonly used for compressing image, video, and audio files. On the other hand, lossless compression is a compression technique that is not customizable and does not allow the user to specify the compression ratio. This technique reduces data size by compressing repetitive data through encoding without any loss of data. Compression stops at the point where data loss would occur, and when an attempt is made to recover the original data, no loss is experienced. Lossless compression is used in situations where all data is considered important, and loss is never expected. This method is employed in areas where critical data, such as text, needs to be preserved in its original form. Text data must be recovered in its original format; otherwise, it loses its meaning when loss occurs. Both lossy and lossless compression techniques enable more effective use of bandwidth by reducing data size. Therefore, compression techniques remain crucial for the efficient use of bandwidth.

Images need to be compressed for faster loading on web pages and other digital platforms. Therefore, lossy compression techniques such as the Joint Photographic Experts Group (JPEG) are preferred. Additionally, lossless techniques like Portable Network Graphics (PNG) are also used. PNG maintains image quality compared to JPEG but compresses to a certain extent. However, file sizes with such algorithms are generally larger than those of JPEG. Therefore, considering factors like quick loading and reduced bandwidth usage on the web, JPEG compression is preferred. As a result, in web-based applications, a certain loss in image quality is accepted to achieve smaller file sizes and faster loading times.

Lighting conditions, hardware limitations, lossy data compression, or noise faced in communication channels can result in low-resolution images. The super-resolution problem in computer science aims to convert a low-resolution image into a high-resolution image. In various fields today, such as satellite imagery, remote sensing, and medical imaging, high-resolution images are used. Images that experience a loss in quality for any reason can have their image quality improved to a certain extent using super-resolution methods.

In recent years, numerous studies in the field of super-resolution have been announced based on deep learning, resulting in the proposal of various models. These models have demonstrated high performance on benchmark datasets. Deep learning is a concept developed as an extension of machine learning, relying on artificial neural networks. Artificial neural networks, the way the human brain thinks, using artificial neurons as computational units, and the structure of an artificial neural network reflects the connectivity of these neurons. The goal of deep learning is to learn a hierarchical representation of underlying features and determine the feature distribution of the data. Research in super-resolution using deep learning has focused on improving interpolation-based low-resolution images. However, the impact of these approaches on compressed and lossy low-resolution images has not been extensively explored. Results obtained from deep learning-based approaches are still a subject of research for the recovery of different types of images. The Super-Resolution Convolutional Neural Network (SRCNN) model is considered the first study to investigate the super-resolution problem with a deep learning approach. This model, which can be considered primitive, consists of a 3-layer convolutional neural network. The Very Deep Super Resolution (VDSR) model was developed as a deeper learning structure with added residual blocks, evolving from the SRCNN model. Due to its deep network structure, VDSR produces results with higher resolution. VDSR has had a significant impact on research and applications in the super-resolution field and is considered a turning point in this area. The Super Resolution Dense Network (SRDenseNet) model, with its dense blocks, can perform a large number of feature extractions. Additionally, the use of the residual learning technique between these blocks has enhanced the model's performance. Therefore, the SRDenseNet model is more complex and involves more mathematical processing compared to the SRCNN and VDSR models.

In the scope of this thesis, the recovery of losses created from the widely preferred JPEG method for image compression has been investigated using deep learning-based super-resolution models, namely SRCNN, VDSR, and SRDenseNet. An investigation was included by creating a training dataset with compressed images at different quality levels. During the training phase, the ImageNet dataset is used, while benchmark datasets commonly used in super-resolution problems, including SET5, SET14, BSDS100, BSDS200, and General100, were used during the testing phases. The results of the study demonstrate the potential of super-resolution methods to recover losses caused by JPEG compression. Additionally, it emphasizes that super-resolution methods could be an effective solution for enhancing image quality and reducing compression losses. Future studies may extend more detailed analyses by using different datasets and models, providing further insights into this matter.