本技術涉及計算機視覺,具體涉及一種差異驗證碼的識別方法、系統(tǒng)、存儲介質(zhì)及電子設備。
背景技術:
1、隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,網(wǎng)絡安全問題日益突出。在許多在線應用和服務中,為了防止惡意軟件自動進行大量注冊、登錄或數(shù)據(jù)爬取等行為,通常會采用各種驗證碼機制來區(qū)分人類用戶和計算機程序。差異驗證碼作為一種替代方案被廣泛采用,差異驗證碼是一種區(qū)分細節(jié)差異的圖片驗證碼,它要求用戶將差異驗證碼中差異最大的目標元素選擇出來,從而證明用戶是人類。這種類型的驗證碼增加了機器人識別的難度。
2、現(xiàn)有技術在識別處理差異驗證碼時,由于差異驗證碼中的差異細微,所以需要對差異驗證碼的細節(jié)紋理特征進行大量人工標注,再通過機器學習算法訓練識別模型,由于對紋理特征的標注量大,導致該方法訓練的識別模型在應用時需要耗費大量的算力資源,從而導致對差異驗證碼的識別效率較低。
技術實現(xiàn)思路
1、本技術提供了一種差異驗證碼的識別方法、系統(tǒng)、存儲介質(zhì)及電子設備,可以節(jié)省算力資源,提升對差異驗證碼的識別效率。
2、第一方面,本技術提供了一種差異驗證碼的識別方法,所述方法包括:
3、獲取待識別的差異驗證碼的紋理特征;
4、基于所述差異驗證碼的紋理特征,定位各所述元素的外接矩形;
5、計算各所述外接矩形之間的差異度,將差異度最大的外接矩形對應的元素確定為目標元素。
6、通過采用上述技術方案,通過獲取差異驗證碼的紋理特征,基于紋理特征定位各元素的外接矩形,并計算各外接矩形之間的差異度,將差異度最大的外接矩形對應的元素確定為目標元素,使得能夠自動識別出差異驗證碼中與其他元素差異最大的目標元素,實現(xiàn)了對復雜驗證碼中元素間細微差異的自動識別。與現(xiàn)有技術相比,本技術中的元素的定位檢測和差異度計算等算法均采用無監(jiān)督方式進行,無需依賴大量人工標注以識別差異驗證碼中元素細微差異的工作,從而節(jié)省了識別時的算力資源,提升對差異驗證碼的識別效率。
7、可選的,所述獲取待識別的差異驗證碼的紋理特征,包括:
8、獲取待識別的差異驗證碼,將所述差異驗證碼轉(zhuǎn)換為單通道的灰度圖;
9、對所述灰度圖進行邊緣檢測,得到邊緣圖;
10、基于形態(tài)學開運算法對所述邊緣圖先后進行去噪以及腐蝕膨脹操作,得到形態(tài)變化圖;
11、在所述形態(tài)變化圖中確定所述差異驗證碼的紋理特征。
12、通過采用上述技術方案,采用灰度圖、邊緣檢測和形態(tài)學算法結(jié)合的方式提取差異驗證碼的紋理特征,灰度轉(zhuǎn)換降低了顏色干擾,邊緣檢測能突出元素輪廓,形態(tài)學開運算去噪能夠消除邊緣圖中的細小噪聲,而形態(tài)學膨脹可進一步增強紋理特征,相較于直接處理原彩色圖像,提高了后續(xù)基于紋理特征判斷元素位置和細微差異的準確性和可靠性。
13、可選的,所述基于所述差異驗證碼的紋理特征,定位各所述元素的外接矩形,包括:
14、在所述差異驗證碼中的紋理特征中檢測各元素的外圍輪廓線,得到各所述元素對應的輪廓線組;
15、基于各所述輪廓線組生成各所述元素對應的初始外接矩形;
16、在各所述初始外接矩形中篩選出符合預設元素區(qū)域條件的外接矩形。
17、通過采用上述技術方案,利用已提取的差異驗證碼紋理特征,在特征圖上檢測出各個元素的外圍輪廓線,由各元素的輪廓線生成初始外接矩形,然后根據(jù)元素的預設區(qū)域條件如大小、寬高比等進行篩選,即可準確定位到各個元素所在的區(qū)域,充分利用了元素的視覺紋理特征,并輔以輪廓檢測和區(qū)域篩選的圖像處理算法,實現(xiàn)了基于非人工標注方式的驗證碼元素自動定位,相較于人工標定各元素的區(qū)域,該技術手段進行了自動化分析和篩選,提高了定位效率。
18、可選的,在各所述初始外接矩形中篩選出符合預設元素區(qū)域條件的外接矩形,包括:
19、獲取各所述初始外接矩形對應的寬高比以及像素總和;
20、判斷所述寬高比是否在預設的寬高比范圍內(nèi),以及所述像素總和是否小于像素總和閾值;
21、將所述寬高比在預設的寬高比范圍內(nèi)且像素總和小于像素總和閾值的初始外接矩形作為第一外接矩形;
22、獲取第一外接矩形的數(shù)量,基于所述第一外接矩形的數(shù)量以及所述差異驗證碼中各所述元素的數(shù)量,確定各所述元素對應的外接矩形。
23、通過采用上述技術方案,充分利用了差異驗證碼元素的視覺特征,提出了寬高比范圍和像素總和閾值的預設條件,篩選出符合驗證碼元素特征的外接矩形,結(jié)合預篩選結(jié)果的數(shù)量和驗證碼元素數(shù)量,可自動確定各元素所對應的外接矩形,實現(xiàn)了對初始外接矩形進行量化特征判斷和篩選,提高了元素區(qū)域定位的準確性,相較于直接獲取初始外接矩形,自動過濾與校準的過程,使元素定位更精確可靠。
24、可選的,所述基于所述第一外接矩形的數(shù)量以及所述差異驗證碼中各所述元素的數(shù)量,確定各所述元素對應的外接矩形,包括:
25、判斷所述第一外接矩形的數(shù)量是否與所述元素的數(shù)量一致;
26、若所述第一外接矩形的數(shù)量與元素的數(shù)量一致,則確定各第一外接矩形為各所述元素對應的外接矩形。
27、通過采用上述技術方案,判斷先前篩選結(jié)果的外接矩形數(shù)量是否與元素數(shù)量一致,如果一致則直接確定元素對應的外接矩形,實現(xiàn)了基于先驗信息及特征分析的驗證碼元素精確定位技術效果,相比現(xiàn)有技術,利用了先前篩選得到的外接矩形數(shù)量,判斷其是否與驗證碼元素的實際數(shù)量一致,如果一致則可直接確定元素區(qū)域。
28、可選的,所述方法還包括:
29、若所述第一外接矩形的數(shù)量與元素的數(shù)量不一致,則在所述差異驗證碼中確定多個特征關鍵點;
30、將所述元素的數(shù)量作為聚類數(shù)量,并對各所述特征關鍵點進行聚類,計算各聚類結(jié)果對應的第二外接矩形,將各所述第二外接矩形作為各所述元素對應的外接矩形。
31、通過采用上述技術方案,如果外接矩形數(shù)量是否與元素數(shù)量不一致,則采用特征點檢測和聚類方法得到元素對應的外接矩形區(qū)域,通過檢測特征點并聚類的圖像分析方法來定位元素,兩種定位方式的結(jié)合,提高了定位的準確率與可靠性。
32、可選的,所述計算各所述外接矩形之間的差異度,將差異度最大的外接矩形對應的元素確定為目標元素,包括:
33、確定對各所述外接矩形進行過濾后的標準元素;
34、計算各所述標準元素之間的差異度,并基于各所述差異度構建差異度矩陣;
35、對所述差異度矩陣按行進行求和,得到列向量,將列向量對應的最大元素作為差異度最大的目標元素。
36、通過采用上述技術方案,通過確定標準元素,計算元素之間差異度構建差異度矩陣,選擇差異度最大的元素作為差異目標元素,實現(xiàn)了基于差異度比較判斷驗證碼差異目標的技術效果,相比現(xiàn)有技術,在定位各元素后,確定了標準元素,也就是過濾掉背景噪聲,然后計算這些標準元素之間的差異度,構建成差異度矩陣,基于矩陣列向量比較,判斷出差異度最大,即與其他元素差異最大的目標元素,提高了差異識別的準確率。
37、在本技術的第二方面提供了一種差異驗證碼的識別系統(tǒng),所述系統(tǒng)包括:
38、紋理獲取模塊,用于獲取待識別的差異驗證碼的紋理特征;
39、目標定位模塊,用于基于所述差異驗證碼的紋理特征,定位各所述元素的外接矩形;
40、差異識別模塊,用于計算各所述外接矩形之間的差異度,將差異度最大的外接矩形對應的元素確定為目標元素。
41、在本技術的第三方面提供了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有多條指令,所述指令適于由處理器加載并執(zhí)行上述的方法步驟。
42、在本技術的第四方面提供了一種電子設備,包括:處理器和存儲器;其中,所述存儲器存儲有計算機程序,所述計算機程序適于由所述處理器加載并執(zhí)行上述的方法步驟。
43、綜上所述,本技術實施例中提供的一個或多個技術方案,至少具有如下技術效果或優(yōu)點:
44、通過獲取差異驗證碼的紋理特征,基于紋理特征定位各元素的外接矩形,并計算各外接矩形之間的差異度,將差異度最大的外接矩形對應的元素確定為目標元素,使得能夠自動識別出差異驗證碼中與其他元素差異最大的目標元素,從而實現(xiàn)了對復雜驗證碼中元素間細微差異的自動識別,且本技術中的元素的定位檢測和差異度計算等算法均采用無監(jiān)督方式進行,與現(xiàn)有技術相比,避免了依賴大量人工標注以識別差異驗證碼中元素細微差異的工作,從而進一步節(jié)省了識別時的算力資源,提升對差異驗證碼的識別效率。