Derin öğrenme tabanlı görüntü gürültü giderme için yoğun bağlantı kullanan yeni yaklaşımlar
Densely connected structures in deep learning based image denoising
Yazar: VEDAT ACAR
Danışman: PROF. DR. ENDER METE EKŞİOĞLU
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Telekomünikasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Beyaz gürültü = White noise ; Derin öğrenme = Deep learning ; Evrişimli sinir ağları = Convolutional neural networks ; Sayısal görüntü analizi = Digital image analysis ; Sayısal görüntü işleme = Digital image processing

Özet:
Çeşitli kayıt cihazlarının doğasında olan fiziksel sınırlamalar nedeniyle görüntüler, görüntü edinimi sırasında bazı rastgele gürültülerin tezahürüne eğilimli hale gelir. Gürültü, temel bir sinyal bozulması olarak anlaşılabilir. Görüntü gözlem ve bilgi çıkarma sürecini engeller. Gürültü, görüntülerde kaliteyi zedeleyen ve istenmeyen bir süreçtir. Gürültü, görüntüden ayrılarak görüntü yorumlanabilirliği ve görüntüden bilgiyi elde etme işlemi kolaylaştırılmaktadır. Görüntü gürültü giderme problemi, uzun yıllardır süregelen görüntü işlemenin temel sorunlarından biridir. Gürültüsü giderilmiş 
görüntüyle çalışmak, görüntü işleme uygulamalarında sonraki adımlardaki işlemlerin daha yüksek başarımlı ve verimli olmasını sağlamaktadır. Gürültü, birçok farklı dağılıma sahip olabilen karmaşık bir süreçtir. Gürültünün modeli, kamera çipinde imge ayrıklaştırılıyorken bilinebilse gürültünün tamamen temizlenmesi mümkün olabilirdi. Görüntülerde gürültü genelde yüksek frekanslı kenar bölgeleri ve görüntünün doku ve ayrıntı içeren bölgelerinde ortaya çıkmaktadır. Görüntü gürültü giderme metotları, gürültüyü elimine ediyorken bazı ayrıntıları da istenmedik biçimde yok edebilmektedir. Bu durum görüntülerdeki kaliteyi düşürebilmektedir. İyi bir görüntü giderme algoritması gürültüyü giderirken imgenin doğasına ve ayrıntılarına mümkün olduğunca az zarar verendir. Günümüzde yeni nesil yüksek performanslı metotlar bu özelliğe çok özen göstermektedir. Yapılan çalışmalarda niteliksel sonuçların yanı sıra niceliksel olarakta görüntülerin zarara uğrayıp uğramadıkları görsel olarak paylaşılmaktadır. Bu bağlamda yapısal benzerlik indeksi literatürde oldukça fazla işlenmiş ve görüntülerdeki ayrıntıların onarımı bu indekse bakılarak ölçülmüştür. Görüntü gürültü giderme kötü pozlanmış ve tersine bir problemdir. Giriş sinyali genellikle yetersiz bilgiye sahipken, çıktının sonsuz sayıda çözümü vardır. Görüntülere rastgele olarak eklenmiş gürültü değerlerinin ayıklanması, gürültülü görüntülerden gürültü değerlerinin çıkarılması tersine işlemiyle mümkün olacaktır. İşlem esnasında görüntüdeki detayların korunulması gerektiği unutulmamalıdır. Gürültünün rastgeleliği ve çeşitliliği bu işlemin önündeki en büyük engeldir ve modeli 
bilinmeyen gerçek dünya gürültüleri problemi iyice zorlaştırmaktadır. Görüntülerde gürültü giderme işlemi, pek çok uygulama alanı bulmaktadır. Tıbbi görüntüleme, uzaktan algılama, askeri ve gözetleme, robotik ve yapay zeka gibi çeşitli uygulama alanlarında değerli bilgiler sağlayan çeşitli sayısal görüntüler mevcuttur. Bu görüntülerin kirlenmesi, görüntünün yorumlanabilirliğini geri dönülemez biçimde yok eder. Görüntü gürültü giderme işleminden genellikle ilk adım olarak görüntülerin daha temiz ve yorumlanabilirliği yüksek hale getirilmesinde yararlanılır. Burada yapılan işlemler gelecek adımları da etkileyeceği için görüntü gürültü gidermenin doğruluğu ve kalitesi büyük önem arz etmektedir. Görüntü gürültü giderme uzun yıllardır işlenen ve klasik bir yöntem olmasına karşın halen aktif olarak çalışılan bir problemdir. Problemin benzersiz çözümünün olmayışı ve farklı görüntü restorasyonu ve derin öğrenme problemlerinden direkt olarak etkileniyor oluşu bunu sağlamaktadır. Tez çalışmasında görüntü gürültü giderme problemi derinlemesine incelenmiş olup bu alanda yapılmış çalışmalar detaylıca gösterilmiştir. Klasik yöntemlerden günümüzde sıkça kullanılan ve işlenen derin öğrenme metotlarına kadar geniş bir perspektif göz önüne alınmıştır. Derin öğrenmeye dayalı görüntü gürültü giderme tarafında görüntü sınıflandırma ve görüntü bölütleme gibi farklı derin öğrenme alanlarında kullanılıp iyi sonuç gösteren derin öğrenme blok yapıları incelenip, çeşitli görüntü gürültü giderme ağları önerilmiştir. Uygulama kısmında, derin öğrenme yaklaşımlı yöntemler olan görüntü gürültü giderme ağı DnCNN, hızlı ve esnek görüntü gürültü giderici ağ FFDNet, kalıcı hafıza ağı MemNet, yoğun bağlı hiyerarşik görüntü giderme ağı DHDN, literatüre yeni kattığımız yenilikçi bir derin öğrenme yaklaşımı olan SADENet ve yine kendi ürünümüz yoğun bağlı genişleme ağı DDR-Net gerçeklenmiştir. Sonuçları karşılaştırmalı olarak sergilenmiştir. Klasik yöntemlerden olan blok uyumlamalı 3-boyutlu filtreleme görüntü içindeki blokları kayan bir şekilde işler ve referans bloklara benzer blokları arayarak blok eşleştirme konseptini kullanır. Uyum kriterini gerçekleştiren bloklar üç boyutlu olarak gruplandırılır. Üç boyutlu dönüşüm tekniği bu blokları dönüşüm uzayına aktarır. Ardından dönüşüm bölgesi filtreleme işlemi sert eşikleme kullanılarak yapıldıktan sonra yeniden üç boyutlu ters dönüşüm bloklara uygulanır ve bloklar dönüşüm uzayından görüntü uzayına aktarılır. Wiener filtreleme işlemin ikinci adımını oluşturur bu adımdan sonra blokların uygun şekilde 
birleştirilmesi ile işlem tamamlanmış olur. Tez kapsamında karşılaştırılan tüm yöntemler yöntemler derin evrişimsel sinir ağlarını kullanır. Bu ağlar öznitelik çıkarımı yapar ve bu öznitelikleri kullanarak temiz görüntüyü oluşturmaya çalışır. Öznitelik çıkarımının kalitesi ve bu özniteliklerin ağın sonuna kadar kayıpsız taşınması işlemleri çok kritiktir. Bu ağlar öznitelikleri filtre çekirdekleri kullanarak çıkartır. Bir evrişimsel sinir ağında her bir çekirdek, imge üzerinden farklı öznitelikler çıkartır. Evrişim işlemi her ayrı filtre için gerçekleşir ve öznitelik haritaları oluşturulur. Bu haritalar her bir katmanda değiştirilerek gürültü her bir katmanda azaltılır. Evrişim işlemi giriş öznitelik haritası ya da imge ile filtre çekirdeklerinin çarpımı olarak algılanabilir. Burada çekirdeklerin boyutları büyük önem taşımaktadır. Literatürde en çok kullanılan çekirdek boyutu 3x3'tür. Filtreleme sonrası giriş imgesinin boyutunun azalmaması için imgenin köşelerine piksel ekleme işlemi sıklıkla yapılır. Bu sayede imgenin katmanlar boyunca küçülmesinin ve piksel kaybı yaşanmasının önüne geçilir. Bu işlem genellikle sıfır değerli piksellerin eklenmesiyle gerçekleşir. Aynı piksel değerlerinin kopyalanması ya da ortalama piksel değerlerinin eklenmesi gibi çeşitli yollar da mevcuttur. Bu noktada filtre kaydırma katsayısı da boyutun değişimini etkilemektedir. Çekirdek, imge üzerinde birer piksel kayarak tarama yaparsa ve yeterli piksel ekleme sağlanırsa katmanın çıkışında boyut değişimi olmaz fakat 3x3 ya da daha büyük bir çekirdek kullanılıp piksel ekleme yapılmamışsa ya da çekirdeğin imge üzerinde kayması bir pikselden 
fazla ise katman çıkışında küçülme gözlenir. Çekirdeğin öznitelik haritası üzerinde birden fazla atlamayla kaymasına adımlı evrişim denir ve oto kodlayıcı tipi bazı yapılar alt örneklem esnasında bu işlemi kullanır. Açılmış filtre yöntemi ise çekirdeğin arasına sıfırlar eklenmesi ve böylece filtrenin imge üzerinde daha geniş bir alanı taraması 
işlemi olarak düşünülebilir. Ağ boyunca uygulanan bu evrişimsel işlemlerin yanı sıra derin öğrenmeden uyarlanan ve bu derin ağlar içerisinde kullanılınca iyi sonuçlar alınmış yığın normalizasyonu, artık öğrenme, doğrusal olmayan aktivasyon fonksiyonları gibi teknikler olmazsa olmazdır. Yığın normalizasyonu eğitim işleminin ivmelenmesini sağlarken, aktivasyon fonksiyonları ise ağın belli değerler aralığında kısıtlanmasını ve doğrusal olmamasını sağlar. Artık öğrenme tekniği direkt olarak temiz görüntü yerine gürültünün öğrenilmesi yöntemidir. Temiz görüntü girişteki gürültülü görüntüden ağın çıkışında elde edilmiş gürültünün çıkarılmasıyla sağlanır. Bu yöntemin aşırı büyük ağların eğitiminde doğruluğu arttırdığı gözlemlenmiştir. Ağların eğitiminde çeşitli veri setlerinden yararlanılır. Bu veri setlerinden elde edilen görüntülerden yama çıkarılır ve bu yamalar ağa beslenir. Kayıp fonksiyonu bu temiz yama ile ağın çıkışındaki yamaları girdi olarak alıp bir kayıp değeri hesaplar. Bu değer, optimize edici tarafından ağa yayılır ve çekirdeklerin yeni değerleri hesaplanır. İstenilen noktada ağın eğitimi kesilebilir. Epok değeri verisetinin ağ üzerinde kaç kez 
bir tam tur attığını gösterir. Veri setinin büyük olması ağın daha farklı imgeleri tanıyıp daha geniş bir kümeyi 
öğrenmesini sağlar. Fakat eğitim süresini de uzatabilmektedir. Çeşitli varyanslardaki gürültülü görüntülerle eğitilmiş ağ, sonrasında test veri setine tabi tutularak ağın gürültüyü ne kadar temizlediği ve görüntüyü ne kadar onardığı saptanmaktadır. Bu sonuçlardan hareketle, derin öğrenme tabanlı yaklaşımların klasik yöntemlere göre daha iyi sonuçlar sergilediği gözlenmiştir.

