?

基于圖像風格遷移技術生成圖像驗證碼研究?

2024-01-23 13:38秦志偉
計算機與數字工程 2023年10期
關鍵詞:風格化識別率卷積

秦志偉 陳 黎

(1.武漢科技大學計算機科學與技術學院 武漢 430065)(2.武漢科技大學智能信息處理與實時工業系統湖北省重點實驗室 武漢 430065)

1 引言

國民經濟的高速發展,社會各行各業包括互聯網也得到了快速的成長,互聯網在不斷滿足人們需要的同時,也一樣會帶來一些不利的風險。通過計算機腳本攻擊網站系統,將會對現實生活中普遍應用的計算機網絡系統產生極大的危險,并且會造成用戶的個人信息泄露,安全隱患非常大,而應用驗證碼技術則能很好地防止這種安全隱患。

驗證碼技術[1~2]隨著科技的不斷進步,也有不少改進和突破。驗證碼的種類增多,比如登錄賬戶經常需要指定的手機號反饋的短信驗證碼,登錄部分網站需要問題要求選擇特殊的圖像的驗證碼,還出現了拖拽式和拼圖式的圖像驗證碼。目前很多網站都是圖像式驗證碼,通過識別字符并輸入字符來獲取進入網站的權限,但是大部分圖像驗證碼級別較低,機器的識別率較高,網站容易遭到攻擊[3~4],這就需要開發出一種人類容易識別而機器不易識別的驗證碼。

近些年來,由于深度學習[5]領域取得了較大的進步,在圖像領域的研究也有了更多的方向。研究者們將深度學習的理念應用于圖像藝術化,得到了非常好的效果?!吧窠浰囆g“這個關鍵詞首先出自Gatys 的文章[6]中,這篇文章主張一種全新的圖像風格藝術化的方法,實驗中應用深度卷積神經網絡通過一定數量地學習圖像風格,便能模仿出相應風格化后的圖像。而風格化的效果與圖像特征的識別效率密切相關,很多專家學者在這特征識別方面取得了一定的成果。如蔡彪等使用Mask R-CNN方法完成圖像缺陷快速識別[7],該方法的圖像預處理能力較差,識別精度相對較低;尹立航等使用改進多尺度采樣方法完成圖像缺陷快速識別[8],該方法的模型訓練易發生過擬合,誤識率較高。

遷移學習可提取源領域的知識,將其應用到目標領域,以提高目標領域的學習效果,并可通過充分考量任務間關聯性,解決生成模型時產生的梯度彌散現象[9]。本文提出基于遷移學習的VGG 網絡優化,能夠提高識別精度,更好地訓練和生成模型。神經風格遷移又名圖像風格遷移,能較好地將一幅圖片的風格應用到另一幅圖中[10]。文中主要應用圖像風格遷移技術[11]來實現圖像驗證碼生成技術,本文先優化了VGG 模型,提高了特征獲取的精度,然后充分利用深度卷積神經網絡特有的強大學習和分析功能,逐步獲取圖像的多層的具有實質代表性的特征圖,并進行綜合分析計算[12],達到實現圖像風格遷移的目的。在利用圖像風格遷移技術設法提高驗證碼安全性的過程中,本文設計了幾種驗證碼生成方案,并通過設計對比實驗,來評估方案,從而得到最佳方案。

2 圖像風格遷移與圖像驗證碼生成

2.1 卷積神經網絡的構建

卷積神經網絡的常用結構如圖1,由卷積層、降采樣層和全鏈接層等組成。每一層都有多個特征圖,每個特征圖通過一種卷積濾波器可以提取輸入圖像的一種特征,其中每個特征圖有多個神經元。

圖1 卷積神經網絡結構圖

本文使用VGG模型實施訓練,功能如下:

1)卷積層:將特征圖輸入到卷積層后,使用卷積濾波器實施加偏置計算,該層的局部特征圖,可利用激活特征函數獲得,式(1)描述了計算過程:

式內,卷積層數量,用l 描述;卷積濾波器,用m 描述;輸入到卷積層的特征圖,用描述;卷積層輸出結果,用描述;在第l 層中,其偏置用Bl描述;卷積核用K描述。

2)池化層:該層用于降低卷積層特征圖的數據維度,避免產生過擬合現象。針對濾波器內的數據,使用均值池化方法獲得其內均值,并通過式(2)采集二次特征:

