国土名片】古彝文渊|一种双判别器GAN 的古彝文字符修复方法(作者:陈善雄 朱世宇,2 熊海灵 赵富佳, 王定旺, 刘云

2024-03-13 19:34 《自动化学报》  主页 > 名片 > 世界美丽名片 > 多样世遗 > 母语保护 > 古彝文渊 >

打印 放大 缩小







一种双判别器GAN 的古彝文字符修复方法
 
《自动化学报》 2022年3期
 
作者:陈善雄 朱世宇,2 熊海灵 赵富佳, 王定旺, 刘云
 
古彝文作为一种重要的少数民族文字,距今有八千多年历史,可与甲骨文、苏美尔文、埃及文、玛雅文、哈拉般文5 种文字并列,是世界六大古文字之一,一直沿用至今(古彝文是彝族人民留给世界的一块瑰宝,它拥有非常悠久的历史,可以与甲骨文、玛雅文等相并列,是世界六大古文字之一,代表着世界文字一个重要起源(此乃2009年乔惠民先生在港主持《古彝文与世界古文字比较研究课题》发布的学术论点,乔惠民现任中国国土经济学会研究室主任、国土名片网总编辑)),并在历史上留下了许多珍贵的典籍.这些用古彝文书写的典籍具有重要的历史意义和社会价值[1-2],且种类繁多,内容广泛,涉及历史、文学、哲学、宗教、医药、历法等各个领域,具有较高的传承价值.而作为彝文古籍的载体,石刻、崖画、木牍和纸书由于年代久远,往往模糊不清,或者残缺不全,这给彝文古籍文献的保存和传播带来极大的困难.目前,从各地收藏单位收集到彝文古籍文献来看,纸质文件存在泛黄变脆,甚至出现残边、虫蛀等损毁问题;一些碑刻、木刻的古彝文也由于长期的侵蚀,字迹出现了模糊,腐蚀等情况[3-5],如图1 所示.得益于图像修复技术的发展,我们可以通过技术手段对残缺文字进行修补,还原文字的真实形态.
 
 
图1 彝文残卷Fig.1 The incomplete literature of the ancient Yi
 
传统的文字图像修复,专业研究人员是通过语境信息和感知信息进行,即利用图像周围的像素以及综合标准文字中的各个特征要素来完成字符推演.但古彝文没有标准文字让计算机参照学习,手写古彝文存在不确定性问题.同时计算机也很难具备人的语境信息,对于文字的认知,需要很多的背景知识,这些是人类在一定环境中长期积累形成,很难系统地加以描述和组织.近年来,深度学习在图像语义修复、情感感知、模式识别以及特征分类等领域展现出令人振奋的前景[6-7],特别在图像生成方面,表现出优越的性能.基于深度学习的图像生成算法相对于传统的基于结构和纹理的生成算法能够捕获更多图像的高级特征,常用于进行纹理合成和图像风格化迁移[8-10].2014 年由Goodfellow 等提出的生成式对抗网络(Generative adversarial network,GAN)在图像生成领域取得了开创性进展[11-12],在图像生成的过程中,生成式对抗网络相对于传统的编码-解码器而言能够更好地拟合数据,且速度较快,生成的样本更加锐利,但该方法也存在不足,如数据训练不稳定、网络自由不可控、训练崩溃等问题.2015 年底,Radford 等在深度卷积分类网络基础上[13],提出深度卷积生成式对抗网络(Deep convolutional GAN,DCGAN)[14].DCGAN 融合卷积神经网络(Convolutional neural network,CNN)和GAN,通过设计独特的网络结构,使得训练更加稳定,这是首篇表明向量运算可以作为从生成器中学习的固有属性进行特征表达的论文.DCGAN 的成功使GAN 拓展出多种应用[15-20],如图像合成、风格迁移、超分辨率重构、图像修复以及图像转换等.
 
我们在深度卷积和生成对抗网络以往的工作之上[13,15,21-24],针对彝文字符的特殊性,提出一个双判别器生成对抗网络模型用于古彝文字符修复.本文设计的双判别器网络是在DCGAN 的基础上,增加一个筛选判别器模型,实现从手写彝文古籍文献中获取古彝文字符图像的概率分布,通过已获得的概率分布去预测待修复古彝文字符图像,根据预测图像完成修复任务.其基本流程为:首先使用古彝文字符对DCGAN 网络进行训练,使该网络的古彝文生成器模型能够生成古彝文字符图像,然后建立一个筛选判别器模型,对生成出的古彝文字符进行比较,通过对生成的古彝文字符与待修复古彝文字符的差异建立损失函数,并对双判别器模型进行优化,最后能约束生成器模型,使其生成的古彝文字符不再是随机字符,而是与待修复的古彝文字符一致.本文使用手写古彝文字符图像数据集对上述方法上进行测试,对残缺1/3 以下的字符能达到77.3%修复率.
 
1 双判别器生成式对抗网络模型
1.1 模型结构
本文提出了一种基于双判别器生成对抗网络(Generative adversarial networks with dual discriminator,D2GAN)的古彝文字符的修复方法.有别于传统图像修复,在文字修复中,如果已有字库的字符能覆盖待修复文字,则直接采用待修复字符图像和字库比对的方式.然而,古彝文存在字符库不全且手写体形式多样等问题,因而直接进行比对较为困难.针对古彝文缺乏完整字库样本,本文通过GAN 生成器来实现一个动态的古彝文字库,并利用双判别器网络来获取目标古彝文字符,进一步用于残字修复.本文关键在于设计出能够生成出古彝文字符的网络,并加入筛选判别器形成双判别器的网络结构.该结构中包含2 个判别器,一个用于判断生成器生成的字符是否属于古彝文;另一个用于判断待修复的古彝文字符和生成字符的相似性.D2GAN 中筛选判别器的作用为判别生成器生成的古彝文字符是否是待修复的古彝文字符,如果生成字符与待修复字符一致,则两者进行融合,这样就可以实现残缺古彝文字符的修复.D2GAN 模型结构如图2 所示.
 
 
图2 本文双判别器生成式对抗网络结构Fig.2 Generative adversarial networks with double discriminator in the paper
 
该网络由一个字符判别器、一个筛选判别器和一个字符生成器组成.网络的训练分为三个阶段:
 
第1 阶段对古彝文字符判别器进行训练.将生成器生成的字符输入古彝文字符判别器网络,正向传播后,得到输出,本文期望输出为 “假”;将真实的古彝文字符输入字符判别器网络,正向传播后,得到输出,本文期望输出为 “真”.将2 个输出结合起来建立损失函数,进行反向传播,优化古彝文字符判别器网络.
 
第2 阶段对古彝文字符生成器进行训练.将服从均匀分布的100 维随机向量输入古彝文字符生成器网络,通过正向传播,得到输出,输出数据的形状为64×64 的矩阵.将输出结果输入古彝文字符判别器网络,在古彝文字符判别器网络内进行正向传播后,得到输出,本文期望输出为 “真”.通过输出结果建立损失函数,进行反向传播,优化古彝文字符生成器网络.
 
第3 阶段,重复第1 阶段和第2 阶段,直到对古彝文字符生成器网络完成优化,然后停止古彝文字符生成器的优化,开始进行对筛选判别器进行训练.将真实的古彝文字符和生成器生成的字符输入到筛选判别器网络,通过网络的正向传播,得到输出,筛选判别器输出是一个100 维的向量.将该向量输入到古彝文字符生成器网络,通过生成器正向传播,得到输出,本文期望该输出尽可能地接近需要修复的残缺彝文字符,通过对二者一致性的比对,建立损失函数,通过在筛选判别器网络中反向传播,对筛选判别器网络进行优化.
 
经过上述三个步骤,完成针对古彝文字符图像的双判别器生成式对抗网络结构的训练,得到一个稳定的模型.在文献[25]中,也提出了一个双判别器生成对抗网络(D2GAN),如图3 所示.在两个判别器固定的情况下,生成器的学习将朝着同时优化Kullback-Leibler (KL)散度和反向KL 散度的方向发展,从而有助于避免模式崩溃.该模型与本文差异在于:1)文献[25]中,两个判别器的模型结构,完全一致,作者改变的是两个判别器损失值的计算方法.在本文的双判别器框架中,两个判别器的模型结构相差甚远,并且数据输入的方式也并不相同.2)双判别器模型的训练方法不一样.文献[25]中的训练方法为生成器与两个判别器同步训练,通过两个判别器,来优化生成器,同时通过生成器优化判别器.本文的训练方法为生成器和第1 个判别器同步训练,相互优化,在生成器优化结束后,通过第2个判别器对生成器的生成结果进行筛选.3)增加的判别器用途不一样.文献[25]中增加的判别器是为了能更好地优化生成器的模型参数.本文增加的判别器,是为了从生成器生成出的结果中寻找最优解,并没有对生成器的参数再进行优化.
 
 
图3 文献[25]中D2GN 结构Fig.3 The structure of D2GN in [25]
 
