宋雷震,孫曉東
(淮南聯(lián)合大學(xué)智能制造學(xué)院,安徽 淮南 232038)
管道輸送具有成本低、輸送方便、輸送量大等優(yōu)點(diǎn),在石油、化工、城市供水和排水等領(lǐng)域發(fā)揮著重要作用.而化學(xué)腐蝕、環(huán)境變化、自然災(zāi)害和管道自身缺陷等都有可能導(dǎo)致物質(zhì)泄漏、環(huán)境污染等事故的發(fā)生,因此管道必須進(jìn)行清潔維護(hù)工作[1],傳統(tǒng)管道清潔維護(hù)工作主要依賴于人工完成,低效、危險.管道巡檢機(jī)器人具備自動化、無人化、智能化等優(yōu)點(diǎn),能夠減少管道作業(yè)中惡性事件的發(fā)生,改善工作人員的勞動環(huán)境,提高安全性[2-3],通過對管道機(jī)器人賦予精準(zhǔn)的控制算法,會使其具備更加靈活的思考、判斷能力.
筆者擬針對目前管道巡檢機(jī)器人對目標(biāo)物的識別精度較低、定位檢測結(jié)果誤差較大的問題,設(shè)計一套新的視覺系統(tǒng),構(gòu)建一個改進(jìn)的You Only Look Once(YOLO)模型以改善識別精度,構(gòu)建一個測距定位模型對目標(biāo)物進(jìn)行測距定位.
圖1 卷積神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig. 1 Topology of Convolutional Neural Network
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是基于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[4].卷積神經(jīng)網(wǎng)絡(luò)能夠提取輸入到網(wǎng)絡(luò)中數(shù)據(jù)信息的特征,在解決圖像方面問題擁有較高的效率,因此系統(tǒng)采用卷積神經(jīng)網(wǎng)絡(luò)對管道內(nèi)目標(biāo)淤積物進(jìn)行深度學(xué)習(xí)訓(xùn)練,并對圖像進(jìn)行分割.卷積神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示.
卷積神經(jīng)網(wǎng)絡(luò)能夠有效分割管道內(nèi)的目標(biāo)淤積物圖像,同時具備較高的正確率,但針對淤積物的識別卻不具有實(shí)時性,無法單獨(dú)應(yīng)用于管道巡檢機(jī)器人的視覺系統(tǒng)[5].YOLO模型能夠?qū)⒛繕?biāo)淤積物的檢測問題轉(zhuǎn)化為回歸問題,將輸入到模型中的圖像進(jìn)行分割處理.由于YOLO模型對目標(biāo)淤積物的檢測過程在CNN中進(jìn)行,實(shí)現(xiàn)了端到端的訓(xùn)練與檢測,因此能夠做到對目標(biāo)淤積物的實(shí)時性檢測功能[6].YOLO-CNN模型中,YOLO算法對目標(biāo)物的識別在卷積網(wǎng)絡(luò)中實(shí)現(xiàn),但輸出層的輸出結(jié)果為張量,即輸入到模型的圖像會被分割成s×s個小塊圖像,不同的圖像會對相應(yīng)的目標(biāo)物進(jìn)行預(yù)測,由此獲得一個張量.
對YOLO模型進(jìn)行訓(xùn)練,過程如下:首先,建立數(shù)據(jù)庫,獲取管道內(nèi)目標(biāo)淤積物的圖片;然后,為模型設(shè)定一個深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù),提升模型的訓(xùn)練效率;最后,設(shè)置相應(yīng)的訓(xùn)練參數(shù),限定合理訓(xùn)練次數(shù),以提高模型對目標(biāo)物的檢測準(zhǔn)確率.YOLO模型能夠?qū)崟r性檢測管道內(nèi)的目標(biāo)淤積物,且能保證足夠的準(zhǔn)確率,但YOLO模型的訓(xùn)練時間較長,當(dāng)算法的迭代次數(shù)超過500后,往往模型的訓(xùn)練時間需要1h或者更多,因此需要對YOLO模型進(jìn)行優(yōu)化改進(jìn).YOLO模型的深度學(xué)習(xí)網(wǎng)絡(luò)會用到梯度下降法:
ω∶=ω-α?/?ωloss(ω).
其中:α為學(xué)習(xí)率;loss(·)為損失函數(shù);ω為神經(jīng)網(wǎng)絡(luò)中更新的網(wǎng)絡(luò)參數(shù).
分段常數(shù)衰減與指數(shù)衰減是較為常用的用來控制學(xué)習(xí)率的方法.這2種方法的優(yōu)點(diǎn)是簡單直接,收斂速度快,但極易陷入局部最小值.針對這一問題,為初始學(xué)習(xí)率選擇一個極小值,在每一次算法迭代后,更新CNN同時增加學(xué)習(xí)率的值,并記錄算法迭代后的損失函數(shù)值,最終根據(jù)學(xué)習(xí)率的變化與損失函數(shù)的變化,獲得學(xué)習(xí)率的最佳值.在算法進(jìn)行迭代時,學(xué)習(xí)率也隨之衰減,衰減方式選擇多項衰減機(jī)制[7].在這種方案下,學(xué)習(xí)率會從初始值升高到某個范圍,再逐漸降低到最低值,并重復(fù)這個過程,直到找出全局最優(yōu)解,方案能夠有效避免CNN網(wǎng)絡(luò)參數(shù)陷入局部最優(yōu)解[8].在采用新的學(xué)習(xí)率選擇策略后,能夠明顯提升YOLO模型的訓(xùn)練速度.
在對管道內(nèi)的目標(biāo)淤積物進(jìn)行識別檢測后,還需要對其進(jìn)行定位檢測.管道巡檢機(jī)器人利用相機(jī)采集的圖片完成圖片坐標(biāo)系與管道實(shí)際坐標(biāo)系的匹配,首先需要建立單目相機(jī)的成像模型.管道巡檢機(jī)器人搭載的工業(yè)相機(jī)投影的方式與針孔相機(jī)一致,因此搭載相機(jī)與鏡頭組合為針孔成像模型,如圖2所示.
圖2 針孔相機(jī)模型示意Fig. 2 Schematic Diagram of Pinhole Camera Model
圖2中,f為主距,即與投影中心之間的距離.根據(jù)相似三角形原理,可得投影關(guān)系:
相機(jī)到目標(biāo)物之間的距離
D=WF/P.
其中:D為相機(jī)到目標(biāo)淤積物的距離;W為目標(biāo)淤積物寬度;P為目標(biāo)淤積物在照片中的像素寬度;F為相機(jī)的焦距.對圖像坐標(biāo)系、成像平面坐標(biāo)系、攝像機(jī)坐標(biāo)系和世界坐標(biāo)系之間的變化進(jìn)行分析,可獲得4個坐標(biāo)系之間的關(guān)系,從而可以利用相機(jī)采集的圖片獲取到目標(biāo)淤積物的世界坐標(biāo).圖像坐標(biāo)與成像平面坐標(biāo)之間的關(guān)系為
相機(jī)內(nèi)參矩陣可表述為
圖像坐標(biāo)與世界坐標(biāo)之間的關(guān)系可表述為
其中σ=1/z,是某個滿足相應(yīng)條件的非零度因子.針孔成像需要知道目標(biāo)淤積物的尺寸,而管道巡檢機(jī)器人對管道進(jìn)行巡檢時,情況是未知的,顯然無法滿足條件.選擇基于單幀靜態(tài)圖像的測距模型能夠解決這個問題,其測距方式為
其中:d為相機(jī)與目標(biāo)物之間的水平距離;h為相機(jī)在管道巡檢機(jī)器人上的高度;f為機(jī)器人搭載相機(jī)的焦距;y為目標(biāo)物在圖像平面坐標(biāo)系中的縱坐標(biāo)位置;y0為攝像機(jī)光軸和圖像平面交點(diǎn)的縱坐標(biāo).獲取相機(jī)的內(nèi)參數(shù)和外參數(shù),將圖像坐標(biāo)系轉(zhuǎn)變?yōu)槭澜缱鴺?biāo)系的過程被稱為相機(jī)標(biāo)定.管道巡檢機(jī)器人在定位檢測時,相機(jī)標(biāo)定作為最重要的環(huán)節(jié)之一,直接關(guān)系到定位檢測的準(zhǔn)確性[9-10].采用棋盤格標(biāo)定板作為標(biāo)志物,利用兩步標(biāo)定法對4個坐標(biāo)系之間的關(guān)系進(jìn)行轉(zhuǎn)換與計算,獲取到相機(jī)的參數(shù).獲取相機(jī)參數(shù)后,需要對圖像進(jìn)行特征提取,檢測圖像角點(diǎn).圖像角點(diǎn)的檢測算法采用Harris角點(diǎn)檢測算法.Harris角點(diǎn)檢測算法具有較強(qiáng)的抗噪能力,因此算法穩(wěn)定性較高,且能夠同時檢測不同的角點(diǎn),效率較高.
單目視覺測距定位法操作簡便、成本低、實(shí)用性高,但在管道巡檢機(jī)器人的管道巡檢過程中難以解決參照物的問題.針對這個問題,構(gòu)建出一種地平面約束測距定位模型,模型結(jié)構(gòu)如圖3所示.
圖3 地平面約束測距定位模型Fig. 3 Location Model of Ground Plane Constraint Ranging
通過地平面約束測距定位模型,即可實(shí)現(xiàn)實(shí)時性地對管道內(nèi)的目標(biāo)淤積物進(jìn)行定位檢測.綜合地平面約束測距定位模型與改進(jìn)YOLO模型,搭建系統(tǒng),就能得到更為精準(zhǔn)的管道巡檢機(jī)器人視覺系統(tǒng).
為了驗(yàn)證新的學(xué)習(xí)率更新策略與其他學(xué)習(xí)率更新策略相比,是否能有效地提升YOLO模型的收斂速度,使用相同的數(shù)據(jù)對新學(xué)習(xí)率更新策略下的YOLO模型(模型A)、常數(shù)衰減學(xué)習(xí)率更新策略下的YOLO模型(模型B)、指數(shù)衰減學(xué)習(xí)率更新策略下的YOLO模型(模型C)及使用傳統(tǒng)梯度下降法的YOLO模型(模型D)進(jìn)行訓(xùn)練,對比其收斂速度.4種模型的訓(xùn)練結(jié)果見表1.
表1 4種模型的訓(xùn)練結(jié)果
從表1可知,采用新的學(xué)習(xí)率更新策略的模型A在迭代次數(shù)相同時,所需的訓(xùn)練時間明顯要少于其他3種模型.在迭代次數(shù)為500時,模型A的訓(xùn)練時間為7.4 h,比模型B的8.4 h少1 h;比模型C的8.6 h少1.2 h;比模型D的12.1 h少4.7 h.在迭代次數(shù)為800時,模型A的訓(xùn)練時間為11.3 h,比模型B的14.5 h少2.2 h;比模型C的14.2 h少1.9 h;比模型D的16.7 h少5.4 h.這說明,新的學(xué)習(xí)率更新策略相比其他學(xué)習(xí)率更新策略,能夠更好地優(yōu)化YOLO模型,減少模型的訓(xùn)練時間,提高效率.
對管道內(nèi)淤積物識別的準(zhǔn)確率關(guān)系到管道巡檢機(jī)器人的工作效率,進(jìn)而影響到管道作業(yè)的工作效率.為了驗(yàn)證新的學(xué)習(xí)率更新策略能否有效改進(jìn)YOLO模型,改進(jìn)YOLO模型的性能是否優(yōu)于傳統(tǒng)YOLO模型,將改進(jìn)YOLO模型記為模型1,傳統(tǒng)的YOLO模型記為模型2,常用于目標(biāo)檢測識別的R-CNN模型記為模型3.使用相同的數(shù)據(jù)信息對3個模型進(jìn)行訓(xùn)練,記錄并比較其訓(xùn)練時間和識別準(zhǔn)確率,訓(xùn)練結(jié)果如圖4所示.
圖4 改進(jìn)YOLO模型的訓(xùn)練時間與準(zhǔn)確率Fig. 4 Training Time and Accuracy of Improved YOLO Model
由圖4(a)可見,相同迭代次數(shù)下,改進(jìn)YOLO模型的訓(xùn)練時間明顯少于另外2種模型.在模型迭代次數(shù)為800時,改進(jìn)YOLO模型的訓(xùn)練時間為10.7 h;而傳統(tǒng)的YOLO模型訓(xùn)練時間為12.3 h,比改進(jìn)YOLO模型的訓(xùn)練時間多1.6 h;R-CNN模型的訓(xùn)練時間則需要17.4 h,比改進(jìn)YOLO模型的訓(xùn)練時間多6.7 h.從圖4(b)可見,3個模型的識別準(zhǔn)確率均為先隨著迭代次數(shù)的增加而上升,迭代次數(shù)超過600后,識別準(zhǔn)確率隨著迭代次數(shù)的增加而下降,這種現(xiàn)象出現(xiàn)的原因是,迭代次數(shù)過多會導(dǎo)致過擬合現(xiàn)象,導(dǎo)致模型的識別準(zhǔn)確率降低.3種模型都是在迭代次數(shù)為600時準(zhǔn)確率達(dá)到最高,其中改進(jìn)YOLO模型的準(zhǔn)確率最高,為96.1%;傳統(tǒng)YOLO模型的準(zhǔn)確率為85.3%,比改進(jìn)YOLO模型低10.8%;R-CNN模型的準(zhǔn)確率為72.1%,比改進(jìn)YOLO模型低24%.這說明,改進(jìn)YOLO模型的訓(xùn)練時間更短,識別準(zhǔn)確率更高,更適用于管道巡檢機(jī)器人視覺系統(tǒng).
為了驗(yàn)證地平面約束測距定位模型的性能,構(gòu)建地平面約束測距定位模型(模型1),針孔成像相機(jī)模型(模型2),單幀靜態(tài)圖像的測距模型(模型3),并對3種模型的定位檢測結(jié)果與誤差進(jìn)行測試,測試結(jié)果見表2,3.
表2 3種模型的定位情況
表3 3種模型的定位誤差
從表2可知,地平面約束測距定位模型的圖像與實(shí)際值的圖像相差不大,重合度較高,說明地平面約束測距定位模型的檢測值與實(shí)際值相差不大,定位較為準(zhǔn)確.從表3可知,地平面約束測距定位模型的檢測定位最大誤差為2.2 cm,最小為0 cm;針孔成像相機(jī)模型的檢測定位最大誤差為3.8 cm,最小為1.8 cm;單幀靜態(tài)圖像的測距模型的檢測定位最大誤差為2.9 cm,最小誤差為0.1 cm.地平面約束測距定位模型10次檢測定位的測量值與實(shí)際值之間的平均誤差為0.97 cm;而針孔成像相機(jī)模型為2.74 cm,比地平面約束測距定位模型大1.77 cm;單幀靜態(tài)圖像的測距模型為1.5 cm,比地平面約束測距定位模型大0.53 cm.這些結(jié)果說明地平面約束測距定位模型的定位檢測精度較高.
目前管道巡檢機(jī)器人對目標(biāo)物的識別精度和定位檢測精度誤差較低,采用新的學(xué)習(xí)率更新策略改進(jìn)YOLO模型,利用CNN進(jìn)行目標(biāo)物圖像學(xué)習(xí)訓(xùn)練,構(gòu)建地平面約束測距定位模型,并基于2種模型搭建新的視覺系統(tǒng).結(jié)果表明,采用新學(xué)習(xí)率更新策略的YOLO模型迭代次數(shù)為500時訓(xùn)練時間為7.4 h,遠(yuǎn)低于其他策略下的YOLO模型;在模型迭代次數(shù)為800時,改進(jìn)YOLO模型的訓(xùn)練時間為10.7 h,比傳統(tǒng)YOLO模型少1.6 h,比R-CNN模型少6.7 h;在迭代次數(shù)為600時,改進(jìn)YOLO模型的準(zhǔn)確率為96.1%,比傳統(tǒng)YOLO模型高10.8%,比R-CNN模型高24%;地平面約束測距定位模型的平均誤差為0.93 cm,比針孔成像相機(jī)模型小1.88 cm,比單幀靜態(tài)圖像小0.63 cm.這說明,基于改進(jìn)YOLO模型和地平面約束測距定位模型搭建的新的管道巡檢機(jī)器人視覺系統(tǒng)能夠有效提高對管道內(nèi)目標(biāo)淤積物的識別準(zhǔn)確率與定位精度,有較高的實(shí)用性.