陳至坤,潘曉娣,王福斌,,周亞羅,劉 杰
(1.河北理工大學(xué)計(jì)算機(jī)與自動(dòng)控制學(xué)院,河北唐山063009;2.東北大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,遼寧沈陽(yáng)110004)
鋼筋是我國(guó)消費(fèi)量最大的鋼材品種之一,在鋼筋定支打捆和計(jì)數(shù)時(shí),各生產(chǎn)商紛紛采用先進(jìn)技術(shù)來(lái)提高計(jì)數(shù)準(zhǔn)確率和計(jì)數(shù)效率。20世紀(jì)80年代,國(guó)外開(kāi)始對(duì)鋼筋進(jìn)行自動(dòng)計(jì)數(shù)系統(tǒng)進(jìn)行研究,其研究的重點(diǎn)是準(zhǔn)確的測(cè)量和控制。國(guó)內(nèi)現(xiàn)有的自動(dòng)計(jì)數(shù)方法主要是圖像識(shí)別法,將采集的圖像輸入計(jì)算機(jī),通過(guò)圖像處理算法進(jìn)行特征提取,實(shí)現(xiàn)自動(dòng)計(jì)數(shù)。
目前,研究人員主要采用基于面積法的鋼筋計(jì)數(shù)系統(tǒng)和基于模板法的鋼筋計(jì)數(shù)系統(tǒng)。這2種計(jì)數(shù)方法都有一定的可行性,但也存在一定的缺點(diǎn)。面積法[1]計(jì)數(shù)結(jié)果并不易于在計(jì)數(shù)的結(jié)果圖像中直觀(guān)地顯示出來(lái),不易對(duì)計(jì)數(shù)結(jié)果的優(yōu)劣進(jìn)行判斷,一旦有誤差出現(xiàn),不易找出錯(cuò)誤的原因;模板匹配法[2]對(duì)模板和目標(biāo)物的形狀有較大的依賴(lài),自適應(yīng)能力較低。
由于神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自組織、分類(lèi)能力強(qiáng)、自適應(yīng)強(qiáng)等特點(diǎn),對(duì)于數(shù)字圖像來(lái)說(shuō),采用神經(jīng)網(wǎng)絡(luò)是一種有效的手段。
鋼筋識(shí)別和計(jì)數(shù)的基本原理圖如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)識(shí)別鋼筋并計(jì)數(shù)基本原理圖Fig 1 Basic principle diagram of reinforcement recognization and counting based on neural network
從現(xiàn)場(chǎng)采集到的鋼筋圖像包含大量的背景信息和噪聲,不僅對(duì)識(shí)別帶來(lái)困難,而且,在這種情況下識(shí)別沒(méi)有意義。所以,在鋼筋識(shí)別之前,必須對(duì)原始的鋼筋圖像進(jìn)行數(shù)字圖像處理。數(shù)字圖像處理包括圖像灰度化、濾波去噪、邊緣檢測(cè)、圖像分割、形態(tài)學(xué)處理。經(jīng)過(guò)一系列處理之后的圖像,圖像特征明顯了,這樣的圖像作為神經(jīng)網(wǎng)絡(luò)的輸入待識(shí)別圖像,用來(lái)識(shí)別和計(jì)數(shù)的神經(jīng)網(wǎng)絡(luò)是已經(jīng)訓(xùn)練好的網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)可以將待識(shí)別的鋼筋圖像根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出,做出判斷得到識(shí)別的結(jié)果。
數(shù)字圖像處理是模式識(shí)別的基礎(chǔ)和關(guān)鍵,處理結(jié)果的好壞直接影響識(shí)別的性能,圖2給出數(shù)字圖像處理的流程圖。
圖2 數(shù)字圖像處理的流程圖Fig 2 Flow chart of digital image processing
鋼筋原始圖像是數(shù)碼相機(jī)拍攝的彩色圖像,彩色圖像的儲(chǔ)存占據(jù)大量的空間,所以,在對(duì)圖像處理和識(shí)別時(shí)經(jīng)常采用灰度圖像,以加快后續(xù)的處理速度。
從攝像頭獲取的圖像在轉(zhuǎn)化過(guò)程中受電磁特性和外界條件(光照、天氣等)的影響,使得圖像有噪聲、模糊、退化、變質(zhì)等干擾,圖像質(zhì)量下降,不宜于圖像的進(jìn)一步處理。為了抑制噪聲,改善圖像質(zhì)量,需要對(duì)圖像進(jìn)行去噪。中值濾波能夠有效地抑制圖像中的噪聲,并且能保護(hù)圖像的輪廓邊界,不使其邊界模糊。因此,本系統(tǒng)采用中值濾波去噪。
圖像分割[3]的目的是將圖像中有意義的特征或者需要應(yīng)用的特征提取出來(lái),有意義的特征和需要提取的特征與要解決的問(wèn)題圖像有關(guān),問(wèn)題不同,同一圖像的分割方法和結(jié)果也不同,本系統(tǒng)采用閾值分割。
二值化后的圖像,有時(shí)存在空洞、縫隙、孤立子域等問(wèn)題,因此,需要數(shù)學(xué)形態(tài)學(xué)的膨脹運(yùn)算子填補(bǔ)物體中狹小的空洞和縫隙,使物體的形狀增大;腐蝕運(yùn)算子簡(jiǎn)化物體的結(jié)構(gòu)可以使較復(fù)雜的物體分解成幾個(gè)簡(jiǎn)單部分。另外,膨脹運(yùn)算子和腐蝕運(yùn)算子結(jié)合運(yùn)用,開(kāi)運(yùn)算(先腐蝕再膨脹)可以切斷搭結(jié),去掉孤立子域、毛刺等部分,閉運(yùn)算(先膨脹再腐蝕)可以填充細(xì)小空洞,搭結(jié)短的間隔。本系統(tǒng)采用閉運(yùn)算。經(jīng)過(guò)數(shù)字圖像處理后鋼筋圖像如圖3。
對(duì)計(jì)算機(jī)圖像識(shí)別系統(tǒng)而言,物體的形狀是一個(gè)賴(lài)以識(shí)別的重要特征。一個(gè)圖像形狀和結(jié)構(gòu)特征有2種形式,一種是數(shù)字特征主要包括幾何屬性(如,長(zhǎng)短、面積、距離等)、統(tǒng)計(jì)屬性和拓?fù)鋵傩?另一種是由字符串和圖等所表示的句法語(yǔ)言。
由于感興趣的是圖像的形狀和結(jié)構(gòu)特征,所以,其灰度信息可以忽略,常用的方法是用二值化算法把目標(biāo)和背景區(qū)分開(kāi)來(lái),即將感興趣的部分標(biāo)以最大灰度值,把背景或不感興趣的部分標(biāo)以最小灰度值。
在本文鋼筋識(shí)別和計(jì)數(shù)中,感興趣的是鋼筋的形狀,因此,選擇圖像的特征必須可以表達(dá)或者描述鋼筋的形狀。圖4為提取的鋼筋輪廓圖像。
圖3 經(jīng)過(guò)數(shù)字圖像處理后的鋼筋圖像Fig 3 Reinforcement image after digital image processing
圖4 鋼筋輪廓圖像Fig 4 Steel bar profile image
求單根鋼筋的面積和打捆鋼筋的總面積,方法原理是一樣的,即圖像中區(qū)域的面積就是圖像中相同標(biāo)記的像素?cái)?shù)目。
因?yàn)閳D像采集是連續(xù)的圖像,而經(jīng)過(guò)圖像處理后的圖像是離散的數(shù)字圖像,在像素點(diǎn)描述時(shí),產(chǎn)生了誤差,因此,在計(jì)算面積過(guò)程中對(duì)每一個(gè)不同像素模式上加上不同的權(quán)值,以減少誤差。面積計(jì)算公式如下
對(duì)于離散的數(shù)字圖像,區(qū)域的邊界輪廓可理解為相鄰邊界像素點(diǎn)之間的單元連線(xiàn)逐段相連而成,考慮數(shù)字圖像像素點(diǎn)(x,y)的一個(gè)8鄰域,顯然,在該處的邊界只能有以下幾種情況:正東、東北、正北、西北、正西、西南、正南和東南,對(duì)于每一種方向賦以一種碼表示,就是 0,1,2,3,4,5,6,7這8個(gè)碼表示下一點(diǎn)與前一點(diǎn)之間的位置關(guān)系,這些碼稱(chēng)為方向碼。例如:0表示下一點(diǎn)在該點(diǎn)的正東方向,即下一點(diǎn)可表示為(x+1,y),又如7表示下一點(diǎn)在該點(diǎn)的東南方向,即下一點(diǎn)可表示為(x-1,y-1),如圖5所示。
圖5 方向碼的定義Fig 5 Define of the directional code
設(shè)方向鏈碼為{a1,a2……an},定義ai在X軸上的分量為aix,在Y軸上的分量為aiy,則有以下式子成立
ai=0 時(shí),aix=1,aiy=0;ai=1 時(shí),aix=1,aiy=1;
ai=2 時(shí),aix=0,aiy=1;ai=3 時(shí),aix=-1,aiy=1;
ai=4時(shí),aix=-1,aiy=0;ai=5時(shí),aix=aiy=-1;
ai=6時(shí),aix=0,aiy=1;ai=7時(shí),aix=aiy=-1 .
設(shè)x0和y0是起始點(diǎn)的坐標(biāo),則邊界輪廓所表示的區(qū)域的高度和寬度為
圖6為BP神經(jīng)網(wǎng)絡(luò)識(shí)別鋼筋并計(jì)數(shù)的流程圖。
圖6 BP網(wǎng)絡(luò)應(yīng)用流程圖Fig 6 Flow chart of BP network application
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)算法描述:1)初始化網(wǎng)絡(luò)參數(shù),學(xué)習(xí)參數(shù),如,設(shè)置網(wǎng)絡(luò)初始權(quán)矩陣、學(xué)習(xí)因子等;2)提供訓(xùn)練模式,訓(xùn)練網(wǎng)絡(luò),直到滿(mǎn)足學(xué)習(xí)要求;3)前向傳播過(guò)程:對(duì)給定訓(xùn)練模式輸入,計(jì)算網(wǎng)絡(luò)的輸出模式,并與期望模式比較,若有誤差,則執(zhí)行(4),否則,返回(2);4)后向傳播過(guò)程:.計(jì)算同一層單元的誤差,修正權(quán)值和閾值,返(2)。
網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)是根據(jù)輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)的個(gè)數(shù)與網(wǎng)絡(luò)性能來(lái)決定的。本文特征量為單根鋼筋的寬度、高度和面積、打捆鋼筋的總面積4個(gè)特征量,因此,輸入節(jié)點(diǎn)選4 個(gè);要識(shí)別96,97,98,99,100,101,102,103 這 8 種情況下的鋼筋數(shù)量,所以,將目標(biāo)輸出值設(shè)定為一個(gè)八維的列向量,其中以鋼筋個(gè)數(shù)對(duì)應(yīng)的那個(gè)位為1,其他位為0;隱含層數(shù)目沒(méi)有規(guī)定,一般根據(jù)經(jīng)驗(yàn)和實(shí)際情況而定,本文選6個(gè)隱含層。因此,本文的BP網(wǎng)絡(luò)的結(jié)構(gòu)為4—6—8,如圖7所示。
圖7 BP網(wǎng)絡(luò)結(jié)構(gòu)圖Fig 7 Diagram of BP network structure
表1為神經(jīng)網(wǎng)絡(luò)輸出的理論結(jié)果。
表1 理論的輸出結(jié)果Tab 1 The theory output
Matlab神經(jīng)網(wǎng)絡(luò)工具箱[6]為神經(jīng)網(wǎng)絡(luò)系統(tǒng)的分析和設(shè)計(jì)提供了大量的可以直接調(diào)用的工具箱函數(shù),利用這些神經(jīng)網(wǎng)絡(luò)工具箱可以很容易實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的仿真算法。
本文選取的樣本數(shù)為48個(gè),將樣本圖像進(jìn)行圖像處理后得到處理后的樣本向量,再設(shè)定好對(duì)應(yīng)的網(wǎng)絡(luò)輸出的目標(biāo)向量,把目標(biāo)向量和網(wǎng)絡(luò)輸出向量都保存在pmat文件中。設(shè)置好網(wǎng)絡(luò)訓(xùn)練參數(shù),對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試,并將最佳的一個(gè)網(wǎng)絡(luò)權(quán)值保存起來(lái)。
BP網(wǎng)絡(luò)訓(xùn)練的部分Matlab程序如下
圖8為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差曲線(xiàn)圖,達(dá)到目標(biāo)時(shí)的步數(shù)為4492。
圖8 訓(xùn)練誤差曲線(xiàn)Fig 8 Error curve of training
實(shí)際的輸出結(jié)果如表2所示。
表2 實(shí)際的輸出結(jié)果Tab 2 The actual output result
本文選了48個(gè)樣本,其中,24個(gè)樣本用于訓(xùn)練,8個(gè)樣本用于檢測(cè),16個(gè)樣本用于測(cè)試。成功識(shí)別和計(jì)數(shù)的個(gè)數(shù)為13個(gè),正確識(shí)別率為81%,在這樣少的訓(xùn)練樣本的情況下,識(shí)別率達(dá)到了80%以上,表明神經(jīng)網(wǎng)絡(luò)識(shí)別鋼筋和計(jì)數(shù)方法是可行的。
本文針對(duì)捆裝鋼筋計(jì)數(shù)問(wèn)題,基于Matlab軟件、圖像處理和模式識(shí)別技術(shù)實(shí)現(xiàn)鋼筋的識(shí)別和計(jì)數(shù)。實(shí)驗(yàn)表明:該方法識(shí)別正確率高,有可行性。但神經(jīng)網(wǎng)絡(luò)的識(shí)別和樣本數(shù)目有很大的關(guān)系,因此,樣本數(shù)目的選擇,網(wǎng)絡(luò)的訓(xùn)練能力和預(yù)測(cè)能力之間的矛盾問(wèn)題是今后研究的重點(diǎn)。
[1]羅 山,黃 歡.一種基于圖像處理的成捆鋼筋計(jì)數(shù)方法[J].微計(jì)算機(jī)應(yīng)用,2008,29(6):3-4.
[2]劉國(guó)平,王洪亮,胡榮華,等.模板匹配技術(shù)在焊縫圖像處理中的應(yīng)用[J].焊接技術(shù),2004,33(4):14-16.
[3]章毓晉.圖象處理和分析[M].北京:電子工業(yè)出版社,2000.
[4]李 波.一種計(jì)算任意形狀封閉區(qū)域面積的新方法[J].國(guó)防科技大學(xué)學(xué)報(bào),2002,24(4):61-64.
[5]四維科技,胡小鋒.圖像處理與識(shí)別實(shí)用案例精選[M].北京:人民郵電出版社,2004.
[6]聞 新,周 露.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].北京:科學(xué)出版社,2003.