李雪迪 李公平 王文學(xué) 許經(jīng)偉 查德飛
(中國電信股份有限公司安徽分公司,安徽 合肥 230000)
借助AI 能力提升工程管理的數(shù)字化、智慧化有利于提高工程建設(shè)管理的效率和質(zhì)量。目前需要施工質(zhì)量管控的工程數(shù)量多、分散在各地,而工程管理員數(shù)量嚴(yán)重不足。面對大量的現(xiàn)場施工質(zhì)檢環(huán)節(jié)的拍照圖片,工程管理員無法逐一完成人工審核,需借助AI 能力檢測和識別出圖像中的關(guān)鍵信息。工程質(zhì)檢中圖像應(yīng)用離不開目標(biāo)檢測算法,目標(biāo)檢測算法的主要功能為找出圖像中所感興趣的目標(biāo),同時獲得目標(biāo)的類別信息和位置信息。目標(biāo)檢測算法主要分為傳統(tǒng)的目標(biāo)檢測算法和基于深度學(xué)習(xí)的圖像檢測算法,傳統(tǒng)的目標(biāo)檢測算法存在特征設(shè)計困難且效率低下、滑動窗口尋找識別目標(biāo)框速度慢等缺點,本文主要研究分析基于深度學(xué)習(xí)的圖像檢測算法在工程質(zhì)檢中的應(yīng)用。
工程管理中存在大量的設(shè)備型號檢測和識別場景,本文將以空開設(shè)備和熔絲設(shè)備圖片為實驗數(shù)據(jù)進(jìn)行目標(biāo)檢測,為施工質(zhì)量審計驗收、資產(chǎn)盤點、故障溯源等提供依據(jù)。圖1 為空開圖片,該類型圖片型號主要以C 開頭,如C63、C32、C10等,存在少部分以A 結(jié)尾的型號,如32A、50A 等;圖2 為熔絲圖片,該類型圖片型號主要以A 結(jié)尾,如10A、63A、100A、250A、500A 等;圖像中紅色矩形框為業(yè)務(wù)側(cè)在收集圖片數(shù)據(jù)集時,已在原圖上作的標(biāo)記;圖片中紅色框內(nèi)的型號即為本模型需要檢測的區(qū)域。
業(yè)務(wù)要求識別空開熔絲圖片上特定設(shè)備的型號,而非全部設(shè)備的型號,即識別出圖片中標(biāo)記在紅色框內(nèi)以C 開頭或A 結(jié)尾的具體型號值,比如圖1 中3 個紅框內(nèi)的C63、圖2中2 個紅框內(nèi)的63A。
圖2 熔斷器
假如直接檢測設(shè)備型號文字區(qū)域可能會導(dǎo)致檢測到非業(yè)務(wù)部門關(guān)注的設(shè)備型號,即非紅框內(nèi)的設(shè)備型號,會造成業(yè)務(wù)上的干擾。現(xiàn)將工程任務(wù)拆分成如下三個階段: 圖像中紅色框區(qū)域檢測、紅色框內(nèi)文字區(qū)域檢測、文字區(qū)域設(shè)備型號識別。
在深度學(xué)習(xí)時代,基于CNN 的目標(biāo)檢測算法主要分為One-Stage 和Two-Stage 兩個方向,這兩種方法的主要區(qū)別在于是否產(chǎn)生候選區(qū)域,Two-Stage 先通過RPN(Region Proposal Network)生成候選區(qū)域,再通過分類和回歸網(wǎng)路得到圖片中目標(biāo)的位置和類別,而One-Stage 不需要RPN 階段,直接單次檢測出類別和位置信息。目前流行的兩階段算法包括:FasterRCNN、CascadeRCNN 等;一階段算法包括:YOLO 系列(YOLOv5、PPYOLO)等。以上四個模型經(jīng)過工業(yè)實踐打磨,已在施工質(zhì)量管控場景中得到廣泛應(yīng)用,本文將針對空開設(shè)備和熔絲設(shè)備型號識別任務(wù)分別進(jìn)行實驗,通過mAP 和Fps 比較幾種算法的實驗效果,為工程質(zhì)檢中遇到的圖像檢測場景提供測試依據(jù),同時選取適合的算法完成空開設(shè)備和熔絲設(shè)備型號識別任務(wù)。
FasterRCNN[1]模型提出了一種名為RPN 的網(wǎng)絡(luò)結(jié)構(gòu)來提取候選框,相比于傳統(tǒng)R-CNN 算法,替代了通過規(guī)則等產(chǎn)生候選框的方法,實現(xiàn)了端到端訓(xùn)練的同時大幅提升了訓(xùn)練速度。FasterRCNN 作為經(jīng)典的two-stage 檢測器,包含了用于推薦ROI 的RPN 網(wǎng)絡(luò)和用于分類和回歸的ROI Head,同時在RPN 網(wǎng)絡(luò)和ROI Head 中間加入了RoI Pooling 層,將RPN提取的不同大小的RoIs 固定到統(tǒng)一的大小,在沒有變形的情況下保證了全連接的輸入要求。
在FasterRCNN 算法中,不同輸入的proposal 自身IoU 分布和檢測器訓(xùn)練用的閾值IoU 較為接近的時候,檢測器的性能才達(dá)到最優(yōu),如果兩個閾值相距比較遠(yuǎn)就會出現(xiàn)mismatch問題,很難產(chǎn)生良好的檢測效果。為了解決mismatch 問題,多階段的CascadeRCNN[2]橫空出世。它由多個感知器構(gòu)成,這些感知器通過遞增的IoU 閾值分級段訓(xùn)練。一個感知器輸出一個良好的數(shù)據(jù)分布來作為輸入訓(xùn)練下一個高質(zhì)量感知器,緩解了假陽性的問題,在推理階段使用同樣的網(wǎng)絡(luò)結(jié)構(gòu)合理的提高了IoU 的閾值而不會出現(xiàn)之前所說的mismatch 問題。
CascadeRCNN 指出級聯(lián)多個R-CNN 模塊,并且不斷提高IoU 閾值,在每個階段不斷進(jìn)行正負(fù)樣本重采樣策略,不僅不會出現(xiàn)過擬合,而且可以實現(xiàn)極大的性能提升。
在Faster RCNN 中,RPN 與R-CNN 雖然共享卷積層,但RPN 網(wǎng)絡(luò)和R-CNN 網(wǎng)絡(luò)在模型訓(xùn)練過程中,需要反復(fù)訓(xùn)練。相對于R-CNN 系列的“看兩眼”(候選框提取與分類),YOLO 系列只需要Look Once。YOLO 將物體檢測作為一個回歸問題進(jìn)行求解,輸入圖像經(jīng)過一次inference,便能得到圖像中所有物體的位置和其所屬類別及相應(yīng)的置信概率。而RCNN 系列將檢測結(jié)果分為兩部分求解:物體類別(分類問題)和物體位置即bounding box(回歸問題)。
YOLO 系列是非常熱門的單階段目標(biāo)檢測算法,同時YOLO 系列也在不斷的進(jìn)化發(fā)展,YOLOV3[3]相比于YOLOV2在Head 部分增加了multi-scale 預(yù)測,將預(yù)測的bbox 分為大、中、小,有效增加了bbox 的數(shù)量,同時加深了主干網(wǎng)絡(luò),將Darknet19 變成Darknet53[4]。YOLOV5 和V4 在YOLOV3的基礎(chǔ)上,加入了一些創(chuàng)新且有效的tricks,權(quán)衡檢測速度與精度,進(jìn)一步提升YOLO 的效果。YOLOV5 和V4 都使用PANET[5]作為Neck 來聚合特征,Neck 主要用于生成特征金字塔,增強(qiáng)模型對于不同縮放尺度對象的檢測,從而能夠識別不同大小和尺度的同一個物體。百度提出的PPYOLO[6]也是基于YOLOV3 算法通過有效的tricks 組合來平衡目標(biāo)檢測器的性能以及速度。PPYOLO 的主干網(wǎng)絡(luò)使用ResNet50-vd[7]替換了Darknet53,為了彌補(bǔ)這種變換可能導(dǎo)致的性能損失,用可變形卷積替換了ResNet50-vd 的部分卷積層,適當(dāng)增加了網(wǎng)絡(luò)復(fù)雜度。但過多的DCN 會帶來額外的推理時間,PPYOLO 僅僅將最后一層的3x3 卷積替換成DCN卷積。
前面對幾種算法的原理和改進(jìn)方法做了介紹,下面將通過對空開設(shè)備和熔絲設(shè)備抽樣數(shù)據(jù)進(jìn)行實驗,比較Faster-RCNN、Cascade-RCNN、YOLOV5 和PPYOLO 中在工程管理應(yīng)用中的目標(biāo)檢測效果。
隨機(jī)抽選1000 張空開設(shè)備和熔斷器標(biāo)注圖片。
本次測試模型的數(shù)據(jù)增強(qiáng)方法和相關(guān)超參如表1 所示。
表1 訓(xùn)練模型相關(guān)參數(shù)
實驗環(huán)境:GPU: Tesla V100,顯存: 16GB;CPU: 2 Cores,內(nèi)存: 16GB。
用Faster-RCNN、Cascade-RCNN、YOLOV5 和PPYOLO分別對隨機(jī)抽樣的1000 個樣本訓(xùn)練的結(jié)果如圖3 和圖4 所示。
圖3 mAP 曲線
圖4 訓(xùn)練時長和推理Fps
由四個模型的mAP 曲線圖中可以看出:Cascade-RCNN在第3 個epoch 時趨于收斂,F(xiàn)aster-RCNN 在第10 個epoch時趨于收斂,收斂時Cascade-RCNN 的mAP 值(0.978)高于Faster-RCNN 的 mAP 值(0.961),Cascade-RCNN 采用muti-stage 重采樣proposals 以適應(yīng)更高閥值的階段,提升了模型的mAP 值;YOLOV5 在第6 個epoch 時趨于收斂,PPYOLO 在第16 個epoch 時趨于收斂,收斂時YOLOV5 的mAP 值(0.981)略低于PPYOLO 的mAP 值(0.986),YOLOV5收斂速度優(yōu)于PPYOLO,而PPYOLO 訓(xùn)練時loss 更加穩(wěn)定,抖動較小。四種算法在空開和熔絲場景下mAP 表現(xiàn)相差不大,而YOLOV5 和Cascade-RCNN 收斂于更少的epoch。
由四個模型的訓(xùn)練時長和Fps 圖中可以看出:四個模型訓(xùn)練時YOLOV5、PPYOLO、Cascade-RCNN 每個epoch 的訓(xùn)練時長相差不大,而Faster-RCNN 每個epcoh 的訓(xùn)練時長是其它三種算法的2 倍左右;推理時,YOLOV5 的Fps 最高(22.75),F(xiàn)aster-RCNN 的Fps 值(4.43)遠(yuǎn)低于其它三個模型,Cascade-RCNN 和PPYOLO 的Fps 值分別為12.91 和14.69。
綜上所述:單階段的YOLOV5 和PPYOLO 在訓(xùn)練速度和推理速度上明顯優(yōu)于二階段的Cascade-RCNN 和Faster-RCNN;隨著YOLO 系列在實際工程實踐中應(yīng)用普及,在不同方向增加了平衡有效性和效率的改進(jìn)方法,檢測的精準(zhǔn)度大幅度提高,四個模型在本次任務(wù)數(shù)據(jù)集上的mAP 效果基本一致??紤]到訓(xùn)練硬件限制和本場景后期應(yīng)用的時效性,在生產(chǎn)時使用mAP 和Fps 綜合表現(xiàn)更加合理的YOLOV5 算法。
將3 個階段模型進(jìn)行整合,檢測一推理服務(wù)→檢測二推理服務(wù)→階段三推理服務(wù),推理效果如圖5 所示。原始圖像經(jīng)過第一次推理服務(wù),檢測并裁剪出紅框區(qū)域,圖像邊緣即為第一次檢測框;在檢測裁剪后的圖像中,第二次推理檢測出文字區(qū)域,如圖5 所示。
圖5 推理效果
本文主要聚焦在工程質(zhì)檢中的圖像目標(biāo)檢測場景,對工業(yè)界目前流行的兩階段Faster RCNN、Cascade RCNN 和一階段YOLOV5、PPYOLO 算法在空開熔絲檢測場景進(jìn)行應(yīng)用研究。在空開熔絲檢測場景數(shù)據(jù)集上,YOLOV5、PPYOLO 的Fps 優(yōu)于Faster RCNN、Cascade RCNN;YOLOV5 和PPYOLO通過有效的tricks 組合平衡目標(biāo)檢測器的性能以及速度后,大幅度提高了檢測的均值平均精度mAP,在本數(shù)據(jù)集上的表現(xiàn)甚至略優(yōu)于Faster RCNN、Cascade RCNN。雖然本實驗受限特征數(shù)據(jù)集(標(biāo)注質(zhì)量、目標(biāo)大小、目標(biāo)類別等)、模型自身tricks 和硬件條件等因素的影響,不能完全橫向的比較四種算法效果,但實驗效果上還是能為后續(xù)的工程質(zhì)檢場景提供基礎(chǔ)的參考依據(jù),比如mAP 提升、訓(xùn)練速度、推理速度、模型穩(wěn)定性等。