?

基于深度學習機器視覺對于動力總成制造防錯應用的研究

2020-05-08 02:16徐嘯順高雪婷
傳動技術 2020年1期
關鍵詞:保護套卷積界面

徐嘯順 任 建 林 立 高雪婷

(上汽通用汽車有限公司, 上海 201206)

1 研究背景

在汽車生產裝配線環境中,零部件裝配的防錯檢測是一項普遍而又重要的工藝。目前裝配防錯手段一般有人工目視/觸覺防錯、機器視覺防錯、機械機構防錯、接近或測距傳感器防錯等,其中以機器視覺防錯為主流趨勢。機器視覺是指通過光學和非接觸的裝置自動地接收和處理一個真實物體的圖像,通過分析圖像獲得所需信息或用于控制機器運動的裝置[1]。

采用機器視覺防錯主要有以下優勢:高精度、重復性、速度快、靈活性和可追溯性。

目前主流傳統的機器視覺防錯技術主要基于灰度圖像的特征提取,比如邊緣、形狀、尺寸等[2]。主流的傳統圖像處理方法目前在理論和硬件處理平臺方面已發展地較為成熟,設備成本也基本符合替換人工的收益計算。但在車企內大規模應用傳統機器視覺進行防錯時,往往會遇到以下問題,在一定程度上阻礙機器視覺的普及。

1) 投產初期難以確保極高的準確率。一般車企對防錯要求極高,制造標準規范中對視覺防錯檢測準確率要求往往在99.9%以上。但新項目在視覺系統集成時,往往由于集成周期短、調試樣件昂貴數量稀少、裝配錯誤形式多種多樣等原因,導致如果大規模應用傳統機器視覺設備,則往往在應用初期難以保證高準確率的要求。

2) 受現場環境變化影響大。對于現場裝配,往往存在現場環境照明的變化,比如環境光變化、光源老化、周邊工件位置變化(比如線纜)引起的圖像灰度變化,導致傳統視覺算法檢測所依賴的圖像特征對比度、完整性受到影響而錯判。

3) 設備成本高。相較于機械檢測裝置或者傳感器,機器視覺軟硬件投資相對昂貴。

基于深度學習的機器視覺系統可以與傳統機器視覺形成互補。深度學習的機器視覺使用卷積神經網絡深度學習技術訓練的圖片模型,導入運用已有的算法庫。通過在訓練過程中增加圖像的偏移、旋轉、噪點、亮度等干擾,模型可以很好的適應圖片可能的擾動。對導入圖像的精細分類標注,可以給出準確的策略。對于光源亮暗波動或工件位置的變動,深度學習也可避免或顯著降低其負面影響,通過分類概率顯示最可能的判讀結果。

鑒于原理上的差異,深度學習機器視覺防錯技術是在缺陷檢測、防錯這類應用領域非常前沿且有潛力的技術,可以與傳統機器視覺算法防錯技術優勢互補。

當然深度學習機器視覺防錯技術在應用中也存在一些難點,主要如下:

1) 計算機算力要求。深度學習應用的模型訓練往往涉及數千張圖像、數百萬個參數的迭代解算,因此需要強大的硬件性能支撐。

2) 圖像樣本采集和標注。為了訓練出準確的識別模型,必須準備數量巨大,且標注準確的訓練集,通常需要數千張缺陷圖片和更多正常圖片的集合[3]。對于這些圖像的標注、整理和格式統一的工作量是非常大的。

3) 適合定性式的防錯檢測。深度學習神經網絡一般輸出結果會按照概率歸屬到預設的幾類標簽判斷進行顯示[4-5]。而預設的類別一般都需要有明顯可見的差異。因此如果檢測需求為定量式的判斷,比如檢測一個定位銷是否安裝到位是通過測量外露長度是否達到圖紙要求,那么深度學習則只能檢測其安裝有無,無法準確的測出其長度,因為不能準確進行判斷。

