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

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