3)全連接層:該層的計算方法為多層神經網絡的權值計算法,用式(3)描述:

式內,節點j至節點i的權值,用ωji描述,j存在于第l層,i存在于下一層。

該模型由5個的卷積模塊、3個全連接模塊,第3 個全連接層會輸出圖像。將ReLU 函數作為兩類模塊的神經元激活函數,可優化訓練過程中產生的梯度彌散現象。池化層的采樣方法為最大池化。

2.2 圖像風格遷移技術

圖像風格遷移技術能夠實現將一張圖片的風格“遷移”到另外一張圖片中,生成具有其風格的圖片。圖2 為風格遷移的一個例子,一般用符號C 表示內容圖片,符號S 表示風格圖片,符號G 表示生成的圖片。

圖2 風格遷移案例

圖像風格遷移通常使用一張訓練好的神經網絡VGG 網絡[13]作為算法的基礎。通過神經網絡結構的淺層學習一些較低級的特征例如圖像的邊界和紋理等,深層學習圖像的一些復雜抽象的特征。為了學習得到圖像的特征數據比較精確但又不過于苛刻,一般選擇VGG 網絡的中間的隱藏層作為最后的輸出,效果較好。通常以此計算代價函數,然后進行反向傳播。

深度學習的各種模型中,LeNet和AlexNet網絡模型具有較多的優點,VGG 網絡繼承了以上兩個模型中的一些優點,并且做了適當的改進,很大程度提高了其計算量和計算結果的精度。本文采用的是具有有16層的VGG-16模型,這種模型最大的特征是內有5 個卷積組,根據不同的實驗對象,每個卷積組中卷積層數目的不同就組成了VGG 系列模型,各模型具體結構如圖3所示。

圖3 VGG網絡結構

在研究采用了較為合適的VGG 模型后,便可開始進行圖像風格遷移[14~15]。圖像風格遷移的主要步驟如下:

1)加載訓練好的VGG神經網絡;

2)隨機初始化生成圖像G;

3)在VGG 入口處輸入內容圖像,標記為C,進行前向傳播,計算;再從在VGG 入口處輸入風格圖像,標記為G,進行前向傳播,計算。最后通過content cost和style cost統計總的cost;

4)根據計算出的cost,進行反向傳播,更新生成圖像G的每個像素點;

5)重復3)、4)步一定的次數;

6)輸出最終的生成圖像G。

在圖像風格遷移中,涉及到內容圖像、風格圖像和添加白噪聲的圖像。模型首先生成白噪聲圖像,然后依次與指定的內容圖像和風格圖像之間產生兩個損失函數,按一定的規律,將兩個損失函數結合得到總體的損失函數,再通過持續迭代方法,直到總體的損失函數最小化為止,就可以得到同時具有風格圖像的特征和內容圖像的實質內容特征相結合的圖像,實驗中風格化簡要流程如圖4 所示。

圖4 圖像風格遷移原理

在構建一個圖像風格遷移系統的過程中需要定義一個代價函數,通過最小化代價函數,可以生成所需的風格化圖像。圖像風格遷移算法的代價函數[16]由內容代價部分和風格代價部分的適當比例組成,如式(4)所述形式。

式內,Jcontent(C,G)為內容代價函數,是用來表示內容圖片C 與生成圖片G 之間的相似度,Jstyle(S,G)為風格代價函數,是用來表示風格圖片S 與生成圖片G之間的相似度,α,β為超參數,為以上兩者之間的權重。

內容代價函數可以使用隱藏層l來計算內容代價,通常l選擇中間層較好,然后可以比較C 和G 在l層的激活函數輸出α[l](C)與α[l](G),相應的表達式如式(5)。α[l](C) 與α[l](G) 越相似,Jcontent(C,G) 就越小。通過采用梯度下降算法,系統不斷迭代并修正G的像素值,使Jcontent(C,G)減小。

考慮風格代價函數時,研究可以從選取某一層l隱藏層入手,將這一層進行深度測量,圖片的風格定義就可表示為l層中各個通道之間激活項的相關系數。將l層的激活項取出,是一個nH*nH*nC的激活塊,如圖5。關于求解不同通道之間激活項的相關系數,可以先將不同通道染成不同的顏色,通過不同顏色的通道的神經元在具體圖片中的特定位置能否找到相同特征來判斷各個通道之間是否具有相關性,相關系數描述的就是圖片中某處出現的特征滿足不同通道間所具有的相同的或類似的特征的可能性。通過將以上獲得的相關系數應用到風格圖片S 和生成圖片G 的對應通道上,比較就能夠得到生成的圖像的風格與輸入的風格圖像的相似程度。