因此需要結合實際工業環境特點,對應用場景進行分析,確認何種情況應用常規機器視覺算法更有優勢,何種情況適合應用深度學習的機器視覺。同時在確認使用深度學習的前提下,盡可能減少需求樣本數量、技術上合并失效模式場景等,并且在實際生產線背景下克服或避免以上難點,使深度學習可以滿足更多的應用場景。

目前,在產品包裝、交通安全、機器人視覺應用等領域,已有部分深度學習機器視覺的成功應用案例[3-7],汽車制造領域則鮮有涉足??紤]到汽車制造的工藝復雜性和對視覺檢測的切實需求,有必要引入深度學習機器視覺以實現更好的產品質量監控。目前各大視覺公司已有一些深度學習的圖像處理軟件或功能包,比如康耐視公司的Vidi防錯系統、Halcon圖像處理平臺[6]的深度學習功能包,但授權費用較為昂貴,且通常按照臺數、年限付費,不適合大批量應用。因此考慮利用開源算法和Python等工具,自主開發更適合工業環境應用的深度學習軟件。

2 項目應用需求

在汽車生產裝配線環境中,利用普通工業相機以及常規的鏡頭、光源等配件,和常規性能工控電腦,自行搭建視覺檢測系統?,F場所有硬件投資控制在5萬元以內。

深度學習視覺檢測系統運行在工控電腦上,并實現與工業PLC系統的通信。根據PLC信號對所需檢測的工件在合適的狀態進行拍照、采集灰度圖像;將根據工藝檢測需求,對圖像進行分割、屏蔽等預處理[7-8],導入已學習的深度學習模型對處理后的圖像進行判斷。其中深度學習模型通過預先學習獲得,對2000張以內、4類左右的預設標簽圖像學習,獲得99.99%以上的學習準確率[9]。

檢測系統將對同一圖像內不同區域、不同景深、傳統視覺難以檢測的裝配特征進行自動識別和防錯,達到99.95%以上的實際測量準確率,并將測量結果發送至PLC,作為零件裝配正確或錯誤的依據。所有測量結果、判斷概率以及圖像也將被保存在工控電腦中。

3 深度學習視覺檢測系統的自主開發

3.1 深度學習視覺檢測系統總體結構

深度學習視覺檢測系統總體結構如圖1所示[8]。

圖1 深度學習視覺檢測系統總體結構

左側為離線部分:在現場收集正負樣本圖片后,將其作為輸入,通過Python的深度學習庫計算出適配的神經網絡模型,運行時導入該模型用于防錯計算。

右側為現場運行時檢測系統軟件,包含以下模塊:照相機的圖片采集模塊、與PLC通信的通信模塊、深度學習算法模塊、數據庫記錄模塊、參數設置模塊以及界面UI。界面UI在實現相應功能時,調用各功能模塊,實現圖片獲取、圖片處理、結果記錄、參數設置、結果返回的完整功能?;赟NAP7協議的PLC通訊模塊首先實時檢測PLC給出的圖片采集觸發信號,采集后的圖片經過裁剪均一化等預處理,傳遞給深度學習算法模塊,后者計算防錯結果。防錯結果通過PLC通訊模塊,寫入PLC的DB塊,并同時將結果記錄到本地數據庫。

現場運行時檢測系統軟件在windows下運行,使用C#作為編程語言,同時配合其包管理系統Nuget,可以大量節約開發時間。界面UI基于Windows桌面主流的框架WPF開發,同時搭配第三方MVVM(Model-View-ViewModel)框架MVVM Light,實現了視圖顯示邏輯和數據內容的分離。

3.2 深度學習神經網絡算法

深度學習網絡包括卷積神經網絡、深度信念網絡、循環神經網絡等。卷積神經網絡是深度學習的代表算法,在圖像識別和分類領域已被證明非常有效[10]。

