肖文輝 唐朝暉 劉金平 謝永芳
(1.中南大學(xué)自動化學(xué)院,湖南長沙 410083;2.湖南科技大學(xué)計算機科學(xué)與工程學(xué)院,湖南湘潭 411201;3.湖南師范大學(xué)信息科學(xué)與工程學(xué)院,湖南長沙 410081)
礦物泡沫浮選是根據(jù)礦物顆粒表面物理化學(xué)性質(zhì)的差異,從礦漿中借助氣泡的浮力實現(xiàn)礦物分選的過程.在浮選過程中,泡沫表面視覺特征(包括泡沫尺寸、顏色、紋理、流速等)與工藝指標(biāo)、工況、操作變量等密切相關(guān),可作為判斷礦物選別作業(yè)效果的重要依據(jù),準(zhǔn)確提取泡沫圖像特征是基于機器視覺的浮選生產(chǎn)過程監(jiān)控的前提[1].
工業(yè)浮選過程監(jiān)測環(huán)境惡劣,粉塵多、霧氣大,加上光照不均勻,監(jiān)控視頻采集的圖像噪聲污染嚴(yán)重[2];噪聲的存在會嚴(yán)重影響氣泡特征的準(zhǔn)確提取.因此,對泡沫圖像序列(視頻)進(jìn)行去噪預(yù)處理是獲取泡沫參量的一個重要環(huán)節(jié).常用的圖像序列(視頻)去噪大致可以分為頻域和空域兩類.近年來,基于時空聯(lián)合的方法正成為圖像序列(視頻)去噪處理的熱門研究.
目前公認(rèn)的性能良好的視頻去噪算法是視頻塊匹配3D 濾波算法[3](video block-matching and 3D filtering,VBM3D).該方法通過收縮過程和維納濾波器在變換域中處理類似塊的三維數(shù)據(jù)陣列,雖然降噪性能令人滿意,但它們的復(fù)雜性使得它們不適合工業(yè)生產(chǎn)的實時處理需求.在浮選泡沫圖像預(yù)處理中,劉金平等人[4]提出一種基于Curvelet變換的泡沫圖像去噪方法,該方法能在去除噪聲的同時更好地保護泡沫的細(xì)節(jié),對于嚴(yán)重噪聲污染的泡沫圖像序列也能獲得較好的處理效果.李建奇等人[5]提出改進(jìn)方向波變換的泡沫圖像增強方法,提高泡沫圖像的對比度,增強紋理細(xì)節(jié),降低噪聲影響.在文獻(xiàn)[6]中,李等人提出一種結(jié)合多尺度Retinex算法和非下采樣Contourlet變換的圖像增強方法,改善圖像的整體亮度均勻性,達(dá)到增強圖像輪廓、邊緣和細(xì)節(jié),抑制噪聲的效果.這些方法在處理過程中,通常需要大量的計算能力來進(jìn)行變換、分解等,會占用大量內(nèi)存,且時效性不高;同時也未能充分利用視頻圖像相鄰幀之間的時間相關(guān)性,獲取更多的冗余信息,得到更好的原始信號估計.文獻(xiàn)[7]比較了幾種有前景的保邊去噪方法,結(jié)果發(fā)現(xiàn),空域濾波器具有很好時間效率,但容易模糊圖像內(nèi)容.另一方面,頻域濾波器在圖像內(nèi)容保存方面更好,沒有一種方法適合于所有情況,也不能同時解決所有問題,應(yīng)根據(jù)不同的研究對象選擇最優(yōu)的算法來滿足他們的要求.
另外,浮選機中的礦化氣泡受攪拌機和刮泡板的作用,會產(chǎn)生無規(guī)則的運動,氣泡形變、兼并、坍塌,破裂等動態(tài)變化.這些非穩(wěn)定性的動態(tài)變化會進(jìn)一步影響圖像時空聯(lián)合去噪的性能.
鑒于浮選泡沫復(fù)雜運動特性,一種可行的方案是,通過對泡沫的穩(wěn)定性進(jìn)行分析,基于氣泡運動特性的變化特點選擇合適算法進(jìn)行去噪處理.2012年,Reeja等[8]提出了一種基于運動檢測的視頻去噪框架,通過區(qū)分每一幀的運動區(qū)域和靜止區(qū)域分別進(jìn)行處理.受文獻(xiàn)[8]的啟發(fā),提出一種基于氣泡穩(wěn)定性分析的泡沫圖像時空聯(lián)合去噪方法.該方法首先分析泡沫的動態(tài)特征,定義了泡沫的穩(wěn)定運動狀態(tài)(stable motion state,SMS)和非穩(wěn)定運動狀態(tài)(unstable motion state,UMS);對處于SMS的圖像子塊采用基于運動估計和補償?shù)臅r域濾波去噪;對處于UMS的泡沫圖像子塊采用非局部均值的空域濾波去噪;另外,各參考幀到當(dāng)前幀時間內(nèi),泡沫可能隨時會發(fā)生局部變化,導(dǎo)致時域濾波達(dá)不到理想的去噪效果,基于泡沫子塊的穩(wěn)定性,聯(lián)合時域濾波結(jié)果和空域濾波結(jié)果獲得高質(zhì)量的時空聯(lián)合去噪圖像信號.
泡沫浮選的主要過程是氣泡帶著有選擇性但在氣液界面粘附的礦粒在礦漿中上升,然后刮去在礦漿面上形成的泡沫.這些氣泡是由大量大小不一、顏色不同、形狀各異的礦化氣泡堆積而成,氣泡之間分界不明顯且相互堆積、擠壓、氣泡破碎、兼并嚴(yán)重,針對自然場景數(shù)字圖像的常規(guī)處理方法在泡沫圖像處理上往往難以取得有效的結(jié)果[1].因受葉輪攪拌與刮泡的影響,泡沫的運動不同于一般剛性物體運動,它處于一種非定向非勻速的非剛性流體運動,同時泡沫還會發(fā)生破裂、坍塌、兼并、形變等局部變化.圖1顯示了鋅浮選中相鄰兩幀泡沫圖像可能發(fā)生的一些局部變化.
在鋅浮選現(xiàn)場中,受水霧、粉塵的干擾,光照的不均,采集的泡沫圖像存在大量的噪聲,極大的影響了后續(xù)泡沫視覺特征的準(zhǔn)確測量.例如,采用文獻(xiàn)[9]中紋理分類方法對已去噪的泡沫圖像進(jìn)行分類,可以提高分類準(zhǔn)確性,對工況進(jìn)行精準(zhǔn)預(yù)測.在這種工業(yè)環(huán)境下產(chǎn)生的噪聲互不相關(guān),經(jīng)常用高斯加性噪聲來近似表示,其均值近似為零.下面給出含噪圖像的退化模型:
假設(shè)fi(x,y)和gi(x,y)分別表示原始和觀察圖像的第i幀位置(x,y)處的像素值,ni(x,y)是獨立的加性噪聲項,那么有
針對這種噪聲的一個簡單有效的抑制方法是圖像求平均,對N幅相同的圖像求平均的結(jié)果使得高斯噪聲的方差降低到原來的1/N.
由于噪聲點隨機且不相關(guān),則平均圖像的期望
這種方法適合具有固定背景的視頻應(yīng)用,而實際的浮選泡沫圖像沒有絕對靜止的固定背景,若直接的幀累積必然會產(chǎn)生運動虛影現(xiàn)象.所以對于泡沫圖像序列去噪,一個很重要的問題是變化補償.這里的變化不僅包括運動引起的變化,還包括泡沫本身發(fā)生的一系列諸如破裂、兼并、坍塌等變化.
圖1 鋅浮選泡沫圖像Fig.1 Zinc-flotation froth image
本文將泡沫圖像分成大小相等不重疊的圖像子塊,對這些子塊進(jìn)行穩(wěn)定性檢測,對處于SMS和UMS的圖像子塊分別進(jìn)行去噪處理;然后,基于各參考?xì)馀葑訅K的穩(wěn)定性進(jìn)行時空聯(lián)合去噪處理.所提方法的主要流程如圖2所示.
圖2 浮選泡沫圖像去噪流程圖Fig.2 Flowchart of flotation froth image denoising
3.1.1 基于相位相關(guān)的亞像素運動估計
假設(shè)f(x,y),g(x,y)為兩張要進(jìn)行相關(guān)的圖像,其中g(shù)(x,y)是f(x,y)平移(x0,y0)后的圖像:
由傅里葉變換的平移性
式(5)中的F(u,v)是g(x,y),f(x,y)分別經(jīng)過傅里葉變換得到的結(jié)果.f(x,y)和g(x,y)的互功率譜為
式(5)-(6)中,G?(u,v)是G(u,v)的復(fù)共軛.對式(6)中e?j(ux0+vy0)求逆傅里葉變換,得到一個沖擊函數(shù)(x?x0,y?y0).它是在(x0,y0)處不為零,在其他位置為零,由此可以確定峰值h的位置(x0,y0),峰值h代表兩個圖像的相關(guān)度,f(x,y)與g(x,y)的線性位移為(x0,y0),其中峰值h表示為
所以即使兩幅圖像在重疊區(qū)域比較小的情況下,相位相關(guān)方法[10]也能夠比較準(zhǔn)確地估計出平移參數(shù).為了獲得更精確的亞像素運動量,本文采用文獻(xiàn)[11]中基于最小二乘法的相關(guān)系數(shù)二次曲面擬合方法,通過在相關(guān)峰值坐標(biāo)點周圍8點的相關(guān)系數(shù),用曲面擬合相位相關(guān)值,擬合曲面的峰值坐標(biāo)即為平移運動參數(shù).
設(shè)位移圖像g(x,y)通過運動補償?shù)玫浇Y(jié)果圖像f(x,y),則f(x,y)和g(x,y)建立一一對應(yīng)關(guān)系,即
當(dāng)平移量為亞像素時,(dx,dy)∈R2,圖像平移運動補償公式如下:
采用式(9)進(jìn)行圖像補償,對于f(x,y)的每一個像素坐標(biāo)(x,y),都可以保證在g(x,y)中有一個對應(yīng)的像素點坐標(biāo)(x+dx,y+dy).由于x+dx和y+dy是小數(shù),而g(x,y)圖像坐標(biāo)是整數(shù),所以在補償圖像時,不能簡單地進(jìn)行整數(shù)坐標(biāo)映射,要根據(jù)平移運動量進(jìn)行適當(dāng)?shù)钠交幚?否則在小數(shù)轉(zhuǎn)化為整數(shù)的過程中將產(chǎn)生誤差,影響圖像補償精度.為了提高補償質(zhì)量,采用雙線性插值方法對圖像像素灰度值進(jìn)行了平滑處理,根據(jù)位移圖像坐標(biāo)(x+dx,y+dy)與四鄰域位置及灰度值的對應(yīng)關(guān)系,通過四鄰域灰度值加權(quán)平均的方法計算f(x,y)的像素灰度值.采用雙線性插值處理后的圖像邊緣清晰、完整、無鋸齒、具有較好的補償效果.
3.1.2基于運動補償?shù)臅r域濾波
假設(shè)當(dāng)前幀為fk,以及它的前M幀為fk?1,fk?2,···,fk?M,這里的M是參考幀的數(shù)目,并且所有參考幀均是已去噪幀,這樣既可以減少塊匹配造成的誤差,又可以提高執(zhí)行效率.當(dāng)m=1,2,···,M,設(shè)當(dāng)前幀fk(i,j)的參考幀fk?m(i,j)的運動補償結(jié)果為MCk?m(i?vi,j?vj),其中(vi,vj)k?m是對應(yīng)的運動向量.
濾波算法的輸出結(jié)果由式(10)給出:
這里的hm是由式(7)獲得各參考幀與當(dāng)前幀對應(yīng)塊的相關(guān)度,h0取前M幀對應(yīng)塊的相關(guān)度均值.
理論上,如果運動補償準(zhǔn)確度高,參考幀數(shù)越多,時域平均濾波效果越好,殘差均值越小.在實際應(yīng)用中,如浮選泡沫監(jiān)控視頻中,圖像中運動物體并不是單純的剛性物理運動,往往還混雜其他變化.此時,通過運動補償直接時域濾波不能達(dá)到理想的去噪效果,在發(fā)生變化的區(qū)域會產(chǎn)生模糊現(xiàn)象.因此本文將視頻中不同的運動和變化進(jìn)行分離檢測,不同狀態(tài)的圖像子塊選擇不同的濾波算法,視頻中發(fā)生變化的子塊選擇非局部均值算法.
非局部均值算法[12](non-local means,NLM)首先需要選取兩個窗,分別為相似窗和搜索窗,相似窗被選取用于比較兩個像素的相似性,搜索窗被選擇用于確定計算相似像素的范圍.中心像素i與其鄰域像素j之間的相似性權(quán)重是根據(jù)兩像素相似窗高斯加權(quán)的歐式距離決定.
給定一個離散噪聲圖像v=v(i)|i ∈I,當(dāng)前像素i的估計值NLM[v](i)通過整個圖像所有像素的權(quán)重和來計算得到,如下式表示:
w代表權(quán)重.衡量兩個圖像塊的相似度最常用的方法是計算它們之間的歐氏距離:
這里的Z(i)是歸一化因子,是所有權(quán)重的和,對每個權(quán)重除以該因子后,使得權(quán)重滿足和為1的條件.h是濾波系數(shù),控制指數(shù)函數(shù)的衰減而改變歐式距離的權(quán)重;σ是高斯核的標(biāo)準(zhǔn)差.在求歐式距離的時候,不同位置的像素的權(quán)重是不一樣的,距離塊的中心越近,權(quán)重越大,距離中心越遠(yuǎn),權(quán)重越小,權(quán)重服從高斯分布.實際中,常常需要根據(jù)噪聲來選取合適的參數(shù).當(dāng)高斯噪聲的標(biāo)準(zhǔn)差σ越大時,為了提高算法魯棒性,需要增大塊區(qū)域,同樣也需要增加搜索區(qū)域.
由于原始算法的復(fù)雜度較高,導(dǎo)致算法耗時較長,所以針對NLM算法產(chǎn)生了不少優(yōu)化算法,如使用積分圖像技術(shù)對算法進(jìn)行加速[13].為了降低空間復(fù)雜度,將偏移量作為最外層循環(huán),即每次只需要在一個偏移方向上求取積分圖像,并對該積分圖像進(jìn)行處理.而不需要一次性求取出所有積分圖像.
假設(shè)圖像共N個像素點,搜索窗口大小D×D(D=2×Ds+1),鄰域窗口大小d×d(d=2×ds+1),計算兩個矩形鄰域間相似度的時間為O(d2),對于每個像素點需要計算它與搜索窗口內(nèi)D2個像素間的相似度,故NLM復(fù)雜度為O(ND2d2).經(jīng)過分析可以發(fā)現(xiàn),該算法可以提高之處只有鄰域間相似度的計算,即耗時O(d2)的操作.基本算法中,每次計算鄰域間距離時都需要遍歷兩個鄰域,逐對像素點求差值.
先構(gòu)造一個關(guān)于像素差值的積分圖像:
其中St(x)=v(x)?v(x+t)2.這樣在計算兩個鄰域V(x)和V(y)(y=x+t)間的距離時,就可以在常量時間內(nèi)完成.
這樣,整個算法復(fù)雜度降為O(ND2).
3.3.1 氣泡穩(wěn)定性檢測
本文所提算法的一個關(guān)鍵步驟是檢測當(dāng)前幀中圖像子塊是否處于SMS狀態(tài).根據(jù)浮選泡沫的穩(wěn)定性特征,首先給出氣泡的SMS狀態(tài)和UMS狀態(tài)(發(fā)生破裂、坍塌、兼并等現(xiàn)象)的定義.
將當(dāng)前幀fk分成大小相等互不重疊的塊(如當(dāng)前幀分成若干個像素為30×40的塊),M個參考幀都是去噪幀m=1, 2,···,M.當(dāng)前幀中的當(dāng)前塊Bk對應(yīng)的參考塊是Bk?m,它們可以通過第3.1.1節(jié)所述相位相關(guān)法運動估計獲得.運動估計后,假設(shè)參考幀中的塊Bk?m作為幀fk中塊Bk對應(yīng)的參考塊,(vi,vj)k?m是對應(yīng)的運動向量,對于Bk?m中每個像素(i?vi,j?vj)∈Bk?m,Bk中每個像素(i,j)∈Bk,如果有(這里的,fk(i,j)是指像素強度),那么Bk?m處于SMS 狀態(tài),否則Bk?m定義為UMS 狀態(tài).即,如果Bk?m是SMS狀態(tài),那么Bk?m中的每個像素運動Bk中的相應(yīng)位置,它的像素強度在時域上不發(fā)生變化.現(xiàn)在可以檢測到每個參考幀中的塊Bk?m(m=1, 2,···,M)的穩(wěn)定性與否.這里定義塊Bk?m的穩(wěn)定性因子為Kk?m,如式(16)所示.如果Kk?m小于一個預(yù)設(shè)的閾值T,則參考塊Bk?m歸類為SMS狀態(tài),并做標(biāo)記Bk?m為SMS塊.如果有n(1≤n≤M)個參考塊都處于SMS狀態(tài),那只需要采用時域濾波進(jìn)行去噪.否則當(dāng)n=0,每個參考塊Bk?m都處于UMS狀態(tài),此時已不適合時域濾波處理,而是進(jìn)行空域去噪.穩(wěn)定性因子Kk?m的表示如下:
根據(jù)氣泡塊運動狀態(tài)的定義,結(jié)合式(1),式(18)可以得知,由于參考塊Bk?m是已去噪塊,其噪聲|nk?m(i?vi,j?vj)|應(yīng)該是大于或等于零的一個較小值.而當(dāng)前塊Bk的噪聲方差表示為
由此可以證明Kk?m≤σn0,這里閾值T的取值為局部(當(dāng)前塊)噪聲標(biāo)準(zhǔn)差σn0.
3.3.2 時空聯(lián)合去噪算法
浮選泡沫的運動極為復(fù)雜,若選擇過多的幀進(jìn)行時域濾波,并不能得到理想的濾波效果.為了獲得一個實時良好的去噪性能,算法只選用過去4幀去噪幀與當(dāng)前幀進(jìn)行時域濾波,實際上該算法擴展到了對過去所有幀信息的利用,因為時域加權(quán)平均使得每一幀的去噪結(jié)果中都包含了過去幀信息.不使用未來幀信息可以減少因噪聲造成的運動估計與補償誤差,并大大減少幀緩存與幀延時,提高算法的實時效率.
這里,所有參考幀fk?m是去噪幀,當(dāng)前幀是含噪幀.考慮當(dāng)前幀gk的當(dāng)前塊Bk,像素(i,j)∈Bk,它對應(yīng)的參考幀fk?m中的塊Bk?m,像素(i?vi,j?vj)∈Bk?m,(vi,vj)k?m是對應(yīng)的運動向量.如果Bk?m是SMS狀態(tài),那么有
穩(wěn)定性檢測后可以得知n個參考塊(1≤n≤m)是否處于SMS狀態(tài).如果有n(1≤n≤m)個參考塊處于SMS狀態(tài),當(dāng)n=m時,采用運動補償?shù)臅r域濾波輸出相應(yīng)塊.從式(11)可以看出,時域濾波的輸出是當(dāng)前觀測及參考塊的線性組合,當(dāng)使用更多的參考幀時,可以獲得更好的去噪性能;另一方面,假如n個參考塊都被標(biāo)記為SMS塊,這種情況下,運動補償塊MCk?m(i?vi,j?vj)(m=1, 2,···,n)和fk(i,j)將處于相同的運動軌跡上,可以獲得更小的噪聲方差.因此,在SMS塊中采用時域濾波可以有效地去除噪聲,充分利用可靠的時間相關(guān)性,并且在去噪的視頻序列中不會引入時間偽像.
然而,在浮選泡沫視頻中,并不總是只有兩種情況存在.即前n個參考幀和當(dāng)前幀中的塊都處于SMS狀態(tài),采用運動補償?shù)臅r域濾波去噪;或者前n幀的塊和當(dāng)前幀中的塊都處于UMS狀態(tài),采用非局部均值的空域濾波去噪.當(dāng)1 時空濾波結(jié)果采用加權(quán)的方式結(jié)合.記第k幀的時域濾波結(jié)果為Tk,空域濾波結(jié)果為Sk.假設(shè)過去n幀都處于SMS狀態(tài),即在此時間段內(nèi),浮選泡沫沒有發(fā)生破裂、形變等明顯變化.當(dāng)過去n幀中存在UMS狀態(tài)塊時,這種不穩(wěn)定塊數(shù)越多,表明泡沫發(fā)生變化的時間越靠近當(dāng)前幀,形變的程度越大,則取Sk的程度越大.因此文中算法根據(jù)參考幀中的各塊穩(wěn)定狀態(tài)設(shè)定閾值thr,首先設(shè)thr為n個參考幀中的塊Bk?m處于SMS狀態(tài)的個數(shù),當(dāng)thr=n時,采用時域濾波去噪;當(dāng)thr=0 時,采用空域濾波去噪;當(dāng)0 以上算法過程描述如下: 步驟1準(zhǔn)備泡沫圖像序列,第1幀至第4幀采用非局部均值進(jìn)行去噪,得到過去4幀去噪幀. 步驟2從當(dāng)前幀開始,根據(jù)泡沫的尺寸大小分別對當(dāng)前幀和過去去噪幀進(jìn)行分塊操作. 步驟3采用第3.1.1節(jié)中方法對圖像序列子塊進(jìn)行亞像素運動估計. 步驟4采用雙線性插值法對各參考圖像子塊進(jìn)行運動補償. 步驟5根據(jù)運動補償結(jié)果采用第3.3.1節(jié)中方法檢測泡沫圖像子塊的穩(wěn)定性,并標(biāo)記. 步驟6根據(jù)氣泡子塊的穩(wěn)定性分析,選擇合適的方法進(jìn)行去噪.若各參考幀子塊都處于SMS,則采用第3.1.2節(jié)方法去噪;若各子塊都處于UMS,則采用第3.2節(jié)方法去噪;若所有參考幀中子塊的穩(wěn)定塊數(shù)小于n,又大于零時,采用第3.3.2節(jié)中時空聯(lián)合方法去噪. 步驟7對其他氣泡子塊重復(fù)步驟2至6,直至當(dāng)前含噪幀的所有塊都處理完畢,獲得第k幀的去噪結(jié)果. 步驟8對視頻中的其他幀重復(fù)執(zhí)行步驟2至7,可以實現(xiàn)浮選泡沫監(jiān)控視頻的去噪處理. 3.3.3 算法復(fù)雜度分析 考慮到文中算法必須滿足工業(yè)應(yīng)用的實時需求,下面將分步驟對該算法進(jìn)行復(fù)雜度分析. 步驟2,5中,算法執(zhí)行都可以在常量時間O(1)完成.在步驟3中,采用的是相位相關(guān)法對圖像子塊進(jìn)行粗細(xì)定位操作.粗定位中,相位相關(guān)法可以獲得整像素級的精度,采用二維快速傅里葉算法實現(xiàn),則算法復(fù)雜度為O(2M1N1[log2M1+log2N1]),其中M1和N1分別為圖像的高度和寬度;在細(xì)定位中,采用基于最小二乘的二次曲面擬合亞像素算法的計算效率高,可以在常量時間O(1)完成.步驟4中雙線性插值法進(jìn)行運動補償時,完成一個像素的插值在常量O(1)時間完成,對整個圖像子塊的插值補償?shù)膹?fù)雜度為O(M1N1).步驟6中算法復(fù)雜度分情況分析,最壞情況是整個圖像子塊處于UMS時,采用積分圖像加速的非局部均值去噪,時間復(fù)雜度降為O(M1N1D2),D為搜索窗口大小;最好情況是圖像子塊都處于SMS 時,采用時域平均去噪,則時間復(fù)雜度在常量時間O(1)完成.步驟7中,若執(zhí)行操作為常量時間忽略不計,把一幅圖像分為k塊分別執(zhí)行各步驟,則整幅圖像去噪的時間復(fù)雜度最好情況為O(2kM1N1[log2M1+log2N1+1/2]),最壞情況的復(fù)雜度為O(2kM1N1[log2M1+log2N1+D2/2+1/2]).綜合以上分析,一幀圖像的去噪預(yù)處理都能在多項式時間內(nèi)完成,符合工業(yè)實時處理需求. 從現(xiàn)場工人的“看泡”經(jīng)驗以及鋅浮選流程[14]中可知,浮選槽中首槽泡沫的特征非常重要.因此實驗中,分別選取鋅浮選流程中鋅粗、鋅精、鋅掃3組浮選槽當(dāng)中的首槽作為圖像采集點,獲得不同槽的圖像序列,原始圖像大小為480×640.為了驗證本文算法的去噪效果,分別在鋅粗、鋅精、鋅掃3組圖像序列中添加不同標(biāo)準(zhǔn)差的高斯白噪聲,再進(jìn)行相應(yīng)的去噪. 本算法使用MATLAB 語言實現(xiàn),實驗平臺為Windows 10 32位操作系統(tǒng)、4 GB內(nèi)存、MATLAB 2014b.去噪性能采用兩種常用的圖像質(zhì)量評價指標(biāo)-峰值信噪比(peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)進(jìn)行評價. MSE表示當(dāng)前圖像X和參考圖像Y的均方誤差(mean square error),H,W分別為圖像的高度和寬度,那么有 PSNR的單位是dB,數(shù)值越大表示失真越小.N為每個像素的比特數(shù),一般的灰度圖像取8,即像素灰階數(shù)為256. PSNR是基于對應(yīng)像素點間誤差的一種圖像客觀評價指標(biāo),并未考慮到人眼的視覺特性對圖像結(jié)構(gòu)信息的敏感性.這種單一的圖像評價并不能完全真實的反映圖像的去噪性能. SSIM分別從亮度、對比度、結(jié)構(gòu)3方面度量圖像相似性.假設(shè)μX,μY分別表示圖像X和Y的均值,σX,σY分別表示圖像X和Y的方差,σXY表示圖像X和Y的協(xié)方差,有 C3為常數(shù),則圖像的結(jié)構(gòu)相似性表示為 SSIM取值范圍[0,1],值越大,表示圖像失真越小. 根據(jù)浮選泡沫的穩(wěn)定性特性,從以下3個方面進(jìn)行驗證和結(jié)果分析. 1)基于運動補償?shù)臅r域去噪.若當(dāng)前幀和過去各參考幀之間泡沫塊基本呈穩(wěn)定運動狀態(tài),泡沫幾乎未發(fā)生破裂、兼并、坍塌等,形變幅度小,去噪可以通過運動補償后進(jìn)行時域濾波.實驗數(shù)據(jù)來源于鋅粗選視頻中的第66幀、鋅精的第42幀、鋅掃的第144幀,和它們各自過去4幀作為參考幀.去噪結(jié)果如圖3所示.鋅粗視頻中從第62幀至66幀之間,泡沫穩(wěn)定性好,運動估計和補償精度高,誤差較小,時域濾波去噪效果很好;在鋅掃視頻的第144幀與過去4幀間,泡沫雖然沒有發(fā)生破裂、坍塌現(xiàn)象,但是掃選槽中泡沫速度較快,穩(wěn)定度較低,那么在相同時間內(nèi),泡沫運動幅度增大,因此運動估計與補償?shù)恼`差變大,去噪效果稍低于鋅粗和鋅精選槽的圖像序列. 圖3 鋅浮選泡沫圖像去噪結(jié)果1Fig.3 Denoising result 1 of zinc-flotation froth image 從浮選各槽幀率為30 fps的泡沫視頻中,可以看出,幀之間的時域相關(guān)性很強,相鄰幀間泡沫發(fā)生形變、破裂的幾率較少,所占區(qū)域面積也小,因此采用亞像素級的運動估計和補償?shù)姆椒ㄌ岣吡藭r域濾波的效果,減少了處理的時間. 2)非局部均值空域去噪.當(dāng)浮選泡沫塊出現(xiàn)破裂、坍塌、形變等情況發(fā)生在相鄰的前幀t?1幀到t幀時,當(dāng)前塊與過去所有幀相應(yīng)參考塊的時域相關(guān)性非常小.若采用相位相關(guān)法搜索各參考塊時,功率譜圖顯示呈多峰狀態(tài).這時,時域濾波結(jié)果對圖像幾乎不產(chǎn)生影響,需加入空域濾波進(jìn)行去噪. 在鋅快粗視頻中,若當(dāng)前處理的幀是第22幀,則圖4(a)顯示了泡沫的破裂發(fā)生21幀和22幀的瞬間;圖4(b)是第22幀與相鄰前幀的互功率譜圖;圖4(c)是添加噪聲σ=25的泡沫破裂塊的時域濾波去噪效果圖;圖4(d)、圖4(e)分別是添加不同噪聲情況下空域濾波效果. 圖4 鋅浮選泡沫圖像去噪結(jié)果2Fig.4 Denoising result 2 of zinc-flotation froth image 3)時空聯(lián)合去噪.當(dāng)浮選泡沫塊出現(xiàn)破裂、形變等情況發(fā)生在過去k(t?m≤k≤t?1)幀時,那么過去第t?m幀到第k幀的所有參考幀與當(dāng)前t幀的時域相關(guān)性很低,而第k幀到t?1幀間的所有參考幀與t幀存在很強的時域相關(guān).在時域濾波中,可以通過運動補償進(jìn)行時域平均的參考幀數(shù)少于m,導(dǎo)致去噪效果不理想,此時需要加入空域濾波.這種時空聯(lián)合的方法可以獲得良好的去噪效果. 如圖5(a)顯示的是另外一個鋅粗選槽視頻中的第45幀及過去4幀圖像序列,泡沫塊在第42,43 幀間發(fā)生的兼并現(xiàn)象.因此計算輸入塊與參考塊的相位相關(guān)時,第45幀與泡沫形變前的第41,42 幀的相關(guān)性極低,其功率譜呈多峰狀態(tài),如圖5(b)所示.而第45幀與泡沫形變后的第43,44幀的相關(guān)性較高,其功率譜呈單峰狀態(tài),如圖5(c)所示.圖5(d)給出了σ=25的高斯噪聲下的泡沫塊圖像,若直接進(jìn)行時域濾波時,第41,42幀對結(jié)果幾乎不產(chǎn)生影響,只有第43,44幀可以通過運動補償進(jìn)行時域平均去噪.圖5(e)是時域濾波結(jié)果,圖5(f)是時空聯(lián)合去噪結(jié)果. 圖5 鋅浮選泡沫圖像去噪結(jié)果3Fig.5 Denoising result 3 of zinc flotation froth image 為了進(jìn)一步驗證算法的性能,本文將所提的算法與礦物浮選領(lǐng)域效果較好的泡沫圖像序列時空去噪方法(劉金平等提出的Curvelet域BLS-GSM圖像序列去噪方法[15])、一種基于多假設(shè)運動補償?shù)臅r域視頻去噪方法(Zhang等人提出的基于運動分離的MHMCF時域去噪算法[16]),以及目前視頻領(lǐng)域公認(rèn)的去噪性能很好的VBM3D 算法[3]進(jìn)行了比較.采用峰值信噪比PSNR和結(jié)構(gòu)相似性SSIM兩個客觀評價標(biāo)準(zhǔn)來衡量圖像的去噪性能,結(jié)果如表1所示. 表1 不同去噪方法性能比較Table 1 Performance comparison of different denoising methods 本文算法采用亞像素運動估計與補償,提高了時域濾波的去噪性能,同時針對泡沫的復(fù)雜運動和變化提出的時空聯(lián)合去噪在穩(wěn)定性高的鋅粗、鋅精視頻中獲得了良好的去噪效果.從表1 中數(shù)據(jù)可以看出,VBM3D算法在高噪聲水平下也可以獲得高信噪比圖像.但該算法因其復(fù)雜的執(zhí)行過程導(dǎo)致每幀去噪時間達(dá)到數(shù)十秒,直接影響到泡沫圖像后續(xù)的操作延時.因此本文算法更符合浮選工業(yè)的實時生產(chǎn)需求. 從表中還可以得知,不同浮選槽泡沫圖像在添加相同噪聲水平的高斯白噪聲條件下,其去噪性能有差異.主要原因是不同槽中泡沫的大小、運動速度、穩(wěn)定度不一樣.粗選槽和精選槽中泡沫速度較慢,發(fā)生形變、破裂等變化速率較低,且所占區(qū)域面積較少、穩(wěn)定度高、去噪效果很好;而掃選槽中泡沫速度較快,發(fā)生破裂的速率高、穩(wěn)定度低,時域濾波去噪效果相對較低,在加入非局部均值聯(lián)合去噪后,這樣雖然增加了處理時間,卻提高了去噪性能. 另外,在相同圖像序列中添加不同噪聲水平的高斯白噪聲條件下,噪聲標(biāo)準(zhǔn)σ值越大,去噪性能越差.主要原因是當(dāng)前泡沫圖像和前M幀去噪幀運動補償時因嚴(yán)重污染的噪聲導(dǎo)致的誤差較大,時域平均的結(jié)果也會受到影響.因此本文提出的方法不適用于噪聲標(biāo)準(zhǔn)σ >50的噪聲圖像.在浮選工業(yè)應(yīng)用中,一般情況下不會出現(xiàn)噪聲標(biāo)準(zhǔn)σ >25的泡沫圖像,若存在嚴(yán)重噪聲污染時,直接舍棄該幀,不作為圖像處理的對象.因此本文算法對浮選泡沫視頻圖像可以獲得良好的去噪效果,并符合工業(yè)實際需求. 本文使用的基于氣泡穩(wěn)定性分析的時空聯(lián)合方法進(jìn)行去噪,其關(guān)鍵在于能否在噪聲條件下準(zhǔn)確的估計氣泡的穩(wěn)定性狀態(tài).為了提高運動估計及補償?shù)木?采用基于亞像素級的相位相關(guān)法估計浮選泡沫的運動位移,雙線性插值法獲得很好的運動補償.根據(jù)穩(wěn)定性檢測結(jié)果,不同狀態(tài)的浮選泡沫塊選擇不同的去噪方法,最后基于泡沫子塊的穩(wěn)定性進(jìn)行時空聯(lián)合去噪,達(dá)到理想的去噪效果.通過在不同浮選槽中的泡沫圖像模擬添加高斯噪聲進(jìn)行試驗,結(jié)果表明,該方法能較好的去除浮選泡沫圖像噪聲,并能很好的恢復(fù)泡沫的紋理細(xì)節(jié)和邊緣,與原圖保持較高的相似結(jié)構(gòu)性.在實際鋅浮選監(jiān)控視頻中,也獲得了較高的PSNR和SSIM,為后續(xù)的泡沫表面視覺特征的準(zhǔn)確提取提供了基礎(chǔ),得到了較好的應(yīng)用.4 實驗驗證
4.1 實驗準(zhǔn)備與評價指標(biāo)
4.2 驗證性結(jié)果
4.3 對比性結(jié)果
5 結(jié)論