段鎖林,任云婷,潘禮正,王一凡
(1.常州大學機器人研究所,江蘇 常州 213164;2.常州紡織服裝職業技術學院機電工程學院,江蘇 常州 213164)
針對現有滅火機器人視覺系統中的云臺攝像機不能在同一時刻得到360°范圍的圖像,只能應用于低實時性場合這一問題,改用大視野且實時性好的全景攝像機。針對全景圖像的目標提取的一般方法是先將全景圖像展開并校正,然后對圖像中的目標物進行提取。如文獻[1]用梯度算子從展開矯正后的全景圖像中提取目標,但矯正后的圖像存在信息缺失且實時性差。直接對未展開的全景圖像進行火焰提取,減少信息處理時間,利用全景圖像的內部結構關聯進行聚類獲得KELM 訓練樣本,從而更有效地提取出結果。
針對火焰識別,實則就是圖像分割。火焰最顯著的靜態特征是顏色,文獻[2-3]中的火焰識別算法在顏色模型基礎上對其進行聚類分析從而進行火焰識別。在對含有大量數據信息的圖像進行聚類分析,雖有一定識別率,但耗時太長,實時性差。文獻[4-5]采用聚類預先篩選樣本,再用優化的支持向量機來分割圖像提取目標,與單用聚類分析分割圖像相比,分割精度有一定的提升,但效果不是很理想,因此研究尋找相應且合適的算法對全景圖像的分割具有很大的意義。極限學習機具有學習速度快、泛化性能好和良好的全局尋優能力[6],但將核極限學習機(Kernel Extreme Learning Machine,KELM)應用到全景圖像分割這一方向的文獻很少。
根據以上問題,提出一種經改進聚類算法優化后的核極限學習機分類方法,對具有復雜背景的全景圖像中的火焰進行分割提取。這種方法建立在抗光照干擾的顏色模型上,在前期聚類算法下得出優化的樣本,將優化后的樣本參數輸進KELM 進行訓練,最后通過訓練好的KELM 分析提取目標。仿真結果得出,本算法不僅能準確快速提取出全景圖像中的火焰區域而且也能提取出其它類復雜背景圖像中的火焰區域,具有廣泛適用性、實時性以及光照魯棒性。
現有機器人視覺系統采用的是云臺攝像機采集現場環境的圖像,其通過單個鏡頭的旋轉來擴大視野范圍,使得原視覺系統設計較為復雜,實時性較差。將實時性好、視野廣的全景攝像機取代原有云臺攝像機,優化原有機器人視覺系統,優化后的機器人視覺系統示意,如圖1 所示。

圖1 機器人視覺系統示意框圖Fig.1 Graphical Block Diagram of the Robot Vision System
該視覺系統就是對機器人視野區先用全景攝像頭進行圖像數據信息采集,將采集的信息經由無線模塊傳輸到上位機,然后在上位機系統中用改進聚類算法優化過的核極限學習機進行圖像信息處理獲取火焰信息,最后將火焰目標信息輸出到滅火機器人進行下一步的滅火操作。
一張全景圖片可以擁有360°的圖像信息,其成像原理[7],如圖1 所示。A 為入射光線中的點,B 為成像面中的點。凸面鏡鏡面坐標系中任一點為(r,z),凸面鏡視點為O(0,0),攝像機的焦點為p(0,c),凸面鏡視點到攝像機焦點的距離為c,攝像機的焦距為f。
光線經由鏡頭前凸面鏡,反射入CCD 攝像機成像面成像。以凸面鏡的視點為坐標原點,系統中的透視成像攝像機滿足針孔成像這一模型,因此入射光線經過鏡面反射后經過焦點p,并成像于成像面,即圖2 中世界坐標系中點A 變換到成像平面坐標系中點B 的過程[7]。

圖2 全景成像原理圖Fig.2 Panorama Imaging Schematic
全景攝像機一次獲取的圖像范圍較大,因此會造成圖像中物體存在一定的畸變。全景圖像中的火焰靜態特征中形狀特征可能會產生變形,但是顏色特征卻是不變的。因此對全景圖像的火焰識別主要是基于顏色特征來進行圖像處理的。克服環境光干擾和保證圖像穩定性,是火焰識別的關鍵,所以選擇一種不受光照變化影響的顏色模型顯得尤為重要。
最常用的是RGB 模型,但RGB 模型比較容易受到光照變化的影響。Lab 顏色模型由三個分量組成,L 表示的是亮度信息,a和b 表示色彩信息。在Lab 模型下數據處理速度與RGB 模型同樣快,考慮到火焰識別實時性要求高,因此選擇建立Lab 模型。
RGB 模型不能直接轉換到Lab 顏色模型,需要經過XYZ 顏色空間過渡[8]。