为了展示本文双判别器结构的细节,下面首先对古彝文字符判别网络、筛选判别网络和古彝文字符生成网络进行详细说明.
 
1.2 古彝文字符生成网络
古彝文字符生成器主要用于获取古彝文字符的概率分布,在极大似然概率生成网络上产生出彝文,从而形成动态彝文字库.古彝文字符生成器(Generator,下文简称网络G)的优化来自于彝文字符判别器(Discri minator,下文简称网络D1),两个网络之间相互博弈,从而不断优化,网络结构示意图如图4 所示.
 
彝文字符生成器用随机向量z作为网络G的输入,将输出送入网络D1,通过网络D1 的正向传播获得生成效果,根据生成效果优化网络G,其数学表达式为
 
 
因为网络D1 可以区分彝文字符的 “真”和 “伪”,所以网络G为让网络D1 将其判断为 “真”,会不断优化自身,使生成的 “伪”古彝文字符尽可能与 “真实”古彝文字符一致.通过网络G不断优化,从而学习古彝文字符的本质特性,刻画出古彝文字符的分布概率,最终使得网络G生成出的数据与古彝文字符高度相似,形成动态彝文字库.其中G表示彝文字符生成器;θG为待优化参数;g(·)为需进一步优化的非线性映射函数;z为g(·)的输入,即-1~1 之间的双精度随机数,是100 维的向量;x为真实的古彝文字符数据,为生成器输出的结果,为64×64 像素的图像,且取值范围在-1~1 之间.对网络G而言,在彝文字符判别器固定时,期望生成数据的分布特性尽最大可能与真实古彝文字符一致,即判别器将生成图像都识别为真.如式(2)所示,因为期望判别器识别为真,因此D()的输出越接近于1越好,即 lg(D())越大越好.
 
 
1.3 古彝文字符判别网络
彝文字符判别器的作用是帮助彝文字符生成器优化,通过不断调整自身的鉴别能力,从而使生成器的能力也不断提高.彝文字符判别器分别用彝文数据集中的数据和网络G的输出作为网络D1 的输入,将判断结果作为网络D1 的输出.其数学表达式为
 
 
中,D表示彝文字符判别器;θD为待优化的参数;y为d(·)的输出结果,即将输入数据判断为真的概率,且y∈[0,1].判别模型设计为将自然数据判断为真的概率,以及将生成数据判别为伪的概率要高.通过网络D1 的正向传播获得判别结果,根据结果对网络D1 进行优化,其损失函数为
 
 
式(5)中对 lg(d(x,θD))的损失值取负的物理解释为将x判断为真的不确定性越小越好,其最佳状态为d(x)=1;而对 lg(1-d())的损失值取负的物理解释为将判断为伪的不确定性越小越好,即将判断为伪的概率越大越好;将所有判定的不确定性进行求和,便得到熵.根据熵对模型的参数θD进行优化.在对判别模型D的参数进行更新时,对于来自真实分布Pdata 的样本x而言,因为期望都能够识别为真,因此D(x)的输出越接近于1 越好,即 lg(D(x))越大越好;对于通过噪声z生成的数据G(z)而言,因为期望都能够识别为假,因此D(G(z))越接近于0 越好,即 lg(1-D(G(z)))越大越好.
 
