廖一鵬,張 進,王志剛,王衛星
(1.福州大學 物理與信息工程學院,福建 福州 350108;2.福建金東礦業股份有限公司,福建 三明 365101)
浮選生產是工業上從礦石中提煉出金屬礦物的一種有效的選礦方法,浮選生產工藝復雜,受到多種物理化學因數的影響,研究人員發現浮選槽表面泡沫特征與浮選工況、生產工藝指標存在很強的相關性[1-2],精確提取泡沫圖像特征對于浮選生產優化意義重大。目前,浮選廠主要通過人工觀察泡沫狀態的變化進行工況判別,這種方式主觀性強、沒有定量標準、生產效率低。因此,研究智能化的工況識別方法,對于浮選生產的優化控制、提高選礦回收率有著重要意義。
傳統的工況識別方法主要通過提取泡沫表面的顏色、尺寸、形態、運動速度、崩塌率等各類特征[3-4],然后通過分類算法進行識別,這類方法的識別精度受特征提取誤差的影響大,且忽略了特征間相互耦合的影響。卷積神經網絡(Convolutional Neural Network,CNN)可由圖像集直接驅使特征與目標關系間進行深度學習[5],有極強的表征能力,已在浮選泡沫圖像處理中得到應用:Fu等[6-7]首先將CNN應用于泡沫圖像的特征提取,并在泡沫圖像分類和精礦品位預測上進行驗證,與傳統的特征提取方法相比,大大提高了識別精度;Wang等[8]對分割的氣泡圖像進行CNN特征提取及分類,通過統計各類氣泡出現的頻率分布進行工況識別,具有較高準確度和效率。這類方法提取的是單尺度圖像的特征,沒有充分挖掘和利用多尺度圖像特征的局部細節和可區分性,而且提取的都是泡沫可見光圖像的靜態特征,而泡沫紅外圖像能表征氣泡的破碎、合成等動態特征,在特征提取方面有待進一步擴展和細化。另外,CNN的全連接相當于單隱層前饋神經網絡,采用BP 訓練容易陷入局部最小值,泛化性能較差,而極限學習機[9](Extreme Learning Machine,ELM)訓練過程簡單、分類性能好,采用ELM對CNN特征進一步訓練能改善分類效果[10],但是ELM隨機的隱含節點數和輸入權值使分類結果產生波動、穩定性差。核極限學習機(Kernel Extreme Learning Machine,KELM)在ELM基礎上引入了核函數[11],提高了穩定性,但是懲罰系數和核寬度對分類結果影響顯著,有待進一步優化。
因此,本文提出一種基于泡沫雙模態圖像多尺度CNN特征及自適應深度自編碼KELM的工況識別方法。首先對泡沫的可見光、紅外圖像進行非下采樣剪切波(Nonsubsampled Shearlet Transform,NSST)[12]多尺度分解,設計雙通道CNN網絡提取雙模態多尺度圖像的輪廓和細節特征,并將兩種模態的CNN特征進行融合。將多個雙隱層自編碼極限學習機串聯成深度學習網絡,對融合的CNN特征逐層抽象提取后,再通過KELM映射到更高維空間進行決策。最后,提出一種動態自適應旋轉角的量子旋轉門方法以改進量子細菌覓食算法[13]的更新和繁殖策略,并應用于深度自編碼KELM參數的優化,以提高識別精度和泛化性能,增強穩定性。
泡沫的表觀特征是浮選生產工況的綜合反映,不僅泡沫表面的靜態特征可作為工況評判的依據,研究發現浮選工況還與泡沫的崩塌率、穩定度有較強的關聯性[3-4],目前研究人員主要通過檢測前后幀圖像中相應泡沫的形態變化進行崩塌率和穩定度的估算[3-4,14],因受光照及泡沫不斷運動變化的影響,檢測精度不高。對浮選槽表面的泡沫進行紅外熱成像,發現對產生崩塌、合并的氣泡具有一定的展現效果,氣泡產生崩塌或合并后釋放出熱量,比其他氣泡溫度高,熱成像后呈現出高亮的黃色區域,如圖1所示(彩圖見期刊電子版),圖1(a)中有2個氣泡產生崩塌,圖1(b)3個小氣泡合并成1個大氣泡,圖1(c)的泡沫可見光圖像只能表觀顏色、尺寸、形狀、分布等靜態特征,而對應的紅外熱成像圖1(d)能直接展現產生崩塌、合并的氣泡。根據精礦品位的等級可以將浮選生產過程分為優、良、中、合格、差、異常等6種工況[8],圖1(e)~圖1(j)展示了6種工況下泡沫的熱成像圖,產生崩塌、合并的氣泡越少,氣泡的穩定度越高,承載率越好,回收率和工況等級越高;當氣泡過小、過多,部分區域呈棉絮狀,流動秩序亂,溫度分布差異大,工況等級比較差;當出現異常情況,氣泡水化嚴重,滾動速度快,釋放熱量快,圖像整體趨于高亮的黃色。因此,泡沫的紅外熱成像可有效表征氣泡的崩塌、合并等動態特征,且在不同工況下有一定區分度。

