陳文韻,王學影,胡曉峰,郭 斌
(1.中國計量大學計量測試工程學院,浙江 杭州 310018; 2.杭州沃鐳智能科技股份有限公司,浙江 杭州 310018)
隨著國家經濟與科技的不斷發(fā)展,以工業(yè)機器人與機器視覺為基礎的零件自動化裝配在工業(yè)生產得到廣泛應用。智能生產線在生產和裝配的過程中,通過機器視覺和多種傳感器,根據圖像所反映的不同特征信息[1],支持多種相似產品的混線生產和裝配,引導機器人抓取,并能夠靈活調整工藝,適應多品種生產模式。對于人工操作的工位,也能夠給予智能提示。智能生產線的未來發(fā)展將實現數字化、網絡化、柔性化以及高準確度、高速度、高效率。在市場的不斷需求下,生產線規(guī)模也向著多品種柔性的方向和信息密集的方向發(fā)展。
在機器視覺對圖像的識別領域內,卷積神經網絡擁有著巨大的優(yōu)勢,是第一個真正意義上的多層結構學習算法[2],其利用卷積核來提取圖片特征,大量卷積運算可以提取到深層次的圖像特征[3]。為使得網絡模型獲取更高的準確率,通常通過優(yōu)化網絡深度、網絡寬度和圖像分辨率的方法來實現,如ResNet[4]、DenseNet[5]、Faster R-CNN[6]等,但這些網絡模型常常只是優(yōu)化三個維度的其中一個維度,且需頻繁地手動進行參數的調整,仍舊會產生次優(yōu)的準確率與效率,檢測速度也較為緩慢。為了縮短檢測時間,加快檢測速率,后來逐步發(fā)展出onestage的目標檢測算法,從RoI的提取到識別、檢測均包含在一個框架下,實現了端到端,該類算法雖實現檢測速度的加快,但通常伴隨著檢測準確率的降低。Google團隊通過復合比較網絡深度、網絡寬度、圖像分辨率對準確率、參數量和浮點運算量的影響,首先提出了EfficientNet網絡模型[7],繼而在其基礎上又提出了基于加權雙向特征的EfficientDet網絡模型[8],獲得了較高的準確率與較快的檢測速度。由此,針對ECU零件,設計了一套基于EfficientDet的分類檢測系統(tǒng),并在BiFPN的基礎上增加跨級數據流,實現對多類別零件的檢測和分類。
針對傳統(tǒng)目標檢測算法,本文提出了基于EfficientDet目標檢測算法的ECU分類檢測方法,其流程圖如圖1所示。采用電子控制單元ECU作為檢測對象,將采集的ECU樣本圖片經圖像預處理后,按4∶1的比例分為訓練集和測試集,其中標注后的訓練集作為EfficientDet目標檢測算法的輸入,通過梯度下降法進行迭代,進而優(yōu)化網絡參數,幫助網絡更快的收斂,模型訓練完畢后通過測試集驗證其對ECU零件檢測的準確率,并對網絡進行評估。工業(yè)生產線要求零件識別的平均準確率達到90%以上,若網絡模型性能達到實際要求,則將網絡投入實際的ECU分類檢測中,反之則繼續(xù)調整網絡參數并重新訓練網絡。
圖1 EfficientDet的ECU識別檢測方法流程圖
EfficientDet采用EfficientNet作為主干特征提取網絡,其結構如圖2所示,其提出了一種新型的加權雙向特征提取網絡BiFPN,可實現簡單快速的多尺度特征融合,并結合了一種復合尺度擴張方法,該方法可以統(tǒng)一地對主干特征網絡和預測網絡的分辨率、深度和寬度進行縮放。主干特征提取網絡將輸入的圖片不斷進行下采樣提取特征得到P1~P7,由于P1、P2只進行了淺層的下采樣,不具有較高的語義信息,因此不將P1、P2輸入加強特征提取網絡。下采樣獲得的 P3、P4、P5、P6、P7稱之為有效特征層,將這5個有效的特征層傳入加強特征提取網絡進行進一步的特征提取,通過BiFPN的重復運算,將獲得的5個具有較高的語義信息的有效特征層傳輸入分類預測和回歸預測,進行特征整理獲得預測結果。
模型設計上,EfficientDet與YOLO[9]等主流的單級檢測網絡模型近似,仍舊運用的是“特征提取、多尺度特征融合、分類/回歸預測”的框架,其包含的D0~D7八個模型,隨著模型等級的提升,其參數越多,準確率越高,計算量越大,要求計算機性能越高,計算速度越慢??紤]到現實環(huán)境中所需ECU檢測準確率、效率和計算機系統(tǒng)的性能,選擇EfficientDet-D1進行對ECU的分類檢測。
與傳統(tǒng)的任意縮放網絡深度、寬度和分辨率三個因子不同,EfficientNet使用一組固定的縮放系數均勻地對網絡的寬度、深度和分辨率進行統(tǒng)一縮放,實現了利用簡單高效的復合系數完成了對三個參數所有維度的統(tǒng)一縮放,如圖3所示。內部采用MBConv卷積塊[10]堆疊而成,其結構如圖4所示,對輸入的特征層進行1× 1的卷積并升維后,進行深度可分離卷積,對通道施加注意力機制(SENet),其結構如圖5所示,判斷更加關注哪個通道內容,完成注意力機制的施加后,利用1× 1的卷積進行降維并與殘差進行組合輸出結果。為了降低過擬合風險,在網絡中加入Drop Connect算法,將隱含層節(jié)點中與其相連的輸入權值以一定概率清零,起到正則化效果,提高網絡泛化能力。
圖3 EfficientNet模型的調參示意圖
圖4 MBConv卷積塊
圖5 注意力機制
縮放網絡深度是許多卷積神經網絡最常用的優(yōu)化方法之一,雖然更深層的網絡可取得更為豐富、更為復雜的特征,但是由于梯度消失的原因,更深層的網絡也更難訓練;縮放網絡寬度往往運用于小型的模型,更廣泛的網絡往往能夠取得更細微的特征,但是很寬卻很淺的網絡往往難以獲得更高層的特征;對于使用更高分辨率的輸入圖像,卷積神經網絡能夠獲得潛在的細小特征,但對于極高的分辨率,其準確率又有所減少。因此三者需要一個平衡來使模型達到最優(yōu)狀態(tài)。EfficientNet提出了一種新的復合標度的方法,利用復合系數對網絡的深度、寬度和分辨率進行縮放,可由公式(1)表示:
式中:d,w,r——網絡深度、寬度、分辨率的系數;
α,β,γ——對應維度的資源分配參數;
φ——由用戶指定的資源控制系數。
α,β,γ 則能夠決定額外資源到網絡的寬度、深度和分辨率上的分配。在實際的深度學習的應用中,通過不停地修改網絡深度、寬度、圖像分辨率的系數,EfficientNet網絡模型將逐漸達到最優(yōu)的準確率[11]。
較早的檢測器只是簡單的使用骨干網絡提取的金字塔特征層甚至只在最后一層[12]進行類別和位置預測。FPN[13]首次通過使用自上而下的途徑來組合多尺度特征,如圖6(a)。PANet[14]在其基礎上,額外增加了一條自底向上的路徑來進一步融合特征,如圖6(b)。隨著自動機器學習的發(fā)展,NAS-FPN使用了神經架構搜索自動設計了特征網絡拓撲結構,如圖6(c)。雖然 NAS-FPN擁有優(yōu)異性能,但其消耗大量算力,且生成的FPN網絡不規(guī)律。
圖6 特征融合網絡設計
EfficientDet使用一種新型高效的雙向特征提取網絡BiFPN,如圖7(a),通過將骨干網絡EfficientNet結構中3~7層的輸出特征不斷得做自頂向下和自底向上的特征融合,使用以下技巧來提高性能:1)擁有自頂向下以及自底向上這兩條路徑的融合特征;2)忽略只有一個輸入的節(jié)點并加入跳躍連接以輕量化網絡;3)可學習權重自動加權融合過程的輸入特征。為了更充分地利用不同層級的語義和位置信息,在 BiFPN的設計基礎上增加數據流,將下層節(jié)點特征融合到上層節(jié)點中共同學習[15],如圖7(b),增加了跨級的數據流,提升了網絡性能。
圖7 BiFPN的改進過程圖
由于在本Efficientdet的訓練過程中,正負樣本極不平衡,如圖8所示,即存在著對應真實框的先驗框可能只有若干個,但不存在對應真實框的負樣本卻有上千個甚至上萬個的情況,導致負樣本的loss值極大。
圖8 正負樣本數
為了解決這個問題,則引入Focal Loss來平衡正負樣本。實驗中將EfficientDet網絡模型的損失函數的計算分成兩個部分,一為獲取所有正標簽的框的預測結果的回歸損失Smooth L1 Loss,如式(2), 可更好地避免因出現較大的錯誤偏移去主導損失,最終造成梯度爆炸的情況;二為取得所有未被忽略的種類的預測結果的交叉熵分類損失Focal Loss,可控制正負樣本和易難分類樣本的權重。
式中:v=(vx,vy,vw,vh)——真實框的框坐標;
該實驗應用在ECU混線自動分揀上料系統(tǒng)上,圖像的采集由REALSENSE D435i相機完成,通過RGB攝像頭拍照獲取各類ECU原始圖像。為防止所建網絡出現過擬合現象,經采集得到2000張ECU原始圖像,對原始圖像進行標注,再通過數據增強策略,將原始圖像通過翻轉圖像、改變明暗、改變色域、增加噪聲等方式進行樣本的擴增,增加樣本的同時減小標注成本,數據增強過程中,使用padding的方式,使樣本圖片不失真并保持原本尺寸,最終共獲得10 000張圖像樣本,對樣本進行歸一化處理,按照4∶1的比例分為訓練集、測試集來建立和驗證模型。
在圖像識別任務中,大部分數據存在相關性,通過遷移學習可將已學到的模型參數分享給新模型,從而加快并優(yōu)化模型的學習效率[16]。在訓練中采用預訓練模型,對EfficientDet-D1模型進行遷移學習,共訓練200個epoch,并對EfficientDet-D1得到的權重參數進行部分凍結處理,在前100個epoch的訓練過程中不對其進行計算,設置學習率為0.001,batch size為4,大大縮減模型的訓練時間,后100個epoch對凍結部分進行解凍,設置學習率為 0.000 1,batch size為 2。
標注對建立深度學習網絡至關重要,樣本標注不準確很容易導致在后期訓練深度學習網絡時模型不收斂的情況。針對該實驗樣本,采用labelimg軟件進行標注,如圖9,標注后自動保存為xml文件生成VOC數據集,將生成的VOC數據集通過數據增強得到的新數據集的路徑添加至代碼中進行改進的EfficientDet-D1網絡的訓練。
圖9 樣本標記示意圖
本訓練搭建深度學習網絡的主要環(huán)境如下:處理器為Intel Core i7-7700,16G內存,GPU為GTX 1070,操作系統(tǒng)為 Windows10,依賴 python3.7、tensorflow-gpu2.1.0、CUDA10.1、cuDNNv7.6。為了驗證EfficientDet網絡性能,將在相同實驗條件下,采用多種網絡模型對同一數據集進行訓練并將實驗結果進行對比。
繪制出網絡模型隨訓練次數增加而變化的損失函數圖和精確率(Accuracy)曲線圖,如圖10所示。從圖10中可看出,EfficientDet網絡的損失函數震蕩幅度小,且能迅速收斂,隨著迭代次數的增加,網絡模型的損失值呈不斷減小的趨勢,在epoch為100處對凍結部分的權重參數解凍,解凍時損失函數值有少許增大,但隨著迭代次數的進一步增加,損失函數值逐漸減小趨于穩(wěn)定,最終穩(wěn)定在0.025左右;同時,隨著迭代次數的增加,精確率在前50個epoch快速上升,而后減緩上升趨勢并逐漸趨于穩(wěn)定。
圖10 改進的EfficientDet-D1網絡損失函數和精確率圖
圖11(a),準確率(Precision)表示在預測的樣本中,實際正樣本數在所有正樣本數中所占的比例,最終得到改進的EfficientDet-D1網絡的準確率為93.4%;圖11(b),召回率(Recall)表示在預測的樣本中,實際正樣本數在所有預測樣本中占有的比例,最終得到改進的EfficientDet-D1網絡的召回率為90.8%。
圖11 改進的EfficientDet-D1準確率和召回率圖
分別比較各網絡的檢測性能,如表1所示。EfficientDet網絡,訓練耗時較短,且不需要區(qū)域候選網絡,其采用的新型加權雙向特征提取網絡結合復合尺度擴張方法,更簡單快速地實現多尺度特征融合,在檢測速度和準確率上明顯優(yōu)于Mask RCNN、Faster R-CNN網絡。改進的EfficientDet-D1網絡的參數量大于EfficientDet-D0,其檢測時間稍長于EfficientDet-D0,但語義信息更豐富,特征的提取、學習更深入,其準確率明顯高于EfficientDet-D0。在實際生產應用時,由于現場環(huán)境存在光照不勻、檢測物體重疊等不確定因素,改進的EfficientDet-D1網絡魯棒性更強,更能適應環(huán)境以準確地檢測出物體種類并快速定位,減小生產線裝配壓力,其實際應用中效率高于EfficientDet-D0網絡。在ECU裝配生產線中選用改進的EfficientDet-D1做為檢測網絡更符合要求。
表1 網絡模型性能對比
改進的EfficientDet-D1網絡檢測結果如圖12所示。將兩種類型的ECU外殼擺放成各種不同的角度,觀察檢測結果可看出,在不同角度不同對象的情況下,改進的EfficientDet-D1網絡模型的檢測結果均正確且置信度得分普遍較高,符合實際在ECU裝配生產線上的要求。
圖12 ECU外殼檢測效果圖
針對機械零件研究了基于深度卷積神經網絡的目標檢測算法EfficientDet,并對算法的原理進行了分析。對采集到的樣本進行預處理、數據增強與標注,并與其他網絡模型進行比較分析。實驗表明,對于Faster R-CNN、Mask R-CNN網絡產生的檢測速度慢、準確率不高的問題,EfficientDet網絡回歸物體的類別概率和位置坐標值,同時通過BiFPN與復合尺度擴張方法,提高了模型的檢測速度與檢測準確率;實際生產應用中,改進的EfficientDet-D1網絡比EfficientDet-D0網絡更能適應環(huán)境以準確地檢測出ECU種類并快速定位,其準確率高效率高,滿足實時檢測的要求。