聚類是一種無監督學習的分類方法,有著類內相似,類間相別的效果[9]。全景攝像機因其視角范圍廣,從而得到的全景圖像背景就很復雜。在圖像背景復雜且提取目標較小的情況下,直接用普通的閾值分割或是邊緣提取方法效果很不理想,但聚類方法很適用。
3.2.1 K-means 聚類的缺陷
K-means 是劃分方法中最經典和基礎的聚類算法。該聚類算法核心思想是依據誤差平方和準則通過不斷迭代和調整聚類中心,使得聚類結果更為合理。
該算法的優點是運算速度快,計算簡便,對大數據集效率較高。但其不足之處是需事先指定聚類數目K,而且初始聚類中心的選取對結果有較大影響。
針對K-means 需事先指定聚類數目K 這一缺陷引入粒度計算,通過粒度計算得到樣本間的相似度函數。根據樣本點的不同特點,選擇相應的粒度空間進行分析,來確定聚類數K。在最佳聚類數的聚類下加入二分思想和粒度計算,通過Between-Within Proportion 即BWP 聚類指標的評價利用,優化初始聚類中心。
3.2.2 粒度計算下的聚類算法思想
K=(X,A)表示聚類空間,X 是樣本集,A 是屬性集合。根據粒度概念[10-11],更新樣本相似度函數S(xi,xj)來表示樣本xi,xj之間的相似度。

算法流程如下:
(1)根據式(4)計算樣本間的相似度
(2)設定閾值,得到每個樣本的顆粒結構。若相似度大于閾值,則樣本間的模糊相似矩陣M 記為1,反之為0。
(3)將樣本按M 進行歸類,得到最大聚類數K。
3.2.3 BWP 聚類指標
BWP 是類間與類內聚類的雙重評價指標,用于綜合評價類間類內距離,其值越大,則聚類效果越好。
令K={X,R}為聚類空間,假設n 個樣本被聚類為c 個類,則b(j,i)為第j 類的第i 個樣本的最小類間距,表示該樣本到其他每個類中樣本平均距離的最小值;w(j,i)為第j 類的第i 個樣本的類內距,表示該樣本到第j 類中其他所有樣本的平均距離。具體公式表達如下:

3.2.4 二分粒度聚類算法與步驟
根據K-means 算法的不足,將粒度概念引入,獲得樣本間的相似度函數,利用模糊相似矩陣M 進行樣本劃分得到聚類數目K。在此基礎上,利用粒子密度優化得到初始聚類中心。在劃分過程中,用二分法降低K-means 算法的使用次數,加速樣本劃分運算,通過BWP 聚類指標評價獲得最佳聚類結果。算法步驟具體如下:
(1)根據計算樣本間相似度,按矩陣按M 進行歸類得到K;
(2)引入粒子密度概念計算所有樣本點的距離比vi;

(3)選擇使vi最小的點為初始聚類中心xi;
(4)選擇離xi最遠的點為第二個聚類中心,對簇進行K=2 的K-means 聚類,將簇一分為二;
(5)根據式(7)計算樣本BWP 值,選擇使BWP 值最大的那個簇,對其返回第四步繼續進行下一步,直至簇的數目等于K,輸出聚類結果。

圖3 二分粒度聚類算法簡化流程圖Fig.3 BGKM Clustering Algorithm Simplified Flow Chart
將全景圖像從RGB 顏色模型轉換成Lab 模型,在Lab 模型中提取色度分量a 和b 作為二分粒度聚類(Bisecting GranularKMeans,BGKM)的輸入特征參數,輸出為目標的分類。將a 和b 分量作為一組樣本數據,分別對其用K-Means 聚類算法和BGKM 算法進行圖像處理,并對輸出結果進行分析,如圖4、圖5 所示。圖4(b)、圖4(c)是圖4(a)分別在K-Means 和二分粒度聚類算法下的聚類得出的疑似火焰區域。圖4(b)、圖4(c)兩圖可以看出這兩種算法對全景圖像中火焰區域提取是有效的,圖4(c)的提取效果比圖4(b)效果好,提取的疑似火焰區域更為細致,噪聲更少。圖5(b)中的4 個聚類中心之間距離比圖5(a)中的4 個聚類中心之間的距離大,由此可看出這是二分粒度聚類對初始聚類中心進行優化后的結果。對比圖6(a)、圖6(b)目標函數的變化圖,發現二分粒度聚類算法下的目標函數值是逐漸變小,直至最小,變化穩定。而K-Means 算法下的目標函數值變化是比較波折的,不太穩定。


圖5 a、b 分量在兩種算法下的聚類分布圖Fig.5 Clustering Distribution of a and b Components under Two Algorithms

圖6 在兩種算法下的目標函數變化圖Fig.6 Objective Function Change Graph under Two Algorithms
分析表1 中數據得出,BGKM 算法聚類效果優于K-Means算法聚類效果,且運算時間也少于K-Means 算法。

表1 兩種算法聚類數據分析Tab.1 Analysis of Clustering Data of Two Algorithms
極限學習機作為一種單隱含層前饋網,被廣泛地應用于分類、識別領域[12-13],成為機器學習領域研究的熱點。其算法流程[14]如下:設N={(xi,ti)|xi∈Rn,ti∈Rm}為訓練樣本集合,隱含層神經元的激活函數為g(x),隱含層節點數為L。
(1)隨機生成輸入權值wi和偏置bi;
(2)計算隱含層輸出矩陣H;
(3)計算輸出權值矩陣β,最小范數最小二乘解β^。

