(浙江工業(yè)大學(xué) 信息工程學(xué)院,浙江 杭州 310023)
隨著人工智能的快速發(fā)展,漢字識(shí)別在信息錄入與分析、辦公室自動(dòng)化等方面發(fā)揮了重要的作用。國(guó)內(nèi)研究漢字識(shí)別始于20世紀(jì)70年代末,經(jīng)過幾十年的發(fā)展,從印刷體識(shí)別到無約束手寫體識(shí)別,從脫機(jī)識(shí)別到聯(lián)機(jī)識(shí)別,從單個(gè)字符識(shí)別到整篇文檔的識(shí)別[3],漢字識(shí)別技術(shù)已日漸成熟并取得了大量成果[1]。然而因?yàn)闈h字自身具有結(jié)構(gòu)復(fù)雜、字符集巨大、字符相似度高和字體風(fēng)格多樣等特點(diǎn),使得相關(guān)研究面臨了很大的挑戰(zhàn)[3]。目前在基于深度學(xué)習(xí)的漢字識(shí)別研究領(lǐng)域,所遇到的最主要的難題是用于算法訓(xùn)練的樣本數(shù)據(jù)比較匱乏。在這樣的情況下,會(huì)出現(xiàn)過擬合的問題,同時(shí)訓(xùn)練出來的算法模型也難以在實(shí)際場(chǎng)景中得到有效應(yīng)用。因此,漢字樣本庫的豐富程度成了訓(xùn)練效果的關(guān)鍵因素。但是采用傳統(tǒng)手段來采集漢字樣本(例如掃描、拍照等手段),人力、物力以及時(shí)間成本上的投入均比較高,而且采集效率也比較低下。
針對(duì)上述傳統(tǒng)采集方法的弊端,提出了一種基于融合風(fēng)格遷移和薄板樣條變形的算法,生成能夠模擬自然條件下(光照、紋理、傾斜、扭曲變形)拍攝采集效果的漢字樣本庫。該算法一方面采用基于塊的快速任意風(fēng)格遷移方法,生成具有真實(shí)感紋理的漢字樣本圖片,這種方法避免了早期的風(fēng)格遷移方法(例如:使用卷積神經(jīng)網(wǎng)絡(luò)[4](Convolutional neural network,簡(jiǎn)稱CNN)進(jìn)行特征提取[5-6],或是訓(xùn)練另一個(gè)神經(jīng)網(wǎng)絡(luò)來使得該網(wǎng)絡(luò)在單前饋計(jì)算中逼近最優(yōu)[7])所遇到的輸出樣本的風(fēng)格數(shù)量有限且運(yùn)算耗時(shí)的問題;另一方面采用了基于薄板樣條變形的插值算法生成有傾斜與扭曲變形的圖片,該方法需要選取N對(duì)坐標(biāo)點(diǎn)來實(shí)現(xiàn)漢字圖像的形變,通過選取不同的坐標(biāo)點(diǎn)對(duì)可以實(shí)現(xiàn)多種變形。相比余弦整形變換[8]或變形變換[9-10],薄板樣條函數(shù)能夠?qū)崿F(xiàn)更多的變形種類。將上述兩種算法融合起來,對(duì)通過風(fēng)格遷移獲取的效果圖片再進(jìn)行薄板樣條變形處理,得到既有光線變化效果又有扭曲變形特點(diǎn)的漢字樣本圖片。
圖像風(fēng)格遷移是一種圖像合成問題,以一幅圖像的風(fēng)格呈現(xiàn)另一幅圖像的內(nèi)容[11],而圖像合成是基于紋理合成實(shí)現(xiàn)的[12]。筆者采用的風(fēng)格遷移算法的主要組成部分是基于塊的操作,用于在給出風(fēng)格圖像和內(nèi)容圖像的情況下在單個(gè)層中構(gòu)造目標(biāo)激活。
讓C和S分別表示圖像內(nèi)容和風(fēng)格的RGB值,并且讓?dǎo)?·)代表預(yù)訓(xùn)練CNN的完全卷積部分函數(shù),該函數(shù)能將圖像從RGB映射到某個(gè)激活空間。在計(jì)算激活之后得Ф(C)和Ф(S),風(fēng)格遷移的過程為
步驟1為內(nèi)容和風(fēng)格激活提取一組塊,分別用{Φi(C)}i∈nc和{Φj(S)}j∈ns表示,其中nc和ns是提取塊的數(shù)目。提取的塊應(yīng)該有足夠的重疊,并包含激活的所有通道。
步驟2對(duì)于每個(gè)內(nèi)容激活塊,使用基于歸一化的交叉相關(guān)度量來確定最匹配的風(fēng)格塊。
(1)
通過以上操作得到的是一張由內(nèi)容圖像的結(jié)構(gòu)和風(fēng)格圖像的紋理合成的效果圖。
風(fēng)格化圖像的像素可以通過在具有目標(biāo)激活Φss(C,S)的激活空間中的損失函數(shù)來計(jì)算。使用平方損失函數(shù)并將筆者的優(yōu)化目標(biāo)定義為
Istylized(C,S)=
(2)
式中:合成圖像的維度為h×w×d;‖·‖F(xiàn)為Frobenius范數(shù);TV(·)為圖像生成方法中廣泛使用的總方差正則化項(xiàng)。因?yàn)椐?·)包含多個(gè)最大池化操作,這些操作將對(duì)圖像進(jìn)行下采樣,筆者將此正則化用作自然圖像先驗(yàn),從而獲得重新上采樣圖像的空間平滑結(jié)果??傋儾钫齽t化為
(3)
由于函數(shù)Ф(·)是預(yù)訓(xùn)練CNN的一部分,并且函數(shù)是可微分的,可以直接采用梯度下降不斷更新輸入I以得到最終的風(fēng)格圖片。
風(fēng)格遷移使用Torch7框架實(shí)現(xiàn),目標(biāo)層是VGG-19網(wǎng)絡(luò)的relu3_1層,因?yàn)樵趓elu3_1層上風(fēng)格圖像的紋理更加明顯,且在結(jié)構(gòu)上與內(nèi)容保持一致。VGG-19網(wǎng)絡(luò)沒有使用全連接層。表1為VGG-19網(wǎng)絡(luò)從輸入層到relu3_1層的體系結(jié)構(gòu)。由于塊的大小影響風(fēng)格遷移的結(jié)果,隨著塊大小的增加,內(nèi)容圖像的結(jié)果將丟失,并替換為風(fēng)格圖像的紋理,所以選擇塊的大小為,卷積層使用的濾波器為3×3。
表1 VGG-19網(wǎng)絡(luò)結(jié)構(gòu)從輸入層到relu3-1Table 1 Truncated VGG-19 network from the input layer to “relu3-1” (last layer in the table)
選用兩個(gè)風(fēng)景圖片作為內(nèi)容圖片,選用兩種不同的藝術(shù)畫風(fēng)作為風(fēng)格圖片,通過風(fēng)格遷移使風(fēng)景圖片具有藝術(shù)畫風(fēng)。風(fēng)格遷移結(jié)果如圖1所示。
圖1 風(fēng)景圖的風(fēng)格遷移效果圖Fig.1 Style transfer effect picture of landscape
由于漢字識(shí)別對(duì)樣本的多樣性有一定要求,為了得到具有不同光照和紋理的樣本圖,筆者采用風(fēng)格遷移的方法,將具有不同光照和紋理的漢字樣本圖片遷移到標(biāo)準(zhǔn)的漢字庫圖像中,以生成具有真實(shí)感光照和紋理的漢字樣本圖。圖2是基于相同漢字的風(fēng)格遷移效果圖,圖3是不同漢字的風(fēng)格遷移效果圖。從圖2,3可以看出,光照和紋理的風(fēng)格遷移針對(duì)相同漢字和不同漢字的效果是比較理想的。
圖2 相同漢字的風(fēng)格遷移效果圖Fig.2 Style transfer effect picture of the same Chinese character
圖3 不同漢字的風(fēng)格遷移效果圖Fig.3 Style transfer effect picture of different Chinese characters
薄板樣條是一種常見的2D插值算法,常用于圖像變形(Image warping)和圖像配準(zhǔn)(Image matching)中[13]。在一張2 維圖像上標(biāo)出N個(gè)坐標(biāo)點(diǎn)Ai(i=1,2,…,n),再給出對(duì)應(yīng)的N個(gè)坐標(biāo)點(diǎn)Bi(i=1,2,…,n)求插值函數(shù)Φ(A),即
Φ(A)=(Φ1(Ai),Φ2(Ai))T
(4)
使得插值函數(shù)滿足
Bi=Φ(Ai)i=1,2,…,n
(5)
式中:定義自變量A是2維空間的一點(diǎn);函數(shù)值B也是2維空間中的一點(diǎn)。
薄板樣條插值函數(shù)形式為
Φ1(Ai)=C+DTA+WTS(A)
(6)
式中:C是標(biāo)量;向量D∈R2×1;向量D∈RN×1。
S(A)=(U(A-A1),…,U(A-An))T
(7)
U(r)=r2logr2
(8)
式中r是坐標(biāo)點(diǎn)(x,y)到笛卡爾原點(diǎn)的距離。之所以選用式(4)這種形式的插值函數(shù),是因?yàn)榘巡逯岛瘮?shù)想象成一個(gè)彎曲的薄鋼板,使得它穿過給定點(diǎn),這樣會(huì)需要一個(gè)彎曲能量,即
(9)
而式(4)是使得彎曲能量最小的插值函數(shù)。薄板樣條插值函數(shù)Фi有n+3個(gè)參數(shù),而式(2)只給出了n個(gè),只有再添加3 個(gè)約束條件才能求解,約束條件為
(10)
(11)
(12)
求得參數(shù)帶入式(6),就可以得到變形后的坐標(biāo)點(diǎn)。
當(dāng)不需要將對(duì)應(yīng)點(diǎn)嚴(yán)格匹配,允許對(duì)應(yīng)點(diǎn)形變后有一定的誤差時(shí),可以通過引入一個(gè)正則項(xiàng)λ,得到更加平滑的形變,此時(shí)使得彎曲能量最小函數(shù)為
(13)
式中:第一項(xiàng)是數(shù)據(jù)項(xiàng),它是坐標(biāo)點(diǎn)Ai形變后的坐標(biāo)與目標(biāo)點(diǎn)Bi坐標(biāo)的歐氏距離之和,用來約束對(duì)應(yīng)坐標(biāo)點(diǎn)再形變后的距離不要太大;第二項(xiàng)為平滑項(xiàng),用于約束平滑程度,而需要的平滑程度由參數(shù)λ決定[14]。這里的參數(shù)λ是正數(shù),當(dāng)λ為零時(shí),就是簡(jiǎn)單的TPS插值;當(dāng)λ較小時(shí),得到一個(gè)平滑程度小的彈性變換;當(dāng)λ較大時(shí),得到一個(gè)平滑程度高且變形程度小的變換;而當(dāng)λ=∞時(shí),它就是一個(gè)仿射變換,沒有局部的變形[15]。因此要根據(jù)圖像的實(shí)際情況,選擇合適的λ值以實(shí)現(xiàn)圖像的變形。因?yàn)槠交潭仁怯搔酥禌Q定的,所以要最小化目標(biāo)函數(shù),只需改動(dòng)
(14)
在原圖上找出N個(gè)坐標(biāo)點(diǎn),再給出對(duì)應(yīng)的N個(gè)坐標(biāo)點(diǎn),使用薄板樣條函數(shù)可以將這N個(gè)坐標(biāo)點(diǎn)形變到對(duì)應(yīng)位置,同時(shí)給出整個(gè)圖片的插值。通過改變兩對(duì)坐標(biāo)點(diǎn)得到不同的形變圖像,效果圖如圖4所示。
圖4 薄板樣條變形效果圖Fig.4 Thin plate spline deformation effect picture
把上述提出的風(fēng)格遷移和薄板樣條變形兩種算法進(jìn)行融合,得到最終的漢字樣本圖片。首先針對(duì)原圖和紋理圖片通過風(fēng)格遷移得到具有真實(shí)感的漢字紋理圖片(圖5的風(fēng)格遷移效果圖),然后再把生成的具有真實(shí)感的漢字紋理圖片通過TPS變形生成最終的漢字樣本圖片(圖5的融合風(fēng)格遷移和TPS變形效果圖),如圖5所示。
圖5 漢字樣本效果圖Fig.5 Chinese character sample effect picture
為了檢驗(yàn)基于薄板樣條函數(shù)和風(fēng)格遷移算法生成的印刷體漢字樣本庫的有效性,新建了漢字印刷體小樣本庫用來訓(xùn)練。小樣本庫包含常用的100 類漢字,使用Python的Pygame模塊通過Unicode碼將文字轉(zhuǎn)換為圖片。采集原始樣本庫:將其中一類漢字圖片使用相機(jī)采集20張既有不同真實(shí)光照又有不同變形的漢字圖片,并將圖片尺寸統(tǒng)一為100×100像素大小,從每一類的20 張中隨機(jī)選出16 張圖片作為訓(xùn)練集,4 張測(cè)試集。建立擴(kuò)充樣本庫:從原始樣本庫中隨機(jī)選出一類漢字的10張圖片作為原始圖片,再將這一類漢字圖片通過TPS變形得到10 種不同變形圖片,每一種變形圖片可以通過風(fēng)格遷移得到10 張不同光照?qǐng)D片,這樣一類漢字圖片可以得到100 張既具有不同光照又具有不同變形的漢字樣本集。批量生成得到擴(kuò)充本庫,最后將圖片尺寸統(tǒng)一為100×100像素大小。以原始樣本庫作為測(cè)試集,擴(kuò)充樣本庫作為訓(xùn)練集。
實(shí)驗(yàn)采用LeNet-5網(wǎng)絡(luò)訓(xùn)練漢字樣本庫,初始學(xué)習(xí)率設(shè)置為0.000 01,迭代次數(shù)為100 000次。如表2 所示,擴(kuò)充樣本集比原始樣本集的識(shí)別率提高了12%。由此可以驗(yàn)證筆者提出的基于融合風(fēng)格遷移和薄板樣條變形的漢字樣本庫擴(kuò)充算法是有效的。
表2 漢字樣本集實(shí)驗(yàn)結(jié)果對(duì)比Table 2 Comparison of experimental results of Chinese character sample sets
針對(duì)傳統(tǒng)漢字樣本庫采集困難的問題,提出了一種基于融合風(fēng)格遷移和薄板樣條變形的算法,生成能夠模擬在自然條件下(光照、紋理、傾斜和扭曲變形)拍攝采集的漢字樣本庫。提出了使用風(fēng)格遷移方法生成一批具有光線遮擋和曝光的樣本圖片,然后通過薄板樣條變形得到既有陰影又有變形的漢字樣本圖像,在擴(kuò)充漢字樣本庫的同時(shí),還解決了漢字識(shí)別中光線影響和字體變形的問題。由實(shí)驗(yàn)結(jié)果可以驗(yàn)證筆者提出的基于融合風(fēng)格遷移和薄板樣條變形的漢字樣本庫擴(kuò)充算法是有效的。