本發明涉及計算機視覺與數字圖像處理領域,尤其涉及一種基于卷積對神經網絡的圖像去噪方法。
背景技術:
圖像去噪,是計算機視覺和圖像處理的一個經典且根本的問題,是解決很多相關問題的預處理必備過程,它的目的是從有噪聲的圖像y中恢復潛在的干凈的圖像x,該過程可表示為:y=x+n,其中,n通常被認為是加性高斯白噪聲(Additive White Gaussian,AWG),這是一個典型的病態的線性的逆問題。為了解決這個問題,早期的很多方法都是通過局部濾波來解決的,譬如高斯濾波、中值濾波、雙邊濾波等,這些局部濾波方法既沒有在全局范圍內濾波,也沒有考慮到自然圖像塊與塊之間的聯系性,因此獲得的去噪效果不盡人意。
隨著非局部自相似(Nonlocal Self-Similarity,NSS)概念的提出,更多的有效的去噪方法被提出。其中最早且最有影響力的方法是非局部均值(Nonlocal Means,NLM)去噪算法,它的主要思想是在一個全局范圍內滑動的搜索框里尋找NSS塊,通過歐氏距離來估計塊與塊之間的相關性,并用權重來表示,則圖像塊的每個像素值通過權重平均來計算。之后,將NSS引入變換域中,誕生了另外一個重要的方法叫三維塊匹配(Block-matching and 3D filtering,BM3D)算法,先是建立一個3D的立方的NSS圖像塊,然后在稀疏的3D變換域中對圖像塊進行協同濾波。除了在變換域中建模,另外一種常用的去噪方法是求解低秩矩陣,其中有代表性的方法是加權核范數最小化(Weighted NuclearNorm Minimize,WNNM),它是利用NSS噪聲圖像塊來求解決定核范數的權重,進而通過奇異值分解等步驟獲得潛在的低秩矩陣,即為去噪后的干凈圖像。然而,低秩的過程并不能完全去除噪聲,所以去噪效果并沒有那么好;另外時間復雜度很高,并不適合實際需要實時去噪的場合。
技術實現要素:
為解決上述技術問題,本發明公開了一種基于卷積對神經網絡的圖像去噪方法,極大地增強神經網絡的學習能力,建立起噪聲圖像到干凈圖像的準確映射,可以實現實時去噪。
為實現上述目的,本發明采用以下技術方案:
本發明公開了一種基于卷積對神經網絡的圖像去噪方法,包括以下步驟:
S1:搭建卷積對神經網絡模型,所述卷積對神經網絡模型包括多個卷積對和相應的激活層;
S2:選取訓練集,并設置所述卷積對神經網絡模型的訓練參數;
S3:根據所述卷積對神經網絡模型及其訓練參數,以最小化損失函數為目標訓練所述卷積對神經網絡模型形成圖像去噪神經網絡模型;
S4:將待處理的圖像輸入到所述圖像去噪神經網絡模型,輸出去噪后的圖像。
優選地,步驟S1中的所述卷積對是由一個卷積核大于1×1的卷積層和一個卷積核為1×1的卷積層組成。
優選地,卷積核大于1×1的卷積層的卷積核大小為3×3、5×5、7×7、9×9或11×11。
優選地,步驟S1中搭建的所述卷積對神經網絡模型中在多個所述卷積對后還添加一個1×1的卷積層和相應的激活層。
優選地,所述卷積對神經網絡模型包括3個卷積對和一個1×1的卷積層、以及每個卷積層后相應的激活層,其中3個卷積對中的第一個卷積對由卷積核大小分別為11×11和1×1的兩層卷積層組成,第二個卷積對和第三個卷積對均由卷積核大小分別為5×5和1×1的兩層卷積層組成。
優選地,所述訓練集包括多張噪聲圖像和相應的干凈圖像,步驟S2還包括:將所述噪聲圖像分割成38×38的噪聲圖像塊,將所述干凈圖像分割成20×20的干凈圖像塊。
優選地,步驟S3中的損失函數L(θ)為均方誤差函數:
其中,MSE為均方誤差,Xi、Yi分別為選取的所述訓練集中的圖像的噪聲 圖像塊和干凈圖像塊,θ表示權重;n表示圖像塊的個數;F函數表示訓練出的噪聲圖像到干凈圖像的映射。
優選地,步驟S3中在訓練所述卷積對神經網絡模型過程中,所述卷積對神經網絡模型的權重的初始值由高斯隨機函數生成,最小化損失函數采用Adam優化方法。
優選地,步驟S3中的所述圖像去噪神經網絡模型是根據最小化損失函數獲得的卷積層的權重來建立的。
優選地,步驟S2中所述訓練集中選取包含多種噪聲方差的多張圖像,步驟S3中對多種噪聲方差的多張圖像分別訓練所述卷積對神經網絡模型形成多種對應的噪聲方差下的所述圖像去噪神經網絡模型,步驟S4中將待處理的圖像輸入到相應的噪聲方差下的所述圖像去噪神經網絡模型,輸出去噪后的圖像。
與現有技術相比,本發明的有益效果在于:本發明的圖像去噪方法基于深度網絡的學習,通過引入卷積對,極大地增強神經網絡的學習能力,建立起噪聲圖像到干凈圖像的準確映射,可以實現實時去噪;將圖像去噪過程分為模型訓練過程和去噪過程,能夠顯著提高圖像去噪的峰值信噪比(PSNR)和視覺效果,減少去噪時間,應用在圖像處理方面的預處理過程和獨立的圖像去噪領域,能有效地提升圖像去噪的效率和質量。
在進一步的方案中,本發明搭建的卷積對神經網絡模型中的卷積對選用合適大小的卷積核的卷積層,使得不需要引入池化層就能夠便于訓練并有足夠的能力獲得很好的去噪效果,從而避免因為引入池化層使得參數減少而導致的模型不精確、效果變差等問題。
在更進一步的方案中,本發明針對多種不同的噪聲方差訓練卷積對神經網絡模型形成對應的噪聲方差下的圖像去噪神經網絡模型,并通過與待處理的圖像相對應的噪聲方差下的圖像去噪神經網絡模型對待處理的圖像進行去噪,去噪速度快。
附圖說明
圖1是本發明優選實施例的基于卷積對神經網絡的圖像去噪方法的流程圖;
圖2是本發明優選實施例的卷積對神經網絡模型的內部構造示意圖。
具體實施方式
下面對照附圖并結合優選的實施方式對本發明作進一步說明。
本發明的基于卷積對神經網絡的圖像去噪方法,通過引入卷積對的神經網絡,引入卷積層和激活層,借助卷積層的學習能力和激活層的篩選能力獲取好的特征,極大地增強神經網絡的學習能力,準確地學習出從噪聲圖像到干凈圖像的映射以建立起輸入到輸出的映射,從而能夠通過學習到的映射進行干凈圖像的預測和估計。
如圖1所示,本發明的優選實施例的基于卷積對神經網絡的圖像去噪方法,包括以下步驟:
S1:搭建卷積對神經網絡模型,所述卷積對神經網絡模型包括多個卷積對和相應的激活層;
如圖2所示,本發明優選實施例的卷積對神經網絡模型包括3個卷積對、1個1×1的卷積層和每個卷積層后的激活層;每個卷積對可以由一個大于1×1的卷積層(卷積核的大小可以是3×3、5×5、7×7、9×9或11×11)和一個1×1的卷積層組成,在本實施例中,第一個卷積對由卷積核大小分別為11×11和1×1的兩層卷積層組成,第二個和第三個卷積對都是由卷積核大小分別為5×5和1×1的兩層卷積層組成。其中卷積核大小為11×11和5×5的卷積層有很好的提取特征的效果,參數不多使得計算量不大,方便實現;卷積核大小為1×1的卷積層在網絡的最后可以增強提取的有效特征,從而增加網絡的訓練參數能力。其中,本實施例中每個卷積層后的激活層選用雙曲正切函數(tanh函數)。
通過本發明優選實施例中建立的卷積對神經網絡模型中選取的卷積層的總層數和卷積核大小,在保證神經網絡的能力的基礎上,避免了在訓練過程中出現梯度爆炸、過擬合和計算復雜度等問題;使得在訓練本發明優選實施例中的卷積對神經網絡模型時,不需引入池化層,就能夠便于訓練并有足夠的能力獲得很好的去噪效果,從而避免因為引入池化層使得參數減少而導致的模型不精確、效果變差等問題。
S2:選取訓練集,并設置卷積對神經網絡模型的訓練參數;
本發明優選實施例中選取在超分辨領域常用的高質量的91張圖像作為訓練集,每張圖像分別有對應的噪聲圖像和干凈圖像。然后設置卷積對神經網絡模型 的訓練參數,包括每次輸入模型訓練的圖像塊數量、輸入圖像塊和輸出圖像塊的大小、圖像深度、學習速率等。為增大數據集,將訓練集中的每張圖像對應的噪聲圖像和干凈圖像分別分割成同一分辨率的圖像塊;并設置padding為“VALID”(即通過卷積作用,圖像的大小會根據卷積核的大小相應減小),假設卷積層的卷積核大小為M×M,圖像大小為N×N,則經過一層該卷積層的圖像大小變為(N-M+1)×(N-M+1);根據本優選實施例的卷積對神經網絡模型,若選取輸入噪聲圖像的大小為N×N,則對應的干凈圖像的大小為(N-18)×(N-18),增大數據集可以有效地避免訓練過程中的過擬合現象。在本實施例中,將訓練集中的噪聲圖像分割成38×38的噪聲圖像塊,將干凈圖像分割成20×20的干凈圖像塊,使得在訓練模型時能夠更好地捕捉圖像的結構信息和細節信息;每次輸入模型訓練的圖像塊的數量為128;由于針對的是灰度圖的去噪,圖像深度設為1;學習速率設為0.001,每次訓練時的衰減速率設為0.9;每訓練2000次進行一次測試,觀察目前模型的效果以更改模型的相關參數,當迭代大約10000次左右時,學習速率降為0。其中,在選取訓練集的同時還可以選取測試集,測試集中可以選擇去噪領域常用的10張圖像,測試集中的每張圖像也同樣包含噪聲圖像和對應的干凈圖像,在對卷積對神經網絡模型進行訓練的過程中,可以采用測試集中的圖像來對目前模型的效果進行觀察。
S3:根據卷積對神經網絡模型及其訓練參數,以最小化損失函數為目標訓練卷積對神經網絡模型形成圖像去噪神經網絡模型;
其中損失函數L(θ)選為均方誤差函數(MSE):
其中,MSE為均方誤差,Xi、Yi分別為選取的所述訓練集中的圖像的噪聲圖像塊和干凈圖像塊,θ表示權重;n表示圖像塊的個數;F函數表示訓練出的噪聲圖像到干凈圖像的映射;
由于峰值信噪比(PSNR)公式為:
其中,MAX通常是圖像的灰度級,一般取255,由上式可以看出,不斷最 小化損失函數(MSE)就可以獲得高的峰值信噪比(PSNR)值,即圖像的質量越高。在本實施例中,最小化損失函數采用Adam優化方法,其中Adam優化方法計算方式是,每時間步長迭代一次,計算一次平均梯度和平均梯度的平方根的衰減量(第一和第二動量估計),第一動量會隨著時間不短衰減,由于第一和第二動量的初始值為0,則導致一些權重系數變為0;因此能夠有效避免優化過程進入局部最優解,并且加快優化速度,來獲得全局最優解。其中卷積對神經網絡模型的權重θ的初始值由高斯隨機函數生成,足夠的隨機性能夠增強網絡的魯棒性。
根據最小化損失函數獲得卷積層的權重,建立有效的圖像去噪神經網絡模型,該模型去噪速度快,對不同噪聲方差下的圖像去噪都有很強的魯棒性,獲得PSNR和視覺效果都很好。
S4:將待處理的圖像輸入到圖像去噪神經網絡模型,輸出去噪后的圖像。
在步驟S2中的訓練集中可以選取包含多種噪聲方差的多張圖像,步驟S3中對多種噪聲方差的多張圖像分別訓練卷積對神經網絡模型形成多種對應的噪聲方差下的圖像去噪神經網絡模型。步驟S4中將待處理的圖像輸入到與該圖像相應的噪聲方差下的圖像去噪神經網絡模型,即可預測出對應的干凈圖像,輸出去噪后的圖像。
在一個實例中,待處理的有噪聲的圖像的大小為512×512,輸出預測的干凈圖像的大小為494×494,雖然圖像大小有所變化,但對于整體來說影響很小,而圖像質量提高很多。
在另一個實例中,在噪聲方差為30的情況下,一張321×481的噪聲圖像的PSNR為18.59,經過圖像去噪神經網絡模型映射后,去噪后的干凈圖像的PSNR為30.80,極大地提高了圖像的質量,視覺效果也令人滿意。
根據本發明的圖像去噪方法,可以提前訓練好各種噪聲方差下的圖像去噪神經網絡模型,圖像去噪神經網絡模型即是端對端直接由輸入噪聲圖像到輸出干凈圖像的映射,通過圖像去噪神經網絡模型對圖像進行去噪的速度極快,不到0.1秒就獲得干凈圖像,有很強的實用價值,在需要實時去噪的場合將會有廣泛的應用。除了速度快、去噪效果好等優點,本發明還有很強的魯棒性,針對不同的噪聲水平和分辨率,去噪的時間和效果基本上沒有變化。因此,本發明提供的卷積 對神經網絡圖像去噪方法的去噪效果好、速度快、魯棒性強,有很強的實用性和實時性,市場前景廣闊,尤其是對實時性要求很好的場合。
本發明優選實施例的圖像去噪方法,通過引入卷積對層,極大地增強神經網絡的學習能力,建立起噪聲圖像到干凈圖像的準確映射。卷積對中11×11和兩個5×5的卷積層的效果很好,該大小的卷積核引入的參數不會很多,因此計算量不會很大,但是卻能夠提取到好的特征;卷積對中的1×1的卷積層實際上就是一個線性變換層,能夠增強好的特征在網絡中的作用。除了卷積層的引入,本發明還在每個卷積層后面增加了以tanh函數為激活函數的隱藏層。搭建起需要學習的卷積對神經網絡模型后,通過不斷減小損失函數的數值來訓練網絡模型的參數,損失函數選用均方誤差函數,減小均方誤差能夠增大PSNR,從而提高圖像的質量。對于不同的高斯噪聲方差,訓練卷積對神經網絡模型形成對應的圖像去噪神經網絡模型以構造噪聲圖像到干凈圖像的映射,最終通過建立的有效映射對相應的噪聲方差下的圖像進行去噪處理,可以獲得接近干凈的圖像。
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬技術領域的技術人員來說,在不脫離本發明構思的前提下,還可以做出若干等同替代或明顯變型,而且性能或用途相同,都應當視為屬于本發明的保護范圍。