圖5 激活塊

通過計算風格矩陣,來進一步測量風格,風格圖片測量過程用式(6)描述。

式內,[l]表示第l層的隱藏層,k,k'分別表示不同通道,表示在隱藏層l 中的(i,j,k)位置的激活項,其中i,j,k 分別代表該位置的高度、寬度以及對應的通道數,G[l](S) 是一個nC*nC的矩陣。公式可以計算第l層隱藏層不同層通道所對應的所有激活函數輸出和。兩通道相似性高,則對應的較大,兩通道相似性低,則對應的較小。

同理,生成圖片的風格測量過程用式(7)描述。

2.3 VGG模型優化

優化VGG 模型,減少訓練成本、時間,以及提高圖像不同特征快速識別精度,更好地實現風格遷移,獲得清晰的圖像。各卷積層的卷積核數量、全連接層的神經元數量,用{}x1,…,x5,y1,y2描述。卷積運算Cov,可使用互相關函數進行替換,卷積層中,l層第t個卷積核,用描述,輸入特征圖,用Il描述,二者的卷積計算過程用式(10)描述:

式內,Il的數量,用T'描述;的規模,用M、N 描述,其偏置用描述;卷積輸出,用(i,j)描述。本文使用的ReLU函數,用式(11)描述:

式內,ReLU激活函數,用f(?)描述。

式內,池化區寬度,用wc描述;池化移動步長,用s描述;并且wc大于s。

針對卷積層,優化其一、二層的功能層結構,以減少訓練時間,將歸一化層設置在池化層后,對特征圖(i,j)執行標準化處理[17],過程用式(13)描述:

式內,超參數用α、β、k、m 描述;l層的卷積核數量用N描述。

對于卷積層,更新第五層的特征圖,使其轉化為高維單層神經元結構,式(14)描述了全連接層中,l層第i個神經元的輸入:

神經元用Cl描述,對全連接層fc6、fc7 的Cl實施棄權,以提升模型的泛化能力,過程用式(15)、式(16)描述:

全連接層fc6、fc7 中,第i 個神經元的ReLU 激活輸出,用表示,其求解過程用式(17)描述:

使用softmax 函數,求得的全連接層fc8 中,第i個神經元的softmax輸出,用qi表示,其求解過程用式(18)描述:

損失函數,用L 描述,其為圖像樣本qi的交叉熵,使用Adam優化方法訓練圖像快速風格化模型,式(19)描述了損失函數的計算過程:

2.4 圖像驗證碼生成

通常的圖像的風格遷移過程是將需要風格化的內容圖像作為內容輸入來進行處理,而自動生成的驗證碼是部分數字和字母的組合,所以在實際的實驗中,需要先將隨機生成的驗證碼按一定的要求轉換為圖像,然后調入模型,對圖像驗證碼進行風格化。文中實驗中應用的圖像驗證碼均由5 個字符組成,所涉及的字符為數字1~9 和所有大寫英文字母,字符數達到35 個之多。通過從字符庫里任意挑選五個字符作為一組驗證碼,再通過標簽格式轉換,轉換后得到的字符串寫入圖像文件中,以此來獲得驗證碼的內容圖像,本文采用的圖像格式為PNG。

圖6 是得到的幾張未經過處理的驗證碼內容圖像,存在一些噪音,其標簽分別為326E4、734IX和AZU23。

圖6 未經處理的圖像驗證碼

常用的圖像風格遷移與驗證碼圖像的風格遷移效果會會有一些不同,利用上述的驗證碼內容圖像,通過圖形風格遷移技術進行風格遷移,隨機選取其中一張初始的驗證碼圖像做實驗,其內容為AZU23,通過800 次迭代計算,具體效果如圖7(左邊是初始的驗證碼圖像、中間是風格特征圖像、右邊是風格化的驗證碼圖像的實驗結果。)

圖7 初始的驗證碼圖像、風格圖像以及實驗結果

