史進偉,郭朝勇,劉紅寧
(軍械工程學院基礎部,河北 石家莊 050003)
在槍彈生產過程中,由于原材料、鍛造設備、加工工藝等因素影響,導致槍彈表面出現污漬、壓痕、綠斑、夾灰等缺陷,在一定程度上影響著槍彈產品的質量和性能。目前,國內各軍工企業主要采用傳統的人工檢測法進行外觀質量檢測,該方法自動化程度低,勞動強度大,受人為因素影響較大[1]。伴隨圖像處理技術的不斷成熟和推廣應用,使基于圖像分析技術的槍彈外觀缺陷自動檢測成為可能。
槍彈外觀缺陷識別和分類是槍彈表面質量自動檢測的關鍵。目前,缺陷識別的方法主要有BP神經網絡[2]和支持向量機[3-4]。傳統支持向量機只能進行兩類缺陷分類,對于種類較多的槍彈外觀缺陷,則需要構造多個子分類器。而BP神經網絡則可避免此問題,且其具有較好的自組織性、自學習性及自適應性等優點,近年來,被廣泛應用于模式識別領域。因此,選擇BP神經網絡作為槍彈外觀缺陷識別和分類的學習方法。首先針對槍彈外觀缺陷圖像特點,分別從形狀、顏色、紋理提取類別差異明顯的特征參數,構成缺陷特征向量,以提高分類效果。分析了傳統BP算法在槍彈外觀缺陷分類應用上的不足,針對傳統BP算法收斂速度慢,學習過程中易陷入局部極小值點,網絡易震蕩等不足,通過改變收斂標準、動態調整學習步長、引入動量項的方法優化BP神經網絡,提高網絡分類性能。
特征提取是槍彈外觀缺陷圖像識別和分類的關鍵。在GJB 5227-2004《槍彈外觀缺陷圖譜》[5]中,列出的槍彈外觀典型缺陷主要有:綠斑、體部露鋼、污漬、皺折、壓痕、線痕、裂縫、擦傷8類。圖1為缺陷圖譜中所列其中5類主要槍彈外觀缺陷圖像。

圖1 部分槍彈外觀常見缺陷圖像
為排除光照不均對槍彈外觀缺陷分割帶來的影響,將缺陷圖像由RGB顏色模型轉至HSI顏色模型[6],對H分量圖運用最大類間方差法[7]分割缺陷。利用形態學[8]填充小的孔洞,平滑缺陷輪廓結果如圖2所示。

圖2 缺陷分割后二值圖像
利用分割后二值圖像與原圖像相乘得彩色缺陷區域圖像,如圖3所示。

圖3 彩色缺陷區域
從圖中可以看出,槍彈外觀缺陷被有效分割出來,且各類缺陷特征較為明顯。為有效實現缺陷識別和分類,本文分別從缺陷的形狀、顏色、和紋理提取特征參數。
在對槍彈外觀缺陷圖像研究中發現,不同類別缺陷的幾何形狀是不相同的,而同類別缺陷的幾何形狀是相同或相似的。因此,提取槍彈外觀缺陷形狀特征能夠有效區分不同類別缺陷[9]。
(1)缺陷長徑比。即缺陷外接矩形長度與寬度之比:

(2)尖銳度。即缺陷兩端的尖銳程度:

式中:A——缺陷的面積;
A1、A2——表示主軸方向缺陷兩端1/4長度對應的面積。
(3)伸展度。描述整個缺陷像素由質心向四周展開的程度:

式中:μ02、μ20——缺陷圖像的二階矩。
(4)填充度。缺陷有效像素點數與缺陷外接矩形的像素個數比:

(5)邊緣平直性。缺陷邊緣像素點到質心距離之差的和:

(6)灰度標準差。反映缺陷灰度的集中程度:

HSI顏色模型[10]是常用的彩色空間模型,與其他彩色空間模型相比,其具有兩方面優勢:一是HSI顏色模型與人眼感覺顏色原理及其相似,符合人的視覺規律;二是HSI顏色模型受光照強度變換影響較小。槍彈表面為光滑彎曲的有色金屬表面,缺陷圖像光照不均現象較為明顯。因此,選擇HSI顏色模型中H分量值作為特征參數,既可減少圖像處理時間,提高效率,又能避免光照不均帶來的不良影響。由RGB顏色模型槍彈外觀圖像提取HIS顏色模型H分量值公式為

其中:

灰度共生矩陣[11]是較為廣泛的紋理分析方法,其反映了圖像灰度關于方向、相鄰間隔、變化幅度的綜合信息。灰度共生矩陣有15個特征參數,根據各自意義和實驗效果,本文從缺陷圖像中提取以下5個特征參數作為槍彈外觀缺陷特征:
(1)二階矩。反映圖像灰度分布均勻程度和紋理粗細程度,其值越大,紋理越粗糙:

(2)對比度。表征圖像紋理清晰程度,圖像越清晰,其值越大:

(3)熵。描述紋理復雜程度,無紋理時熵為0:

(4)逆差矩。度量圖像紋理局部變化大小,紋理越規則,其值越大:

(5)相關。衡量灰度共生矩陣元素在行方向或列方向的相似程度:

式中:i,j——灰度級;
d——灰度共生矩陣的生長步長;
θ——灰度共生矩陣生成方向,通常取0°、45°、
90°、135°4 個方向;
p(i,j)——歸一化后各點的頻度值。
利用灰度共生矩陣提取的二次統計量參數,作為分類特征,能夠使槍彈外觀缺陷圖像的分類性更好。
對上文所列的5類槍彈典型外觀缺陷樣本圖像提取12個特征參數,如表1所示,其數值相差越大,表面缺陷類別差異越明顯。從表中可以看出,單獨利用形狀特征能夠較明顯區分污漬與其他類別缺陷,但綠斑與壓痕、露鋼與皺折還很難區分。再利用顏色特征能夠有效區分綠斑與壓痕、露鋼與皺折。同時,輔以紋理特征使缺陷圖像的可分類性更好,避免前兩類缺陷特征不明顯時導致誤判。

表1 提取槍彈外觀缺陷圖像特征值結果
構造神經網絡分類器首先要選擇合適的網絡結構,本文選擇BP神經網絡典型的三層網絡結構,如圖4所示。根據上文提取的圖像特征參數為12個,故輸入層神經元個數為12。輸出層節點數為缺陷類別數,本文為8類。隱含層神經元個數的確定是關鍵:隱含層個數過少,精度不夠,產生欠擬合現象,學習過程不能收斂;隱含層節點數目過多,增加了網絡的冗余性,可能出現過學習現象,降低泛化能力。目前,隱含層神經元個數的確定主要由設計的經驗和實驗來確定。根據前人經驗[12],隱含層節點數一般可按式n=(ni+n0)1/2+a確定,其中n為隱節點數,ni為輸入節點數,n0為輸出節點數,a是1~10之間的常數。本文通過公式確定隱含層節點數取值范圍為6~16,然后通過枚舉法確定最佳實驗效果的隱節點個數為14。

圖4 三層BP神經網絡結構示意圖
針對傳統BP神經網絡存在收斂速度慢、易陷入局部極小值點、學習過程中網絡容易出現震蕩等缺陷[13],本文對傳統BP神經網絡做如下改進。
2.2.1 改變收斂性標準
在傳統BP算法學習過程中,訓練樣本誤差E通常可表示為

R——網絡輸入樣本數;
N——輸出節點數。
在學習過程中,當訓練樣本誤差E小于給定的很小正數σ時,即停止訓練。該方法的不足之處在于訓練好的網絡推廣能力較差,經常會出現訓練樣本誤差很小,而檢測誤差很大的情況。為克服上述不足,以BP網絡的最小綜合誤差E作為訓練收斂標準,其計算方法如式(14)所示。

式中:Etrain——訓練學習誤差;
Etest——檢測樣本檢核誤差;
Rs——學習樣本數;
Rt——檢測樣本數;
N——輸出節點數。
訓練過程中,找出最小的E值,以此時的權值和閾值作為網絡訓練結果,停止訓練;運用該方法作為網絡訓練收斂標準,同時考慮訓練樣本和檢測樣本的網絡輸出誤差,避免了過度擬合和擬合不足的問題,具有較好的網絡推廣能力。
2.2.2 自適應變步長
在網絡訓練時,步長η的選擇很重要,η太小收斂速度慢,太大則有可能造成震蕩,導致網絡發散。通過動態改變步長,即在較平坦的誤差曲面時使用較大步長,在斜率較大的誤差曲面使用較小步長,以提高收斂速度,增加穩定性。變步長法數學描述為

式中:η——步長;
n——訓練次數;
En——訓練n次后網絡誤差的平方和;
1.05 ,0.8——經驗常數。
由于步長在迭代中自適應進行調整,使誤差代價函數在超平面上不同的方向以各自比較合理的速率向極小點逼近。
2.2.3 加入動量項
學習速度加快容易造成網絡不穩定,誤差出現震蕩。在加快收斂速度的同時,通過采用附加動量項法以防止震蕩。
傳統BP算法權值修正公式為

引入動量項后的BP算法權值修正公式為

式中:Δωi,j(n)——第n次迭代時權值改變量;
η——步長;
α——動量項系數。
其中,動量項系數的選取依實驗和經驗確定,通過多次實驗,本文動量項系數取值0.9。加入動量項后,權值的調整向著底部平均方向變化,有利于防止震蕩,改善網絡收斂過程。
(1)神經網絡層數為3層,輸入層、隱含層和輸出層節點數分別為12、14和8。選擇雙曲正切S形函數g(x)=[2(/ 1+e-2x)]-1作為神經網絡隱含層傳遞函數,Sigmoid函數f(x)=1(/1+e-x)作為網絡輸出層傳遞函數,誤差目標值為0.001,最大迭代次數為500。
從GJB 5227-2004《槍彈外觀缺陷圖譜》中選用實驗樣本205個,其中訓練樣本數為116個,測試集數為89個,分別較全面地涵蓋了8類缺陷的各種表現形式。具體各類缺陷樣本數分配如表2所示。

