鄧人瑋,熊瑞平,盧文翔,徐毅松,史東繁,楊康
基于YOLO神經(jīng)網(wǎng)絡模型的自動噴涂線工件分類識別方法
鄧人瑋,熊瑞平*,盧文翔,徐毅松,史東繁,楊康
(四川大學 機械工程學院,四川 成都 610065)
針對自動噴涂生產(chǎn)線提出了一種基于YOLO-V3模型的改進密集型工件識別方法。介紹了自動噴涂生產(chǎn)線YOLO-V3 dense改進算法的總體方案流程,通過數(shù)據(jù)增強的方式獲取訓練集,并利用密集型網(wǎng)絡方法改進算法。對訓練后的模型,采用多角度測試集對比及不同神經(jīng)網(wǎng)絡模型對比,評估改進的神經(jīng)網(wǎng)絡模型。測試結(jié)果表明,提出的YOLO-V3 dense算法,縱向比較優(yōu)于YOLO-V2和具有VGG16網(wǎng)絡模型的Faster R-CNN,橫向比較優(yōu)于傳統(tǒng)的YOLO-V3模型,因此基于YOLO-V3改進的密集型神經(jīng)網(wǎng)絡更加適合用來檢測常見噴涂工件。
深度神經(jīng)網(wǎng)絡;工件識別;實時檢測;YOLO
目前,我國自動噴涂行業(yè)還停留在人工識別及只能大批量生產(chǎn)相同形狀工件的水平,耗時費力且成本變高??梢酝ㄟ^在自動噴涂生產(chǎn)線上加裝工件識別區(qū)域,針對待噴涂的工件進行識別、判斷種類,將結(jié)果傳送到工作臺,讓噴涂機械手完成預先制定好的噴涂路線。
現(xiàn)階段工件識別領域大多數(shù)采用二值化圖像或其他方法提取目標圖像的關(guān)鍵特殊信息,數(shù)學方法處理后工件輪廓與模板圖像輪廓進行對比,通過重復度的高低判斷物體種類,如:羅輝[1]提出胡氏不變矩陣用來比較輪廓;張明路[2]提出反向標記法生成目標物體描述向量,與需要檢測物體的描述向量進行對比,采用的改進SURF算法的正確率普遍維持在75%~80%之間,平均用時普遍在0.6~0.8 s之間。
本文提出了一種快捷、精確度高的神經(jīng)網(wǎng)絡檢測方法,在YOLO-V3模型的基礎上,對其結(jié)構(gòu)進行一定改進,調(diào)整迭代次數(shù)和其他參數(shù),使模型在特征傳播、特征重用方面得到加強,并用K-means聚類算法和NMS非極大值抑制方法得到更優(yōu)解的邊界框,能獲得更準確的圖像網(wǎng)格信息,降低信息在迭代過程中損失的概率,得到更精確快捷的改進。
整個自動噴涂生產(chǎn)線[3]的布局如圖1所示,一共分為七個主要部分:
(1)表面質(zhì)量檢測裝置,由工業(yè)相機與支架構(gòu)成,作用是實時拍攝噴涂完畢后的工件,通過算法分析其噴涂表面質(zhì)量是否達到要求;
(2)傳送裝置,由吊具、架空軌道、鏈輪鏈條、滑架構(gòu)成,作用是方便運輸、安裝、拆卸噴涂工件;
(3)支撐裝置,由六條橫梁和十二條立柱構(gòu)成,起固定支撐的作用;
(4)驅(qū)動裝置,由兩臺步進電機、齒形鏈輪(一大一?。?、傳送帶構(gòu)成,作用是為整條流水線運動提供動力,調(diào)整電機轉(zhuǎn)速便可調(diào)整生產(chǎn)線的運動速度;
(5)加工對象,需要提前清洗以避免噴涂表面有粉塵影響噴涂質(zhì)量,再由工人懸掛到生產(chǎn)線;
(6)噴涂裝置,由新松機械臂、噴槍支架構(gòu)成,可以通過點云技術(shù)對任意形狀的工件表面進行自動噴涂;
(7)工件識別區(qū)域,也是本文算法的應用區(qū)域,由一臺工業(yè)相機和支架構(gòu)成,作用是檢測判斷即將噴涂的工件類型,并將信息傳送給噴涂裝置,省去了工人識別更換噴涂程序的時間成本;
另外還有鏈條的張緊裝置及一些安全裝置措施。
整條生產(chǎn)線的噴涂節(jié)拍由噴涂工件外表面的面積大小決定,產(chǎn)線的噴涂速度為每分鐘1~2個工件。噴涂線對自動噴涂軌跡做了優(yōu)化,滿足生產(chǎn)需要。
1.工業(yè)相機(表面質(zhì)量檢測區(qū)域);2.滑架軌道;3.支撐橫梁;4.驅(qū)動裝置;5.懸掛工件;6.噴涂裝置;7.工業(yè)相機(工件識別區(qū)域)。
流水線工作流程如圖2所示;首先將待加工工件進行清洗烘干,以避免粉塵附著影響噴涂質(zhì)量;然后在識別區(qū)域通過工業(yè)相機采集工件圖像,傳送到計算機,通過預先訓練好的神經(jīng)網(wǎng)絡模型進行檢測分類,并根據(jù)結(jié)果信息控制PLC,調(diào)用點云數(shù)據(jù)模型控制機械臂進行對應形狀工件的噴涂路線;噴涂完成后,經(jīng)過表面質(zhì)量檢測區(qū)域進行噴涂質(zhì)量判斷是否合格,合格則由工人將其拆卸,不合格則分析問題所在、之后重新噴涂。
改進算法的流程圖如圖3所示:使用工業(yè)相機對圖像采集后,進行旋轉(zhuǎn),鏡像,模糊,顏色平衡,調(diào)整亮度等數(shù)據(jù)增強處理,然后使用LabelImg進行數(shù)據(jù)集的人工標注,得到訓練樣本集,再使用本文改進后的神經(jīng)網(wǎng)絡模型進行訓練,得到權(quán)重模型,對模型進行測試并得出相應的Loss曲線圖,Map和Recall值及其他相關(guān)數(shù)據(jù),最后分析數(shù)據(jù)得出結(jié)論。
圖2 工作流程圖
圖3 算法流程圖
表1是本次實驗的環(huán)境參數(shù)信息。實驗采用的圖片由工業(yè)相機拍攝60幀1080×1920分辨率視頻(可模擬工業(yè)相機拍攝的生產(chǎn)線上的工件視頻),對象是噴涂常見工件,如飲水機外殼、椅子、垃圾桶,如圖4所示。在數(shù)據(jù)采集過程中,相機的拍攝位置大致與工業(yè)相機在工廠工作位置相同,并模擬實際光照條件,包括前照明、背光照明、側(cè)照明和散射照明。
將視頻逐幀截圖,得到每個工件500張圖片,隨機保留各200張共600張當作樣本用于訓練,其余900張圖片作為測試數(shù)據(jù)集。通過不同的數(shù)據(jù)增強辦法,把訓練樣本圖片增強到6000張當作訓練數(shù)據(jù)集,再對圖像進行逐一畫框分類,驗證YOLO V3改進模型的檢測能力。
表1 實驗環(huán)境數(shù)據(jù)
由于工廠環(huán)境[4]不如實驗室,如光照、角度,能會有圖像噪聲,而訓練數(shù)據(jù)集的完整性、豐富性直接決定神經(jīng)網(wǎng)絡模型能否處理處于工
廠或露天等不同惡劣環(huán)境下的圖像。所以對拍攝到的圖像進行一定程度的預處理,如旋轉(zhuǎn)角度、調(diào)整亮度、顏色平衡及自定義模糊等,得到數(shù)據(jù)增強圖像及數(shù)量如圖5、表2所示。
表2 圖像增強數(shù)據(jù)
圖4 樣本部分圖片
圖5 數(shù)據(jù)增強后的圖像
2.2.1 圖像顏色
人類視覺系統(tǒng)可以在不斷變化的光和成像條件下確定物體表面的顏色不變性,但成像設備不具有這種顏色不變性。不同的照明條件會導致圖像顏色和真實顏色之間存在的一定偏差?;疑澜缢惴ū挥脕硐裏艄鈱ι输秩镜挠绊?,該算法基于灰色世界假設,即對于表現(xiàn)出大量顏色變化的圖像,R、G和B分量的平均值趨于相同的灰度值。物理上,灰色世界算法假設來自自然物體的光的平均反射一般是一個固定值,近似為灰色。利用顏色平衡算法將這一假設應用于訓練集中的圖像。環(huán)境光的影響可以從圖像中消除,產(chǎn)生原始圖像。
2.2.2 圖像亮度
在訓練集中,從亮度最小到最大的值里面隨機選取三個數(shù)用來調(diào)整圖像的亮度,并將三個新的圖片添加到訓練集中。如果圖片的亮度過高或過低,那么在手動標注方框時,會由于目標的邊緣不清楚,很難繪制邊界框。如果不對這些圖像進行操作,在訓練過程中則會對檢測模型的性能和結(jié)果產(chǎn)生不利影響。為了避免產(chǎn)生這樣的圖片,根據(jù)手動標注對象的邊緣部分能否被準確識別來選擇恰當?shù)膱D像亮度變換范圍。
RGB圖片亮度計算公式為:
本實驗中調(diào)整的亮度為:對比度均為1.2,亮度分別為10、20、50。對比度越高圖片的暗處就會變得越亮。RGB的范圍為0~255。
該方法可以模擬不同光照條件下的噴涂工廠環(huán)境,以彌補神經(jīng)網(wǎng)絡對圖像采集因時間集中而引起的各種光照強度不具魯棒性的缺點。
2.2.3 圖像旋轉(zhuǎn)
為了進一步拓展圖像的數(shù)據(jù)集,有更好的是實驗效果,對原始圖像進行90°、180°、270°的逆時針旋轉(zhuǎn),這也能很大程度提高神經(jīng)網(wǎng)絡模型的檢測性能。
2.2.4 圖像定義
由于工業(yè)攝像機對工件的拍攝距離偏長,不正確的聚焦或攝像機的移動,還有工廠的粉塵污染,都會導致獲取的圖像可能不清晰,還有一些其他的圖片噪聲,而模糊圖像也會影響神經(jīng)網(wǎng)絡的檢測模型。所以本文也將由顏色、亮度、旋轉(zhuǎn)增強的圖像進行隨機模糊,利用模糊圖像當作樣本,以進一步提高檢測性能。
2.2.5 圖像的標注和數(shù)據(jù)集制作
圖片像素過高會導致訓練周期過長,根據(jù)已有實驗經(jīng)驗[5],本文數(shù)據(jù)集里的圖片的長度均采用416像素,之后訓練會根據(jù)模型要求再調(diào)整圖像像素,并相應地調(diào)整圖片寬度,保持與原圖片相同的長寬比。為了對不同算法進行比較,數(shù)據(jù)集格式采用PASCAL VOC,再使用Python對圖片進行編號,而后使用Labelimg軟件對圖片一一進行手動標注分類,消除沒有標記或者不清楚的樣本,以防止神經(jīng)網(wǎng)絡中的過度擬合。在工業(yè)攝像機工作時很難出現(xiàn)工件被遮擋的狀況,故此不予考慮。
圖6是神經(jīng)網(wǎng)絡模型的簡易卷積過程。初始模型采用的損失函數(shù)是softmax[6],如式(2)所示,其輸出向量就是概率,是檢測樣本里面各類型工件的概率。圖7是logistic loss損失函數(shù)對比圖[7],能夠在margin小于零時給予較大的懲罰,YOLO-V3模型使用logistics loss函數(shù),能夠?qū)⑤^小的誤差區(qū)分出來,從而分辨各自種類,提高了分類準確率。
圖6 神經(jīng)網(wǎng)絡模型卷積過程
圖7 logistic損失函數(shù)對比圖
圖8是YOLO模型原理圖,具體步驟如下:
第一步,將訓練集劃分為×(=8)網(wǎng)絡,如果目標中心點落在網(wǎng)格上,那么網(wǎng)格就負責探測目標。每個網(wǎng)格都可以預測bounding box和他的置信度[8]得分,以及它屬于這一類工件的概率。置信度表示網(wǎng)格能否包含需要檢測的對象,還有當網(wǎng)格包含檢測對象的情況下預測邊界框的準確性的高低[9]。置信度的定義為:
第三步,保存并顯示最優(yōu)解的邊界框。
圖8 YOLO模型原理圖
因為存在卷積和下采樣層,在訓練過程中特征映射的占比下降了,導致傳輸過程中對應的特征信息丟失。而密集型神經(jīng)網(wǎng)絡能更有效地利用特征信息,采用前饋模式將每個層連接到其他層,因此第l層能夠接受以0,1, ..,X-1為輸入的前面層的所有特征信息,因此密集型網(wǎng)絡能夠減輕梯度消失(爆炸),增強特征傳播,促進特征重用,并大大減少參數(shù)數(shù)量。即:
式中:[0,1, ...,X-1]為圖層0,1, ...,X-1特征圖的拼接處;H為用于處理拼接特征圖的函數(shù)。
改進的YOLO-V3密集型網(wǎng)絡框架如圖9所示,網(wǎng)絡采用YOLO-V3的Darknet-53的體系結(jié)構(gòu),然后把原來較低分辨率的原始傳輸層用密集型網(wǎng)絡替換掉,以此達到增強特征傳播的目的、同時促進特征重用和融合。
為了更好地處理高分辨率圖像,首先是把416×416像素的初始圖象用python算法統(tǒng)一改成512×512像素替換(主要是神經(jīng)網(wǎng)絡數(shù)據(jù)最好是16的倍數(shù)),方便后續(xù)網(wǎng)絡進行訓練,再用密集型網(wǎng)絡結(jié)構(gòu)來替代和改善32×32和16×16的下采樣層,這個H函數(shù)使用的是BN-Rel U-Conv(1×1)-BN-Rel U-Conv(3×3)的功能(由三個連續(xù)操作的函數(shù)組成),通過特征層的層層拼接,最后得到32×32×512的特征層再向前傳播。在訓練過程中,當圖像的特征轉(zhuǎn)移到了下一層時,下一個特征層將會在密集網(wǎng)絡中接收到之前的所有特征信息,從而減少特征的損失。如此便可以使特征使用率增加,效果提高。最后,YOLO-V3 dense模型預測出三種不同尺度的邊界框,64×64、32×32、16×16,并對需要分類的噴涂工件,飲水機、椅子、垃圾桶進行分類,來模擬工廠所需要的噴涂工件的識別。
圖9 改進的YOLO-V3密集型網(wǎng)絡框架圖
為減少誤檢測的概率,在神經(jīng)網(wǎng)絡訓練中需要結(jié)合使用精確度和召回率,才能客觀評價神經(jīng)網(wǎng)絡訓練結(jié)果的好壞。
精確度()和召回率()的計算方法為:
式中:為成功預測的正例個數(shù);為負例被模型誤判為正例的個數(shù);為正例被錯誤預測為負例的個數(shù)。
像素設為416×416;Class設為3,表示本次實驗需要分類三種工件,分別是垃圾桶、飲水機、椅子;Filter設為24,表示輸出特征圖的數(shù)量,由式(7)計算得出;迭代次數(shù)設為30000;學習效率關(guān)系著訓練到最優(yōu)解的速度,過高會導致無法收斂甚至過擬合、過低也會導致無法收斂,通過多次實驗得出設置學習率為0.001較為合適;Loss設為0.1,表示模型的損失函數(shù)值要通過迭代低于0.1便可以停止迭代;雖然batch越大越能減少訓練時間但為了提高準確度,每次迭代只計算一張圖片,所以batch設為1,從而他的子集subdivision也為1;根據(jù)工廠要求將置信度IOU的閾值設置為0.8。
4.3.1 Loss
本次實驗訓練時,總的迭代次數(shù)設為30000次,每一個epoch值代表一個迭代周期,完成一個周期的迭代則會輸出一次權(quán)重模型,并將Loss值記錄保存下來。在前2000次迭代時一個epoch設為50,大于2000次迭代后一個epoch設為500,大約經(jīng)過14000次迭代后,Loss值趨于穩(wěn)定,模型各個參數(shù)基本不在發(fā)生變化,如圖10所示,迭代次數(shù)小于1000時Loss下降迅速,大約在6000次迭代后,趨于穩(wěn)定并下降到目標值0.1以下。Loss隨batch值變化曲線如圖10所示。
4.3.2 本模型檢測結(jié)果
圖11為所訓練垃圾桶、飲水機、椅子的準確率和召回率關(guān)系曲線圖,曲線以下部分的面積就是這個類別的AP(代表這一類別的檢測準確度),mAP就是所有類的AP值求平均。
圖10 Loss隨batch值變化曲線
本次訓練對象的識別效果如圖12(a)(b)(c)所示,圖12(d)是使用非訓練對象圖片檢測模型,出現(xiàn)誤檢測概率低于2%,由于置信度閾值設置為0.8,所以置信度低于0.8的圖片將不會檢測出來。
圖11 訓練結(jié)果
圖12 圖像檢測
4.3.3 不同模型對比
使用不同目標檢測模型對準確率、平均耗時及檢測速率進行實驗。隨機選取100個數(shù),根據(jù)樣本編號把對應圖片提取出來進行逐一檢測,將得出檢測邊界框的圖片記為正確,沒有出現(xiàn)邊界框的圖片記為錯誤,統(tǒng)計100張圖片的正確率,如表3所示。
表3 不同檢測模型對比
為了客觀評價模型,1是檢測模型精確度和召回率的一種加權(quán)平均,取值范圍為0~1,如式(8)所示。因為召回率和精確率都同等重要,為避免一個模型的精確度和召回率一個極高一個極低、而取平均值則都為0.5的情況,應采用加權(quán)平均的方式。
通過加強數(shù)據(jù)集,獲得更多圖像信息,改進了YOLO-V3模型框架,調(diào)整實驗具體參數(shù),得到了較好的結(jié)果,達到了預期對于噴涂工件98%準確率的檢測目標。需要注意的是,在數(shù)據(jù)集采集過程中要保證同一個目標不同角度上的圖像數(shù)量,盡量保持一致,不然會出現(xiàn)某個角度的圖像識別不出來或準確率偏低的狀況。
[1]羅輝. 基于機器視覺的工件識別與定位系統(tǒng)設計與實現(xiàn)[J].組合機床與自動化加工技術(shù),2021(1):103-105.
[2]張明路. 一種改進SURF特征匹配的裝配工件快速識別方法[J].機械設計與制造,2021(2):263-264.
[3]程昶運. 基于3D點云模型的自動噴涂路徑規(guī)劃研究[D]. 成都:四川大學,2020.
[4]王曉華. 基于改進YOLO深度卷積神經(jīng)網(wǎng)絡的縫紉手勢檢測[J].紡織學報,2020,41(4):143-145.
[5]陳從平. 基于深度學習的電器目標檢測[J]. 機械,2020,47(1):1-8.
[6]蔣大星. 基于人臉檢測的自動紅眼消除算法研究[D]. 西安:西安電子科技大學,2010.
[7]楊梓豪. 基于區(qū)域卷積神經(jīng)網(wǎng)絡的物體識別算法研究[D]. 北京:北京郵電大學,2017.
[8]周偉. 基于深度學習的視頻人臉檢測和目標跟蹤[D]. 煙臺:山東工商學院,2019.
[9]陳鑫東. 綜合水務信息管理平臺設計與實現(xiàn)[D]. 大連:大連理工大學,2019.
[10]王永宏. 基于機器視覺的汽車先進駕駛輔助系統(tǒng)中行人檢測技術(shù)研究[D]. 杭州:浙江大學,2019.
[11]譚景甲. 基于USRP與YOLOv3算法的信號采集與識別設計[J]. 現(xiàn)代電子技術(shù),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
四川省科技廳重點研發(fā)項目:智能涂裝產(chǎn)線關(guān)鍵技術(shù)的開發(fā)與集成(2020YFG0119)
鄧人瑋(1996-),男,四川內(nèi)江人,碩士研究生,主要研究方向為機械電子,E-mail:963081849@qq.com。*通訊作者:熊瑞平(1970-),男,江西瑞金人,博士,副教授,主要研究方向為工業(yè)機器人應用及智能控制技術(shù),E-mail:xiongruiping@163.com。