因普通圖像能看出大概內容即可,對它的識別精確度很難有具體確定的值,只是一個大致范圍,而圖像驗證碼的內容比較具體,識別的準確度可以計算,所以導致實驗結果對生成的驗證碼圖像的內容信息識別較弱,風格信息較強,圖像上的字符清晰度不高,人類識別可能會遇到較大的困難。由此說明普通圖像風格轉換和驗證碼風格轉換有很大的不同,特別是驗證碼對內容的完整度和精確度有有一定的要求,細節信息也需要較好的保留。因此,對于驗證碼實驗控制迭代的次數不宜過多,并且,考慮到程序的運行時間問題,迭代次數可控制在400次即可。

3 圖像驗證碼生成方案

3.1 生成方案一

對于運用圖像風格遷移技術來生成圖像驗證碼,如果按照對圖像進行風格遷移的算法和流程去設計的話,內容誤差會較大,因此可以采取對迭代過程中每次學習得到后得到的生成圖像附加一些原圖像特征的方法來影響不斷學習后得到的結果。具體來說,就是改變原圖像風格遷移中的算法,先對迭代循環中生成圖像的那段代碼進行優化,然后再優化VGG 模型并添加系數。同時,減少迭代的次數,在400 次左右即可停止,以此來生成較為清晰的具有風格遷移效果的驗證碼。圖8 三幅圖分別為實驗方案的內容圖像、風格圖像以及風格化后的實驗結果,對比圖7,清晰度方面有明顯的提升。

圖8 內容圖像、風格圖像以及實驗結果

3.2 生成方案二

傳統的圖像驗證碼[18]都有一個共同的缺點,就是其大多數風格相似,沒有多少變化,用一種風格圖像對內容圖像進行風格遷移得到的驗證碼圖像同樣存在這個問題。本方案打算將多種風格融合到一張圖像上,本方案在方案一的基礎上采取將選取的風格圖像利用風格遷移技術進行融合獲得一張風格多樣的風格圖片,并以此再來進行風格遷移。

本方案采用雙循環的代碼設計,將我們所采用的風格圖片放入一個文件夾內,并以此開始第一個循環,將所有風格圖片通過風格遷移技術混合生成一張多風格的圖片,然后再對驗證碼圖片進行風格遷移,迭代循壞,生成目標圖片。實驗采用了三張風格圖片,具體如圖9,從上至下依次為內容圖像C、風格圖像S以及風格化后實驗結果G。

圖9 內容圖像、風格圖像以及實驗結果

3.3 生成方案三

在進行圖像風格遷移的過程中,容易產生大量噪音,致使圖像模糊不清,不易識別。因此本方案在方案二的基礎上在生成結果中再加入一種基于無監督學習的全卷積神經網絡的圖像優化方法,該方法通過學習大量平滑圖片來生成平滑模型,然后調取模型對風格化圖片進行處理。該方法主要通過學習到的模型來控制邊界,以此來對圖像進行平滑化處理,優化圖片。實驗結果如圖10。

圖10 實驗結果

4 對比實驗設計與結果分析

具有良好的安全性和易用性是一個好的驗證碼的基本條件對于上述方案中生成的驗證碼,接下來需要對其進行效果檢測。主要參數為兩個,一個是識別率;另一個是識別效率。通過這兩個指標就可以高效地對圖像驗證碼的區分效果進行整體評估。在進行對比實驗前需要界定一個概念,文中前述提出的識別工具的“正確識別”,應該具有明確的要求,并且可操作性要強。為此本文明確提出所謂正確識別出一個圖像驗證碼中所有的字符,才能確認識別成功,即使在識別的過程中錯一個字符也會被認為識別失敗。

本文選取兩個在實際生活中常用的文字識別工具來進行驗證碼的識別對比實驗分析,分別是迅捷ocr文字識別軟件和百度通用文字識別平臺。迅捷ocr文字識別軟件采用OCR 識別技術,支持JPG、PNG格式的圖像識別,并且能將識別內容轉換為各種文檔格式。這些方面在百度的實際操作中有廣泛的應用,通過深度學習技術,并結合漢字的特點,能對多場景、多語種、高精度的整圖文字進行檢測和識別服務,多項ICDAR 指標居世界首位,特別是針對圖片模糊、傾斜、翻轉等特殊情況可以進行合理的專項優化,魯棒性強。

