基于风格迁移和薄板样条的扩充汉字样本方法

2020-01-15 05:29
浙江工业大学学报 2020年1期
关键词:薄板样条纹理

(浙江工业大学 信息工程学院,浙江 杭州 310023)

随着人工智能的快速发展,汉字识别在信息录入与分析、办公室自动化等方面发挥了重要的作用。国内研究汉字识别始于20世纪70年代末,经过几十年的发展,从印刷体识别到无约束手写体识别,从脱机识别到联机识别,从单个字符识别到整篇文档的识别[3],汉字识别技术已日渐成熟并取得了大量成果[1]。然而因为汉字自身具有结构复杂、字符集巨大、字符相似度高和字体风格多样等特点,使得相关研究面临了很大的挑战[3]。目前在基于深度学习的汉字识别研究领域,所遇到的最主要的难题是用于算法训练的样本数据比较匮乏。在这样的情况下,会出现过拟合的问题,同时训练出来的算法模型也难以在实际场景中得到有效应用。因此,汉字样本库的丰富程度成了训练效果的关键因素。但是采用传统手段来采集汉字样本(例如扫描、拍照等手段),人力、物力以及时间成本上的投入均比较高,而且采集效率也比较低下。

针对上述传统采集方法的弊端,提出了一种基于融合风格迁移和薄板样条变形的算法,生成能够模拟自然条件下(光照、纹理、倾斜、扭曲变形)拍摄采集效果的汉字样本库。该算法一方面采用基于块的快速任意风格迁移方法,生成具有真实感纹理的汉字样本图片,这种方法避免了早期的风格迁移方法(例如:使用卷积神经网络[4](Convolutional neural network,简称CNN)进行特征提取[5-6],或是训练另一个神经网络来使得该网络在单前馈计算中逼近最优[7])所遇到的输出样本的风格数量有限且运算耗时的问题;另一方面采用了基于薄板样条变形的插值算法生成有倾斜与扭曲变形的图片,该方法需要选取N对坐标点来实现汉字图像的形变,通过选取不同的坐标点对可以实现多种变形。相比余弦整形变换[8]或变形变换[9-10],薄板样条函数能够实现更多的变形种类。将上述两种算法融合起来,对通过风格迁移获取的效果图片再进行薄板样条变形处理,得到既有光线变化效果又有扭曲变形特点的汉字样本图片。

1 风格迁移的纹理生成

图像风格迁移是一种图像合成问题,以一幅图像的风格呈现另一幅图像的内容[11],而图像合成是基于纹理合成实现的[12]。笔者采用的风格迁移算法的主要组成部分是基于块的操作,用于在给出风格图像和内容图像的情况下在单个层中构造目标激活。

1.1 风格迁移的实现过程

让C和S分别表示图像内容和风格的RGB值,并且让Ф(·)代表预训练CNN的完全卷积部分函数,该函数能将图像从RGB映射到某个激活空间。在计算激活之后得Ф(C)和Ф(S),风格迁移的过程为

步骤1为内容和风格激活提取一组块,分别用{Φi(C)}i∈nc和{Φj(S)}j∈ns表示,其中nc和ns是提取块的数目。提取的块应该有足够的重叠,并包含激活的所有通道。

步骤2对于每个内容激活块,使用基于归一化的交叉相关度量来确定最匹配的风格块。

(1)

通过以上操作得到的是一张由内容图像的结构和风格图像的纹理合成的效果图。

1.2 优化方法

风格化图像的像素可以通过在具有目标激活Φss(C,S)的激活空间中的损失函数来计算。使用平方损失函数并将笔者的优化目标定义为

Istylized(C,S)=

(2)

式中:合成图像的维度为h×w×d;‖·‖F为Frobenius范数;TV(·)为图像生成方法中广泛使用的总方差正则化项。因为Ф(·)包含多个最大池化操作,这些操作将对图像进行下采样,笔者将此正则化用作自然图像先验,从而获得重新上采样图像的空间平滑结果。总变差正则化为

(3)

由于函数Ф(·)是预训练CNN的一部分,并且函数是可微分的,可以直接采用梯度下降不断更新输入I以得到最终的风格图片。

1.3 风格迁移的结果

风格迁移使用Torch7框架实现,目标层是VGG-19网络的relu3_1层,因为在relu3_1层上风格图像的纹理更加明显,且在结构上与内容保持一致。VGG-19网络没有使用全连接层。表1为VGG-19网络从输入层到relu3_1层的体系结构。由于块的大小影响风格迁移的结果,随着块大小的增加,内容图像的结果将丢失,并替换为风格图像的纹理,所以选择块的大小为,卷积层使用的滤波器为3×3。

表1 VGG-19网络结构从输入层到relu3-1Table 1 Truncated VGG-19 network from the input layer to “relu3-1” (last layer in the table)

选用两个风景图片作为内容图片,选用两种不同的艺术画风作为风格图片,通过风格迁移使风景图片具有艺术画风。风格迁移结果如图1所示。

图1 风景图的风格迁移效果图Fig.1 Style transfer effect picture of landscape

由于汉字识别对样本的多样性有一定要求,为了得到具有不同光照和纹理的样本图,笔者采用风格迁移的方法,将具有不同光照和纹理的汉字样本图片迁移到标准的汉字库图像中,以生成具有真实感光照和纹理的汉字样本图。图2是基于相同汉字的风格迁移效果图,图3是不同汉字的风格迁移效果图。从图2,3可以看出,光照和纹理的风格迁移针对相同汉字和不同汉字的效果是比较理想的。

图2 相同汉字的风格迁移效果图Fig.2 Style transfer effect picture of the same Chinese character

