丁咚,邱曉峰
(上海煙草集團(tuán)有限責(zé)任公司上海卷煙廠,上海 200082)
近年來,人工智能技術(shù)的崛起受到了社會各界的高度關(guān)注,深度學(xué)習(xí)作為人工智能技術(shù)的重要分支推動著傳統(tǒng)制造業(yè)運(yùn)營模式的轉(zhuǎn)型,受到了業(yè)界的廣泛認(rèn)可。圖像識別作為深度學(xué)習(xí)中重要應(yīng)用領(lǐng)域之一,其核心為卷積神經(jīng)網(wǎng)絡(luò),相較于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),其主要優(yōu)勢在于權(quán)重共享以及局部空間信息的有效利用[1]。當(dāng)前,工業(yè)領(lǐng)域中較為常用的深度學(xué)習(xí)算法有目標(biāo)檢測算法和人體關(guān)鍵點(diǎn)算法等,其中,地面異物的檢測有助于增強(qiáng)生產(chǎn)車間的安全管理,保證現(xiàn)場工作人員的人身安全,常見的地面異物包括機(jī)油滴漏、地面積水等。
在實(shí)際生產(chǎn)過程中,設(shè)備器件老化、螺栓松動等問題會引起機(jī)油、水的異常滲出,并滴落在過道上,若不進(jìn)行及時清理可能會引發(fā)安全事故。為了能夠及時應(yīng)對此類問題,通常情況下,生產(chǎn)車間會配置巡檢人員定時對現(xiàn)場的異常情況進(jìn)行排查,事實(shí)上,這些人員工作量不飽和,且無法承擔(dān)其他非現(xiàn)場的工作,導(dǎo)致了車間人力資源的浪費(fèi)。本文針對地面機(jī)油滴落場景,如圖1所示,采用了一種基于YOLO的檢測模型,基于現(xiàn)場采集的地面數(shù)據(jù),對現(xiàn)場過道異常情況進(jìn)行實(shí)時分析,并對異常情況進(jìn)行實(shí)時報(bào)警、預(yù)警,實(shí)現(xiàn)對生產(chǎn)車間的智能巡檢。
本文將機(jī)油滴漏識別算法的構(gòu)建分為以下三部分,即數(shù)據(jù)處理、模型訓(xùn)練以及模型優(yōu)化,整體流程如圖2所示。
目標(biāo)檢測模型主要可以分為兩類,即雙階段(two stage)和單階段(one stage)。常用的雙階段目標(biāo)檢測模型有RCNN、fast RCNN以及faster RCNN,常用的單階段檢測模型有YOLO和SSD。Girshick等人提出了RCNN網(wǎng)絡(luò),將卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)相結(jié)合應(yīng)用于目標(biāo)檢測任務(wù)中[2]:在RCNN網(wǎng)絡(luò)基礎(chǔ)上減少了重復(fù)運(yùn)算,將回歸與分類網(wǎng)絡(luò)一起進(jìn)行訓(xùn)練,提升了模型速度;將候選區(qū)域生成、特征提取、分類、回歸四個步驟進(jìn)行聚合,進(jìn)一步地提升了模型效率。單階段的檢測模型YOLO,實(shí)現(xiàn)了單個網(wǎng)絡(luò)完成整個檢測流程,并將目標(biāo)檢測作為回歸問題進(jìn)行處理;在候選框的基礎(chǔ)上進(jìn)行回歸,得到候選框的偏移值,并采用多尺度特征圖用于檢測。在YOLO基礎(chǔ)上調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu),采用了多尺度輸出,使得模型適用于小目標(biāo)檢測。
深度學(xué)習(xí)模型依賴于大規(guī)模數(shù)據(jù)的支持,而數(shù)據(jù)量的提升帶來了人力和時間上的大量投入。針對上述問題,本文采用數(shù)據(jù)合成的方式人工生成訓(xùn)練數(shù)據(jù),將采集到的背景和素材進(jìn)行隨機(jī)融合,得到具有與真實(shí)樣本相似特征的數(shù)據(jù)。
分別采集背景數(shù)據(jù)和機(jī)油數(shù)據(jù),通過摳圖的方式提取機(jī)油,并將機(jī)油樣本保存為背景透明的圖像,再以隨機(jī)的方式將機(jī)油樣本與背景數(shù)據(jù)進(jìn)行匹配融合。在合成過程中,增加了旋轉(zhuǎn)、亮度調(diào)整等操作來增強(qiáng)樣本的多樣性,同時也提升了數(shù)據(jù)的真實(shí)性,由于數(shù)據(jù)合成時其位置是已知的,因此同時能夠獲取數(shù)據(jù)標(biāo)注。這種數(shù)據(jù)合成的方式優(yōu)勢在于節(jié)省了數(shù)據(jù)采集以及人工標(biāo)注的時間[3]。
本文采用基于YOLO的檢測模型實(shí)現(xiàn)對車間地面機(jī)油滴漏的識別,模型結(jié)構(gòu)如圖3所示。
在數(shù)據(jù)預(yù)處理中,采用了Mosaic數(shù)據(jù)增強(qiáng)方法來豐富訓(xùn)練數(shù)據(jù)的多樣性,分別對四張圖像進(jìn)行翻轉(zhuǎn)、縮放、色域變化等操作,將經(jīng)過圖像增強(qiáng)后的四張圖像進(jìn)行拼接,拼接后的新圖像將作為模型的輸入,每一張拼接后圖像包含了拼接前四張圖像的所有信息,因此,在很大程度上豐富了待檢測對象的背景。
在神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)上,使用了跨階段局部網(wǎng)絡(luò)(CSP)作為模型主體(backbone)來提取圖像特征,選用了后融合的方式,使得模型在反向傳遞中,融合節(jié)點(diǎn)前的梯度的差異最大化,相較于瓶頸結(jié)構(gòu),CSP結(jié)構(gòu)減少了算力消耗,平衡了每一層的計(jì)算,避免了梯度信息的重復(fù)利用,在提升了模型的準(zhǔn)確率的同時減少了網(wǎng)絡(luò)參數(shù)量;在此基礎(chǔ)上,將模型前三層卷積層替換成了focus結(jié)構(gòu),對于每一張?zhí)卣饔成鋱D,每隔一個像素進(jìn)行采樣并組合,原特征映射圖被拆分為四份,將四張圖像進(jìn)行通道維度上的拼接(concatenate),此時通道數(shù)擴(kuò)大了4倍,空間信息分布至通道維度上,再對新特征映射圖進(jìn)行卷積,相較于直接對原圖進(jìn)行卷積,focus模塊擴(kuò)大了卷積核的覆蓋區(qū)域,因此,該結(jié)構(gòu)的優(yōu)勢可以總結(jié)為以下幾點(diǎn),在下采過程中擴(kuò)大了感受視野,并且空間信息得到了最大程度的保留,另外,相較于修改前的三層卷積,focus結(jié)構(gòu)降低了參數(shù)量,提升了模型計(jì)算速度[4]。
在Neck結(jié)構(gòu)中采用特征金字塔(FPN)和路徑增強(qiáng)(PAN)。由于不同尺度的特征映射圖包含了不同的信息,淺層特征映射圖通常包含更多的低級特征(如紋理信息)且尺寸較大,而深層特征映射圖通常包含更多的語義信息,淺層特征有利于模型進(jìn)行定位,而深層特征有利于模型進(jìn)行分類。首先,空間金字塔結(jié)構(gòu)主要分為兩條路徑,一條路徑自底向上,該路徑與傳統(tǒng)卷積層相似,提取圖像特征并減小圖像尺寸,另一條路徑自頂向下,其輸入為第一條路徑的輸出,以上采樣的方式對特征映射圖尺寸進(jìn)行放大,兩條路徑之間相同尺度的特征映射圖相互連接,該結(jié)構(gòu)提升了模型對小目標(biāo)物體的識別率,并保留了更多的語義特征。在此基礎(chǔ)上,路徑增強(qiáng)結(jié)構(gòu)在特征金字塔后再次采用自底向上的結(jié)構(gòu),將淺層大尺度定位特征向深層傳遞。因此,通過將特征金字塔與路徑增強(qiáng)結(jié)構(gòu)相結(jié)合,既增強(qiáng)了語義信息,同時也保留了定位特征[5]。
針對不同尺寸的目標(biāo),網(wǎng)絡(luò)輸出層設(shè)置了三種不同尺度的輸出,輸出結(jié)果為基于預(yù)設(shè)的錨定框的相對位置、置信度以及類別概率。
訓(xùn)練中,采用了GIoU損失函數(shù)和Focal損失函數(shù)分別對預(yù)測框和預(yù)測結(jié)果進(jìn)行約束。其中,GIoU損失函數(shù)定義如下:
其中,IoU為預(yù)測框與標(biāo)注框的交并比,Ac為預(yù)測框與標(biāo)注框外界的最小矩形面積,U為預(yù)測框與標(biāo)注框的并集。
Focal損失函數(shù)定義如下:
其中,p為預(yù)測置信度和類別概率,γ因子增加了錯分類樣本的權(quán)重,α因子平衡正負(fù)樣本。
本文采用了Adam優(yōu)化算法來迭代更新網(wǎng)絡(luò)參數(shù),批尺寸(batch size)為16,初始學(xué)習(xí)率為1×10-4,訓(xùn)練迭代次數(shù)設(shè)置為100,在訓(xùn)練過程中,采用了余弦學(xué)習(xí)率衰減方法對學(xué)習(xí)率進(jìn)行調(diào)整。
本文中使用人工合成和真實(shí)數(shù)據(jù)的混合數(shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù)。采集了生產(chǎn)車間的地面作為實(shí)驗(yàn)背景、滴落的機(jī)油樣本作為實(shí)驗(yàn)素材,每張地面背景圖像中隨機(jī)合成了1~5片機(jī)油樣本,共合成了一千張圖像作為訓(xùn)練數(shù)據(jù)集。生成的訓(xùn)練數(shù)據(jù)的效果如圖4所示。將合成數(shù)據(jù)訓(xùn)練得到的初版模型進(jìn)行測試,將測試數(shù)據(jù)中效果較差的真實(shí)數(shù)據(jù)加入訓(xùn)練數(shù)據(jù)后再次進(jìn)行訓(xùn)練,迭代優(yōu)化模型直至模型達(dá)到測試標(biāo)準(zhǔn)[6]。
在待測試區(qū)域隨機(jī)倒5片機(jī)油,測試前需要確定能夠通過相機(jī)觀察到機(jī)油位置,使用模型對地面滴漏機(jī)油進(jìn)行識別。對于每片機(jī)油,若模型能夠?qū)⑵渥R別,則視為識別成功,反之則識別失敗,對上述測試過程重復(fù)5次,并記錄每次的實(shí)驗(yàn)結(jié)果。
本文選用精確率(precision)和召回率(recall)作為量化標(biāo)準(zhǔn),精確率和召回率計(jì)算公式如下所示:
其中,TP表示真正類,F(xiàn)P表示假正類,F(xiàn)N表示假負(fù)類。
實(shí)驗(yàn)的量化結(jié)果如表1所示,可視化效果如圖5所示。通過觀察實(shí)驗(yàn)結(jié)果可以得出,模型在不同拍攝條件下均能夠檢測出機(jī)油的位置,且模型在準(zhǔn)確率和召回率兩個指標(biāo)上分別達(dá)到了100%和94.1%。針對漏檢數(shù)據(jù)進(jìn)行統(tǒng)計(jì),當(dāng)前模型能夠檢測的最小機(jī)油面積占比為0.03%。結(jié)合上述分析可以證明當(dāng)前模型在機(jī)油滴漏檢測任務(wù)中的有效性。

表1 實(shí)驗(yàn)結(jié)果
本文采用深度學(xué)習(xí)模型對地面滴落的機(jī)油進(jìn)行識別,為了節(jié)省人工標(biāo)注以及數(shù)據(jù)采集的時間,采用了一種人工合成的方式生成訓(xùn)練數(shù)據(jù),使用了YOLO目標(biāo)檢測模型對生成數(shù)據(jù)進(jìn)行訓(xùn)練,得到一種輕量級的檢測模型,并通過實(shí)驗(yàn)證明了該模型的有效性。