韓魯光,陳純毅,申忠業(yè),胡小娟,于海洋
長春理工大學計算機科學技術(shù)學院,長春 130022
隨著時代的進步,全景電影作為一種新興的電影形式,受到越來越多的關(guān)注。相比傳統(tǒng)電影,全景電影能夠通過頭戴式顯示設(shè)備為觀眾帶來具有沉浸感的觀影體驗,其中畫面的真實感繪制是影片制作中的關(guān)鍵之一。為達到高真實感的畫面效果,電影行業(yè)一般采用蒙特卡洛路徑追蹤算法生成電影畫面。蒙特卡洛路徑追蹤算法是一種基于隨機采樣和概率統(tǒng)計的渲染算法。該算法通過追蹤光線在場景中的路徑來模擬光線與物體的相互作用,從而計算出最終的圖像。該算法從相機位置發(fā)出光線,然后根據(jù)材質(zhì)屬性和場景幾何信息,對光線進行反射、折射和吸收等操作。光線可能與光源直接相交,形成直接光照,或者與場景中的其他物體相交,形成間接光照。該算法通常需要追蹤大量的隨機光線路徑,才能夠生成高度逼真的畫面,然而這個過程需要耗費大量時間和資源。為了減少計算成本,現(xiàn)有的解決方案通常采用去噪算法對低質(zhì)量的噪聲圖像進行處理,以達到近似于高真實感的畫面效果。
目前,蒙特卡洛渲染畫面降噪主要有兩種途徑。一種是基于傳統(tǒng)濾波的方法,即利用人工設(shè)計的濾波器去除圖像噪聲。另外一種是基于深度學習的去噪方法(Huo和Yoon,2021),該技術(shù)利用神經(jīng)網(wǎng)絡(luò)對噪聲圖像進行處理。
在基于傳統(tǒng)濾波降噪算法中,Thanh 等人(2020)提出一種自適應(yīng)加權(quán)均值濾波算法,該算法在噪聲圖像上有著良好的去噪能力,但是在去噪過程中模糊了圖像的細節(jié),使得圖像整體的清晰度降低。Buades 等人(2005)提出的非局部均值(nonlocal means,NLM)濾波算法充分利用了圖像的空間相似性,在圖像降噪時可以保留圖像的細節(jié)特征,但該算法的時間復雜度太高,圖像降噪時間太長。陳玲玲等人(2021)提出了一種快速仿射非局部均值去噪算法,該算法簡化了仿射非局部均值算法的變換過程,加速了鄰域間相似性度量的計算,運行效率得到了很大的提升,但是存在圖像邊緣模糊的問題。Zhang(2022)提出一種兩步非局部均值濾波算法,該算法雖然能夠有效去除圖像噪聲,但是生成的結(jié)果圖像中存在細節(jié)缺失的問題。楊凱等人(2022)利用圖像的結(jié)構(gòu)相似性改進NLM 濾波器的權(quán)值,從而對噪聲圖像進行濾波重構(gòu)。其算法能夠保留一定程度的圖像細節(jié),但面對復雜場景時該算法降噪效果并不理想。曹飛道等人(2021)提出一種利用排序聚類的局部濾波框架,該框架能夠解決濾波降噪過程中邊緣模糊的問題。但是計算量太大,運算時間太長。Xing等人(2021)通過估算噪聲像素的均方誤差來進行自適應(yīng)采樣,之后使用梯度特征設(shè)計雙邊濾波算法來獲得無噪聲的圖像,但由于誤差度量方法不夠先進導致去噪效果沒有達到最優(yōu)。李瀟瑤等人(2022)提出一種自適應(yīng)非局部三維全變分去噪算法,該算法計算得到圖像塊之間的相似性信息,并引入自適應(yīng)權(quán)重矩陣,能夠根據(jù)噪聲強度自動調(diào)整去噪算法的去噪強度。該算法能夠提升去噪的視覺效果,但是去噪時間相對較長。
深度學習在圖像降噪中也發(fā)揮著重要的作用(Izadi 等,2023)。Zhang 等人(2023)提出了一種具有魯棒性的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),旨在有效處理圖像噪聲。該網(wǎng)絡(luò)通過引入可變形卷積模塊,以提取具有代表性的噪聲特征。此外,該網(wǎng)絡(luò)架構(gòu)采用了綜合的設(shè)計策略,包括擴展卷積層、標準卷積層、批處理歸一化層和激活函數(shù),以顯著提升網(wǎng)絡(luò)的學習能力。該架構(gòu)還整合了殘差模塊,以增強圖像去噪性能,從而得到高度逼真的圖像。Thakur 和Maji(2023)提出了一種創(chuàng)新性的高斯去噪網(wǎng)絡(luò),其旨在通過輸入圖像及其特征生成高質(zhì)量的去噪圖像。該網(wǎng)絡(luò)采用了雙通路架構(gòu),其中一條通路使用多尺度像素關(guān)注塊,另一通路使用多尺度特征提取塊。多尺度像素關(guān)注塊專注于提取噪聲圖像中低對比度區(qū)域的關(guān)鍵特征,而多尺度特征提取塊則致力于提取整體噪聲圖像的特征信息。之后,融合兩通路的特征信息以獲得最終的殘差噪聲圖像,最后從噪聲圖像中減去該殘差噪聲圖像,從而獲得高質(zhì)量的去噪結(jié)果。由于該網(wǎng)絡(luò)涉及的卷積層數(shù)較少,因此圖像處理速度相對較快。Chen 等人(2023)提出了一種輕量級的圖像降噪網(wǎng)絡(luò),其采用兩階段處理噪聲圖像。第1 階段采用像素預測網(wǎng)絡(luò)生成初步去噪圖像,隨后在第2 階段中將此圖像輸入核預測網(wǎng)絡(luò),獲取多分辨率核。此外,他們引入雙邊方法以充分利用圖像的輔助特征,在去噪網(wǎng)絡(luò)中取得更好的圖像去噪效果。Han 等人(2023)提出一種創(chuàng)新的去噪方法,采用輔助特征訓練兩個去噪器,隨后構(gòu)建集成網(wǎng)絡(luò)逐像素生成集成權(quán)重圖像,最后將兩個去噪器的輸出進行權(quán)重融合,從而顯著提升圖像質(zhì)量。I??k等人(2021)提出一種基于深度學習的去噪方法,該方法使用輕量級的神經(jīng)網(wǎng)絡(luò)處理路徑跟蹤樣本,并提取每個像素的特征向量用來學習深層特征。此外,該方法采用迭代計算的方式對含噪圖像的內(nèi)核進行處理,這些內(nèi)核可以在不增加計算量的情況下有效去除噪聲,并且保留圖像的細節(jié)和紋理信息。Zhang 等人(2023)提出一種輔助特征引導的自注意力和卷積集成網(wǎng)絡(luò),能夠更好地提取輔助特征和噪聲圖像中的局部細節(jié)信息,從而提高圖像重建的精度,獲得高質(zhì)量的圖像降噪結(jié)果。Firmino 等人(2022)使用Stein 無偏估計得到圖像中的誤差,并將其與神經(jīng)網(wǎng)絡(luò)結(jié)合來推斷每個像素的混合參數(shù)。同時利用經(jīng)典統(tǒng)計量中的置信度區(qū)間來進一步加強該網(wǎng)絡(luò),從而獲得更好的效果。Balint等人(2023)在低通濾波器的基礎(chǔ)上提出一種新的內(nèi)核架構(gòu),這一架構(gòu)成功地克服了以往濾波器中存在的低頻響應(yīng)問題,有效地解決了振鈴、斑點和偽影等問題,同時改善了圖像細節(jié)。Tian 等人(2023)提出了一種基于小波變換的多階段圖像去噪卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)使用動態(tài)卷積模塊來動態(tài)調(diào)整參數(shù),在去噪性能和計算成本之間進行權(quán)衡。然后結(jié)合小波變換和判別學習模塊來抑制噪聲,以保留更多細節(jié)特征信息,從而提高圖像去噪效果。最后,采用殘差模塊進一步細化特征,以去除冗余特征,從而提升去噪效果。Fan 等人(2021)提出一種新型的神經(jīng)網(wǎng)絡(luò)去噪方法,該方法的核心思想是通過簡化特征圖來進一步降低計算資源的消耗,從而實時、高效地去除噪聲。
綜上所述,現(xiàn)有的圖像降噪算法主要面向普通平面圖像,針對全景圖像的降噪算法研究較少。與普通平面圖像不同,全景圖像呈現(xiàn)了水平方向360°和豎直方向180°的視域信息并且畫面存在畸變區(qū)域。此外,對于觀看者而言,全景圖像的赤道區(qū)域像素通常比兩極區(qū)域像素更加顯著。所以普通平面圖像去噪方法并不適用于全景圖像,因此需要設(shè)計一種更加專業(yè)的全景圖像去噪方法,才能有效地去除全景圖像的噪聲。
為解決上述問題,本文提出一種視覺顯著性驅(qū)動的全景渲染圖非局部降噪算法。本文利用圖像塊之間的梯度幅值相似性偏差值(Xue 等,2014)改進NLM 濾波,去除全景畫面顯著區(qū)域噪聲,同時設(shè)計NLM 濾波的并行算法去除全景畫面非顯著區(qū)域噪聲。此外,本文改進Canny 算法(Canny,1986)以計算圖像的梯度值,并將各向異性擴散濾波與引導濾波結(jié)合,從而優(yōu)化結(jié)果。
NLM濾波器的計算式(Buades等,2005)為
式中,f(i)表示以像素點i為中心的濾波后的圖像塊,Ω表示以i為中心的搜索窗口。v(j)表示以像素點j為中心的含噪圖像塊,權(quán)值w(i,j)表示像素點i和j的相似度,它的值通過高斯加權(quán)的歐氏距離進行度量,計算式(Buades等,2005)為
式中,Z(i)為歸一化常數(shù),h表示平滑系數(shù),d(i,j)表示以像素點i,j為中心的兩個圖像塊之間的加權(quán)歐氏距離,其數(shù)學表達式為
式中,N(i)和N(j)分別表示以像素點i和j為中心的圖像塊,α表示高斯核函數(shù)的標準差,其目的是突出中心像素對鄰域窗口相似性計算的影響,提高歐氏距離計算的可靠性。
梯度幅值相似性偏差(gradient magnitude similarity deviation,GMSD)是一種圖像全參考的評價方法,具有準確度高、計算量少的特點。GMSD 的計算式(Xue等,2014)為
式中,GMSD(x,y)表示分別以像素點x、y為中心的兩個圖像塊之間的梯度幅值相似性偏差值。m和n分別表示圖像塊的水平方向和垂直方向上的像素點個數(shù),GMS表示圖像塊之間的梯度相似值,GMSM表示梯度相似均值,i、j表示像素點的橫縱坐標。
Canny 算法(Canny,1986)邊緣檢測的運算過程主要包括以下4個步驟:
1)利用高斯濾波處理圖像。為了減少圖像噪聲影響,提高邊緣檢測的準確度,利用高斯濾波平滑圖像,高斯濾波的數(shù)學表達式為
式中,G(x,y)表示經(jīng)過高斯濾波處理后的像素點,x,y分別表示圖像中像素點的橫縱坐標,σ表示高斯濾波系數(shù),σ數(shù)值越大代表高斯濾波的平滑效果越好,抑制噪聲的能力越好。
2)計算圖像梯度幅值和梯度方向。梯度幅值和梯度方向的計算式分別為
式中,G(i,j)表示最終的梯度值,θ(i,j)表示最終的梯度方向,i,j代表像素點的橫縱坐標。Gx(i,j)和Gy(i,j)分別代表橫向和縱向的梯度幅值。
3)對梯度幅值進行非極大值抑制。當一個像素的梯度幅度值為極大值時,可以確定該像素處于邊緣區(qū)域;而當梯度幅度值不是極大值時,則表明該像素點不在邊緣區(qū)域,可以將其灰度值設(shè)為0。
4)利用高低閾值進一步對邊緣點進行篩選及連接。高閾值用于區(qū)分具有強邊緣特征的像素點,而低閾值則用于區(qū)分具有弱邊緣特征的像素點。當像素點梯度幅度值大于高閾值時,則標記為邊緣點;當像素點梯度幅度值小于低閾值時,則標記為非邊緣點;當像素點梯度幅度值介于高低閾值之間時,則需要進一步判斷考慮其鄰域內(nèi)是否有大于高閾值的像素點。若存在這樣的點,則該像素點定義為邊緣點,否則定義為非邊緣點。
各向異性擴散濾波(Perona 和Malik,1990)是一種基于偏微分方程的圖像處理方法,數(shù)學表達式為
式中,I表示輸入圖像,λ表示平滑度,其數(shù)值越大圖像越平滑,t表示迭代次數(shù),?N,?S,?W,?E表示4 個方向的梯度算子,Nx,y,Sx,y,Wx,y,Ex,y表示4 個方向的擴散系數(shù),x,y表示像素點的橫縱坐標。
前綴和(Harris 等,2007)是一種數(shù)學計算技術(shù),用于計算序列中每個位置之前的元素的累積和。通過前綴和,能夠快速獲得任意連續(xù)子序列的和,前綴和的計算式(Harris等,2007)可以概括為
式中,x1表示第1 個位置的元素值,Si-1表示前i-1個元素的數(shù)值和,Si表示前i個元素的數(shù)值之和。
本文算法的主要思想是對全景畫面的顯著區(qū)域與非顯著區(qū)域分別進行降噪處理,并通過各向異性擴散引導濾波來優(yōu)化濾波結(jié)果,從而獲得無噪的全景畫面。本文降噪算法的流程如圖1 所示,具體步驟如下:
圖1 本文算法示意圖Fig.1 Flow diagram of the proposed algorithm
算法1:視覺顯著性驅(qū)動的全景渲染圖非局部降噪算法(visual saliency driven non-local means,VSD-NLM)。
輸入:噪聲全景圖像。
輸出:無噪全景圖像。
1)通過蒙卡路徑追蹤算法生成低采樣率的全景圖像,并將此圖像作為本文算法輸入;
2)使用布爾映射顯著區(qū)域檢測(Boolean map saliency 360,BMS360)算法(Lebreton 和Raake,2018)計算全景圖像的顯著性圖;
3)根據(jù)顯著性圖生成相應(yīng)的二值化圖,利用二值化圖提取全景圖像的顯著區(qū)域,對顯著區(qū)域執(zhí)行步驟4),非顯著區(qū)域執(zhí)行步驟5);
4)計算顯著區(qū)域內(nèi)像素點所在圖像塊與其他圖像塊之間的梯度幅值相似性偏差值,利用該值改進NLM濾波器的權(quán)值函數(shù);
5)根據(jù)全景圖像的差值積分圖,利用并行加速計算像素點所在圖像塊與其他圖像塊之間的NLM濾波重構(gòu)參數(shù);
6)使用改進的NLM 濾波器分別對顯著區(qū)域與非顯著區(qū)域進行濾波重構(gòu),得到濾波重構(gòu)結(jié)果;
7)利用改進的Canny 算法計算濾波結(jié)果的梯度;
8)以梯度圖像為引導圖,結(jié)合各向異性擴散引導濾波算法優(yōu)化濾波結(jié)果,從而得到最終的結(jié)果圖像。
本文算法的重要內(nèi)容在以下各節(jié)中詳細闡述,2.1節(jié)詳細闡述算法步驟2);2.2節(jié)詳細介紹算法步驟4);2.3 節(jié)詳細講解算法步驟5);2.4 節(jié)闡述算法步驟7);2.5節(jié)闡述算法步驟8)。
全景圖像顯著區(qū)域檢測算法主要分為兩類:1)針對全景圖像改進的傳統(tǒng)顯著區(qū)域檢測算法:2)針對深度學習的全景圖顯著區(qū)域檢測算法,該方法使用神經(jīng)網(wǎng)絡(luò)提取圖像特征,進行顯著區(qū)域檢測。
本文使用BMS360 算法檢測全景圖像的顯著區(qū)域。該算法首先需要從圖像中提取相關(guān)特征,并對其激活,以對特征中的新穎性進行處理。然后,對激活特征進行標準化處理,并根據(jù)赤道先驗加以調(diào)整。最后,聚合所有歸一化的激活特征,生成最終的顯著區(qū)域圖像。
本文利用BMS360算法得到顯著性圖,如圖2所示。其中,圖2(a)為蒙卡渲染生成的全景圖像,圖2(b)為利用BMS360算法得到的顯著性圖像。
圖2 全景畫面顯著區(qū)域檢測Fig.2 Panoramic image saliency detection((a)panoramic images;(b)saliency images)
在顯著性圖像上采用最大類間方差法(Otsu,1979)進行二值化處理,并利用二值化圖像分割全景圖像。經(jīng)過分割處理后,全景圖像分為顯著區(qū)域和非顯著區(qū)域,如圖3所示。其中,圖3(a)為全景圖像的顯著區(qū)域,圖3(b)為全景圖像的非顯著區(qū)域。
圖3 全景畫面分割Fig.3 Panoramic image segmentation((a)saliency areas;(b)non-saliency areas)
為了有效去除顯著區(qū)域的畫面噪聲,同時保證顯著區(qū)域的畫面質(zhì)量,本文利用圖像塊之間的GMSD值改進濾波器的權(quán)值函數(shù)。由于NLM算法的加權(quán)核函數(shù)采用的是指數(shù)型減函數(shù),所以歐氏距離較小的圖像塊獲得的權(quán)值較大。通過對GMSD 公式分析能夠得知,當兩個圖像塊的相似性越高時,GMSD 值越小,反之,則越大。因此,本文將式(3)與式(4)進行相乘,得到改進的歐氏距離表達式為
根據(jù)式(10)改進NLM濾波器的權(quán)值計算式為
式中,當圖像塊之間的GMSD 值較大時,獲得的權(quán)值比較小,從而有利于保留場景細節(jié);相反地,在GMSD 值較小的區(qū)域,獲得的權(quán)值較大,此時能夠有效消除由噪聲造成的影響。
傳統(tǒng)非局部均值濾波算法存在濾波重構(gòu)時間長、算法效率低等問題。為此,本文設(shè)計了一種基于并行計算的NLM 濾波算法,旨在提高處理全景畫面中非顯著區(qū)域的效率。本文算法的具體步驟如下:
算法2:并行非局部均值濾波算法(parallel nonlocal means,P-NLM)。
輸入:噪聲圖像N。
輸出:無噪圖像D。
1)根據(jù)輸入圖像N構(gòu)造差值平方圖像;
2)根據(jù)差值平方圖像構(gòu)造差值積分圖;
(1)假設(shè)差值平方圖像為m行n列,將每一行像素分成每4 個像素的小塊,創(chuàng)建m×(n/4)個線程,每個線程計算每個小塊中4 個像素的前綴和,所有線程并行計算;
(2)創(chuàng)建m個線程,每個線程對應(yīng)一行像素,負責計算所有小塊中最后一個像素的前綴和;
(3)創(chuàng)建m×(n/4)個線程,每個線程對應(yīng)一個小塊。每一行從第2 個小塊開始,把每個小塊中的像素(除最后一個像素外)都加上前一個小塊的最后一個像素,即可得到所有行的前綴和;
(4)將每一列像素分成每4 個像素的小塊,創(chuàng)建(m/4)×n個線程,每個線程計算一個小塊中4 個像素的前綴和,所有線程并行計算;
(5)創(chuàng)建n個線程,每個線程對應(yīng)一列像素,負責計算該列中所有小塊最后一個像素的前綴和;
(6)創(chuàng)建(m/4)×n個線程,每個線程對應(yīng)一個小塊。每一列從第2 個小塊開始,將每個小塊中的像素(除最后一個像素外)加上它的前一個小塊的最后一個像素,即可得到所有列的前綴和,即差值平方圖的積分圖像;
3)對圖像的權(quán)重、權(quán)重和以及像素值加權(quán)和進行并行計算;
4)歸一化處理像素值加權(quán)和,最后輸出無噪聲圖像D。
為了更精準地去除全景畫面邊緣區(qū)域的噪聲,本文提出了一種改進的Canny 算法。該算法通過優(yōu)化Canny 算法的邊緣檢測流程,能夠更準確地獲取全景畫面的邊緣區(qū)域。
2.4.1 梯度算子的改進
傳統(tǒng)的Canny 算子在計算圖像梯度時,只考慮了水平和垂直方向的梯度信息,未考慮傾斜方向上的梯度信息,從而存在梯度精度不足的問題。本文引入45°和135°方向上的梯度分量來計算梯度,并采用距離加權(quán)的方式確定最終的梯度幅度值和梯度方向。對于像素點(i,j)在4 個方向上的梯度幅度值的數(shù)學表達式為
式中,gx(i,j)表示水平方向上的梯度幅度值,gy(i,j)表示垂直方向上的梯度幅度值。根據(jù)水平方向和垂直方向上的梯度幅度值,確定最終的梯度以及梯度方向,數(shù)學表達式為
式中,G(i,j)表示最終的梯度幅值,θ(i,j)表示最終的梯度方向。
2.4.2 Otsu算法確定閾值
Otsu 算法(Otsu,1979)是一種根據(jù)圖像自身灰度直方圖自適應(yīng)確定閾值的一種算法,當該算法取得最大值時,即為圖像的最佳閾值。該算法求取類間方差σ2的計算式為
式中,C1為非邊緣點梯度幅度值集合,C2為邊緣點梯度幅度值集合。C1類像素點占全部像素點比值為p1,C2類像素點占全部像素點比值為p2,C1類和C2類像素的均值分別為,全部像素的均值為M。當σ2取得最大值時,即為圖像的最佳閾值T,記為最高閾值TH,本文設(shè)置的最低閾值為TL=0.5×TH。
為了有效去除全景畫面邊緣區(qū)域的噪聲,本文在傳統(tǒng)引導濾波(He 等,2013)中增加各向異性擴散濾波過程,彌補引導濾波算法中盒式濾波窗口的不足。改進后的引導濾波表達式為
本文將各向異性擴散濾波與傳統(tǒng)引導濾波相結(jié)合,以增強引導濾波對圖像邊緣的感知能力。同時利用各向異性擴散濾波的迭代方程計算出線性參數(shù)ak和bk,將其應(yīng)用于引導濾波中,以達到更好的邊緣保持效果。
本文利用Optix平臺進行渲染,生成全景圖像數(shù)據(jù)集。該數(shù)據(jù)集包含了10 個復雜的虛擬場景,每個場景畫面的分辨率為3 840×2 160 像素。所有場景均生成8 192 個像素采樣點(samples per pixel,spp)的參考圖像和128 spp的噪聲圖像。在實驗中,本文以128 spp的噪聲圖像作為算法輸入圖像,將算法得到的輸出圖像與參考圖像進行對比。
本文實驗在Optix7.2 平臺上進行渲染,開發(fā)工具使用NVIDIA CUDA11.1版本,硬件配置包括Intel(R)Core(TM)i7-7700HQ@2.80 GHz、NVIDIA GTX1050 GPU以及8 GB內(nèi)存。
本文與蒙特卡洛路徑追蹤算法(Monte Carlo path tracing,MC)、Buades 等人(2005)的NLM 算法、楊凱等人(2022)的多特征非局部均值濾波降噪算法(multi-feature non-local mean filtering,MF-NLM)、Firmino 等人(2022)的漸進式去噪算法(progressive denoising,PD)、Fan 等人(2021)改進的核預測網(wǎng)絡(luò)(weight sharing kernel prediction network,WSKPN)以及I??k 等人(2021)的蒙特卡洛去噪算法(interactive Monte Carlo denoising using affinity of neural features,ANF)進行對比。本文算法(VSD-NLM)在顯著區(qū)域設(shè)置的搜索窗口與鄰域窗口的尺寸分別為5×5 與3×3,在非顯著區(qū)域設(shè)置的搜索窗口與鄰域窗口的尺寸分別為7×7和5×5,對比算法的參數(shù)均遵照原文中提到的參數(shù)進行設(shè)置。
評價指標采用結(jié)構(gòu)相似性(structural similarity,SSIM)和FLIP。FLIP(Andersson 等,2020)表示兩幅圖像之間的感知差異,F(xiàn)LIP 值越小,表示降噪后的圖像與參考圖像之間的誤差越??;SSIM(Wang 等,2004)表示兩幅圖像的相似性,SSIM 值越大代表降噪后的圖像與參考圖像之間越相似。
3.3.1 梯度幅值相似性偏差的有效性
為了驗證梯度幅值相似性偏差輔助的非局部均值濾波算法(gradient magnitude similarity deviation assisted non-local means,GMSDA-NLM)的有效性,本文與傳統(tǒng)NLM 算法進行對比,結(jié)果如圖4 所示。其中,圖4(a)為噪聲圖像,圖4(b)為NLM 濾波處理得到的細節(jié)圖,圖4(c)為本文算法濾波重構(gòu)得到的細節(jié)圖,圖4(d)為參考圖像。通過對比圖4(b)和圖4(c),可以發(fā)現(xiàn)GMSDA-NLM 能有效減少圖像噪聲,同時保留圖像的細節(jié)紋理,從視覺效果上驗證了本文算法的有效性。
圖4 顯著區(qū)域重構(gòu)前后細節(jié)對比Fig.4 Comparison of details before and after reconstruction of the saliency area((a)MC;(b)NLM;(c)GMSDA-NLM;(d)references)
GMSDA-NLM 與傳統(tǒng)算法NLM(Buades 等,2005)在不同尺寸的搜索窗口和鄰域窗口下進行了實驗,結(jié)果如表1 所示。在不同尺寸的搜索窗口和鄰域窗口下,本文算法在FLIP 指標下的數(shù)值均小于傳統(tǒng)算法,表明本文算法生成的圖像與參考圖像之間的感知差異更小。在SSIM 指標下的數(shù)值均大于傳統(tǒng)算法,說明本文算法生成的圖像與參考圖像更相似。由此可見,本文算法的去噪效果更好,去噪性能優(yōu)于傳統(tǒng)算法。
表1 本文算法和NLM算法的FLIP與SSIM 對比Table 1 Comparison of FLIP and SSIM between ours and NLM algorithm
3.3.2 并行化算法的有效性
本文設(shè)計NLM 并行算法處理非顯著區(qū)域噪聲,細節(jié)結(jié)果如圖5所示。其中,圖5(a)為噪聲圖像,圖5(b)是Froment(2014)提出的快速非局部均值算法(fast non-local means,F(xiàn)-NLM)處理后的細節(jié)圖,圖5(c)是P-NLM 進行濾波重構(gòu)后的細節(jié)圖,圖5(d)為參考圖像。圖5(b)(c)的細節(jié)結(jié)果能夠表明,P-NLM算法能夠有效降低圖像噪聲,并且在視覺效果上與F-NLM算法生成的圖像高度一致。
圖5 非顯著區(qū)域重構(gòu)前后細節(jié)對比Fig.5 Comparison of details before and after reconstruction of non-significant areas((a)MC;(b)F-NLM;(c)P-NLM;(d)reference)
本文設(shè)計了面向不同尺寸的搜索窗口與鄰域窗口的對比實驗,以串行算法F-NLM 為參考,分析P-NLM算法在場景畫面降噪前后結(jié)果畫面的穩(wěn)定性以及加速效果,如表2所示。
表2 本文算法與相應(yīng)串行算法結(jié)果的穩(wěn)定性以及加速效果Table 2 Comparsion of the stability and acceleration effect between ours and the corresponding serial algorithm
在表2中,誤差像素占比由FLIP計算得到,該值越低,表示兩幅畫面像素間的感知差異越小。即使選取生成畫面結(jié)果相對粗糙的5×5 搜索窗口和3×3 鄰域窗口,P-NLM 算法在FLIP 指標下的誤差像素占比仍保持0.167%以下水平,在SSIM 指標下畫面相似度高達0.996。實驗結(jié)果說明P-NLM 算法生成的圖像與相應(yīng)串行算法生成的圖像高度一致,可能的誤差來源應(yīng)為浮點數(shù)運算。由此可見,P-NLM 算法具備高度的穩(wěn)定性和準確性。本文利用不同尺寸的搜索窗口和鄰域窗口進行了加速測試實驗,分析P-NLM算法在場景畫面降噪過程中的加速效果。實驗結(jié)果說明即使選取相對較大的11×11 搜索窗口和5×5 鄰域窗口,P-NLM 算法與串行算法之間的加速比仍能保持7 倍左右。這表明相較于串行算法,P-NLM算法具有明顯的加速效果。
3.3.3 改進Canny算法的有效性
本文改進的Canny 算法與傳統(tǒng)Canny 算法的對比結(jié)果如圖6 所示,其中圖6(a)為傳統(tǒng)Canny 算法生成的邊緣圖,圖6(b)為經(jīng)過改進的Canny 算法生成的邊緣圖。從視覺效果上能夠明顯看出,改進的Canny算法生成的邊緣更加完整。
圖6 傳統(tǒng)Canny算法與改進的Canny算法對比Fig.6 Comparison of the traditional Canny algorithm and the improved Canny algorithm((a)the traditional Canny algorithm;(b)the improved Canny algorithm)
為了驗證本文算法的去噪效果,分別在不同的場景畫面中進行實驗,并將實驗結(jié)果與其他去噪算法進行對比分析。
圖7 為Parlour 場景降噪結(jié)果的對比圖,由于采樣不足,圖7(b)的MC 算法結(jié)果圖像含有大量的噪點。NLM 濾波算法的結(jié)果圖像在場景邊緣細節(jié)處殘留噪聲,這是因為NLM 算法僅利用歐氏距離衡量圖像塊的相似性,該算法在圖像的平滑區(qū)域處理效果比較好,但處理場景邊緣的效果較差。MF-NLM算法雖然利用結(jié)構(gòu)相似性改進NLM 濾波的權(quán)值函數(shù),以重構(gòu)圖像,但是在面對全景圖像不均勻的噪聲時,該算法使用統(tǒng)一的濾波核進行濾波重構(gòu),導致該算法去噪效果一般。PD 算法在該場景中的去噪結(jié)果并不理想,從圖7(e)中可以看出,該算法過度平滑了時鐘和綠植細節(jié)。這是因為當圖像含有大量的噪點時,會影響該算法推斷像素的權(quán)重參數(shù),導致去噪效果較差。WSKPN 算法和ANF 算法為基于深度學習的圖像去噪算法,WSKPN 算法在場景中殘留了少量的噪聲,與參考圖像相比仍存在一定差距。ANF 算法能夠有效去除圖像中的噪聲,但是在畫面中引入不必要的模糊。圖7(h)為本文VSD-NLM 算法的細節(jié)結(jié)果圖,本文通過分區(qū)域去噪,可以在一定程度上降低不均勻噪聲產(chǎn)生的影響。同時利用引導濾波對全景圖像的邊緣區(qū)域進行濾波重構(gòu),進一步減少邊緣殘留的噪聲,因此可以得到相對較好的去噪效果。
圖7 Parlour場景降噪效果對比Fig.7 Comparison of denoising effects in Parlour scene((a)scene image;(b)MC;(c)NLM;(d)MF-NLM;(e)PD;(f)WSKPN;(g)ANF;(h)VSD-NLM;(i)references)
圖8為Room 場景降噪結(jié)果對比圖,從圖8(b)中能夠看出,MC算法的結(jié)果圖像含有大量的噪聲。圖8(c)中NLM 算法的結(jié)果圖像存在噪聲殘留現(xiàn)象,這是因為圖像噪聲強度較大時,圖像中每個像素的灰度值都會受到噪聲的影響,可能會偏離原先灰度值,使用該算法計算像素的權(quán)重信息時,會把噪聲也帶入計算,導致去噪效果較差。MF-NLM 算法在面對不均勻的圖像噪聲時,不同的圖像塊設(shè)置同樣的參數(shù)進行去噪,導致圖8(d)結(jié)果圖像的去噪效果一般。從圖8(e)的細節(jié)圖可以看出,PD算法的去噪效果優(yōu)于NLM 算法和MF-NLM 算法,但是會丟失一部分場景細節(jié)。圖8(f)為WSKPN 算法得到的細節(jié)結(jié)果圖像,從圖像中可以看出,該算法能夠提升畫面質(zhì)量,但在邊緣細節(jié)處仍殘留部分噪聲。圖8(g)為ANF算法的細節(jié)結(jié)果圖,可以看出,該算法能夠有效去除圖像噪聲,但在畫面中出現(xiàn)細節(jié)丟失現(xiàn)象。圖8(h)為本文VSD-NLM 算法得到的細節(jié)結(jié)果圖像,本文算法將各項異性擴散濾波與引導濾波相結(jié)合,在去除噪聲影響的同時保留了場景邊緣,因此在視覺效果上與參考圖像最為接近。
圖8 Room場景降噪效果對比Fig.8 Comparison of denoising effects in Room scene((a)scene image;(b)MC;(c)NLM;(d)MF-NLM;(e)PD;(f)WSKPN;(g)ANF;(h)VSD-NLM;(i)references)
圖9 為Metal 場景降噪結(jié)果的對比圖,從圖9(c)的細節(jié)圖中可以看出,NLM 算法在該場景下不能表現(xiàn)出金屬材質(zhì)的光澤,同時在場景邊緣殘留噪聲。MF-NLM 算法的結(jié)果圖像存在過度模糊現(xiàn)象。WSKPN 算法和ANF 算法降噪后的畫面均出現(xiàn)不同程度的模糊現(xiàn)象。PD 算法在該場景中得到了相對較好的畫面效果,與該算法相比,本文算法得到的畫面效果與參考圖像之間差距更小,能夠更有效地去除場景中的噪聲并且保留材質(zhì)的金屬光澤。
圖9 Metal場景降噪效果對比Fig.9 Comparison of denoising effects in Metal scene((a)scene image;(b)MC;(c)NLM;(d)MF-NLM;(e)PD;(f)WSKPN;(g)ANF;(h)VSD-NLM;(i)references)
為了對實驗結(jié)果進行客觀明確的評價,本文利用FLIP 和SSIM 對實驗結(jié)果進行對比和分析。表3和表4 分別表示SSIM 和FLIP 的對比結(jié)果。在SSIM評價指標下,本文算法(VSD-NLM)的SSIM均值能達到0.92,相較于對比算法平均提升了14.7%,說明本文算法生成的圖像與參考圖像之間的相似性更高。在FLIP 指標下,本文算法的FLIP 均值能達到0.073 7,相較于對比算法平均降低了15.2%,說明本文算法生成的圖像與參考圖像之間的感知差異更小。由此可見,本文算法能夠有效地去除圖像噪聲,且具備高度的穩(wěn)定性和準確性。
表3 客觀評價指標SSIMTable 3 Objective evaluation indicators SSIM
表4 客觀評價指標FLIPTable 4 Objective evaluation indicators FLIP
本文算法與其他算法在3 840×2 160 像素圖像上比較平均運行時間,結(jié)果如表5 所示??梢钥闯觯琍D 算法運算時間最短,本文算法運算時間相對較長。主要原因是本文算法在顯著區(qū)域內(nèi)需要對每一個圖像塊搜索相應(yīng)的相似圖像塊,并計算兩者之間的梯度幅值相似性偏差值,所以導致計算時間相對較長。
表5 不同算法的運行時間Table 5 The run time of different methods
許多傳統(tǒng)濾波降噪算法在處理全景圖像的噪聲時存在局限性,導致降噪后的全景圖像在兩極區(qū)域容易出現(xiàn)模糊問題,因此本文提出一種視覺顯著性驅(qū)動的全景渲染圖非局部降噪算法。該算法使用梯度幅值相似性偏差改進非局部均值濾波,從而對全景畫面顯著區(qū)域進行高質(zhì)量濾波重構(gòu),同時對于全景畫面非顯著區(qū)域,設(shè)計非局部均值并行算法進行快速濾波。此外,本文改進Canny 算法以提取圖像梯度信息,并且將各向異性擴散濾波與引導濾波融合,從而優(yōu)化濾波結(jié)果。實驗通過視覺效果和客觀評價兩方面對比分析了本文算法與其他算法在不同場景下的去噪性能。實驗結(jié)果表明,相比于其他算法,本文算法在SSIM 指標上平均提高了14.7%,在FLIP 指標上平均降低了15.2%,同時本文算法能夠有效減少全景圖像噪聲,并且保留圖像細節(jié)。
在本文算法中,計算圖像塊之間的梯度幅值相似性偏差值時,耗費時間相對較長。在接下來的研究中,將結(jié)合一些較先進的圖像處理技術(shù),對算法進行優(yōu)化,進一步提升算法的綜合性能。