,,
(山東科技大學(xué) 電子通信與物理學(xué)院,山東 青島 266590)
驗(yàn)證碼(completely automated public turing test to tell computers and humans apart,CAPTCHA)是一種用來區(qū)分用戶是人類和計(jì)算機(jī)的自動(dòng)響應(yīng)程序。最早由卡內(nèi)基梅隆大學(xué)的Ahn等[1]在2003年發(fā)表的論文中提出。驗(yàn)證碼通常是由多個(gè)隨機(jī)產(chǎn)生的字符組合生成一幅圖像,通過加入干擾噪聲,并使字母扭曲形變,以增加計(jì)算機(jī)識別的難度,達(dá)到防止惡意注冊、刷票、論壇灌水等計(jì)算機(jī)自動(dòng)化行為的目的。
作為人工智能領(lǐng)域的一項(xiàng)重要課題,越來越多的人開始致力于研究驗(yàn)證碼圖像識別技術(shù)。從目前國內(nèi)外研究現(xiàn)狀來看,針對驗(yàn)證碼圖像的識別方法主要有三種:基于特征模板匹配的方法,基于形狀上下文的方法和基于神經(jīng)網(wǎng)絡(luò)的方法。潘大夫等[2]利用多種特征模板提出一種用于數(shù)字驗(yàn)證碼識別的模板匹配算法。Bursztein Elie[3]提出一種通用的基于文本字符的CAPTCHA識別方法。Mori等[4]用傳統(tǒng)的基于形狀上下文的方法對EZ-Gimpy和Gimpy兩種類型的驗(yàn)證碼進(jìn)行了識別研究。Huan等[5]針對Yahoo和MSN提出一種Projection-based字符分割算法,并通過機(jī)器學(xué)習(xí)將字符的分割與識別進(jìn)行并行運(yùn)算。其中,第一種方法能夠?qū)ψ煮w統(tǒng)一、排列工整,無扭曲變形的數(shù)字驗(yàn)證碼有著較高的識別率,但適應(yīng)性較差,對一般的存在扭曲粘連的字母驗(yàn)證碼并不適用。第二種方法實(shí)現(xiàn)起來較為復(fù)雜,對存在較多干擾噪聲的驗(yàn)證碼識別效果并不明顯。相比前兩種識別方法,神經(jīng)網(wǎng)絡(luò)作為一種成熟的仿真算法,近年來在圖像和語音識別方面取得了巨大進(jìn)步。研究表明,只要能完整分割地驗(yàn)證碼圖像中的單個(gè)字符,就可以利用神經(jīng)網(wǎng)絡(luò)識別出字符本身[6]。但現(xiàn)有的驗(yàn)證碼識別技術(shù)大都針對一種類型的驗(yàn)證碼運(yùn)用多種分類方法進(jìn)行識別研究,對其它類型的驗(yàn)證碼并不適用,且對存在粘連、扭曲的驗(yàn)證碼的識別率并不理想。
本研究針對粘連、扭曲,且存在干擾噪聲的驗(yàn)證碼圖像識別性能欠佳的問題,通過改進(jìn)Otsu二值化分割算法和使用新的融合字符積分投影特性的連通域標(biāo)記方法分割粘連字符,并基于卷積神經(jīng)網(wǎng)絡(luò)提出一種通用的能夠適用于同時(shí)包含字母和數(shù)字,字符間存在粘連,且存在較多干擾噪聲的驗(yàn)證碼識別方法,并在Python 2.7環(huán)境下針對多個(gè)有代表性的網(wǎng)站驗(yàn)證碼進(jìn)行網(wǎng)絡(luò)訓(xùn)練和識別,均達(dá)到了較高的識別率。
驗(yàn)證碼識別的主要流程如圖1所示。首先,利用Python腳本從四個(gè)具有代表性的網(wǎng)站自動(dòng)下載一定數(shù)量的驗(yàn)證碼樣本圖像。然后,由于樣本圖像都是含有干擾噪聲的原始彩色圖像,一般不能直接輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí),因此需要進(jìn)行預(yù)處理。預(yù)處理主要包括原始圖像的灰度化,灰度圖像的二值化,圖像去噪等環(huán)節(jié)。字符分割是整個(gè)流程的重要環(huán)節(jié),分割的結(jié)果將直接影響后續(xù)的訓(xùn)練識別。將分割得到的單個(gè)字符歸一化后輸入到基于卷積神經(jīng)網(wǎng)絡(luò)的LeNet-5模型[7]中進(jìn)行字符的訓(xùn)練識別,并輸出識別結(jié)果。
圖1驗(yàn)證碼識別流程
Fig.1 Flow of the CAPTCHA recognition
圖像預(yù)處理是進(jìn)行字符分割前的必備環(huán)節(jié),目的是去除不利于字符分割的干擾信息,突出顯示與字符相關(guān)的特征信息,從而提高字符分割的正確率。圖像的預(yù)處理過程主要包括如下三個(gè)環(huán)節(jié):
1) 灰度化
由于原始圖像是256 色的彩色圖像,因此需要將彩色圖像進(jìn)行灰度化。這里采用傳統(tǒng)的加權(quán)平均法進(jìn)行原始圖像的灰度轉(zhuǎn)換:
L=0.299×R+0.587×G+0.114×B。
(1)
式中:L代表加權(quán)平均后灰度圖像的像素值,R、G、B則分別代表red、green、blue三基色的分量值。
2) 二值化
假定0代表圖像的背景色,1代表圖像的前景色,用Gw表示(0,1)二值圖像的像素值,則灰度圖像的二值化可用下式表示:
(2)
二值化過程的關(guān)鍵在于閾值T的選取,對于一般的灰度級分布曲線成單峰的,或前景與背景像素的灰度值差距較大的圖像來說,通常選用最大類間方差法(Otsu法)計(jì)算整個(gè)灰度級范圍內(nèi)的最優(yōu)閾值。其核心思想是在閾值為T時(shí)將灰度圖像分為兩類,一類代表前景,一類代表背景,若此時(shí)的T使得兩類的類內(nèi)方差最小,類間方差最大,則為全局最優(yōu)閾值[8]。最大類間方差法的計(jì)算公式如下:
σ2(T)=ωΑ(μΑ-μ)2+ωΒ(μΒ-μ)2。
(3)
式中:A、B分別代表前景區(qū)域與背景區(qū)域,σ2(T)代表閾值為T時(shí)的類間方差,ωA、ωB、μA、μB分別代表閾值為T時(shí)的前景區(qū)域與背景區(qū)域的概率分布和灰度均值,μ為整個(gè)灰度圖像的灰度均值。
令NA、NB分別為目標(biāo)區(qū)域和背景區(qū)域的像素點(diǎn)數(shù),N為灰度圖像的像素點(diǎn)總和,則有:
N=NΑ+NΒ,
(4)
(5)
由于Otsu算法是一種全局最優(yōu)閾值法,當(dāng)前景區(qū)域和背景區(qū)域的灰度范圍只占灰度直方圖中的一小部分時(shí),整體灰度平均會(huì)將大量灰度分布為0的像素納入計(jì)算范圍,從而影響二值化計(jì)算的效率。另外,當(dāng)背景區(qū)域與前景區(qū)域的灰度值在灰度分布直方圖中存在重合情況時(shí),重復(fù)的計(jì)算前景區(qū)域和背景區(qū)域的灰度均值和概率分布不但會(huì)增加運(yùn)算的時(shí)間和復(fù)雜度,還會(huì)影響二值圖像分割的質(zhì)量。因此,在原有Otsu算法的基礎(chǔ)上做了如下改進(jìn):
1) 改全局最優(yōu)閾值為局部最優(yōu)閾值
在進(jìn)行灰度均值和概率分布計(jì)算時(shí),只考慮灰度分布直方圖中灰度值分布不為0的像素,0和255的邊緣像素也不納入計(jì)算體系,從而在整個(gè)圖像的灰度分布范圍內(nèi)求取局部最優(yōu)閾值。
2) 將Otsu算法公式改為:
(6)
式中:NA為目標(biāo)區(qū)域的像素點(diǎn)數(shù),N為灰度圖像的像素點(diǎn)總和,μ為整體灰度均值,μΑ為目標(biāo)區(qū)域的灰度均值。
令g(i,j),gΑ(i,j),gΒ(i,j)分別代表原始灰度圖像、前景區(qū)域、背景區(qū)域在某一坐標(biāo)下的像素值,則有:
(7)
將式(4)、(5)、(7)帶入式(3)中,消掉背景區(qū)域B的計(jì)算部分,從而得到改進(jìn)后的局部最優(yōu)閾值算法公式。
利用局部最優(yōu)閾值,灰度圖像二值化的具體步驟如下:
Step 1:求出灰度圖像的全部像素點(diǎn)數(shù)N、整體灰度均值μ及灰度直方圖中的最大灰度值Zmax、最小灰度值Zmin;
Step 2:在Zmin≤T≤Zmax范圍內(nèi)根據(jù)式(6)迭代求出兩類區(qū)域的類間方差σ2;
Step 4:將小于閾值T的像素值置為0,大于閾值T的像素值置為1,輸出二值化圖像。
按照上述二值化分割步驟,針對幾種不同種類的驗(yàn)證碼分別采用經(jīng)典的Otsu法和改進(jìn)后的局部最優(yōu)閾值法進(jìn)行實(shí)驗(yàn),兩種方法的二值化分割效果對比如表1所示,時(shí)間性能對比如表2所示。
表1兩種方法二值化分割效果對比
Tab.1 Comparison of the two binarization segmentation method
表2 兩種方法二值化分割時(shí)間性能對比Tab.2 Computation cost of the two binarization segmentation methods
二值化分割方法測試圖像/幅處理時(shí)間/s單個(gè)圖像平均處理時(shí)間/s經(jīng)典的Otsu法30094.20.314本文改進(jìn)后的方法30058.60.195
總結(jié)上述實(shí)驗(yàn)結(jié)果表明改進(jìn)后的局部最優(yōu)閾值算法不但減少了運(yùn)算復(fù)雜度,提高了時(shí)間性能,而且改善了二值化圖像分割的質(zhì)量,有利于后續(xù)字符的分割和識別。同時(shí),該算法對干擾噪聲有較好的抑制作用,對于多數(shù)僅含有點(diǎn)噪聲的驗(yàn)證碼圖像來說,可以直接在二值化環(huán)節(jié)將噪聲去除,從而省略了濾波的步驟。
圖2 改進(jìn)的字符分割算法流程圖Fig.2 Flow chart of the improved character segmentation algorithm
3) 圖像去噪
二值化后的圖像可能含有若干點(diǎn)噪聲或細(xì)線噪聲,這些干擾噪聲的存在會(huì)影響后續(xù)字符分割的質(zhì)量,因此有必要進(jìn)行去噪處理。對于點(diǎn)噪聲,可根據(jù)具體圖像選擇四鄰域或八鄰域遍歷整個(gè)二值化圖像每個(gè)像素點(diǎn)周圍黑色像素點(diǎn)的個(gè)數(shù),通過設(shè)置一定的閾值,將小于該閾值的黑色點(diǎn)當(dāng)做孤立點(diǎn),并將其像素值置為0,從而去除離散噪聲。對于細(xì)線噪聲,可通過Hough變換檢測直線去除。
字符分割是整個(gè)流程的關(guān)鍵,分割結(jié)果的好壞將直接影響后續(xù)字符的訓(xùn)練和識別。好的分割方法是將單個(gè)字符信息完整的予以保留,殘缺或多余的字符信息都將對識別的正確率產(chǎn)生影響。傳統(tǒng)的字符分割方法主要有兩種,即投影法和連通域法。其中投影法最為常見,兩種方法對于一般的字符間無粘連、重合的驗(yàn)證碼圖像都有著較高的分割成功率,但在處理復(fù)雜驗(yàn)證碼的時(shí)候則顯得差強(qiáng)人意。
本研究基于傳統(tǒng)的字符分割方法設(shè)計(jì)出一種改進(jìn)的、融合字符投影特性的、能夠適用于字符間存在粘連的復(fù)雜驗(yàn)證碼分割方法。該方法的流程圖如圖2所示。其基本思想是:首先讀入二值化圖像進(jìn)行連通區(qū)域標(biāo)記,標(biāo)記時(shí)可采用一種高效的一遍掃描式算法[9]提高運(yùn)算效率。標(biāo)記完成后,依次確定每一個(gè)標(biāo)記好的連通域的邊界并進(jìn)行初次分割,從而得到若干含有一個(gè)或幾個(gè)字符信息的二值圖像。若初步分割得到的圖像數(shù)目等于原始圖像的字符個(gè)數(shù),則分割完成。否則,依次對初次分割得到的字符圖像進(jìn)行面積計(jì)算和黑色像素點(diǎn)統(tǒng)計(jì),若大于一定閾值,則表明該圖像包含多個(gè)粘連的字符,需要再次進(jìn)行分割,否則將其當(dāng)作離散塊噪聲去除。初次分割結(jié)果如圖3(d)所示。二次分割時(shí),對包含多個(gè)字符的初次分割圖像從左到右依次統(tǒng)計(jì)豎直方向上的黑色像素點(diǎn)的個(gè)數(shù),并在水平方向上進(jìn)行積分投影,依據(jù)積分投影曲線的極小值確定粘連字符間的臨界點(diǎn),并根據(jù)該點(diǎn)進(jìn)一步分割出單個(gè)字符,當(dāng)存在多個(gè)極小值點(diǎn)時(shí),可在整個(gè)字符區(qū)域的(1/4,3/4)寬度范圍內(nèi),根據(jù)各極小值點(diǎn)所對應(yīng)的最大黑色像素積分值確定粘連字符間的臨界點(diǎn)。
圖3 分割結(jié)果示意圖Fig.3 Segmentation results demonstration of a sample character image
圖3所示的驗(yàn)證碼圖像均包含五個(gè)由數(shù)字和字母隨機(jī)組成的字符序列,而初次連通域標(biāo)記分割得到四個(gè)字符區(qū)域,表明其中一個(gè)字符區(qū)域同時(shí)包含兩個(gè)字符信息。通過計(jì)算每個(gè)字符區(qū)域的面積和其中黑色像素點(diǎn)之和可知第三個(gè)字符區(qū)域包含兩個(gè)粘連的字符。對該字符區(qū)域在水平方向上積分投影,如圖4所示,該字符區(qū)域存在4個(gè)極小值點(diǎn),分別標(biāo)為x1、x2、x3、x4,由于x4處的對應(yīng)的豎直方向上黑色像素點(diǎn)之和最小,且滿足:
dmin≤di≤dmax。
(8)
其中:di代表二次分割粘連字符時(shí)單個(gè)字符的寬度,dmin、dmax分別代表字符的最小寬度和最大寬度,這里設(shè)定dmin=10,dmax=18。因此x4為粘連字符的分割邊界點(diǎn),在該點(diǎn)處進(jìn)一步分割出單個(gè)字符。
將分割得到的單個(gè)字符歸一化為29×29像素大小的二值化圖像,以便后續(xù)進(jìn)行字符的訓(xùn)練和識別。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是一種特殊的基于誤差反傳算法實(shí)現(xiàn)的多層前饋神經(jīng)網(wǎng)絡(luò)。同其他神經(jīng)網(wǎng)絡(luò)相比,其最大的不同之處在于通過局部連接和權(quán)值共享使得特征提取和訓(xùn)練識別能夠同步進(jìn)行,并通過自適應(yīng)、自學(xué)習(xí),找到分類性能最優(yōu)的特征信息[10]。不但避免了人工手動(dòng)提取特征信息的主觀性,降低了神經(jīng)網(wǎng)絡(luò)的復(fù)雜度,同時(shí)也保證了對字符旋轉(zhuǎn)、縮放、扭曲的魯棒性。針對字符識別,Lecun等[11]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的字符識別系統(tǒng)LeNet-5,并將其成功的應(yīng)用于銀行手寫數(shù)字的識別上。Simard等[12]又在此基礎(chǔ)上做了改進(jìn),簡化了LeNet-5的結(jié)構(gòu)。如圖5所示,簡化后的LeNet-5系統(tǒng)包括輸入層在內(nèi)共有5層網(wǎng)絡(luò)結(jié)構(gòu),相比原始的LeNet-5系統(tǒng)的7層網(wǎng)絡(luò)結(jié)構(gòu)而言,將卷積層和池化層結(jié)合在一起,并將卷積后的輸出直接作為池化層的輸入,避免了池化層過多參數(shù)學(xué)習(xí)過程,簡化了運(yùn)算流程,同時(shí)保留了對圖像位移、扭曲的魯棒性。另外,原始的LeNet-5系統(tǒng)最初是用來識別0-9的手寫數(shù)字,輸出層的節(jié)點(diǎn)數(shù)為10 個(gè),而簡化后的LeNet-5系統(tǒng)可根據(jù)驗(yàn)證碼樣本字符集的個(gè)數(shù)確定輸出層相應(yīng)的節(jié)點(diǎn)數(shù)量。不同網(wǎng)站驗(yàn)證碼的樣本字符個(gè)數(shù)如表5所示,如編號為2的網(wǎng)站驗(yàn)證碼的樣本字符集是由28 個(gè)字母和數(shù)字組成的,其對應(yīng)的輸出層節(jié)點(diǎn)數(shù)為28 個(gè)。每個(gè)節(jié)點(diǎn)與相應(yīng)的字符一一對應(yīng),輸出節(jié)點(diǎn)值最大的對應(yīng)的字符即為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練輸出值[12]。
本研究采用簡化后的基于CNN的LeNet-5模型針對不同種類的驗(yàn)證碼圖像分別進(jìn)行訓(xùn)練和識別。將歸一化得到的二值化字符圖像直接輸入到卷積神經(jīng)網(wǎng)絡(luò)中,待訓(xùn)練完成,將測試集樣本經(jīng)過相同的預(yù)處理和字符分割操作后輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中識別,并輸出識別結(jié)果。
圖5 簡化后的LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Network architecture of simplified LeNet-5
序號參數(shù)參數(shù)值參數(shù)含義1learn_rate0.01學(xué)習(xí)速率2expect_error0.01網(wǎng)絡(luò)誤差3n_epochs10000最大迭代次數(shù)
選取9 個(gè)不同網(wǎng)站不同類別的驗(yàn)證碼圖像作為樣本進(jìn)行訓(xùn)練和識別,其中1 個(gè)是由四位無粘連的阿拉伯?dāng)?shù)字隨機(jī)排列組成的驗(yàn)證碼圖像,另外8 個(gè)則是由字母和數(shù)字組成的部分存在扭曲、粘連的字符驗(yàn)證碼圖像。分別將每種驗(yàn)證碼樣本圖像平均分為兩份,一份作為訓(xùn)練集進(jìn)行網(wǎng)絡(luò)的學(xué)習(xí)與訓(xùn)練,另一份作為測試集測試訓(xùn)練好的網(wǎng)絡(luò),不同驗(yàn)證碼的樣本集數(shù)量如表5所示。
在Python 2.7環(huán)境下實(shí)現(xiàn)了算法的整個(gè)流程,具體包括圖像的預(yù)處理、圖像分割及字符歸一化,字符的訓(xùn)練和識別等。為便于對比,針對不同類型驗(yàn)證碼識別的卷積神經(jīng)網(wǎng)絡(luò)設(shè)置為相同的訓(xùn)練參數(shù),具體如表3所示。不同驗(yàn)證碼圖像的處理結(jié)果如表4所示,為便于查看效果,連通區(qū)域標(biāo)記后的圖像內(nèi)同一連通域的顏色隨機(jī)顯示,識別錯(cuò)誤的單個(gè)字符用下劃線標(biāo)注,不同驗(yàn)證碼的識別率統(tǒng)計(jì)結(jié)果如表5所示。
表4本文算法對不同驗(yàn)證碼圖像的識別流程結(jié)果
Tab.4 Results of main steps of the proposed method for different CAPTCHAs’ images
從識別結(jié)果來看,形狀相似的字符如s與5,n與h,0與6,y與v等識別的錯(cuò)誤率較高;另外,字符分割不完整或存在多余信息時(shí)也會(huì)造成識別錯(cuò)誤。由此可知,在驗(yàn)證碼字符識別的過程中,分割是比識別更為困難的問題,單個(gè)字符分割的好壞程度將直接影響后續(xù)的分割結(jié)果。如網(wǎng)站1的驗(yàn)證碼圖片由純數(shù)字組成,這種驗(yàn)證碼字符種類較少,且字體工整,無扭曲變形,易于分割和識別;網(wǎng)站2~8的樣本字符數(shù)較多,且部分存在扭曲粘連的情況,但經(jīng)過改進(jìn)的算法分割后,識別率也均達(dá)到了70%以上;網(wǎng)站9字體模糊,單個(gè)樣本圖像含有的字符數(shù)量太多,且存在嚴(yán)重粘連、扭曲和斷裂的情況,這種類型的驗(yàn)證碼分割較為困難,分割出的單個(gè)字符信息可能出現(xiàn)殘缺或冗余情況,整體圖像的識別率在10%左右。
表5 不同驗(yàn)證碼圖像的識別統(tǒng)計(jì)結(jié)果Tab.5 Statistical data of different CAPTCHAs’ recognition experiments
從表5可以看出,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的基于圖像分割的驗(yàn)證碼識別方法能夠適用于不同種類的驗(yàn)證碼字符識別,且誤識率較低,能夠滿足一般驗(yàn)證碼識別的精度要求,具有一定的實(shí)用價(jià)值。
針對9種不同類型的驗(yàn)證碼字符圖像,采用一種通用的字符分割方法,并結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對分割得到的單個(gè)字符進(jìn)行訓(xùn)練識別,取得了良好的識別效果。實(shí)驗(yàn)結(jié)果表明,基于圖像分割的驗(yàn)證碼識別方法對粘連、扭曲,且存在干擾噪聲的驗(yàn)證碼字符圖像有著較高的識別率和適應(yīng)性,對字符識別及相關(guān)領(lǐng)域的研究和應(yīng)用具有一定的借鑒意義。但該方法對于存在嚴(yán)重粘連的、難以分割的復(fù)雜驗(yàn)證碼圖像的識別效果仍有待改善。因此,如何顯著提高模糊粘連字符的分割成功率需要進(jìn)一步研究。
參考文獻(xiàn):
[1]AHN L,BLUM M,HOPPER N,et al.CAPTCHA:Using hard AI problems for security[M].Berlin:Spring,2003:294-311.
[2]潘大夫,汪渤.一種基于外部輪廓的數(shù)字驗(yàn)證碼識別方法[J].微計(jì)算機(jī)信息,2007,23(25):256-258.
PAN Dafu,WANG Bo.A digit validation image recognition algorithm based on exterior contour[J].Microcomputer Information,2007,23(25):256-258.
[3]BURSZTEIN E,MOSCICKI A,FABRY C,et al.Easy does it:More usable CAPTCHAs[C]//ACM Conference on Human Factors in Computing Systems,2014,2:2637-2646.
[4]MORI G,MAILK J.Recognition objects in adversarial clutter:Breaking a visual CAPTCHA[C]//IEEE Conference on Computer Vision & Patten Recognition,2003,1:124-141.
[5]HUANG S,LEE Y,BELL G,et al.A projection-based segmentation algorithm for breaking MSN and YAHOO CAPTCHAs[J].Lecture Notes in Engineering & Computer Science,2008,2170(1):1-4.
[6]CHELLAPILLA K,SIMARD P.Using machine learning to break visual human interaction proofs [C]// Advances in Neural Information Processing Systems,2004:265-272.
[7]YOSHUA B,DEEP LEARNING,Convolutional Networks[N/OL].(2013-01-12)[2013-11-06].http://www.deeplearningbook.org/contents/convnets.html.
[8]OTSU N.A threshold selection method from gray-level histograms[J].IEEE Transactions on Systems,Man & Cybernetics,1979,9(1):62-66.
[9]馮海文,牛連強(qiáng),劉曉明.高效的一遍掃描式連通區(qū)域標(biāo)記算法[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(23):31-35.
FENG Haiwen,NIU Lianqiang,LIU Xiaoming.Efficient one-scan algorithm for labeling connected component[J].Computer Engineering and Applications,2014,50(23):31-35.
[10]MARTIN T,HOWARD B,MARK H,et al.神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2002:201-210.
[11]LECUN Y,BOTTON L,BENGIOAND Y,et al.Gradient-based learning applied to document recognition[C]// Proceedings of IEEE,1998,86(11):2278-2324.
[12]SIMARD P,SETINKRAUS D,PLATT J.Best practice for convolutional neural networks applied to visual document analysis[C]//International Conference on Document Analysis and Recognition,2003:958-962.
[13]任柯昱,唐丹,尹顯東.基于字符結(jié)構(gòu)知識的車輛牌照識別的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,279(21):4033-4035.
REN Keyu,TANG Dan,YIN Xiandong.Fast recognition method of license plate character based on image structure feature analysis[J].Computer Measurement and Control,2006,279(21):4033-4035.
[14]郭尚,蘇鴻根.基于像素的計(jì)算大量連通區(qū)域面積的快速算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(7):1760-1763.
GUO Shang,SU Honggen.New fast area calculation of numerous adjacent connection regions based on pixel[J].Computer Measurement and Control,2008,29(7):1760-1763.
[15]王璐,張榮,尹東,等.粘連字符的圖片驗(yàn)證碼識別[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(28):150-154.
WANG Lu,ZHANG Rong,YI Dong,et al.Breaking visual CAPTCHA of merged characters[J].Computer Engineering and Applications,2011,47(28):150-154.
[16]AMARI S.Natural gradient works efficiently in learning[J].Neural Computation,1998,10(2):251-276.
[17]LAUER F,SUEN C,BLOCH G.A trainable feature extractor for handwritten digit recognition[J].Pattern Recognition,2007,40(6):1816-1824.
[18]TIVIVE,F,BOUZERDOUM A,et al.An eye feature detector based on convolutional neural network[C]//Proceedings of the 8th International Symposium on Signal Processing and Its Applications,2005:90-93.
[19]MATE S,AKIRA Y,MUNETAKA Y,et al.Pedestrian detection with convolutional neural networks[C]//IEEE Intelligent Vehicles symposium Proceedings,2005:224-229.
[20]YAN J,AHMAND A.A low-cost attack on a microsoft CAPTCHA[C]//Proceedings of the 15th ACM Conference on Computer and Communication Security,2008:543-554.
[21]連曉巖,鄧方.基于圖像識別和神經(jīng)網(wǎng)絡(luò)的驗(yàn)證碼識別[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,42(增1):48-52.
LIAN Xiaoyan,DENG Fang.CAPTCHA recognition based on image recognition and neural networks[J].Journal of Central South University (Science and Technology),2011,42(S1):48-52.
[22]趙志宏,楊紹普,馬增強(qiáng).基于卷積神經(jīng)網(wǎng)絡(luò)LeNet-5的車牌字符識別研究[J].系統(tǒng)仿真學(xué)報(bào),2010,22(3):638-641.
ZHAO Zhihong,YANG Shaopu,MA Zengqiang.License plate character recognition based on convolutional neural network LeNet-5[J].Journal of System Simulation,2010,22(3):638-641.
[23]SOLEM J.Programming computer vision with Python[M].北京:人民郵電出版社,2012:195-206.
[24]GONZALEZ R,WOODS K.數(shù)字圖像處理[M].2版.北京:人民郵電出版社,2007:335-391.