胡蝶 侯俊 何晨航
摘 要:為有效識(shí)別浮動(dòng)驗(yàn)證碼,提出一種基于特征匹配與卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別方法。首先使用特征匹配的方法得到匹配特征點(diǎn),結(jié)合交叉匹配算法與K近鄰匹配算法濾除錯(cuò)誤匹配;然后對特征點(diǎn)進(jìn)行聚類及投票分析,得到待識(shí)別字符區(qū)域,將其分割得到單個(gè)字符;最后在mnist手寫數(shù)字?jǐn)?shù)據(jù)集的基礎(chǔ)上加入英文字符,構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,將數(shù)據(jù)集送入模型進(jìn)行訓(xùn)練。對10 000張浮動(dòng)驗(yàn)證碼進(jìn)行測試,結(jié)果表明,該方法對浮動(dòng)驗(yàn)證碼的識(shí)別準(zhǔn)確率達(dá)95%,且構(gòu)建的訓(xùn)練集具有可擴(kuò)展性,可進(jìn)一步應(yīng)用到其它類型的字符識(shí)別中。
關(guān)鍵詞:特征匹配;卷積神經(jīng)網(wǎng)絡(luò);交叉匹配算法;K近鄰匹配算法
DOI:10. 11907/rjdk. 191914 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)005-0037-05
0 引言
隨著信息服務(wù)產(chǎn)業(yè)的不斷發(fā)展,網(wǎng)絡(luò)信息安全面臨日益嚴(yán)峻的挑戰(zhàn)。利用機(jī)器人程序自動(dòng)注冊網(wǎng)站、發(fā)送大量垃圾郵件、惡意破解用戶密碼等行為降低了網(wǎng)絡(luò)信息服務(wù)安全性和實(shí)用性,驗(yàn)證碼技術(shù)應(yīng)運(yùn)而生。驗(yàn)證碼是一種用來區(qū)分人類和計(jì)算機(jī)的全自動(dòng)圖靈測試,該測試隨機(jī)生成一個(gè)驗(yàn)證碼,要求用戶在文本框中輸入看到的內(nèi)容,只有驗(yàn)證通過才能訪問接下來的網(wǎng)站內(nèi)容。一個(gè)好的驗(yàn)證碼系統(tǒng)既要考慮計(jì)算機(jī)安全問題,也要考慮人性化問題。對驗(yàn)證碼識(shí)別技術(shù)的研究可用于檢驗(yàn)網(wǎng)站驗(yàn)證碼技術(shù)保證網(wǎng)站安全的有效性,及時(shí)發(fā)現(xiàn)驗(yàn)證碼漏洞,促進(jìn)驗(yàn)證碼設(shè)計(jì)系統(tǒng)的發(fā)展。
近年來國內(nèi)外眾多學(xué)者對驗(yàn)證碼識(shí)別技術(shù)進(jìn)行了研究,以完善驗(yàn)證碼生成技術(shù),促進(jìn)網(wǎng)絡(luò)信息安全技術(shù)發(fā)展。于志良[1]使用模板匹配法對簡單類型的驗(yàn)證碼進(jìn)行識(shí)別,該方法是從待識(shí)別圖像中提取若干特征向量與模板對應(yīng)的特征向量進(jìn)行比較,計(jì)算圖像與模板特征向量之間的距離,用最小距離法判定所屬類別。該方法易于實(shí)現(xiàn),但是準(zhǔn)確率不高,缺乏系統(tǒng)性且不易移植;殷光等[2]提出基于支持向量機(jī)的驗(yàn)證碼識(shí)別算法,該算法利用核函數(shù)特征空間有效訓(xùn)練線性學(xué)習(xí)器,同時(shí)還考慮了泛化性理論,其分類性能優(yōu)良,具有統(tǒng)計(jì)學(xué)理論支撐,取得了較好的識(shí)別效果,使用該方法的識(shí)別率達(dá)到80%以上;田懷川[3]在驗(yàn)證碼分類和識(shí)別階段,建立了神經(jīng)網(wǎng)絡(luò)模型,通過對分割后驗(yàn)證碼圖片進(jìn)行學(xué)習(xí)和測試,大幅提高了驗(yàn)證碼識(shí)別效率和準(zhǔn)確性;張濤[4]針對數(shù)字字母組合驗(yàn)證碼識(shí)別問題,先對驗(yàn)證碼進(jìn)行去噪和分割,然后再利用卷積神經(jīng)網(wǎng)絡(luò)模型對普通驗(yàn)證碼進(jìn)行訓(xùn)練識(shí)別,取得比利用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方法和支持向量機(jī)更高的識(shí)別率,達(dá)到90%;Lin等[5]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的中文驗(yàn)證碼識(shí)別方法,使用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)漢字字符筆畫、部首和字符特征,該方法大幅提高了有失真、旋轉(zhuǎn)和背景噪聲的漢字驗(yàn)證碼識(shí)別精度,實(shí)驗(yàn)結(jié)果表明,該方法對單個(gè)漢字的識(shí)別率達(dá)到95%以上;Bostik等[6]比較了幾種常用的驗(yàn)證碼識(shí)別機(jī)器學(xué)習(xí)分類算法,包括神經(jīng)網(wǎng)絡(luò)、K近鄰算法、支持向量機(jī)和決策樹算法。實(shí)驗(yàn)在MATLAB計(jì)算機(jī)環(huán)境下進(jìn)行,最終實(shí)驗(yàn)結(jié)果表明基于以上算法識(shí)別驗(yàn)證碼的正確率超過89%,同時(shí)指出,算法結(jié)果差異主要體現(xiàn)在學(xué)習(xí)時(shí)間上。因此,識(shí)別任務(wù)應(yīng)針對不同的識(shí)別需求選取合適的算法。
本文針對浮動(dòng)驗(yàn)證碼進(jìn)行識(shí)別,如圖1所示,其待識(shí)別主體為“US5T1”,其余字符均為干擾。干擾由字母和數(shù)字組成,與待辨認(rèn)的驗(yàn)證碼主體類似,同時(shí)這兩種類型的字符處于不斷運(yùn)動(dòng)中,增加了機(jī)器識(shí)別難度。
本文方法主要分為兩部分:第一部分將動(dòng)態(tài)待識(shí)別字符與干擾字符分割開來。在分割階段,首先對驗(yàn)證碼圖片進(jìn)行特征檢測,使用交叉匹配算法與K近鄰匹配算法[7]濾除錯(cuò)誤的匹配。為將干擾字符與待識(shí)別字符的特征點(diǎn)區(qū)分開來,使用投票算法及聚類算法[8]得到待識(shí)別字符特征點(diǎn),再經(jīng)過以投影為基礎(chǔ)的分割算法處理得到待識(shí)別字符圖片;第二部分是識(shí)別,在識(shí)別階段使用深度學(xué)習(xí)方法構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型以獲得較高的識(shí)別率。
1 特征檢測算法
1.1 SIFT算法
尺度不變特征轉(zhuǎn)換(Scale Invariant Feature Transform,SIFT)[9]是一種用計(jì)算機(jī)視覺技術(shù)檢測與描述圖像局部特征的算法。它在尺度空間中尋找極值點(diǎn),對圖像尺度縮放、平移、旋轉(zhuǎn)、亮度變化、目標(biāo)遮擋和噪聲等具有良好的不變性,對視覺變化、仿射變換也可保持一定程度的穩(wěn)定性。該算法由David?Lowe在1999年提出,于2004年得到完善,算法將圖像數(shù)據(jù)轉(zhuǎn)換為相對于局部特征尺度的不變坐標(biāo)。該方法在圖像整個(gè)尺度和位置范圍內(nèi)可產(chǎn)生大量特征點(diǎn),這些特征點(diǎn)可密集地覆蓋圖像,因其特征點(diǎn)信息量豐富,適用于在海量特征數(shù)據(jù)庫中進(jìn)行快速、準(zhǔn)確的匹配。
在進(jìn)行特征匹配和識(shí)別時(shí),首先選取一張參考圖片和一張待匹配、識(shí)別的圖片。從參考圖片中提取SIFT特征并將其存儲(chǔ)于數(shù)據(jù)庫中,再將待識(shí)別圖像中的每個(gè)特征與數(shù)據(jù)庫中的特征進(jìn)行比較。根據(jù)特征向量的歐氏距離得到候選匹配特征以匹配待識(shí)別圖像。具體可以分為3個(gè)步驟:①生成高斯差分金字塔[10],構(gòu)建尺度空間;②SIFT特征檢測;③特征點(diǎn)匹配,計(jì)算兩組特征點(diǎn)128維的關(guān)鍵點(diǎn)歐式距離,歐式距離越小,則相似度越高,當(dāng)歐式距離小于設(shè)定的閾值時(shí),可判定為匹配成功。
其中SIFT特征檢測過程主要包含4個(gè)步驟:①尺度空間極值點(diǎn)檢測。在尺度空間中先初步搜索所有尺度上的圖像位置,通過高斯微分函數(shù)[11]識(shí)別具有尺度和旋轉(zhuǎn)不變性的潛在興趣點(diǎn);②特征點(diǎn)定位。在每個(gè)候選位置上,通過一個(gè)精確的模型確定其位置和尺度,特征點(diǎn)選取主要依據(jù)是候選興趣點(diǎn)的穩(wěn)定程度,即濾除低對比度與不穩(wěn)定的邊緣響應(yīng)點(diǎn),得到最終穩(wěn)定的特征點(diǎn);③方向分配。根據(jù)局部圖像梯度方向,為每個(gè)關(guān)鍵點(diǎn)分配一個(gè)或多個(gè)方向。后續(xù)對圖像進(jìn)行方向、尺度、旋轉(zhuǎn)變換,從而提供針對這些變換具有健壯性的特征點(diǎn);④特征點(diǎn)描述。在每個(gè)特征點(diǎn)周圍鄰域內(nèi),在選定的尺度上測量圖像梯度。這些梯度被轉(zhuǎn)換成一種在局部形狀失真和光照變化的代表。
1.2 SURF算法
加速穩(wěn)健特征(Speeded Up Robust Features,SURF)算法[12]是一種穩(wěn)健的局部特征點(diǎn)檢測和描述算法。SURF算法是對SIFT算法的改進(jìn),提升了算法執(zhí)行效率。SURF算法基本步驟與SIFT算法相同,其特點(diǎn)是特征穩(wěn)定,具體指對各種旋轉(zhuǎn)、尺度、噪聲、亮度的變換保持穩(wěn)定性。SURF算法在繼承這些優(yōu)點(diǎn)的基礎(chǔ)上使用黑塞(Hessian)矩陣[13]和降維的特征描述子,完成了特征點(diǎn)提取和特征點(diǎn)描述,在執(zhí)行效率上有大幅提升。
SURF算法具體實(shí)現(xiàn)流程為:
(1)構(gòu)建黑塞(Hessian)矩陣,生成所有興趣點(diǎn)用于特征提取。構(gòu)建黑塞矩陣生成圖像穩(wěn)定的邊緣點(diǎn),為后續(xù)特征提取打好基礎(chǔ)。這個(gè)過程對應(yīng)于SIFT算法的高斯卷積過程。黑塞矩陣是由一個(gè)多元函數(shù)二階偏導(dǎo)數(shù)構(gòu)成的方陣,描述函數(shù)局部曲率,在圖像I中取一個(gè)點(diǎn)x = (x, y),其在尺度空間[σ]下的黑塞矩陣定義為:
(3)興趣點(diǎn)定位。為了對圖像中的興趣點(diǎn)進(jìn)行定位,在3*3*3鄰域內(nèi)采用非最大抑制,使用由Neubeck & Van Gool[14]提出的快速變體方法;然后用Brown等[15]提出的方法在尺度和圖像空間內(nèi)插入黑塞矩陣行列式的最大值,將經(jīng)過黑塞矩陣處理的每個(gè)像素點(diǎn)與二維圖像空間和尺度空間鄰域內(nèi)的26個(gè)點(diǎn)進(jìn)行比較,初步定位出關(guān)鍵點(diǎn);再濾除能量比較弱的關(guān)鍵點(diǎn)及定位錯(cuò)誤的關(guān)鍵點(diǎn),最終篩選出穩(wěn)定的特征點(diǎn)。
(4)定向分配。在SURF算法,采用的是統(tǒng)計(jì)特征點(diǎn)圓形鄰域內(nèi)的harr小波特征[16]。即在特征點(diǎn)圓形鄰域內(nèi),統(tǒng)計(jì)60°扇形內(nèi)所有點(diǎn)的水平、垂直harr小波特征總和,然后對扇形以0.2弧度大小的間隔進(jìn)行旋轉(zhuǎn)并再次統(tǒng)計(jì)該區(qū)域內(nèi)harr小波特征值,最后將值最大的扇形方向作為該特征點(diǎn)主方向。
(5)生成特征描述子。SIFT算法取特征點(diǎn)周圍4*4個(gè)區(qū)域塊,統(tǒng)計(jì)每小塊內(nèi)8個(gè)梯度方向,用4*4*8=128維向量作為SIFT特征描述子。SURF算法也是在特征點(diǎn)周圍取一個(gè)4*4的矩形區(qū)域塊,但是所取得矩形區(qū)域方向是沿著特征點(diǎn)的主方向。每個(gè)子區(qū)域統(tǒng)計(jì)25個(gè)像素水平方向和垂直方向的haar小波特征,水平和垂直方向均相對主方向而言。該haar小波特征為水平方向值之和、垂直方向值之和、水平方向絕對值之和及垂直方向絕對值之和4個(gè)方向。把這4個(gè)值作為每個(gè)子塊區(qū)域的特征向量,所以一共有4*4*4=64維向量作為SURF特征描述子,比SIFT特征描述子減少了一半。
2 特征匹配
特征匹配[17]是針對特征描述子進(jìn)行的,特征描述子通常是一個(gè)向量,兩個(gè)特征描述子之間的距離可反映其相似程度,距離越小,相似度越高。根據(jù)描述子不同,選擇不同的距離度量。對于浮點(diǎn)類型的描述子,使用歐式距離;對于二進(jìn)制的描述子,使用漢明距離。特征匹配即在特征點(diǎn)集合中尋找與目標(biāo)特征點(diǎn)最相似的特征點(diǎn),主要有4種方法。
2.1 暴力匹配方法
暴力匹配法首先需得到一個(gè)特征點(diǎn)描述子,然后計(jì)算與其它所有特征點(diǎn)描述子的距離,將得到的距離進(jìn)行排序,距離最近的特征點(diǎn)記為匹配點(diǎn)。該方法簡單、易實(shí)施,且得到的匹配點(diǎn)也顯而易見。但是這種暴力匹配方法會(huì)產(chǎn)生很多錯(cuò)誤匹配,因此后續(xù)出現(xiàn)了很多改進(jìn)機(jī)制以過濾一些錯(cuò)誤匹配。
2.2 最小距離法
在使用暴力匹配法得到一些匹配點(diǎn)之后,設(shè)置一個(gè)距離,當(dāng)已經(jīng)匹配的點(diǎn)間距離不大于該距離時(shí),則認(rèn)為是一個(gè)正確的匹配,否則視為錯(cuò)誤的匹配。該方法非常簡單,對比暴力匹配方法,利用該方法進(jìn)行過濾后的匹配效果大幅改善。
2.3 交叉匹配法
針對暴力匹配法,可以使用交叉匹配的方法過濾錯(cuò)誤匹配。交叉過濾的思想是在暴力匹配的基礎(chǔ)上再進(jìn)行一次匹配,即利用被匹配到的點(diǎn)進(jìn)行匹配,如果匹配到的仍然是第一次匹配點(diǎn),則認(rèn)為這是一個(gè)正確的匹配。例如,M圖中的特征點(diǎn)記為a、b、c,N圖中的特征點(diǎn)記為A、B、C,在N圖中使用暴力匹配算法找出特征點(diǎn)a的匹配點(diǎn)為A,然后在M圖中尋找A點(diǎn)的匹配點(diǎn),若該匹配點(diǎn)為a,則記為正確匹配,否則視為錯(cuò)誤匹配被過濾掉。使用交叉匹配算法可大幅提高特征點(diǎn)匹配正確率,過濾掉錯(cuò)誤匹配,減小后續(xù)工作計(jì)算量。
2.4 K近鄰匹配法
K近鄰匹配法是在匹配時(shí)選擇K個(gè)與特征點(diǎn)距離最近的點(diǎn),如果這K個(gè)點(diǎn)之間的距離足夠大(相似度低),則選擇與特征點(diǎn)距離最小的點(diǎn)作為匹配點(diǎn),通常情況下,K取值為2。即對每個(gè)匹配返回兩個(gè)最近的匹配,如果這兩個(gè)最近的匹配特征描述子比率足夠大(比率閾值通常設(shè)置在2左右),則認(rèn)為是正確匹配。
3 卷積神經(jīng)網(wǎng)絡(luò)模型
3.1 卷積神級網(wǎng)絡(luò)模型
卷積神經(jīng)網(wǎng)絡(luò)是將圖像進(jìn)行分類的模型構(gòu)架[18],它由多個(gè)卷積層加池化層構(gòu)成,每個(gè)卷積層后接池化層,最后一個(gè)卷積層后接密集層,密集層可能有多個(gè),其作用是執(zhí)行分類任務(wù),該層輸出節(jié)點(diǎn)個(gè)數(shù)應(yīng)與類別數(shù)對應(yīng)。之后應(yīng)用Softmax激活函數(shù)[19]將輸出節(jié)點(diǎn)的值轉(zhuǎn)化為0~1之間的值,該值即可作為輸入圖像可能屬于某個(gè)類別的概率。
本文使用交叉熵[20]函數(shù)刻畫實(shí)際輸出概率和期望輸出概率分布之間的距離,交叉熵值越小,兩個(gè)概率分布越接近,識(shí)別準(zhǔn)確率越高。假設(shè)概率分布[p]為期望輸出概率分布,[q]為實(shí)際輸出概率分布,[H(p,q)]為交叉熵,則交叉熵函數(shù)為:
3.2 數(shù)據(jù)集擴(kuò)展
本文構(gòu)建的數(shù)據(jù)集包括0-9的數(shù)字及英文字母A-Z共計(jì)36個(gè)字符類別。其類別較多,工作量龐大,因此本文選用一種效率較高的方法構(gòu)建數(shù)據(jù)集?,F(xiàn)有mnist數(shù)據(jù)集包含0-9數(shù)字字符,本文將nist數(shù)據(jù)庫中的英文字符圖片格式修改成與mnist數(shù)據(jù)集圖片格式一致,并添加到mnist數(shù)字?jǐn)?shù)據(jù)集中,構(gòu)建一個(gè)完整的驗(yàn)證碼識(shí)別數(shù)據(jù)集。
訓(xùn)練數(shù)據(jù)集合由兩個(gè)文件組成,一個(gè)是訓(xùn)練圖像文件,里面存放所有訓(xùn)練圖片,另一個(gè)是圖像標(biāo)簽文件,記錄每個(gè)訓(xùn)練圖片最終標(biāo)記類型。訓(xùn)練圖像文件的前16個(gè)字節(jié)分為4個(gè)整型數(shù)據(jù),每個(gè)4字節(jié),分別代表:數(shù)據(jù)信息、圖像數(shù)目,圖像行數(shù)、圖像列數(shù),第5到第8字節(jié)保存的是整個(gè)訓(xùn)練數(shù)據(jù)集的圖片數(shù)目,從第9個(gè)字節(jié)開始存放訓(xùn)練圖像,每個(gè)圖像占用784個(gè)字節(jié),每個(gè)字節(jié)代表一個(gè)灰度值。
向訓(xùn)練圖片集中添加圖片的步驟包括:①將圖片處理成28像素×28像素的灰度圖;②新建一個(gè)一維數(shù)組暫存該圖各點(diǎn)像素值,將該數(shù)組以uint8的數(shù)據(jù)類型格式寫進(jìn)一個(gè)空白矩陣中,最后將這個(gè)28×28的矩陣轉(zhuǎn)換成1×784的矩陣;③以二進(jìn)制格式打開mnist訓(xùn)練圖片集,將一維矩陣添加到訓(xùn)練集末尾;④修改訓(xùn)練圖片集圖片數(shù)目。
訓(xùn)練標(biāo)簽文件第4~8個(gè)字節(jié)記錄的是標(biāo)簽數(shù)目信息,第8個(gè)字節(jié)后記錄的是標(biāo)簽信息,修改標(biāo)簽數(shù)目信息并添加標(biāo)簽信息。至此,可構(gòu)建一個(gè)完整的數(shù)據(jù)集。
4 實(shí)驗(yàn)分析與結(jié)果
從一張浮動(dòng)驗(yàn)證碼中截取9張圖,如圖3所示;使用SIFT、SURF特征檢測算法,找到圖3(a)、(b)中的特征點(diǎn);對得到的特征點(diǎn)使用暴力匹配法,如圖6所示,可得到大量匹配結(jié)果,其中包含一些錯(cuò)誤的匹配點(diǎn);結(jié)合交叉匹配法與最近鄰匹配法,濾除錯(cuò)誤匹配點(diǎn),篩選后的匹配結(jié)果如圖7所示。
如圖3所示,隨著干擾字符的不斷運(yùn)動(dòng),干擾字符可能消失在驗(yàn)證碼圖片中,而待識(shí)別字符一直在驗(yàn)證碼圖片中。根據(jù)該特點(diǎn),對圖3(a)與圖3(c)、(d)、(e)、(f)、(g)、(i)分別重復(fù)上述步驟,進(jìn)行特征匹配,得到匹配的特征點(diǎn)。使用投票算法,將特征點(diǎn)按重復(fù)出現(xiàn)的次數(shù)排序,保留出現(xiàn)次數(shù)前20位的特征點(diǎn),濾除出現(xiàn)次數(shù)較少的特征點(diǎn)。經(jīng)過對干擾字符特征點(diǎn)的濾除操作,可以將干擾字符的特征點(diǎn)與待識(shí)別字符的特征點(diǎn)有效區(qū)分開來。
給所有保留類的特征點(diǎn)作最小矩形框,將驗(yàn)證碼圖片盡可能地縮小識(shí)別范圍,如圖9所示。利用Huang等[21]提出的分割算法處理圖9,得到的分割字符如圖10所示。
利用上述方法創(chuàng)建一個(gè)包含數(shù)字和字母的訓(xùn)練集。訓(xùn)練集圖片共計(jì)138 000張,包含0-9字符,每類分別有 ?6 000張訓(xùn)練圖片,英文字母(A-Z)每類有3 000張訓(xùn)練圖片,訓(xùn)練集由單一字符構(gòu)成(見圖11)。同時(shí)采集10 000張浮動(dòng)驗(yàn)證碼圖片作為測試集,如圖12所示。由此構(gòu)建了一個(gè)完整的浮動(dòng)驗(yàn)證碼數(shù)據(jù)集。
構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,將數(shù)據(jù)集輸入訓(xùn)練模型,根據(jù)交叉熵的計(jì)算結(jié)果得到正確率,并據(jù)此結(jié)果不斷調(diào)整訓(xùn)練模型參數(shù)以獲得較高的識(shí)別準(zhǔn)確率。在數(shù)據(jù)集訓(xùn)練階段,訓(xùn)練步數(shù)趨于20 000步時(shí),訓(xùn)練準(zhǔn)確率逐漸穩(wěn)定,訓(xùn)練完成后保存模型,在識(shí)別驗(yàn)證碼字符時(shí)直接調(diào)用。
調(diào)用保存的模型,輸入字符進(jìn)行識(shí)別。如圖11所示,雖然分割后的待識(shí)別字符存在部分干擾,但卷積神經(jīng)網(wǎng)絡(luò)分類器仍能將其正確識(shí)別出來。經(jīng)驗(yàn)證,本文方法最終在測試集10 000張動(dòng)圖上的測試準(zhǔn)確率達(dá)95%。
5 結(jié)語
隨著驗(yàn)證碼技術(shù)的不斷成熟,驗(yàn)證碼識(shí)別研究備受關(guān)注,但是浮動(dòng)驗(yàn)證碼相關(guān)研究較少。本文針對浮動(dòng)驗(yàn)證碼,構(gòu)建了一個(gè)識(shí)別模型。通過對浮動(dòng)字符進(jìn)行特征匹配,得到字符特征點(diǎn),使用聚類算法初步提取出待識(shí)別字符,再進(jìn)行分割得到單個(gè)待識(shí)別字符,最終在mnist數(shù)據(jù)集的基礎(chǔ)上擴(kuò)充英文字符,使用深度學(xué)習(xí)方法構(gòu)建模型,提高了識(shí)別率。下一步工作將在分割階段根據(jù)兩種類型字符傾斜與完整程度進(jìn)行分割,以進(jìn)一步提高識(shí)別率。
參考文獻(xiàn):
[1] 于志良. 簡單驗(yàn)證碼的模板匹配實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2011,7(26):6375-6376.
[2] 殷光,陶亮. 一種SVM驗(yàn)證碼識(shí)別算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2011,47(18):188-190,194.
[3] 田懷川. 基于神經(jīng)網(wǎng)絡(luò)的圖形驗(yàn)證碼識(shí)別及防識(shí)別的研究與應(yīng)用[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2010.
[4] 張濤,張樂樂. 基于卷積神經(jīng)網(wǎng)絡(luò)的圖片驗(yàn)證碼識(shí)別[J]. 電子測量技術(shù),2018,41(14):83-87.
[5] LIN D,LIN F,LV Y P,et al. Chinese character CAPTCHA recognition and performance estimation via deep neural network[J]. Neurocomputing,2018,288:11-19.
[6] ONDREJ B,JAN K. Recognition of CAPTCHA characters by supervised machine learning algorithms[J]. IFAC Papers Online,2018,51(6):1-6.
[7] 肖春寶,馮大政. 基于K近鄰一致性的特征匹配內(nèi)點(diǎn)選擇算法[J]. 計(jì)算機(jī)科學(xué),2016,43(1):290-293.
[8] 王千,王成,馮振,等. K-means聚類算法研究綜述[J]. 電子設(shè)計(jì)工程,2012,20(7):21-24.
[9] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. ?International Journal of Computer Vision,2004,60(2):91-110.
[10] 姜靚,詹永照. 基于高斯金字塔與差分法的多目標(biāo)檢測和跟蹤算法[J]. 微電子學(xué)與計(jì)算機(jī),2011,28(11):129-132,136.
[11] 索春寶,楊東清,劉云鵬.多種角度比較SIFT、SURF、BRISK、ORB、FREAK算法[J]. 北京測繪,2014(4):23-26,22.
[12] BAY H,ESS A,TUYTELAARS T,et al.Speeded-up robust features (SURF)[J]. Computer Vision and Image Understanding,2007,110(3):346-359.
[13] ERLEBEN K,ANDREWS S. Solving inverse kinematics using exact Hessian matrices[J]. Computers &Graphics,2019,78:1-11.
[14] NEUBECK A,GOOL V. Efficient non-maximum suppression[C]. ?Hongkong:The 18th International Conference on Pattern Recognition, 2006.
[15] BROWN M,LOWE D. Invariant features from interest point groups[C]. Cardiff:The British Machine Vision Conference, 2002.
[16] 劉悅. 基于Harr特征的運(yùn)動(dòng)車輛跟蹤[J]. 廣東公安科技,2019,27(1):45-47,61.
[17] 賈迪,朱寧丹,楊寧華,等. 圖像匹配方法研究綜述[J]. 中國圖象圖形學(xué)報(bào),2019,24(5):677-699.
[18] RYU S H,NOH J,KIM H. Deep neural network based demand side short term load forecasting[J]. Energies,2016,10(1):1-20.
[19] 陳翠平. 基于深度信念網(wǎng)絡(luò)的文本分類算法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(2):121-126.
[20] 趙宏,郭萬鵬. 深度神經(jīng)網(wǎng)絡(luò)代價(jià)函數(shù)選擇與性能評測研究[J]. 軟件,2018,39(1):14-20.
[21] HUANG S Y,LEE Y K,BELL G,e al. An efficient segmentation algorithm for captchas with line cluttering and character warping[J]. ?Multimedia Tools and Applications,2010,48(2):267-289.
(責(zé)任編輯:江 艷)