圖1 浮選泡沫紅外熱成像Fig.1 Infrared thermal imaging of flotation foam
非下采樣Shearlet變換是新興的圖像多尺度幾何分析方法,是對Shearlet變換的改進,通過非下采樣金字塔濾波器組去掉了下采樣環節使圖像具有平移不變性、抑制偽吉布斯效應,同時通過剪切濾波器實現對高頻子帶的多方向分解,其圖像多尺度變換表達式[15]:
(1)
其中:ψ∈L2(R)2,表示合成仿射系統中的元素,MDB(ψ)是一個合成小波集的剪切波,k,l和v分別是多尺度分解的尺度、方向和平移系數,D是控制多尺度分解的各向異性膨脹矩陣,B為控制多方向分解的剪切矩陣。泡沫雙模態圖像多尺度分解如圖2所示,圖像K尺度分解后,得到1個低頻圖像和K-1個高頻子帶,低頻子帶包含圖像的大部分能量,保留了圖像的近似特征,各高頻子帶包含了泡沫的邊緣、紋理等局部細節。
對泡沫雙模態圖像多尺度分解后進行CNN特征提取能夠挖掘出圖像的多層表征,可見光圖像表征泡沫的靜態特性,紅外圖像表征泡沫的動態特性,低頻子帶圖像反映圖像更抽象的語義、結構等全局信息,而高頻子帶圖像反映紋理、邊緣等局部細節。本文所構建的雙通道CNN網絡結構如圖2所示,分別對泡沫可見光、紅外圖像分解的各尺度圖像進行CNN特征抽取,網絡參數如表1所示,每個通道的CNN包括3個卷積層和3個池化層。其中,C1,C3,C5表示卷積層,輸入的特征圖通過卷積核卷積后輸出,然后通過P2,P4,P6層進行池化,以減少訓練過程中的計算量。可見光圖像的信息量大、紋理細節較為豐富,相應的CNN通道采用更為精細的特征提取參數,而紅外圖像的CNN通道采用較為稀疏的特征提取參數,兩個CNN通道最后分別輸出K×800和K×320個特征點,最后將兩個通道的提取特征進行串聯融合。

圖2 雙模多尺度CNN特征提取框架圖Fig.2 Dual-modality multiscale CNN feature extraction frame diagram

表1 CNN特征提取模型參數
傳統的CNN網絡是通過softmax分類器對全連接特征進行分類,并使用反向傳播來訓練所有網絡參數,容易陷入局部最小值、過擬合等問題。ELM是一種基于單隱層前饋神經網絡的監督學習算法[9],訓練過程中調整的參數少、效率高,泛化性能好,可表示為:
Hβ=T,
(2)
其中:β表示隱含層和輸出層間的連接權值矩陣,T表示理想輸出,H表示隱層單元的輸出矩陣。訓練過程中,只要輸入層與隱含層間的連接權值和偏置被設置,β可通過式(3)計算:

