• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于字符分割和LeNet-5網(wǎng)絡(luò)的字符驗(yàn)證碼識(shí)別

      2023-08-03 00:32:10張敬勛張俊虎趙宇波
      關(guān)鍵詞:字符像素點(diǎn)準(zhǔn)確率

      張敬勛,張俊虎,趙宇波,李 輝

      (1.青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,山東 青島 266061;2.山東產(chǎn)業(yè)技術(shù)研究院,山東 青島 250102)

      0 引言

      驗(yàn)證碼存在的目的是加強(qiáng)網(wǎng)站系統(tǒng)安全,防止惡意攻擊[1],因此網(wǎng)站系統(tǒng)中的驗(yàn)證碼形式也種類繁多,不僅有基于文本的、基于音頻的、基于視頻動(dòng)畫的驗(yàn)證碼,還有基于謎題的驗(yàn)證碼等[2],而對(duì)驗(yàn)證碼識(shí)別技術(shù)的研究是是非常關(guān)鍵的一部分,因?yàn)轵?yàn)證碼的識(shí)別技術(shù)可以衡量驗(yàn)證碼生成算法的質(zhì)量,并幫助改善驗(yàn)證碼生成算法,以達(dá)到加強(qiáng)網(wǎng)絡(luò)系統(tǒng)安全的目的。

      在驗(yàn)證碼識(shí)別領(lǐng)域[3],字符型驗(yàn)證碼[4]依舊是網(wǎng)站使用最多形式的驗(yàn)證碼,因此字符型驗(yàn)證碼的識(shí)別是一個(gè)重要的研究方向。通常,研究人員將字符識(shí)別算法的過(guò)程分為三個(gè)步驟,分別為字符定位、字符分割和字符識(shí)別[5]。而在識(shí)別字符型驗(yàn)證碼的時(shí),最主要的是字符分割與字符識(shí)別部分,因此單個(gè)字符的正確分割是影響字符型驗(yàn)證碼識(shí)別準(zhǔn)確率的關(guān)鍵步驟[6]。有效的分割驗(yàn)證碼可以極大的提高字符型驗(yàn)證碼識(shí)別的準(zhǔn)確率。在分割方法中,傳統(tǒng)的顏色填充分割算法[7]是利用區(qū)域填充的思想對(duì)字符進(jìn)行分割的,該方法對(duì)于車牌分割[8]和字符間不粘連的驗(yàn)證碼有著很好的分割效果,但是對(duì)于相互之間粘連的字符無(wú)法進(jìn)行準(zhǔn)確分割。垂直投影方法[9]也是一種經(jīng)典的分割方法,當(dāng)字符沒(méi)有扭曲,傾斜等情況時(shí),能夠完成很好的分割。

      在識(shí)別方法中,早期的OCR識(shí)別技術(shù)、形狀上下文以及模板匹配等識(shí)別技術(shù),僅僅只能局限在識(shí)別簡(jiǎn)單字符。而隨著時(shí)間的推移,支持向量機(jī)以及卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn),雖然提高了驗(yàn)證碼識(shí)別的準(zhǔn)確率,但是在準(zhǔn)確率上還依然有著很大的提升空間。因此,本文提出了一種先分割后識(shí)別的驗(yàn)證碼處理方法,此方法先將驗(yàn)證碼圖片進(jìn)行分割,分割之后再使用LeNet-5神經(jīng)網(wǎng)絡(luò)對(duì)驗(yàn)證碼圖片識(shí)別。結(jié)果表明,本文方法能夠很好的提升字符驗(yàn)證碼的分割以及識(shí)別準(zhǔn)確率。

      1 字符圖像預(yù)處理

      1.1 圖像二值化以及去噪處理

      在驗(yàn)證碼的實(shí)際識(shí)別過(guò)程中為了準(zhǔn)確有效的對(duì)驗(yàn)證碼進(jìn)行分割,我們需要對(duì)驗(yàn)證碼進(jìn)行預(yù)處理[10],這其中包括灰度化,圖片去噪,矯正以及二值化處理。首先,我們先將圖片灰度化,而彩色圖像轉(zhuǎn)換為灰度圖像時(shí),需要計(jì)算圖像中每個(gè)像素有效的亮度值[11],根據(jù)重要性及其它指標(biāo),將R,G,B三個(gè)分量以不同的權(quán)值進(jìn)行加權(quán)平均。其計(jì)算公式如式(1)所示:

      Y=0.299R+0.578G+0.114B

      (1)

      在圖片灰度化之后,把圖片進(jìn)行去噪處理,本文選用中值濾波去噪,把驗(yàn)證碼圖像中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近真實(shí)值,從而消除孤立的噪聲點(diǎn)。部分驗(yàn)證碼經(jīng)去噪處理后效果如圖1所示。

      圖1 部分驗(yàn)證碼經(jīng)去噪處理后效果

      為了有利于進(jìn)一步處理圖像,使圖像變得簡(jiǎn)單,而且讓數(shù)據(jù)量減小,能突出字符有效信息,即突出所求目標(biāo)字符的輪廓和特征,我們?cè)賹?duì)圖像進(jìn)行二值化處理。首先將 RGB 格式的圖像轉(zhuǎn)化為灰度圖像,再把灰度圖像進(jìn)行二值化。

      在圖像預(yù)處理過(guò)程中,首先獲得圖像灰度繼而使用迭代法閾值分割[12]來(lái)得到閾值,進(jìn)而利用此閾值將灰度圖像進(jìn)行二值化,從而較為快速而且有效的來(lái)完成灰度圖像的二值化。迭代法閾值分割的流程如下。

      Step1:選擇一個(gè)初始估計(jì)閾值T1,預(yù)設(shè)值ξ。

      Step2:用T1把給定圖像分割。這樣做會(huì)生成兩組圖像:G1由所有灰度值大于T的像素組成,而G2由所有灰度值小于或等于T的像素組成。

      Step3:對(duì)區(qū)域G1和G2中的所有像素計(jì)算平均灰度值μ1和μ2。

      Step4:選擇一個(gè)新閾值T1=T2,更新T2,T2=(μ1+μ2)/2。

      Step5:重復(fù)進(jìn)行Step2~Step4,直至|T2-T1|>ξ,輸出T2。

      部分驗(yàn)證碼二值化結(jié)果如圖2所示。

      圖2 部分驗(yàn)證碼二值化結(jié)果

      1.2 傾斜矯正

      為了網(wǎng)站安全,許多網(wǎng)站驗(yàn)證碼中的字符都有或多或少的傾斜字符,為了方便驗(yàn)證碼的下一步處理,我們需要對(duì)驗(yàn)證碼字符進(jìn)行傾斜矯正。

      霍夫變換(hough transform)是圖像處理中識(shí)別幾何形狀最常用的方法[13]。用Hough變換來(lái)檢測(cè)圖像的邊緣,確定傾斜圖像邊緣的直線傾斜角,通過(guò)傾斜角的旋轉(zhuǎn)后,可以獲得矯正后的圖像。傾斜矯正具體流程為:通過(guò)Canny邊緣檢測(cè)算法獲得字符邊緣,畫出最小矩陣框,然后利用Hough變換計(jì)算傾斜角度,之后進(jìn)行字符旋轉(zhuǎn)矯正,最后依次找出所有最小矩陣框并矯正。驗(yàn)證碼矯正結(jié)果如圖3所示。

      圖3 驗(yàn)證碼矯正結(jié)果

      2 字符分割

      目前大多數(shù)使用的驗(yàn)證碼依舊為四字符的驗(yàn)證碼,因此本文研究對(duì)象依舊是四字符的驗(yàn)證碼圖像。本文針對(duì)傳統(tǒng)顏色填充算法的缺陷和粘連字符分割存在的難點(diǎn)﹐對(duì)傳統(tǒng)的顏色填充分割算法進(jìn)行改進(jìn)。該算法首先使用垂直投影算法來(lái)判斷驗(yàn)證碼圖片包含幾個(gè)字符塊,以及得出每個(gè)字符塊的坐標(biāo)點(diǎn)以及字符寬度。如果字符塊數(shù)量等于四,則說(shuō)明字符之間沒(méi)有粘連,則直接使用顏色填充算法對(duì)驗(yàn)證碼圖像進(jìn)行分割,如果字符塊數(shù)量不等于四,則使用顏色填充算法分割之后再根據(jù)字符塊的坐標(biāo)點(diǎn)以及字符塊寬度進(jìn)行二次分割。本文算法分割流程如圖4所示。

      圖4 字符分割流程圖

      2.1 垂直投影算法

      垂直投影算法就是對(duì)二值化后的驗(yàn)證碼字符圖像的黑色像素個(gè)數(shù)進(jìn)行豎直垂直方向上的統(tǒng)計(jì)。設(shè)每個(gè)像素位置(x,y)對(duì)應(yīng)的坐標(biāo)為f(x,y),當(dāng)像素點(diǎn)為白色像素點(diǎn)時(shí),f(x,y)=0,為黑色像素點(diǎn)時(shí),f(x,y)=1。則每列像素點(diǎn)個(gè)數(shù)為P(x),公式如(2)所示,其中H為驗(yàn)證碼圖片高度。

      (2)

      從x=0開(kāi)始,依次查找當(dāng)P(x)=0時(shí)x的取值,當(dāng)?shù)谝淮尾檎业絇(x)=0時(shí),則記錄此時(shí)的x坐標(biāo),并標(biāo)記為字符的左邊界;然后繼續(xù)查找,當(dāng)再次檢測(cè)到P(x)=0時(shí),則記錄此時(shí)的x坐標(biāo),并標(biāo)記為字符的右邊界,以此類推,直至將字符型驗(yàn)證碼圖片檢測(cè)完畢,之后將字符寬度小于2的標(biāo)記為噪點(diǎn)并去除。部分預(yù)處理后的驗(yàn)證碼圖片的垂直投影結(jié)果如表1所示。

      表1 部分預(yù)處理后的驗(yàn)證碼圖片垂直投影結(jié)果

      對(duì)表1中的第一張圖片進(jìn)行可視化,可視化結(jié)果如圖5所示。

      圖5 垂直投影可視化圖

      2.2 顏色填充算法(CFS)

      顏色填充分割算法(CFS,color filling segmentation algorithm),顏色填充又稱為區(qū)域填充,這里的‘區(qū)域’是由像素點(diǎn)組成點(diǎn)陣形式的填充圖形。一個(gè)區(qū)域由兩部分組成,分別為內(nèi)點(diǎn)和邊界點(diǎn),內(nèi)點(diǎn)是指區(qū)域內(nèi)部的所有像素點(diǎn),在本文中是指驗(yàn)證碼字符中的像素點(diǎn),這些內(nèi)部的像素點(diǎn)為同一個(gè)顏色。邊界點(diǎn)是指區(qū)域外部的所有像素點(diǎn),在本文中是指驗(yàn)證碼字符之外的所有像素點(diǎn),這些邊界像素點(diǎn)為與內(nèi)部像素點(diǎn)不同的顏色。具體的表現(xiàn)形式如圖6所示。

      圖6 像素點(diǎn)的表現(xiàn)形式

      本文所使用的連通方式為八連通方式,具體表現(xiàn)過(guò)程為將區(qū)域內(nèi)的一點(diǎn)標(biāo)記為種子點(diǎn),給種子點(diǎn)標(biāo)記一種顏色,然后通過(guò)八向連通的方式,用該種子點(diǎn)的顏色遍歷完區(qū)域中所有像素點(diǎn)的過(guò)程。因本文處理后都是二值化圖片,因此該種子點(diǎn)也就是一個(gè)黑色像素點(diǎn)(像素值為 0),用其他顏色標(biāo)記,然后以這個(gè)種子點(diǎn)為中心,使用八向連通的方式,繼續(xù)找相鄰的黑色像素點(diǎn),找到之后就將這個(gè)點(diǎn)賦予為和這個(gè)種子點(diǎn)相同的顏色,并從找到的黑色像素點(diǎn)開(kāi)始遞歸尋找其余黑色像素點(diǎn)直至無(wú)相鄰的黑色點(diǎn)結(jié)束,然后均標(biāo)記為與此種子點(diǎn)相同的顏色。通過(guò)以上的一個(gè)遞歸過(guò)程就可以標(biāo)記出一個(gè)顏色均為黑色的區(qū)域,然后再用其它幾個(gè)不同的種子點(diǎn),逐漸遍歷,便可找到許多面積大小不同的區(qū)域,而區(qū)域面積較小則認(rèn)為是噪點(diǎn)區(qū)域,因此,去除噪點(diǎn)區(qū)域外的其他區(qū)域則是分割出來(lái)的字符。本文基于的顏色填充分割算法采用棧結(jié)構(gòu)來(lái)實(shí)現(xiàn)?;玖鞒倘缦拢?/p>

      Step1:種子元素入棧。

      Step2:查看棧是否非空,非空則進(jìn)行Step3~Step6。

      Step3:棧頂元素出棧。

      Step4:將出棧元素置成要填充色。

      Step5:按八向連通的方式檢查與出棧元素相鄰的8個(gè)元素。

      Step6:在Step5檢查的像素中,如果某個(gè)像素點(diǎn)是內(nèi)部點(diǎn),而且沒(méi)有填充顏色,則把該像素入棧。

      取出部分預(yù)處理后的驗(yàn)證碼圖片使用顏色填充算法分割,部分分割結(jié)果如表2所示。

      表2 顏色填充分割算法結(jié)果

      2.3 字符二次分割

      根據(jù)使用垂直投影算法計(jì)算出的寬度可知,使用顏色填充分割算法分割后粘連的字符要比單一字符的寬度值更大。在討論粘連字符分割時(shí),本文主要討論的驗(yàn)證碼是四個(gè)字符的驗(yàn)證碼,因此分割后的可能會(huì)有以下情況,1)全部字符都相連,即分割后只有一個(gè)字符塊,2)字符兩兩相連,分割后有兩個(gè)字符塊,3)字符部分連接,分割后有多個(gè)字符塊。在以上三種情況中,我們每對(duì)字符完成一次分割,則用OCR的識(shí)別技術(shù)[14]進(jìn)行一次判斷,看分割出的圖像是否是單個(gè)字符。直至對(duì)整個(gè)粘連字符圖像處理完畢。

      針對(duì)第一種情況,我們按照公式(3)對(duì)字符做出處理,因?yàn)槿孔址噙B,因此我們對(duì)字符做處理的結(jié)果會(huì)分出四個(gè)字符塊。

      (3)

      其中:Wmax代表最大字符塊的寬度,Wi代表每個(gè)字符塊的寬度,其中W1+W2+W3+W4=Wmax,t代表對(duì)字符分割時(shí)每次移動(dòng)的像素?cái)?shù),初始值為1。

      針對(duì)第二種情況,因?yàn)榉指詈髸?huì)有兩個(gè)字符塊,因此對(duì)兩個(gè)字符塊分別處理,然后對(duì)處理后字符進(jìn)行判斷,看是否分割出正確字符。分割公式如(4)所示。

      (4)

      其中:Wm1代表第一個(gè)字符塊的寬度,Wm2代表第二個(gè)字符塊的寬度,其中W1+W2=Wm1,W3+W4=Wm2。t代表對(duì)字符分割時(shí)每次移動(dòng)的像素?cái)?shù),初始值為1。

      針對(duì)第三種情況,字符部分相連,即有可能是兩個(gè)相連也有可能是三個(gè)相連,即最少有一個(gè)單個(gè)字符,我們令寬度最小的單個(gè)字符的寬度為Wmin,然后我們對(duì)粘連字符按照公式(5)進(jìn)行處理,然后檢查分出的是否是單個(gè)字符。

      (5)

      其中:Wmax代表相連字符塊的寬度,Wmin代表寬度最小字符塊的寬度,對(duì)于式(5)中的第一個(gè)式子,W1+W2=Wmax,對(duì)于公式(5)中的第二個(gè)式子W1+W2+W3=Wmax,t代表對(duì)字符分割時(shí)每次移動(dòng)的像素?cái)?shù),初始值為1。

      對(duì)粘連部分驗(yàn)證碼二次分割處理以后部分驗(yàn)證碼結(jié)果如表3所示。

      表3 部分驗(yàn)證碼二次分割處理字符以及分割結(jié)果

      2.4 字符合并

      在粘連字符分割過(guò)程中,也有可能導(dǎo)致字符斷裂,因此,我們需要對(duì)斷裂字符進(jìn)行合并。以下為對(duì)斷裂字符處理的流程。

      Step1:計(jì)算每個(gè)字符塊的中線坐標(biāo)為x1,x2, ,xn。

      Step2:計(jì)算字符塊的最小寬度Wmin和字符塊數(shù)量count以及計(jì)算相鄰字符塊中線之間最小距離Lmin。

      Step3:將Lmin與Wmin進(jìn)行對(duì)比,如果Lmin小于Wmin,則將該字符塊與其后相鄰字符塊進(jìn)行合并,即更改該字符的右邊界,使該字符的右邊界等于其后相鄰的字符右邊界,之后將count減1。

      Step4:重復(fù)進(jìn)行步驟一到步驟三,直至垂直投影后的count≤4。

      3 字符識(shí)別

      隨著深度學(xué)習(xí)[16]的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種深層次的神經(jīng)網(wǎng)絡(luò),被應(yīng)用在許多領(lǐng)域,如目標(biāo)檢測(cè)[17]、圖像分割和識(shí)別[18]和CAPTCHA識(shí)別[15]。而在CAPTCHA識(shí)別領(lǐng)域表現(xiàn)出了優(yōu)異的性能,其性能遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法[19]。與傳統(tǒng)方法相比,卷積神經(jīng)網(wǎng)絡(luò)中的卷積層有著很強(qiáng)的提取特征的能力,降低了人工處理的要求和復(fù)雜的預(yù)處理流程。在1998年,Lecun等[20]人在神經(jīng)網(wǎng)絡(luò)領(lǐng)域有了開(kāi)創(chuàng)性工作,即提出了LeNet-5網(wǎng)絡(luò)結(jié)構(gòu),這也正式開(kāi)啟了卷積神經(jīng)網(wǎng)絡(luò)時(shí)代。他首先應(yīng)用于手寫數(shù)字集的識(shí)別,并取得了很好的效果,之后在許多學(xué)者的改進(jìn)下,又應(yīng)用在車牌識(shí)別,壓印字符識(shí)別等領(lǐng)域。

      LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)包括7個(gè)層,分別為一個(gè)輸入層、三個(gè)卷積層、兩個(gè)池化層、一個(gè)輸出層。LeNet-5網(wǎng)絡(luò)的模型結(jié)構(gòu)如圖7所示。

      圖7 LeNet-5模型結(jié)構(gòu)

      在圖7中,C1是一個(gè)具有六個(gè)特征圖的卷積層。每個(gè)特征圖都由5×5的卷積核采樣步長(zhǎng)為1。特征圖的大小為28×28,可以防止輸入從邊界溢出。C1包含156個(gè)可訓(xùn)練參數(shù)和122 304個(gè)連接。S2是一個(gè)具有六個(gè)特征圖的14×14大小的子采樣層。每個(gè)特征圖中的每個(gè)單元都與C1中相應(yīng)特征圖的2×2鄰域相連。2×2的感受野是不重疊的,因此S2中的特征圖行數(shù)和列數(shù)比C1中的特征圖減半。S2具有12個(gè)可訓(xùn)練參數(shù)和5 880個(gè)連接。C3層為卷積層,輸入為S2中所有6個(gè)或幾個(gè)的特征圖組合,使用5×5的卷積核采樣,包含6張10×10大小的特征圖和1516個(gè)可訓(xùn)練參數(shù)以及156 000個(gè)連接;S4層為池化層,采樣方式為4個(gè)輸入相加,乘以一個(gè)可訓(xùn)練參數(shù),再加上一個(gè)可訓(xùn)練偏置。結(jié)果通過(guò)sigmoid函數(shù)輸出。包含16張5×5大小的特征圖和32個(gè)可訓(xùn)練參數(shù)以及2 000個(gè)連接;C5為卷積層,輸入為S4層的全部16個(gè)單元特征圖,卷積核大小5×5,為包含120張1×1大小的特征圖和48 120個(gè)可訓(xùn)練參數(shù)以及48 120個(gè)連接;F6為全連接層,計(jì)算輸入向量和權(quán)重向量之間的點(diǎn)積,再加上一個(gè)偏置,結(jié)果通過(guò)sigmoid函數(shù)輸出。包含84個(gè)神經(jīng)元和10 164個(gè)可訓(xùn)練參數(shù);輸出層采用的是徑向基函數(shù)(RBF)的網(wǎng)絡(luò)連接方式,輸出為10個(gè)神經(jīng)元。

      RBF的計(jì)算公式如公式(6)所示:

      (6)

      在公式(6)中,xj為全連接層中第j個(gè)神經(jīng)元;yi為輸出層第i個(gè)神經(jīng)元;wij為全連接層第j個(gè)神經(jīng)元與輸出層第i個(gè)神經(jīng)元之間的權(quán)值。

      因?yàn)長(zhǎng)eNet-5網(wǎng)絡(luò)結(jié)構(gòu)最早是針對(duì)手寫數(shù)字識(shí)別產(chǎn)生的,其10個(gè)輸出神經(jīng)元分別對(duì)應(yīng)著0~9這10類數(shù)字,但驗(yàn)證碼字符比手寫數(shù)字更為復(fù)雜,識(shí)別難度更大,因此我們對(duì)傳統(tǒng)的LeNet-5網(wǎng)絡(luò)進(jìn)行改進(jìn),使其能夠更好的用于識(shí)別驗(yàn)證碼字符。

      由于驗(yàn)證碼圖片中包含多個(gè)字符,所以LeNet-5網(wǎng)絡(luò)中輸入層的32*32像素的大小便不能對(duì)驗(yàn)證碼字符圖片進(jìn)行有效的識(shí)別,因此,我們將輸入層的輸入大小改為40*30像素大小,能夠更好的符合字符驗(yàn)證碼圖像的長(zhǎng)寬比,也能避免歸一化為32*32大小時(shí),而產(chǎn)生的過(guò)多信息丟失。

      在LeNet-5網(wǎng)絡(luò)中,C5層的訓(xùn)練參數(shù)數(shù)量為48 120個(gè),占整體訓(xùn)練數(shù)量的80%。大大增加了訓(xùn)練量以及拖慢訓(xùn)練速度,因此將LeNet-5網(wǎng)絡(luò)模型中的C5層去掉,改為F5全連接層,并在F5全連接層前進(jìn)行扁平化處理,這樣能夠?qū)⒛P涂傮w的訓(xùn)練參數(shù)數(shù)量減少,提高了算法的運(yùn)算效率。

      本文設(shè)計(jì)的網(wǎng)絡(luò)模型結(jié)構(gòu)參數(shù)信息如表4所示。

      表4 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)

      本文設(shè)計(jì)的網(wǎng)絡(luò)模型包括兩個(gè)卷積層,兩個(gè)池化層,和兩個(gè)全連接層,其中學(xué)習(xí)率為0.001,卷積核大小為3*3,填充大小為1,步長(zhǎng)為1,輸入圖片大小為40*30,識(shí)別過(guò)程如圖8所示。

      圖8 LeNet-5網(wǎng)絡(luò)識(shí)別過(guò)程

      4 實(shí)驗(yàn)結(jié)果與分析

      本文使用python語(yǔ)言,運(yùn)行環(huán)境是在CPU上運(yùn)行,是基于Intel(R)Core(TM)i5-6200U的處理器,操作系統(tǒng)為Windows10,編譯環(huán)境為python3.7版本。

      本文數(shù)據(jù)集均來(lái)自生成和網(wǎng)絡(luò)采集,其中由Captcha庫(kù)生成20 000張字符型驗(yàn)證碼圖片,網(wǎng)絡(luò)采集2 000張字符型驗(yàn)證碼圖片,其中包括粘連字符型和非粘連字符型驗(yàn)證碼圖片。驗(yàn)證碼圖片內(nèi)容包含0~9數(shù)字及A-Z的26個(gè)大小寫英文字符混合。

      為了驗(yàn)證算法的優(yōu)越性,根據(jù)驗(yàn)證碼字符是否粘連將數(shù)據(jù)集分為兩類,分別為粘連字符驗(yàn)證碼和非粘連字符驗(yàn)證碼。每類的數(shù)據(jù)集均為11 000張驗(yàn)證碼圖片,第一類中的驗(yàn)證碼字符為較為簡(jiǎn)單的沒(méi)有粘連字符驗(yàn)證碼;第二類中的驗(yàn)證碼字符均為復(fù)雜的粘連字符驗(yàn)證碼。每類驗(yàn)證碼的字符粘連情況如表5所示。

      表5 每類驗(yàn)證碼的字符粘連情況

      首先為了更好的驗(yàn)證本文分割算法的有效性,我們分別從兩類數(shù)據(jù)集中拿出1 000張圖片做分割實(shí)驗(yàn),與垂直投影分割算法,顏色填充分割算法進(jìn)行對(duì)比,計(jì)算字符分割算法的準(zhǔn)確率以及分割所用時(shí)間。本文字符分割準(zhǔn)確率公式如(6)所示:

      (6)

      其中:Acc代表字符分割準(zhǔn)確率,S為字符總個(gè)數(shù),Yi代表分割正確的字符。各種算法分割準(zhǔn)確率以及分割時(shí)間如表6所示。

      之后,我們?cè)儆镁矸e神經(jīng)網(wǎng)絡(luò)對(duì)字符驗(yàn)證碼進(jìn)行識(shí)別實(shí)驗(yàn),將數(shù)據(jù)集按照8:1:1的比例分為訓(xùn)練集、測(cè)試集和驗(yàn)證集,然后放到卷積神經(jīng)網(wǎng)絡(luò)中。最終模型第一類驗(yàn)證碼訓(xùn)練和測(cè)試的準(zhǔn)確率與損失曲線如圖9以及圖10所示。第二類驗(yàn)證碼訓(xùn)練和測(cè)試的準(zhǔn)確率與損失曲線如圖11以及圖12所示。

      圖9 第一類驗(yàn)證碼訓(xùn)練的準(zhǔn)確率

      圖10 第一類驗(yàn)證碼訓(xùn)練的損失曲線

      圖11 第二類驗(yàn)證碼訓(xùn)練的準(zhǔn)確率

      從圖9、圖10、圖11以及圖12可以看出,無(wú)論是對(duì)于第一類無(wú)粘連字符的驗(yàn)證碼,還是對(duì)第二類有粘連字符的驗(yàn)證碼,本文的方法都具有很好的識(shí)別效果。之后,在測(cè)試集上對(duì)兩類驗(yàn)證碼進(jìn)行實(shí)驗(yàn),得到結(jié)果為第一類非粘連字符驗(yàn)證碼,識(shí)別準(zhǔn)確率達(dá)到99.9%,對(duì)于第二類粘連字符的驗(yàn)證碼,識(shí)別準(zhǔn)確率可以達(dá)到97.7%。除此之外,為了進(jìn)一步評(píng)估本文方法對(duì)字符驗(yàn)證碼識(shí)別的優(yōu)越性,本文與參考文獻(xiàn)中的其它驗(yàn)證碼識(shí)別方法進(jìn)行了對(duì)比,本文實(shí)驗(yàn)結(jié)果和其它模型對(duì)比結(jié)果如表7所示。

      從表7可以看出,無(wú)論是對(duì)于第一類簡(jiǎn)單的非粘連驗(yàn)證碼,還是對(duì)于第二類復(fù)雜的粘連驗(yàn)證碼,本分對(duì)驗(yàn)證碼的處理方法均有不錯(cuò)的效果。其中對(duì)于第一類簡(jiǎn)單非粘連的驗(yàn)證碼,效果有明顯提升,對(duì)于第二類復(fù)雜的驗(yàn)證碼,也比識(shí)別率最好的FRN效果要好。

      表6 字符分割實(shí)驗(yàn)對(duì)比

      圖12 第二類驗(yàn)證碼訓(xùn)練的損失曲線

      表7 各種算法識(shí)別正確率對(duì)比

      5 結(jié)束語(yǔ)

      本文針對(duì)傳統(tǒng)顏色填充算法的缺陷和粘連字符分割存在的難點(diǎn)﹐對(duì)傳統(tǒng)的顏色填充分割算法進(jìn)行改進(jìn),最后再引進(jìn)LeNet-5神經(jīng)網(wǎng)絡(luò)對(duì)驗(yàn)證碼字符進(jìn)行識(shí)別。實(shí)驗(yàn)結(jié)果表明,本文算法不僅適用于大部分非粘連字符驗(yàn)證碼,而且還能夠解決傳統(tǒng)顏色填充算法無(wú)法處理的粘連字符分割問(wèn)題,但是,對(duì)于背景較多干擾線的字符驗(yàn)證碼,本文算法可能會(huì)出現(xiàn)誤分割。

      最后,本文在分割算法之后引入改進(jìn)后的LeNet-5神經(jīng)網(wǎng)絡(luò)對(duì)驗(yàn)證碼字符圖片識(shí)別,這樣極大的減少了卷積神經(jīng)網(wǎng)絡(luò)的參數(shù),也能起到不錯(cuò)的字符識(shí)別效果。實(shí)驗(yàn)結(jié)果表明,本文提出的方法對(duì)驗(yàn)證碼的分割和識(shí)別起到了良好的作用,提高了字符分割的準(zhǔn)確率,也減少了卷積神經(jīng)網(wǎng)絡(luò)的參數(shù),提高了運(yùn)行速率,以及驗(yàn)證碼識(shí)別準(zhǔn)確率。

      猜你喜歡
      字符像素點(diǎn)準(zhǔn)確率
      尋找更強(qiáng)的字符映射管理器
      乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
      健康之家(2021年19期)2021-05-23 11:17:39
      不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
      2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計(jì)
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      高速公路車牌識(shí)別標(biāo)識(shí)站準(zhǔn)確率驗(yàn)證法
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      湘潭市| 浠水县| 安宁市| 保山市| 梨树县| 肃宁县| 仁怀市| 怀安县| 天门市| 海晏县| 白沙| 维西| 刚察县| 贵定县| 易门县| 高州市| 正镶白旗| 宜城市| 卢龙县| 喜德县| 大城县| 普宁市| 凤阳县| 公安县| 定边县| 岳西县| 拉萨市| 博客| 佛冈县| 南京市| 尚义县| 县级市| 涞源县| 南安市| 藁城市| 南召县| 都兰县| 民权县| 铜山县| 吴江市| 民县|