何景暉,敖銀輝,趙偉良
(廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣州510006)
光纜交接箱是用于光纜接入網(wǎng)中主干光纜與配線光纜交接處的端口設(shè)備,簡(jiǎn)稱光交箱,通常安裝在戶外。目前主要的前端維護(hù)方式是技術(shù)人員定期外出巡檢,排查故障端口以及用表格記錄每個(gè)端口的狀態(tài)。由于光交箱大體安裝在街道,內(nèi)部布線雜亂,端口數(shù)量大,給維護(hù)工作帶來很大困難。使用移動(dòng)設(shè)備對(duì)光纜交接箱拍照,然后利用數(shù)字圖像識(shí)別技術(shù)分析箱體上的端口狀態(tài),可以大大減化任務(wù)、降低成本、提高準(zhǔn)確性。在圖像中定位并識(shí)別端口屬于計(jì)算機(jī)視覺中的目標(biāo)檢測(cè)任務(wù)。傳統(tǒng)目標(biāo)檢測(cè)方法[1-3]首先在給定的圖像上生成一批候選區(qū)域,然后對(duì)這些區(qū)域手工定義提取特征,最后采用模板匹配或者用分類器對(duì)特征向量進(jìn)行分類。該類方法存在區(qū)域選擇策略沒有針對(duì)性、手工設(shè)計(jì)的特征對(duì)于多樣性的變化沒有很好的魯棒性等問題。現(xiàn)代目標(biāo)檢測(cè)方法主要利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)自動(dòng)提取特征能力,將目標(biāo)定位與分類作為回歸任務(wù),依賴于高性能的計(jì)算硬件來完成。其中具有代表性的二階網(wǎng)絡(luò)[4-6]與一階網(wǎng)絡(luò)[7-9],在具有GPU 配置的電腦端下,對(duì)常規(guī)尺寸的目標(biāo)可以保持較高的檢測(cè)精度和較快的檢測(cè)速度,但在無GPU 條件下,對(duì)較小尺寸的目標(biāo),往往并不能快速檢測(cè)出所有目標(biāo)。工作場(chǎng)景下拍攝的光交箱圖像以及局部放大圖如圖1 所示。光交箱的端口分布密度大,屬于小目標(biāo),僅用傳統(tǒng)或者深度學(xué)習(xí)目標(biāo)檢測(cè)方法難以滿足端口檢測(cè)實(shí)際工程應(yīng)用要求。鑒于此,結(jié)合傳統(tǒng)與現(xiàn)代檢測(cè)方法,設(shè)計(jì)一種保證速度與精度的端口檢測(cè)方案,流程如圖2 所示。新方案首先拍照獲取圖像,根據(jù)透視變換原理將所采集的光纜交接箱的箱體圖像矯正為正視圖,然后對(duì)矯正后的圖像進(jìn)行分析,利用端口特征與矩形陣列分布的特性有效定位端口,最后提取每個(gè)端口的梯度直方圖與顏色作為樣本特征去訓(xùn)練支持向量機(jī)。為進(jìn)一步提高精度,最后搭建基于卷積神經(jīng)網(wǎng)絡(luò)的分類器對(duì)支持向量機(jī)未能識(shí)別的端口作二次判斷。
圖1 光交箱實(shí)物圖
圖2 檢測(cè)流程圖
光交箱圖像常因在不同視角與視場(chǎng)下拍攝導(dǎo)致圖像的透視畸變或傾斜而干擾端口的提取,需要在分割端口前合理地矯正圖像。在圖像處理中利用透視變換可以將像中呈現(xiàn)為斜線的目標(biāo)轉(zhuǎn)換成直線, 原理是通過兩個(gè)視平面的變換關(guān)系實(shí)現(xiàn)互相轉(zhuǎn)換。設(shè) u、vv為平面 α 上的像素點(diǎn),x、y 為平面 β 上的像素點(diǎn),這兩個(gè)平面之間的像素變換公式為[10-11]:
其中a, b, c, d, e, f, m, l 是待求的透視變換系數(shù),至少由八個(gè)對(duì)應(yīng)的已知量求解。
由于光纜交接箱內(nèi)部的箱體物理形狀為矩形,所以在正視圖中箱體的四條邊依舊互相垂直。利用與正視圖下箱體各邊之間的垂直關(guān)系,在未矯正的圖像中選取箱體的四個(gè)頂點(diǎn)坐標(biāo)A、B、C、D, 然后設(shè)由這四個(gè)原頂點(diǎn)圍成四邊形的最小外接矩形在正視圖下箱體四頂點(diǎn)坐標(biāo)為 A、B、C、D。將 A、B、C、D、A、B、C、D 八個(gè)坐標(biāo)點(diǎn)代入式(1)可解得透視變換矩陣,最后該矩陣可將傾斜或畸變的光纜交接箱圖片轉(zhuǎn)換成正視圖,處理效果如圖3 所示。
圖3 光纜交接箱圖像裁剪與矯正
經(jīng)過矯正后的圖像,端口呈矩形陣列分布,有利于后續(xù)的分割與識(shí)別。端口包括紅帽端口、白帽端口、插線端口、損壞端口四種,如圖4 所示。除了非端口(背景)和損壞端口外,箱體其他端口的共同形狀特征為圓形。
圖4 端口樣本實(shí)物圖
利用霍夫梯度法[12]可檢測(cè)到大多數(shù)的圓形端口。為了避免引入檢測(cè)出假圓(非端口),在檢測(cè)圓形端口時(shí)霍夫梯度檢測(cè)法的閾值不得設(shè)置過低,但這也導(dǎo)致了未能檢測(cè)出所有的圓形端口。針對(duì)此問題,基于端口陣列分布的條件(橫向12 個(gè)),在此以圖像右上角建立直角坐標(biāo)系,設(shè)(xij,yij)為第i 行j 列每個(gè)霍夫檢測(cè)后圓的圓心,每一行圓的數(shù)量為pi,每一列圓的數(shù)量為qj。經(jīng)過每行圓心的直線y=Lirow與每列圓心的直線x=Ljcol可由下式計(jì)算:
線Lirow與Ljcol實(shí)質(zhì)上是將檢測(cè)到的圓形端口中心按橫向與縱向兩個(gè)方向連線,兩條線所經(jīng)過的交點(diǎn)可視為所有端口的中心,檢測(cè)結(jié)果如圖5 所示。
圖5 端口區(qū)域檢測(cè)
右圖中霍夫檢測(cè)未查找到的圓以淺色圈出。由于光交箱尺寸的標(biāo)準(zhǔn)化,使端口橫縱向之間的距離與半徑成固定比例θ,通過判斷之間的距離與端口平均半徑的比例是否大于θ 而進(jìn)行補(bǔ)全,可避免出現(xiàn)某行或者某列因未檢測(cè)到圓形端口而無法形成圓心連接線L 所出現(xiàn)的漏檢。當(dāng)求得每一個(gè)端口位置后,以圓形端口的最小外接矩形將每個(gè)端口圖像單獨(dú)提取以供識(shí)別之用。
支持向量機(jī)(SVM)的基本模型是定義在特征空間上間隔最大的線性分類器;卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),兩者都可用于圖像分類任務(wù)。相較于CNN,SVM 算法較為簡(jiǎn)單、處理速度更快,但需要自定義特征;CNN 在識(shí)別效果上具有更高的精確度,但訓(xùn)練參數(shù)多,處理耗時(shí)較大。綜合兩者的優(yōu)缺點(diǎn),在此設(shè)計(jì)一種基于SVM 與CNN 的圖像組合分類器。
依據(jù)每種端口的紋理及顏色不同,使用每個(gè)端口的方向梯度直方圖(HOG)特征與顏色特征融合作為最終特征向量來訓(xùn)練SVM 分類器。首先將單個(gè)端口圖像分成100 個(gè)圖像塊,通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來構(gòu)成100 維特征;然后提取顏色特征時(shí)將提取HOG 特征時(shí)的每四個(gè)圖像塊進(jìn)行結(jié)合,計(jì)算其中的RGB 三通道的像素平均值作為25 維的顏色特征,串行融合共125 維特征向量。最后結(jié)合SVM 多分類,對(duì)四種類型的端口圖像進(jìn)行采樣構(gòu)造出四個(gè)支持向量機(jī)模型,分別對(duì)這些支持向量機(jī)進(jìn)行訓(xùn)練。預(yù)測(cè)端口時(shí),將待識(shí)別端口中的一類看作正類,其余狀態(tài)的端口全部視為負(fù)類,依次類推改變正類的類型。當(dāng)這四個(gè)支持向量機(jī)模型中的一個(gè)輸出為true,另外三個(gè)輸出為false 時(shí),被測(cè)端口才能被標(biāo)記為“可識(shí)別”,否則被標(biāo)記為“不可識(shí)別”。為防止此類狀況,在此基于CNN 搭建一種網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步去分類SVM 無法識(shí)別的端口,以判斷出該端口是背景還是真端口。
考慮到每個(gè)端口圖像的分辨率較小,且其特征信息可大致分為紋理、形狀、顏色,此處設(shè)計(jì)8 層帶殘差模塊的CNN 小型網(wǎng)絡(luò)來二次識(shí)別未能判斷的端口。網(wǎng)絡(luò)的具體參數(shù)見表1。
表1 網(wǎng)絡(luò)參數(shù)
網(wǎng)絡(luò)輸入的端口圖像統(tǒng)一采樣為32×32 大小的 RGB 三通道圖片,輸出為 1×1×5 的分類特征,分別代表四類端口與背景。該網(wǎng)絡(luò)中4 個(gè)卷積層用作特征自動(dòng)提??;2 個(gè)池化層對(duì)卷積后的特征圖進(jìn)行下采樣,對(duì)特征進(jìn)行壓縮與去除冗余信息;2 個(gè)全連接層與1 層Softmax 層用作分類;第二層卷積池化后的特征圖與第四層組成殘差模塊防止訓(xùn)練時(shí)梯度彌散而造成網(wǎng)絡(luò)退化。除此之外,為了加速網(wǎng)絡(luò)收斂和防止過度擬合,在每個(gè)卷積層之后增加了一個(gè)批處理規(guī)范化操作[13]。對(duì)散亂特征數(shù)據(jù)進(jìn)行歸一化處理,均值為0,方差為1。
經(jīng)測(cè)試,訓(xùn)練好的SVM 與CNN 模型均可通過OpenCV 圖像算法庫的函數(shù)接口調(diào)用。當(dāng)OpenCV版本大于3.4.4 即可在PC 端與移動(dòng)端中穩(wěn)定執(zhí)行。在移動(dòng)端,使用華為榮耀V20 的后置攝像頭及CPU為標(biāo)準(zhǔn)對(duì)光纜交接箱進(jìn)行拍照與識(shí)別,在經(jīng)過調(diào)用并移植到移動(dòng)端之后,在該識(shí)別系統(tǒng)中能夠?qū)崿F(xiàn)與PC 端中同樣的檢測(cè)效果,如圖6 所示。
圖6 光交箱手機(jī)端檢測(cè)效果
可見,經(jīng)矯正后圖像中的端口與現(xiàn)實(shí)中一樣呈矩形分布。經(jīng)過端口定位后,即使存在著遮擋也能將每個(gè)端口區(qū)域準(zhǔn)確地提取出來用作訓(xùn)練分類器的樣本。檢測(cè)系統(tǒng)成功移植至手機(jī)客戶端后可成功執(zhí)行,僅需巡檢人員拍照與選取箱體四個(gè)角點(diǎn)即可完成檢測(cè)任務(wù)。
在檢測(cè)系統(tǒng)中端口分類占用著相對(duì)較多的時(shí)間,為了定量評(píng)估端口檢測(cè)效果及不同算法的性能,以實(shí)驗(yàn)訓(xùn)練時(shí)長(zhǎng)、單個(gè)端口處理速度以及分類精度作為性能評(píng)價(jià)指標(biāo)。其中分類精度的公式為:
式中,F(xiàn)P為假正例,F(xiàn)N為假負(fù)例,TP為真正例,TN為真負(fù)例。
端口分類的數(shù)據(jù)集統(tǒng)一為由光交箱工作實(shí)景下采集、經(jīng)過區(qū)域分割后的單個(gè)端口圖像,共有37690個(gè)訓(xùn)練樣本與9640 個(gè)測(cè)試樣本。在經(jīng)過20000 次的訓(xùn)練迭代后結(jié)果對(duì)比如表2 所示。由結(jié)果可見Haartraining、Traincascade 訓(xùn)練時(shí)間差別不大,但準(zhǔn)確率較低;目前常用的圖像分類網(wǎng)絡(luò)Vgg16、ResNet-18 與只用SVM 雖然能有較高的識(shí)別精度,但是參數(shù)量大,訓(xùn)練時(shí)間與處理時(shí)間過長(zhǎng);新提方案的梯度直方與顏色特征HC-SVM 能夠在較短時(shí)間內(nèi)大致識(shí)別所有端口,但仍有個(gè)別端口未能成功識(shí)別;搭建的CNN 雖然有更好的準(zhǔn)確性,但由于光纜交接箱的尺寸不同,內(nèi)部的端口數(shù)量也不同,在端口數(shù)量較多的情況下僅用CNN 方法在速度上很難保證實(shí)時(shí)識(shí)別。因此,先使用HC-SVM 對(duì)端口進(jìn)行分類,然后將未能識(shí)別的端口送進(jìn)CNN 中進(jìn)一步識(shí)別,可縮短大型光纜交接箱(100 個(gè)端口以上)的處理速度,兼有識(shí)別響應(yīng)快與精度高的特點(diǎn)。
表2 分類器性能對(duì)比
結(jié)合透視變換方法矯正光交箱圖像的透視畸變與傾斜,并基于霍夫變換與端口的矩形陣列特征設(shè)計(jì)一種自適應(yīng)分割方法,解決了因目標(biāo)小,分布密度大而造成目標(biāo)區(qū)域提取精度低的問題。定義端口的梯度直方圖與顏色特征,設(shè)計(jì)基于SVM 的分類器進(jìn)行初步識(shí)別;設(shè)計(jì)小型的卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)端口進(jìn)行二次識(shí)別。經(jīng)實(shí)驗(yàn)驗(yàn)證,該檢測(cè)系統(tǒng)可完美移植至移動(dòng)手機(jī)中完成端口定位與識(shí)別任務(wù),同時(shí)具有識(shí)別響應(yīng)快與精度高的特點(diǎn),能夠滿足端口檢測(cè)實(shí)際工程應(yīng)用需求。