葉俊杰 高丙團* 陳 昊 徐偉倫
1(東南大學電氣工程學院 江蘇 南京 210096) 2(國網江蘇省電力公司檢修分公司 江蘇 南京 211102)
隨著現代控制技術的不斷發展,機器人開始逐步替代重復、繁雜、危險性高的人工工作,但是在工廠巡檢、室內搶修、家居服務等場景中,機器人往往需要獨立實現開鎖和開門操作[1]。以變電站的巡檢機器人為例,目前變電站巡檢機器人已經廣泛應用[2],但其只能對儀器進行基本的外部監測工作,不具備對變電站現場設備的操作功能,難以監測變電站現場如端子箱、匯控柜、機構箱、消防應急箱等電力箱柜內部的設備狀態,對于電力器件的監測能力不足、事故處理能力欠缺,具體的維修檢測等工作仍舊需要人工進行,人員工作量并未減少,且在變電站處于危險情況時,人員搶險可能負傷。本文針對機器人在進行現場開鎖時環境復雜、鎖孔多樣、需要快速完成開鎖操作的問題提出一種基于多種機器視覺技術的可見光圖像鎖孔檢測算法,可以使機器人快速完成開鎖前必需的鎖孔檢測任務,為賦予機器人開鎖能力做出貢獻。
目前鮮見針對不確定情況下的鎖孔識別問題的研究。已知有文獻采用HOG(Histogram of Oriented Gradients,方向梯度直方圖)-SVM(Support Vector Machines,支持向量機)實現鎖孔與門把手的融合特征識別[3],但該研究的對象主要針對辦公場所常見門把手和鎖孔的識別融合。參考已有機器視覺算法思路,針對可見光圖像中鎖孔的檢測可以分解為圖像圓形檢測與圓形區域鎖孔正負樣本分類兩個子問題,或直接使用目標檢測算法。圓形檢測主要有霍夫圓檢測及其改良算法[4],圖像分類器主要有HOG-SVM[5-7]分類器與卷積神經網絡[8](Convolutional Neural Networks,CNN)分類器,圖像目標檢測算法主要有區域-卷積神經網絡(Region-Convolutional Neural Networks,R-CNN)及其衍生算法[9-11]和YOLO[12]等。
本文結合機器人開鎖開門的操作實際應用需求和計算機圖像識別算法的研究進展,提出一種基于邊緣特征圓形檢測的鎖孔快速檢測算法,采用基于邊緣特征的圓形檢測法檢測圖像圓形的可能位置,再搜集鎖孔及對照素材訓練HOG-SVM分類器實現圓形區域是否是鎖孔的分類。通過實驗驗證了提出算法的可行性,并通過對比實驗表明HOG-SVM分類器較CNN分類器對于鎖孔快速識別具有更高的效率和精度。
當電力巡檢機器人進行開鎖操作時,首先按照路線運動至電力屏柜前,接著調整姿態正對電力屏柜,再進行鎖孔定位操作,最終控制機械臂進行開鎖。且根據常見鎖孔均為圓形,給出如下兩條假設:
假設1鎖孔外圍的形狀必為圓形,且鎖孔表面無遮擋。
假設2在進行鎖孔檢測時,電力巡檢機器人已經調整正對電力屏柜。
根據上述假設,可將圖像中鎖孔識別定位任務分解為如下步驟:
步驟1對攝像機獲取的可見光圖像進行預處理,過濾無關信息,壓縮運算量。
步驟2根據上述假設,鎖孔在圖像中呈現圓形,對圖像進行圓形檢測,即可定位到圖像中鎖孔可能的存在位置。
步驟3構建分類器,對圓形區域圖像是否為鎖孔進行分類,從而確定鎖孔的準確位置。
根據鎖孔檢測任務的分析,通過實時采集可見光圖像,從圖像中檢測出鎖孔的具體像素位置,主要包括圖像預處理、圓形檢測與鎖孔鑒別三個方面,下面分別給出相應內容的具體實現方法。
攝像頭獲取的實時圖像為三通道彩色圖,數據量大,為了提取圖像的有用信息,降低運算量,通過灰度化和局部閾值二值化進行預處理。
將攝像機獲取的RGB三通道彩色圖片采用加權平均法將原圖三通道分量數值與不同權重相乘后得到其灰度圖,像素點灰度值計算公式如下:
Gray=0.299R+0.587G+0.144B
(1)
式中:R、G、B分別為可見光圖像紅、綠、藍三分量值,Gray則是灰度化后圖像的灰度值。
經過灰度化后像素點取值范圍是0~255。為了進一步降低運算量,對灰度化圖片進行二值化處理,將灰度圖轉換為黑白圖。最簡單的方法就是全局閾值二值化,首先根據OTSU[13](最大類間方差法)計算出最合適的分割閾值,然后進行如下計算完成二值化處理:
(2)
式中:q表示選取的灰度閾值;gij表示圖像上某一像素點的灰度值;bij為對應像素點二值化后像素值。
全局閾值二值化對于存在部分偏亮或偏暗區域的圖像(例如受光不均的圖像)無法選取合適的分割閾值。本文采用Niblack法[14],根據像素周圍r×r區域的像素灰度均值與方差計算分割閾值q,然后根據式(2)進行二值化,閾值q的計算公式如下:
q=m+t×s
(3)
式中:q為圖像中某一像素點的局部閾值;m為區域內灰度均值;s為區域內灰度方差;t為調整量。
圖像預處理后,可結合鎖孔均為圓形的假設1,對二值化圖像進行連通域邊界標定,再基于邊緣特征構建條件篩選出圓形連通域。
根據假設2并結合電力屏柜的金屬材質特性,在鎖孔區域經過二值化處理均為白色,首先采用Two-Pass[15]法標記圖像中的白色連通域,然后遍歷已標記過的所有白色連通域內像素點。當像素點周圍四個點中有黑色像素點,則此白色點即為其所在連通域的邊界點,據此得到標定連通域的邊界坐標集合,降低數據存儲量,且便于后續邊緣特征提取。
完成白色連通域邊界標定后,根據圓形邊界點到圓心距離相等特征構建判定條件以篩選出圓形連通域。
首先讀取連通域的邊界坐標集合根據下式計算連通域中心坐標:
(4)
式中:B為標定連通域的n個邊界坐標集合;(xc,yc)為計連通域中心坐標。
當連通域為圓形,(xc,yc)可視為圓心坐標,據此計算邊界點指向圓心的向量:
R(i)=B(i)-(xc,yc)
(5)
式中:R為邊界點指向圓心的向量的集合。
為了排除連通域自身跨度對于后續計算的影響,對向量集合進行歸一化操作,計算如下:
(6)
式中:Rx表示邊界向心向量x分量集合;Ry表示邊界向心向量y分量集合;Bx表示邊界坐標x分量集合;By表示邊界坐標y分量集合;R′x與R′y表示歸一化后邊界向心向量x、y方向上的分量集合。
而后計算歸一化后的每個邊界點到中心點距離:
r(i)=‖(Rx1(i),Ry1(i))‖i=1,2,…,n
(7)
根據式(7)可得歸一化邊界向心向量模長集合r,結合圓形特征,選取集合標準差f作為連通域邊界粗糙度的評判標準,即:
f=std(r)<0.15
(8)
標準差f越小,說明邊界點到中心距離波動越小,連通域形狀越接近圓形,考慮到噪聲和分辨率影響及后續代碼相應情況,經過多次測試后選取判定閾值為0.15,即f<0.15時認為此連通域是圓形。
為了進一步降低運算量,本文提出如下兩條快速篩選條件以降低上述圓形判定法的調用次數從而提高代碼運行速度。
快速篩選條件1:連通域面積篩選。在進行連通域標定時,可以在Two-Pass法的第二次遍歷時記錄下每個連通域的像素面積,像素面積過小的連通域識別無意義,采用下式進行篩選:

