林本豐,王 呈,孫悅程
1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫214122
2.無錫市工業(yè)設(shè)備安裝有限公司,江蘇 無錫214122
公用設(shè)施設(shè)備種類多,分布分散,日常巡視目前大部分仍依賴人工完成。物聯(lián)網(wǎng)技術(shù)能夠?qū)崿F(xiàn)設(shè)備運行狀態(tài)遠程監(jiān)測,對于加裝傳感器或已配備數(shù)據(jù)接口的設(shè)施設(shè)備,可以通過集成網(wǎng)關(guān)和總線技術(shù)遠程采集運行數(shù)據(jù),實現(xiàn)設(shè)施設(shè)備智能化改造。隨著人員工資普漲,越來越多的維保單位引入巡檢機器人,完成類似機房、隧道等現(xiàn)場環(huán)境及設(shè)備狀態(tài)的監(jiān)測。巡檢機器人輔助視覺分析無需改造原有設(shè)備,適用一些未配備數(shù)據(jù)接口且加裝傳感器、改造成本較高的場景。本文即從巡檢機器人應(yīng)用的角度,針對變電所控制柜開關(guān)狀態(tài)檢測,展開機器視覺算法研究。
圖像視頻中的目標檢測已經(jīng)成為當前人工智能、機器視覺研究領(lǐng)域的熱點[1-3]。直線段作為輸入圖像中底層圖像特征,包含了場景中最基本的幾何信息和拓撲信息[4],可以作為檢測圖像高層特征或分析圖像內(nèi)容的基礎(chǔ)。相較特征點或邊緣曲線等傳統(tǒng)圖像特征,直線段包含更豐富的信息,如直線段角度、中心點等。文獻[5]提出基于正則化Hough變換的圖像直線檢測方法,在檢測直線信息時受直線中的間隙和圖像中的高斯噪聲影響較小,但因為采用“一對多”匹配算法導(dǎo)致占用空間大,檢測實時性不高。文獻[6]提出一種基于改進Hough變換的直線快速檢測算法,該算法利用相鄰像素點的聚類和Hough變換原理來檢測直線,加快了檢測速率,但需要調(diào)整累加平面閾值、線段最大間隔值、搜索步進精度值等參數(shù)才能保證檢測準確率。文獻[7]提出一種基于局部直線提取的直線段檢測器算法(Line Segment Detector,LSD),具有參數(shù)自適應(yīng)能力,能同時提高檢測速度,并達到亞像素級檢測精度。LSD無需調(diào)試參數(shù),能夠自行控制誤檢數(shù)量,誤檢率低,對不同圖像適應(yīng)性強。文獻[8]通過LSD算法提取出遙感圖像中的有效直線特征,實現(xiàn)對多類機場跑道的有效定位。
深度學(xué)習(xí)作為圖像識別的重要方法,在無人工干預(yù)的條件下通過自主學(xué)習(xí)優(yōu)化檢測模型實現(xiàn)目標識別[9],目前主流的深度學(xué)習(xí)算法分為兩階段目標檢測算法以及單階段目標檢測算法。基于卷積神經(jīng)網(wǎng)絡(luò)的兩階段目標檢測算法以R-CNN(Region Convolutional Neural Networks)[10-12]系列為代表,能實現(xiàn)高精度目標檢測[13],但檢測速度過慢。為解決兩階段檢測器的檢測實時性問題,具備高速檢測性能的單階段檢測器應(yīng)運而生[14]。Redmon等人在2016年CVPR(Conference on Computer Vision and Pattern Recognition)上提出基于卷積神經(jīng)網(wǎng)絡(luò)的單階段目標檢測算法YOLO(You Only Look Once)[15],具有檢測速率快、精度高的特點。最新的YOLOv3算法采用特征融合和多尺度預(yù)測,大幅提升了檢測速度和精度,但其網(wǎng)絡(luò)分類器是針對COCO(Microsoft Common Objects in Context)數(shù)據(jù)集80類檢測對象設(shè)計的,當面向少數(shù)量類別目標檢測時會浪費部分網(wǎng)絡(luò)計算資源。文獻[16]針對目標檢測的需求修改YOLO網(wǎng)絡(luò)分類器進行重新聚類,并加強網(wǎng)絡(luò)分辨率來適應(yīng)高分辨率的航拍圖像,研究成果應(yīng)用于無人機航拍圖像定位場景,但檢測存在時延。文獻[17]通過殘差網(wǎng)絡(luò)及多尺度融合方式,增強了低空無人機定位效果與實時性。
從考慮網(wǎng)絡(luò)帶寬和傳輸時延的角度出發(fā),實現(xiàn)巡檢機器人視覺檢測應(yīng)用落地具體有兩類方式。(1)在具備高帶寬、低時延數(shù)據(jù)傳輸條件下,通過巡檢機器人將現(xiàn)場圖像數(shù)據(jù)直接傳輸至云端,依靠云計算實現(xiàn)基于圖像分析的公用設(shè)施設(shè)備的遠程狀態(tài)監(jiān)控;(2)通過邊緣設(shè)備采集工業(yè)現(xiàn)場圖像數(shù)據(jù),并依靠邊緣計算能力提高設(shè)備狀態(tài)分析的實時性,分析結(jié)果與云端協(xié)同。文獻[18]提出應(yīng)用于嵌入式GPU(Graphics Processing Unit)的實時目標檢測算法,通過優(yōu)化YOLOv3框架實現(xiàn)嵌入式端的車輛目標實時檢測。文獻[19]提出基于YOLO和嵌入式系統(tǒng)的車流量檢測,也將YOLO算法成功移植嵌入式設(shè)備,但是上述方法均需建立龐大的數(shù)據(jù)集,人工標注數(shù)據(jù)集的時間成本與人力成本較大。本文借鑒上述文獻中直線特征提取方法并受深度學(xué)習(xí)應(yīng)用啟發(fā),通過LSD直線提取算法快速定位電柜開關(guān)盒生成圖像數(shù)據(jù)集,同時將數(shù)據(jù)集輸入到Y(jié)OLO深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練生成開關(guān)狀態(tài)檢測模型。此外本文嘗試將YOLOv3深度學(xué)習(xí)網(wǎng)絡(luò)部署到邊緣嵌入式設(shè)備,依靠邊緣計算提高目標檢測實時性。
變電所電柜開關(guān)盒位于控制柜設(shè)備上,具有矩形圖形特征,周圍存在按鈕、銘牌等多個對象,如圖1所示。若不先對開關(guān)盒進行定位,則在判斷開關(guān)狀態(tài)時會受到周圍銘牌等多個對象干擾,影響深度學(xué)習(xí)的目標檢測效果。
圖1 工業(yè)現(xiàn)場控制柜圖像Fig.1 Industrial field control cabinet image
因此,本文將開關(guān)狀態(tài)檢測方案設(shè)計分為LSD直線檢測算法快速定位開關(guān)盒和訓(xùn)練深度學(xué)習(xí)模型實現(xiàn)開關(guān)狀態(tài)檢測兩部分。先提取控制柜圖像中的直線邊沿特征完成快速定位開關(guān)盒,生成對應(yīng)數(shù)據(jù)集。再將數(shù)據(jù)集輸入到深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練生成檢測模型,識別開關(guān)盒工作狀態(tài),如圖2所示。
圖2 開關(guān)狀態(tài)邊緣檢測方案框圖Fig.2 Block diagram of switch state edge detection scheme
考慮公用設(shè)施設(shè)備施工安裝的特點,往往到工程安裝結(jié)束,才可以進行現(xiàn)場調(diào)試,從建立圖像集、識別訓(xùn)練到系統(tǒng)上線,往往耗時較長。而BIM(Building Information Modeling)技術(shù)近年來在機電安裝、運維中快速應(yīng)用,如圖3,為控制柜的BIM模型。本文在BIM數(shù)字化孿生研究的基礎(chǔ)上,進一步探索采用BIM圖像數(shù)據(jù)集來訓(xùn)練模型,以縮短圖像識別的落地時間,并將模型應(yīng)用于實際視覺分析場景,驗證算法的魯棒性。
圖3 對應(yīng)實際場景的控制柜BIM模型圖像Fig.3 BIM model image of control cabinet corresponding to actual scene
分析結(jié)矩形開關(guān)盒含有明顯直線段信息。為準確提取開關(guān)盒邊沿,先采用高斯濾波器對圖像進行降噪預(yù)處理,完成圖像預(yù)處理后對圖像直線段進行提取與篩選,實現(xiàn)準確框定開關(guān)盒位置,快速生成數(shù)據(jù)集。常用直線段檢測算法有霍夫直線檢測(Hough Line Detection)算法[6]和LSD直線檢測算法[7]。
霍夫直線檢測原理是將圖像中的像素點通過映射方式投影到以參數(shù)為坐標的空間,將圖像空間中的每條直線轉(zhuǎn)化為參數(shù)空間中的一個點,而圖像空間中的點也與參數(shù)空間中的直線相互對應(yīng),如圖4所示。圖像空間中直線方程y=kx+b在參數(shù)空間中可寫成ρ=xcosθ+ysinθ,其中ρ是圖像空間中原點o到直線y=kx+b的距離,θ是直線y=kx+b的垂線om與x軸正向的夾角,圖像空間中的點(x1,y1)與(x2,y2)被映射為極坐標空間中的兩條正弦曲線,而圖像空間中的直線參數(shù)信息對應(yīng)參數(shù)空間中兩條曲線的交點(ρ',θ')。
圖4 圖像空間對應(yīng)參數(shù)空間示意圖Fig.4 Schematic diagram of corresponding parameter space in image space
通過尋找參數(shù)空間中的曲線交點來確定圖像空間中的直線參數(shù),根據(jù)設(shè)定的間隙寬度和直線長度閾值篩選出直線段,并且此方法對直線段殘缺部分以及噪聲部分具有良好的過濾能力。因此在檢測開關(guān)盒直線段信息時,只需確定參數(shù)空間中曲線交集處即可得到控制柜圖像中直線段信息。
LSD算法通過局部邊緣檢測進行像素合并實現(xiàn)直線段檢測。先將輸入圖像尺度縮小至原來的80%,能有效減弱甚至消除圖像中的鋸齒效應(yīng)(staircase effect),再對圖像進行高斯降采樣,通過高斯核濾波實現(xiàn)鋸齒效應(yīng)和圖像模糊之間的平衡。為減少梯度計算過程中相關(guān)像素間的依賴,梯度計算使用2×2模板,設(shè)i(x,y)為圖像像素點(x,y)的灰度值,gx(x,y)與gy(x,y)分別為x方向與y方向梯度值,圖像的梯度由下列公式計算得到:
水平線(level-line)角度Langle由下式計算得到:
圖像梯度的幅值G(x,y)由下式計算得到:
LSD算法對控制柜圖像中不同像素點梯度幅值進行排序,梯度幅值越高表明其像素點所在區(qū)域具有較強邊緣特征。而梯度幅值越小則表明像素點所在區(qū)域趨于平坦或為噪聲區(qū)域。再通過搜索周圍區(qū)域未使用的像素點來確定是否加入線段支持區(qū)域,當水平線角度和區(qū)域角度θregion小于角度容忍度τ時將該水平線添加到線段支持區(qū)域中,保證輸出直線段不包含較暗區(qū)域與邊緣干擾線段。
本文將對以上兩種直線檢測算法進行測試,通過比較直線檢出率RD、直線重復(fù)率RR、直線斷裂率RF、誤檢率RE等檢測結(jié)果,選取合適的直線檢測算法對開關(guān)盒邊沿進行直線提取。其中直線檢出率、重復(fù)率、直線斷裂率的計算公式為:
式中,Ndetected為檢測到的直線段數(shù)量;Nall為圖像中所有直線段數(shù)量;Nrepeat為檢測到原屬于同一直線段的重疊直線段數(shù)量;Nfracture為檢測到原屬于同一直線段的分裂直線段數(shù)量;Nerror為錯誤檢測的直線段數(shù)量。
確定直線檢測算法后再對檢測到的直線段進行篩選,過濾長度過短、過長或者傾斜較大的直線段,并根據(jù)開關(guān)盒周圍顏色分布情況,對直線段周圍顏色區(qū)域進行HSV(Hue,Saturation,Value)分割,過濾錯誤顏色區(qū)域直線段,縮小開關(guān)盒邊沿判斷區(qū)域,實現(xiàn)準確定位開關(guān)盒。直線檢測算法提取開關(guān)盒邊沿的具體流程如圖5所示。
圖5 直線段檢測提取開關(guān)盒邊沿流程圖Fig.5 Flow chart of line segment detection and extraction of switch box edges
為實現(xiàn)變電所弱電柜開關(guān)運行狀態(tài)監(jiān)測,需要在深度學(xué)習(xí)框架下建立開關(guān)狀態(tài)檢測模型。在常用的深度學(xué)習(xí)方法中,R-CNN系列提出的候選區(qū)(Region Proposals)方法通過比較顏色相似性、紋理相似性、尺寸相似性和形狀兼容性,從圖片中搜索出一些可能存在對象的候選區(qū)(Selective Search),再對每個候選區(qū)進行檢測。但R-CNN系列對GPU環(huán)境要求較高,在檢測速率上也難以達到實時效果。而YOLO作為基于回歸的端對端神經(jīng)網(wǎng)絡(luò),在單個神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上通過回歸的方式對目標進行檢測。其中卷積層負責提取圖像特征信息,全連接層對檢測對象的位置與類別進行置信度預(yù)測。在實時檢測的基礎(chǔ)上能夠保證較高的檢測精度,適用于本文應(yīng)用場景。
YOLOv3作為YOLO系列最新算法,采用特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)思想,對13×13、26×26、52×52不同尺度特征圖上的特征檢測效果進行優(yōu)化,并基于殘差網(wǎng)絡(luò)提出Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),每個卷積層由二維卷積層、BN(Batch Normalization)層和Leaky ReLU(Rectified Linear Unit)激活函數(shù)組成。Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 Darknet-53 network structure diagram
網(wǎng)絡(luò)中每個bounding box都包含本身的中心坐標信息、相對于整個圖片的長寬比例信息以及置信度信息。在S×S網(wǎng)格中,每個網(wǎng)格需要預(yù)測B個bounding box與C個類別概率。最后輸出S×S×( )5×B+C的張量。YOLO的損失函數(shù)可表示為:EIOU為重疊面積誤差,Eclass為分類誤差,Ec預(yù)測坐標信息與標記位置誤差。其中坐標損失函數(shù)為:
式中,λcoord為誤差權(quán)重系數(shù),xi、yi、wi、hi分別代表回歸后的坐標信息與長寬偏移信息。為標定階段的信息。
在本文應(yīng)用中,YOLOv3算法無需檢測多類目標,只需檢測開關(guān)狀態(tài)為橫向、縱向與斜向三種情況。為減少網(wǎng)絡(luò)計算量,加快訓(xùn)練效率,可以對YOLOv3中的類Anchor機制(使用anchor boxes[20]作為先驗框?qū)δ繕诉M行檢測的機制)進行優(yōu)化。先驗框設(shè)立初衷是為提高IOU(Intersection over Union),即預(yù)測框與原標記目標位置之間交集與并集的比值,如圖7所示。IOU計算公式為:
圖7 IOU概念圖Fig.7 IOU concept map
原始Anchor機制是針對COCO數(shù)據(jù)集進行K-means聚類確定的,聚類得出面向COCO數(shù)據(jù)集中80個檢測對象的模板框個數(shù)k為9,但并不適用于本文的開關(guān)狀態(tài)檢測對象,需要對k值進行重新計算。針對包含三種分類情況的開關(guān)狀態(tài)數(shù)據(jù)集,重新進行K-means聚類,比較不同k值下的IOU,選取IOU變化幅度最低處k值作為此次訓(xùn)練的參數(shù)。
為比較霍夫直線檢測與LSD直線段檢測在開關(guān)盒邊沿檢測上的優(yōu)劣性,使用Python2.7調(diào)用OpenCV代碼在BIM環(huán)境下對控制柜圖像分別進行霍夫直線檢測與LSD直線檢測。首先通過高斯濾波器對原圖像數(shù)據(jù)進行降噪預(yù)處理,實現(xiàn)了對圖像噪聲的過濾,具體圖像濾波效果如圖8所示。
圖8 高斯濾波器降噪預(yù)處理效果Fig.8 Noise reduction preprocessing effect of Gaussian filter
針對預(yù)處理后的圖像直接進行霍夫直線檢測與LSD直線檢測。由圖9可以看到,LSD直線檢測數(shù)量明顯多于霍夫直線。
圖9 不同算法檢測開關(guān)盒邊沿效果圖像Fig.9 Different algorithms detecting edge image of switch box
通過比較兩個直線檢測算法效果圖中的直線檢出率、重復(fù)率、直線斷裂率、誤檢率、直線提取數(shù)量和算法運行時間可以得到如表1的數(shù)據(jù)??梢源_定LSD在開關(guān)盒邊沿提取中直線提取數(shù)量優(yōu)于霍夫直線提取,并且誤檢、漏檢以及直線斷裂數(shù)量均少于霍夫直線檢測。因此最終選取LSD進行開關(guān)盒邊沿檢測。
表1 基于不同直線檢測算法的直線段檢測結(jié)果Table 1 Line segment detection results based on different line detection algorithms
針對LSD直線檢測后的圖像,需要對圖像中非控制柜邊沿部分進行過濾。為此,對直線段的角度偏移量、直線長度閾值以及斷點之間最大閾值進行限定,如圖10(a)所示。在過濾后的直線段信息中,對周圍的HSV圖像空間進行分析,根據(jù)開關(guān)盒本身黑色以及周圍白色的特點,對直線段進行二次過濾,并將檢測結(jié)果通過不同顏色標記出開關(guān)盒不同位置的邊沿,如圖10(b)所示。
圖10 不同過濾條件下檢測開關(guān)盒邊沿效果圖像Fig.10 Detection of switch box edge effect images under different filtering conditions
通過輸入不同角度下控制柜圖像,保證在不同視角下都能實現(xiàn)準確框定開關(guān)盒,同時以圖像左上角為坐標零點,在每個框定對象上輸出坐標位置信息,并根據(jù)檢測結(jié)果不斷優(yōu)化直線段篩選條件。最終開關(guān)盒位置框定效果如圖11所示。
圖11 不同角度下LSD算法框定開關(guān)盒效果圖Fig.11 LSD algorithm frame switch box renderings under different angles
本文訓(xùn)練模型所用圖片數(shù)據(jù)均來自于由無錫市工業(yè)設(shè)備安裝有限公司提供的無錫某隧道變電所BIM模型,無需采集現(xiàn)場圖像,節(jié)約了時間與人力成本。為進一步優(yōu)化標注流程,本文對標注工具LabelImg進行源碼優(yōu)化,通過python編寫LSD直線檢測算法的接口,接入到LabelImg標注工具中canvas.py文件下mouseDouble-ClickEvent觸發(fā)函數(shù)中,實現(xiàn)在LabelImg成功載入圖像后,雙擊圖片即可實現(xiàn)LSD算法自動框定開關(guān)盒對象并保存目標坐標與長寬信息的功能。同時保留原有的人工框定功能,防止自動框定時出現(xiàn)漏檢情況。
在完成框定開關(guān)盒的基礎(chǔ)上制作圖像數(shù)據(jù)集時,由于LSD算法在實現(xiàn)自動框定目標的基礎(chǔ)上無法實現(xiàn)自動標注,而單個控制柜上的開關(guān)盒對象數(shù)量較多,并且本文需要針對開關(guān)狀態(tài)有橫向開關(guān)、縱向開關(guān)和斜向開關(guān)三種情況進行標注,因此在處理少量圖片數(shù)據(jù)時,LSD算法框定與人工作業(yè)框定時間差距不太明顯。但是在面對多數(shù)量目標以及大量圖像數(shù)據(jù)時,LSD算法自動框定目標可以大幅度減少人工作業(yè)時間。通過比較人工框定與LSD自動框定不同張數(shù)圖片生成坐標數(shù)據(jù)文件的時間,可以看出LSD框定大幅度提高目標框定效率,降低數(shù)據(jù)集生成時間成本,如表2所示。
表2 人工框定與LSD框定處理耗時比較Table 2 Comparison of time consuming between manual framing and LSD framing s
為優(yōu)化網(wǎng)絡(luò)訓(xùn)練效率,減少計算量負荷,本文針對不同k值下的IOU大小進行合理的k值篩選,選取范圍k=[1,9],而K-means聚類算法是一個不斷迭代的過程,以k值為7時為例,在一定迭代次數(shù)后得到最終聚類結(jié)果,如圖12所示,圖中x和y代表數(shù)據(jù)集中框定位置長寬信息歸一化后的數(shù)值。圖12(a)中藍色十字為原始數(shù)據(jù),圖12(b)中紅點為初始聚類中心,圖12(c)中黑點為最終聚類中心,不同顏色為不同類簇。
圖12 K-means算法迭代過程Fig.12 K-means algorithm iteration process
同時記錄不同k值下對應(yīng)的IOU值,具體結(jié)果如圖13所示??梢缘玫絢值在7時,曲線趨于平緩,無太大抖動。
圖13 IOU-k折線圖Fig.13 IOU-k line chart
在確定訓(xùn)練參數(shù)k后,將數(shù)據(jù)集圖像輸入卷積神經(jīng)網(wǎng)絡(luò)進行卷積特征提取,包含橫向、縱向與斜向開關(guān)三種不同分類情況的不同層卷積特征圖如圖14所示。本次實驗結(jié)果通過比較訓(xùn)練中Loss值隨迭代次數(shù)變化曲線以及訓(xùn)練過程中IOU變化曲線來對訓(xùn)練效果進行評估。同時將YOLOv3訓(xùn)練得到的模型在同一環(huán)境下與Faster R-CNN、SSD(Single Shot MultiBox Detector)算法進行檢測速度比較,實現(xiàn)多方位的檢測效果評估。
圖14 不同層卷積特征圖Fig.14 Convolution characteristic diagram of different layers
4.2.1 Loss值隨迭代次數(shù)變化分析
在整個YOLOv3網(wǎng)絡(luò)訓(xùn)練過程中,Loss值的大小代表訓(xùn)練過程中損失函數(shù)值的大小,以0為其最優(yōu)期望值。在本文進行的深度學(xué)習(xí)訓(xùn)練中將初始參數(shù)進行如下調(diào)整,學(xué)習(xí)率設(shè)置為0.001,steps=10 000,15 000,scales=0.1,0.1下迭代5 000次。整個訓(xùn)練過程中,如果訓(xùn)練方向正確,則損失函數(shù)Loss值會呈現(xiàn)出一個由高向低的變化。如圖15所示,在前100次到4 000次迭代過程,損失函數(shù)值從初始的高峰值突然下降到接近1.0的數(shù)值,說明整體訓(xùn)練方向正確,數(shù)據(jù)集以及網(wǎng)絡(luò)配置文件中的參數(shù)均為正常,而在1 000到4 000輪迭代變化中,下降速度減緩,但在初始學(xué)習(xí)率下也同樣保持了一個快速收斂下降的趨勢,并且也未出現(xiàn)下降速率過慢導(dǎo)致陷入局部最優(yōu)值的情況。在訓(xùn)練次數(shù)達到10 000次的時候,學(xué)習(xí)率降低初始設(shè)定值的0.1,Loss值下降速度逐漸延緩,此時能有效地防止學(xué)習(xí)率過大導(dǎo)致訓(xùn)練迭代值越過最優(yōu)值或者出現(xiàn)訓(xùn)練發(fā)散的現(xiàn)象。迭代次數(shù)達到15 000次之后,損失函數(shù)Loss值無限接近最優(yōu)期望值條件并且?guī)缀醪辉俪霈F(xiàn)波動變化,趨于穩(wěn)定狀態(tài),此時無需再進行大量迭代。
圖15 Loss值變化圖Fig.15 Variation diagram of Loss value
4.2.2 IOU實驗數(shù)值分析
IOU指的是在整個深度學(xué)習(xí)模型訓(xùn)練過程中,產(chǎn)生的候選框與原標記框之間交集與并集的比值大小,最優(yōu)期望值為1,而IOU值的獲取方式則是從訓(xùn)練過程中記錄訓(xùn)練數(shù)據(jù)的日志文件中獲取。獲取原始IOU數(shù)據(jù)后,通過滑動平均對所有數(shù)據(jù)進行處理,獲取較為準確的IOU值。如圖16所示,IOU值伴隨著迭代次數(shù)增長呈現(xiàn)穩(wěn)定的上升趨勢,從第1輪到50 000輪,IOU值急劇增長,代表訓(xùn)練中候選框在預(yù)測開關(guān)盒位置信息上的能力不斷上升。達到50 000輪以后,整個數(shù)值增長不再波動,趨勢逐漸平穩(wěn),IOU值無限接近最優(yōu)期望值,候選框與原標記框兩者位置接近重合,此時訓(xùn)練得到的權(quán)重模型已經(jīng)能準確框定開關(guān)盒位置。
圖16 IOU值變化圖Fig.16 Graph of IOU values
4.2.3 不同算法實時性比較
目前在工業(yè)環(huán)境下,深度學(xué)習(xí)應(yīng)用中較為常用的目標檢測方法有Faster R-CNN、SSD和YOLO三種。為對本文中YOLOv3算法檢測開關(guān)狀態(tài)進行實時性評估,對以上三種方法進行檢測時間成本的對比實驗,實驗結(jié)果如圖17所示。從圖中可以明顯看出,相比于FasterR-CNN算和SSD算法,YOLOv3算法能大幅度減少檢測時間,能在工業(yè)環(huán)境下為準確識別開關(guān)狀態(tài)實時提供保障。
圖17 不同算法下開關(guān)狀態(tài)檢測時間對比圖Fig.17 Comparison diagram of switching state detection time under different algorithms
4.2.4 開關(guān)狀態(tài)檢測器綜合指標分析
通過比較Loss曲線的波動變化,選取迭代15 000次時的權(quán)重文件作為最終檢測模型。將驗證集與測試集數(shù)據(jù)分別輸入到Y(jié)OLOv3網(wǎng)絡(luò)經(jīng)過權(quán)重模型進行識別,比較漏檢、誤檢的數(shù)量,計算得到開關(guān)狀態(tài)識別準確率,如表3所示。
表3 開關(guān)狀態(tài)檢測器檢測結(jié)果分析Table 3 Analysis of detection results of switch state detector
從表中可以看到,開關(guān)狀態(tài)檢測精度到達了98.3%的準確率。并且實驗中PC端不依賴GPU環(huán)境能達到33 frame/s的檢測速度。在面向不同尺寸開關(guān)盒時,都能達到良好的檢測效果,如圖18所示。
圖18 BIM環(huán)境下開關(guān)狀態(tài)檢測器結(jié)果示例圖Fig.18 Example diagram of switch state detector results in BIM environment
為驗證本文提出的融合LSD直線檢測與深度學(xué)習(xí)網(wǎng)絡(luò)的開關(guān)狀態(tài)檢測方案在面向移植嵌入式設(shè)備上具有適應(yīng)性,采用NVIDIA Jetson TX2作為嵌入式設(shè)備移植對象,將深度學(xué)習(xí)框架與權(quán)重模型文件移植到嵌入式設(shè)備。為探究基于BIM模型數(shù)據(jù)集的訓(xùn)練模型能否應(yīng)用于實際環(huán)境下的視覺檢測,將真實環(huán)境下工業(yè)控制柜圖像輸入到深度學(xué)習(xí)網(wǎng)絡(luò)通過權(quán)重模型進行識別。結(jié)果表明,BIM環(huán)境下訓(xùn)練得到的深度學(xué)習(xí)模型在識別真實環(huán)境下的設(shè)備開關(guān)狀態(tài)具有良好的適應(yīng)性,如圖19所示。
圖19 真實環(huán)境下開關(guān)狀態(tài)檢測器結(jié)果圖Fig.19 Results of switch state detector in real environment
本文面向工業(yè)現(xiàn)場針對控制柜設(shè)備上的開關(guān)盒進行工作狀態(tài)監(jiān)測,在BIM環(huán)境下通過LSD直線檢測快速生成開關(guān)狀態(tài)數(shù)據(jù)集,并輸入到Y(jié)OLOv3深度學(xué)習(xí)網(wǎng)絡(luò)生成開關(guān)狀態(tài)檢測權(quán)重模型。在保證快速準確檢測的基礎(chǔ)上,降低數(shù)據(jù)集生成時間,加快圖像識別在工程上的落地應(yīng)用。實驗結(jié)果表明,基于LSD直線段檢測算法能快速準確定位開關(guān)盒生成數(shù)據(jù)集,大幅度降低人工框定圖像中檢測對象生成數(shù)據(jù)集的時間。同時相比于依賴強悍GPU平臺的R-CNN系列算法,通過YOLOv3深度網(wǎng)絡(luò)框架進行目標檢測在滿足降低檢測成本的基礎(chǔ)上能達到實時性的要求,檢測速度上優(yōu)于Faster R-CNN算法與SSD算法。并且將BIM模型應(yīng)用于實際視覺分析場景,并且具有良好適應(yīng)性,為未來工程上實現(xiàn)BIM模型與工業(yè)現(xiàn)場智能化應(yīng)用結(jié)合打下基礎(chǔ)。
本文提出基于LSD直線檢測和深度學(xué)習(xí)的開關(guān)狀態(tài)邊緣檢測方案在工程實施中具有以下技術(shù)優(yōu)勢:(1)加快了視覺應(yīng)用在工程項目中的落地時間,無需現(xiàn)場采集圖像與人工標定數(shù)據(jù)集,降低目標圖像數(shù)據(jù)建立的人工成本和消耗時間,提高面向開關(guān)盒這類目標的檢測效率。(2)在完成智能化檢測的前提下,降低了實時監(jiān)測的網(wǎng)絡(luò)數(shù)據(jù)傳輸成本與GPU設(shè)備檢測成本,實現(xiàn)邊緣側(cè)智能化檢測,降低了設(shè)備改造成本和風(fēng)險,實現(xiàn)工程上的低成本、易改造和易攜帶。