為了體現實驗的實用性,實驗中選取了兩種已經在實際生活中投入應用的驗證碼,作為實驗對比分析參考樣本。驗證碼一是武科大研究生管理信息系統平臺登陸是所顯示的圖像驗證碼,此驗證碼由四個數字和一些線條和圓點組成,圖像中的數字為黑色,線條為深灰色,圓點為淺灰色,人類對其識別容易。圖11 為其部分示例。驗證碼二是知網注冊賬戶時所顯示的驗證碼,驗證碼由四個字符和一些線條組成,圖中字符的顏色從左到右顏色由藍色向金色漸變,線條為灰色,圖12為其部分示例。

圖11 驗證碼一

圖12 驗證碼二

分別選取30個圖像驗證碼一和30個圖像驗證碼二,按照前面實驗方案各分別生成30 個圖像驗證碼用于實驗,隨后用上述中的兩種識別工具和隨機正常人員(共20 人,均為陌生成年人)分別進行對比實驗,統計出它們各自的識別率和識別效率,其中人類的識別數據取所有人員的平均數據。具體情況如表1。

表1 識別產品對驗證碼的識別率

表1 列出了各識別工具和人類對圖像驗證碼的識別率。由表1 可知,某高校平臺的驗證碼和知網注冊的驗證碼作為現在市場上正在實際使用的圖像驗證碼,一般人員非常易識別且平均識別率接近100%,在對比實驗分析時,這些驗證碼對一般的文字識別平臺(迅捷和百度)來說也較好識別,識別率也不低。因此,當網站受到特定襲擊時,不難預測,這兩種驗證碼對所在網站的維護作用相比之下就非常小了。

相反,由本文實驗中所設計的方案通過圖像風格化技術生成的特定的圖像驗證碼,實際生活中一般的文字識別平臺(迅捷和百度)識別率直接幾乎降至0。從實驗結果來看,人類對本文方案中生成的驗證碼仍保有較高的識別率,這證明了方案中生成的驗證碼對人類來說還是較為友好的。其中方案一針對一般的圖像風格遷移改進了一些算法和系數,方案二則加入了多種風格,方案三針對遷移過程中的噪音問題提出了解決方案,因此可以說明通過不斷改善方案,人類識別率有了小幅的提高,每一步都取得了一定的效果。

對于上述數據表,為了體現明顯的識別率差距,將其轉化為柱狀圖,如圖13。

圖13 識別產品對驗證碼的識別率

上面對識別率作了對比分析,在實際應用和實驗中識別效率也是一個關鍵的衡量標準。表2 中列出了三種識別產品對實驗中的圖像驗證碼的識別效率。為了使表格簡潔便并易于觀察,以字母代替一定的含義,然后用字母替換表格中的描述。

表2 識別產品對驗證碼的識別效率

由表2 可知,一般的文字識別平臺識別效率較低,多數情況均比人類的識別效率低,對于本文方案中生成的驗證碼識別效率更加低下,且當人類識別錯誤時可以及時更改,則充分說明了在識別效率這個關鍵指標上,由本文實驗方案生成的圖像驗證碼同樣擁有對人類識別率很高卻對機器識別率低這兩個重要的基本性質。

通過上述實驗分析可以得出,通過本文實驗方案生成的圖像驗證碼,從識別率和識別效率這兩個關鍵指標上看,可以充分證明其擁有合格驗證碼的基本性質,從而達到了實驗設計的各項目標,并且能夠很好地起到保護網站的作用。

5 結語

網站的安全問題隨著互聯網的快速發展尤為突出。為此,本文研究了圖像風格遷移技術,并在其基礎上優化VGG 網絡,設計多種方案來生成安全易用的驗證碼,通過選取市面上的字符識別工具來對生成的驗證碼進行識別率和識別效率的檢測,證明方案中生成的驗證碼對人類友好對機器不友好,保證了方案設計的驗證碼在具體實際應用中的安全性。

猜你喜歡
風格化識別率卷積
基于深度神經網絡的圖像風格化方法綜述
基于3D-Winograd的快速卷積算法設計及FPGA實現
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
從濾波器理解卷積
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
提升高速公路MTC二次抓拍車牌識別率方案研究
基于傅里葉域卷積表示的目標跟蹤算法
修拉的點的可能性與不可能性
淺析插畫造型的風格化表現
結合原創漫畫《百鬼夜行》談動漫的教學
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合