袁紅春, 侍倩倩
(上海海洋大學(xué) 信息學(xué)院,上海 201306)
?
Hopfield神經(jīng)網(wǎng)絡(luò)在二維碼污損復(fù)原中的應(yīng)用*
袁紅春, 侍倩倩
(上海海洋大學(xué) 信息學(xué)院,上海 201306)
針對傳統(tǒng)Hopfield神經(jīng)網(wǎng)絡(luò)記憶功能的局限性,以Hopfield神經(jīng)網(wǎng)絡(luò)的理論知識為依據(jù),提出了一種改進(jìn)的Hopfield神經(jīng)網(wǎng)絡(luò)。在學(xué)習(xí)階段,通過對連接關(guān)系矩陣的修正來提高網(wǎng)絡(luò)的記憶能力。運(yùn)用Matlab為工具,設(shè)計(jì)了一個可以對信息進(jìn)行聯(lián)想記憶的網(wǎng)絡(luò),實(shí)現(xiàn)了不同污損程度二維碼的復(fù)原。對改進(jìn)前后網(wǎng)絡(luò)的復(fù)原結(jié)果進(jìn)行了比較分析,結(jié)果表明:改進(jìn)后的Hopfield神經(jīng)網(wǎng)絡(luò)對污損二維碼的復(fù)原較好。
離散; Hopfield神經(jīng)網(wǎng)絡(luò); 聯(lián)想記憶; 快速反應(yīng)二維碼; Matlab
在信息迅速發(fā)展的今天,二維碼憑其自身的高容量、高密度、高糾錯能力等優(yōu)點(diǎn),廣泛應(yīng)用于各行各業(yè)。二維碼很大程度上改善了人們的生活方式,推動了社會現(xiàn)代化發(fā)展。然而在運(yùn)輸,印刷過程中,二維碼容易出現(xiàn)污漬或損壞的情況,影響后期二維碼的識別。因此,如何對污損二維碼進(jìn)行準(zhǔn)確識別很有研究價值。
國外的研究學(xué)者對二維碼的研究主要偏向于二維碼抗破壞的研究,在文獻(xiàn)[1]中,提出一種被稱為HoloBarcode的二維碼,當(dāng)這種二維碼圖像表面產(chǎn)生破損的情況下,依然能夠正確地識別二維碼中所存儲的信息。文獻(xiàn)[2]不僅實(shí)現(xiàn)了二維碼的預(yù)處理,還完成了對二維碼冗余長度的仿真。
本文利用離散型Hopfield神經(jīng)網(wǎng)絡(luò)的聯(lián)想記憶功能對目前應(yīng)用較為廣泛的QR二維碼污損圖像做了進(jìn)一步研究,并討論了復(fù)原后QR二維碼的識別率。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的Hopfield神經(jīng)網(wǎng)絡(luò)對污損在一定范圍內(nèi)的QR二維碼的復(fù)原效果較好。
1.1QR二維碼
在1994年9月,日本Denso公司研制了一種新的矩陣式二維碼符號,即QR二維碼[3]。一般情況下,一個完整的QR二維碼組成結(jié)構(gòu)如圖1所示。
圖1 QR二維碼結(jié)構(gòu)Fig 1 QR 2D code structure
QR二維碼由特定幾何圖形根據(jù)一定的規(guī)律組合而成。文字?jǐn)?shù)值等信息由這些特定的圖形表示。QR二維碼利用糾錯算法生成糾錯碼字,這些糾錯碼字添加在數(shù)據(jù)碼字之后,達(dá)到了糾錯功能。當(dāng)二維碼破損在糾錯能力范圍以內(nèi)時,仍能正確的識別。
二維碼的識別過程較為復(fù)雜,首先對圖像進(jìn)行預(yù)處理,讀取格式信息、版本信息,消除掩膜[4]。然后糾錯碼字進(jìn)行錯誤檢驗(yàn),糾正錯誤碼字后進(jìn)行數(shù)據(jù)碼字譯碼,最終輸出二維碼所存儲的信息。識別流程如圖2所示。
圖2 QR二維碼識別過程Fig 2 Recognition process of QR 2D code
1.2離散Hopfield神經(jīng)網(wǎng)絡(luò)
在1982年,Hopfield神經(jīng)網(wǎng)絡(luò)被提出。它是一種單層的反饋網(wǎng)絡(luò)[5]。網(wǎng)絡(luò)中信號的傳遞方向不僅向前,同時信號在神經(jīng)元之間也有傳遞。
Hopfield J J最早提出的網(wǎng)絡(luò)是二值神經(jīng)網(wǎng)絡(luò),神經(jīng)元的輸出只取1和0,所以,也稱離散Hopfield神經(jīng)網(wǎng)絡(luò)(discrete hopfield neural network,DHNN)[6]。
1.2.1網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
DHNN結(jié)構(gòu)如圖3所示。從DHNN的結(jié)構(gòu)可以看出:任意神經(jīng)元i與j間的突觸權(quán)值為Wij,神經(jīng)元之間的聯(lián)接是對稱的,即Wij=Wji,神經(jīng)元自身沒有聯(lián)接,即Wii=0。因此,DHNN采用的是對稱連接,自身沒有反饋。
圖3 離散Hopfield網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig 3 Topology structure of discrete Hopfield network
當(dāng)網(wǎng)絡(luò)中神經(jīng)元個數(shù)為n時,網(wǎng)絡(luò)的學(xué)習(xí)方式如下
(1)
式中bi為閾值或偏差;yi為輸出;ui為輸入。對應(yīng)神經(jīng)元i的輸出狀態(tài)為
yi(t+1)=f(ui(t))
(2)
式中二值函數(shù)f可以取階躍函數(shù)u(t)或符號函數(shù)Sgn(t)。如果取Sgn(t)函數(shù),則t+1時刻,網(wǎng)絡(luò)的輸出yi(t+1)取離散值1或0,即
(3)
1.2.2Hopfield網(wǎng)絡(luò)穩(wěn)定性判斷
穩(wěn)定性是網(wǎng)絡(luò)性能的一個重要指標(biāo)。離散Hopfield神經(jīng)網(wǎng)絡(luò)工作過程中,能量值越來越小,直至達(dá)到最小值[7]。這時網(wǎng)絡(luò)達(dá)到穩(wěn)定狀態(tài),輸出結(jié)果。
“能量函數(shù)”定義為
(4)
傳統(tǒng)的Hopfield神經(jīng)網(wǎng)絡(luò)存在的缺點(diǎn)在于神經(jīng)元的值經(jīng)常在振蕩,一個神經(jīng)元的值減小到最小需要很多次狀態(tài)變化[8]。對于多個非正交的學(xué)習(xí)模式,無法正確的回憶。
wi,j(t+1)=wij(t)+Δwij(t)
(5)
3.1改進(jìn)Hopfield神經(jīng)網(wǎng)絡(luò)的二維碼污損復(fù)原
當(dāng)Hopfield網(wǎng)絡(luò)進(jìn)行聯(lián)想記憶時,需要先訓(xùn)練網(wǎng)絡(luò),確定網(wǎng)絡(luò)穩(wěn)定時的權(quán)重,將所要學(xué)習(xí)記憶的信息保存在網(wǎng)絡(luò)中[9]。當(dāng)網(wǎng)絡(luò)權(quán)值確定以后,向網(wǎng)絡(luò)中輸入不完整或者部分錯誤數(shù)據(jù)時,網(wǎng)絡(luò)可以根據(jù)記憶,輸出完整的信息。
改進(jìn)Hopfield神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)步驟如下:
2)設(shè)計(jì)網(wǎng)絡(luò)的權(quán)值。按照改進(jìn)Hopfield神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)規(guī)則,計(jì)算網(wǎng)絡(luò)權(quán)值矩陣w。當(dāng)yk(t)≠Uk時,按照公式(9)修正,直到Δwij(t)=0。
3.2思路分析
QR二維碼的版本、種類較多。由于數(shù)據(jù)量過大,不便于神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。為了方便實(shí)驗(yàn)的進(jìn)行,選取版本號為1糾錯等級為L的QR二維碼作為訓(xùn)練樣本(糾錯等級L水平,7 %的字碼可被修正)。測試樣均本來自訓(xùn)練樣本,用畫圖工具對其進(jìn)行不同程度的污損。采用Matlab來模擬離散Hopfield神經(jīng)網(wǎng)絡(luò)對污損QR二維碼圖像進(jìn)行復(fù)原。首先對樣本圖像進(jìn)行灰度處理,得到灰度矩陣,通過替換灰度矩陣中的值得到標(biāo)準(zhǔn)的二值矩陣。由所得的標(biāo)準(zhǔn)矩陣按照改進(jìn)后的學(xué)習(xí)規(guī)則創(chuàng)建神經(jīng)網(wǎng)絡(luò)。在網(wǎng)絡(luò)達(dá)到平穩(wěn)狀態(tài)時,假設(shè)取10個訓(xùn)練樣本,每個QR二維碼由80×80的黑白圖像表示,每張圖像6400個像素點(diǎn),用1表示白,0表示黑。由于標(biāo)準(zhǔn)矩陣較大,在訓(xùn)練時對樣本逐列進(jìn)行訓(xùn)練,根據(jù)樣本數(shù)量共建立80個網(wǎng)絡(luò)。仿真實(shí)驗(yàn)中網(wǎng)絡(luò)的一個神經(jīng)元代表樣本一列80個像素點(diǎn),一個網(wǎng)絡(luò)包含10個神經(jīng)元(即10個穩(wěn)態(tài)),網(wǎng)絡(luò)對這10個穩(wěn)態(tài)具有聯(lián)想記憶的功能。對污損的測試樣本進(jìn)行預(yù)處理,得到標(biāo)準(zhǔn)的二值矩陣。將測試樣本的二值矩陣輸入網(wǎng)絡(luò),網(wǎng)絡(luò)根據(jù)穩(wěn)態(tài)得到的權(quán)重輸出聯(lián)想記憶向量,從而實(shí)現(xiàn)對污損二維碼圖像的復(fù)原。
3.4實(shí)驗(yàn)結(jié)果與分析
經(jīng)過改進(jìn)的網(wǎng)絡(luò)訓(xùn)練后,無法識別的二維碼圖像能正確的識別出來,識別效果較為理想。當(dāng)位置探測圖形和校正圖形污損時,通過網(wǎng)絡(luò)訓(xùn)練后能很好的復(fù)原,達(dá)到正確識別的目的,如圖4所示。由于訓(xùn)練樣本的版本和糾錯等級確定后,位置探測圖形和校正圖形的位置、數(shù)量也隨之確定下來,網(wǎng)絡(luò)訓(xùn)練后不存在偏差,因此本實(shí)驗(yàn)主要針對數(shù)據(jù)區(qū)。當(dāng)數(shù)據(jù)區(qū)域污損面積達(dá)12 %時,改進(jìn)前和改進(jìn)后網(wǎng)絡(luò)的訓(xùn)練結(jié)果如圖5、圖6所示。
圖4 定位圖像污損仿真結(jié)果Fig 4 Simulation results of positioning image stained
圖5 改進(jìn)前數(shù)據(jù)區(qū)污損12 %仿真結(jié)果Fig 5 Simulation results of data area stained by 12 % before the algorithm improved
圖6 改進(jìn)后數(shù)據(jù)區(qū)污損12 %仿真結(jié)果Fig 6 Simulation results of data area stained by 12 % after the algorithm improved
表1給出了數(shù)據(jù)區(qū)不同污染率的識別情況。
表1 不同污染率識別情況
本文提出了一種改進(jìn)Hopfield神經(jīng)網(wǎng)絡(luò)對污損QR二維碼圖像進(jìn)行復(fù)原,并進(jìn)行了仿真。在學(xué)習(xí)階段,通過對連接關(guān)系矩陣進(jìn)行修正,彌補(bǔ)了傳統(tǒng)Hopfield網(wǎng)絡(luò)學(xué)習(xí)規(guī)則對非正交學(xué)習(xí)模式無法正確回憶,提高了網(wǎng)絡(luò)運(yùn)行效率。改進(jìn)前和改進(jìn)后的結(jié)果對比表明:算法改進(jìn)后,污損圖像的識別效率有很大的改善。算法改進(jìn)前當(dāng)數(shù)據(jù)區(qū)污損面積大于15 %的時候,開始出現(xiàn)無法識別的情況。算法改進(jìn)后,當(dāng)數(shù)據(jù)區(qū)污損面積小于21 %的情況下均能正確的識別,且在污損面積小于23 %的情況下,仍有90 %的幾率正確的識別。直到污損面積大于23 %,恢復(fù)后的QR二維碼圖像識別性能較差。實(shí)驗(yàn)中,仍存在一些缺點(diǎn)和不足,如訓(xùn)練樣本和測試樣本有限制(為了實(shí)驗(yàn)方便選取了版本1糾錯等級為L的QR二維碼),且實(shí)驗(yàn)中神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)上還有待進(jìn)一步改進(jìn)。因此,有待提出新的設(shè)計(jì)方法,進(jìn)一步提高污損二維的識別率。
[1]Spagnolo G S,Cozzella L,Santis M D.New 2D barcode solution based on computer generated holograms:Holographic barcode[C]∥2012 the 5th International Symposium on Communications Control and Signal Processing(ISCCSP),IEEE,2012:1-5.
[2]Wakahara T,Yamamoto N.Image processing of 2-dimensional barcode[C]∥International Conference on Network-based Information Systems,IEEE Computer Society,2011:484-490.
[3]黃吉蘭.二維條碼QR Code編碼原理及實(shí)現(xiàn)[J].電腦知識與技術(shù),2013,9(12):2904-2908.
[4]鄧瀟瀟.二維條形碼QR Code的圖像識別[J].消費(fèi)電子,2014 (2):225-225.
[5]朱凱,王正林.精通Matlab神經(jīng)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2010.
[6]金燦.基于離散Hopfield神經(jīng)網(wǎng)絡(luò)的數(shù)字識別實(shí)現(xiàn)[J].計(jì)算機(jī)時代,2012 (3):1-3.
[7]尹敏,蔡吳瓊.Hopfield神經(jīng)網(wǎng)絡(luò)在字符識別中的應(yīng)用[J].電腦知識與技術(shù),2013,9(21):4925-4928.
[8]閆玉蓮.一種改進(jìn)的Hopfield神經(jīng)網(wǎng)絡(luò)對TSP問題的求解方法[J].閩南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2014,27(3):37-43.
[9]賈花萍.Hopfield神經(jīng)網(wǎng)絡(luò)在車牌照字符識別中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2012,40(4):85-86.
侍倩倩,通訊作者,E—mail:395933116@qq.com。
Application of Hopfield neural network in recovery of stained two-dimensional code*
YUAN Hong-chun, SHI Qian-qian
(College of Information Technology,Shanghai Ocean University,Shanghai 201306,China)
Aiming at limitations of memory function of traditional Hopfield neural network,an improved Hopfield neural network is presented based on theoretical knowledge of Hopfield neural network.Through modifying connection relations matrix in learning phase increase memory ability of network.Design a neural network with associative memory function using Matlab as tool,implement recovery of different degree of stained two-dimensional code.Recovery results of network before and after improvement are compared and analyzed,and results show that the improved Hopfield neural network is better for the recovery of stained two-dimensional code.
discrete; Hopfield neural network; associative memory; QR 2D code; Matlab
2015—10—16
上海市科委支撐計(jì)劃資助項(xiàng)目(14391901400)
TP 391.41
A
1000—9787(2016)08—0151—04
袁紅春(1971-),男,上海人,教授,博士,主要研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò)、專家系統(tǒng)、智能信息處理。
DOI:10.13873/J.1000—9787(2016)08—0151—04