陳國(guó)棟,王翠瑜*,張神德,鄧志勇,王同珍,吳志鴻,黃明煒,林進(jìn)潯
(1.福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108;2.中建海峽建設(shè)發(fā)展有限公司,福建 福州 350015;3.福建數(shù)博訊信息科技有限公司,福建 福州 350002)
根據(jù)國(guó)內(nèi)塔吊安全事故的統(tǒng)計(jì)研究,2007—2016年間國(guó)內(nèi)發(fā)生152起塔式起重機(jī)安全{1]事故,2013—2019年間發(fā)生了194起,其中2017—2019年間占了111起,這194起事故導(dǎo)致294死、109傷,造成35 572.18萬(wàn)元的經(jīng)濟(jì)損失[2]。因此,由于塔式起重機(jī)結(jié)構(gòu)的特殊性,對(duì)其定期的檢測(cè)與監(jiān)督,及時(shí)發(fā)現(xiàn)裂縫消除隱患是保障安全施工的重要環(huán)節(jié),但現(xiàn)有的檢查手段主要以人工攀爬巡查為主,成本高,費(fèi)時(shí)費(fèi)力,同時(shí)也要考慮檢查人員的安全,且裂縫若出現(xiàn)在塔節(jié)點(diǎn)交界處等不易被察覺(jué),無(wú)法有效排除隱患。
隨著深度學(xué)習(xí)各種目標(biāo)檢測(cè)算法越來(lái)越成熟[3],通過(guò)深度學(xué)習(xí)解決缺陷檢測(cè)問(wèn)題的效果越來(lái)越好,應(yīng)用領(lǐng)域也越來(lái)越廣。單階段目標(biāo)檢測(cè)(you only look once,YOLO)系列[4]方法基于回歸的端到端的單階段檢測(cè)不依賴候選區(qū)的模型,可以非常迅速得識(shí)別定位圖像中目標(biāo)位置,相對(duì)于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-convolution neura network,R-CNN)[5]系列更符合實(shí)時(shí)快速檢測(cè)的需求,但該類方法針對(duì)小目標(biāo)的識(shí)別精度不高。隨著發(fā)展和優(yōu)化,YOLO系列的YOLO V3[6]定位精度有了很大的改善。
針對(duì)上文提出的塔吊裂縫安全檢查問(wèn)題,本文提出一種基于改進(jìn)YOLO V3的塔式起重機(jī)裂縫檢測(cè)方法,且根據(jù)實(shí)際塔吊應(yīng)用場(chǎng)景提出相應(yīng)的改進(jìn)使得滿足于工地干擾強(qiáng),塔吊高大,需無(wú)人機(jī)搭載識(shí)別等特點(diǎn),提高其識(shí)別速度和對(duì)小目標(biāo)的敏感性。從而做出更好的預(yù)測(cè)來(lái)幫助完成施工安全的監(jiān)督檢測(cè)作業(yè)。
YOLO V3相對(duì)YOLO V1和YOLO V2[7]在識(shí)別速度與精度有了明顯改善,同時(shí)優(yōu)化了很多缺陷。在YOLO V3中以Darknet-53[8]為骨干網(wǎng)絡(luò),相比于YOLO V2的Darknet-19擁有更深的網(wǎng)絡(luò)層數(shù),如圖1所示,該特征提取網(wǎng)絡(luò)由52個(gè)卷積層和一個(gè)全連接層組成,并且交替使用1×1和3×3的濾波器進(jìn)行卷積。在加深網(wǎng)絡(luò)的同時(shí)YOLO V3還增加了多尺度融合的特征預(yù)測(cè)目標(biāo)機(jī)制[9],該方法在最后獲得的最小特征圖上采取兩次上采樣,得到的特征圖為三個(gè)尺度,并融合基礎(chǔ)網(wǎng)絡(luò)中同尺寸的淺層信息特征,分別進(jìn)行三次目標(biāo)框預(yù)測(cè),然后通過(guò)非極大值抑制獲得最后結(jié)果。這種方法使得YOLO V3具有更好的魯棒性[10]。
圖1 YOLO V3結(jié)構(gòu)圖
YOLO V3通過(guò)聚類算法[11]得到9個(gè)先驗(yàn)框,而在加速Faster RCNN[12]和單階段多框目標(biāo)檢測(cè)(single shot multibox detector,SSD)[13]中需要手工設(shè)置先驗(yàn)框,客觀性不夠強(qiáng),當(dāng)先驗(yàn)框的維度合適,可以讓神經(jīng)網(wǎng)絡(luò)更容易學(xué)習(xí),更好地做出判斷。本文對(duì)目標(biāo)框采用聚類的方法來(lái)確定先驗(yàn)框參數(shù)。
K-means是一種常用的聚類算法,是一種使用廣泛的最基礎(chǔ)的聚類算法,K表示設(shè)置的聚類數(shù)目K-means成本函數(shù)公式如下:
(1)
其中,xi為第i個(gè)樣本,uk是第k個(gè)類的重心位置。在塔式起重機(jī)裂縫檢測(cè)中,改進(jìn)前預(yù)設(shè)的9組先驗(yàn)框維度分別為(10,13),(16,30),(33,23),(30,61),(62,45),(59,119),(116,90),(156,198),(373,326),本文在塔式起重機(jī)裂縫檢測(cè)中對(duì)數(shù)據(jù)集進(jìn)行聚類分析,使得先驗(yàn)框維度更適用于工地復(fù)雜環(huán)境下的裂縫識(shí)別場(chǎng)景聚類過(guò)程中簇的中心個(gè)數(shù)K和平均交并比的關(guān)系如圖2所示:
圖2 K-means聚類結(jié)果圖
由圖中可以看出,K=6時(shí)平均交并比的數(shù)值高且曲線收斂,新聚類出的先驗(yàn)框參數(shù)為(42,23),(56,32),(68,45),(73,59),(90,72)和(126,107)。
在塔式起重機(jī)裂縫檢測(cè)中的損失函數(shù)[13]包括如下:
中心坐標(biāo)誤差,
(2)
寬高坐標(biāo)誤差,
(3)
置信度誤差,
(4)
分類誤差,
(5)
上述公式中,說(shuō)明如表1所示:
表1 公式意義
原始的YOLO V3的損失函數(shù)對(duì)邊界框的寬度沒(méi)有足夠重視,檢測(cè)對(duì)象偏小時(shí)易忽視而檢測(cè)對(duì)象為大目標(biāo)時(shí)對(duì)損失會(huì)產(chǎn)生較大影響,如此易導(dǎo)致在對(duì)小目標(biāo)檢測(cè)時(shí)效果不好,為了幫助小目標(biāo)更好的被邊界框不足,提高小邊界框的魯棒性,將原YOLO V3坐標(biāo)誤差部分,參考真實(shí)目標(biāo)邊框?qū)捀咦鴺?biāo)誤差乘以一個(gè)加權(quán),加強(qiáng)對(duì)待檢測(cè)的小目標(biāo)的損失的重視,降低大目標(biāo)的誤差對(duì)小目標(biāo)的誤差的影響,使得更好地檢測(cè)小目標(biāo)。改進(jìn)后的損失函數(shù)如下:
(6)
在塔式起重機(jī)裂縫檢測(cè)特征提取過(guò)程中,根據(jù)施工現(xiàn)場(chǎng)干擾較多,包括線纜、器材連接處、不規(guī)則銹跡、雜物等使得誤檢率高,區(qū)別于其他表面缺陷檢測(cè),塔式起重機(jī)裂縫檢測(cè)在圖像中更多都以小目標(biāo)為主,在保持對(duì)小尺度目標(biāo)檢測(cè)精度良好下可以輕量化網(wǎng)絡(luò)結(jié)構(gòu)來(lái)提高檢測(cè)速度,更符合實(shí)際識(shí)別檢測(cè)需求,根據(jù)上述特點(diǎn)可將原來(lái)3個(gè)尺度規(guī)格13×13、26×26 和 52×52改成在26×26 和 52×52的2個(gè)尺度上做預(yù)測(cè)實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的輕量化。每種尺度有三種錨框,以降低誤檢的情況。如圖3所示,將高層特征圖的通道數(shù)通過(guò)1×1的卷積核改變,然后采用2倍上采樣,將其與低層特征結(jié)合,3×3的卷積核可以消除混疊效應(yīng)。改進(jìn)后的多尺度融合提升小目標(biāo)的檢測(cè)效果,降低誤檢率,減少了改進(jìn)的YOLO V3需要預(yù)測(cè)的邊界框數(shù),降低了網(wǎng)絡(luò)的復(fù)雜性,更加符合施工作業(yè)現(xiàn)場(chǎng)的安全識(shí)別檢測(cè)需求。
圖3 多尺度融合改進(jìn)
數(shù)據(jù)集的數(shù)量對(duì)試驗(yàn)結(jié)果有很大影響,數(shù)據(jù)集不足會(huì)引起過(guò)擬合的現(xiàn)象,為此,需要一個(gè)足夠大的數(shù)據(jù)集。本文數(shù)據(jù)集共計(jì)7 506張各類塔式起重機(jī)及其附屬設(shè)備的裂縫圖片。如圖4所示,為提高檢測(cè)效果,我們通過(guò)隨機(jī)旋轉(zhuǎn)、鏡像翻轉(zhuǎn)、局部變形等多種方式對(duì)現(xiàn)有的數(shù)據(jù)集進(jìn)行數(shù)據(jù)擴(kuò)展。
圖4 圖像數(shù)據(jù)增強(qiáng)示例
本文訓(xùn)練時(shí)參數(shù)設(shè)置如表2所示,在訓(xùn)練過(guò)程中通過(guò)比較損失大小,保存損失最小的模型參數(shù)。
表2 訓(xùn)練參數(shù)設(shè)置
為評(píng)價(jià)本方法對(duì)塔式起重機(jī)進(jìn)行定位的性能及改進(jìn)后的效果,分別對(duì)兩個(gè)網(wǎng)絡(luò)進(jìn)行測(cè)試,采用召回率和準(zhǔn)確率評(píng)價(jià),其具體計(jì)算公式分別為:
(7)
(8)
(9)
其中,T為正檢數(shù),F(xiàn)P為誤檢數(shù),F(xiàn)N為未檢測(cè)個(gè)數(shù),A(average precision)為平均精度,m(mean average precision)為均值平均精度,是各類別A的平均值。
3.3.1改進(jìn)的YOLO V3識(shí)別效果
為了測(cè)試改進(jìn)的YOLO V3的識(shí)別效果,使用測(cè)試集分別針對(duì)原YOLO V3和改進(jìn)的YOLO V3進(jìn)行測(cè)試。改進(jìn)的YOLO V3的識(shí)別效果如圖5和圖6所示,試驗(yàn)結(jié)果表明其均值平均精度可達(dá)到85.63%。對(duì)于圖5中比較狹長(zhǎng)不規(guī)則走勢(shì)的裂縫,以及圖6中因承重、作業(yè)操作失誤、安裝不規(guī)范等因素產(chǎn)生的斷裂式錯(cuò)位式裂縫都有良好的識(shí)別效果,同時(shí)從圖5、圖6中也可看到小尺度的裂縫也能被正確識(shí)別出來(lái),由此可以看出改進(jìn)的YOLO V3針對(duì)塔式起重機(jī)的裂縫能有效識(shí)別定位。
圖5 改進(jìn)的YOLO V3 識(shí)別效果(一)
圖6 改進(jìn)的YOLO V3 識(shí)別效果圖(二)
3.3.2改進(jìn)的YOLO V3效果對(duì)比
多尺度融合改進(jìn)效果測(cè)試,原來(lái)的 YOLO V3 使用 3 個(gè)不同尺度的特征圖來(lái)預(yù)測(cè)待檢測(cè)目標(biāo),將網(wǎng)絡(luò)輸出的后兩個(gè)特征圖上采樣,與網(wǎng)絡(luò)前期相應(yīng)尺寸的特征圖融合成有效信息進(jìn)行預(yù)測(cè)。如表3所示,本文數(shù)據(jù)集以小尺度目標(biāo)為主,在保持對(duì)小尺度目標(biāo)檢測(cè)精度良好下可以優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)來(lái)滿足實(shí)際更快檢測(cè)的需求,將多尺度融合改在26×26 和 52×52的尺度上做預(yù)測(cè)后,試驗(yàn)測(cè)試結(jié)果表明,檢測(cè)速度提高10.53%。
表3 檢測(cè)速度對(duì)比
損失函數(shù)改進(jìn)效果測(cè)試,本文根據(jù)需求改進(jìn)損失函數(shù)中的坐標(biāo)誤差部分,調(diào)整檢測(cè)大目標(biāo)和小目標(biāo)的損失影響權(quán)重,使得小目標(biāo)的識(shí)別效果更好,試驗(yàn)結(jié)果如表4所示,改進(jìn)后的YOLO V3檢測(cè)方法整體對(duì)塔式起重機(jī)的裂縫識(shí)別平均檢測(cè)精度優(yōu)于原YOLO V3檢測(cè)方法。
表4 性能對(duì)比
小尺度目標(biāo)檢測(cè)測(cè)試,經(jīng)過(guò)K-means聚類和損失函數(shù)的改進(jìn),使得改進(jìn)后的YOLO V3相比原檢測(cè)方法對(duì)小尺度目標(biāo)更加敏感,檢測(cè)效果有所提升。為測(cè)試對(duì)小尺度目標(biāo)的識(shí)別效果,在測(cè)試集中選取只包含小尺度目標(biāo)的圖片為子測(cè)試集進(jìn)行測(cè)試試驗(yàn),結(jié)果表明改進(jìn)后的YOLO V3針對(duì)小尺度目標(biāo)提高了3.87%的檢測(cè)精度。如圖7小裂縫識(shí)別效果圖和圖8中Improved YOLO V3圖可以明顯看出,改進(jìn)后的YOLO V3算法對(duì)于塔式起重機(jī)局部出現(xiàn)的小裂縫識(shí)別效果良好,在干擾條件下未出現(xiàn)漏檢或誤檢現(xiàn)象。
圖7 改進(jìn)的YOLO V3對(duì)小裂縫識(shí)別效果圖
圖8 改進(jìn)的YOLO V3與原YOLO V3識(shí)別效果對(duì)比
如圖8所示,改進(jìn)的YOLO V3與原始YOLO V3識(shí)別效果對(duì)比,改進(jìn)前算法將塔式起重機(jī)的部件連接部分誤識(shí)別為裂縫,而改進(jìn)后的YOLO V3準(zhǔn)確地識(shí)別出裂縫所在位置和走勢(shì),在對(duì)復(fù)雜環(huán)境的小目標(biāo)檢測(cè)中,改進(jìn)的YOLO V3優(yōu)于原始YOLO V3,識(shí)別效果良好,相比之下改進(jìn)的YOLO V3更符合需求。
3.3.3不同檢測(cè)方法對(duì)比試驗(yàn)
本文采用改進(jìn)的YOLO V3進(jìn)行塔式起重機(jī)裂縫檢測(cè),為了對(duì)比改進(jìn)的YOLO V3與其他檢測(cè)識(shí)別方法的檢測(cè)識(shí)別效果,除上文與原YOLO V3檢測(cè)方法對(duì)比外,同時(shí)分別與SSD,F(xiàn)aster RCNN等方法進(jìn)行對(duì)比,試驗(yàn)結(jié)果如表5所示。
表5 各方法實(shí)驗(yàn)結(jié)果對(duì)比
由表5可以看出Faster RCNN的檢測(cè)精度最高,但速度遠(yuǎn)不及其他檢測(cè)方法,不滿足實(shí)時(shí)檢測(cè)的任務(wù)需求,不適用于本文提出的塔式起重機(jī)裂縫檢測(cè)需求。而SSD算法和原YOLO V3兩種算法在精度和檢測(cè)速度上都不如改進(jìn)的YOLO V3算法。改進(jìn)的YOLO V3采用K-means維度聚類提高了檢測(cè)精度,損失函數(shù)的改進(jìn)加強(qiáng)了對(duì)小目標(biāo)的檢測(cè)效果,多尺度融合輕量化網(wǎng)絡(luò)結(jié)構(gòu)提高了檢測(cè)速度,相對(duì)于其他檢測(cè)方法在兩個(gè)指標(biāo)中都有良好表現(xiàn),由此可見(jiàn)本文改進(jìn)的YOLO V3的性能能夠較好地完成對(duì)塔式起重機(jī)的裂縫檢測(cè)識(shí)別任務(wù)。
本文針對(duì)解決塔式起重機(jī)的安全問(wèn)題提出基于改進(jìn)YOLO V3的塔式起重機(jī)裂縫檢測(cè)方法,并針對(duì)實(shí)際需求和應(yīng)用場(chǎng)景對(duì)方法做出改進(jìn),通過(guò)K-means 算法對(duì)數(shù)據(jù)集的目標(biāo)框大小進(jìn)行聚類,有利于提高精度;改進(jìn)了損失函數(shù)提高對(duì)小目標(biāo)的識(shí)別效果;通過(guò)多尺度融合改進(jìn)提升檢測(cè)效果等,使得在保持良好檢測(cè)準(zhǔn)確率的同時(shí)擁有更好的檢測(cè)速度,基本滿足塔式起重機(jī)裂縫檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性的需求,對(duì)預(yù)防塔式起重機(jī)事故的發(fā)生起到重要作用。在之后的工作中,將針對(duì)網(wǎng)絡(luò)進(jìn)一步優(yōu)化來(lái)提高檢測(cè)精度,增強(qiáng)在各種干擾下的檢測(cè)效果,擴(kuò)展數(shù)據(jù)集提高訓(xùn)練質(zhì)量。