卷積神經網絡包含輸入層、隱層和輸出層,輸入層用來輸入圖像信息,輸出層輸出網絡的判別結果,隱層由若干個卷積層、池化層和全連接層組成。卷積層通過圖像與卷積核的卷積運算,將數據輸入映射到隱層特征空間,得到的特征圖又會作為下一層的輸入。每個卷積層后連接池化層,對輸入的特征圖進行壓縮,一方面減小特征圖尺寸,簡化網絡計算復雜度;另一方面壓縮特征,提取主要特征。全連接層用于連接卷積池化后的所有特征,并將輸出值送給分類器進行圖像分類??偟膩碚f,卷積神經網絡通過構建具有多個隱層的網絡模型,將底層外觀特征逐層傳播,形成高層語義特征,最后通過全連接層-分類層輸出類別及概率信息,整個網絡模型的結構如圖2所示[9, 11]。

本項目將采用卷積神經網絡算法,項目實施步驟如下:

1) 檢測類別定義

根據工藝和質量規范,定義產品缺陷和錯誤種類。

2) 建立適用于防錯應用的樣本庫

根據產品缺陷類別,利用合適的工業相機采集適當數量樣本圖像,部分罕見缺陷樣本將人工模擬重現。為了提高檢測率以及降低計算量,本文利用Opencv等開源工具,對采集到的樣本圖像進行剪裁、重命名、特征區域選取等預處理工作。收集完樣本后,將其中60%作為訓練集,20%作為驗證集,剩下的作為測試集。

圖2 卷積神經網絡模型

Fig.2 Convolutional neural network (CNN) model

3) 設計合適的網絡模型,并進行模型訓練

本文使用Python、Tensorflow和Keras等搭建卷積神經網絡,設置適當的學習率、迭代次數、隱層數等超參數,并采用了小批量梯度下降法、批歸一化處理、衰減學習率等優化算法,經過一段時間的訓練迭代,得到99.99%準確率的網絡權重文件[12]??赏ㄟ^安裝GPU并行計算架構CUDA和深度學習加速庫cuDNN,縮短訓練時間,訓練程序部分代碼如圖3所示。

圖3 訓練程序部分代碼

4) 驗證模型,上線使用

訓練好的模型先經過離線驗證,在準確率達到99.9%以上后,投入現場使用并會根據運行狀況改進優化。

3.3 深度學習視覺檢測系統所應用硬件選型

視覺系統的硬件主要包含相機、鏡頭和光源。

相機的選型主要基于視覺系統的檢測精度、視野范圍;鏡頭的選型主要考慮檢測環境;光源的選型基于使被測物體的重要特征顯現,且盡可能的避免環境光帶來的負面影響。

如表1所示,本檢測系統選用的相機類型為普通工業相機,檢測精度要求為1毫米,視野范圍為600毫米×200毫米,根據分辨率F = 視野范圍/檢測精度,可知相機分辨率至少為600,從市面上大部分的相機分辨率參數及成本考慮,確認選用130W(1280×1024)像素的工業相機,產品型號為acA1300-30gc;根據相機的傳感器尺寸以及現場工位布局,視覺系統的工作距離為500 mm,根據鏡頭焦距f = 物距×傳感器尺寸/視野范圍,確認選擇焦距4mm的廣角鏡頭;根據本案例的檢測需求,同時基于深度學習所帶來的魯棒性,使用普通LED紅外條形光源即可滿足檢測需求,光源型號為 LIM - 800×40 - IR - W。

3.4 軟件操作界面

運行時軟件主要包括以下主要頁面包括:Run(運行)、Setup(設置)、History(歷史)。

3.4.1Run運行界面

運行界面如圖4所示,具備開啟、停止深度學習在線運行的功能,還具備用于測試的手動觸發功能。同時也顯示了當前該軟件的外部連接狀態,包括PLC和相機等外部設備。當外部信號觸發拍照后,照片特征區域會根據當前的檢測項目顯示在當前主界面上,同時顯示OK/NG結果以及其他細節信息。通過選擇檢測項目的下拉框,可以切換不同的檢測項目,圖片特征區域顯示以及相關結果信息也會隨之更新。