(3)

(4)
此時,極限學習機的輸出函數可表示為:
(5)
為了克服ELM隱含層函數、輸入層與隱含層間的連接權重和偏置、隱節點個數等所帶來的影響,可以用核函數來代替ELM隱藏節點的映射,本文選擇RBF核函數作為KELM的核函數:
(6)
K(x,xn)=exp(-σ‖x-xn‖2),σ>0.
(7)
最后得到核極限學習機(KELM)的輸出表達式為:
(8)
為了減少懲罰系數C和核函數參數σ的影響,提高KELM的泛化性能,Cheng等[16]提出了多層核極限學習機ML-KELM,通過核極限學習機自編碼器抽取更高層的特征作為KELM的輸入,提高了分類精度。Kim 等[17]提出了層次學習核極限學習機H-KELM,將多個層次的極限學習機自編碼器串聯作為KELM的特征學習網絡,并用于阿爾茨海默病的診斷,大大提高了診斷準確率。極限學習機自編碼器令輸入與輸出相等,通過前饋神經網絡來完成高層次的特征提取,為提取更高維度的稀疏特征,本文在這基礎上構建了雙隱層自編碼極限學習機,如圖3所示,兩個隱層的節點數都為Ni,隨機生成第一、二隱層節點的輸入權重向量w1,w2和偏置b1,b2,通過輸入X,w1和b1計算第一隱層的輸出矩陣,然后通過第一隱層輸出矩陣,w2和b2計算第二隱層輸出矩陣Hi,通過式(9)可計算每個雙隱層自編碼極限學習機的輸出權重矩陣βi的值:
(9)

(10)
雖然在極限學習機基礎上引入了深度雙隱層自編碼器和核函數,增強了算法的泛化性能,但同時其性能易受自編碼極限學習機層數L,懲罰系數C和核函數參數σ的影響,不同的參數組合都會影響最終的擬合性能,為獲取最優的分類性能,需對參數進一步優化。

圖3 深度雙隱層自編碼核極限學習機Fig.3 Deep two hidden layer autoencoder kernel extreme learning machine
細菌覓食算法[18](Bacterial Foraging Algorithm, BFA)是Passino等人模擬大腸桿菌覓食行為而提出的一種新的群體優化算法,主要通過細菌的趨化、繁殖和遷移進行尋優,通過趨化操作增強個體的局部搜索能力,通過繁殖操作選擇較優個體、淘汰較差個體,通過遷移保持群體的多樣性,具有對初值和參數選擇不敏感、魯棒性強等優點。該算法的繁殖過程將影響算法的收斂速度和精度,采用淘汰一半較差細菌、直接復制一半較優細菌的操作將導致種群多樣性的缺乏,不能保證下一代適應度最優,影響收斂速度、易陷入局部極值。
量子遺傳算法(Genetic Quantum Algorithm,GQA)[19]、量子和聲搜索算法(Genetic Harmony Search,GHS)[20]將量子計算引入到染色體和記憶庫的更新,使其具有量子特性,大幅度提高搜索空間和尋優能力。借鑒這一思想,Gao等[13]將量子行為引入到細菌的繁殖中,形成具有更強全局搜索能力的量子細菌覓食算法(Quantum Bacterial Foraging Algorithm, QBFA),但采用固定旋轉相位的量子旋轉門來更新染色體的位置,種群缺乏多樣性、不利于算法的收斂。Liu等[21]提出了一種自適應旋轉相位的改進量子細菌覓食算法(Improved Quantum Bacterial Foraging Algorithm, IQBFA),但是構造的基于指數函數的自適應函數,旋轉角在正、負方向的調節幅度不平衡、波動較大,穩定性不強。較大旋轉相位能加快收斂速度,較小的旋轉相位有利于局部區域的細搜索,本文構造一種動態自適應旋轉角函數,用于改善QBFA的整體性能。
在量子計算中,|0〉與|1〉代表微觀粒子中兩種表達形式,一個量子比特表示為:|φ〉=α|0〉+β|1〉,其中(α,β)是兩個幅常數,|α|2+|β|2=1,|0〉和|1〉表示自旋態,一個量子比特的狀態可以為|0〉,|1〉,|0〉和|1〉之間的疊加態,細菌的量子比特編碼可表示為:
(11)