通过设计好的损失函数(式(2)和式(5)),使用梯度下降法对 (θG,θD)参数交替优化,使网络G和网络D1 接近纳什均衡.
 
1.4 筛选判别器
完成古彝文动态字库的设计后,针对古彝文字符缺损的修复问题可以描述为图像的比对问题.通过对古彝文字符生成器的训练,可以获取100 维列向量的随机数和古彝文字符的映射关系,但是生成器输出的古彝文字符是随机的,要完成特定的彝文字符修复,还需要建立起100 维列向量与特定字符之间的映射.假设待修复的图像为A,设置一个初始随机值z作为生成器G(z)的输入,正向传播后可得到一幅图像B′.此时的图像B′与图像A可能毫无关联或相关性不大,无法用图像B′完成图像A的修复.筛选判别器的作用在于找到一个H,使得生成器G(z)的输出图像B′与图像A无限接近.即,使生成器自动生成的古彝文字符与需要修复的特定古彝文字符尽量接近.
 
本文通过两幅图像的欧氏距离d(A,B),即
 
 
建立起两幅图像间概率分布的差异,根据差异设计出损失函数对筛选判别器进行优化.但仅以此作为损失值对z进行优化还不够,还需限定图像B′必须是一个古彝文字符,本文将彝文字符判别器对图像A的判定结果,也作为优化目标之一.结合两个损失值就可以得到优化z的函数,即
 
 
式(6)中,a代表图像A中的像素值,b代表图像B′中的像素值.筛选判别器期望比较出更符合古彝文字符规律的字符图像,因此D(z)的输出越接近1越好,即 lg(1-D(z))越小越好.生成数据的分布特性尽最大可能与真实古彝文字符数据一致,即判别器将生成图像都识别为真.最小化Lasso,如式(5)所示.因为期望判别器识别为真,因此D(z)的输出越接近1 越好,即 lg(1-D(z))越小越好.lossz为凸函数,通过梯度下降法[26-27]对z进行优化,使得z无限接近于期望的H以此得到图像B,从而完成古彝文字符修复.
 
