黃震,朱華波,陶友瑞
(1 河北工業(yè)大學 省部共建電工裝備可靠性與智能化國家重點實驗室,天津 300130;2 河北工業(yè)大學 機械工程學院,天津 300401)
在手機殼噴漆前需要對手機殼表面進行打磨,打磨質量直接影響手機殼噴漆的效果,打磨面粗糙會造成手機殼表面漆層的不均勻,嚴重時會導致漆面的剝落。因此在打磨加工后,需對工件表面的質量進行檢測,并評價其是否符合噴漆標準。傳統(tǒng)檢測是采用針觸法、對比法和模具法等進行抽樣檢查,人工抽樣檢測的方法會受到來自多方面的制約限制,可能會出現(xiàn)漏檢的情況,并且長時間的工作也會造成人的視覺疲勞,導致誤檢率逐漸增加。為了避免人工檢測出現(xiàn)的問題,王武等人[1]設計了基于機器人視覺的手機殼表面缺陷檢測的方法,實現(xiàn)了產品缺陷的自動化檢測。為實現(xiàn)手機外殼表面缺陷的自動檢測,文生平等人[2]成功搭建了手機殼表面缺陷視覺檢測系統(tǒng)。針對手機殼面板表面的幾種缺陷類型的檢測,張巖等人[3]設計了基于黑白面陣CCD在線檢測系統(tǒng),并取得了良好的效果,但卻需要在特定的情況下使用。針對手機殼表面凹坑、斑點等缺陷特征難識別的問題,劉源泂等人[4]提出將3 種成像光路分別對應單臺彩色相機三通道成像的方法,為多材質和多顏色物體表面缺陷檢測任務提供了一種基于顏色空間的解決思路?,F(xiàn)階段采用深度學習的算法針對視覺技術應用在特定目標的識別上做出了大量的相關研究,可廣泛應用于識別檢測、分類等[5-6]方面。深度學習算法主要包括R-CNN[7]、Faster R-CNN[8]、Fast R-CNN[9]和YOLO[10]等檢測算法,YOLO 算法不需要區(qū)域建議尋求目標,具有檢測速度快,背景誤判率低等優(yōu)點[11]。因此本文提出了一種基于YOLOv5 模型的圖像識別評價方法,實現(xiàn)了對加工件表面質量缺陷的檢測識別,可對表面質量是否符合標準進行快速的評估。
機器人在加工過程中執(zhí)行器與被加工工件表面接觸,執(zhí)行器受到壓力和摩擦力,從而降低機器人的整體剛度,造成機器人執(zhí)行器的振動,在磨削過程中的振動由于振幅過大就會產生振紋[12]。振紋的產生會嚴重影響工件表面的平滑程度,進而影響了后續(xù)的噴裝效果。常見的2 種影響加工件表面質量的缺陷如圖1 所示。
圖1 缺陷圖Fig.1 Defects map
從圖1 中可以看出,圖1(a)中的條紋是加工件表面的振紋;圖1(b)的黑點是加工件表面斑塊,會嚴重影響噴裝效果,因此當出現(xiàn)圖1(b)中缺陷時工件無法進行噴漆工作。本文通過對這2 種缺陷的定量分析,從而達到對加工件表面質量評價的目的。
通過對打磨機器人產生的2 種表面缺陷進行定量分析,提出了一種打磨面質量評價方法,具體流程如圖2 所示。
由圖2 可知,考慮到圖1(b)中缺陷的出現(xiàn)會嚴重影響加工件表面噴裝,因此當加工件表面出現(xiàn)圖1(b)的缺陷時,工件會直接進行返工處理;沒有檢測出圖1(b)的缺陷時,需計算單位面積內的振紋數(shù)量,與預設的單位面積內的振紋數(shù)量m進行比較:大于m時、返廠加工;小于m時,工件完成打磨工序,進入下一步。
圖2 表面質量評價流程圖Fig.2 Surface quality evaluation flowchart
振紋的產生會直接影響工件表面的平滑程度,所以選擇單位面積內加工件表面振紋的數(shù)量決定打磨質量的高低。研究推得的數(shù)學公式如下:
其中,p為單位面積振紋數(shù)量;N為加工件表面振紋總數(shù)量;s為加工件表面面積。
YOLO 是一種基于深度神經網絡的對象識別和定位算法,具有結構簡單、檢測速度快和識別準確等特點。YOLOv5 是目前YOLO 系列中最新的實時目標檢測算法,在集成YOLOv4 算法優(yōu)勢的同時,也對主干網絡進行了優(yōu)化,提高對小目標的準確度。在YOLOv5中,有4 種控制網絡結構的模型,分別是:YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x,網絡的深度直接影響檢測器的檢測精度和速度。4 種模型的官方性能測試結果顯示[13],YOLOv5s 模型與其他3 種模型相比,具有模型最小和速度最快的優(yōu)點,因此本文選用YOLOv5s 模型。
為了對模型輕量化的同時提高檢測的精度,采用Ghost Bottleneck 模塊來取代YOLOv5 網絡結構中的Bottleneck[14],詳見圖3。該模塊是一種即插即用的模塊,由2 個堆疊的Ghost 模塊組成,通過一組內在的缺陷映射,利用簡單的線性變化生成更多的Ghost 缺陷映射,這些映射可以充分提取內在的缺陷信息,進而提高了缺陷提取能力。
圖3 Ghost Bottleneck 模塊Fig.3 Ghost Bottleneck module
本文研究的打磨表面缺陷具有不易識別、缺陷個體小的特點,為了讓網絡自適應地注意一個重要缺陷,因此在模型結構中引入了CBAM 模塊。該模塊會對輸入的缺陷層,分別進行通道注意力機制和空間注意力機制的處理。其中,注意力機制的實現(xiàn)主要對單個缺陷層,依次進行全局平均池化和全局最大池化,再對2 個結果利用共享的全連接層進行處理,將2 個處理后的結果進行相加,而后通過sigmoid函數(shù),獲得輸入缺陷層每一個通道的權值。將權值乘上原輸入缺陷層,最終得到輸出不同比重通道的缺陷圖??臻g注意力機制的實現(xiàn)是對單個缺陷層,在每一個缺陷點的通道上取最大值和平均值,并將2 個結果進行堆疊,利用一次通道數(shù)為1 的卷積調整通道數(shù),接著又通過sigmoid函數(shù),獲得輸入缺陷層每一個通道的權值。將權值乘上原輸入缺陷層,最終得到輸出不同比重通道的缺陷圖。改進的YOLOv5 模型結構如圖4 所示。
圖4 改進的YOLOv5 模型結構Fig.4 Improved YOLOv5 model structure
為了讓模型識別缺陷訓練得更好,在損失函數(shù)模型中,利用IoU指標[15]構建了目標框與預測框位置損失函數(shù)CIoU_Loss,再利用FocalLoss評價指標構建目標框與預測框類別損失和置信度損失Focal_Loss,CIoU_Loss損失函數(shù)公式如下:
其中,IoU為預測框與真實框之間的交并比;Dis_C為待檢測目標最小外接矩形對角線距離;Dis_2 為待檢測目標真實框與預測框中心點的距離;v為衡量長寬比一致性參數(shù)。
研究指出,IoU是預測框與真實框之間的交并比,IoU數(shù)學定義式見如下:
其中,A為預測框,B為真實框。
這里的v是衡量長寬比一致性參數(shù),其計算公式見如下:
其中,wgt為真實框寬度;hgt真實框高度;wp為預測框寬度;hp為預測框高度。
與此同時,研究推出的Focal_Loss損失函數(shù)計算公式見如下:
其中,pt為預測樣本概率,γ為常數(shù)參數(shù)。
本次實驗運行的環(huán)境:CPU 為Intel(R)Core(TM)i7-8650U,GPU 為Intel(R)UHD Graphics 620,內存為16 G,操作系統(tǒng)為Windows10,開發(fā)語言為Python,Pytorch 框架。
手機殼表面質量檢測模型訓練采用的是打磨機器人加工出的工件表面數(shù)據(jù)集,作為YOLOv5 模型的訓練輸入和檢測目標,為訓練集提供300 張圖片。該數(shù)據(jù)集包含2 種常見的打磨加工件表面缺陷,分別為:振紋和斑塊。
為加強模型的泛化能力,使模型采集到更多的特征缺陷信息,在原始數(shù)據(jù)的基礎上對數(shù)據(jù)進行擴充。通過對原始數(shù)據(jù)進行鏡像、旋轉、對比度變換的方法,將300 張已加工手機殼表面圖片擴展到1 500張作為訓練集。用labellmg 軟件標注圖像缺陷,將振紋缺陷設定成a,斑塊缺陷設定成b,將標定完成的圖像保存成xml 格式的文件,再將其輸入到訓練模型進行訓練。
模型通過多次的Epoch訓練進行逐步的學習,在150個Epoch后逐漸平穩(wěn),在訓練過程中記錄模型Precision曲線如圖5 所示。圖5中,Precision表示精度,值越高、說明精度越高。模型改進前預測曲線參見圖5(a),預測曲線在訓練達到25個Epoch時曲線總體上升趨勢逐漸減小,在150個Epoch達到平穩(wěn),穩(wěn)定在72%。模型改進后預測曲線參見圖5(b),預測曲線明顯比改進前的上升趨勢大,同時在150個Epoch達到平穩(wěn),穩(wěn)定在79%。由此可知,改進后的模型訓練情況更好。
圖5 改進YOLOv5 前后對比Fig.5 YOLOv5 model results comparison before and after the improvement
本文為提升YOLOv5 模型的精度,對模型進行了改進。改進后的YOLOv5 在精度方面:對圖1(a)中缺陷的檢測精度提高了19.2%,達79.5%,改進前召喚率為56.1%,改進后提升了7.1%;圖1(b)缺陷的檢測精度提高了14.2%,達85.4%,改進前召喚率為70.8%,改進后提升了5.4%,有效改善了模型漏檢的問題。因此,本文通過改進YOLOv5 網絡模型可以提高檢測的精度,改進的YOLOv5 算法前后性能對比,見表1。
表1 YOLOv5 算法改進前后性能對比Tab.1 Performance comparison before and after the improvement of the YOLOv5 algorithm
機器人在不同的加工路徑、加工位置會對機器人整體的加工剛度、及表面加工質量產生影響,因此本文設計了機器人在不同切入點和加工路徑的打磨對比實驗。通過提出的表面評價方法來判定加工表面質量是否符合標準,同時找出對比實驗中的最佳打磨方式。實驗選擇加工的工件為手機殼,材質為鋁合金,鋁合金具有良好的塑性和易于加工的特點。選取的打磨頭為方形打磨頭,打磨深度為0.2 mm,打磨拋光多功能砂紙為240目,打磨頭進給速度為3.75 mm/s,設定了2 種加工路徑,其運動軌跡如圖6 所示。
圖6 加工路徑軌跡Fig.6 Machining path track
在磨削深度以及磨削參數(shù)不變的工況下,選擇4 個不同的打磨進刀點,進刀點與機器人的相對位置如圖7 所示。圖7中,1 和4 距離機器人最近,2和3 距離機器人最遠。
圖7 機器人與切入點相對位置Fig.7 The position of the robot relative to the entry point
實驗中的4 個打磨進刀點,每個進刀點進行軌跡a、b兩種路徑的加工方式。編號1~8 代表工件每個切入點的不同路徑:編號3、4、7 和8 屬于軌跡a在不同切入點的打磨路徑;編號1、2、5 和6 屬于軌跡b在不同切入點的打磨路徑。
圖8 切入點與路徑Fig.8 Pointcuts and paths
手機殼是平放在加工臺上,通過打磨機器人對手機殼進行打磨,要采集加工件表面的圖像,在加工臺的正上方安裝一個相機。為了讓相機更好地采集圖像需要在加工臺的側面進行光照,將圖像上傳到訓練模型中,得出加工后工件表面的識別效果圖,如圖9 所示。圖9中,標號a為對加工件表面振紋的標定,標號b為斑塊的標定,改進后的YOLOv5 可以有效檢測出2 種缺陷,滿足實驗需求。
圖9 工件表面檢測效果Fig.9 Workpiece surface detection effect
采集8 種路徑下打磨加工實驗的手機殼表面圖像的缺陷,根據(jù)單位面積內振紋數(shù)量判斷打磨質量。實驗中將8 種打磨路徑進行多組的打磨實驗,經過多次的實驗得出:對打磨件缺陷進行識別以及評價表面質量是否合格的總時長平均在700 ms 左右,遠高于人工檢測。通過YOLOv5 模型檢測出的打磨表面缺陷數(shù)量,如圖10 所示,各路徑單位面積內振紋數(shù)量,如圖11 所示。
圖10 打磨表面缺陷數(shù)量Fig.10 Number of polished surface defects
圖11 各路徑單位面積內振紋數(shù)量Fig.11 The number of vibration lines per unit area of each path
由圖10 可得,路徑7 打磨質量明顯優(yōu)于其他路徑打磨,單位面積內的振紋最少,打磨質量更好。4種軌跡a的打磨路徑:手機殼表面質量依次7>4>8>3;4 種軌跡b打磨路徑:手機殼表面質量依次為6>5>2>1;說明軌跡a打磨路徑比軌跡b打磨的手機殼表面質量高,且切入點4 位置優(yōu)于其他3 點。但根據(jù)1.2 節(jié)提出的表面質量流程評價方法,對8種加工路徑下的表面質量進行評價,在路徑3、5 和8 中出現(xiàn)了缺陷b,可知2 種路徑不符合加工,因此在加工最優(yōu)的切入點4 時不能按照路徑8 進行打磨。預設在本實驗中單位面積內的振紋數(shù)量m設定為2,則僅有路徑4、7 符合加工條件。實驗結果表明該方法可以有效地快速識別表面缺陷,并對加工件表面質量是否符合要求進行評估。
為提高加工件表面特征的提取能力改進了YOLOv5 模型,引入注意力機制對特征圖不同通道進行權衡的方法實現(xiàn)對加工件表面振紋和斑塊兩種缺陷的檢測,在檢測精度方面獲得了較大的提升。同時基于YOLOv5 模型提出了一種對打磨加工件表面質量快速評價的方法,實驗結果表明該方法可對加工件表面缺陷進行定量有效分析,從而判斷加工件表面質量是否符合標準的快速評價,減少了人工測量的主觀干擾,同時使整個加工流程更加自動化。