


摘要:目標圖像輪廓編碼算法是一種圖像輪廓特征提取的二次轉換算法模型,具有較好的穩定性和有效性。本文采用該輪廓編碼算法結合BP網絡,提出一種圖像目標識別方法。算法能大大減少樣本圖像所需數量,僅需要一個樣本圖像即可準確快速地識別出與其一致的目標圖像,識別率高達100%,在計算速度、抗干擾能力與數據存儲上都優于傳統的識別方法。
關鍵詞:輪廓編碼;目標識別;圖像識別;編碼鏈
中圖分類號:TP391.41;O157.5 文獻標識碼:A 文章編號:1672-9129(2020)06-0069-03
Abstract:Targetimagecontourcodingalgorithmisasecondarytransformationalgorithmmodelforimagecontourfeatureextraction,whichhasgoodstabilityandeffectiveness.Inthispaper,thecontourcodingalgorithmcombinedwithBPnetworkisusedtoproposeanimagetargetrecognitionmethod.Thealgorithmcangreatlyreducethenumberofsampleimages,andonlyonesampleimageisneededtoaccuratelyandquicklyidentifythetargetimageconsistentwithit.Therecognitionrateisupto100%,whichissuperiortothetraditionalrecognitionmethodsincomputingspeed,anti-interferenceabilityanddatastorage.
Keywords:contourcoding;Targetrecognition;Imagerecognition;Chaincode
相對于經典的圖像識別算法而言,基于輪廓的識別方法可大大減少計算時間,相比于圖像區域的識別而言,基于圖像輪廓邊界的識別方法具有顯著的優勢,其更容易融合進其它的數值分析技術,如傅立葉變換、小波分析、多尺度分形、神經網絡等,還可以定量的將邊界輪廓信息進行再處理,得到目標圖像的二次特征信息。本文首先對目標圖像輪廓編碼算法和BP網絡進行簡要分析,再采用目標圖像輪廓編碼算法結合BP網絡方式,提出一種圖像目標識別方法,并通過實驗以能突出輪廓編碼算法優勢的機械工件識別為例分析該目標識別方法的優點和抗干擾性能。
1目標圖像輪廓編碼算法
目標圖像輪廓編碼算法①,是基于水平集模型提取圖像的特征輪廓進行編碼,有效地提取了圖像邊界的本質信息,且通過將圖像旋轉的方式,將分割所得圖像的邊界輪廓進行特定的編碼。該算法主要是將獲取得到的目標圖像邊界坐標信息,進行一定的圖像轉換進而提取出目標圖像的輪廓信息矩陣,不但在編碼作用上、編碼速度及編碼思想上與傳統的編碼算法不一樣,而且在圖像輪廓特征提取的二次轉換上具有獨特的作用,能夠從多角度提取挖掘出圖像邊界輪廓的信息。該目標圖像輪廓編碼算法流程步驟分別如下:
步驟1,基于圖像分析模型獲取得到目標圖像的邊界信息,分別為(x,y)系列坐標。
步驟2,將步驟1得到的輪廓邊界的坐標值分別歸一化在[1,255]之間,剔除圖像因絕對相像素點不同造成的影響。
步驟3,將步驟2得到的輪廓矩陣數據轉換成uint8格式,便于后續計算處理。
步驟4,將步驟3得到的輪廓矩陣進行灰度化,并將其轉換成圖像邊界的編碼矩陣。
步驟5,將步驟4得到的圖像邊界編碼矩陣通過設定相應的閾值進行二值化。
步驟6,為了將圖像邊界編碼矩陣與其它模型算法結合,將步驟5得到的二值化編碼矩陣進行排列編碼,其排列編碼方式可以為橫向、列向及斜向。最后繪制出相應的編碼鏈。其中,橫向編碼是將二值化后的編碼矩陣的每一行全部按先后順序轉化為一行。列向編碼是將編碼矩陣的每一列全部按照先后順序轉化為一行。斜向編碼是將編碼矩陣的每一對角線數據由右上角至左下角依次全部轉化為一行。
2BP神經網絡
D.E.Rumelhart和J.L.McCelland為主的研究小組在1986年第一次提出BP(BackPropagation)神經網絡,是目前人臉表情識別技術中使用最廣泛的人工神經元網絡。BP算法將學習過程劃分為正向傳輸信號和逆向傳輸誤差兩個過程。信號傳輸環節中,輸入層每個節點獲取信號的輸入,信息通過中間層處理后就傳輸到輸出層每個節點來處理,全部完成后通過輸出層得到處理后的結果。如果結果不滿足預期的輸出時,就會進到誤差傳輸環節。這個環節中誤差按照某種形式從傳輸層出發傳輸到隱層以及輸入層,傳輸過程中對每層的所有單元的權限進行修改,保證誤差可以梯度式的降低。這樣的正向傳輸信號和逆向傳輸誤差的環節會不斷往復,一直到網絡得到的誤差控制在預期的范圍中。信號和誤差傳遞的環節中,每一層權值不斷的調節過程就是神經網絡學習訓練過程。標準BP網絡的結構包含輸入層、隱層以及輸出層。輸入向量為X=(x1,x2,…,xn)T,隱含層的輸出向量為Y=(y1,y2,…,yn)T。輸出層的輸出向量為O=(o1,o2,…,ok)T,期望輸出向量為:d=(d1,d2,…,dk)T。vij表示輸入層第i個節點與隱層第j個節點的權值,wij表示隱層第i個節點與輸出層第j個節點的權值[1]。
對于輸出層:
對于隱含層:
當網絡輸出與期望輸出不相符時,存在的輸出誤差用E表示:
如果輸出誤差E不符合既定的ε或迭代次數低于預定的值時,按照一定的規則來調整各層權值vij和wij從而降低誤差E,一直到E低于ε或者和達到指定的迭代次數。將此時的權值和閾值固定下來,完成網絡的學習環節。BP算法的流程描繪如下:
步驟1,初始化每個神經元的權值和閾值,輸入訓練樣本和對應的預期輸出。
步驟2,得到隱層和輸出層中每個神經元的輸入與輸出。
步驟3,計算得到網絡的輸出誤差和每層的誤差信號。
步驟4,修正各層神經元權值及閾值。
步驟5,計算網絡誤差,若誤差達到精度要求,訓練結束,否則返回步驟2。
通過圖像預處理、特征提取等等準備工作后,設計一個分類器,對輸入的特征進行分類,實現對圖像目標的識別。BP神經網絡應用在機械工件識別中,通常使用標準的三層架構,利用Purelin線性函數作為隱層到輸出層的激活函數,輸入層到隱層的激活函數采用Sigmoid函數。隱層節點的數量按照經驗公式(4)來設定。
式中,m為輸出節點的個數,n為輸入節點的個數,a為1~10之間的常數。
3基于輪廓編碼融合BP網絡的圖像目標識別實驗分析
本節所有的實驗,均在IntelI7-4712HQ2.30GHzCPU,NVIDIA610M顯卡,8GB內存和MATLABR2011b實驗環境下完成。
3.1識別模型的建立及分析。由于目標圖像輪廓編碼流程對于圖像旋轉所得的編碼匹配較差,或者說對于圖像旋轉后的識別能力較弱。因此為了克服該編碼鏈所存在的缺點,針對性的需要對圖像進行旋轉校正后,才能進行其圖像邊界輪廓的編碼。故輪廓編碼鏈與模式識別模型之間的橋梁就是圖像的校正。由于BP神經網絡所具有的特點,同時為了后續模型的比較,這里選取的模式識別模型系統以BP神經網絡為核心。故本文所設計的目標圖像輪廓編碼與神經網絡模型融合的圖像識別實驗,選擇的識別對象是各種比較相似的不同機械工件,其流程步驟如下(見圖1):
步驟1,模板圖像的旋轉。本文主要利用霍夫變換檢測圖像的輪廓直線部分。通過旋轉圖像,將模板圖像與待識別圖像統一方向。該步驟主要為了后續圖像分割所得的輪廓邊界編碼鏈進行預處理。
步驟2,模板圖像的分割與圖像輪廓的提取。本文基于LCV模型進行分割圖像,并提取出圖像的邊界輪廓,為后續邊界輪廓編碼使用。
步驟3,模板圖像輪廓的編碼。將步驟2得到的輪廓邊界采用本文提出的特征編碼處理方式進行整理。
步驟4,待識別的圖像旋轉。該步驟與模板圖像旋轉步驟一致。
步驟5,待識別圖像的分割與圖像輪廓的提取。該步驟與模板圖像的分割與圖像輪廓的提取一致。
步驟6,待識別圖像輪廓的編碼。該步驟與模板圖像輪廓的編碼步驟一致。
步驟7,將步驟6獲得的各類型圖像編碼特征作為BP神經網絡的輸入信息,從而訓練BP網絡,得到智能化識別的神經網絡模型。最后將訓練好的BP神經網絡模型對其它測試圖像進行識別。
本文以各種比較相似的不同工件為例進行算法的識別分析。其各種工件圖像如下圖1所示。其通過霍夫變換獲取的兩水平方向的校正模板圖像及編碼鏈結果分別如下圖2與圖3所示:
由于以上圖像類別數較少,故采用橫向編碼的方式進行編碼。且編碼參數設定為統一圖像像素為20*50大小,閾值系數為0.9。其中通過以上的各圖像編碼鏈已經可以看出各類圖像的編碼鏈存在較大的差異。將以上8條編碼鏈作為BP神經網絡的輸入信息。并以A,B,C,D類作為網絡最終識別的輸出信息,其中網絡設定的訓練參數:第一層節點數1000個,第二層節點數50個,網絡目標誤差1.0*e-8,網絡訓練函數trainrp;網絡收斂結果參數:網絡訓練數21次,網絡訓練時間9秒,網路收斂誤差1.26*10-8,網絡擬合優度為1。
將以上訓練好的智能系統用于圖像識別,其中針對103個工件樣本的識別情況為:正確識別參數為103,錯誤識別0個,識別率達到了100%。
其中將本文的識別算法在MPEG與PLANE數據庫的圖像識別結果,并與文獻[2]給出的其它幾個比較主流的識別模型算法進行比較。其結果如下表1所示:
表1幾種識別方法在MPEG與PLANE數據庫的識別率
FD+SVMZM+SVMHMME+MLHMMC+MLHMME+WtL本文方法
MPEG數據庫94.29%92.14%80.00%92.14%97.62%98.47%
PLANE數據庫99.52%89.05%78.52%99.05%99.05%99.52%
3.2識別模型的抗干擾分析。為了說明圖像邊界輪廓的編碼與神經網絡算法相融合的圖像識別能力。針對性地對其進行部分干擾識別的分析。其中重點討論待識別的圖像存在嚴重的噪聲干擾的識別效果。
當圖像存在噪聲時,往往全局像素的編碼鏈方式基本全部失效。因為圖像的噪聲已經是圖像像素的一部分。故識別出圖像的可能性基本沒有。
然而對于輪廓邊界的編碼鏈方式進行圖像的識別過程。其關鍵的一步是能提取出圖像的關鍵邊界輪廓。也就是說,當噪聲存在時,只要能得到圖像的輪廓邊界,則問題便可以解決。然而對于圖像的輪廓邊界的獲取,水平集模型中的LCV模型能夠有較好的抗噪聲能力。因此,對于含有噪聲的圖像識別,依然可以完美的進行。以下通過含有高斯噪聲的圖像識別實驗,其結果如下圖4所示:
圖4人工添加噪聲后的圖像識別。(a)待識別原圖像。(b)圖像校正及LCV模型分割邊界結果。(c)所獲取圖像的邊界輪廓。(d)輪廓邊界編碼的鏈結果。
將以上含有人工噪聲圖像所得到的輪廓邊界編碼鏈作為神經網絡的輸入。其檢驗結果如下圖5所示:
由圖5含高斯噪聲的圖像識別測試實驗我們可以看出,只要提取出工件圖像的輪廓邊界,并以橫向編碼方式得到其編碼鏈作為神經網絡的輸入信息,網絡對于圖像的識別結果均正確。故本文的圖像輪廓編碼鏈融合神經網絡的圖像識別對與含有噪聲的圖像依然能夠進行識別。
4總結
通過以上針對性的分析,我們可以得出,本文的圖像輪廓編碼融合神經網絡模型的圖像識別效果存在以下三個優點:
第一,由于將圖像經過校正后獲取其邊界輪廓并進行了編碼,故算法整體所需的樣本數量僅僅只需要一個,完全改善了傳統的圖像識別算法所需的樣本數量大的缺點。
第二,對于圖像全局像素神經網絡模型的圖像識別方法,本文將圖像輪廓編碼與神經網絡算法相融合完美地改善了模型的魯棒性及計算速度。
第三,對于傳統的圖像匹配算法,往往當圖像含有較為嚴重的噪聲時,圖像識別能力大大下降。而本文的識別算法關鍵的一步是能提取出圖像的輪廓,也就是說,即使噪聲存在時,只要能得到圖像的輪廓邊界,則問題便可以解決。而水平集模型中的LCV模型能夠有較好的抗噪聲能力。故針對含有噪聲的圖像識別,依然可以完美的進行。
采用本文的目標識別方法,僅僅只需要一個該類型模板圖像,便可識別出與之一樣的圖像類型。圖像模板數量大大減小,不但提高了識別過程的速度,更加使得識別過程得以高效率高精確度地進行。同時通過針對不同圖像的邊界輪廓的特定編碼,可以使得不同圖像在任意的方向與角度,或者多單元組合的圖像中依然得以識別。即識別過程的抗干擾能力較強。
注釋:
①孟思明,一種創新的目標圖像輪廓編碼算法研究,廣州,2016
參考文獻:
[1]XiaojuanWang,YanpingBai,BPNetworkBasedonHandwrittenDigitalImageFeatureExtraction,AdvancesinAppliedMathematics,03(2),104~111,2014
[2]NinadThakoor,JeanGao,SungyongJung,HiddenMarkovModel-BasedWeightedLikelihoodDiscriminantfor2-DShapeClassification,IEEETransactionsonIamgeProcessing,16(11),2707~19,2007