2 模型结构
2.1 古彝文字符判别器模型
古彝文字符判别器模型的输入为字符图像,通过判别器判断该图像是否为古彝文字符.模型包括1 个输入层、4 个卷积层和1 个输出层.其模型结构如图5(a)所示,其中层与层之间的黑色连接圆,代表卷积的方法和激活函数,如图5(b)所示.
 
 
图5 古彝文字符判别器模型详细结构Fig.5 Detailed structure of the ancient Yi character discriminator model
 
古彝文字符判别器由4 层CNN (不包含输入层)组成,图5(a)中第1 层为输入层,输入原始数据,该数据源于古彝文字符图像,大小为64 × 64 像素,因为古彝文字符是灰度图像,因此将图像的3 通道修正为单通道.最后为输出层,只有1 个节点.卷积层用C 表示,详细信息如表1 所示.OUTPUT 层计算输入向量和权重向量之间的点积,再加上一个偏置,然后将其传递给sigmoid 函数输出结果[28].输出层的节点值表示是否为古彝文字符.如果节点的值为1,则表示网络识别结果为古彝文字符,0 则相反.
 
 
表1 判别器模型参数表Table 1 Parameter table of the discriminator model
 
2.2 古彝文字符生成器模型
古彝文字生成器模型由4 层CNN (不包含输入层)组成,图6(a)中第1 层为输入层,输入为服从均匀分布的100 维向量的随机数.最后为输出层,输出数据为 64×64×1 的矩阵,希望通过训练,该数据能表示古彝文字符图像,其模型如图6(a)所示.其中层与层之间的白色连接圆,代表反卷积的方法和激活函数(如图6(b)所示).反卷积层用DC表示,全连接层用F 表示,详细信息如表2 所示.
 
 
表2 生成器模型参数表Table 2 Parameter table of the generator model
 
 
图6 古彝文字符生成器模型详细结构Fig.6 Detailed structure of the ancient Yi character generator model
 