量子旋轉門是最終實現進化操作的執行機構,用來調整量子比特讓其朝著有利的方向進化,量子旋轉門的調整操作表示為:
(12)
(13)

(14)

自適應工況識別過程分為訓練和在線檢測兩個階段,整體框圖如圖4所示。訓練階段:分別對數據集的泡沫可見光、紅外圖像進行多尺度的NSST分解,采用構建的雙通道CNN網絡提取兩種模態下多個尺度圖像的CNN特征并串聯融合,將這些特征作為深度自編碼KELM的輸入,化驗室提供的工況等級作為輸出,對模型進行訓練,將自編碼極限學習機層數L,懲罰系數C和核函數σ作為細菌的基因,識別精度作為適應度,采用改進的量子細菌覓食算法對模型進行優化,獲取最優的Lbest,Cbest和σbest。在線檢測:構建基于Lbest,Cbest和σbest參數的自適應深度自編碼KELM識別模型,實時采集浮選槽表面泡沫的可見光、紅外圖像,并進行NSST多尺度分解,通過雙通道CNN網絡提取泡沫的雙模態多尺度CNN特征,通過自適應深度自編碼KELM進行分類識別。

圖4 工況識別整體框架Fig.4 Overall framework of performance recognition
為了驗證本文方法的有效性,以福建金東礦業股份有限公司的鉛鋅礦浮選廠作為實驗對象,實驗的硬件平臺為Intel(R) Core(TM) i7-9700 CPU@3.00 GHz,NVIDIA RTX2070 GPU,16 GB(RAM),軟件運行環境為Windows 10 Matlab 2016a,python 3.7,tensorflow 1.14。采集不同時間段浮選槽表面雙模態泡沫圖像作為圖像集,根據化驗室提供相應時間段的工況等級構建數據集,對提出方法進行驗證,給出了各實驗步驟的結果及比較分析。
為了確定所提出的動態自適應旋轉角函數中λ和Δθ參數的最佳值,利用表2中的 5個經典基準函數進行測試分析。
實驗中細菌個數取50,基因染色體的長度取30,趨化、繁殖和遷徙操作的代數分別取Nc= 30,Nre= 10和Ned= 5,遷徙概率Ped取0.25,最大迭代次數T設置為500。對各個基準函數調整λ和Δθ參數的值進行實驗,每組數據進行100次重復實驗,統計達到最優值的概率,以及達到最優值的平均迭代次數,如圖5所示,當λ取1.7,Δθ取0.4π時,算法具有最強的全局尋優能力,而且收斂速度較快。

表2 基準函數信息


圖5 最優值概率及平均迭代次數
為了進一步驗證本文改進的量子細菌覓食算法的性能,選取一個復雜二元非線性函數進行實驗并與QGA,QHS,BFA,QBFA,IQBFA等尋優算法比較,二元非線性函數如式(15)所示:

(15)
BFA,QBFA,IQBFA以及本文方法的細菌個數,基因染色體長度,Nc,Nre,Ned,Ped等初始化參數取相同值,6個算法最大迭代次數T設置為500,本文方法的λ取1.7,Δθ取0.4π,實驗結果如圖6所示。相比于BFA和QBFA,IQBFA的尋優能力和收斂速度提高了很多,但是收斂效果不如QGA和QHS,而本文方法的收斂速度相比QHS和IQBFA提高了許多,而且收斂精度和尋優能力也高于QGA,QHS和IQBFA,說明本文方法不僅可以較好地逼近全局最優解,收斂速度也有所提升,具有更高的魯棒性。

