Riveting position recognition method design based on BP neural network
廖健君,倪文波,王雪梅
LIAO Jian-jun, NI Wen-bo, WANG Xue-mei
(西南交通大學 機械工程學院,成都 610031)
?
基于BP神經(jīng)網(wǎng)絡的鉚接位置識別方法設計
Riveting position recognition method design based on BP neural network
廖健君,倪文波,王雪梅
LIAO Jian-jun, NI Wen-bo, WANG Xue-mei
(西南交通大學 機械工程學院,成都 610031)
摘 要:為完成某大型設備鉚接位置的判斷,設計了一種基于BP神經(jīng)網(wǎng)絡的鉚接位置圖像識別方法,包括工廠作業(yè)圖像采集程序設計、位置圖像特征提取及儲存入庫、3層BP神經(jīng)網(wǎng)絡系統(tǒng)設計訓練及測試三個部分。通過使用LABVIEW軟件設計程序,對鉚接過程中含位置信息的圖像進行采集,獲取和量化圖像的總體灰度平均值和質(zhì)心,將每幅圖像循環(huán)寫入Microsoft Access的數(shù)據(jù)庫中。在MATLAB軟件平臺下,將圖像特征數(shù)據(jù)轉(zhuǎn)化成訓練樣本輸入離線網(wǎng)絡進行訓練,最后利用除訓練樣本外的圖像特征數(shù)據(jù)輸入在線識別程序驗證網(wǎng)絡的識別能力。試驗結(jié)果表明,該方法能較準確地識別出該大型設備制動杠桿在組裝過程中鉚槍鉚接時的位置,準確率達到100%,可有效判斷出漏鉚問題的發(fā)生,保證設備的生產(chǎn)質(zhì)量。
關鍵詞:圖像采集;圖像識別;BP神經(jīng)網(wǎng)絡;鉚接位置
拉鉚釘是利用虎克定律原理,用拉鉚釘專用設備將2個結(jié)合件夾緊后,將套入的環(huán)狀套環(huán)(或稱不帶螺紋的螺帽)的金屬擠壓并充滿到帶有多條環(huán)狀溝槽的栓柱的凹槽內(nèi),使套環(huán)與栓柱嚴密結(jié)合的一種緊固方式[1]。其具有高的夾緊力和抗剪力、連接可靠、良好的放松性能等許多優(yōu)點,在航空、鐵路、船舶等行業(yè)得到了廣泛應用。為了保證鉚接質(zhì)量,目前通常采用檢測鉚接時鉚釘槍的壓力-位移圖的相互關系進行比較來評估鉚接質(zhì)量。但是,在某大型設備生產(chǎn)過程中,由于需鉚接的位置數(shù)量較多,時有漏鉚、鉚接不到位等質(zhì)量問題,這將為后期產(chǎn)品運用帶來了嚴重的安全隱患?;诖耍疚母鶕?jù)大型設備鉚接工藝、裝配位置固定等特點,提出一種基于灰度平均值與整體圖像灰度質(zhì)心的在線識別鉚接圖像方法。獲取實際工作圖像后,經(jīng)過離線訓練程序進行訓練,取得權向量和閥值向量以作為在線識別的依據(jù)。按照離線訓練所使用的算法,編寫在線識別程序。在大型設備鉚接裝配時,通過安裝在鉚槍上的工業(yè)相機獲取鉚接點背景圖像,即可利用已經(jīng)獲得權向量和閥值向量的在線識別程序,實現(xiàn)對鉚接位置的識別,工作流程圖如圖1所示。輸出的位置標識信息,可為進一步進行鉚接質(zhì)量管理提供一種有效的方法。
1.1 特征描述子選擇
原始圖像通常含有非常多的信息,選擇和提取合適的圖像特征參數(shù)作為圖像的描述,能較為準確的反映圖像的特點,實現(xiàn)整幅圖像到有限特征參數(shù)的映射,為后面的識別工作快速、準確進行提供保證。
圖1 工作流程圖
以某大型設備作為研究對象,對某工廠制動杠桿鉚接過程進行研究,確定將具有代表性的5個拉鉚釘所在位置作為識別對象。在實際鉚接過程中,由于受到液壓鉚槍供油位置及裝配位置的限制,作業(yè)位置、作業(yè)工序固定,因此,拍攝的圖像背景相對固定。同時,為了不影響裝配效率,要求盡可能快的識別出鉚接點位置,不宜采用過于復雜的算法使運算時間過長,并且需要保證較高的正確識別率,因此選擇合適的描述子十分重要。常用的圖像描述子包括邊界描述子、區(qū)域描述子、主分量描述子、關系描述子四種,每一種描述子包括許多不同的描述特征算法。其中主分量描述子中的平均值算法是一種可基于圖像整體特征的描述方法。在初步分析相機拍攝的樣本圖像后,可以發(fā)現(xiàn)每一個鉚接位置對應的背景灰度平均值具有較大差異。此外,對于5個鉚接位置,整體圖像質(zhì)心位置坐標值也具有較大的可分性?;诖?,通過測量圖像的整體灰度平均值以及質(zhì)心位置可表達出圖像的位置信息。
整體灰度平均值表達式為:
式中,m為圖像的平均值,zi為表示灰度的一個隨機變量。在提取均值時,軟件會自動將彩色圖像轉(zhuǎn)變成灰值圖像,因此zi取0到255的整數(shù)值,而其累加終點和范圍L=256,P(zi)為zi對應的直方圖[2]。
質(zhì)心位置參數(shù)是建立圖像坐標系后對質(zhì)心相對位置的描述,其表征圖像的幾何信息,對應X、Y兩個數(shù)值參數(shù),其表達式為:
式中,X0、Y0分別為圖像某像素中心的x和y坐標[3]。
質(zhì)心是一個相對概念,是相對一定的坐標系而言的,對坐標值進行數(shù)字化處理稱為取樣,而對幅值進行數(shù)字化稱為量化[2]。取樣方法通常由用于生成該圖像的傳感器配置決定,在軟件編程中可以不必考慮取樣方法,只需要按照給定的坐標系規(guī)定量化值。
1.2 圖像采集程序設計
圖像采集程序應實現(xiàn)圖像采集與保存、特征提取、特征參數(shù)保存三個功能。
目前常用的工業(yè)相機包括CCD(Charge-coupled Devices)和CMOS(Complementary Metal-oxide Semiconductor)兩種。由于CMOS相機制造更方便、價格低廉,芯片功耗比CCD低等特點[4],本文采用300萬像素12幀/s的CMOS工業(yè)相機及8mm焦距鏡頭,相機采用USB2.0數(shù)據(jù)接口,具有480Mb/s的傳輸速度,支持即插即用、支持連續(xù)采集和軟件觸發(fā)。
圖像采集與保存程序的開發(fā)在Windows7操作系統(tǒng)下,基于LabVIEW試驗虛擬儀器工程平臺進行。使用LabVIEW的視覺獲取軟件VAS完成觸發(fā)圖像的采集、抓取及保存。利用LabVIEW的配置管理軟件MAX獲取接口信息,生成相機會話輸入,再將該輸入與IMAQdx Open Camera.vi、IMAQdx Snap.vi、IMAQ Write File. vi、IMAQdx Close Camera.vi四個控件依序相連,實現(xiàn)打開照相機、抓取照相機圖像、在預設文件夾中保存圖像、關閉照相機功能。程序中將IMAQdx Snap.vi、IMAQ Write File.vi兩個控件編寫入while循環(huán)中保證相機實時接受觸發(fā)指令。
采集到目標圖像后,使用視覺開發(fā)模塊VDN完成提取和量化本文需要的圖像整體灰度平均值以及質(zhì)心坐標。利用之前VAS保存圖像時使用的路徑信息,使該信息輸入到IMAQ ReadFile.vi控件中,保證圖像與特征的對應關系。在該控件后添加IMAQ Histograph.vi和IMAQ Centroid.vi控件獲取圖像的特征參數(shù)。
特征參數(shù)的保存方法是使用組合字符串語句,利用數(shù)據(jù)庫工具包(LabSQL)中的控件,將每張圖像的特征參數(shù)不斷寫入Microsoft Access數(shù)據(jù)庫中保存待用。
圖像采集程序后面板如圖2所示。
圖2 圖像采集程序后面板
確定將整體灰度平均值與質(zhì)心坐標作為輸入圖像的描述子后,這些信息就成為三維歐氏空間中的一個點,不同的輸入樣本輸入構成一個個的點集,模式識別采用的方法就是找到線性或者非線性的分類器將同類數(shù)據(jù)劃分到同一區(qū)域,最終獲取非線性判別函數(shù)來解決實際問題?;谡`差反傳算法(Error Back Propagation,BP)的人工神經(jīng)網(wǎng)絡形成的多層感器,是目前使用最廣泛的解決該類問題的一種有監(jiān)督的學習算法,其能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數(shù)學方程,具有非線性、自學習、自適應能力[5]。將采集的樣本圖像特征數(shù)據(jù)輸入該網(wǎng)絡后,會自動不斷調(diào)整權向量和閥值向量,形成輸入到輸出的映射,能準確的實現(xiàn)分類。
2.1 BP神經(jīng)網(wǎng)絡設計
本文采用單隱層感知器結(jié)構,即三層感知器結(jié)構。這種結(jié)構的拓撲圖如圖3所示。
圖3 三層BP網(wǎng)拓撲圖
底層為輸入層,中間層為隱層,頂層為輸出層。輸入層的節(jié)點數(shù)代表輸入向量的個數(shù),本文使用整體灰度平均值、質(zhì)心的x坐標和y坐標作為輸入,因此n=3。輸出層為識別的總類數(shù),因此l=5。隱層使用經(jīng)驗公式:
進行計算,其中α為1~10的常數(shù),根據(jù)試驗效果進行調(diào)整,取m=6。其中V為輸入層到隱層之間的權值矩陣,其中列向量Vj為與輸入層xj相乘的權向量;W為隱層到輸出層之間的權值矩陣,其中列向量Wk為與隱層輸出yk相乘的權向量[6]。
輸入層到隱層的表達式為:
式中,vij為輸出層到隱層的權值,netj為隱層輸入,θ1為隱層閥值,yj為隱層輸出,f(x)為隱層激活函數(shù)。隱層激活函數(shù)使用雙曲正切S型函數(shù),可提高識別的精度,其表達式為:
隱層到輸出層的表達式為:
式中,wjk為隱層到輸出層的權值,netk為輸出層輸入,θ2為輸出層閥值,ok為輸出層輸出。
g(netk)為輸出層激活函數(shù)。輸出層激活函數(shù)使用線性函數(shù),可提高運算速度,其表達式為:
由激活函數(shù)表達式可知,為保證激活函數(shù)不發(fā)生溢出,統(tǒng)一數(shù)據(jù)的數(shù)量級,需要先將圖像樣本數(shù)據(jù)進行歸一化處理至[-1.1]區(qū)間中,其表達式為:
設理想輸出向量為D,則用于調(diào)整權向量的輸出誤差表達式為:
采用梯度遞減規(guī)則使E小于0.01滿足以精度要求。
經(jīng)過推導,各層權值調(diào)整表達式為:
式中,dk為理想輸出,Δvjk為輸入層到隱層的調(diào)整值,Δwjk為隱層到輸出層調(diào)整值。η為學習率,影響網(wǎng)絡收斂速度及能否收斂,較小的學習率可保證網(wǎng)絡收斂,但收斂較慢,而學習率設置偏大可能使網(wǎng)絡不收斂。選擇η=0.3使收斂較快且能獲得較高的準確率。
對于閥值θ1、θ2的調(diào)整,可以通過引入x0=-1、y0=-1與初始的閥值相乘,加入權值調(diào)整即可進行訓練。
2.2 離線訓練程序?qū)崿F(xiàn)
使用MATLAB軟件平臺的神經(jīng)網(wǎng)絡工具箱構建的BP神經(jīng)網(wǎng)絡,選取實際工況拍攝的60幅鉚接位置圖像作為訓練樣本,平均每個位置對應12幅圖像,輸入構建的網(wǎng)絡進行離線訓練,訓練流程圖如圖4所示。其中讀取訓練數(shù)據(jù)是將樣本圖像特征數(shù)據(jù)通過數(shù)據(jù)接口輸入MATLAB中,輸入值歸一化是為了保證輸入值與要求類型保持一致,構造輸出矩陣是為了提供給輸出層緩存空間,創(chuàng)建網(wǎng)絡是使用神經(jīng)網(wǎng)絡工具箱通過設置參數(shù)自動構建,最后訓練網(wǎng)絡以獲得權向量與閥值向量。
圖4 訓練流程圖
網(wǎng)絡訓練結(jié)果如圖5所示??梢钥闯?,在第26次訓練的時候就已經(jīng)達到訓練精度,說明構建的網(wǎng)絡具有快速收斂速度。
圖5 網(wǎng)絡訓練結(jié)果
2.3 在線識別程序測試
離線訓練程序使用MATLAB編寫能快速獲得所需的權向量和閥值向量,而在實際運用中,在線識別程序與圖像采集程序應使用同一軟件編寫,以避免由于軟件切換所導致的識別延遲。在深入了解BP神經(jīng)網(wǎng)絡的算法結(jié)構后,使用LabVIEW編寫的在線識別程序是可實現(xiàn)的。選取實際工況測得24幅鉚接位置圖像,每個位置對應4幅測試圖像,作為統(tǒng)計識別準確率的測試組。測試流程圖如圖6所示,其中測試圖像數(shù)據(jù)是測試組圖像的特征參數(shù)輸入,測試數(shù)據(jù)歸一化是為了保證輸入值與要求類型保持一致,仿真模擬是將測試組數(shù)據(jù)與獲得權向量與閥值向量生成的在線識別程序按照與離線訓練程序訓練同一算法進行運算,統(tǒng)計準確率是通過正確識別圖像位置的數(shù)目與測試數(shù)據(jù)對應圖像的總數(shù)之比計算所得。
圖6 測試流程圖
經(jīng)過現(xiàn)場對制動杠桿鉚接工況測試,通過相機采集5個鉚接點任意位置的圖像,輸入到在線識別程序,在不超過1s的時間內(nèi)即可實現(xiàn)準確識別,統(tǒng)計所得結(jié)果得識別準確率為100%。因此,在實際運用中基本不會影響裝配時間同時兼顧識別準確率,說明基于BP神經(jīng)網(wǎng)絡的鉚接位置識別方法有效。在線識別程序測試結(jié)果如圖7所示。
圖7 在線識別程序測試結(jié)果
本文對某大型設備上的鉚接點位置的圖像識別方法進行了研究,提出了一種關于圖像采集、圖像存儲、基于BP神經(jīng)網(wǎng)絡的離線訓練和在線識別方法。通過相機采集到任意鉚接位置的圖像輸入到在線識別程序,達到100%的總體識別準確率,說明本文所提出的方法有效,可判斷出漏鉚問題的發(fā)生。
參考文獻:
[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īng)網(wǎng)絡的汽輪機故障診斷[J].制造業(yè)自動化,2015,8(37):112.
[6] 韓力群.人工神經(jīng)網(wǎng)絡[M].北京:北京郵電大學出版社,2006:58-60.
機器人技術
作者簡介:廖健君(1992 -),男,廣東興寧人,碩士研究生,研究方向為數(shù)據(jù)采集與處理、車輛工程。
收稿日期:2015-09-29
中圖分類號:TP391.4
文獻標識碼:B
文章編號:1009-0134(2016)01-0038-04