胡慧君,李元香,劉茂福,梁文豪
(1.武漢大學(xué) 計(jì)算機(jī)學(xué)院 軟件工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430072;2.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢430065;3.浙江大華技術(shù)有限責(zé)任公司,浙江 杭州310053)
隨著社會(huì)的快速發(fā)展,人們對(duì)于制造業(yè)生產(chǎn)線提出了更高要求,既要提高生產(chǎn)效率又要保證質(zhì)量。帶鋼作為汽車制造、航空航天、日常生活用品的原材料,其質(zhì)量要求越來越嚴(yán)格;然而,國內(nèi)鋼鐵公司的帶鋼生產(chǎn)線上,由于帶鋼表面缺陷所帶來的經(jīng)濟(jì)損失卻居高不下。主要原因是先前人工目視檢測帶鋼表面的方法已越來越不能滿足企業(yè)生產(chǎn)發(fā)展的需要,不能夠?qū)崟r(shí)控制生產(chǎn)過程中出現(xiàn)的問題。
本文在通過機(jī)器視覺系統(tǒng)對(duì)帶鋼表面缺陷進(jìn)行缺陷檢測的前提下,用機(jī)器學(xué)習(xí)方法中的BP (back propagation)神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)SVM (support vector machine)對(duì)帶鋼表面產(chǎn)生的缺陷分別進(jìn)行了分類識(shí)別研究。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單,是目前應(yīng)用最為廣泛的人工神經(jīng)網(wǎng)絡(luò),已經(jīng)成功應(yīng)用在模式識(shí)別與圖像分類等領(lǐng)域,如秦鐘使用圖像不變矩特征與BP神經(jīng)網(wǎng)絡(luò)對(duì)車型進(jìn)行分類[1],徐磊等則將BP神經(jīng)網(wǎng)絡(luò)用于遙感圖像分類[2]。SVM 分類模型常用于對(duì)圖像進(jìn)行分類,華翔等基于紋理和形狀特征使用SVM 對(duì)醫(yī)學(xué)圖像進(jìn)行分類研究[3],而唐銀鳳等在融合多特征基礎(chǔ)上使用多分類SVM 模型對(duì)遙感紋理圖像進(jìn)行分類[4]。
對(duì)于缺陷分類識(shí)別,本文先對(duì)檢測出的缺陷目標(biāo)圖像進(jìn)行圖像二值化,結(jié)合目標(biāo)圖像和二值化圖像進(jìn)行特征提取。根據(jù)特征向量,利用BP神經(jīng)網(wǎng)絡(luò)和SVM 分別對(duì)缺陷圖像訓(xùn)練集進(jìn)行分類模型訓(xùn)練,利用測試集對(duì)訓(xùn)練好的分類識(shí)別模型評(píng)判分類結(jié)果。具體的模型圖如圖1所示。
圖1 缺陷分類系統(tǒng)模型
目標(biāo)圖像是通過對(duì)帶鋼生產(chǎn)線上獲取到的圖像進(jìn)行缺陷檢測,將包含有缺陷信息的圖像區(qū)域分割出來,從而得到的一幅圖像。
本文主要用到幾何特征、形狀特征和灰度特征3類特征表示目標(biāo)圖像的缺陷信息。在進(jìn)行特征提取前,需要進(jìn)行圖像二值化處理,將目標(biāo)圖像中缺陷可能存在的區(qū)域ROI(region of interest)設(shè)置為前景,即該區(qū)域內(nèi)像素點(diǎn)灰度值設(shè)定為255;將ROI以外區(qū)域設(shè)置為背景,即該區(qū)域內(nèi)像素點(diǎn)灰度值設(shè)定為0;然后結(jié)合二值化圖像和目標(biāo)圖像進(jìn)行相應(yīng)特征提取。
本文運(yùn)用機(jī)器學(xué)習(xí)的方法進(jìn)行缺陷分類識(shí)別時(shí),根據(jù)提取到的特征向量,對(duì)大量的訓(xùn)練樣本進(jìn)行訓(xùn)練生成分類模型,然后對(duì)測試集提取相應(yīng)的特征向量并預(yù)測訓(xùn)練好的分類器的有效性。實(shí)驗(yàn)結(jié)果表明,BP 神經(jīng)網(wǎng)絡(luò)和SVM 兩種分類模型都是可行的;同時(shí),SVM 模型分類準(zhǔn)確率更高,但BP神經(jīng)網(wǎng)絡(luò)平均識(shí)別時(shí)間優(yōu)于SVM。
本文使用目標(biāo)圖像面積、ROI面積、ROI與目標(biāo)圖像面積之比、目標(biāo)圖像寬高之比4組特征來表示帶鋼缺陷圖像的幾何特征。
(1)ROI面積
ROI面積用Area來描述其大小,通過統(tǒng)計(jì)二值化圖像的前景像素點(diǎn)個(gè)數(shù)來表示ROI的面積
式中:R——目標(biāo)圖像組成的像素點(diǎn)集合,f(x,y)——目標(biāo)圖像,b(x,y)——二值化圖像。
(2)目標(biāo)圖像面積
目標(biāo)圖像面積通過計(jì)算其圖像的寬高之積來表示。
物體的形狀是圖像表達(dá)的一個(gè)重要特征,形狀特征的描述必須以圖像中不同于背景區(qū)域的劃分區(qū)域來進(jìn)行計(jì)算。通常來說,物體的形狀特征有兩種表示方法,一種是基于邊界的特征表示法,一種是基于區(qū)域的特征表示法;前者主要關(guān)心物體的外邊界形狀,而后者主要關(guān)心物體的整個(gè)區(qū)域的形狀。比較典型的方法有形狀無關(guān)矩和傅立葉形狀描述符兩類。
(1)形狀無關(guān)矩
形狀無關(guān)矩 (moment invariants)是一種基于區(qū)域的物體形狀表示方法[5]。用此方法對(duì)目標(biāo)區(qū)域提取出的特征具有對(duì)平移、旋轉(zhuǎn)、尺度變換等不變性。對(duì)于一幅數(shù)字圖像I=f(x,y),f(x,y)表示像素點(diǎn)(x,y)的灰度值,則I的p+q中心矩定義為
本文對(duì)二值化圖像進(jìn)行特征提取,得到七維特征向量。
(2)傅立葉形狀描述符
傅立葉形狀描述符 (fourier shape descriptors)是基于邊界的物體形狀表示方法[6]。其基本思想是利用物體邊界的傅立葉變換系數(shù)作為形狀描述子。假設(shè)封閉邊界由N 個(gè)數(shù)據(jù)點(diǎn)組成,則
式中:s(k)為從任一點(diǎn)開始繞邊界一周的復(fù)數(shù)序列。對(duì)序列s(k)的離散傅立葉變換為
根據(jù)傅立葉變換的性質(zhì),高頻分量表示物體細(xì)節(jié),低頻分量表示總體形狀。因此,在對(duì)圖像進(jìn)行傅立葉變換后,可以用前面M(M<N)個(gè)系數(shù)來表達(dá)目標(biāo)區(qū)域邊界的形狀特征。由于進(jìn)行傅立葉變換后,各系數(shù)值區(qū)間變化比較大。因此,需要對(duì)傅立葉描述符進(jìn)行歸一化處理。本文以s(0)為基準(zhǔn)對(duì)s(w)進(jìn)行歸一化,歸一化后的傅立葉描述符具有平移、旋轉(zhuǎn)、尺度等不變性[7]。本文選取M=8 來進(jìn)行計(jì)算,對(duì)二值化圖像進(jìn)行特征提取,得到七維特征向量。
圖像的灰度直方圖提供了圖像的灰度值分布情況,可以通過計(jì)算圖像的灰度直方圖相關(guān)特性得到。常用的直方圖特征參數(shù)有歪度、峭度、均值、方差、能量和熵。
對(duì)于帶鋼表面缺陷圖像灰度特征提取,可以通過對(duì)目標(biāo)圖像、目標(biāo)圖像的背景區(qū)域、ROI來進(jìn)行提取。文中只對(duì)ROI進(jìn)行灰度特征的提取,結(jié)合目標(biāo)圖像和二值化圖像進(jìn)行特征提取,得到六維特征向量。
本文通過機(jī)器學(xué)習(xí)方法對(duì)帶鋼表面產(chǎn)生的缺陷進(jìn)行分類識(shí)別,首先準(zhǔn)備大量的缺陷圖像作為訓(xùn)練樣本和測試樣本,根據(jù)訓(xùn)練樣本訓(xùn)練出分類模型,然后對(duì)測試樣本用訓(xùn)練好的分類模型進(jìn)行預(yù)測,調(diào)整相關(guān)參數(shù)達(dá)到模型識(shí)別率要求,并將模型推廣到缺陷分類識(shí)別系統(tǒng)中。
BP (back propagation)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),為目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一[8]。
用BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)缺陷分類器時(shí),根據(jù)提取到的24維特征向量設(shè)定輸入層神經(jīng)元數(shù)為24。根據(jù)本文設(shè)定的5類缺陷,輸出層神經(jīng)元數(shù)確定為5。對(duì)于隱含層神經(jīng)元數(shù)的設(shè)定,尚沒有一定的理論知識(shí)作指導(dǎo),需要多次實(shí)驗(yàn)并根據(jù)預(yù)測準(zhǔn)確率來確定。對(duì)于神經(jīng)元作用函數(shù),文中選用S型函數(shù)中的雙曲正切函數(shù)
綜上所述,肺消炎飲聯(lián)合頭孢呋辛鈉治療小兒急性上呼吸道感染療效確切,能夠有效增強(qiáng)患兒免疫功能,改善機(jī)體炎癥狀態(tài),是一種安全可靠的治療方案。
設(shè)置期望輸出向量時(shí),應(yīng)將相同缺陷類別樣本期望輸出設(shè)置成一樣,不同缺陷類樣本期望輸出最大化區(qū)別開。用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,生成的模型不易理解,外面對(duì)里面的規(guī)則沒有一定的規(guī)律可循。在訓(xùn)練時(shí)容易陷入誤差局部最小化而難于收斂,而且容易出現(xiàn) “過學(xué)習(xí)”問題。
與以經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化的傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,SVM[9]是一種以結(jié)構(gòu)風(fēng)險(xiǎn)最小化SRM (structural risk minimization)為原則的機(jī)器學(xué)習(xí)方法。SVM 最開始是在線性可分情況下從最優(yōu)分類理論發(fā)展而來,其主要原理是找出最優(yōu)分類函數(shù),使兩類樣本中的分類間隔最大化。假定在二維空間中有線性可分的兩類數(shù)據(jù),SVM 的分類函數(shù)是將兩類數(shù)據(jù)最大化分開。在一個(gè)樣本集中,支持向量個(gè)數(shù)與樣本輸入向量維數(shù)沒太多直接聯(lián)系,從而避免了因?yàn)檩斎霕颖緮?shù)據(jù)特征向量維數(shù)過高而引起的維數(shù)災(zāi)難問題。
對(duì)于線性不可分問題,可以把樣本映射到某個(gè)高維空間中,使其線性可分,這需要核函數(shù)來完成。一般核函數(shù)主要有多項(xiàng)式核函數(shù)、高斯徑向基核函數(shù)、S型核函數(shù)等,本文選取最常用的高斯徑向基函數(shù)作為核函數(shù)
SVM 最開始提出主要是解決二分類問題,但在實(shí)際應(yīng)用中待分類別往往多于兩類,需要用二分類SVM 來解決多分類問題,主要思想是組合若干個(gè)二分類器來實(shí)現(xiàn)一個(gè)多分類器,本文選用 “一對(duì)一”方法來完成多分類。
對(duì)于本文定義的5種缺陷,需將5種缺陷樣本兩兩組合,從而訓(xùn)練10個(gè)二分類器,然后利用測試數(shù)據(jù)對(duì)每個(gè)二分類器進(jìn)行預(yù)測,分別得到一個(gè)類別,找出投票數(shù)最多的那個(gè)類作為最終分類結(jié)果。用SVM 分類兩類缺陷時(shí),準(zhǔn)確率比較高;若用于多分類時(shí),則需要大量的訓(xùn)練時(shí)間和預(yù)測時(shí)間。
本文對(duì)國內(nèi)某大型鋼鐵公司生產(chǎn)線現(xiàn)場攝相機(jī)獲取的大量圖像進(jìn)行分析,定義了5 種帶鋼表面缺陷,即 “輥印”、“銹斑”、“乳化液斑”、“邊印”以及 “擦傷”,并依次對(duì)缺陷進(jìn)行編號(hào)。實(shí)驗(yàn)中用到訓(xùn)練集和測試集樣本數(shù)量見表1。
表1 訓(xùn)練樣本集和測試樣本集
表2 不同缺陷目標(biāo)圖像的灰度值比較
通過表2可以看出,缺陷1至缺陷4的目標(biāo)圖像灰度值大致分布在56至125之間,缺陷5的目標(biāo)圖像灰度均值大致分布在125至165之間。所以在對(duì)目標(biāo)圖像進(jìn)行二值化前,可以先對(duì)其進(jìn)行一次灰度均值計(jì)算,根據(jù)均值來確定采用哪種二值化。
(1)若均值小于128,則進(jìn)行第一種情況的二值化,即設(shè)定閥值為90,目標(biāo)圖像中像素的灰度值小于90時(shí),將其設(shè)定為前景,否則設(shè)定為背景;
(2)若均值大于128,則進(jìn)行第二種情況的二值化,即設(shè)定閥值為140,目標(biāo)圖像中像素的灰度值大于140時(shí),將其設(shè)定為前景,否則設(shè)定為背景。
對(duì)5種缺陷圖像按照上面的方法進(jìn)行二值化后,結(jié)果如圖2所示。
圖2 5種缺陷目標(biāo)圖像及二值化圖像
對(duì)于Hu七階不變矩和傅立葉形狀描述符的特征提取,實(shí)驗(yàn)中皆使用OpenCV1中的相應(yīng)方法得到特征向量。對(duì)于傅立葉形狀描述符,首先對(duì)圖像進(jìn)行傅立葉變換,根據(jù)變換后的系數(shù)得到特征向量。
在進(jìn)行特征提取后,為減少計(jì)算量以及極大值與極小值的相互影響,必須對(duì)其進(jìn)行歸一化,實(shí)驗(yàn)中將向量全部歸一化在 [-1,1]區(qū)間內(nèi)。
訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)分類模型時(shí),需要對(duì)相關(guān)參數(shù)和期望輸出向量進(jìn)行設(shè)定,對(duì)于每一類缺陷特征向量設(shè)置不同的期望輸出向量,實(shí)驗(yàn)中設(shè)定缺陷1的期望輸出向量為 [1 0 000],缺陷2的期望輸出向量為 [0 1 0 0 0],缺陷3的期望輸出向量為 [0 0 1 0 0],缺陷4的期望輸出向量為 [00 0 1 0],缺陷5的期望輸出向量為 [0 0 0 01],對(duì)于隱含層神經(jīng)元個(gè)數(shù)n 的選取,實(shí)驗(yàn)中分別取n= {10,11,12,…,20}進(jìn)行模型訓(xùn)練,然后對(duì)測試集進(jìn)行預(yù)測,計(jì)算平均識(shí)別率來確定其最優(yōu)值。
實(shí)驗(yàn)中用OpenCV 中的相應(yīng)類中的方法實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和預(yù)測。經(jīng)過多次實(shí)驗(yàn),當(dāng)n=16 時(shí),訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)預(yù)測效果最好,具體結(jié)果見表3。
表3 n=16時(shí)BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果
實(shí)驗(yàn)中采用常用的 “一對(duì)一”方法來實(shí)現(xiàn)多分類;對(duì)于文中定義的5 類缺陷,需要訓(xùn)練10 個(gè)子分類器進(jìn)行分類。選用的核函數(shù)是高斯徑向基函數(shù),而核函數(shù)需要確定兩個(gè)參數(shù):懲罰參數(shù)C 和參數(shù)γ。對(duì)此,實(shí)驗(yàn)中用LIBSVM 的網(wǎng)格搜索法確定參數(shù)[10]。在LIBSVM 中,默認(rèn)將C 設(shè)置在 [2-5,215]范圍 內(nèi),將γ 設(shè) 置在[2-15,23]范圍內(nèi)。
表4 是對(duì)不同子分類器進(jìn)行參數(shù)選擇列表,其中“1&2”表示缺陷1和缺陷2的子分類器,后面依此設(shè)定。
表4 不同子分類器參數(shù)確定列表
根據(jù)表4 的參數(shù)設(shè)定,基于多分類SVM 方法結(jié)果見表5。
表5 SVM 模型預(yù)測結(jié)果
通過表4和表5可以發(fā)現(xiàn),用SVM 進(jìn)行預(yù)測時(shí),一方面,SVM 準(zhǔn)確率比BP神經(jīng)網(wǎng)絡(luò)要高,另一方面,SVM 高的準(zhǔn)確率卻是以計(jì)算時(shí)間為代價(jià)的。但用兩種方法均能滿足系統(tǒng)的實(shí)時(shí)性需求??傮w上說,SVM 分類要優(yōu)于BP 神經(jīng)網(wǎng)絡(luò)。
本文基于機(jī)器學(xué)習(xí)的BP神經(jīng)網(wǎng)絡(luò)和SVM 兩種分類模型分別對(duì)帶鋼表面缺陷分類識(shí)別方法進(jìn)行了研究。對(duì)于檢測出缺陷的目標(biāo)圖像,根據(jù)不同缺陷的灰度均值設(shè)定兩種閾值,進(jìn)行二值化處理。然后結(jié)合目標(biāo)圖像和二值化圖像進(jìn)行幾何特征、形狀特征以及灰度特征提取。在用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練分類器時(shí),用三層神經(jīng)網(wǎng)絡(luò)模型,通過多次實(shí)驗(yàn)確定隱含層神經(jīng)元數(shù)。在用SVM 訓(xùn)練分類器時(shí),用高斯徑向基函數(shù)作為核函數(shù),通過交叉驗(yàn)證確定相關(guān)參數(shù),采用“一對(duì)一”的方法進(jìn)行多分類。文中用OpenCV 對(duì)標(biāo)定的5種帶鋼表面缺陷進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,SVM 模型分類準(zhǔn)確率更高,BP 神經(jīng)網(wǎng)絡(luò)平均識(shí)別時(shí)間則優(yōu)于SVM,但兩種方法都能滿足系統(tǒng)實(shí)時(shí)性要求。如何提高識(shí)別率和識(shí)別時(shí)間將有待進(jìn)一步的研究。
[1]QIN Zhong.Vehicle classification based on image moment invariant feature and BP neural network [J].Journal of South China University of Technology (Natural Science Edition),2009,37 (2):87-91 (in Chinese).[秦鐘.基于圖像不變矩特征和BP神經(jīng)網(wǎng)絡(luò)的車型分類 [J].華南理工大學(xué)學(xué)報(bào) (自然科學(xué)版),2009,37 (2):87-91.]
[2]XU Lei,LIN Jian,LI Yanhua,et al.Classifying remote sensing image based on BP neural network technology[J].Journal of Geospatial Information Science,2012,10 (4):83-85 (in Chinese).[徐磊,林劍,李艷華,等.基于BP人工神經(jīng)網(wǎng)絡(luò)的遙感影像分類[J].地理空間信息,2012,10 (4):83-85.]
[3]HUA Xiang,SUN Lei.Design of medical image classifier based on SVM [J].Microelectronics and Computer,2011,28(6):171-175 (in Chinese).[華翔,孫蕾.基于SVM 的醫(yī)學(xué)圖像分類器的設(shè)計(jì) [J].微電子學(xué)與計(jì)算機(jī),2011,28 (6):171-175.]
[4]TANG Yinfeng,HUANG Zhiming,HUANG Rongjuan,et al.Texture image classification based on multi-feature extraction and SVM classifier [J].Computer Application and Software,2011,28 (6):22-25 (in Chinese).[唐銀鳳,黃志明,黃榮娟,等.基于多特征提取和SVM 分類器的紋理圖像分類[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28 (6):22-25.]
[5]MU H B,QI D W.Pattern recognition of wood defects types based on Hu invariant moments[C]//Proceedings of International Congress on Image and Signal Processing,2009,1-5.
[6]Wilhelm B,Mark J B.Principles of digital image processingadvanced methods[M].London:Springer,2013:169-227.
[7]El-ghazal A,Basir O,Belkasim S.Invariant curvature-based fourier shape descriptors[J].Journal of Visual Communication and Image Representation,2012,23 (4):622-633.
[8]Nawi N M,Ransing R S,Salleh M N M,et al.An improved back propagation neural network algorithm on classification problems[C]//Proceedings of International Conferences on DTA and BSBT,2010:177-188.
[9]Ronny L,Alexandre d.Support vector machine classification with indefinite kernels [J].Mathematical Programming Computation,2009 (1):97-118.
[10]Chang C C,Lin C J.LIBSVM:A library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology,2011,27 (2):1-27.