張 雷,呂一仕,楊 佳,徐忠峰,徐光平,3
(1.河北大唐國(guó)際王灘發(fā)電有限責(zé)任公司,河北唐山 063611;2.蘇州熱工研究院有限公司,江蘇蘇州 215043;3.北京中安吉泰科技有限公司,北京 100029)
機(jī)器視覺(jué)是由圖像處理、機(jī)械工程、點(diǎn)光源照明、傳感器和計(jì)算機(jī)軟硬件等技術(shù)組成。在一些危險(xiǎn)的作業(yè)環(huán)境中,用機(jī)器人搭載攝像頭等圖像采集裝置采集作業(yè)環(huán)境的圖像信息,用圖像處理技術(shù)進(jìn)行信息提取,做出各種檢測(cè)和判斷,可以在很大程度上代替人工,大大提高檢測(cè)的效率和自動(dòng)化水平。
機(jī)器視覺(jué)的發(fā)展速度很快,也越來(lái)越成熟,已經(jīng)應(yīng)用到了各個(gè)行業(yè)中,最為廣泛的應(yīng)用是缺陷檢測(cè),可以減少人力投入,提高檢測(cè)精度。
本文主要針對(duì)深度學(xué)習(xí)算法對(duì)水冷壁缺陷宏觀檢測(cè)展開研究,利用攝像頭近距離采集水冷壁各種數(shù)據(jù),將圖片數(shù)據(jù)進(jìn)行相應(yīng)的處理分析,完成對(duì)鍋爐水冷壁的檢測(cè)工作,最終可以代替人完成檢測(cè)任務(wù),降低火電廠鍋爐維護(hù)檢測(cè)費(fèi)用以及人員安全風(fēng)險(xiǎn)。
計(jì)算機(jī)的性能提升越來(lái)越快,變得越來(lái)越智能,在目前的大數(shù)據(jù)時(shí)代,AI(Artificial Intelligence,人工智能)是一個(gè)很具研究課題的領(lǐng)域,并且出現(xiàn)了很多優(yōu)秀的AI 企業(yè),從而使人工智能與我們的生活越來(lái)越密切。
作為人工智能的一個(gè)分支,機(jī)器學(xué)習(xí)是通過(guò)算法讓機(jī)器從歷史數(shù)據(jù)中學(xué)習(xí)潛在的規(guī)律。但是,由于機(jī)器學(xué)習(xí)需要特征,選取特征費(fèi)時(shí)費(fèi)力,有時(shí)候還會(huì)選取到不合適的特征。深度學(xué)習(xí)可以解決這個(gè)問(wèn)題,它不需要人參與特征選取的過(guò)程。
Facebook 在DeepFace 項(xiàng)目中,人臉識(shí)別的準(zhǔn)確率達(dá)到了97%以上,說(shuō)明深度學(xué)習(xí)在圖像識(shí)別方面具有優(yōu)勢(shì)。深度學(xué)習(xí)算法不斷優(yōu)化使深度學(xué)習(xí)不斷發(fā)展。
YOLOv5 提供了5 個(gè)版本的目標(biāo)檢測(cè)網(wǎng)絡(luò):YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。
YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)分4 個(gè)模塊:輸入端、Backbone、Neck、Prediction。
(1)輸入端對(duì)圖像進(jìn)行預(yù)處理,采用Mosaic 數(shù)據(jù)增強(qiáng)、自適應(yīng)圖片縮放、自適應(yīng)錨定框計(jì)算方法。
(2)Backbone 增加了Focus 結(jié)構(gòu)和CSP 結(jié)構(gòu),其中Focus 結(jié)構(gòu)用來(lái)做切片操作。
(3)Neck 采用FPN+PAN 結(jié)構(gòu),Neck 結(jié)構(gòu)中的CSP2_X 結(jié)構(gòu)增強(qiáng)了網(wǎng)絡(luò)特征融合。
(4)Prediction 使用GIOU_Loss 函數(shù)做Bounding Box 的損失函數(shù)。YOLOv5 網(wǎng)絡(luò)模型檢測(cè)速度非???,每幅圖像的推理時(shí)間只需要0.007 s,達(dá)到了140 FPS。
YOLOv5 網(wǎng)絡(luò)輸入端采用Mosaic 數(shù)據(jù)增強(qiáng),增加了網(wǎng)絡(luò)的魯棒性和檢測(cè)數(shù)據(jù)集的多樣性。采用自適應(yīng)錨框方法和自適應(yīng)圖片縮放方式,有效提升檢測(cè)精度和檢測(cè)速度。主干網(wǎng)絡(luò)采用Focus 結(jié)構(gòu)和CSP 網(wǎng)絡(luò),F(xiàn)ocus 結(jié)構(gòu)的切片操作可以很好的提取特征圖,CSP 網(wǎng)絡(luò)可以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,減少模型參數(shù)的同時(shí)還可以保證檢測(cè)的準(zhǔn)確性,降低計(jì)算成本。Neck 網(wǎng)絡(luò)主要采用了SPP 模塊和FPN+PAN,主要是更充分地提取融合特征,在Backbone 和輸出端中插入Neck 層。SPP 網(wǎng)絡(luò)使用不同尺度最大池化,再將得到不同尺度的特征圖Concat 的操作。在輸出端Bounding box 損失函數(shù)為GIOU_Loss,可以提升預(yù)測(cè)框回歸的速度和精度。采用DIOU_NMS(非極大值抑制)的方式,可以提升重疊目標(biāo)框的檢測(cè)效果。
圖1 為不同版本的YOLOv5 與EfficientDet 檢測(cè)算法之間的性能比較曲線。橫軸表示的是該算法在GPU 上面的推理時(shí)間(ms/img),該數(shù)值越小越好;縱軸表示的是該算法在COCO 測(cè)試數(shù)據(jù)集上面的AP 指標(biāo),該數(shù)值越大越好。
圖1 性能比較曲線
通過(guò)觀察可以得出以下的初步結(jié)論:
(1)與EfficientDet0 相比,YOLOv5s 不僅可以獲得更高的AP指標(biāo),而且可以獲得更快的推理速度。
(2)與EfficientDet4 相比,YOLOv5x 不僅能夠獲得更高的AP指標(biāo),其推理速度是它的1/5 左右。
圖2 為不同版本的YOLOv5 檢測(cè)算法在COCO2017 驗(yàn)證集與測(cè)試集上面的各項(xiàng)指標(biāo),具體包括:模型輸入大小、AP50指標(biāo)、Speed、FPS、params 與GFLOPS。
圖2 算法指標(biāo)
1.準(zhǔn)確率:所有預(yù)測(cè)為正樣本的結(jié)果中,預(yù)測(cè)正確的比率。
Precision=TP/(TP+FP)
2.所有正樣本中被正確預(yù)測(cè)的比率。
Recall=TP/(TP+FN)
3.PR 曲線
以Recall 為橫坐標(biāo),Precision 為縱坐標(biāo)組成的曲線
4.mAP@0.5
TP:IoU>0.5 的檢測(cè)框數(shù)量(同一GT 只計(jì)算一次)
FP:IoU<=0.5 的檢測(cè)框數(shù)量,或檢測(cè)到同一個(gè)GT 的多余檢測(cè)框的數(shù)量
因此,Precision 和Recall 可以表示為:
Precision=TP/all detection boxes
Recall=TP/all ground truths
5.mAP@0.5:0.95 表示在不同IOU 閾值(從0.5 到0.95,步長(zhǎng)0.05)上的平均mA。
(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)
(1)數(shù)據(jù)來(lái)源。采用機(jī)器人搭載的攝像頭對(duì)水冷壁表面進(jìn)行視頻圖像采集。
(2)數(shù)據(jù)標(biāo)注。標(biāo)注工具采用LabelImg,標(biāo)注工具快捷鍵比較多,大大的提高標(biāo)注效率。標(biāo)注信息為目標(biāo)框坐標(biāo)和類別,可以在一張圖像上標(biāo)注多個(gè)目標(biāo),保存的標(biāo)注信息為txt 文件。
(3)數(shù)據(jù)集劃分。目標(biāo)檢測(cè)訓(xùn)練集共有1500 張圖像,存在缺陷作為檢測(cè)目標(biāo),按照8:2 的比例劃分訓(xùn)練集和驗(yàn)證集。
(4)數(shù)據(jù)集優(yōu)化。由于前期缺陷目標(biāo)特征學(xué)習(xí)的不夠,在優(yōu)化前的鍋爐水冷壁管缺陷目標(biāo)檢測(cè)數(shù)據(jù)集上訓(xùn)練算法模型mAP 在75%左右。通過(guò)制定標(biāo)注的規(guī)范,優(yōu)化數(shù)據(jù)集,最終在鍋爐水冷壁管缺陷目標(biāo)檢測(cè)數(shù)據(jù)集上訓(xùn)練的算法模型的mAP 達(dá)到93%左右。
(5)數(shù)據(jù)增強(qiáng)。采用Mosaic、旋轉(zhuǎn)、縮放、翻轉(zhuǎn)、顏色變化、灰度化和裁剪等數(shù)據(jù)增強(qiáng)方法對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行數(shù)據(jù)擴(kuò)充。
(6)數(shù)據(jù)標(biāo)注規(guī)范:①參考PASCAL VOC 數(shù)據(jù)集標(biāo)注規(guī)范標(biāo)注;②只保留清晰度高、目標(biāo)清晰的圖像;③去掉相似圖像。
(7)訓(xùn)練過(guò)程。采用PyTorch 深度學(xué)習(xí)框架訓(xùn)練算法模型。采用遷移學(xué)習(xí)的方法,減少模型訓(xùn)練時(shí)間和增強(qiáng)模型檢測(cè)性能。對(duì)輸入圖像采用旋轉(zhuǎn)、縮放、翻轉(zhuǎn)、顏色變化、灰度化、裁剪和Mosaic 數(shù)據(jù)增強(qiáng)的方法進(jìn)行數(shù)據(jù)擴(kuò)充。訓(xùn)練時(shí),設(shè)置的迭代次數(shù)為300 次,選擇準(zhǔn)確率最高的一次迭代作為實(shí)驗(yàn)結(jié)果。
1.3.1 準(zhǔn)確率曲線
圖3 為準(zhǔn)確率和置信度的關(guān)系,x 軸為置信度,y軸為準(zhǔn)確率。設(shè)置置信度為某一數(shù)值時(shí)各個(gè)類別識(shí)別的準(zhǔn)確率??梢钥吹?,置信度越大時(shí)類別檢測(cè)的越準(zhǔn)確。這也很好理解,只有Confidence 很大,才被判斷是某一類別。但也很好想到,這樣的話,會(huì)漏檢一些置信度低的類別。實(shí)驗(yàn)結(jié)果曲線符合預(yù)期。
圖3 準(zhǔn)確率和置信度的關(guān)系
1.3.2 召回率曲線
圖4 為召回率和置信度之間的關(guān)系,x 軸為置信度,y 軸為召回率。設(shè)置置信度為某一數(shù)值時(shí),各個(gè)類別查全的概率。可以看到,置信度越小時(shí)類別檢測(cè)的越全面。
圖4 召回率和置信度的關(guān)系
1.3.3 P—R 曲線
圖5 為P—R 曲線,其中:P 代表precision(精準(zhǔn)率),R 代表Recall(召回率),P—R 曲線代表精準(zhǔn)率與召回率的關(guān)系,一般情況下,將Recall 設(shè)置為橫坐標(biāo),Precision 設(shè)置為縱坐標(biāo)。從曲線中可以看到mAP@0.5 準(zhǔn)確率達(dá)到0.932,實(shí)驗(yàn)效果還是可以的,擴(kuò)充訓(xùn)練集數(shù)量和標(biāo)簽數(shù)量,提高數(shù)據(jù)集質(zhì)量,模型性能還會(huì)有所提升。
圖5 P—R 曲線
1.3.4 各項(xiàng)指標(biāo)
圖6 提供了模型性能的一些其他指標(biāo)。定位損失box_loss:預(yù)測(cè)框與標(biāo)定框之間的誤差(GIOU);置信度損失obj_loss:計(jì)算網(wǎng)絡(luò)的置信度;分類損失cls_loss:計(jì)算錨框與對(duì)應(yīng)的標(biāo)定分類是否正確;準(zhǔn)確率Precision:精度(找對(duì)的正類/所有找到的正類);Recall:真實(shí)為Positive 的準(zhǔn)確率,即正樣本有多少被找出來(lái)(召回了多少);mAP@0.5:0.95:表示不同IOU 閾值(從0.5 到0.95,步長(zhǎng)0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP;mAP@0.5:表示閾值大于0.5的平均mAP。
圖6 模型性能其他指標(biāo)
從圖7、圖8 檢測(cè)結(jié)果可以看出,模型對(duì)水冷壁缺陷的識(shí)別效果還是不錯(cuò)的,基本上能按照標(biāo)注的內(nèi)容識(shí)別出來(lái),符合預(yù)期的效果。
圖7 檢測(cè)結(jié)果1
圖8 檢測(cè)結(jié)果2
本文建立的鍋爐水冷壁管數(shù)據(jù)集缺陷類別和檢測(cè)目標(biāo)類別較少,且缺陷類別和缺陷目標(biāo)分布不均衡。未來(lái)可以不斷地對(duì)這兩個(gè)數(shù)據(jù)集進(jìn)行擴(kuò)充,建立鍋爐水冷壁管缺陷數(shù)據(jù)公開的數(shù)據(jù)集。
本文鍋爐水冷壁管缺陷自動(dòng)分類識(shí)別和檢測(cè)模型的建立都是采用遷移學(xué)習(xí)的方法,通過(guò)數(shù)據(jù)增強(qiáng)的方式,在建立的數(shù)據(jù)集上訓(xùn)練現(xiàn)有的深度學(xué)習(xí)網(wǎng)絡(luò)獲得自動(dòng)分類識(shí)別和檢測(cè)模型??梢噪S著數(shù)據(jù)集的增加,優(yōu)化特征提取網(wǎng)絡(luò),獲得性能更好的鍋爐水冷壁管缺陷分類識(shí)別和檢測(cè)模型。
對(duì)常見的鍋爐水冷壁管檢測(cè)目標(biāo)進(jìn)行分級(jí),將比較容易發(fā)生缺陷的區(qū)域檢測(cè)出來(lái)進(jìn)行分級(jí)處理,達(dá)到危險(xiǎn)等級(jí)的范圍做出預(yù)警,由專業(yè)的檢修人員復(fù)核判斷是否需要維護(hù)處理。
本文提出并且實(shí)現(xiàn)了鍋爐水冷壁管缺陷目標(biāo)自動(dòng)檢測(cè)的方法,構(gòu)建了鍋爐水冷壁管缺陷目標(biāo)檢測(cè)數(shù)據(jù)集,然后基于深度學(xué)習(xí)的方法建立了缺陷目標(biāo)檢測(cè)模型。在算法模型選擇方面,采用遷移學(xué)習(xí)的方法對(duì)YOLOv5 網(wǎng)絡(luò)訓(xùn)練模型進(jìn)行實(shí)驗(yàn)。采用了數(shù)據(jù)增強(qiáng),進(jìn)行數(shù)據(jù)擴(kuò)充。學(xué)習(xí)率lr 設(shè)為0.005,展開迭代次數(shù)為300 輪的模型訓(xùn)練,獲得在鍋爐水冷壁管數(shù)據(jù)上的最佳缺陷目標(biāo)檢測(cè)模型。通過(guò)實(shí)驗(yàn)數(shù)據(jù)表明,YOLOv5 算法對(duì)本文構(gòu)建的鍋爐水冷壁管缺陷目標(biāo)特征學(xué)習(xí)的很充分,檢測(cè)速度最快,IOU 為0.5,mAP 精度為97%,IOU=0.5:0.95 的值,mAP精度為76.3%。這一研究為鍋爐水冷壁管缺陷目標(biāo)自動(dòng)檢測(cè)提供了新的方法,可以提升鍋爐機(jī)組水冷壁管自動(dòng)化、高效化和智能化的檢測(cè)水平,減少電廠鍋爐機(jī)組的非停時(shí)間,提高電廠的經(jīng)濟(jì)效益。