彭井花,廖一鵬
(1.福建師范大學協(xié)和學院,福建 福州 350117;2.福州大學物理與信息工程學院,福建 福州 350108)
泡沫浮選是利用礦物表面的物理及化學特性的不同來篩選礦物的過程.浮選泡沫技術(shù)是礦物金屬提煉的關(guān)鍵技術(shù)之一,每年全世界都有大量的礦物需要經(jīng)過浮選處理.然而,在浮選的過程中存在大量因素的影響,所以浮選礦物泡沫的檢測和監(jiān)控一直以來都被認為是一個難題.傳統(tǒng)的檢測方法是浮選操作者利用經(jīng)驗分析氣泡的動態(tài)和靜態(tài)特性,在生產(chǎn)過程中做出相應(yīng)的調(diào)整,這種方法容易受到個人主觀意愿的影響,缺乏客觀性[1-2].隨著機器視覺技術(shù)的發(fā)展,將浮選泡沫過程與計算機控制系統(tǒng)有機地結(jié)合,可以快速、準確地測量出浮選泡沫的動態(tài)特征,對礦物工程科學具有重要意義[3].
目前,光流法和宏塊跟蹤法都被應(yīng)用于檢測浮選泡沫的動態(tài)特征,另外,流動速度也可以通過提取特征點進行匹配的方法檢測出來,即特征點匹配法.但由于泡沫圖像的特殊性以及浮選過程中存在大量外部環(huán)境的影響,采集到的視頻或圖像質(zhì)量欠佳,因此測量出的結(jié)果并不理想[3-4].文獻[5]使用尺度不變特征變換(scale invariant feature transform,SIFT)進行特征匹配,并運用到速率特征提取中,雖然SIFT對圖像進行尺度縮放、光照變化時,具有保持穩(wěn)定性的優(yōu)點,但該方法存在大量誤匹配點,且SIFT計算復雜,因此實時性較差.文獻[6]利用多分辨率小波變換進行圖像處理,僅對低頻成分進行匹配,雖能提高計算的實時性,但該方法同時也提高了誤匹配率.
針對以上問題,為了準確提取動態(tài)特征,首先對浮選泡沫視頻的多幀圖像進行直方圖均衡化,接著在此基礎(chǔ)上使用分數(shù)階微分最小均值算法.在分數(shù)階微分最小均值增強算法中使用不同的階數(shù)分別處理圖像,對比結(jié)果后得到最優(yōu)的分數(shù)階.其次,將Roberts算子、Sobel算子、Prewitt算子,以及根據(jù)浮選泡沫的特性提出的谷底檢測算法分別應(yīng)用于圖像處理,并對處理結(jié)果進行比較篩選.然后,檢測泡沫邊緣圖像的Harris角點和三叉點,獲取關(guān)鍵點.最后,使用FREAK算法匹配特征點,匹配完成后用RANSAC算法減小匹配誤差,再檢測匹配點對的位移,從而把速度計算出來.采用該速度特征提取方法能實時準確地提取泡沫流動速度,浮選泡沫表面的動態(tài)特征可以作為篩選礦物的一個參數(shù),提高生產(chǎn)效率[7-8].采用工業(yè)浮選現(xiàn)場的泡沫圖像進行驗證,實驗結(jié)果表明,該方法能夠更好地提取泡沫邊緣信息,能夠有效減輕泡沫圖像光噪點影響,提取出準確的速度特征,可為浮選過程控制提供理論依據(jù).
圖像銳化是一種常用的圖像增強技術(shù),可以增強圖像的對比度,使圖片的質(zhì)量更好.在一幅圖像的低頻區(qū)內(nèi)灰度值變化非常緩慢,對應(yīng)圖像的平滑區(qū)域.圖像的中頻范圍內(nèi),灰度值略有變化.而在圖像的高頻區(qū)內(nèi),其灰度值變化較大,對應(yīng)該圖片的噪聲和邊緣范圍.對于浮選泡沫圖像來說,頻率分布較為復雜,因此需要合適的算法提取氣泡邊緣的信息[8].微分銳化可以實現(xiàn)圖像的增強處理,選擇適當?shù)碾A數(shù),可以大幅提升圖像的質(zhì)量.
分數(shù)階微分在很多場景中應(yīng)用廣泛,并且有著不同的定義.比較這些不同的定義可以看出G-L定義得出的結(jié)果更好,因此本文從G-L定義來推導,先給出G-L的分數(shù)階微分定義,若信號f(x)∈(a,x)(a (1) (2) 這n個系數(shù)中第1個是1,其他系數(shù)都是隨階次的變化而變化,這n個系數(shù)分別為: (3) 若采用5×5的掩模、采用前3項的系數(shù)來近似表示分數(shù)階微分,則改造的掩模算子見圖1. 圖1 5×5的分數(shù)階微分濾波模板Fig.1 The 5×5 fractional differential filtering template 在對浮選泡沫圖像進行增強的過程中,最小均值濾波算法可以有效去除圖片中椒鹽噪聲并可以保存像素值較低的氣泡輪廓,而分數(shù)階微分算法可以大幅提升圖像質(zhì)量.因此本文從泡沫圖像的特點出發(fā),將這2種算法的優(yōu)勢結(jié)合起來,在此基礎(chǔ)上提出一種基于分數(shù)階微分的最小均值增強算法. 采用分數(shù)階微分最小均值增強算法時,掩模矩陣的大小為3×3的規(guī)格.用該掩模矩陣按序掃描圖片的各個像素,對選定區(qū)域內(nèi)的各像素值按從小到大的順序進行排列,并選取前3個像素值,然后將這些值加權(quán)平均作為目標像素的新數(shù)值.加權(quán)的系數(shù)值則從分數(shù)階微分的差分式n個系數(shù)中選取,設(shè)選取的3個像素分別為fmin 0、fmin 1、fmin 2,加權(quán)平均的 3個系數(shù)為1,-v,(v2-v)/2,即可按照式(4)將3個像素的灰度值加權(quán)平均,并將結(jié)果作為新的像素值. (4) 檢測圖像各像素點是否為邊緣的像素點,可以通過求導的方法實現(xiàn)[10],如對數(shù)字圖像進行處理,則用差分運算.浮選泡沫圖像經(jīng)過圖像增強處理后,需進行圖像分割[11],提取氣泡的邊緣,有益于動態(tài)特征的提?。?/p> 邊緣檢測算子可以通過判斷模板區(qū)域內(nèi)像素灰度是否有明顯變化來檢測邊緣.常用的邊緣檢測算子有Roberts算子、Sobel算子、Prewitt算子、Laplacian算子等[1].其中Roberts算子、Sobel算子、Prewitt算子的算子模板如圖2所示. 圖2 常用的一階導數(shù)算子模板Fig.2 Commonly used first derivative operator template Roberts算子的表達式: g(x,y)=[(f(x,y)-f(x+1,y+1))2+(f(x+1,y)-f(x,y+1))2]1/2. (5) Sobel算子的表達式: (6) Prewitt 算子表達式: (7) 圖3 檢測模板XFig.3 Detection template X 浮選泡沫圖像的像素有著不同的像素值,可以將谷底檢測算法應(yīng)用于泡沫圖像中,其中海拔高度對應(yīng)著泡沫圖像的灰度值.在泡沫圖像中,可以將像素值比周圍低的泡沫邊緣看作是谷底,二者性質(zhì)是相同的.因此,尋找最小像素集合來檢測谷底的方法也同樣可以檢測泡沫邊緣. 不同于谷底檢測的微分計算,在浮選泡沫圖像的邊緣檢測中,需使用差分計算來實現(xiàn).具體步驟為:定義一個3×3模板X(圖3),該模板包含9個子模板,除去模板X0為檢測目標像素外,其余的子模板2個一對,分別對像素的灰度值進行運算,對每個像素進行4個方向的檢測.將計算結(jié)果進行比較,若大于某一閾值,就可判斷該點為山谷點. 浮選泡沫圖像經(jīng)過前期的處理后,已經(jīng)可以看到泡沫基本的輪廓,但是輪廓比較粗糙,且存在噪聲.為了使泡沫輪廓更加平滑和精確,應(yīng)對圖像進行形態(tài)學處理. 2.3.1 圖像腐蝕膨脹運算 形態(tài)學處理包括膨脹和腐蝕操作,腐蝕可以消除目標物體邊界的像素和小的噪聲點[12-13];反之,膨脹的作用是使目標輪廓變大,可以填充與目標物體邊界相鄰的像素和空洞.腐蝕和膨脹的操作都是用一個結(jié)構(gòu)元素與圖片的像素相與.是否要腐蝕該像素的判斷標準是該像素點相與結(jié)果是否都為1.是否要填充該像素的判斷標準是該像素點相與結(jié)果是否都為0.本文采用四方向的腐蝕運算操作和八方向的膨脹運算操作,如圖4、圖5所示. 圖4 四方向結(jié)構(gòu)元素Fig.4 Four directional structural elements 圖5 八方向結(jié)構(gòu)元素Fig.5 Eight directional structural elements 2.3.2 圖像的細化操作 圖像細化能將圖像中線條轉(zhuǎn)化成只有一個像素寬度,轉(zhuǎn)化結(jié)果就是圖像的骨架部分.經(jīng)過細化后的圖片能夠保持原有的拓撲結(jié)構(gòu),減少圖片的數(shù)據(jù)量,并且骨架相比于原圖像也更容易提取出目標的特征信息.根據(jù)步驟的不同,細化分為2種不同的類型:串行細化是一邊檢測圖片的線條,一邊剔除不滿足要求的像素點;并行細化是先檢測出整幅圖像的骨架,再將其余的像素點刪除. 浮選泡沫圖像經(jīng)過前期的圖像處理后,已經(jīng)有了較為準確且噪聲少的輪廓,應(yīng)用特征點檢測算法可獲取幀間的關(guān)鍵點,并應(yīng)用FREAK匹配算法得到匹配點對的坐標,進而獲取速度特征. 特征點在圖像識別和匹配等領(lǐng)域應(yīng)用十分廣泛.對一些特殊點的觀察,就可以分析圖像,同時免于觀察整幅圖像所帶來的工作量.如果能檢測到區(qū)分度高,能夠表征圖像特征的點,那么這個方法處理的結(jié)果就會比較理想.圖像特征包括邊緣、斑點和角點.邊緣位于2個不同灰度區(qū)域之間,斑點位于與周圍有很大差別的像素區(qū)域,角點也是在圖像分析中重要的特征類型,使用角點可以減少需處理的信息量,提高計算的速度,同時角點的性質(zhì)在環(huán)境變化時也能保持穩(wěn)定,使圖像匹配結(jié)果更加的可靠. 3.1.1 Harris角點檢測原理 Harris角點檢測算法[14]的基本思想是在某個圖像區(qū)域內(nèi)檢測各個方向的灰度變化情況,角點所在之處,每個方向的灰度值變化明顯.如果有一個方向灰度沒有變化,該像素點可能在直線上;如果在任意方向都沒有灰度的變化,該像素點可能在一個穩(wěn)定的區(qū)域,區(qū)域內(nèi)不可能存在角點.Harris檢測的具體步驟為:首先計算出圖像在x方向和y方向的梯度,然后利用x方向的梯度和y方向的梯度推導出每個像素的Harris響應(yīng)值,保留大于某一閾值的響應(yīng)值,其余的響應(yīng)值置零,最后選取響應(yīng)值局部最大的像素點為Harris角點. 泡沫在流動過程中,由于燈光或自然光照射的影響,截取到的泡沫圖像存在著許多光噪點,像素值分布較為復雜,使用傳統(tǒng)的角點檢測算法很容易將噪點檢測為Harris角點,造成特征點的錯誤匹配.所以,根據(jù)浮選泡沫這種特殊圖像的性質(zhì),提出一種新的三叉點檢測算法. 3.1.2 三叉點特征檢測原理 圖6 當前點周圍的像素分布Fig.6 Distribution of pixels around the current point 三叉點結(jié)構(gòu)是指三條線在平面上相交于1點,形成共頂?shù)?個角,角頂匯集的這個點就是三叉點,3個角之和為360°.從圖像分割后得到的泡沫邊緣圖像中可以看出存在著大量的三叉點,無論是外部環(huán)境的變化還是泡沫破碎,這些特征點仍然存在,因此用三叉點作為特征點可以避免光噪點和外界因素的影響.三叉點需在經(jīng)過形態(tài)學細化處理的二值圖像上提取,將泡沫邊緣像素的灰度值設(shè)為1,則可以得出各個邊緣像素的P值,P值的計算公式如下: (8) 其中,P0表示目標點.當P=1時,目標點是端點;當P=2時,目標點是連接點;當P=3時,目標點是三叉點.像素點的分布如圖6所示,三叉點的方向特征如圖7所示. 圖7 三叉點的方向特征Fig.7 The directional characteristics of the trigeminal point 圖9 RANSAC算法流程Fig.9 Flow of RANSAC algorithm 人眼視網(wǎng)膜的不同區(qū)域有著不同的功能,這是由于視網(wǎng)膜上細胞的密度是不相同的,所以不同區(qū)域?qū)饩€的敏感程度也不同.視網(wǎng)膜通常被分成了4個區(qū)域:foveola、fovea、parafoveal、perifoveal.其中,foveola區(qū)域?qū)馐亲蠲舾械模钥梢越邮軋D片的分辨率也是最高的.FREAK正是根據(jù)這種結(jié)構(gòu)而提出的算法,如圖8所示. FREAK算法[15]采用了接近人眼視覺系統(tǒng)的采樣模型獲取圖像的信息.FREAK算法從特征點出發(fā),從里到外選取7個圓,這些圓的圓心都是特征點.在每個圓上都間隔取6個采樣點.從里到外,可以看出采樣點的分布越來越稀疏,這與視網(wǎng)膜上細胞分布類似.在形成描述子之前,先進行高斯平滑處理,可以改善匹配效果.FREAK算法的描述子是二進制串,每1位二進制代表每個采樣點經(jīng)高斯模糊后灰度值的對比結(jié)果. FREAK描述符的圓形對稱采樣模式和對每個采樣點進行高斯濾波,使其具有旋轉(zhuǎn)和尺度的不變性以及抗噪性[16],因此由FREAK算法產(chǎn)生的描述子就可以用來特征匹配.如果采樣點數(shù)為K,則生成的特征向量一共有K(K-1)/2維.但有些采樣點對對特征點匹配用處不大,因此可以僅保留一些有用的維度,是否保留該維度是以方差為標準的,方差越大,就存在更多信息量,匹配效果就會更好. 圖像的特征點在匹配后,難免存在一些錯誤的匹配對,本文采用RANSAC算法來改善匹配結(jié)果[17].RANSAC算法是一種模型假設(shè)驗證算法,目的是找到最優(yōu)的單適應(yīng)矩陣H[18].先選取1個最小的匹配點子集,并通過這些子集計算出初始模型,再用初始模型測試其余數(shù)據(jù),如果某個點適用于估計的模型,則把它當作局內(nèi)點,并用它重新估計模型.進過多次迭代運算后,選擇局內(nèi)點多的運算中的模型作為最終模型,將對應(yīng)的局內(nèi)點集合作為最終的匹配點集,以此來消除錯誤的匹配點對. RANSAC算法流程如圖9所示.先初始化相關(guān)參數(shù),再從樣本中隨機選取不共線的四對點,并計算當前矩陣H,從而計算di(反投影誤差距離)、di—std(當前內(nèi)點距離標準差)、num(di小于初始閾值的內(nèi)點數(shù)),若num>max—num(最大內(nèi)點數(shù)),則更新H,計算所有內(nèi)點,最后根據(jù)所有內(nèi)點修正H. 綜上分析,本文動態(tài)特征提取算法流程如圖10所示.具體實現(xiàn)如下: 步驟1 對浮選泡沫視頻的多幀圖像進行直方圖均衡化,接著在此基礎(chǔ)上使用不同階數(shù)的分數(shù)階微分最小均值算法分別處理圖像,對比結(jié)果后得到最優(yōu)的分數(shù)階. 步驟2 分別采用Roberts、Sobel、Prewitt、Canny算子以及谷底檢測算法對增強后的圖像進行泡沫邊緣檢測,并對處理結(jié)果比較篩選,再進行形態(tài)學處理. 步驟3 檢測泡沫邊緣圖像的Harris角點和三叉點,對處理結(jié)果比較篩選后提取特征點. 步驟4 使用FREAK算法進行特征點匹配,并通過RANSAC算法矯正錯誤匹配點. 步驟5 檢測匹配點對的位移,從而把速度計算出來,繪制出速度矢量圖和曲線圖. 為了驗證文中方法的準確率,以福建金東礦業(yè)股份有限公司的鉛礦浮選槽作為實驗對象,實驗的硬件平臺CPU為 Intel(R)—Core(TM)—i9-9900K—CPU—@—3.60GHz、內(nèi)存為32.00GB、顯卡為NVIDIA GeForce RTX 2070 SUPER(8.0GHz),軟件運行環(huán)境為 Windows 10(64位)和Matlab 2014a. 浮選泡沫圖像經(jīng)過直方圖均衡的結(jié)果和在此基礎(chǔ)上再經(jīng)過分數(shù)階微分最小均值算法處理后的結(jié)果如圖11所示.從圖11的實驗結(jié)果可知,圖像在經(jīng)過直方圖均衡化后,緩解了光噪點的影響,改善了對比度.對比不同階數(shù)的分數(shù)階微分最小均值算法,可知0.2階時處理效果最好,有助于接下來的處理,故本文選取階數(shù)為0.2. 經(jīng)典的浮選泡沫邊界提取采用了邊緣檢測算法,圖12為圖像增強處理后的圖像經(jīng)幾種傳統(tǒng)檢測算法處理后的結(jié)果以及本文采用谷底檢測的處理結(jié)果.可以看出,對比不同的邊緣檢測算法,谷底檢測算法處理效果較好,輪廓更加準確. 但谷底檢測后得到的輪廓比較粗糙,附帶許多噪點,所以需要進行形態(tài)學的處理,如腐蝕、膨脹和細化處理,效果如圖13所示,泡沫輪廓更加平滑和準確,噪聲也少了很多. 經(jīng)過形態(tài)學處理后,需對泡沫邊緣圖像提取關(guān)鍵點,包括Harris角點提取和三叉點提取,如圖14所示.Harris角點將光噪點當作特征點檢測出來,而光噪點是由外界燈照產(chǎn)生的,它們的運動規(guī)律與浮選泡沫并不一致,Harris角點提取會影響到處理結(jié)果,而三叉點檢測并不存在這種情況,因此提高了匹配的準確性. 圖11 泡沫圖像增強處理結(jié)果Fig.11 Froth image enhancement results 圖12 泡沫邊緣檢測處理結(jié)果Fig.12 Results of froth edge detection and processing 圖13 浮選泡沫邊緣圖像的形態(tài)學處理結(jié)果Fig.13 Results of morphological processing of flotation froth edge image 圖14 不同特征點提取Fig.14 Extraction of different feature points 圖15 基于Harris角點提取的FREAK匹配Fig.15 FREAK matching based on Harris corner extraction 圖16 基于三叉點提取的FREAK匹配Fig.16 FREAK matching based on trigeminal point extraction 提取出關(guān)鍵點后需進行匹配工作,本文采取FREAK算法進行匹配,再使用RANSAC算法來矯正.匹配正確率如表1所示,匹配結(jié)果如圖15-圖18所示. 圖17 RANSAC算法濾除錯誤匹配Fig.17 The RANSAC algorithm filters out false matches 從表1可知,Harris檢測角點時把很多光噪點也檢測成特征點,而光噪點的運動規(guī)律與浮選泡沫并不一樣,這就造成計算出來的泡沫流動速度有較大的誤差.因此基于三叉點的FREAK匹配結(jié)果比基于Harris角點的FREAK匹配結(jié)果有較低匹配錯誤率,再使用RANSAC算法矯正就可以進一步改善匹配效果,將正確匹配率提高到了93.3%. 表1 Harris角點和三叉點匹配性能比較Tab.1 Comparison of matching performance between Harris corner points and trigeminal points 經(jīng)過關(guān)鍵點匹配工作后,可以得到相鄰圖片幀之間匹配點對的坐標,利用這些坐標,可畫出速度矢量圖和速度曲線圖.本文從泡沫流動視頻中每s提取20幀圖片,即每0.05 s提取1幀,為了減小計算量,每5幀圖像提取一張圖像用來計算速度,得出的速度曲線圖如圖19-圖21所示. 圖18 RANSAC算法處理結(jié)果Fig.18 The results of RANSAC algorithm processes 圖19 速度矢量特征圖Fig.19 Velocity vector feature diagram 圖20 單幀速度曲線圖Fig.20 Velocity curve of a single frame 圖21 速度曲線圖Fig.21 Curve of velocity 浮選圖像在生成和傳遞過程中,存在著各種因素的影響,使得圖像的質(zhì)量欠佳,所以難以準確地提取其動態(tài)特征.因此本文提出了浮選泡沫表面動態(tài)特征提取方法,該方法結(jié)合了微分最小均值、谷底檢測、形態(tài)學處理、FREAK關(guān)鍵點匹配和RANSAC等算法.實驗結(jié)果表明,對浮選泡沫圖像依次進行直方圖均衡化和分數(shù)階微分最小均值濾波,可以有效改善圖像的對比度,提升圖像中的有用信息;谷底檢測算法有更高的抗噪性能,但是圖像中仍然有一些白色噪點,經(jīng)形態(tài)學處理后能夠使泡沫輪廓更加平滑和準確,噪聲也大大地減少;三叉點檢測算法避免了光噪點的影響,將檢測出的三叉點定位到原圖之后,采用FREAK算法對特征點進行匹配,最后通過RANSAC算法減小匹配誤差,使得正確匹配率提高到了93.3%,從而可以利用特征點對的坐標繪制出速度矢量圖和曲線圖,為浮選工況控制提供了理論依據(jù).1.2 基于分數(shù)階微分最小均值增強算法
2 浮選泡沫圖像的邊緣檢測算法
2.1 傳統(tǒng)的浮選泡沫邊緣檢測算法
2.2 浮選泡沫圖像中的谷底檢測算法
2.3 數(shù)學形態(tài)學運算
3 特征點檢測與匹配算法
3.1 特征點檢測算法
3.2 FREAK特征點匹配算法
3.3 RANSAC算法剔除誤匹配點
4 算法實現(xiàn)流程
5 結(jié)果與分析
5.1 浮選泡沫圖像增強結(jié)果
5.2 浮選泡沫邊緣檢測及形態(tài)學處理結(jié)果
5.3 三叉點特征提取結(jié)果
5.4 特征點匹配算法結(jié)果
5.5 浮選泡沫速度提取
6 結(jié)論