2.3 古彝文字符筛选判别器模型
在筛选判别器训练及彝文字符修复阶段,古彝文生成器和古彝文判别器停止优化.在没有约束的情况下,生成器的生成效果,只具有古彝文字符的分布特征,而并不一定是真正的古彝文[29-30].本文增加筛选判别器之后,通过与待修复古彝文字残字图像做比较,进一步对古彝文字符生成器进行约束,使得生成的结果更符合古彝文的正常书写规范,且更接近于待修复的古彝文.其结构如图7 所示.
 
 
图7 古彝文字符筛选判别器模型Fig.7 Selecting discriminator model for ancient Yi character
 
筛选判别器的输入为残缺的字符和生成的字符,仅有1 个全连接层.该全连接层神经网络的每层神经元权重的个数,Param=(输入数据维度+1)×神经元个数,加1 是因为每个神经元都有一个偏置值.输入数据维度为100,该层使用了 1×64×64 个节点,所以参数数量为 (100+1)×1×100 =10 100.全连接层输出作为字符生成器的输入,是一个100维的向量.
 
筛选判别器模型优化方法如下:
 
1)从古彝文数据集B中选取一个样本作为修复对象(如图8).因为该样本是完整的古彝文,并无缺失.为验证效果,使用一个20 × 20 的全1 矩阵对图像的中间部分进行覆盖(如图9).为验证模型的鲁棒性,除矩形外,本文还使用了三角形和圆形等多种形状进行区域覆盖.
 
 
图8 原始样本Fig.8 The original sample
 
 
图9 待修复古彝文Fig.9 Ancient Yi character need to be restored
 
2)将进行覆盖的字符(残缺字符)和生成器生成的字符作为输入,用1 个全联接网络构成筛选判别器的隐层,同时,把古彝文筛选判别器的输出z,作为古彝文生成器的输入,通过正向传播可以得到输出G(z),如图10 所示.
 
 
图10 通过生成器模型输出图像G(z)Fig.10 Output imagesG(z)from the generator model
 
3)从图8~10 可以看出,此时古彝文字符生成器输出的G(z)与待修复的古彝文残字(图9)之间并无关联.将G(z)与残字进行对比,根据式(6)得到损失值lossz.
 
4)用lossz对筛选判别器进行优化.
 
3 训练与实验
3.1 数据集与模型训练
实验样本来源于37 万字的《西南彝志》中选取的2 142 个常用古彝文字符[31],并邀请彝族老师和学生进行临摹,发放了1 200 份采集表(如图11 所示),其中古彝文正体采集表800 份、软笔风格采集表200 份、硬笔风格采集表200 份,如图12 所示,共得到了151 200 个字体样本.同时,为了便于后期处理分析,设计了相应的字体库(如图13 所示)和古彝文输入法.
 
 
图11 原始样本Fig.11 The original sample
 
 
图12 古彝文硬笔(上)和软笔(下)Fig.12 Ancient Yi hard pen (upper)and soft pen (down)
 
 
图13 待修复古彝文Fig.13 Ancient Yi character need to be restored
 
将古彝文字体库中的样本转换为64 × 64 个像素点构成的图片,每个像素点用 0~255 灰度值表示,对采集到的样本,每个字按7 :3 的比例分为训练集A和测试集B,部分样本如图14 所示.
 
 
图14 古彝文手写数据集样例Fig.14 The handwritten sample of ancient Yi
 
实验环境:CPU Intel(R)core(7M)i7-7700,3.6 GHz;内存DDR4,8.00 GB;GPU NVIDA Ge-Force RTX 2080 SUPER,基础频率1 650 MHz,加速频率1 815 MHz,显存:GDDR6,8 GB,显存位宽256 bit,显存频率15.5 GHz,显存带宽496 GB/s.
 
3.2 彝文字符生成器和彝文字符判别器训练过程
实验使用训练集A对模型进行训练,每次训练以32 个样本为单位,进行批量训练,过程为:
 