(9)
式中:S(i)表示第i個連通域的像素面積;Sgraph表示圖像總像素面積。
快速篩選條件2:連通域xy方向跨度差篩選。根據圓形任意方向上直徑相等,連通域邊界在xy方向跨度差過大時不符合圓形特征,可采用下式進行篩選:
(10)
式中:xmax和xmin表示邊界坐標集合x方向上的最大值和最小值;ymax和ymin表示邊界坐標集合y方向上的最大值和最小值。
(1) HOG-SVM算法。經過圓形檢測定位出鎖孔的可能存在區域,但鎖孔自身幾何形狀并沒有明顯的線性特征,難以依據直線檢測等傳統模式識別方法直接構建有效的分類條件,可通過訓練鎖孔正負樣本分類器對其進行分類。考慮到鎖孔外圓中鎖孔形狀、顏色和位置均具備一定的特殊性,本文提取其HOG特征向量[3]作為分類依據,單個HOG特征向量的生成由圖像的紋理方向和紋理顏色共同決定,可以有效反映鎖孔的形狀和顏色特征,多個cell內HOG特征的排列順序可以有效體現鎖孔的位置特征。確定分類依據后,選取SVM算法[5]進行HOG特征的分類,原因如下:
1) SVM計算復雜度取決于支持向量的數量,可以有效避免為保證精度導致HOG向量長度過長帶來的計算量過大的問題。
2) SVM采用支持向量分類而非傳統統計思路,適合處理本文樣本素材有限的小樣本分類問題。
3) SVM尋找最大劃分超平面思路可以有效解決本文中涉及的鎖孔正負樣本二分類問題。
(2) 鎖孔分類。準備鎖孔正負樣本素材樣例如圖1所示。正樣本為網上尋找截取,并進行適當的形態變換的鎖孔圖,共208張。負樣本由網絡隨機圖、幾何形狀圖與圓形檢測中檢測到的非鎖孔圖,共256幅。針對訓練樣本集,設置HOG特征提取參數為:cell為8×8,block為2×2,相鄰block重疊cell數為1×1,bins數目為9,角度范圍為0°~180°;將所有訓練素材圖像均縮放為256×256大小并灰度化便于適配cell大小,據此提取HOG特征向量長度為34 596,再對其進行標簽,鎖孔圖對應的HOG向量標簽為1,非鎖孔圖的HOG向量標簽為-1。