表1 視覺系統硬件參數

圖4 運行界面

3.4.2Setup設置界面

設置界面下,還有三個分設置頁,分別設置軟件的基本參數、相機參數以及導入的神經網絡模型。

在Basic(基本參數)頁面,可以設置圖片存儲的路徑,PLC相關的參數,圖片平均灰度值閾值以及歷史頁面的最大顯示項,如圖5所示。

圖5 設置界面——基本參數

在相機設置界面,可以設置待連接相機的序列號和曝光時間,在連接上后,可以顯示圖片的分辨率。同時,該界面還具備用作深度學習樣本的圖像取圖功能,如圖6所示。

深度學習導入頁面如圖7所示,該頁面用來導入由Python離線計算得到的模型文件。使用左下角的Load按鍵,即可導入該算法模型。成功導入后,界面上將顯示該模型文件的具體信息,包括檢測項目名、模型文件、分辨率以及特征檢測區域。

圖6 設置界面——相機設置

圖7 設置界面——深度學習模型導入

3.4.3History歷史界面

歷史界面如圖8所示。在每次檢測后,檢測結果除返回給PLC外,還可存儲在本地以便之后回溯。按界面的Refresh刷新按鈕,可以得到當前最近的檢測結果,包括圖片預覽、文件名,結果可信度以及灰度值等信息。

圖8 歷史界面

4 已應用典型案例

4.1 變速箱裝配防錯案例

變速箱裝配防錯案例的工藝要求是取下油泵密封圈保護套,安裝渦輪軸O型圈,如圖9所示。傳統的視覺檢測算法是通過紋理特征提取零件的輪廓或通過背景與待檢測目標的灰度差值來判斷,該方法對光照要求較高,受外界因素影響較大,不能保證檢測效率。該案例中油泵密封圈保護套與背景較為相似,且保護套表面紋理細節特征較少,無法用傳統視覺算法實現,因此本文根據實際工業需要,提出基于深度學習的保護套及O型圈檢測算法。

(1) 有保護套,無O型圈

(2) 無保護套,有O型圈

圖9 保護套及O型圈

Fig.9 Protective sleeve and O-ring

圖10為基于深度學習的保護套及O型圈檢測算法流程圖。整個過程分為兩大部分,離線訓練和在線檢測。離線訓練:將收集的樣本經過預處理后送入卷積神經網絡進行訓練,最后輸出網絡的權重信息。圖像預處理包括mask(掩膜)處理和圖像裁剪[13],原始圖像通過mask對圖像上O型圈作屏蔽,使其不參與卷積計算,處理后的圖像作為保護套檢測模型的訓練樣本;原始圖像經過裁剪,得到O型圈區域,用于訓練O型圈檢測模型;訓練過程中訓練集和驗證集的準確率和損失函數的值如圖11所示,經過600次的迭代,精度接近1,損失接近0,模型訓練到最優狀態。在線檢測:相機拍攝一張圖片,經過預處理后,送入訓練好的兩個網絡,輸出類別及概率信息,最后融合兩個網絡的輸出結果以及圖像平均灰度值信息,輸出最終的檢測結果OK/NG。經過42771個工件驗證,結果表明該算法的準確率可達99.97%以上,驗證了深度學習算法在防錯應用上的可行性。

圖10 基于深度學習的保護套及O型圈檢測算法流程圖

圖11 訓練過程中準確率和損失的曲線圖

盡管深度神經網絡在保護套及O型圈檢測任務中取得了不錯的表現,但它像黑匣子一樣難以解釋,模型可視化有助于解釋神經網絡學習到的特征。圖12為熱力圖可視化結果,圖中紅色區域表示模型關注的區域,O型圈和保護套都被標成了紅色,表明模型學習到了O型圈和保護套的特征,證明了深度學習算法的可靠性。

圖12 檢測熱力圖