圖6 各優化算法運行效果Fig.6 Operation effect of each optimization algorithm
為驗證提出的深度雙隱層自編碼KELM的性能,選擇不同大小、維度、分類數的三種經典數據集Spambase,Shuttle,USPS進行測試,并與KELM,ML-KELM,H-KELM算法進行比較分析。為分析C和σ對算法性能的影響,設置特征提取層數L=3,各隱含節點數設置為輸入節點數的1.2倍,在0.01≤C≤1 000,0.01≤σ≤100的范圍調整參數進行測試,4種算法的平均測試準確率如圖7所示:KELM的總體測試精度較低,且對C和σ參數較敏感,波動較大;相比于KELM,ML-KELM的測試精度有所提高,采用多層的KELM可有效減少C和σ參數的影響,穩定性也有一定提高;H-KELM將多個層次的極限學習機自編碼器串聯作為KELM的特征學習網絡,進一步提高了測試精度,而且受C和σ參數的影響較小;而本文的深度雙隱層自編碼KELM通過多個雙隱層自編碼極限學習機的特征逐層抽象提取,然后映射到更高維空間進行決策,進一步提高了測試精度,而且降低了對C和σ參數的敏感性,穩定性好。為進一步分析參數L對H-KELM和深度雙隱層自編碼KELM性能的影響,取最優的C和σ參數,設置不同的網絡深度L進行實驗,結果如圖7(e)和圖7(f)所示,深度雙隱層自編碼KELM在相同L下具有比H-KELM更高的測試精度,隨著L的增加測試精度都有所提高,當L增加到一定程度,網絡結構變得較復雜,導致測試精度下降,但是深度雙隱層自編碼KELM的變化較為平穩。



為進一步分析比較4種算法的最優性能,根據圖7的實驗結果取最優的C,σ和L參數對3種數據集進行測試,結果如表3所示,本文的深度雙隱層自編碼KELM需要消耗較多的訓練時間,但是在測試精度上比其他算法具有明顯的優勢,對不同種類的數據集都具有較好的分類和泛化性能。

表3 各種KELM算法數據集測試結果
為驗證本文雙模多尺度CNN特征提取方法的優勢,分別選取訓練集中的泡沫紅外圖像、可見光圖像、雙模態圖像在各個分解尺度下進行實驗,各尺度下的平均識別準確率如圖8所示,雙模多尺度CNN特征明顯比可見光和紅外圖像多尺度CNN特征的識別精度高,當分解尺度在3~5之間時的識別率最高,隨著分解尺度的繼續增加,各個尺度抽取的信息較為稀疏,通過池化層后丟失了部分細節,導致識別率下降,而且運算時間也急劇上升。因此,對雙模態泡沫圖像進行3尺度CNN特征提取的識別效果最佳。
隨機選取一對紅外、可見光泡沫圖片,先進行NSST的3尺度分解,然后輸入到訓練好的CNN網絡模型,將經過CNN每一層網絡的圖像輸出,如圖9所示,各個尺度呈現不同的特征,每個尺度經過卷積層與池化層的圖片呈不斷變化的趨勢,具有分層特征。既可以提取雙種模態下泡沫的動、靜態特性,又可以提取低頻子帶反映圖像更抽象的語義、結構等全局信息,以及高頻子帶圖像反映的紋理、邊緣等局部細節。