1)从训练集A中抽取32 个彝文数据,将其作为彝文判别器的输入,通过彝文判别器的正向传播,得到d(x,θD),即彝文是否为 “真”的概率,将其代入式(8),得到损失值d1
 
 
2)随机产生32 个服从均匀分布的100 维向量,将其作为彝文生成模型的输入,通过正向传播获得32 个64 × 64 × 1 的矩阵,将这批矩阵作为彝文判别模型的输入,通过正向传播也得到d(),将其代入式(9),得到损失值d2
 
 
3)将d1和d2 代入式(5),得到彝文判别器的损失值lossd,通过Adam[32-33]算法,对彝文判别的参数进行优化.
 
4)彝文字符生成器输出的32 个图像通过彝文字符判别器得到d(),在作为彝文字符判别器的损失值d2 的同时也作为彝文字符生成器的损失值.因为对彝文字符生成器的期望是所有生成出的数据,彝文字符判别器都将其判别为真,所以将d()代入式(2)得到彝文生成器的损失值lossg,用Adam 算法对彝文字符生成模型进行优化.
 
重复一次上述的过程,称为完成一次训练.通过不断重复训练,对彝文字符判别器和彝文字符生成器同时进行优化.
 
模型采用tensorflow 框架提供的Adam 随机梯度下降优化算法进行训练,在训练时,需要设置学习率(Learning rate)控制参数的更新速度.该参数会极大地影响模型收敛速度,过小会收敛太慢,增加训练成本;过大会导致参数在最优解附近振荡,无法获取得最优解[34].本文对多个学习率下损失值的变化进行对比,当训练次数为2 000 时,学习率分别为0.2,0.02,0.002 的判别器损失函数曲线如图15所示.横轴代表训练次数,纵轴代表损失值大小,单位为px (像素).
 
 
图15 学习率0.2,0.02,0.002 的损失值变化曲线Fig.15 The loss variation of the learning rate involving 0.2,0.02 and 0.002
 
通过观察图15 可以发现,学习率在0.2 时,损失值在1 240 次之后就开始剧烈振荡,这是明显的学习率过高,导致无法收敛到最优点的情况.将学习率0.002和0.02 的损失值进行比较,学习率0.002 的损失值更接近于在1 附近进行波动,其预测值会更接近于1,因此本文以0.002 为基础再次进行实验.当训练次数为2 000 时,学习率分别为0.0002,0.001,0.002 的判别器损失函数曲线如图16所示.通过观察图16,可以判断学习率为0.001 时,损失值的波动范围最接近于1,因此本文设置学习率为0.001.
 
 
图16 学习率为0.0002,0.001,0.002 的损失值变化曲线Fig.16 The loss variation of the learning rate involving 0.0002,0.001 and 0.002
 
训练过程中,设置训练次数为10 000 次,每次训练输出25 幅64 × 64 像素的生成图像.在第1 次、第50 次、第100 次、第500 次、第1 000 次、第2 000次、第5 000 次、第10 000 次、第15 000 次、第20 000 次训练完成后,用生成器生成图像,每次训练完成生成25 幅图像,共250 幅图像,如图17所示.
 
 
图17 不同训练次数下生成器生成图像Fig.17 The generator generates image under different training times
 
经彝文专家判断,在训练超过10 000 次之后,生成器生成的图像趋于稳定.故采用经过10 000 次训练的生成器网络.
 
在训练过程中,每100 次记录一次彝文判别器和彝文生成器的损失值,经过10 000 次训练之后,损失值变化曲线如图18 所示.从图中可以看出,彝文生成器模型和彝文判别器模型在训练过程中不断进行博弈.当彝文判别器模型的损失值减小时,判别器判定生成的彝文为假的概率增加.而彝文生成器模型损失值减小时,判别器能较大概率判定生成的彝文为真.当两个模型的损失值交替上升时,表示这两个模型在不断地进行博弈,并交替地对模型参数进行优化.
 
 
图18 10 000 次训练后损失值变化曲线Fig.18 Loss curve after 10 000 training
 
本文用随机产生的1 000 个100 维向量作为完成10 000 次训练的生成器模型的输入,通过模型正向传播,得到得到1 000 个图像,经彝文专家判断生成结果与真实彝文字符的形态非常接近.部分数据如图19 所示.
 
 
 