图3 不同汉字的风格迁移效果图Fig.3 Style transfer effect picture of different Chinese characters

2 TPS的样本变形

薄板样条是一种常见的2D插值算法,常用于图像变形(Image warping)和图像配准(Image matching)中[13]。在一张2 维图像上标出N个坐标点Ai(i=1,2,…,n),再给出对应的N个坐标点Bi(i=1,2,…,n)求插值函数Φ(A),即

Φ(A)=(Φ1(Ai),Φ2(Ai))T

(4)

使得插值函数满足

Bi=Φ(Ai)i=1,2,…,n

(5)

式中:定义自变量A是2维空间的一点;函数值B也是2维空间中的一点。

薄板样条插值函数形式为

Φ1(Ai)=C+DTA+WTS(A)

(6)

式中:C是标量;向量D∈R2×1;向量D∈RN×1。

S(A)=(U(A-A1),…,U(A-An))T

(7)

U(r)=r2logr2

(8)

式中r是坐标点(x,y)到笛卡尔原点的距离。之所以选用式(4)这种形式的插值函数,是因为把插值函数想象成一个弯曲的薄钢板,使得它穿过给定点,这样会需要一个弯曲能量,即

(9)

而式(4)是使得弯曲能量最小的插值函数。薄板样条插值函数Фi有n+3个参数,而式(2)只给出了n个,只有再添加3 个约束条件才能求解,约束条件为

(10)

(11)

(12)

求得参数带入式(6),就可以得到变形后的坐标点。

当不需要将对应点严格匹配,允许对应点形变后有一定的误差时,可以通过引入一个正则项λ,得到更加平滑的形变,此时使得弯曲能量最小函数为

(13)

式中:第一项是数据项,它是坐标点Ai形变后的坐标与目标点Bi坐标的欧氏距离之和,用来约束对应坐标点再形变后的距离不要太大;第二项为平滑项,用于约束平滑程度,而需要的平滑程度由参数λ决定[14]。这里的参数λ是正数,当λ为零时,就是简单的TPS插值;当λ较小时,得到一个平滑程度小的弹性变换;当λ较大时,得到一个平滑程度高且变形程度小的变换;而当λ=∞时,它就是一个仿射变换,没有局部的变形[15]。因此要根据图像的实际情况,选择合适的λ值以实现图像的变形。因为平滑程度是由λ值决定的,所以要最小化目标函数,只需改动

(14)

在原图上找出N个坐标点,再给出对应的N个坐标点,使用薄板样条函数可以将这N个坐标点形变到对应位置,同时给出整个图片的插值。通过改变两对坐标点得到不同的形变图像,效果图如图4所示。

图4 薄板样条变形效果图Fig.4 Thin plate spline deformation effect picture

3 融合风格迁移和TPS变形的样本扩充方法

把上述提出的风格迁移和薄板样条变形两种算法进行融合,得到最终的汉字样本图片。首先针对原图和纹理图片通过风格迁移得到具有真实感的汉字纹理图片(图5的风格迁移效果图),然后再把生成的具有真实感的汉字纹理图片通过TPS变形生成最终的汉字样本图片(图5的融合风格迁移和TPS变形效果图),如图5所示。

图5 汉字样本效果图Fig.5 Chinese character sample effect picture

4 实验结果

为了检验基于薄板样条函数和风格迁移算法生成的印刷体汉字样本库的有效性,新建了汉字印刷体小样本库用来训练。小样本库包含常用的100 类汉字,使用Python的Pygame模块通过Unicode码将文字转换为图片。采集原始样本库:将其中一类汉字图片使用相机采集20张既有不同真实光照又有不同变形的汉字图片,并将图片尺寸统一为100×100像素大小,从每一类的20 张中随机选出16 张图片作为训练集,4 张测试集。建立扩充样本库:从原始样本库中随机选出一类汉字的10张图片作为原始图片,再将这一类汉字图片通过TPS变形得到10 种不同变形图片,每一种变形图片可以通过风格迁移得到10 张不同光照图片,这样一类汉字图片可以得到100 张既具有不同光照又具有不同变形的汉字样本集。批量生成得到扩充本库,最后将图片尺寸统一为100×100像素大小。以原始样本库作为测试集,扩充样本库作为训练集。

实验采用LeNet-5网络训练汉字样本库,初始学习率设置为0.000 01,迭代次数为100 000次。如表2 所示,扩充样本集比原始样本集的识别率提高了12%。由此可以验证笔者提出的基于融合风格迁移和薄板样条变形的汉字样本库扩充算法是有效的。

表2 汉字样本集实验结果对比Table 2 Comparison of experimental results of Chinese character sample sets

5 结 论

针对传统汉字样本库采集困难的问题,提出了一种基于融合风格迁移和薄板样条变形的算法,生成能够模拟在自然条件下(光照、纹理、倾斜和扭曲变形)拍摄采集的汉字样本库。提出了使用风格迁移方法生成一批具有光线遮挡和曝光的样本图片,然后通过薄板样条变形得到既有阴影又有变形的汉字样本图像,在扩充汉字样本库的同时,还解决了汉字识别中光线影响和字体变形的问题。由实验结果可以验证笔者提出的基于融合风格迁移和薄板样条变形的汉字样本库扩充算法是有效的。

猜你喜欢
薄板样条纹理
稀奇古怪的 一块板
薄板焊接工艺及质量控制分析
多孔有限薄板应力集中系数的多项式拟合
对流-扩散方程数值解的四次B样条方法
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
冷轧薄板厂涂油机涂油质量的研究
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!