圖8 三類圖像不同尺度的識別精度及運行時間
從創建的數據集中挑選6種工況各10 000組數據進行試驗,其中9 000組作為訓練集,分別采用雙模態圖像、可見光圖像、紅外圖像進行模型訓練,圖像的分解尺度K選取為3,模型的優化參數主要有雙隱層自編碼層數L,KELM的懲罰系數C和核函數參數σ,3個參數的范圍:1≤L≤10,0.01≤C≤1 000,0.01≤σ≤100,將3個參數作為細菌的基因染色體,識別精度作為適應度,采用改進的量子細菌覓食算法進行參數優化。實驗中細菌個數取80,基因染色體的長度取50,Nc= 30,Nre=10,Ned=5,Ped=0.25,λ=1.7,Δθ=0.4π,T=500,采用雙模態圖像進行實驗的最優參數為:Lbest=5,Cbest=743.140 1和σbest=69.236 9。然后采用測試集的6×1 000組數據對模型測試,3種方式的識別結果如圖10所示,異常工況下的可見光、紅外圖像信息變化較大,3種方式下該工況的識別精度都較高,可見光圖像的良、中、合格工況的識別精度比紅外圖像高,而紅外圖像的優、差、異常工況的識別精度比可見光圖像高,將兩種圖像的多尺度CNN特征融合后,可有效擴大相鄰工況圖像特征的差異程度,相鄰工況間的誤識別率大大降低,各工況的識別效果都得到較大改善,平均識別精度提高了2.65%。



圖10 3種模式工況識別結果Fig.10 Performance recognition results of three modes
為進一步驗證本文方法的優勢,采用現有的文獻方法對相同數據集進行訓練和測試,統計各方法的平均識別準確率和標準差,實驗結果如表4所示:文獻[3]和文獻[4]采用傳統的特征提取方法,識別率不高、標準差也較大;文獻[6]最先將CNN用于浮選泡沫圖像的特征提取,通過隨機森林算法對泡沫圖像分類,識別率較傳統方法有較大提高,但是標準差較大,穩定性有待提高;文獻[8]對分割的氣泡圖像進行CNN特征和形態特征提取,通過統計各類氣泡出現的頻率分布進行工況識別,平均識別率得到了提高,各工況的識別精度也較為穩定;文獻[10]在CNN特征提取的基礎上,通過極限學習機自編碼器抽取更高層的特征對ELM模型進行訓練,進一步提高了平均準確率,但是識別性能受ELM隱含節點設置的影響大,各工況的識別精度存在一定的波動;本文方法將可見光圖像、紅外圖像的多尺度CNN特征融合在一起,提取了多屬性、更加豐富、更多細節的特征,然后通過多個雙隱層自編碼極限學習機的逐層抽象提取,再通過KELM映射到更高維空間進行決策,最后采用改進的量子細菌覓食算法對參數進行優化,各個工況的識別精度有較大的提高,平均識別率達95.98%,且波動較小,泛化性能較好。

表4 不同方法的識別效果
本文提出了一種結合泡沫雙模態圖像多尺度CNN特征及自適應深度自編碼KELM的浮選工況識別方法。對浮選泡沫的可見光、紅外圖像進行NSST多尺度分解,設計雙通道CNN網絡提取兩種模態多個尺度圖像的特征并融合;借助深度學習思想,構建深度雙隱層自編碼極限學習機網絡,將融合的CNN特征經過多個雙隱層自編碼極限學習機的逐層抽象提取,然后通過KELM映射到更高維空間進行決策;采用動態自適應旋轉角的量子旋轉門以改進量子細菌覓食算法的更新和繁殖策略,并應用于識別模型參數的優化;最后構建數據集對模型進行訓練和測試。結果表明,采用雙模多尺度CNN特征的工況識別精度較單模多尺度、雙模單尺度CNN特征的識別精度提高了2.65%,改進后的量子細菌覓食算法尋優能力更強、收斂速度更快,自適應深度自編碼KELM具有較好的分類精度和泛化性能,各工況識別的平均準確率達95.98%,識別精度及穩定性較現有方法有較大提升。