图19 生成器输出图像Fig.19 Output images by generator
 
3.3 筛选判别器的训练及彝文修复
根据第2.3 节所述流程,在对筛选判别器的训练过程中,我们设置学习率为0.001,对筛选判别器模型进行2 000 次优化.过程中lossz的变化曲线如图20 所示,横轴代表训练次数,纵轴代表损失值大小,单位为px (像素单位).可以看出在训练750 次后,损失值已经逐步下降到一个范围内,即表示当前生成的字符与待修复的字符之间的差异也下降到一定范围.在2 000 次优化后,筛选判别器生成的z′,通过在古彝文字符生成器中正向传播得到G(z′),如图21 所示,从图中可以看出G(z′)与残字接近,却又保留有残字所残缺的那部分.将待修复古彝文中缺失的部分,用G(z′)进行填充,得到修复后的图像,如图22 所示.
 

 
 
图20 筛选判别器的训练过程中损失值变化曲线Fig.20 The loss curve in process of the training of the selecting discriminator
 
 
图21 训练得到z′,然后输入z′到生成器得到的图像Fig.21 After trainning,z′is generated,and then inputz′to the generator to get the image
 
 
图22 修复后的图像Fig.22 The restored image
 
上述实验重复1 000 次,每一次随机从古彝文测试集B中抽取一个样本制作成待修复的古彝文,然后按本文的方法进行修复,对古彝文字符的修复率为77.3%,如表3 所示.
 
表3 中的评价标准如下:修复后的图像与原图像字体形态一致为完全修复;能够知道图像的古彝文字符是哪个古彝文字符,但存在偏旁或部首的缺损为部分修复;通过观察修复后的图像,不能判断出是哪个古彝文字符为未完成修复.图23 为1 000次实验中的部分数据,从左至右分别为古彝文原始样本图像、生成出的待修复的古彝文图像、生成器生成出来的图像以及修复之后的效果图.图24 为多种残缺形状的修复效果.
 
 
图23 部分古彝文修复结果Fig.23 The repair effect of some ancient Yi
 
 
图24 多形状残缺修复结果Fig.24 The repair effect of ancient Yi characterof multiple shape occlusion
 
 
表3 古彝文字符修复比例Table 3 Restoration proportion of ancient Yi characters
 
本文使用上述模型对从彝文古籍中选取出的10 个残缺的古彝文字符进行处理和修复,其效果如图25 所示.从左至右分别为残缺的古彝文字符、通过模型生成的用于修复的字符以及修复结果.其具体修复方法为,取模型生成的字符图像中某一区域的黑色像素,叠加到待修复的图像中.区域的位置,根据原始古彝文字符的缺损位置来确定.然而,通过专家判别,仍有22.7%是修复失败的.部分样本如图26 所示.其原因在于,残字缺失的部分,其笔画较为复杂,且该字符异体字较多,而生成器网络结构对复杂笔画的适应性较弱,因此对残缺部分的重构效果较差.
 
 
图25 彝文古籍文献中残缺字符修复效果Fig.25 The repair effect of incomplete characters in ancient Yi literature
 
 
图26 古彝文残缺字符修复失败效果Fig.26 The failed repair effect of ancient Yi incomplete characters
 
4 结束语
本文采用深度卷积生成式对抗网络来获取古彝文字符的分布概率,并且在该网络结构之上增加一个筛选判别器,形成一个双判别器对抗生成网络.该模型实现从彝文古籍文献中获取古彝文字符图像的概率分布,通过已获得的概率分布去预测待修复古彝文字符图像,完成古彝文字符的修复.这也是对古文字修复的积极尝试,对保存和发扬民族文化进行了有益探索.然而,本文对筛选判别器的优化函数是图像间像素的差值,其并不能很好地代表字符图像间概率分布的差异,后续研究会尝试使用多种度量标准作为损失函数.同时,文字修复判断的可量化指标没有一个统一标准,因此建立统一的修复标准也是未来研究的方向.

责任编辑:天下口碑

---国土名片网版权所有---