首页> 中国专利> 基于最优全局仿射变换的汉字合成实现方法

基于最优全局仿射变换的汉字合成实现方法

摘要

本发明提供一种基于最优全局仿射变换的汉字合成实现方法,采用基本汉字部件库来存储组成汉字的部件图像,并利用全局仿射变换得到的仿射变换参数来变换基本汉字部件库中的部件,再将变换后的部件组成汉字。本发明设计了55种基本汉字部件图像,给出了全局仿射变换参数的计算方法,并使用以结构相似度评判方法来对合成汉字图像结构质量进行评判。本发明利用55种基本部件图像及相应的仿射变换,可以合成任意汉字,使得汉字存储量大大减少。

著录项

  • 公开/公告号CN101105858A

    专利类型发明专利

  • 公开/公告日2008-01-16

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN200710029079.0

  • 发明设计人 金连文;俎小娜;

    申请日2007-07-09

  • 分类号G06T3/00(20060101);G06F17/28(20060101);

  • 代理机构广州粤高专利代理有限公司;

  • 代理人何淑珍

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-12-17 19:37:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    未缴年费专利权终止 IPC(主分类):G06T3/00 授权公告日:20090826 终止日期:20160709 申请日:20070709

    专利权的终止

  • 2009-08-26

    授权

    授权

  • 2008-03-05

    实质审查的生效

    实质审查的生效

  • 2008-01-16

    公开

    公开

说明书

                        技术领域

本发明属于信息技术的汉字合成领域,特别是涉及一种基于最优全局仿射变换的汉字合成实现方法。

                        技术背景

汉字在信息时代暴露出了存储量大的弱点,这些弱点给汉字字库在各种电子产品中的使用增加了困难。采用分级汉字字库减小汉字图像存储量是一个可行的解决途径。但在汉字图像存储中,每个汉字都由几个部件构成,这些部件包括基本笔画、偏旁部首以及字元,基本笔画如一丨丿丶乚等,偏旁部首如艹钅亻犭纟等,字元如羽鬼仓田免等,许多的部件在不同的字中经常重复出现,所以在基本汉字部件库中只存储常用的部件,而每个汉字都通过这些部件来生成,从而达到减少存储量的目的。但是同一个部件在不同汉字中呈现不同的形态,如“攵”在“敖、悠”中,“木”在“林”,“树”,“枝”,“果”中,如何设计分级汉字字库及如何变换字库中的部件令其产生这些不同的形态至关重要。

现有技术包括将一个汉字分割成几块,再根据块间的比例将部件拼接起来;也包括根据汉字部件之间的结构将各种部件拼接起来,调整部件的比例结构从而达到较好的效果。这些方法都使用了部件的概念,但生成汉字时使用拼接的方法会使生成的汉字比较呆板。

在用部件生成汉字的时候,不仅需要将部件平移、缩放,还要形变,因此现有技术中还出现使用手动选点的仿射变换方法来构建基本汉字部件库,即在汉字和部件上手动地取对应的三点从而求出所需要的仿射变换参数。但是仅“楷体GB_2312”国标一级字库中就有3755个汉字,再加上字库中的五百多个部件,如果手动地选点,不仅人工工作量巨大,而且主观因素影响大,准确率不高,耗时耗力。

                            发明内容

本发明的目的在于克服现有技术的不足,使用最优全局仿射变换方法来构建基本汉字部件库,能够自动地匹配字库中的部件与汉字中对应部件的几何形状与位置并计算出仿射变换参数,在保证模拟结果的基础上既提高了效率,也提高了计算仿射变换参数的速度。

为了实现上述发明目的,采用的技术方案如下:

设计并采用基本汉字部件库来存储组成汉字的部件图像,并利用全局仿射变换得到的仿射变换参数来变换基本汉字部件库中的部件,再将变换后的部件组成汉字。基本汉字部件库由如下55个基本汉字部件图像组成:

用S表示基本汉字部件库中的部件,即源图像,R表示标准汉字图像相应的部件,即目标图像:

S={s1,s2,...,si,...,sm}

R={r1,r2,...,rj,...,rn)                               (1)

si是S的第i个黑象素点,rj是R的第j个黑象素点,点的排列顺序可以是任意的。则si经过全局仿射变换后对应的点si*为:

<mrow><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>=</mo><mfenced>

