鄧人瑋,熊瑞平,盧文翔,徐毅松,史東繁,楊康
基于YOLO神經網絡模型的自動噴涂線工件分類識別方法
鄧人瑋,熊瑞平*,盧文翔,徐毅松,史東繁,楊康
(四川大學 機械工程學院,四川 成都 610065)
針對自動噴涂生產線提出了一種基于YOLO-V3模型的改進密集型工件識別方法。介紹了自動噴涂生產線YOLO-V3 dense改進算法的總體方案流程,通過數據增強的方式獲取訓練集,并利用密集型網絡方法改進算法。對訓練后的模型,采用多角度測試集對比及不同神經網絡模型對比,評估改進的神經網絡模型。測試結果表明,提出的YOLO-V3 dense算法,縱向比較優于YOLO-V2和具有VGG16網絡模型的Faster R-CNN,橫向比較優于傳統的YOLO-V3模型,因此基于YOLO-V3改進的密集型神經網絡更加適合用來檢測常見噴涂工件。
深度神經網絡;工件識別;實時檢測;YOLO
目前,我國自動噴涂行業還停留在人工識別及只能大批量生產相同形狀工件的水平,耗時費力且成本變高??梢酝ㄟ^在自動噴涂生產線上加裝工件識別區域,針對待噴涂的工件進行識別、判斷種類,將結果傳送到工作臺,讓噴涂機械手完成預先制定好的噴涂路線。
現階段工件識別領域大多數采用二值化圖像或其他方法提取目標圖像的關鍵特殊信息,數學方法處理后工件輪廓與模板圖像輪廓進行對比,通過重復度的高低判斷物體種類,如:羅輝[1]提出胡氏不變矩陣用來比較輪廓;張明路[2]提出反向標記法生成目標物體描述向量,與需要檢測物體的描述向量進行對比,采用的改進SURF算法的正確率普遍維持在75%~80%之間,平均用時普遍在0.6~0.8 s之間。
本文提出了一種快捷、精確度高的神經網絡檢測方法,在YOLO-V3模型的基礎上,對其結構進行一定改進,調整迭代次數和其他參數,使模型在特征傳播、特征重用方面得到加強,并用K-means聚類算法和NMS非極大值抑制方法得到更優解的邊界框,能獲得更準確的圖像網格信息,降低信息在迭代過程中損失的概率,得到更精確快捷的改進。
整個自動噴涂生產線[3]的布局如圖1所示,一共分為七個主要部分:
(1)表面質量檢測裝置,由工業相機與支架構成,作用是實時拍攝噴涂完畢后的工件,通過算法分析其噴涂表面質量是否達到要求;
(2)傳送裝置,由吊具、架空軌道、鏈輪鏈條、滑架構成,作用是方便運輸、安裝、拆卸噴涂工件;
(3)支撐裝置,由六條橫梁和十二條立柱構成,起固定支撐的作用;
(4)驅動裝置,由兩臺步進電機、齒形鏈輪(一大一?。?、傳送帶構成,作用是為整條流水線運動提供動力,調整電機轉速便可調整生產線的運動速度;
(5)加工對象,需要提前清洗以避免噴涂表面有粉塵影響噴涂質量,再由工人懸掛到生產線;
(6)噴涂裝置,由新松機械臂、噴槍支架構成,可以通過點云技術對任意形狀的工件表面進行自動噴涂;
(7)工件識別區域,也是本文算法的應用區域,由一臺工業相機和支架構成,作用是檢測判斷即將噴涂的工件類型,并將信息傳送給噴涂裝置,省去了工人識別更換噴涂程序的時間成本;
另外還有鏈條的張緊裝置及一些安全裝置措施。
整條生產線的噴涂節拍由噴涂工件外表面的面積大小決定,產線的噴涂速度為每分鐘1~2個工件。噴涂線對自動噴涂軌跡做了優化,滿足生產需要。

1.工業相機(表面質量檢測區域);2.滑架軌道;3.支撐橫梁;4.驅動裝置;5.懸掛工件;6.噴涂裝置;7.工業相機(工件識別區域)。
流水線工作流程如圖2所示;首先將待加工工件進行清洗烘干,以避免粉塵附著影響噴涂質量;然后在識別區域通過工業相機采集工件圖像,傳送到計算機,通過預先訓練好的神經網絡模型進行檢測分類,并根據結果信息控制PLC,調用點云數據模型控制機械臂進行對應形狀工件的噴涂路線;噴涂完成后,經過表面質量檢測區域進行噴涂質量判斷是否合格,合格則由工人將其拆卸,不合格則分析問題所在、之后重新噴涂。
改進算法的流程圖如圖3所示:使用工業相機對圖像采集后,進行旋轉,鏡像,模糊,顏色平衡,調整亮度等數據增強處理,然后使用LabelImg進行數據集的人工標注,得到訓練樣本集,再使用本文改進后的神經網絡模型進行訓練,得到權重模型,對模型進行測試并得出相應的Loss曲線圖,Map和Recall值及其他相關數據,最后分析數據得出結論。

圖2 工作流程圖

圖3 算法流程圖
表1是本次實驗的環境參數信息。實驗采用的圖片由工業相機拍攝60幀1080×1920分辨率視頻(可模擬工業相機拍攝的生產線上的工件視頻),對象是噴涂常見工件,如飲水機外殼、椅子、垃圾桶,如圖4所示。在數據采集過程中,相機的拍攝位置大致與工業相機在工廠工作位置相同,并模擬實際光照條件,包括前照明、背光照明、側照明和散射照明。
將視頻逐幀截圖,得到每個工件500張圖片,隨機保留各200張共600張當作樣本用于訓練,其余900張圖片作為測試數據集。通過不同的數據增強辦法,把訓練樣本圖片增強到6000張當作訓練數據集,再對圖像進行逐一畫框分類,驗證YOLO V3改進模型的檢測能力。

表1 實驗環境數據
由于工廠環境[4]不如實驗室,如光照、角度,能會有圖像噪聲,而訓練數據集的完整性、豐富性直接決定神經網絡模型能否處理處于工
廠或露天等不同惡劣環境下的圖像。所以對拍攝到的圖像進行一定程度的預處理,如旋轉角度、調整亮度、顏色平衡及自定義模糊等,得到數據增強圖像及數量如圖5、表2所示。

表2 圖像增強數據

圖4 樣本部分圖片

圖5 數據增強后的圖像
2.2.1 圖像顏色
人類視覺系統可以在不斷變化的光和成像條件下確定物體表面的顏色不變性,但成像設備不具有這種顏色不變性。不同的照明條件會導致圖像顏色和真實顏色之間存在的一定偏差。灰色世界算法被用來消除燈光對色彩渲染的影響,該算法基于灰色世界假設,即對于表現出大量顏色變化的圖像,R、G和B分量的平均值趨于相同的灰度值。物理上,灰色世界算法假設來自自然物體的光的平均反射一般是一個固定值,近似為灰色。利用顏色平衡算法將這一假設應用于訓練集中的圖像。環境光的影響可以從圖像中消除,產生原始圖像。
2.2.2 圖像亮度
在訓練集中,從亮度最小到最大的值里面隨機選取三個數用來調整圖像的亮度,并將三個新的圖片添加到訓練集中。如果圖片的亮度過高或過低,那么在手動標注方框時,會由于目標的邊緣不清楚,很難繪制邊界框。如果不對這些圖像進行操作,在訓練過程中則會對檢測模型的性能和結果產生不利影響。為了避免產生這樣的圖片,根據手動標注對象的邊緣部分能否被準確識別來選擇恰當的圖像亮度變換范圍。
RGB圖片亮度計算公式為:

本實驗中調整的亮度為:對比度均為1.2,亮度分別為10、20、50。對比度越高圖片的暗處就會變得越亮。RGB的范圍為0~255。
該方法可以模擬不同光照條件下的噴涂工廠環境,以彌補神經網絡對圖像采集因時間集中而引起的各種光照強度不具魯棒性的缺點。
2.2.3 圖像旋轉
為了進一步拓展圖像的數據集,有更好的是實驗效果,對原始圖像進行90°、180°、270°的逆時針旋轉,這也能很大程度提高神經網絡模型的檢測性能。
2.2.4 圖像定義
由于工業攝像機對工件的拍攝距離偏長,不正確的聚焦或攝像機的移動,還有工廠的粉塵污染,都會導致獲取的圖像可能不清晰,還有一些其他的圖片噪聲,而模糊圖像也會影響神經網絡的檢測模型。所以本文也將由顏色、亮度、旋轉增強的圖像進行隨機模糊,利用模糊圖像當作樣本,以進一步提高檢測性能。
2.2.5 圖像的標注和數據集制作
圖片像素過高會導致訓練周期過長,根據已有實驗經驗[5],本文數據集里的圖片的長度均采用416像素,之后訓練會根據模型要求再調整圖像像素,并相應地調整圖片寬度,保持與原圖片相同的長寬比。為了對不同算法進行比較,數據集格式采用PASCAL VOC,再使用Python對圖片進行編號,而后使用Labelimg軟件對圖片一一進行手動標注分類,消除沒有標記或者不清楚的樣本,以防止神經網絡中的過度擬合。在工業攝像機工作時很難出現工件被遮擋的狀況,故此不予考慮。
圖6是神經網絡模型的簡易卷積過程。初始模型采用的損失函數是softmax[6],如式(2)所示,其輸出向量就是概率,是檢測樣本里面各類型工件的概率。圖7是logistic loss損失函數對比圖[7],能夠在margin小于零時給予較大的懲罰,YOLO-V3模型使用logistics loss函數,能夠將較小的誤差區分出來,從而分辨各自種類,提高了分類準確率。

圖6 神經網絡模型卷積過程

圖7 logistic損失函數對比圖
圖8是YOLO模型原理圖,具體步驟如下:
第一步,將訓練集劃分為×(=8)網絡,如果目標中心點落在網格上,那么網格就負責探測目標。每個網格都可以預測bounding box和他的置信度[8]得分,以及它屬于這一類工件的概率。置信度表示網格能否包含需要檢測的對象,還有當網格包含檢測對象的情況下預測邊界框的準確性的高低[9]。置信度的定義為:


第三步,保存并顯示最優解的邊界框。

圖8 YOLO模型原理圖
因為存在卷積和下采樣層,在訓練過程中特征映射的占比下降了,導致傳輸過程中對應的特征信息丟失。而密集型神經網絡能更有效地利用特征信息,采用前饋模式將每個層連接到其他層,因此第l層能夠接受以0,1, ..,X-1為輸入的前面層的所有特征信息,因此密集型網絡能夠減輕梯度消失(爆炸),增強特征傳播,促進特征重用,并大大減少參數數量。即:

式中:[0,1, ...,X-1]為圖層0,1, ...,X-1特征圖的拼接處;H為用于處理拼接特征圖的函數。
改進的YOLO-V3密集型網絡框架如圖9所示,網絡采用YOLO-V3的Darknet-53的體系結構,然后把原來較低分辨率的原始傳輸層用密集型網絡替換掉,以此達到增強特征傳播的目的、同時促進特征重用和融合。
為了更好地處理高分辨率圖像,首先是把416×416像素的初始圖象用python算法統一改成512×512像素替換(主要是神經網絡數據最好是16的倍數),方便后續網絡進行訓練,再用密集型網絡結構來替代和改善32×32和16×16的下采樣層,這個H函數使用的是BN-Rel U-Conv(1×1)-BN-Rel U-Conv(3×3)的功能(由三個連續操作的函數組成),通過特征層的層層拼接,最后得到32×32×512的特征層再向前傳播。在訓練過程中,當圖像的特征轉移到了下一層時,下一個特征層將會在密集網絡中接收到之前的所有特征信息,從而減少特征的損失。如此便可以使特征使用率增加,效果提高。最后,YOLO-V3 dense模型預測出三種不同尺度的邊界框,64×64、32×32、16×16,并對需要分類的噴涂工件,飲水機、椅子、垃圾桶進行分類,來模擬工廠所需要的噴涂工件的識別。

圖9 改進的YOLO-V3密集型網絡框架圖
為減少誤檢測的概率,在神經網絡訓練中需要結合使用精確度和召回率,才能客觀評價神經網絡訓練結果的好壞。
精確度()和召回率()的計算方法為:


式中:為成功預測的正例個數;為負例被模型誤判為正例的個數;為正例被錯誤預測為負例的個數。
像素設為416×416;Class設為3,表示本次實驗需要分類三種工件,分別是垃圾桶、飲水機、椅子;Filter設為24,表示輸出特征圖的數量,由式(7)計算得出;迭代次數設為30000;學習效率關系著訓練到最優解的速度,過高會導致無法收斂甚至過擬合、過低也會導致無法收斂,通過多次實驗得出設置學習率為0.001較為合適;Loss設為0.1,表示模型的損失函數值要通過迭代低于0.1便可以停止迭代;雖然batch越大越能減少訓練時間但為了提高準確度,每次迭代只計算一張圖片,所以batch設為1,從而他的子集subdivision也為1;根據工廠要求將置信度IOU的閾值設置為0.8。

4.3.1 Loss
本次實驗訓練時,總的迭代次數設為30000次,每一個epoch值代表一個迭代周期,完成一個周期的迭代則會輸出一次權重模型,并將Loss值記錄保存下來。在前2000次迭代時一個epoch設為50,大于2000次迭代后一個epoch設為500,大約經過14000次迭代后,Loss值趨于穩定,模型各個參數基本不在發生變化,如圖10所示,迭代次數小于1000時Loss下降迅速,大約在6000次迭代后,趨于穩定并下降到目標值0.1以下。Loss隨batch值變化曲線如圖10所示。
4.3.2 本模型檢測結果
圖11為所訓練垃圾桶、飲水機、椅子的準確率和召回率關系曲線圖,曲線以下部分的面積就是這個類別的AP(代表這一類別的檢測準確度),mAP就是所有類的AP值求平均。

圖10 Loss隨batch值變化曲線
本次訓練對象的識別效果如圖12(a)(b)(c)所示,圖12(d)是使用非訓練對象圖片檢測模型,出現誤檢測概率低于2%,由于置信度閾值設置為0.8,所以置信度低于0.8的圖片將不會檢測出來。

圖11 訓練結果

圖12 圖像檢測
4.3.3 不同模型對比
使用不同目標檢測模型對準確率、平均耗時及檢測速率進行實驗。隨機選取100個數,根據樣本編號把對應圖片提取出來進行逐一檢測,將得出檢測邊界框的圖片記為正確,沒有出現邊界框的圖片記為錯誤,統計100張圖片的正確率,如表3所示。

表3 不同檢測模型對比
為了客觀評價模型,1是檢測模型精確度和召回率的一種加權平均,取值范圍為0~1,如式(8)所示。因為召回率和精確率都同等重要,為避免一個模型的精確度和召回率一個極高一個極低、而取平均值則都為0.5的情況,應采用加權平均的方式。

通過加強數據集,獲得更多圖像信息,改進了YOLO-V3模型框架,調整實驗具體參數,得到了較好的結果,達到了預期對于噴涂工件98%準確率的檢測目標。需要注意的是,在數據集采集過程中要保證同一個目標不同角度上的圖像數量,盡量保持一致,不然會出現某個角度的圖像識別不出來或準確率偏低的狀況。
[1]羅輝. 基于機器視覺的工件識別與定位系統設計與實現[J].組合機床與自動化加工技術,2021(1):103-105.
[2]張明路. 一種改進SURF特征匹配的裝配工件快速識別方法[J].機械設計與制造,2021(2):263-264.
[3]程昶運. 基于3D點云模型的自動噴涂路徑規劃研究[D]. 成都:四川大學,2020.
[4]王曉華. 基于改進YOLO深度卷積神經網絡的縫紉手勢檢測[J].紡織學報,2020,41(4):143-145.
[5]陳從平. 基于深度學習的電器目標檢測[J]. 機械,2020,47(1):1-8.
[6]蔣大星. 基于人臉檢測的自動紅眼消除算法研究[D]. 西安:西安電子科技大學,2010.
[7]楊梓豪. 基于區域卷積神經網絡的物體識別算法研究[D]. 北京:北京郵電大學,2017.
[8]周偉. 基于深度學習的視頻人臉檢測和目標跟蹤[D]. 煙臺:山東工商學院,2019.
[9]陳鑫東. 綜合水務信息管理平臺設計與實現[D]. 大連:大連理工大學,2019.
[10]王永宏. 基于機器視覺的汽車先進駕駛輔助系統中行人檢測技術研究[D]. 杭州:浙江大學,2019.
[11]譚景甲. 基于USRP與YOLOv3算法的信號采集與識別設計[J]. 現代電子技術,2019,42(23):(55-56).
[12]谷元保. 一種基于灰度世界模型自動平衡方法[J]. 計算機仿真,2005,22(9):185-186.
Classification Recognition of Automatic Spray Line Work-Piece Based on YOLO Neural Network Model
DENG Renwei,XIONG Ruiping,LU Wenxiang,XU Yisong,SHI Dongfan,YANG Kang
( School of Mechanical Engineering, Sichuan University, Chengdu610065, China )
An improved method based on YOLO-V3 model is proposed to solve the problem of intelligent identification of work-piece in automatic spraying production line. This paper introduces the General Scheme flow of the improved YOLO-V3dense algorithm for the structure of automatic spraying production line. The training set is obtained by means of data enhancement, and the YOLO-V3 algorithm is improved by means of intensive network method. After the training, the improved neural network model is evaluated by comparing the multi-angle test set and different neural network models. The test results show that the proposed Yolo-v3dense Algorithm is superior to YOLO-V2 and Faster R-CNN with VGG16 network model in longitudinal comparison and to YOLO-V3 model in transverse comparison. Therefore, the dense neural network improved by YOLO-V3 is more suitable for detecting common spraying work-piece.
deep neural network;work-piece recognition;real-time;YOLO
TP389.1
A
10.3969/j.issn.1006-0316.2022.03.011
1006-0316 (2022) 03-0065-09
2021-06-15
四川省科技廳重點研發項目:智能涂裝產線關鍵技術的開發與集成(2020YFG0119)
鄧人瑋(1996-),男,四川內江人,碩士研究生,主要研究方向為機械電子,E-mail:963081849@qq.com。*通訊作者:熊瑞平(1970-),男,江西瑞金人,博士,副教授,主要研究方向為工業機器人應用及智能控制技術,E-mail:xiongruiping@163.com。