4.2 發動機裝配防錯案例

在發動機線的生產過程中,發現發動機上的五個瓦蓋在轉臺旋轉過程中偶爾出現翻倒,可能導致向下夾緊瓦蓋的裝配機構斷裂,造成經濟損失。常規視覺設備或傳感器需要加裝五處才能達到防錯目的。為了解決該問題,同時節約視覺項目的投資成本,實現了基于一個工業相機結合深度學習軟件的瓦蓋位置檢測案例。

圖13是相機拍攝的瓦蓋圖片,從圖中可以看出由于位置差異,五個瓦蓋的成像結果偏差較大。該案例如果用傳統的視覺檢測算法,需要將瓦蓋分成五類分別處理,算法繁瑣復雜,且對環境光照的魯棒性差;而深度學習在光線變化、目標姿態變化明顯以及復雜場景下都能取得較好的檢測效果,因此本文將五個瓦蓋分為兩大類:一類凹槽為暗色,另一類凹槽為亮色。

根據上述的兩大類,分別收集正負樣本[7],由于實際瓦蓋翻倒的情況較少,因此本文通過人工模擬瓦蓋翻倒,在兩大類別下分別將樣本集劃分三小類:瓦蓋未翻倒、瓦蓋完全翻倒和瓦蓋不完全翻倒,如圖14所示。由于目標一致性較好,每個小類別采集100張圖像作為訓練集,40張作為驗證集,經過如圖15所示的圖像裁剪預處理后,送入卷積神經網絡學習,最后輸出能夠準確判斷瓦蓋位置的網絡模型。該案例目前已上線使用,生產4000多件的誤檢率為0,測試各類傾覆場景各50件,表明算法具有高準確率,而且高效和健壯、降低硬件依賴。

圖13 正常瓦蓋狀態圖片

Fig.13 Bearing tap of normal status

(1) 第一類

(2) 第二類

(3) 第三類

圖14 樣本圖片

Fig.14 Samples

(1) 第一類

(2) 第二類

(3) 第三類

圖15 分割圖片

Fig.15 Cropped images

5 結論與收益

5.1 節約視覺檢測設備的投資成本

常規的智能相機包含圖像處理軟件的授權以及整套拍照和處理系統的硬件,價格往往在10萬元左右。而且對于單個工件的多個裝配防錯點檢測,一個智能相機由于其鏡頭、光源等限制,不能覆蓋所有防錯點,必須追加智能相機。通常一個變速箱工件的裝配工位至少安裝1個智能相機,智能相機單價在5-10萬,總體投資在10-15萬左右。但通過使用深度學習的視覺系統,降低對選用相機硬件要求,一般5000元左右的工業相機即可滿足系統性能。成功將硬件成本目前控制在2萬元以內。同時軟件自主開發,應用升級更新也無需費用,因此總體投資控制在2萬以內。

5.2 進一步提高視覺防錯檢測準確率

采用深度學習的檢測系統通過前期采集大量工件的失效圖像,可以較好的建立檢測模型,完善參數配置。正確的裝配模式和失效的裝配模式圖像可以人工預先模擬歸類。采集圖像時配以不同的外部光源和照射角度,盡可能將光照變化引入神經網絡模型。

目前包括以上兩項案例的多個應用都已經達到或超過了99.95%檢測準確率。能夠滿足高產能高質量標準下的生產質量監控要求。

5.3 在各大車間各類制造應用中進行推廣

通過以上案例,已驗證此技術在工業制造領域的可靠性和經濟價值。未來將在動力總成、整車制造的各大車間視覺防錯應用中推廣。

猜你喜歡
保護套卷積界面
基于3D-Winograd的快速卷積算法設計及FPGA實現
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
一種可用于潮濕界面碳纖維加固配套用底膠的研究
蘋果將推內置觸控板的 iPad鍵盤套
筆記本電腦
卷積神經網絡的分析與設計
扁平化設計在手機界面中的發展趨勢
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合