Abstract:
Because of the physical constraints imposed by varied recording equipment, images are prone to the creation of random noise during image collecting. Noise is a type of signal deterioration that obstructs the observation and extraction of information from images. Noise is an unfavorable process that degrades image quality. By separating the noise from the image, image interpretability and the process of obtaining information from the image are facilitated. For many years, image denoising has considered one of the most difficult tasks in image processing. Working with a denoised image improves the efficiency and productivity of subsequent processes in image processing applications. Noise is a complicated process with many possible distributions. It would be feasible to entirely eliminate the noise if the pattern of the noise could be determined when discretizing the image in the camera chip. Image noise is very common in high-frequency edge and texture areas. While denoising techniques reduce noise, they can also obliterate certain features. This may degrade the image quality. A decent image denoising algorithm is one that removes noise while causing 
as little harm to the image's nature and features as feasible. Today, new generation methods place a high value on this trait. In addition to the qualitative outcomes, the images are graphically shared as well. The structural similarity index has been widely investigated in the literature in this context, and it has been used to assess the restoration of features in images. Image denoising is an inverse and ill-posed problem. The input signal usually has insufficient information, while the output has an infinite number of solutions. The extraction of the noise values randomly added to the images will be possible by the reverse operation of removing these values from the noisy images. It should not be forgotten that the details in the image should be preserved during the process. The unpredictability and diversity of noise is the most significant impediment to this procedure, and real-world noise from unknown models further complicate matters. Noise removal in images finds many applications. A variety of digital images are available that provide valuable information in various application areas such as medical imaging, remote sensing, military and surveillance, robotics and artificial intelligence. Contamination of these images irreversibly destroys the interpretability of the image. Image denoising is often used as a first step to make images cleaner and more interpretable. The accuracy and quality of image denoising is of great importance, as the operations performed here will also affect the future 
steps. Despite the fact that image denoising is a traditional approach that has been researched for many years, it is still a problem that is actively being worked on. This is due to the fact that the problem does not have an unique solution and is directly influenced by several image restoration and deep learning problems. The subject of image denoising has been addressed in depth in this thesis research, and studies in this field have been presented in detail. A wide perspective has been taken into account, from classical methods to deep learning methods that are frequently used and processed today. On the deep learning side of image noise removal, many image denoising networks have been developed and deep learning block architectures that are employed in diverse deep learning fields such as image classification and image segmentation have been investigated. In the application part, deep learning approach methods, image noise removal network DnCNN, fast and flexible image noise removal network FFDNet, persistent memory network MemNet, multilayer wavelet network MWCNN, densely connected hierarchical image removal network DHDN, and our own products, an innovative deep learning approach, SADE-Net and the densely connected dilated network, DDR-Net have been implemented. The results are presented comparatively. Block-matching 3-dimensional filtering is a traditional approach that analyzes blocks within an image in a scrolling way and employs the notion of block matching by searching for blocks that are similar to reference blocks. Blocks that fulfill the fit criterion are grouped in 3 dimensions. The 3D transform technique transfers these blocks to the transform space. The 3D inverse transform is then implemented to the blocks, and the blocks are moved from the transform space to the image space after the transform domain filtering is done with the hard thresholding approach. The second phase of the procedure is Wiener filtering, following which the process is finished by suitably merging the blocks. All compared methods use deep convolutional neural networks. These networks extract features and attempt to produce a clean image with them. The accuracy of feature extraction and the lossless transmission of these features to the network's end are crucial. These networks extract features using filter kernels. In a convolutional neural network, each filter extracts different features from the image. For each filter, the convolution process is carried out, and feature maps are formed. By changing these maps in each layer, noise is 
reduced layer by layer. The convolution operation can be perceived as the product of input feature maps and filter kernels. Here the dimensions of the filter kernel are of great importance. In the literature, the most commonly used kernel size for image denoising is 3x3. Adding pixels to the image's borders is commonly done to keep the input image's size from shrinking after filtering. This prevents the image from shrinking and losing pixels as it passes through the layers. Adding zero-padding is a popular way to accomplish this. There are a number of options, including replicating 
the identical pixel values or adding the average pixel values. Also, the filter stride coefficient has an impact on the size change at this moment. There will be no size change at the layer output if the kernel is displaced by one pixel on the image and adequate paddings are provided, but if no pixel addition is performed or if the kernel has shifted more than one pixel on the image, there will be a shrinkage at the layer output. Strided convolution is the name given to this method, which is used by several autoencoder-like structures during downsampling. The dilated filter approach, on the other hand, is the process of inserting zeros between the kernels, which allows the filter to scan a larger region of the image. Techniques such as batch normalization, residual learning, and nonlinear activation functions, which are borrowed from deep learning and have strong outcomes when utilized in these deep networks for image denoising, 
are necessary in addition to these convolutional processes applied throughout the network. The activation functions guarantee that the network is confined within a given range of values and permit non-linearity, while batch normalization speeds up the training process. Now, instead of learning the clean image directly, the learning 
methodology is to learn the noise. The noise at the network's output is subtracted from the noisy image at the input to produce a clean image. This strategy has been found to increase accuracy when training enormously large networks. Various datasets are used in the training of networks. Patch is extracted from the images obtained from these datasets and these patches are fed to the network. With this clean patch, the loss function takes the patches at the output of the network as input and calculates a loss value. This value is propagated to the network by the optimizer and the new values of the kernels are calculated. The training of the network can be interrupted at the desired point. A huge dataset enables the network to identify various images and learn a broader set of rules. It can also extend the training period. After the network trained with noisy images in various variances, it is subjected to the test dataset and it is 
determined how much the network cleans the noise and how much it repairs the image. Based on these results, it has been observed that deep learning-based approaches show better results than classical methods.