A,b为仿射变换参数,A为二维矩阵,b为二维列向量,则S经全局仿射变换变换之后的得到的合成汉字图像为

<mrow><msup><mi>S</mi><mo>*</mo></msup><mo>=</mo><mo>{</mo><msubsup><mi>s</mi><mn>1</mn><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msubsup><mi>s</mi><mn>2</mn><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>s</mi><mi>m</mi><mo>*</mo></msubsup><mo>}</mo></mrow>

使S*和R的最近邻点距离的加权均值DNN最小化来求解仿射变换参数A和b,数学表示如式(2)所示

<mrow><mi>&Phi;</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mo>|</mo><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow>

<mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>

→Min for A,b

其中,

<mrow><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&mu;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mrow><mi>m</mi></mfrac><mo>+</mo><mfrac><mrow><msub><mi>v</mi><mi>ji</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mrow><mi>n</mi></mfrac></mrow>

<mrow><msub><mi>&mu;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mo>[</mo><mo>-</mo><mfrac><mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><msub><mi>min</mi><mi>k</mi></msub><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>k</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>D</mi></mfrac><mo>]</mo></mrow>

<mrow><mrow><msub><mi>v</mi><mi>ji</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mo>[</mo><mo>-</mo><mfrac><mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><msub><mi>min</mi><mi>k</mi></msub><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>k</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>D</mi></mfrac><mo>]</mo></mrow><mo>.</mo></mrow>

求解式(2)只需Φ对A和b同时求微分,得式(3)式(4)所示的方程组:

<mrow><mn>0</mn><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&Phi;</mi></mrow><mrow><mo>&PartialD;</mo><mi>A</mi></mrow></mfrac><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msup><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>t</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow>

<mrow><mn>0</mn><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&Phi;</mi></mrow><mrow><mo>&PartialD;</mo><mi>b</mi></mrow></mfrac><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow><mo>;</mo></mrow>

并将公式(3)两边同时求转置得到公式(5):

<mrow><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>;</mo></mrow>

则由公式(4)和(5)组成公式(6)所示的方程组:

<mrow><mi>A</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><mi></mi><mrow><mi></mi></mrow><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow></mrow>

<mrow><mo>-</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>0</mn></mrow>

<mrow><mi>A</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><mi></mi><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow>

<mrow><mo>-</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>

解方程组(6)即得仿射变换参数A,b如公式(7):

