Riveting position recognition method design based on BP neural network
廖健君,倪文波,王雪梅
LIAO Jian-jun, NI Wen-bo, WANG Xue-mei
(西南交通大學 機械工程學院,成都 610031)
?
基于BP神經網絡的鉚接位置識別方法設計
Riveting position recognition method design based on BP neural network
廖健君,倪文波,王雪梅
LIAO Jian-jun, NI Wen-bo, WANG Xue-mei
(西南交通大學 機械工程學院,成都 610031)
摘 要:為完成某大型設備鉚接位置的判斷,設計了一種基于BP神經網絡的鉚接位置圖像識別方法,包括工廠作業圖像采集程序設計、位置圖像特征提取及儲存入庫、3層BP神經網絡系統設計訓練及測試三個部分。通過使用LABVIEW軟件設計程序,對鉚接過程中含位置信息的圖像進行采集,獲取和量化圖像的總體灰度平均值和質心,將每幅圖像循環寫入Microsoft Access的數據庫中。在MATLAB軟件平臺下,將圖像特征數據轉化成訓練樣本輸入離線網絡進行訓練,最后利用除訓練樣本外的圖像特征數據輸入在線識別程序驗證網絡的識別能力。試驗結果表明,該方法能較準確地識別出該大型設備制動杠桿在組裝過程中鉚槍鉚接時的位置,準確率達到100%,可有效判斷出漏鉚問題的發生,保證設備的生產質量。
關鍵詞:圖像采集;圖像識別;BP神經網絡;鉚接位置
拉鉚釘是利用虎克定律原理,用拉鉚釘專用設備將2個結合件夾緊后,將套入的環狀套環(或稱不帶螺紋的螺帽)的金屬擠壓并充滿到帶有多條環狀溝槽的栓柱的凹槽內,使套環與栓柱嚴密結合的一種緊固方式[1]。其具有高的夾緊力和抗剪力、連接可靠、良好的放松性能等許多優點,在航空、鐵路、船舶等行業得到了廣泛應用。為了保證鉚接質量,目前通常采用檢測鉚接時鉚釘槍的壓力-位移圖的相互關系進行比較來評估鉚接質量。但是,在某大型設備生產過程中,由于需鉚接的位置數量較多,時有漏鉚、鉚接不到位等質量問題,這將為后期產品運用帶來了嚴重的安全隱患。基于此,本文根據大型設備鉚接工藝、裝配位置固定等特點,提出一種基于灰度平均值與整體圖像灰度質心的在線識別鉚接圖像方法。獲取實際工作圖像后,經過離線訓練程序進行訓練,取得權向量和閥值向量以作為在線識別的依據。按照離線訓練所使用的算法,編寫在線識別程序。在大型設備鉚接裝配時,通過安裝在鉚槍上的工業相機獲取鉚接點背景圖像,即可利用已經獲得權向量和閥值向量的在線識別程序,實現對鉚接位置的識別,工作流程圖如圖1所示。輸出的位置標識信息,可為進一步進行鉚接質量管理提供一種有效的方法。
1.1 特征描述子選擇
原始圖像通常含有非常多的信息,選擇和提取合適的圖像特征參數作為圖像的描述,能較為準確的反映圖像的特點,實現整幅圖像到有限特征參數的映射,為后面的識別工作快速、準確進行提供保證。

圖1 工作流程圖
以某大型設備作為研究對象,對某工廠制動杠桿鉚接過程進行研究,確定將具有代表性的5個拉鉚釘所在位置作為識別對象。在實際鉚接過程中,由于受到液壓鉚槍供油位置及裝配位置的限制,作業位置、作業工序固定,因此,拍攝的圖像背景相對固定。同時,為了不影響裝配效率,要求盡可能快的識別出鉚接點位置,不宜采用過于復雜的算法使運算時間過長,并且需要保證較高的正確識別率,因此選擇合適的描述子十分重要。常用的圖像描述子包括邊界描述子、區域描述子、主分量描述子、關系描述子四種,每一種描述子包括許多不同的描述特征算法。其中主分量描述子中的平均值算法是一種可基于圖像整體特征的描述方法。在初步分析相機拍攝的樣本圖像后,可以發現每一個鉚接位置對應的背景灰度平均值具有較大差異。此外,對于5個鉚接位置,整體圖像質心位置坐標值也具有較大的可分性。基于此,通過測量圖像的整體灰度平均值以及質心位置可表達出圖像的位置信息。
整體灰度平均值表達式為:

式中,m為圖像的平均值,zi為表示灰度的一個隨機變量。在提取均值時,軟件會自動將彩色圖像轉變成灰值圖像,因此zi取0到255的整數值,而其累加終點和范圍L=256,P(zi)為zi對應的直方圖[2]。
質心位置參數是建立圖像坐標系后對質心相對位置的描述,其表征圖像的幾何信息,對應X、Y兩個數值參數,其表達式為:

式中,X0、Y0分別為圖像某像素中心的x和y坐標[3]。
質心是一個相對概念,是相對一定的坐標系而言的,對坐標值進行數字化處理稱為取樣,而對幅值進行數字化稱為量化[2]。取樣方法通常由用于生成該圖像的傳感器配置決定,在軟件編程中可以不必考慮取樣方法,只需要按照給定的坐標系規定量化值。
1.2 圖像采集程序設計
圖像采集程序應實現圖像采集與保存、特征提取、特征參數保存三個功能。
目前常用的工業相機包括CCD(Charge-coupled Devices)和CMOS(Complementary Metal-oxide Semiconductor)兩種。由于CMOS相機制造更方便、價格低廉,芯片功耗比CCD低等特點[4],本文采用300萬像素12幀/s的CMOS工業相機及8mm焦距鏡頭,相機采用USB2.0數據接口,具有480Mb/s的傳輸速度,支持即插即用、支持連續采集和軟件觸發。
圖像采集與保存程序的開發在Windows7操作系統下,基于LabVIEW試驗虛擬儀器工程平臺進行。使用LabVIEW的視覺獲取軟件VAS完成觸發圖像的采集、抓取及保存。利用LabVIEW的配置管理軟件MAX獲取接口信息,生成相機會話輸入,再將該輸入與IMAQdx Open Camera.vi、IMAQdx Snap.vi、IMAQ Write File. vi、IMAQdx Close Camera.vi四個控件依序相連,實現打開照相機、抓取照相機圖像、在預設文件夾中保存圖像、關閉照相機功能。程序中將IMAQdx Snap.vi、IMAQ Write File.vi兩個控件編寫入while循環中保證相機實時接受觸發指令。
采集到目標圖像后,使用視覺開發模塊VDN完成提取和量化本文需要的圖像整體灰度平均值以及質心坐標。利用之前VAS保存圖像時使用的路徑信息,使該信息輸入到IMAQ ReadFile.vi控件中,保證圖像與特征的對應關系。在該控件后添加IMAQ Histograph.vi和IMAQ Centroid.vi控件獲取圖像的特征參數。
特征參數的保存方法是使用組合字符串語句,利用數據庫工具包(LabSQL)中的控件,將每張圖像的特征參數不斷寫入Microsoft Access數據庫中保存待用。
圖像采集程序后面板如圖2所示。

圖2 圖像采集程序后面板
確定將整體灰度平均值與質心坐標作為輸入圖像的描述子后,這些信息就成為三維歐氏空間中的一個點,不同的輸入樣本輸入構成一個個的點集,模式識別采用的方法就是找到線性或者非線性的分類器將同類數據劃分到同一區域,最終獲取非線性判別函數來解決實際問題。基于誤差反傳算法(Error Back Propagation,BP)的人工神經網絡形成的多層感器,是目前使用最廣泛的解決該類問題的一種有監督的學習算法,其能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程,具有非線性、自學習、自適應能力[5]。將采集的樣本圖像特征數據輸入該網絡后,會自動不斷調整權向量和閥值向量,形成輸入到輸出的映射,能準確的實現分類。
2.1 BP神經網絡設計
本文采用單隱層感知器結構,即三層感知器結構。這種結構的拓撲圖如圖3所示。

圖3 三層BP網拓撲圖
底層為輸入層,中間層為隱層,頂層為輸出層。輸入層的節點數代表輸入向量的個數,本文使用整體灰度平均值、質心的x坐標和y坐標作為輸入,因此n=3。輸出層為識別的總類數,因此l=5。隱層使用經驗公式:

進行計算,其中α為1~10的常數,根據試驗效果進行調整,取m=6。其中V為輸入層到隱層之間的權值矩陣,其中列向量Vj為與輸入層xj相乘的權向量;W為隱層到輸出層之間的權值矩陣,其中列向量Wk為與隱層輸出yk相乘的權向量[6]。
輸入層到隱層的表達式為:

式中,vij為輸出層到隱層的權值,netj為隱層輸入,θ1為隱層閥值,yj為隱層輸出,f(x)為隱層激活函數。隱層激活函數使用雙曲正切S型函數,可提高識別的精度,其表達式為:

隱層到輸出層的表達式為:


式中,wjk為隱層到輸出層的權值,netk為輸出層輸入,θ2為輸出層閥值,ok為輸出層輸出。
g(netk)為輸出層激活函數。輸出層激活函數使用線性函數,可提高運算速度,其表達式為:

由激活函數表達式可知,為保證激活函數不發生溢出,統一數據的數量級,需要先將圖像樣本數據進行歸一化處理至[-1.1]區間中,其表達式為:

設理想輸出向量為D,則用于調整權向量的輸出誤差表達式為:

采用梯度遞減規則使E小于0.01滿足以精度要求。
經過推導,各層權值調整表達式為:

式中,dk為理想輸出,Δvjk為輸入層到隱層的調整值,Δwjk為隱層到輸出層調整值。η為學習率,影響網絡收斂速度及能否收斂,較小的學習率可保證網絡收斂,但收斂較慢,而學習率設置偏大可能使網絡不收斂。選擇η=0.3使收斂較快且能獲得較高的準確率。
對于閥值θ1、θ2的調整,可以通過引入x0=-1、y0=-1與初始的閥值相乘,加入權值調整即可進行訓練。
2.2 離線訓練程序實現
使用MATLAB軟件平臺的神經網絡工具箱構建的BP神經網絡,選取實際工況拍攝的60幅鉚接位置圖像作為訓練樣本,平均每個位置對應12幅圖像,輸入構建的網絡進行離線訓練,訓練流程圖如圖4所示。其中讀取訓練數據是將樣本圖像特征數據通過數據接口輸入MATLAB中,輸入值歸一化是為了保證輸入值與要求類型保持一致,構造輸出矩陣是為了提供給輸出層緩存空間,創建網絡是使用神經網絡工具箱通過設置參數自動構建,最后訓練網絡以獲得權向量與閥值向量。

圖4 訓練流程圖
網絡訓練結果如圖5所示。可以看出,在第26次訓練的時候就已經達到訓練精度,說明構建的網絡具有快速收斂速度。

圖5 網絡訓練結果
2.3 在線識別程序測試
離線訓練程序使用MATLAB編寫能快速獲得所需的權向量和閥值向量,而在實際運用中,在線識別程序與圖像采集程序應使用同一軟件編寫,以避免由于軟件切換所導致的識別延遲。在深入了解BP神經網絡的算法結構后,使用LabVIEW編寫的在線識別程序是可實現的。選取實際工況測得24幅鉚接位置圖像,每個位置對應4幅測試圖像,作為統計識別準確率的測試組。測試流程圖如圖6所示,其中測試圖像數據是測試組圖像的特征參數輸入,測試數據歸一化是為了保證輸入值與要求類型保持一致,仿真模擬是將測試組數據與獲得權向量與閥值向量生成的在線識別程序按照與離線訓練程序訓練同一算法進行運算,統計準確率是通過正確識別圖像位置的數目與測試數據對應圖像的總數之比計算所得。

圖6 測試流程圖
經過現場對制動杠桿鉚接工況測試,通過相機采集5個鉚接點任意位置的圖像,輸入到在線識別程序,在不超過1s的時間內即可實現準確識別,統計所得結果得識別準確率為100%。因此,在實際運用中基本不會影響裝配時間同時兼顧識別準確率,說明基于BP神經網絡的鉚接位置識別方法有效。在線識別程序測試結果如圖7所示。

圖7 在線識別程序測試結果
本文對某大型設備上的鉚接點位置的圖像識別方法進行了研究,提出了一種關于圖像采集、圖像存儲、基于BP神經網絡的離線訓練和在線識別方法。通過相機采集到任意鉚接位置的圖像輸入到在線識別程序,達到100%的總體識別準確率,說明本文所提出的方法有效,可判斷出漏鉚問題的發生。
參考文獻:
[1] 楊樹森,張光明,劉煜.拉鉚釘及其在鐵道車輛中的應用[J].鐵道車輛,2006,44(12):12.
[2] Rafael C.Gonzalez ,Richard E. Woods. Digital Image Processing[M].3rd ed. New Jersey: Pearson Education,2008:828.
[3] 郭曉偉.基于機器視覺的開心果閉殼與開殼識別[J].計算機應用,2011,31(2):427.
[4] Abbas El Gamal, Helmy Eltoukhy. CMOS Image Sensors[J].IEEE Circuits and Devices Magazine,2005 MAY/JUNE:8.
[5] 焦圣喜,遲警,李婉珍.基于小波包和GA-LM-BP神經網絡的汽輪機故障診斷[J].制造業自動化,2015,8(37):112.
[6] 韓力群.人工神經網絡[M].北京:北京郵電大學出版社,2006:58-60.
機器人技術
作者簡介:廖健君(1992 -),男,廣東興寧人,碩士研究生,研究方向為數據采集與處理、車輛工程。
收稿日期:2015-09-29
中圖分類號:TP391.4
文獻標識碼:B
文章編號:1009-0134(2016)01-0038-04