表2 各類缺陷樣本數
實驗計算機為聯想啟天M7150臺式電腦,雙核,主頻3.2 GHz,內存2 G,實驗軟件工具為Matlab R2009a。保持訓練樣本和測試樣本不變,分別利用傳統BP算法和優化BP算法識別測試樣本,結果如表3所示。

表3 兩種算法缺陷識別結果對比
對比表3中兩種算法識別個數和識別率可以看出,本文優化BP算法較之傳統BP算法識別率高。同時還可以看出,露鋼、皺折、壓痕和裂縫4類缺陷識別率較低。原因是這4類缺陷提取到的特征參數差異不明顯,混合度較高,影響了分類的正確性。在不影響網絡學習性能的條件下,選擇類間區分度更為明顯的缺陷圖像特征參數,提高神經網絡識別能力,這是本文算法進一步研究改進的關鍵。
(2)為進一步表現本文BP神經網絡優化效果,以傳統標準BP算法和優化BP算法作對比實驗如下。
圖5為兩種BP神經網絡訓練收斂曲線圖,對比(a)、(b)兩圖可以看出,傳統BP算法需要迭代128次方達到誤差精度要求,而本文優化BP算法僅需要迭代73次即可達到收斂要求。迭代次數越少,說明收斂速度越快,訓練所用時間越少,即能夠更好滿足在線檢測時的實時性要求。

圖5 BP算法收斂迭代曲線
利用兩種BP算法對測試樣本進行測試,得到實際輸出與期望輸出之間的誤差曲線如圖6所示。從圖中可以看出,利用兩種BP算法測試樣本,實際輸出與期望輸出之間的誤差均在0.15以內,表現出較好的識別效果和識別穩定性。但本文優化BP神經網絡實際輸出更接近于期望輸出,其誤差基本在0.07以內,表現出更好的準確性和魯棒性。

圖6 兩種BP算法測試樣本輸出誤差曲線
本文研究了一種基于BP神經網絡的槍彈外觀缺陷自動識別與分類方法。首先,針對槍彈外觀缺陷的圖像特點,從形狀、顏色和紋理提取類別差異明顯的缺陷特征向量,作為神經網絡輸入,以提高分類效果;然后針對傳統BP算法收斂速度慢,學習過程中易陷入局部極小值點,網絡易震蕩等缺陷,分別對收斂標準和收斂步長加以改進,并引入動量項,從而提高了神經網絡分類性能。最后通過實驗表明,運用本文優化BP神經網絡識別槍彈外觀缺陷,識別率達到92.1%。通過與傳統BP算法實驗對比,本文優化BP算法在提高收斂速度的同時,表現出較好的準確性和魯棒性,能夠更好滿足槍彈外觀缺陷在線自動檢測要求。
[1]楊東林,于正林.軸承表面缺陷的快速檢測方法[J].兵工學報,2009,30(6):797-802.
[2]王潤濤,張長利,房俊龍,等.基于機器視覺的大豆籽粒精選技術[J].農業工程學報,2011,27(8):355-359.
[3]范紅波,張英堂,任國全,等.基于模糊支持向量機的發動機故障診斷方法[J].軍械工程學院學報,2006,18(6):24-28.
[4]趙四化,王琪.支持向量機在電機轉子故障診斷識別中的應用[J].中國測試,2009,35(3):121-124.
[5]GJB 5227—2004槍彈外觀缺陷圖譜[S].2004.
[6]張錚,王艷平,薛桂香.數字圖像處理與機器視覺[M].北京:人民郵電出版社,2010:37-126.
[7]李智,劉家輝.基于分區OTSU法的瀝青混合料圖像分割技術[J].武漢理工大學學報,2011,33(6):50-58.
[8]趙欽君,趙東標,陸永華.一種基于時空信息的多目標檢測新算法[J].儀器儀表學報,2011,32(4):877-882.
[9]吳鑫,齊鉑金.航空鋁合金針孔缺陷自動分級的圖像處理方法[J].北京航空航天大學學報,2011,37(6):673-679.
[10]張宏偉,宋執環.基于彩色圖像特征的銅成分軟測量模型[J].上海交通大學學報,2011,45(8):1211-1215.
[11]王慧慧,孫永海,劉晶晶,等.基于二維離散小波的鮮玉米果穗成熟度的等級評定[J].吉林大學學報,2011,41(2):574-578.
[12]劉懷廣,陳幼平,謝經明,等.浮法玻璃缺陷在線識別技術的研究[J].小型微型計算機系統,2011,4(4):738-742.
[13]張國翊,胡錚.改進BP神經網絡模型及其穩定性分析[J].中南大學學報,2011,42(1):115-124.