<mrow><mi>A</mi><mo>=</mo><mrow><mo>(</mo><mi>tQ</mi><mo>-</mo><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi></mi><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>tM</mi><mo>-</mo><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mi></mi><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>

<mrow><mi>b</mi><mo>=</mo><mfrac><mrow><mo>(</mo><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mi>A</mi><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mi>t</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>

其中,公式(7)中的各参数如下所示:

<mrow><mi>M</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>;</mo></mrow><mrow><mi>Q</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>;</mo></mrow>

<mrow><mi>t</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>;</mo></mrow><mrow><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mi></mi><mo>;</mo></mrow>

<mrow><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><mo>;</mo></mrow><mrow><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><mo>.</mo></mrow>

上述述仿射变换参数的计算过程还包括最优的仿射变换参数计算,最优的仿射变换参数计算采用迭代的过程来得出最优的A和b,迭代过程采用S*代替公式(2)中的源图像S,当S*与基本汉字部件库中的目标图像R的距离不再减小时结束。最优的仿射变换参数AGAT和bGAT的具体迭代计算过程如下:

假设第i次迭代过程中得到的仿射变换参数为Ai和bi,第i次迭代后总的仿射变换参数为AiGAT和biGAT,则第n次迭代后的图像Sn*如下:

<mrow><msubsup><mi>S</mi><mi>n</mi><mo>*</mo></msubsup><mo>=</mo><msubsup><mi>A</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>*</mo><mi>S</mi><mo>+</mo><msubsup><mi>b</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow><mo>,</mo></mrow>

同时,

<mrow><msubsup><mi>S</mi><mi>n</mi><mo>*</mo></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>S</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub></mrow>

<mrow><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><mrow><mo>(</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>*</mo><mi>S</mi><mo>+</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub></mrow>

<mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>)</mo></mrow><mo>*</mo><mi>S</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow><mo>,</mo></mrow>

由公式(8)和(9)可得第n次迭代后总的仿射变换参数为:

<mrow><msubsup><mi>A</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup></mrow>

<mrow><msubsup><mi>b</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>=</mo><mn>2,3,4</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>

当n=1时<mrow><msubsup><mi>A</mi><mn>1</mn><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mn>1</mn></msub><mo>,</mo></mrow><mrow><msubsup><mi>b</mi><mn>1</mn><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>b</mi><mn>1</mn></msub><mo>.</mo></mrow>

为了得到较好的变换效果,计算仿射变换参数之前先对基本汉字部件库中的部件源图像以及目标图像进行预处理,所述预处理包括对齐两幅图像的重心、提取轮廓、骨架或者特征点,所述特征点包括轮廓上的拐点及端点。仿射变换仅仅在特征点上进行,这样有效的降低了计算复杂度。使用重心对齐方法可以改善模拟质量。本发明使用以图像结构作为评判中心的结构相似度评判方法来对组成合成汉字的各部件的结构关系是否合理,以及合成汉字是否美观进行判断。结构相似度评判方法具体实现如下:

分别用X={xi|i=1,2,...,N}和Y={yi|i=1,2,...,N}表示源图像和测试图像,则相似度Q的定义如公式(11)所示:

<mrow><mi>Q</mi><mo>=</mo><mfrac><msub><mi>&sigma;</mi><mi>xy</mi></msub><mrow><msub><mi>&sigma;</mi><mi>x</mi></msub><msub><mi>&sigma;</mi><mi>y</mi></msub></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><mn>2</mn><mover><mi>x</mi><mo>&OverBar;</mo></mover><mover><mi>y</mi><mo>&OverBar;</mo></mover></mrow><mrow><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><mn>2</mn><msub><mi>&sigma;</mi><mi>x</mi></msub><msub><mi>&sigma;</mi><mi>y</mi></msub></mrow><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow><mo>,</mo></mrow>

其中,<mrow><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi></mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo></mrow><mrow><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>y</mi><mi>i</mi></msub><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>xy</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>;</mo></mrow>Q的取值范围为[-1,1],取值越大代表两个图像的结构相似度越高。

对于同一幅图像,不同区域的图像质量是有差异的,因此使用了滑动窗,如果滑动窗的数目是M,每个窗内的结构相似度为Qj,则整幅图像最终的结构相似度为:

<mrow><mi>Q</mi><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>Q</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>

本发明基于最优全局仿射变换方法构建的基本汉字部件库与真实汉字的变换关系,利于数量有限的基本部件库及仿射变换参数自动生成汉字,大大减少了字库的存储量,有着广泛的应用价值,如应用于掌上电脑、手机、嵌入式系统或单片机中,可以大大减少存储量需要的成本。

                     附图说明

图1为本发明以实施例的流程图;

图2为计算相似度的流程图。

                     具体实施方式

本发明并采用基本汉字部件库来存储组成汉字的部件图像,并利用全局仿射变换得到的仿射变换参数来变换基本汉字部件库中的部件,再将变换后的部件组成汉字。基本汉字部件库由如下55个基本汉字部件图像组成:

用S表示基本汉字部件库中的部件,即源图像,R表示标准汉字图像相应的部件,即目标图像:

S={s1,s2,...,si,...,sm}

R={r1,r2,...,rj,...,rn}                           (1)

si是S的第i个黑象素点,rj是R的第j个黑象素点,点的排列顺序可以是任意的。则si经过全局仿射变换后对应的点Si*为:

<mrow><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>=</mo><mfenced>

A,b为仿射变换参数,A为二维矩阵,b为二维列向量,则S经全局仿射变换变换之后的得到的合成汉字图像为    

<mrow><msup><mi>S</mi><mo>*</mo></msup><mo>=</mo><mo>{</mo><msubsup><mi>s</mi><mn>1</mn><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msubsup><mi>s</mi><mn>2</mn><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>s</mi><mi>m</mi><mo>*</mo></msubsup><mo>}</mo></mrow>

使S*和R的最近邻点距离的加权均值DNN最小化来求解仿射变换参数A和b,数学表示如式(2)所示

<mrow><mi>&Phi;</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mo>|</mo><msubsup><mi>s</mi><mi>i</mi><mo>*</mo></msubsup><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow>

<mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>

→Min forA,b

其中,

<mrow><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&mu;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mrow><mi>m</mi></mfrac><mo>+</mo><mfrac><mrow><msub><mi>v</mi><mi>ji</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow></mrow><mi>n</mi></mfrac></mrow>

<mrow><msub><mi>&mu;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mo>[</mo><mo>-</mo><mfrac><mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><msub><mi>min</mi><mi>k</mi></msub><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>k</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>D</mi></mfrac><mo>]</mo></mrow>

<mrow><mrow><msub><mi>v</mi><mi>ji</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mo>[</mo><mo>-</mo><mfrac><mrow><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>-</mo><msub><mi>min</mi><mi>k</mi></msub><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>s</mi><mi>k</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow><mi>D</mi></mfrac><mo>]</mo></mrow><mo>.</mo></mrow>

求解式(2)只需Φ对A和b同时求微分,得式(3)式(4)所示的方程组:

<mrow><mn>0</mn><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&Phi;</mi></mrow><mrow><mo>&PartialD;</mo><mi>A</mi></mrow></mfrac><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msup><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>t</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow>

<mrow><mn>0</mn><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&Phi;</mi></mrow><mrow><mo>&PartialD;</mo><mi>b</mi></mrow></mfrac><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow><mo>;</mo></mrow>

并将公式(3)两边同时求转置得到公式(5):

<mrow><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>As</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>;</mo></mrow>

则由公式(4)和(5)组成公式(6)所示的方程组:

<mrow><mi>A</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><mi></mi><mrow><mi></mi></mrow><mrow><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mi></mi></mrow><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow></mrow>

<mrow><mo>-</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>0</mn></mrow>

<mrow><mi>A</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><mi></mi><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow>

<mrow><mo>-</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>

解方程组(6)即得仿射变换参数A,b如公式(7):

<mrow><mi>A</mi><mo>=</mo><mrow><mo>(</mo><mi>tQ</mi><mo>-</mo><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi></mi><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>tM</mi><mo>-</mo><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mi></mi><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>

<mrow><mi>b</mi><mo>=</mo><mfrac><mrow><mo>(</mo><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mi>A</mi><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mi>t</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>

其中,公式(7)中的各参数如下所示:

<mrow><mi>M</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>;</mo></mrow><mrow><mi>Q</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mo>;</mo></mrow>

<mrow><mi>t</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>;</mo></mrow><mrow><mover><mi>&omega;</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msubsup><mi>s</mi><mi>i</mi><mi>t</mi></msubsup><mi></mi><mo>;</mo></mrow>

<mrow><mover><mi>k</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>s</mi><mi>i</mi></msub><mo>;</mo></mrow><mrow><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi></mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><munder><mi>&Sigma;</mi><mi>j</mi></munder><msub><mi>&rho;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><msub><mi>r</mi><mi>j</mi></msub><mo>.</mo></mrow>

上述述仿射变换参数的计算过程还包括最优的仿射变换参数计算,最优的仿射变换参数计算采用迭代的过程来得出最优的A和b,迭代过程采用S*代替公式(2)中的源图像S,当S*与基本汉字部件库中的目标图像R的距离不再减小时结束。最优的仿射变换参数AGAT和bGAT的具体迭代计算过程如下:

假设第i次迭代过程中得到的仿射变换参数为Ai和bi,第i次迭代后总的仿射变换参数为AiGAT和biGAT,则第n次迭代后的图像Sn*如下:

<mrow><msubsup><mi>S</mi><mi>n</mi><mo>*</mo></msubsup><mo>=</mo><msubsup><mi>A</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>*</mo><mi>S</mi><mo>+</mo><msubsup><mi>b</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow><mo>,</mo></mrow>

同时,

<mrow><msubsup><mi>S</mi><mi>n</mi><mo>*</mo></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>S</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub></mrow>

<mrow><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><mrow><mo>(</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>*</mo><mi>S</mi><mo>+</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub></mrow>

<mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>)</mo></mrow><mo>*</mo><mi>S</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow><mo>,</mo></mrow>

由公式(8)和(9)可得第n次迭代后总的仿射变换参数为:

<mrow><msubsup><mi>A</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>A</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup></mrow>

<mrow><msubsup><mi>b</mi><mi>n</mi><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mi>n</mi></msub><mo>*</mo><msubsup><mi>b</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>GAT</mi></msubsup><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>=</mo><mn>2,3,4</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>

当n=1时<mrow><msubsup><mi>A</mi><mn>1</mn><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>A</mi><mn>1</mn></msub><mo>,</mo></mrow><mrow><msubsup><mi>b</mi><mn>1</mn><mi>GAT</mi></msubsup><mo>=</mo><msub><mi>b</mi><mn>1</mn></msub><mo>.</mo></mrow>

本发明在计算仿射变换参数之前先对基本汉字部件库中的部件源图像以及目标图像进行预处理,所述预处理包括提取轮廓、骨架或者特征点,所述特征点包括轮廓上的拐点及端点。由于GAT变换需要遍历汉字图像上的每个点,实施例中在计算仿射变换参数之前先对源图像以及目标图像进行预处理:提取轮廓、骨架或者特征点(轮廓上的拐点及端点),这些预处理并未改变汉字和部件的基本形状,因此对仿射变换参数影响不大,但却提高了计算参数的速度,此方法称之为SGAT。

采用SGAT合成汉字的结果往往并不理想,特别是SGAT对单笔画基本上没有模拟能力,因此有必要对SGAT做一些改进。本实施例在SGAT迭代过程中,对源图像以及目标图像增加一个处理:对齐两幅图像的重心。即预处理包括提取轮廓、骨架或者特征点、对齐两幅图像的重心,所述特征点包括轮廓上的拐点及端点。本实施例将包括有对齐两幅图像的重心的方法称之为IGAT,通过IGAT对齐图像的重心之后,提高了汉字与部件最近邻点的正确匹配率,因此能够得到更好的仿射变换参数,但是对于汉字本身就是部件的汉字来说,由于重心计算误差,对齐重心的操作有时反而会使合成汉字与标准汉字出现位移上的偏差。因此为了每个汉字取得最优的仿射变换参数,在每次迭代过程中,都在SGAT(不对齐图像重心)和IGAT(对齐图像重心)所得到的参数中选择最优的参数,本文将该方法称之为NGAT,如附图2所示,将原图像及目标图像进行提取轮廓、骨架或者特征点的预处理后,分别通过SGAT和IGAT计算仿射变换参数,然后根据不同的汉字在迭代过程中选择最优的参数。

本实施例还使用结构相似度评判方法来对组成合成汉字的各部件的结构关系是否合理,以及合成汉字是否美观进行判断,结构相似度评判方法以图像结构做为评判中心的。

所述结构相似度评判方法具体实现如下:

分别用X={xi|i=1,2,...,N}和Y={yi|i=1,2,...,N}表示源图像和测试图像,则相似度Q的定义如公式(11)所示:

<mrow><mi>Q</mi><mo>=</mo><mfrac><mrow><mn>4</mn><msub><mi>&sigma;</mi><mi>xy</mi></msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mover><mi>y</mi><mo>&OverBar;</mo></mover></mrow><mrow><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>[</mo><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow><mo>,</mo></mrow>

其中,<mrow><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi></mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo></mrow><mrow><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>y</mi><mi>i</mi></msub><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow><mrow><msubsup><mi>&sigma;</mi><mi>xy</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>;</mo></mrow>Q的取值范围为[-1,1],当yi=xi(i=1,2,....N)时,Q=1;当<mrow><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mn>2</mn><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub></mrow>时,Q=-1;

为了更加清楚的理解Q的含义,对Q进行了简单的改写:

<mrow><mi>Q</mi><mo>=</mo><mfrac><msub><mi>&sigma;</mi><mi>xy</mi></msub><mrow><msub><mi>&sigma;</mi><mi>x</mi></msub><msub><mi>&sigma;</mi><mi>y</mi></msub></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><mn>2</mn><mover><mi>x</mi><mo>&OverBar;</mo></mover><mover><mi>y</mi><mo>&OverBar;</mo></mover></mrow><mrow><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><mn>2</mn><msub><mi>&sigma;</mi><mi>x</mi></msub><msub><mi>&sigma;</mi><mi>y</mi></msub></mrow><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow><mo>,</mo></mrow>

Q的第一项表示X和Y之间的线性关系,当yi=axi+b(i=1,2,....N,a,b为常数且a>0)时,该项为1;第二项表示X和Y的亮度关系,当<mrow><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>=</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover></mrow>时,此项等于1;第三项表示X和Y之间的相似度,当σx=σy时,该项等于1;

对于同一幅图像,不同区域的图像质量是有差异的,因此使用了滑动窗,如果滑动窗的数目是M,每个窗内的结构相似度为Qj,则整幅图像最终的结构相似度为:

<mrow><mi>Q</mi><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>Q</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow><mo>.</mo></mrow>

Q的定义式(12)中含有分母,对于二值化的汉字当使用滑动窗的时候,Q的分母很可能为0,因此本发明针对Q的计算问题进行了推导:

(1)只要不用“0”表示图像的特征,即可保证式(11)中<mrow><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup><mo>&NotEqual;</mo><mn>0</mn><mo>.</mo></mrow>

(2)当<mrow><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>&sigma;</mi><mi>y</mi><mn>2</mn></msubsup><mo>=</mo><mn>0</mn></mrow>时,σx=σy=0,则式(12)中的第三项等于1。根据σx2和σy2的定义可得此时<mrow><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi></mi><mo>,</mo></mrow><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>,</mo></mrow>如果<mrow><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>=</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>,</mo></mrow>则xi=yi,所以Q=1;如果<mrow><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>&NotEqual;</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>,</mo></mrow>令a=1,<mrow><mi>b</mi><mo>=</mo><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>,</mo></mrow>则yi=axi+b,因此式(12)的第一项为1,所以此时Q等于式(12)中的第二项,其流程图如附图2所示。

本实施例比较了各种仿射变换方法和预处理计算仿射变换参数所需要的时间,如表1所示:

表1.(单位ms):各种仿射变换和预处理计算参数所用时间(SPH:手动选点,C:轮廓,S:骨架,F:特征点)

  SPH  SGAT  (C)  SGAT  (S)  SGAT  (F)  NGAT  (C)  NGAT  (S)  NGAT  (F)  鲻  6110  22155  6812   218  12156   2765  187  缫  10203  34000  4609   156  21454   5687  204  侵  968  13889  3828   189  6562   1671  218  植  1670  20939  6140   203  7391   2219  203  拭  2173  6595  2188   188  3407   845  266  平均  4224.8  19515.6  4715.4   190.8  10194   2637.4  215.6

从表1中可以看出:

(1)对于三种不同的预处理(轮廓、骨架和特征点),无论是SGAT还是NGAT,特征点都具有明显的优势。这是因为特征点数远远少于轮廓和骨架的点数,大大降低了计算复杂度,提高了计算速度。

(2)当采用特征点时,SGAT和NGAT所用时间都远远少于手动选点的时间,甚至相差数十倍之多。

(3)当采用特征点时,NGAT具有和SGAT相当的时间性能。但是NGAT的模拟效果是SGAT无法比拟的。

本实施例在计算合成汉字和标准汉字的结构相似度时采用4*4的滑动窗,先对手动选点方法的国标一级字库的3755个“楷体GB_2312”的合成汉字进行评判,并把汉字按模拟效果从好到坏进行排序,为了说明NGAT的有效性,本文从前面模拟效果较好的1900个字中以50个汉字为间隔共取38个汉字,后面模拟效果较差的以25个为间隔共取74个汉字,最后5个最差的全选,最终得到117个汉字作为实验样本,这些样本的各种方法的平均结构相似度如表2所示:

                 表2:各种方法的平均结构相似度

    手动选点    NGAT    特征点    NGAT    轮廓    NGAT    骨架    0.8945    0.8926    0.8727    0.8830

从表2可看出当采用特征点时,NGAT的平均结构相似度基本等于手动选点的,但是NGAT自动的点匹配以及高计算速度是手动选点方法无法企及的。

本发明利用GAT得到的仿射变换参数变换分级字库中的部件,并将部件组成汉字,并使用以图像结构做为评判中心的结构相似度评判方法,而不是简单的象素点的比对,这更加适应于评判由分级字库组成的合成汉字。本发明利用55种基本部件图像及相应的仿射变换,可以合成任意汉字,实际应用时只需要存储55种基本部件图像及仿射变换参数,而不需要对每个汉字的图像进行存储,使得汉字存储量大大减少。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号