(a) 鎖孔圖

(b) 非鎖孔圖圖1 訓練素材樣例
至此得到464×34 596的訓練素材矩陣(前208行為鎖孔圖像HOG向量,后256行為非鎖孔圖像HOG向量)和464×1的標簽矩陣(前208行為1,后256行為-1),而后生成一個1到464的隨機數字順序數組,選取前300個隨機數對應的HOG向量為訓練集,剩余為測試集,采用SVM進行分類訓練。
在Windows 10系統MATLAB R2017b平臺上測試本文算法,使用DELL公司Inspiron 3 559筆記本計算機,其配置為Intel i5-6200U CPU,主頻2.30 GHz,8.00 GB內存。調用筆記本自帶的攝像頭,攝像頭拍攝設置為MJPG_960×540,30幀每秒。
選取一幅含有多個圓形的圖片作為測試素材,對代碼的圓形檢測可行性進行測試,并采用霍夫梯度法檢測同一圖片,對比檢測效果。
檢測結果見圖2,圖2(a)是基于邊緣特征的圓形檢測,圖2(b)是設定像素半徑為10~30的霍夫圓檢測效果,圖2(c)是像素半徑為10~100的霍夫圓檢測。

(a) 基于邊緣特征的圓形檢測
然后對比圓形檢測代碼的運行速度,將之前的測試圖片用其他電子設備展示于筆記本攝像頭前,在不運行在圖像中繪制圓形和圖像展示的代碼的前提下,將三種圓形檢測方法各自運行50次,記錄代碼運行時間如圖3所示。對比可知:(1) 霍夫梯度法在寬半徑范圍時檢測效果較好,但運行速度較慢,在窄半徑范圍時運行較快,但檢測效果差。在本平臺硬件配置中,霍夫梯度法不能兼顧檢測效果與檢測速度。(2) 基于邊緣特征的圓形檢測法運行速度最快,同平臺單次運行時間比寬半徑范圍霍夫梯度法少0.4 s左右,略短于窄半徑范圍霍夫梯度法,且其不受圓形半徑范圍影響,檢測效果最好。

圖3 圓形檢測時間對比
在同樣的鎖孔圖片和非鎖孔圖片作為訓練素材的前提下(圖1),分別使用HOG-SVM和CNN網絡劃分訓練集和測試集進行訓練,挑選訓練效果較好的分類器進行同平臺對比測試。為了避免劃分訓練集時隨機抽樣帶來的影響,在進行檢測效果評價時將全部圖片作為測試對象。測試結果如表1所示。

表1 鎖孔鑒別效果對比
進一步對分類器運行速度進行對比,統一選取基于邊緣特征的圓形檢測法進行圓形檢測,其他控制條件與圓形檢測速度對照實驗時一致,識別到圓形后,分別使用HOG-SVM與CNN分類器進行50次圓形分類測試并記錄運行時間(HOG-SVM分類前所需的圖像縮放、灰度化、HOG特征提取時間和CNN分類器的圖像縮放時間均包括在內),如圖4所示。

圖4 鎖孔鑒別運行時間對比
根據表 1可知,兩種分類器的預測準確率均高于85%,HOG-SVM在正負兩部分的識別的準確率相對于CNN高于13.79%。根據圖 4可見加入CNN分類器的算法的響應速度非常慢,最高的延遲可以達到2~3 s,加入HOG-SVM分類器的算法單次檢測耗時大約在0.4 s左右。由此可見:
(1) HOG-SVM的整體運算量較小,適用于解決本實驗中低配置、小樣本條件下的快速鎖孔正負樣本二分類問題。
(2) CNN的運算量大,在高運算硬件平臺、大樣本的條件下可能會訓練出更高精度的分類器。
綜上,本文提出的鎖孔識別算法具有對可見光圖片進行實時鎖孔檢測的能力。且經過同平臺測試,本文算法的檢測效果、響應速度均優于其他同類算法。
本文針對電力巡檢機器人開關電力屏柜門的研究背景,提出一種基于鎖孔圓形邊緣特征的鎖孔快速識別算法。通過對圖像邊緣矩陣構建特征評判參數實現對于圓形區域的快速檢測,通過HOG-SVM訓練分類器實現對于圓形區域的鎖孔正負樣本分類。通過多種篩選條件的構建在保證識別準確率的前提下降低了代碼的運算量和對硬件的運算能力要求,使代碼具備在低配置硬件平臺上進行實時鎖孔檢測的能力。
本文提出的鎖孔快速算法為賦予電力巡檢機器人現場開鎖能力打下基礎;同時,文中的鎖孔識別算法也可以為室內鎖孔或其他典型圓形特征的機器視覺識別研究提供參考和借鑒。