核極限學習機(Kernel Extreme Learning Machine,KELM)算法可以在H 未知的情況下,將h(x)HT和HHT用相同的核函數K(x,xi)代替,就可以求出輸出函數的值,且隱含層節點數能夠自適應確定。

經過BGKM 算法得到疑似火焰區域和非火焰區域兩類樣本后,選取訓練樣本的a、b 分量值以及LBP 紋理特征這三種特征屬性作為輸入向量來訓練核極限學習機。最后利用訓練好的高斯核極限學習機對原全景圖進行提取火焰。其算法主要流程如下:
(1)利用BGKM 算法對全景圖像進行聚類分析,得到疑似火焰區域和非火焰區域兩類訓練樣本;
(2)提取訓練樣本的特征屬性對核極限學習機進行訓練得到相應的核極限學習機分類器;
(3)輸入原圖像,利用訓練好的核極限學習機分類器就可以直接對圖像進行分割提取出火焰。
原全景圖、進行BGKM 聚類后結果圖以及最終BGKMKELM 算法提取出的火焰結果,如圖7(a)~圖7(c)所示。

圖7 這里算法最終結果圖Fig.7 Final Result of Algorithm in this Paper
采用二分粒度聚類與高斯核極限學習機相結合的方法即(BGKM-KELM)對全景圖像中的火焰進行識別,將它與K 均值聚類與高斯核極限學習機相結合(KM-KELM)的算法以及二分粒度聚類與極限學習機(BGKM-ELM)相結合的算法作對比,并進行結果分析。仿真軟件為MATLAB R2016a,運行環境為CORE i5,CPU2.5 GHz,RAM 8G。
用KM-KELM、BGKM-ELM 和BGKM-KELM 三種算法分別對全景圖像、魚眼圖像以及普通圖像進行火焰提取對比,圖像結果,如圖8~圖9 所示。算法準確率以及運行時間,如表2 所示。用BGKM-KELM 算法對不同光照條件下拍攝的全景圖像進行處理,得到圖像結果,如圖10 所示。對樣本使用KM-KELM、BGKMELM 和BGKM-KELM 三種算法分別對其進行火焰目標提取,樣本采集不同光照下的全景圖像100 組,每組包含3 種不同光照和采集不同類型圖片200 張。經仿真實驗得出,這里算法的識別率達到96.9%,具體數據,如表2 所示。

圖8 不同算法下的全景圖火焰結果比較Fig.8 Comparison of Panoramic Flame Results under Different Algorithms


圖9 不同算法下的不同類型圖像的火焰結果比較Fig.9 Comparison of Flame Results for Different Types of Images under Different Algorithms

圖10 不同光照下的這里的算法提取結果Fig.10 Extraction Results of the Algorithm in Different Illuminations
仿真1:選取光照不均的兩幅全景圖像,根據圖8 可以看出,KM-KELM 算法雖對火焰的提取有一定效果,但還是包含有非火焰區域,如圖8(b)中火焰在地面上的倒影和圖8(f)中的電腦顯示屏被一起提取出來了;BGKM-ELM 和BGKM-KELM 兩種算法則能較好地提取出火焰,綜合表2 數據分析得出BGKM-KELM和BGKM-ELM 算法的準確率相仿,但BGKM-KELM 運行時間少于BGKM-ELM。

表2 不同算法下不同樣本類型的比較Tab.2 Comparison of Different Sample Types under Different Algorithms
仿真2:選取不同類型的復雜背景圖像,根據圖9 可以看出,KM-KELM 算法對火焰的提取還是有點欠缺,如圖9(b)中右上煙霧區和圖9(f)背景中的一些紅布區域也被提取出來了;BGKMELM 和BGKM-KELM 兩種算法則能較好規避掉疑似火焰區域,綜合圖8~圖9 和表2 數據分析得出BGKM 算法經過引入粒子相似度的概念優化傳統K-Means 算法,繼而優化了初始樣本特征屬性,最終結合極限學習機得到較好的火焰提取。KELM 引入高斯核函數更是加速了火焰的提取。
仿真3:選取不同光照下拍攝的同一地點的全景圖,通過改變房間日光燈開啟的數量來模擬光照變化,全部開啟為光照1,一半開啟為光照2,全部關閉為光照3。通過圖10(b)、圖10(d)、圖10(f)可以看出算法能夠抗光照變化影響,較好地提取出圖像中的火焰。
提出的二分粒度聚類和核極限學習機相結合的算法適用于背景復雜的全景圖像火焰識別,具有適用范圍廣、計算速度快、準確率高等優點,對復雜背景和光照變化噪聲有較強的抑制作用。該算法通過對火焰的顏色特征包括其亮度及色度特征進行提取、限定,可以快速準確地提取全景圖像中火焰區域,在實時性要求較高的場合有很好的應用前景。但在該算法中對K-means 算法中聚類數目的確定僅僅是靠粒子間的相似度去劃分確定的,而進一步確定最佳聚類數目是我們的后續工作。