葉俊杰 高丙團(tuán)* 陳 昊 徐偉倫
1(東南大學(xué)電氣工程學(xué)院 江蘇 南京 210096) 2(國網(wǎng)江蘇省電力公司檢修分公司 江蘇 南京 211102)
隨著現(xiàn)代控制技術(shù)的不斷發(fā)展,機(jī)器人開始逐步替代重復(fù)、繁雜、危險(xiǎn)性高的人工工作,但是在工廠巡檢、室內(nèi)搶修、家居服務(wù)等場景中,機(jī)器人往往需要獨(dú)立實(shí)現(xiàn)開鎖和開門操作[1]。以變電站的巡檢機(jī)器人為例,目前變電站巡檢機(jī)器人已經(jīng)廣泛應(yīng)用[2],但其只能對儀器進(jìn)行基本的外部監(jiān)測工作,不具備對變電站現(xiàn)場設(shè)備的操作功能,難以監(jiān)測變電站現(xiàn)場如端子箱、匯控柜、機(jī)構(gòu)箱、消防應(yīng)急箱等電力箱柜內(nèi)部的設(shè)備狀態(tài),對于電力器件的監(jiān)測能力不足、事故處理能力欠缺,具體的維修檢測等工作仍舊需要人工進(jìn)行,人員工作量并未減少,且在變電站處于危險(xiǎn)情況時(shí),人員搶險(xiǎn)可能負(fù)傷。本文針對機(jī)器人在進(jìn)行現(xiàn)場開鎖時(shí)環(huán)境復(fù)雜、鎖孔多樣、需要快速完成開鎖操作的問題提出一種基于多種機(jī)器視覺技術(shù)的可見光圖像鎖孔檢測算法,可以使機(jī)器人快速完成開鎖前必需的鎖孔檢測任務(wù),為賦予機(jī)器人開鎖能力做出貢獻(xiàn)。
目前鮮見針對不確定情況下的鎖孔識別問題的研究。已知有文獻(xiàn)采用HOG(Histogram of Oriented Gradients,方向梯度直方圖)-SVM(Support Vector Machines,支持向量機(jī))實(shí)現(xiàn)鎖孔與門把手的融合特征識別[3],但該研究的對象主要針對辦公場所常見門把手和鎖孔的識別融合。參考已有機(jī)器視覺算法思路,針對可見光圖像中鎖孔的檢測可以分解為圖像圓形檢測與圓形區(qū)域鎖孔正負(fù)樣本分類兩個(gè)子問題,或直接使用目標(biāo)檢測算法。圓形檢測主要有霍夫圓檢測及其改良算法[4],圖像分類器主要有HOG-SVM[5-7]分類器與卷積神經(jīng)網(wǎng)絡(luò)[8](Convolutional Neural Networks,CNN)分類器,圖像目標(biāo)檢測算法主要有區(qū)域-卷積神經(jīng)網(wǎng)絡(luò)(Region-Convolutional Neural Networks,R-CNN)及其衍生算法[9-11]和YOLO[12]等。
本文結(jié)合機(jī)器人開鎖開門的操作實(shí)際應(yīng)用需求和計(jì)算機(jī)圖像識別算法的研究進(jìn)展,提出一種基于邊緣特征圓形檢測的鎖孔快速檢測算法,采用基于邊緣特征的圓形檢測法檢測圖像圓形的可能位置,再搜集鎖孔及對照素材訓(xùn)練HOG-SVM分類器實(shí)現(xiàn)圓形區(qū)域是否是鎖孔的分類。通過實(shí)驗(yàn)驗(yàn)證了提出算法的可行性,并通過對比實(shí)驗(yàn)表明HOG-SVM分類器較CNN分類器對于鎖孔快速識別具有更高的效率和精度。
當(dāng)電力巡檢機(jī)器人進(jìn)行開鎖操作時(shí),首先按照路線運(yùn)動至電力屏柜前,接著調(diào)整姿態(tài)正對電力屏柜,再進(jìn)行鎖孔定位操作,最終控制機(jī)械臂進(jìn)行開鎖。且根據(jù)常見鎖孔均為圓形,給出如下兩條假設(shè):
假設(shè)1鎖孔外圍的形狀必為圓形,且鎖孔表面無遮擋。
假設(shè)2在進(jìn)行鎖孔檢測時(shí),電力巡檢機(jī)器人已經(jīng)調(diào)整正對電力屏柜。
根據(jù)上述假設(shè),可將圖像中鎖孔識別定位任務(wù)分解為如下步驟:
步驟1對攝像機(jī)獲取的可見光圖像進(jìn)行預(yù)處理,過濾無關(guān)信息,壓縮運(yùn)算量。
步驟2根據(jù)上述假設(shè),鎖孔在圖像中呈現(xiàn)圓形,對圖像進(jìn)行圓形檢測,即可定位到圖像中鎖孔可能的存在位置。
步驟3構(gòu)建分類器,對圓形區(qū)域圖像是否為鎖孔進(jìn)行分類,從而確定鎖孔的準(zhǔn)確位置。
根據(jù)鎖孔檢測任務(wù)的分析,通過實(shí)時(shí)采集可見光圖像,從圖像中檢測出鎖孔的具體像素位置,主要包括圖像預(yù)處理、圓形檢測與鎖孔鑒別三個(gè)方面,下面分別給出相應(yīng)內(nèi)容的具體實(shí)現(xiàn)方法。
攝像頭獲取的實(shí)時(shí)圖像為三通道彩色圖,數(shù)據(jù)量大,為了提取圖像的有用信息,降低運(yùn)算量,通過灰度化和局部閾值二值化進(jìn)行預(yù)處理。
將攝像機(jī)獲取的RGB三通道彩色圖片采用加權(quán)平均法將原圖三通道分量數(shù)值與不同權(quán)重相乘后得到其灰度圖,像素點(diǎn)灰度值計(jì)算公式如下:
Gray=0.299R+0.587G+0.144B
(1)
式中:R、G、B分別為可見光圖像紅、綠、藍(lán)三分量值,Gray則是灰度化后圖像的灰度值。
經(jīng)過灰度化后像素點(diǎn)取值范圍是0~255。為了進(jìn)一步降低運(yùn)算量,對灰度化圖片進(jìn)行二值化處理,將灰度圖轉(zhuǎn)換為黑白圖。最簡單的方法就是全局閾值二值化,首先根據(jù)OTSU[13](最大類間方差法)計(jì)算出最合適的分割閾值,然后進(jìn)行如下計(jì)算完成二值化處理:
(2)
式中:q表示選取的灰度閾值;gij表示圖像上某一像素點(diǎn)的灰度值;bij為對應(yīng)像素點(diǎn)二值化后像素值。
全局閾值二值化對于存在部分偏亮或偏暗區(qū)域的圖像(例如受光不均的圖像)無法選取合適的分割閾值。本文采用Niblack法[14],根據(jù)像素周圍r×r區(qū)域的像素灰度均值與方差計(jì)算分割閾值q,然后根據(jù)式(2)進(jìn)行二值化,閾值q的計(jì)算公式如下:
q=m+t×s
(3)
式中:q為圖像中某一像素點(diǎn)的局部閾值;m為區(qū)域內(nèi)灰度均值;s為區(qū)域內(nèi)灰度方差;t為調(diào)整量。
圖像預(yù)處理后,可結(jié)合鎖孔均為圓形的假設(shè)1,對二值化圖像進(jìn)行連通域邊界標(biāo)定,再基于邊緣特征構(gòu)建條件篩選出圓形連通域。
根據(jù)假設(shè)2并結(jié)合電力屏柜的金屬材質(zhì)特性,在鎖孔區(qū)域經(jīng)過二值化處理均為白色,首先采用Two-Pass[15]法標(biāo)記圖像中的白色連通域,然后遍歷已標(biāo)記過的所有白色連通域內(nèi)像素點(diǎn)。當(dāng)像素點(diǎn)周圍四個(gè)點(diǎn)中有黑色像素點(diǎn),則此白色點(diǎn)即為其所在連通域的邊界點(diǎn),據(jù)此得到標(biāo)定連通域的邊界坐標(biāo)集合,降低數(shù)據(jù)存儲量,且便于后續(xù)邊緣特征提取。
完成白色連通域邊界標(biāo)定后,根據(jù)圓形邊界點(diǎn)到圓心距離相等特征構(gòu)建判定條件以篩選出圓形連通域。
首先讀取連通域的邊界坐標(biāo)集合根據(jù)下式計(jì)算連通域中心坐標(biāo):
(4)
式中:B為標(biāo)定連通域的n個(gè)邊界坐標(biāo)集合;(xc,yc)為計(jì)連通域中心坐標(biāo)。
當(dāng)連通域?yàn)閳A形,(xc,yc)可視為圓心坐標(biāo),據(jù)此計(jì)算邊界點(diǎn)指向圓心的向量:
R(i)=B(i)-(xc,yc)
(5)
式中:R為邊界點(diǎn)指向圓心的向量的集合。
為了排除連通域自身跨度對于后續(xù)計(jì)算的影響,對向量集合進(jìn)行歸一化操作,計(jì)算如下:
(6)
式中:Rx表示邊界向心向量x分量集合;Ry表示邊界向心向量y分量集合;Bx表示邊界坐標(biāo)x分量集合;By表示邊界坐標(biāo)y分量集合;R′x與R′y表示歸一化后邊界向心向量x、y方向上的分量集合。
而后計(jì)算歸一化后的每個(gè)邊界點(diǎn)到中心點(diǎn)距離:
r(i)=‖(Rx1(i),Ry1(i))‖i=1,2,…,n
(7)
根據(jù)式(7)可得歸一化邊界向心向量模長集合r,結(jié)合圓形特征,選取集合標(biāo)準(zhǔn)差f作為連通域邊界粗糙度的評判標(biāo)準(zhǔn),即:
f=std(r)<0.15
(8)
標(biāo)準(zhǔn)差f越小,說明邊界點(diǎn)到中心距離波動越小,連通域形狀越接近圓形,考慮到噪聲和分辨率影響及后續(xù)代碼相應(yīng)情況,經(jīng)過多次測試后選取判定閾值為0.15,即f<0.15時(shí)認(rèn)為此連通域是圓形。
為了進(jìn)一步降低運(yùn)算量,本文提出如下兩條快速篩選條件以降低上述圓形判定法的調(diào)用次數(shù)從而提高代碼運(yùn)行速度。
快速篩選條件1:連通域面積篩選。在進(jìn)行連通域標(biāo)定時(shí),可以在Two-Pass法的第二次遍歷時(shí)記錄下每個(gè)連通域的像素面積,像素面積過小的連通域識別無意義,采用下式進(jìn)行篩選:
(9)
式中:S(i)表示第i個(gè)連通域的像素面積;Sgraph表示圖像總像素面積。
快速篩選條件2:連通域xy方向跨度差篩選。根據(jù)圓形任意方向上直徑相等,連通域邊界在xy方向跨度差過大時(shí)不符合圓形特征,可采用下式進(jìn)行篩選:
(10)
式中:xmax和xmin表示邊界坐標(biāo)集合x方向上的最大值和最小值;ymax和ymin表示邊界坐標(biāo)集合y方向上的最大值和最小值。
(1) HOG-SVM算法。經(jīng)過圓形檢測定位出鎖孔的可能存在區(qū)域,但鎖孔自身幾何形狀并沒有明顯的線性特征,難以依據(jù)直線檢測等傳統(tǒng)模式識別方法直接構(gòu)建有效的分類條件,可通過訓(xùn)練鎖孔正負(fù)樣本分類器對其進(jìn)行分類??紤]到鎖孔外圓中鎖孔形狀、顏色和位置均具備一定的特殊性,本文提取其HOG特征向量[3]作為分類依據(jù),單個(gè)HOG特征向量的生成由圖像的紋理方向和紋理顏色共同決定,可以有效反映鎖孔的形狀和顏色特征,多個(gè)cell內(nèi)HOG特征的排列順序可以有效體現(xiàn)鎖孔的位置特征。確定分類依據(jù)后,選取SVM算法[5]進(jìn)行HOG特征的分類,原因如下:
1) SVM計(jì)算復(fù)雜度取決于支持向量的數(shù)量,可以有效避免為保證精度導(dǎo)致HOG向量長度過長帶來的計(jì)算量過大的問題。
2) SVM采用支持向量分類而非傳統(tǒng)統(tǒng)計(jì)思路,適合處理本文樣本素材有限的小樣本分類問題。
3) SVM尋找最大劃分超平面思路可以有效解決本文中涉及的鎖孔正負(fù)樣本二分類問題。
(2) 鎖孔分類。準(zhǔn)備鎖孔正負(fù)樣本素材樣例如圖1所示。正樣本為網(wǎng)上尋找截取,并進(jìn)行適當(dāng)?shù)男螒B(tài)變換的鎖孔圖,共208張。負(fù)樣本由網(wǎng)絡(luò)隨機(jī)圖、幾何形狀圖與圓形檢測中檢測到的非鎖孔圖,共256幅。針對訓(xùn)練樣本集,設(shè)置HOG特征提取參數(shù)為:cell為8×8,block為2×2,相鄰block重疊cell數(shù)為1×1,bins數(shù)目為9,角度范圍為0°~180°;將所有訓(xùn)練素材圖像均縮放為256×256大小并灰度化便于適配cell大小,據(jù)此提取HOG特征向量長度為34 596,再對其進(jìn)行標(biāo)簽,鎖孔圖對應(yīng)的HOG向量標(biāo)簽為1,非鎖孔圖的HOG向量標(biāo)簽為-1。
(a) 鎖孔圖
(b) 非鎖孔圖圖1 訓(xùn)練素材樣例
至此得到464×34 596的訓(xùn)練素材矩陣(前208行為鎖孔圖像HOG向量,后256行為非鎖孔圖像HOG向量)和464×1的標(biāo)簽矩陣(前208行為1,后256行為-1),而后生成一個(gè)1到464的隨機(jī)數(shù)字順序數(shù)組,選取前300個(gè)隨機(jī)數(shù)對應(yīng)的HOG向量為訓(xùn)練集,剩余為測試集,采用SVM進(jìn)行分類訓(xùn)練。
在Windows 10系統(tǒng)MATLAB R2017b平臺上測試本文算法,使用DELL公司Inspiron 3 559筆記本計(jì)算機(jī),其配置為Intel i5-6200U CPU,主頻2.30 GHz,8.00 GB內(nèi)存。調(diào)用筆記本自帶的攝像頭,攝像頭拍攝設(shè)置為MJPG_960×540,30幀每秒。
選取一幅含有多個(gè)圓形的圖片作為測試素材,對代碼的圓形檢測可行性進(jìn)行測試,并采用霍夫梯度法檢測同一圖片,對比檢測效果。
檢測結(jié)果見圖2,圖2(a)是基于邊緣特征的圓形檢測,圖2(b)是設(shè)定像素半徑為10~30的霍夫圓檢測效果,圖2(c)是像素半徑為10~100的霍夫圓檢測。
(a) 基于邊緣特征的圓形檢測
然后對比圓形檢測代碼的運(yùn)行速度,將之前的測試圖片用其他電子設(shè)備展示于筆記本攝像頭前,在不運(yùn)行在圖像中繪制圓形和圖像展示的代碼的前提下,將三種圓形檢測方法各自運(yùn)行50次,記錄代碼運(yùn)行時(shí)間如圖3所示。對比可知:(1) 霍夫梯度法在寬半徑范圍時(shí)檢測效果較好,但運(yùn)行速度較慢,在窄半徑范圍時(shí)運(yùn)行較快,但檢測效果差。在本平臺硬件配置中,霍夫梯度法不能兼顧檢測效果與檢測速度。(2) 基于邊緣特征的圓形檢測法運(yùn)行速度最快,同平臺單次運(yùn)行時(shí)間比寬半徑范圍霍夫梯度法少0.4 s左右,略短于窄半徑范圍霍夫梯度法,且其不受圓形半徑范圍影響,檢測效果最好。
圖3 圓形檢測時(shí)間對比
在同樣的鎖孔圖片和非鎖孔圖片作為訓(xùn)練素材的前提下(圖1),分別使用HOG-SVM和CNN網(wǎng)絡(luò)劃分訓(xùn)練集和測試集進(jìn)行訓(xùn)練,挑選訓(xùn)練效果較好的分類器進(jìn)行同平臺對比測試。為了避免劃分訓(xùn)練集時(shí)隨機(jī)抽樣帶來的影響,在進(jìn)行檢測效果評價(jià)時(shí)將全部圖片作為測試對象。測試結(jié)果如表1所示。
表1 鎖孔鑒別效果對比
進(jìn)一步對分類器運(yùn)行速度進(jìn)行對比,統(tǒng)一選取基于邊緣特征的圓形檢測法進(jìn)行圓形檢測,其他控制條件與圓形檢測速度對照實(shí)驗(yàn)時(shí)一致,識別到圓形后,分別使用HOG-SVM與CNN分類器進(jìn)行50次圓形分類測試并記錄運(yùn)行時(shí)間(HOG-SVM分類前所需的圖像縮放、灰度化、HOG特征提取時(shí)間和CNN分類器的圖像縮放時(shí)間均包括在內(nèi)),如圖4所示。
圖4 鎖孔鑒別運(yùn)行時(shí)間對比
根據(jù)表 1可知,兩種分類器的預(yù)測準(zhǔn)確率均高于85%,HOG-SVM在正負(fù)兩部分的識別的準(zhǔn)確率相對于CNN高于13.79%。根據(jù)圖 4可見加入CNN分類器的算法的響應(yīng)速度非常慢,最高的延遲可以達(dá)到2~3 s,加入HOG-SVM分類器的算法單次檢測耗時(shí)大約在0.4 s左右。由此可見:
(1) HOG-SVM的整體運(yùn)算量較小,適用于解決本實(shí)驗(yàn)中低配置、小樣本條件下的快速鎖孔正負(fù)樣本二分類問題。
(2) CNN的運(yùn)算量大,在高運(yùn)算硬件平臺、大樣本的條件下可能會訓(xùn)練出更高精度的分類器。
綜上,本文提出的鎖孔識別算法具有對可見光圖片進(jìn)行實(shí)時(shí)鎖孔檢測的能力。且經(jīng)過同平臺測試,本文算法的檢測效果、響應(yīng)速度均優(yōu)于其他同類算法。
本文針對電力巡檢機(jī)器人開關(guān)電力屏柜門的研究背景,提出一種基于鎖孔圓形邊緣特征的鎖孔快速識別算法。通過對圖像邊緣矩陣構(gòu)建特征評判參數(shù)實(shí)現(xiàn)對于圓形區(qū)域的快速檢測,通過HOG-SVM訓(xùn)練分類器實(shí)現(xiàn)對于圓形區(qū)域的鎖孔正負(fù)樣本分類。通過多種篩選條件的構(gòu)建在保證識別準(zhǔn)確率的前提下降低了代碼的運(yùn)算量和對硬件的運(yùn)算能力要求,使代碼具備在低配置硬件平臺上進(jìn)行實(shí)時(shí)鎖孔檢測的能力。
本文提出的鎖孔快速算法為賦予電力巡檢機(jī)器人現(xiàn)場開鎖能力打下基礎(chǔ);同時(shí),文中的鎖孔識別算法也可以為室內(nèi)鎖孔或其他典型圓形特征的機(jī)器視覺識別研究提供參考和借鑒。