文字是记录历史特有的载体,西夏文字是西夏王朝的代表,同时也是西夏王朝最珍贵的文化遗产.随着计算机技术和人工智能的迅速发展,字符识别在图像处理、文本内容识别、场景文本识别、机器视觉检测等领域具有重大的应用价值.这一热点问题引起国内外众多学者关注,涌现出了许多全新且高效的识别方法.西夏文字、汉字、蒙文、满文、维文和藏文等文字系统都源自不同的语言和文化背景,它们的识别方法各有特点.这些文字在字形结构、字符数量、字符组合、堆叠方式、语言和文化特点等方面存在显著差异,精准识别难度各不相同.当前西夏文字识别与其他文字识别相比有如下难点.从字形结构和字符数量角度看,西夏文字与汉字均为方块字,但实际字形结构差别极大,汉字通常由若干简单的基本笔画组合而成,而西夏文字的字形结构则笔划繁杂,其大部分字形都包含14画以上的复杂笔画,常用文字中笔画在6画以下的仅有1%左右,西夏文字包含更多的曲线、角度和组合形式,存在许多字形变体和多样性,使得不同的字形可能表示相同的字符或含义,极大增加了西夏文字识别的困难.从数据平衡和数据标注角度看,与汉字、蒙文、满文等文字相比,西夏文字面临着巨大的挑战,其数据量极为有限,主要来自于存世的文献和文物,获取图像数据噪声大,多存在残缺等问题,很难获取大规模数据集.此外,由于西夏文字的专业性和特殊性,对数据的标注和字符集的构建也存在一定的困难.从文化和历史背景角度看,西夏文字是西夏王朝(公元1038年~1227年)使用的文字系统,具有浓厚的历史和文化背景,然而西夏文字在现代已经断绝,由于西夏王国的覆灭和历史资料的稀缺,对于西夏文字的解读和研究也面临极大困难.而汉字、蒙文、满文、维文、藏文等文字系统虽在历史上经历了一些变迁和挑战,但从未完全消失,仍在使用.多年来众多研究人员一直致力对高效准确的西夏文字识别方法的研究.西夏文字识别过程包含数据库建立、图像预处理、特征提取、识别和结果输出等过程,本研究重点介绍数据集和识别方法.1 数据集与评价指标数据库是影响西夏文字识别研究的重要因素之一,早期的西夏文字数据集多来源于对古籍或字典等资料扫描图片的裁剪.这些数据集来源直接,可以快速应用于西夏文字识别,但是存在字符数量有限、字符识别精度低的问题.随着深度学习方法大量使用,对于数据集的要求更加严格,数据集的质量和数量得到大幅提升.西夏文字在形式上与汉字极为相似,图1所示方正文字即为西夏文字.为便于西夏文字识别研究,现阶段按照西夏文字数据集中收录文字的图片形式,将其划分为字符数据集和文本数据集.字符数据集中收录的是单个西夏字符的图像文件,文本数据集则包含由多个单页文档组成的图像文件.表1列出了现有的西夏文字数据集的详细信息.10.13245/j.hust.241103.F001图1西夏文字10.13245/j.hust.241103.T001表1西夏文字数据集文献数据集名称年份分类数量类型描述文献[1]—20103字符数据集选取夏汉字典中西夏文字字库的6 021个西夏文字作为训练样本,从中选取3组300个西夏文字作为测试样本文献[2]—2011240字符数据集采用原宁夏大学计算中心夏汉字典第一区的前240个西夏文字的40套样本,数据集较小,代表性不高文献[3]—201720字符数据集选取从互联网下载并编辑的西夏文300个样本图片,包含200个训练样本集图片,分为20个样本文献[4]—20179字符数据集针对9种笔形分别建立样本库,对每个样本库建立主动形状模型和局部灰度模型文献[5]—20191 836字符数据集选取《大方广佛华严经》作为实验数据,将其第四十卷作为实验数据集,共计6 122个字,其中70%作为训练集,30%作为测试集文献[6]—2019453字符数据集选取20张金光明最胜王经卷一的西夏古籍图像,训练集为西夏古籍字库中6 074个西夏文字,后通过图像分割得到其中8 879个西夏字符文献[7]CharSample[7]2019668字符数据集以西夏文《大方广佛华严经·十定品》第40-43卷为基础建立,共计1.632×104个字符文献[8]TangutOCR[8]2018681字符数据集在CharSample[7]基础上进行继续扩充,将数据集扩充为681个类别,共计1.670 8×104个西夏文字符文献[9]—20171 000字符数据集聚焦于佛经中出现频率前1 000的西夏文字,收集约1×105张西夏文字图片,局限性较高,无法满足多类别和多风格识别任务文献[10]TCD[12]20216 077字符数据集获取各类风格西夏文字图像6 077类,共计5.043 99×105张图片,保留了自然残缺和模糊的西夏文字.标注西夏文字6 077类,1.246 24×105张,其中对古籍西夏文字标注2 110类,9.445 9×104张文献[10]TCD-E[12]20216 077字符数据集在TCD的基础上加入了4.830 76×105张西夏文字增强数据,使每类均含有100张西夏文字图片文献[7]—2019—文本数据集将西夏学研究学者对佛经等西夏古籍的注解注与最原始的古籍资料紧密结合文献[11]—20—列数据集包含来自1 500多个不同西夏文字的超过1×106张手写体西夏字,同时将虚拟字符同原有西夏文字符共同纳入数据集,在单字数据集基础上构建列级别训练数据集注:“—”表示未发现.1.1 西夏文的字符数据集西夏文的识别对象主要为古籍文字,目前留存最多的有对照典籍为佛教经文,几乎所有的西夏佛教经文都有对应的汉字版本,故现阶段各类西夏字符数据库的建立都将佛经作为最主要的数据来源[12-13].目前,西夏文识别领域多基于自设数据库进行,在已发表西夏文识别相关论文中,均没有采用相同的标准样本数据库作为实验对象.文献[2]使用《夏汉字典》前240个西夏文字的40套样本作为实验用西夏文字.文献[3]选取从互联网下载并编辑的西夏文300个样本图片,制作为200个训练样本集,分为20个样本,对西夏文进行识别测试.文献[5]选用《大方广佛华严经》的第四十卷作为实验数据集,共计6 122个字,其中70%作为训练集,30%作为测试集.文献[6]则以金光明最胜王经卷一的西夏古籍图像作为实验数据,将其分割为8 879个西夏字符进行识别测试.整体而言,在前期的西夏文字识别研究中,各研究者未使用公开的样本数据集,且整体数据集较小,代表性不高,不能满足当下热门的深度学习方法对数据集的要求.后续研究者针对此方面问题,历经数年时间逐渐建立起了较为完备的数据集.文献[14]扫描《大般若波罗蜜经》《大方广佛华严经》和《金刚经》,并提取文字形成单字样本库,建立了西夏古籍文字样本数据库.此数据集的样本分布不均衡,西夏文字样本类别存在部分缺失.同年,文献[7]以《西夏文〈大方广佛华严经十定品〉译释》[15]对华严经的第40~43卷建立了西夏文单字数据库CharSample,此数据库包含了668个类别,共计1.632×104个字符.但是此初始数据库也存在数据分布不平衡的问题,样本个数最多的有528个,最少的仅有2个,样本数少于5个的字符类别有200余个.后来在此基础上,作者提出基于对抗生成网络的样本生成,及基于最小移动变形的样本生成方法,对其数据集进行了扩充,选取了200类字符样本,将每个类别的样本扩展到200个.很大程度上解决了样本数据集的样本不平衡问题,有效提高了数据集识别的准确性.此后的学者不断完善西夏文字数据集,文献[8]提出一种合成样本扩展的方法,以平衡数据库中的样本多样性,该方法将数据集扩充至681个类别,1.670 8×104个西夏文字符.实验表明:随着样本数量的增加,识别准确率也在不断提高.数据集示例如图2所示.10.13245/j.hust.241103.F002图2CharSample数据集“”字示例文献[9]建立了一个数量达到1×106张的西夏文字数据集,但是该数据集仅聚焦佛经中出现频率前1 000的西夏文字,无法满足多类别、多风格识别任务.为解决此问题,文献[10]采集手抄版、印刷体版、影印版等不同文体的西夏文字数据源,以增加数据风格多样性,收集使用大量佛经和非佛经类的西夏文献,采用人工和MMMP两种标注方法,共标注西夏文字6 077类,1.246 24×105张,该数据集是当前最完备、全面的西夏文字数据集.作者在此数据集的基础上建立了西夏文字数据集TCD,TCD-E和5个测试集,其中TCD和TCD-E均以6︰2︰2的比例分为训练集、测试集和验证集.针对数据不平衡的问题,TCD-E在TCD的基础上加入了4.830 76×105张西夏文字增强数据,使每类均含有100张西夏文字图片,极大程度上增强了数据集的可靠性.1.2 西夏文的文本数据集随着文字识别技术的不断发展,文本识别技术也取得了长足进步,在西夏文整列、整页识别研究中,建立完备的西夏文本数据集是首要因素.文献[9]采用一种新的建立文本数据集的方法,将西夏学研究学者对佛经等西夏古籍的注解与最原始的古籍资料紧密结合,直接标注原始文献的译释,从而克服了传统注译方式由于誊写费时长、误差大的缺点.通过将单字数据集与文本数据集结合使用,不仅可以实现对每一个单字的索引,而且可以更好地构建西夏文的训练数据集.同时,文献[11]使用多标签学习方法和神经网络提取西夏文字的部首,为构建西夏文训练数据集提供了一个更好的方案.通过目标导向混合方法(TDM)构造低使用频率的西夏文字虚拟字符,并将其纳入训练数据集,此外,该研究还在单个字符的基础上构建了列级别的训练数据集,实现了西夏文献整列识别,进一步提高了整列识别的准确性.这两者的研究成果共同为西夏文本数据集的建立提供了宝贵经验,也为西夏文整列、整页识别的研究提供了强有力支撑.整体而言,由于西夏文字笔划繁多、结构复杂,西夏文文本识别仍存在很大挑战与困难,须要继续深入研究,提高效率和准确性.1.3 评价指标西夏文数据集自研究至今种类繁多,效果不一.为评估各个模型在西夏文字识别准确性方面的有效性,如表2所示,本研究总结了以下几种评价指标:准确率(Acc)、精准率(Pre)、召回率(Rcall)、F1-measure(F1)、编辑距离(Edit Distance,D)和整体质量差异指标(EFA)[16].为便于描述,各变量定义为:FP代表假正例,FN代表假负例,TP 代表真正例,TN代表真负例.10.13245/j.hust.241103.T002表2评价指标指标作用取值范围使用频率单位Acc正确结果占总样本的百分比[0~1]常用%Pre正确结果占正样本的百分比[0~1]常用%Rcall在实际为正的样本中被预测为正样本的概率[0~1]一般%F1精确率和召回率的调和值[0~1]一般无D两个字串之间,由一个转成另一个所需的最少编辑操作次数[0,+∞)一般无EFA文本风格差异与字符准确率结合对字符进行整体质量评价[0,+∞)较少无准确率是文字识别领域最常用的指标,通常表示所识别文字与正确文字匹配程度,其公式为Acc=TP+TNTP+TN+FP+FN.(1)精准率又称查准率,主要针对预测结果而言,表示对正样本结果中的预测准确程度,其公式为Pre=TPTP+FP.(2)召回率表示被完全正确识别字符数量与真实字符总数的比例,其公式为Rcall=TPTP+FN.(3)F1-measure是综合反映字符识别准确率和字符识别召回率的综合指标,其公式为F1=PreRcall/(Pre+Rcall).(4)编辑距离表示识别出的字符串结果转化为真实结果所需的最少单字符编辑操作次数.其编辑距离越小,对应误差越小,识别准确率越高.EFA是字符风格差异与字符准确率相结合的综合性评价指标.在其取值区间内EFA值越小,图像整体质量越高,效果更好,其公式为EFA(WFID,Acc)=WFID+λ(1/Acc-1);(5)WFID(x,g)=μx-μg22+tr(Σx+Σg-2(ΣxΣg)1/2),(6)式中:μx为真实图像特征均值;μg为生成图像特征均值;Σx为真实图像特征的协方差矩阵;Σg为生成图像特征的协方差矩阵;λ为数量级参数,当λ取值为100时较为合适.表1对西夏文字数据集所涉及的各类信息进行了简要介绍,但对各类数据集性能分析描述不足.表3针对此问题,采用当前最常用的准确率评价指标整理了表1数据集所采用某种算法所能达的最佳性能及其具体信息.10.13245/j.hust.241103.T003表3数据集性能评估文献识别数据集识别算法准确率/%说明[1]—基于多级分类识别算法89.00以上一级粗分类,二级细分类,三级分类识别[2]—基于弹性网格识别算法87.99弹性网格提取笔划特征,LDA方法压缩特征分类识别[3]—Haar-like+Gabor80.00以上在弱分类器中构建强分类器,级联20个强分类器分类识别[4]—基于ASM算法提取笔形特征算法—用等间距插值法扩充特征点并降维处理,统计特征点灰度信息,匹配识别笔形[5]—HOG+FSVM85.70构造基于多超平面的模糊支持向量机模型,增强分类识别的能力[6]—基于SVM识别算法78.60三线性插值算法提取特征,调整SVM中核函数参数[7]CharSampleCNN78.18样本为标准归一化字符图像,合成扩展样本数据[9]—DCNN94.00半监督方法数据标记,K-均值和主成分分析法(PCA)聚类和标记[10]TCDTCRNet98.10Tangut-CycleGAN+SE生成模型[10]TCD-ESTCRNet98.42Softmax loss和Center-loss加权的损失函数结合使用[7]———直接针对原始文献资料的释义标注,可与单字数据集相结合使用[11]—CRNN90.00以上直接从序列标签学习,无需单个字符位置,只须统一输入图片宽度,直接从图片学习注:“—”表示未发现.2 西夏文字识别方法按照识别技术划分,西夏文字的识别方法主要经历了传统识别方法和深度学习识别方法两个发展阶段.2.1 传统西夏文字识别方法传统西夏文字识别方法分为基于结构、统计、结构和统计相结合、支持向量机和神经网络五大类方法.一般而言,传统的西夏文字识别方法主要由数据预处理、特征提取和分类识别三部分构成.首先,数据预处理对输入数据进行标准化处理,以统一图像质量、提高识别效果,常用的方法为灰度处理[17-18]、滤波去噪[19-20]、二值化[21-26]和细化[27-28]等;其次,特征提取主要通过各种算法提取图像(或字符)的区别于其他图像(或字符)的显著特征,这些特征提取方法主要分为结构特征、统计特征和二者结合的方法.结构特征[29]对字体变化的适应度高,但其抗干扰能力较差.基于统计的特征提取方法从字体的整体像素信息出发,提取方便,其抗干扰性和鲁棒性强,但对字体结构信息利用率低.因此,结构和统计两种方法相结合可以实现优势互补.目前针对西夏文识别领域,统计特征整体表现较好,例如轮廓特征、笔划结构关系特征、笔划密度特征、矩特征和Gabor特征[30-31];然后,分类器则是将特征提取出来的数据进行分类识别.常用的模型有支持向量机模型(SVM)[32]、隐马尔科夫模型(HMM)[33]、贝叶斯模型(Bayesian)[34]、随机森林模型(RF)[35]和K近邻法(KNN)[36]等.最后,神经网络具有良好的自学习、自适应能力,同时容错率好,其主要类别有人工神经网络(ANN)[37]、单层神经网络(SLP)[38]、多层神经网络(MLP)[39]和BP神经网络[40]等.2.1.1 基于结构识别方法基于结构的西夏文字识别方法常采用匹配笔划、偏旁部首或更小的字体构件进行识别,因为大部分西夏文字具有明显的结构特征.一些研究通过不断调整样本模型来最大限度地与匹配字符相符合,从而提高西夏文字各类笔形的识别能力.此外,也有一些方法利用概率直方图相似性和特征点扩充等技术,通过对西夏文字的构建进行初分类和灰度特征提取来实现笔形识别.此类方法原理如图3所示.10.13245/j.hust.241103.F003图3基于结构的识别方法原理图文献[4]通过改进ASM算法,利用特征点扩充、主成分分析(PCA)和灰度特征提取方法进行西夏文字笔形匹配.但此方法对复杂的文字样式或变形较大的文字,可能无法准确匹配.可通过引入更加鲁棒的特征点提取算法,提高笔形匹配的准确性.随后文献[41]提出一种基于MeanShift算法的西夏文字笔形识别方法,将西夏文的字体识别分为两个阶段:第一阶段对西夏文字的构建进行四角编码初分类;第二阶段利用概率直方图相似性得到测试西夏文字图像笔形.通过两阶段共同实现西夏文字识别.MeanShift算法对于非线性和非凸的数据具有较好的聚类性能.但本方法对于字体的细微差异或噪声的影响比较敏感,可以考虑引入更多的特征描述子,如方向梯度直方图(HOG)、局部二值模式(LBP),增强特征的多样性和鲁棒性.或使用更强大的聚类算法,如谱聚类(Spectral Clustering)或深度聚类方法,以提高聚类的准确性和鲁棒性.基于四角编码方法,文献[42]在使用端点引导的Hough变换方法(HTGE),将整个字符图像按照字符构件分为不同的子图像,通过对子图像编码进行字符识别.该方法利用端点引导避免对短笔划和带公差笔划的识别误差,提高识别精度,对每个子图像进行编码,可以提取字符的局部特征,有利于区分复杂的字符构件.但是,当字符成分与其他笔划混合程度过高时,对字符构件成分分离程度较差,同时由于此方法对字符的形状和笔画要求较高,面对变形或噪声较多的字符图像,可能会导致识别性能下降.针对此方法可通过结合形态学处理或图像增强技术,对字符图像进行预处理,减少噪声和形变的影响,提高字符的清晰度和形状准确性,增强其对复杂字符构件和形状变化的适应能力.整体而言,基于结构的方法对简单字符结构特征提取较快,对字体变化适应性强,多适用于标准字体识别,但对于复杂字符,由于其结构复杂,抗干扰能力差,特征提取和识别难度较大,且对于手写字符及图像噪声较为敏感,可能会产生较大误差,因此基于结构的识别方法在一些场景下可能须要与其他方法结合使用,以提高识别的准确率和稳定性.2.1.2 基于统计识别方法基于统计的识别方法本质是将样本的特征向量映射到特征空间中的一个区域,并通过判别函数将不同类别的样本分开,划分特征空间以进行识别,有效弥补了基于结构的识别方法在复杂场景、特征表示灵活性等方面的不足.本类方法以特征提取为侧重,适用于数据量有限的情形.此类方法原理如图4所示.10.13245/j.hust.241103.F004图4基于统计的识别方法原理图文献[43]采用Level Set方法较为精确地提取了西夏字的轮廓,并且发现当曲率参数为0.2~0.8时,曲率参数与字体轮廓和文字识别效果成正比.但此类方法对文件的笔迹清晰度和版面的干净程度要求较高.若文件存在较大的噪声或者污点,则提取的轮廓可能会出现误差.对此,可引入更加鲁棒的轮廓提取算法,如基于深度学习的分割网络或基于边缘检测的方法,以提高对复杂场景和低质量图像的适应能力.或者结合其他形态学处理方法,如形态学滤波、闭运算等,对提取的轮廓进行后处理,进一步消除噪声和误差,提高识别的准确性.相较于Level Set方法,文献[44]借助不变矩理论对西夏文字轮廓间的细节有更好的掌控能力,使用Hu不变矩和Zernike不变矩对西夏字的笔形进行识别,Hu不变矩对类内和类间的区分度较差,相比而言,Zernike不变矩的类间区分度更强,对噪声和微小形变有更强的鲁棒性,可以有效提高识别率.然而,由于手写字存在字体构件粘连、笔划不规范等问题,因此不变矩方法分离手写体西夏文字存在一定难度.对此,可结合形态学滤波、边缘增强等方法,对西夏文字图像进行预处理,消除噪声和形变,以减少对不变矩方法的影响.同时,收集更多样本,尤其是手写体西夏文字的样本,并建立更加全面和多样化的训练集,以提高模型对手写体文字的识别能力.文献[1]则提出一种基于多级分类的西夏字识别算法,通过粗分类搜索范围,逐级缩小候选字集合.在一级粗分类中,相似字被置于候选字集合中,二级细分类对比候选字与待识别文字的欧氏距离缩小候选字集合,三级分类计算字符分类结果.通过粗分类和逐级缩小候选字集合的方式虽减少了搜索空间,提高了识别速度.但此方法依赖于候选字的初步分类结果,若粗分类阶段出现误判,则可能会导致后续分类的准确性下降.且当候选字的数量较多时,仍须要进行大量的比较操作,可能会影响算法的效率.对此,可通过改进初步分类的方法,引入基于深度学习的特征提取网络,以提高粗分类的准确性.优化细分类的方法,可以考虑使用更加高效的距离度量方法或相似度计算方法,以减少比较操作的数量,提高算法的效率.基于统计的识别方法多使用给定的有限样本进行识别,其识别算法简单、识别精度较高.但过小的样本数据集易导致数据收集不完善,从而产生较大误差.另外,数据样本的清晰度对识别准确率也有较大影响.不变矩理论虽鲁棒性较强,但对手写字符识别存在一定难度,Level Set方法可以提取精确的字体轮廓,但对文件要求较高,多级分类方法虽在识别速度和精确度方面有所提升,但计算时间较长,可以将这些方法进行合理优化改进,统筹结合使用,以达到更好的识别效果,比如:组合不变矩理论和Level Set方法,利用Level Set方法的精确性和不变矩理论的鲁棒性,提高对手写字符的识别能力;组合多级分类方法和其他技术、引入上下文信息,扩充训练数据集,尤其是针对复杂情况和边缘情况的样本,以增加算法对不同场景和字体变化的鲁棒性.2.1.3 结构和统计相结合识别方法基于结构和基于统计的识别方法都是西夏文字识别中常用的方法,二者各有千秋.为了提高识别效率,文献[5]根据文本图像的像素密度分布构造弹性网络提取各分量概率分布特征,提出了基于弹性网格的西夏文字识别方法,将结构和统计相结合,同时使用LDA压缩笔划特征,并进行交叉验证,极大程度提高了西夏文字的识别率.但此方法受限于像素密度分布和训练样本数量,特别是针对复杂的文字变体和字体样式,若训练样本不足,则可能会影响到模型的泛化能力和识别性能.对此,可考虑引入纹理特征、形状特征等其他特征,以丰富特征表达.将深度学习方法与基于弹性网格方法结合,引入卷积神经网络(CNN)捕捉文字的纹理和形状信息;结合循环神经网络(RNN)进行序列建模将弹性网格特征输入到RNN中,让模型学习文字的时序信息;引入深度学习的训练策略和技巧,优化网络结构等来进一步提升识别性能;将不同的识别方法进行集成,以获得更好的综合性能,提高识别准确率和鲁棒性.此方法原理如图5所示.10.13245/j.hust.241103.F005图5结构和统计相结合识别方法原理图具体来说,基于结构的识别方法可以通过提取基本形状特征来判别西夏字体,但由于相似形字符的结构相似度较高,因此存在区分度低的问题.而基于统计的识别方法通过分析像素密度分布等统计特征来区分西夏文字,具有较强的抗干扰能力和鲁棒性,但是在小样本数据集上表现较差,因此须要进一步改进.结构和统计相结合的方法兼具了两者的优点,既可以改善基于结构的识别方法对相似字形字符的问题,又可以增加对字体结构和笔划特征的判别,提高识别的准确性和鲁棒性.但此类方法仍然需要大量的样本数据进行训练,同时还须要更加完善的算法优化,通过数据增强、迁移学习、主动学习、模型优化和多模态信息融合等改进策略,提升基于结构和统计相结合的方法在小样本数据集上的性能和效果.2.1.4 基于支持向量机识别方法支持向量机(SVM)方法是一种基于非线性变换的分类方法,通过非线性变换找出最大决策边界,并得到最优超平面对数据进行分类.相较于其他分类方法,此类方法具有结构简单、计算复杂度低、鲁棒性强、全局优化性好、泛化性能好等优点,在处理小样本数据、噪声和异常值鲁棒性和可解释性等方面有较好效果.SVM方法通过少数支持向量决定识别结果,避免了大量冗余样本带来的计算复杂性.此类方法原理如图6所示.10.13245/j.hust.241103.F006图6支持向量机识别方法原理图文献[5]使用模糊支持向量机方法对西夏文字进行识别,进一步提高了识别分类准确性,该方法在原有HOG特征结合SVM分类器识别技术的基础上,将SVM分类器替换为基于多超平面的FSVM,将经过正负类中心且平行于最佳分离面的平面视作为超平面,三个平行的超平面将样本空间划分为四部分,同时在模糊支持向量机模型中引入新的隶属度函数,增强了算法的泛化能力、抗干扰能力和分类能力,有效降低了噪声点的干扰,提高了分类效率和准确率.针对此方法可以对模型进行解释和可视化,以增加对模型决策过程的理解和解释能力,进一步优化模型,提高识别准确性.文献[6]则对支持向量机方法中的线性核函数、多项式核函数、高斯核函数参数对比研究.结果表明,在同一样本中可通过调整γ参数和惩罚因子C提高识别准确率,相同参数下的不同核函数间的识别准确率较为接近,其中多项式核函数略高.对此可以采用自动调参方法,寻找最优的核函数参数组合,以提高分类器性能.或使用混合核函数方式,将多个核函数进行组合,以更好地适应复杂的数据分布,提高分类准确率.综上,SVM方法是一种适用于小样本的识别方法,其计算复杂性取决于支持向量的数目,少数支持向量决定识别结果.相较于其他方法,SVM方法对异常值不敏感,有较好的泛化能力和鲁棒性.但SVM方法对特征空间要求较高,对大规模训练样本难以实施,会耗费大量内存空间和运算时间;此外,SVM方法处理多分类问题、非线性问题较为困难,对参数和核函数较敏感,须要结合实际情况进行选择.针对SVM方法可设计自动调参方法,如网格搜索、遗传算法、贝叶斯优化等,以选择最优的参数组合.结合深度学习方法,使用预训练的深度学习模型,或者将支持向量机与深度学习模型进行级联,以获得更好的识别性能.2.1.5 基于神经网络识别方法神经网络识别方法相较于结构和统计识别方法有更强的自适应能力,可以较好地模拟数据之间的复杂关系.该方法通过处理神经元并使用一定的模型将之连接为一个网络,进而模仿神经系统的工作原理,从而达到识别效果.此类方法原理如图7所示,图中:x为输入数据;h为预测值.10.13245/j.hust.241103.F007图7神经网络识别方法原理图文献[45]使用神经网络识别西夏文字,通过加长网络训练时间,或者增加网络隐含层神经元的个数,增加特征分辨率的方式提高识别精度.建立基于字根外形及字根间相对位置的西夏文字识别方法,使西夏文字机器识别效率得到较大提升,但是该方法存在识别率低、样本量不足的问题.而文献[7]则针对样本有限的问题,设计了一种监督学习算法——MLP多层感知器网络模型,根据输入数据的期望输出进行学习,从输入层经隐含层到最后激活层,层层递进,利用损失函数不断调整各层权重和偏差,提升识别精度.在此基础上,可考虑采用优化算法加速网络收敛速度和优化过程,引入正则化技术控制网络的复杂度和防止过拟合,或使用其他更先进的神经网络结构处理图像和序列数据,提高识别性能.神经网络识别方法多依赖于统计特征,相比于其他方法,神经网络识别方法对于不精确和模糊信息的识别效果更好,具有较好的自学习和自适应能力,同时有较好的容错能力,即使局部神经元出现错误或受到破坏,训练结果也不会受到过大的影响.但此类方法收敛速度较慢,易导致过拟合问题,难以解决实例数据规模和网络规模产生矛盾.在实际应用中,须对神经网络进行适当的优化,以达到最佳的识别效果.以上传统西夏文字识别方法虽然在一定程度上可以保证识别准确性,但其存在很大局限性,无法满足实际应用的需要,同时分类识别准确率也相对较低.表4总结展示了传统西夏文字识别方法的优缺点,所用数据集及识别率.这些方法虽然可以对10.13245/j.hust.241103.T004表4传统西夏文字识别方法对比表方法优点局限性识别方法识别准确率/%基于结构的方法对简单字符结构特征提取较快,适用于标准字体识别对复杂字符特征提取和识别难度较大,对手写字符及图像噪声较为敏感基于ASM算法提取笔形特征方法[4]—基于MeanShift算法的笔形识别方法[41]—基于四角编码的识别方法[41]—基于统计的方法在识别算法上实现简单,适用于给定有限数据量的数据集识别,识别精度较高对样本数据集要求较高,样本数据集过小,易导致数据收集不完善Level Set[43]90.00以上基于不变矩识别方法[44]83.00左右基于多级分类识别方法[1]89.00以上结构和统计结合的方法对相似形字符区分度较高,有较好的抗干扰能力和鲁棒性在小样本数据集上表现较差,对提取识别特征有较大限制基于弹性网格识别方法[2]87.99支持向量机方法适用于小样本的学习识别,对异常值不敏感,有较好的鲁棒性、全局优化性和泛化性不适用于大规模训练样本,对多分类问题、非线性问题处理困难,对参数和核函数选择较为敏感HOG+FSVM[5]85.70HOG+SVM[5]78.60神经网络方法有较好的自学习和自适应能力,对数据间关系模拟能力强,适合处理不精确和模糊信息识别,有较好的容错能力收敛速度较慢,对过拟合问题的处理能力较差,对数据规模和网络规模矛盾问题难以调和BP网络[5]—MLAE[7]65.43MLP[7]70.29注:“—”表示未发现.西夏文字进行处理和分类,但是也存在着一些问题,如对于序列变化的文本数据处理效果不佳、精度较低等.2.2 基于深度学习的西夏文字识别方法近年来,由于深度学习方法具有通用性和高效性的特点,在文字识别领域得到广泛应用,如卷积神经网络、AlexNet,GoogleNet,MobileNet,SqueezeNet,DenseNet和CapsNet等.随着西夏文字数据库不断完善发展,西夏文字识别的深度学习方法研究得到较快发展.在传统西夏文字识别方法的基础上,研究人员添加卷积神经网络或循环神经网络等结构,自动提取特征并学习输入数据之间的关系,进一步提高了西夏文字识别的准确性和鲁棒性.2.2.1 经典CNN识别方法卷积神经网络(CNN)是一种人工神经网络,其结构一般由若干卷积层、池化层、全连接层组成.CNN随着2012年AlexNet[46]网络的出现而开始蓬勃发展,相继出现了GoogleNet[47],ResNet[48],DensNet[49]和SeNet[50]等经典卷积神经网络.CNN的优势在于可以较好符合输入图像和网络拓扑结构,将特征提取和模式分类同时进行,无须手动选取特征直接产生于训练中.此外,通过权重共享,CNN可以大幅度简化网络结构,提高网络的适应性.此类方法原理如图8所示,图中:Conv为卷积层;Relu为激活函数;Pooling为池化层.10.13245/j.hust.241103.F008图8基于CNN的识别方法原理图文献[51]使用Keras框架搭建了一个八层的CNN模型,并通过基于MLSD的样本扩充方法解决了样本不平衡问题,在200类样本的数据集上实现了78.18%的识别准确率,明显优于同类条件下基于MLP模型、基于小波技术和基于BP神经网络等方法的识别率.然而,该方法的识别精度依赖于样本数量,其精度可能随着每个类别样本数量的增加而有所提高.文献[9]则使用基于GoogleNet的深层卷积神经网络DCNN进行迭代训练,以建模输入和输出之间的复杂非线性关系,从原始数据中提取特征,在训练的同时不断调整超参数,优化识别,其识别准确率达到94%以上.与别的方法不同的是,DCNN通过聚类来对未标记的西夏文字图像进行分类,但此方法在多类别、多风格的西夏文字识别任务中效果不佳.文献[51]与文献[9]均受限于样本数据不足问题,对此可通过数据增强、重采样、扩充数据集的方式有效改善.多项研究表明合理选择、处理数据对模型性能提升有极大作用.在深度学习中,数据可分为有注释数据和无注释数据,有注释数据常常被用来训练模型,而无注释数据则可以用来做数据扩充、迁移学习等任务.在字符识别领域,当使用无注释数据进行训练时,由于没有明确标签信息,无法准确判断每个字符对应类别,因此对识别效果会产生消极影响.针对此问题,文献[52]将softmax函数改为sigmoid激活函数,使用交叉熵损失的深度神经网络结构,对无注释数据集的字符识别有较好效果.文献[53]以DenseNet[49]模型为基础,使用深度可分离卷积代替传统卷积,并加入CBAM注意力模块抑制背景噪声,提高对西夏字符笔划特征的关注度.此模型在大幅度减少模型参数量的同时,依旧保持了较高的识别精度.但此类方法多基于已知风格的字符识别研究,无法处理未知风格、形状、大小的字符识别问题,局限性较大.且该方法虽采用深度可分离卷积,但由于其采用的是固定的卷积核尺寸,因此无法充分地适应不同大小和形状的字符.此方法可通过扩展到未知风格字符的识别,设计更灵活的卷积核尺寸或引入其他自适应机制,以提高模型的泛化能力和适应性.文献[16]则通过使用多尺度特征提取残差单元(M-ResNet)处理滤波器尺寸输入.其一部分使用与残差网络相类似结构,另一部分使用不同卷积核大小的过滤器捕捉不同级别的特征细节,提升了对不同大小和形状字符的适应能力,扩大了网络视野,更准确的生成目标字符图像,同时采用分组卷积减少模型参数,在M-ResNet单元传输模块中加入SE注意力模块,通过其字符生成识别模型,提高生成目标图像的质量,降低训练难度,提高模型效率.在此基础上可以探索更多的数据增强技术、迁移学习方法或跨领域训练等方法,以提高模型对不同数据集和未知字符样式的泛化能力.CNN本质上是一种输入到输出的映射,不需要精确的数学公式,只须要对卷积网络加以训练,使其具有输入输出之间的映射能力.CNN对高维数据处理有很大优势,但在训练时需要样本量较大,且须要调整较多参数,同时池化层易忽略局部与整体之间的关联性.值得注意的是:以上方法大多基于已知风格的字符识别研究,因此在处理未知字符样本时,局限性可能会增加.对此可考虑使用生成模型扩充训练数据集,提高模型泛化能力.而在数据生成中,有研究表明:无注释数据识别效率和有注释数据识别效果之间也存在较大差异,这是因为无注释数据缺少明确的标签信息,而深度学习模型须要通过标签信息来学习特征和规律.针对这种情况,可以采用无监督学习或半监督学习等方法来解决问题.2.2.2 基于生成模型与端到端识别方法现阶段西夏文字识别方法多受限于样本数据问题,故可以使用基于生成模型和端到端识别方法解决样本数量少,样本数据不均衡等问题.生成模型的方法可以通过生成合成样本来增加训练数据,合成少数类样本来平衡数据集中的类别分布.端到端的方法则可以通过单个模型或目标函数实现多步骤、多模块的识别问题,充分利用了文字检测和文字识别两分支之间的互补监督信息,共享卷积计算,可以有效降低整体识别复杂度.端到端识别方法原理如图9所示,图中FC为全连接层.10.13245/j.hust.241103.F009图9基于端到端识别方法原理图文献[54]使用基于风格迁移的手写西夏文字样本生成方法,将U-Net网络和残差网络结合作为cGAN的生成模型,经过风格迁移扩充后的西夏文字样本数据集在经典深度识别模型上的准确率比原始样本识别准确率至少提升36%,极大解决了原始西夏文字样本数据不均衡分布的缺陷.但此方法识别精度严重依赖样本生成质量,同时由于采用U-Net和残差网络作为生成模型,因此会极大增加计算复杂度和模型训练时间.对此可以通过改进样本生成质量、考虑样本多样性和不平衡问题、引入更多的预处理和后处理方法、考虑语义信息和上下文关系等方法进一步提高模型识别准确率和性能.文献[55]使用Target-Directed Mixup (TDM)方法生成西夏文字不可见类的虚拟示例,用虚拟例子代表西夏文字中的罕见字符,扩充训练数据集.使用该数据集经典深度学习模型的训练识别率达到97%以上.此方法引入了类别间关系,将虚拟示例与真实示例进行混合,有助于模型学习字符之间的相似性和区别,提高模型鲁棒性和泛化能力.但通过此方法生成的虚拟示例可能会引入数据分布偏差,导致模型在真实数据上的表现下降.此方法的改进可着眼于提升虚拟示例的准确性、多样性的数据增强策略、数据分布偏差的调整、算法效率的提升或结合其他方法,以进一步提高西夏文字识别性能.针对现阶段西夏文字识别方法在多类别、多风格的任务中效果不佳问题,文献[10]提出基于CNN的五层端到端西夏文识别网络TCRNet,并设计了Tangut-CycleGAN+SE生成模型,该模型可以生成内容准确、风格与古籍西夏文字接近的西夏文字图像.此外,在TCRNet的基础上,结合Softmax损失函数和动态权重的中心损失函数提出端到端的相似西夏文字识别网络STCRNet,其在TCD-E数据集上的识别率达到97.75%.整体而言,TCRNet和STCRNet在西夏文字识别方面的识别准确率和推理速度达到了目前研究的最优结果.此方法直接从原始图像中进行特征提取和识别,简化了识别流程,提高了效率,且通过扩充数据集,提高了识别的泛化能力.但此生成模型的效果受限于训练数据的质量和多样性,若训练数据不足或不具代表性,则生成的文字图像可能不够准确,同时训练较为复杂,所需计算资源较多,对超参数的调整较为敏感,须要耗费较长的时间和精力进行训练和优化.针对此方法可通过数据增强和扩充、降低模型复杂度和优化推理速度、引入注意力机制、结合先验知识以及跨领域迁移学习等方式进行优化提升.当前西夏文字识别多针对于规则、质量较高的西夏文献,对于杂乱、倾斜等干扰较大的西夏文献处理识别较为困难.为解决此问题,文献[56]针对西夏文献倾斜文本定位问题,在进行文字识别前使用基于增加CA注意力机制的AdvancedEAST[57]算法的文本定位对西夏文献图像提前进行列定位,后结合TexRNet文本分割方法对图像进行分割,降低背景噪声带来的干扰,使用现阶段较为成熟的Tesseract光学字符识别引擎,在一定程度上对西夏文字识别领域的发展有极大促进作用.此方法在提高文本定位准确性、降低噪声干扰等方面有显著效果,但也存在一些缺陷,此方法过于依赖预定位算法,受限于预定位算法性能,若文本定位不准确,则对后续识别结果有极大影响.且此方法受限于训练数据的质量和多样性,依赖于标注数据,若训练数据不足或不具代表性,则识别效果会出现偏差.对此,可通过改进文本定位算法、优化文本分割方法、优化字符识别引擎配置和参数设置、融合多模态信息等方式提升对西夏文献倾斜文本的定位和识别.生成模型极大程度上改善了西夏文字识别任务中的数据问题,解决样本不足和类别不平衡等问题.同时端到端模型的出现在很大程度上简化了整个识别系统的流程,减少了各个环节的耦合,提高了整个系统的可靠性和效率.其主要优势在于能够直接从原始数据中学习表示,无须依赖人工设计的特征工程,从而使得模型具备更强大的表示学习能力,并且具备一定的通用性和泛化能力.但也存在一定的局限性.首先,端到端模型会降低网络模型的可解释性,使得整个模型中各个部分发挥的作用不明确.这使得当模型在实际应用中出现问题时,调试和排错变得困难.其次,端到端模型的灵活度相对较低,难以针对不同的问题和数据进行调整和优化.此外,由于端到端模型会直接从原始数据中提取特征,容易产生数据冗余,导致模型精度下降.因此,当使用端到端模型进行识别时,须要权衡模型的可解释性和灵活度,以及模型的精度和效率.另外,也须要在模型设计和训练过程中注重特征提取的优化和冗余消除,以提高模型的精度和泛化能力.此外,还须要注意模型的可解释性问题,采用一些可解释性较强的方法和技术,以便对模型进行调试和优化.2.2.3 基于CapsNet识别方法卷积神经网络(CNN)和胶囊网络(Capsule Network)都是现阶段较为热门的图像识别网络,但二者在处理图像中的方法和理念有所不同.CNN通常采用卷积和池化操作来提取图像中的特征,但这种方法缺乏空间关系信息,因此对于具有方向性、旋转和变形的字符图像存在一定的限制.而胶囊网络通过一组神经元的集合构成隐藏层,使用向量来表示图像中的局部和全局关系,使用动态路由算法代替传统CNN方法中的池化操作,可以更好解决CNN对图像发生旋转、倾斜等方向性问题后识别能力和空间辨识度差的缺陷,很大程度上降低了对训练数据量的要求.此类方法原理如图10所示.10.13245/j.hust.241103.F010图10基于CapsNet识别方法原理图文献[58]将CNN和CapsNet结合起来,提出A-CapsNet识别网络来识别单类样本数量较少的西夏文字.利用AlexNet网络的前五层提取深层次的图像特征,而CapsNet网络使用动态路由机制编码特征信息.将图像中的有效标量信息转化成为向量信息,关注特征信息之间的位置关系,对样本数量较少的识别任务有较强适应性.实验结果表明:该方法的识别准确率达到94%,明显优于CNN方法(LeNet 76.0%,VGG 85.0%,GoogleNet 87.6%,ResNet 86.0%,CapsNet 91.0%,A-CapsNet 94.0%).此方法结合两种不同的网络结构,利用CNN提取深层次的图像特征,使用CapsNet编码特征信息,兼顾两种网络优势,提高了识别性能.虽然胶囊网络在解决方向性和变形信息方面表现出色,对神经网络内部的分层关系建模更有优势,但是由于动态路由机制须要耗费更多的计算资源,其整体的识别效率较低.相比端到端的西夏文字识别方法而言,CapsNet的结构更加复杂,其可解释性也相对更强,但其内部的分层关系建模更加困难,需要更高的技术门槛和专业知识.针对CapsNet的这些问题,可通过引入注意力机制,改进动态路由算法,增强对西夏文字的适应性;也可通过跨领域迁移学习,在其他相关领域的大规模数据集上进行预训练,将学到的特征迁移到西夏文字识别任务中,提高模型在小样本情况下的性能;或将西夏文字识别任务与其他相关任务进行联合学习或多任务学习.通过同时训练多个任务,共享特征表示,提高模型的泛化能力和鲁棒性.2.2.4 基于RNN识别方法循环神经网络(RNN)是一种在神经网络基础上增加了前后时序关系的模型,在处理具有时序特性的数据方面具有优势,相比全连接神经网络,循环神经网络可以处理任意长度的输入和输出,具有较好的表现,特别是在文本分析方面.研究表明:RNN可以处理可变长度的输入序列,并能够捕获序列中元素之间的长期依赖关系.此类方法原理如图11所示,图中:X为输入层向量;S为隐藏层值;Y为输出层向量;W为权重矩阵.10.13245/j.hust.241103.F011图11基于RNN识别方法原理图鉴于传统西夏文献中西夏文字序列存在一定变化,文献[11]结合DCNN和RNN,通过从序列标签中学习表征能力,跳过特征切分和定位的步骤,实现了较高程度的西夏文字列识别效果.CRNN将两种网络的优势充分融合,解除了对西夏文字序列的长度限制,减轻了以往识别方法所需的预处理准备,同时大大减少了网络所需的参数量和空间需求量,实现了较高程度的西夏文字列识别效果,准确率达到90%以上.该方法能够有效利用序列数据的时序信息,其组合结构还可以克服单一神经网络模型在序列数据处理方面的一些不足,如处理长序列数据时出现的梯度消失或梯度爆炸等问题.对此方法可考虑引入外部的语言模型,如语言模型或语言规则,以增强对西夏文字序列的语义理解.帮助模型更好地识别和校正西夏文字序列中的错误.同时引入强化学习方法,进一步优化西夏文字列识别模型,设计适当的奖励机制和训练策略,使模型能够自动调整参数,以最大化识别性能.基于RNN的识别方法存在计算速度慢、易发生梯度消失或梯度爆炸等问题,相较于CNN识别方法而言需要更大的显存空间,训练难度更大.针对这些问题,可以通过使用LSTM等改进的RNN结构、剪枝网络参数等方法来提高计算效率,或者采用更为先进的计算机硬件来加速模型训练和推理,也可采用一些加速技术,如并行计算或权值剪枝等,来提高RNN的计算速度,降低其显存需求.表5总结展示了基于深度学习的西夏文字识别10.13245/j.hust.241103.T005表5深度学习的西夏文字识别方法汇总表识别方法优点局限性识别模型识别准确率/%经典CNN识别方法无须手动选取特征,对输入图像和网络拓扑结构吻合度高,共享卷积核,对高维数据有较好的处理能力,特征分类效果好,网络效率高训练所需数据样本量大,须要调参,池化层易忽略局部与整体之间的关联性CNN[51]78.18DCNN[9]94.00DS-CBAM-DenseNet[53]97.48GoogleNet修改版[11]98.00以上CNN[11]78.18基于生成模型与端到端识别方法解决了样本数量少,样本数据不均衡等问题.同时规避了多模块缺陷,减少模型复杂度,降低了整体识别复杂度降低了网络模型的可解释性,灵活度较低,易产生数据冗余LeNetVGGResNetDenseNetCapsNet[54]76.0085.0086.0087.0091.00AlexNetGoogleNetMobileNetSqueezeNetDenseNet[55]97.3298.4097.1097.5098.20TCRNet[10]97.96STCRNet[10]97.75TexRNet+Advanced-EAST(CA)+Tesseract[56]76.00基于CapsNet识别方法对神经网络内部分层关系建模优势更大,有较强的可解释性,空间辨识度强,降低了对训练数据量的要求训练效率慢,胶囊网络彼此过于接近,易发生胶囊拥挤A-CapsNet[58]94.00基于RNN 的识别方法具有记忆功能,对处理序列特性数据效果较好,对输入输出长度无限制,同CNN结合使用可以得到更好的效果计算速度较慢,易发生梯度消失或梯度爆炸问题,所需显存空间更大,训练难度较大CRNN[11]90.00以上方法优缺点、所使用网络模型及识别准确率.从表中可以看出:深度学习方法具有良好的识别率,同时可以有效解决传统方法中样本量不足、特征提取困难等问题.然而,深度学习方法需要大量的数据和计算资源,同时网络模型的选择和参数调整也对识别精度产生较大的影响,因此当具体应用时须要根据实际情况进行选择和调整,以达到最优的识别效果.3 总结与展望本研究从西夏文字数据集和识别方法两方面,对西夏文字识别研究的主要工作进行了总结.由于实用需求的复杂性,现有研究无法满足,因此本领域仍存在诸多研究空白.在数据集方面,现有的数据集大多为单字符数据集,这使单字符的西夏文字识别取得了长足进展.然而,列数据集、文本数据集和残缺字符数据集较少,尤其是残缺字符数据集与完整的整页西夏文本数据集,导致与其相关文字识别的研究较少.这是一个尚未被开发的领域,仍处于空白阶段,因此构建高质量、大规模,包含单个字符、残缺字符、列数据和文本数据的大型数据集是一项重要的工作,迫切须要加快对整页西夏文字识别的研究,更好地了解和解读西夏文化遗产,这将有助于推动西夏学的发展、保护和传承.在识别方面,深度学习的识别方法使西夏文字识别取得了长足进展.然而,识别方法尚存在识别精度不高,残缺字符、模糊文字无法识别、对文字图像的质量要求高等问题.对此可通过优化网络,进一步扩展模型优化能力,增强多语种、不同字体、书写风格、语言特点的适应性.结合其他感知模态,如语音、上下文信息等,融合多模态信息,提供更全面的西夏文字识别.同时也可引入强化学习,优化西夏文字识别过程中的策略和决策过程,如处理识别错误、纠正错误、自适应模型调整等,进一步提高模型的性能和鲁棒性.更进一步将西夏文字识别模型应用于实际场景中.具体而言,由于西夏文字已经断绝,想获得文字的标签比较困难,后续可通过无监督或半监督方法深入研究西夏文字识别方法.在无监督学习方面,可以探索使用自组织聚类、聚类分析和生成模型等技术来发现西夏文字的潜在结构和模式.通过这种方式发现西夏文字的特征并进行聚类,进而实现西夏文字的识别.在半监督学习方面,可以考虑利用少量标注数据和大量未标注数据的结合.通过半监督方法如自训练、伪标签等,结合少量已知标签的数据来引导模型进行训练和识别,从而提高识别精度.也可引入近年来较为流行的Transformer方法,通过自注意力机制进行特征提取和建模,以提高识别的精度和准确性.与此同时,深入研究异体字和变体处理,高噪声环境下的西夏文字识别.由于西夏文字的文物多受到时间的侵蚀和破坏,图像质量较差,因此须要深入探究在高噪声环境下,如何设计适应性算法和技术,并融入西夏文化背景,提高对西夏文字的准确解读和识别,提升识别模型鲁棒性.在实际应用方面,为了更好地将西夏文字识别技术应用到实际生活中,须要设计使用轻量级的网络将其部署在小型或移动设备上,使西夏文字更快为大众所了解,实现西夏文字更加广泛的应用和传承.传统文化保护传承方面,西夏文字是我国重要的文化遗产之一,因此保护和传承西夏文字文化是一个重要的任务.然而,由于缺乏相关技术的支持,目前西夏文字文化的保护和传承工作还存在较大困难,因此须要加强技术研究,开发更加高效的技术手段,保护和传承西夏文字文化.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读