一、汉字识别属于模式识别和人工智能技术领域。是汉字信息处理系统中的一种高速自动输入方式,也是智能计算机(第五代计算机)视觉的一个重要组成部分。 二、随着模式识别和人工智能研究的进展,在英文、数字识别的基础上,国外约在60年代末转入汉字识别的研究,70年代对印刷汉字识别的研究进入活跃阶段,80年代初对手写汉字的研究也日趋活跃。以目前在汉字识别方面居于世界前列的日本为例,其文字识别研究的进展示于图1日本文字识别研究进展。到目前为止,单体印刷汉字已有一种识别装置,多体印刷汉字识别有一些方法和模拟系统,限制性手写汉字识别的研究当前还处于基础研究的阶段,到目前尚没有一种全面成熟公认较佳的方法,也没有能实用的系统问世。
国外提出的识别手写汉字主要方法有:
1.M.Yoshida等1973年提出用a-b-s法(Analysis-by-synthesis)识别手写印刷体汉字(M.Yoshida and M.Eden,Handwritten Chinese Character Recognition by an A-b-S Method,Proc.of lst Int,Conf.On Pattern Recognition,1973 pp.197-204)是一种手写体识别的相对古老的方法。
2.日本三菱公司1981年提出从文字特征点出发抽取笔划特征(长度,方向)进行识别(小林等,ストロ-クマッチニグになる手書漢字認,电子通信学会技术研究报告,PRL81-33,1981年7月)
3.日本电子综合研究所1981年提出不作细化而对文字轮廓作多角形近似的方法,用松弛法匹配。(山本,Relaxation法によろ手書教育漢字認,电子通信学会技术研究报告,PRL81-31,1981年7月)
4.日本武藏野通用研究所和富士通1981年提出用4-笔划密度函数和笔划方向作为特征的方法(萩田,增田,文字線,方向性に着目し十二手書ま漢字の别,电子通信学会技术研究报告,PRL 81-13,1981年5月)
5.日本横须贺通用研究所1981年提出从文字笔划的背景部分,抽取4方向笔划斜度特征。(内藤、小森、淀川,手書ま漢字認のめのストロ-ク密度特徵,电子通信学会论文志,Vol,81,No.7,pp597-600)
6.赤松茂等1982年提出把分类和识别结合起来,用文字背景特征分类,用集中结构识别(赤松茂、川谷隆彦、小森和昭,手書ま漢字認のための構造集積特徵,电子通信学会论文志,Vol.82,No5.pp542-549)
7.岗隆-1983年提出网格特征识别手写日本汉字
(岗隆-,セル特徵な用八た手書ま漢字の認,电子通信学会论文志,Vol.83.Nol,pp17-24)
三、本发明根据中国简化汉字的结构特点,在手动拼形编码输入和汉字识别一般方法的启发下,利用人工智能原理和模糊理论,独立地提出限制性手写汉字识别系统。
本发明的目的是构成一个限制性手写汉字识别系统,将人已经写在纸上的限制性汉字高速进入计算机。在我国,中文打字机不大容易普及,因此计算机能识别人写在纸上的文字,将成为我国文字和计算机自动变换信息的主要手段,是第五代计算机(智能计算机)地一个重要标志,随着汉字信息处理技术(如办公室自动化)的深入发展,文字的自动输入将成为一个日益重要的课题。
四、发明内容:
该系统由具有汉字功能的超级小型机和扫描设备组成,其识别系统方块图示于图2。用摄象机等扫描设备将人写在纸上的汉字图形转换成电流信号,模数转换后,其灰度值信息经二值化、细化等预处理进行识别。其特征在于采用汉字笔划结构序列法。
以下从描述和用计算机实现两部分叙述本系统内容。
1.笔划结构序列法描述
一个汉字的笔划类型的数目以及各部件间相对位置关系,部件内各笔划间的确定的相对位置、连接关系是汉字结构模式的本质特征。用笔划(必要时加上部件间以及部件内笔划间的关系)作为汉字结构的基元,先上后下,再左而右;先部件后笔划排列起来,去掉部件内笔划间不确定的相对位置关系,形成笔划按部件间相对位置结构次序和部件内笔划间相对位置结构次序的序列,简称笔划结构序列,可把两维汉字线性化,稳定地描述手写限制性汉字。
(1)基本笔划集A、笔划集T,部件B
A={h,s,p,n}……(1)
T={A,Z,y,f,c}……(2)
式中:h,s,p,n分别表示横、竖、撇或挑、点或捺,是基本笔划。
z,y,f,c分别表示向左折、向右折、方、叉,是把基本笔划组合且模糊化形成的复合笔划。
若Ai∈A,当(3)式~(6)式分别满足时,Ai分别为确定的h、s、p、n。
(L≥a)且(θ>α1)且(θ<α2)且β1(3)
(L≥a)且(θ>α3)且(θ<α4)且β2(4)
(L≥a)且(θ>α5)且(θ<α6)且β3(5)
(L≤b)或((L≥c)且(θ>α7)且(θ<α3)且β4) (6)
式中:L:笔划长度;θ:笔划与水平座标角度;
a、b、c、α1~α8∶常数;β1~β4∶约束项。
把所有带折带钩的笔划按最后旋转方向定义为向左折Z和向右折y。取汉字部件中出现次数最多且结构稳定的构件-“□”形为方f,横竖相交或撇捺相交形成交点的为叉c。复合笔划z,y,f,c的描述见3)。
部件B:汉字中能分离的笔划组合(连通的或不连通的)。
(2)模糊的基本笔划集
引入模糊子集从属函数定义模糊的基本笔划。
μh(θ)=l-min( (|θ|)/(π/4) ,l)
μs(θ)=l-min( (π/2-|θ|)/(π/4) ,l) ……(7)
μp(θ)=l-min( (|θ+π/4|)/(π/4) ,l)
μn(θ)=l-min( (|θ-π/4|)/(π/4) ),l)
这样,把基本笔划分成了确定的和模糊的两类,各占四区,见图3,确定的和模糊的基本笔划区。在四个模糊笔划区,由(7)式分别求出相应的两个从属函数值供识别用。这种系统比只有确定的笔划可降低误识率,比只有模糊的笔划能提高识别速度。
(3)基本笔划间的连接关系以及对复合笔划的描述
基本笔划间的连接关系有散接、端接、连接和交接四种。设A1,A2∈A若A1、A2互离,称为散接,记为A1||A2;若A1、A2互接且形成一个折点,称为端接,记为A1±A2;若A1、A2互接且形成一个歧点,称为连接,记为A1⊥A2;若A1、A2互交形成一个交点,称为交接,记为A1×A2(见图4基本笔划间的连接关系)。端接又分为正端接〔A1(或A2)终点和A2(或A1)起点相端接〕和负端接〔A1起点和A2起点(或A1终点和A2终点)相端接〕,分别记为A1+A2(或A2+A1)和A2-A1(或A1-A2)。
复合笔划的描述:A1…AL∈A,若A1+A2+…+AL-1±AL且A1与AL的未相连的端点互离,当AL-1和AL端接点到AL端点的方向是0,1,2,3是向左折Z,当AL-1和AL端接点到AL端点的方向是-1,-2,-3,±4是向右折y。笔划量化方向见图5笔划量化方向。
(4)笔划间和部件间的相对位置关系
笔划间的相对位置关系:分上下、左右、交叉三种。若Ti,Tj∈T,当Iia<Ija,称Ti在Tj之上,记为Ti↓Tj;当Iia=Ija且Jja<Jia,称Tj在Ti之左,记为Tj→Ti(见图6笔划间的相对位置关系);当Ti、Tj交接时,称Ti、Tj互相交叉,记为TiTj。关系优先次序为↓>→>。对手写汉字来说,左右相对位置关系是不正确的,上下相对位置关系有时确定,有时不确定,而交叉相对位置关系是确定的。
部件间相对位置关系:分上下、左右两种。设部件Bi域(包含部件Bi在内的最小矩形称为部件Bi域)在座标I,j上投影长度分别用集合BiI、BiJ表示,见图7部件间的相对位置关系Bi,Bj∈B(B为汉字部件全集),当(8)式成立时,称Bi在Bj之上,记为Bi↓Bj;当(9)式成立时,称Bi在Bj左,记为Bi→Bj。
(PiJ<PjI)且(≥α)……(8)
((PiJ<PjJ)且(≥β))或
((BiIBjI)且(BiJBjJ))……(9)
(8)、(9)式中α、β是由实验确定的常数。
(5)汉字笔划序列的形式语言文法
G=(VT、VN、S、P)……(10)
其中VT={h,s,p,n,z,y,f,c,↓,→,,(,)}
VN={<c>,<WD>,<WX>,<W1>,…<WQ>,
<c1>,…<CI>,<CI+l>…<CJ>,…<CL>,<B1>…<B20>,…<B60>,…<BJ>}
S=<C>∈VN
P={<C>∶∶=<WD>|<WX>,
<WD>∶∶=<Cl>|…|<CI>,
<WX>∶∶=<W1>|…|<WQ>,
<Wl>∶∶=<CI+l>|…|<CJ>,
┊
<WQ>∶∶=<CL>|…|<CK>,
┊
<CI+l>∶∶=(<B60>)→(<B20>),
┊
<B20>∶∶=(P|S|n)(→|→)Z↓(n|h|S),
┊
<B60>∶∶=(P|h|n|S)↓f↓(h|n|S),
┊}
以上C:一个具体的汉字;WD:单体字;WX:合体字;Wl~WQ:不同结构类型的合体字;(、):部件界符。
2.笔划结构序列的实现
识别已写在纸上的字比实时识别有两个根本的困难:①要从已经交连的笔划图形中抽取笔划。②要从汉字平面图形中提出笔划和部件的有序性。这两个问题不解决,基于笔划和笔划关系来识别汉字的方案就不能实现。
本方法经①启发式搜索笔划成分②笔划分析和合成③多重部件分离④汉字结构表达式的存贮和学习实现笔划结构序列。
(1)用启发式搜索法抽取笔划成分
由A的子集构成的笔划或笔划组合称为笔划成分。搜索笔划成分的一般方法为:通过扫描确定最上左端点作为3×3辅助模板(见图8辅助模板3×3)的中心,根据模板中“1”的分布,同时观察上一前的方向和历史情况确定下一步优先走向,必要时可向下测试,直到能确定为止。一步搜索成功后,就把上一步模板中心移过来,并抹去上一步中心点,遇到交点和停止歧点不抹去,以免相交连的另一笔划断开。以上过程一直继续到一个笔划成分检出为止。
A)搜索笔划启点
设V为辅助模板中点周围“1”数,L为从汉字图形最上“1”到被搜索点行数,D为从汉字最左“1”到被搜索点的点数,则搜索启点的算法为
① IF(L=1)AND(D=1)THEN
(V=1)OR〔(V=2)AND((D2·D3)OR(D1·D3)OR(D1·D2))〕
② IF(L=1)AND(D≥2)THEN V=1
③ IF((L=2)OR(L=3))AND (D=1)THEN
(V=1)OR〔(V=2)AND((D1·D4)OR(D2·D4)OR
(D3·D4))〕
④ IF((L=2)OR(L=3))AND(D≥2)THEN V=1
⑤ IF(L=4)AND(D=1)THEN V=1
⑥ IF L≥5 THEN(L=1)AND(D=1)
B)搜索笔划成分时,遇到歧点、交点笔划分支时,按以下算法确定下步走向。
①下一步搜索方向与以前方向平均值相差<δ1,当①不满足
②下一步搜索方向按超前搜索全部路径,与以前方向平均值相差<δ2,当②不满足
③下一步搜索方向与以前方向平均值相差<δ3,当③不满足
④下一步搜索方向与以前方向平均值相差最小且两者差<δ4
⑤以上每一步搜索方向按图5笔划量化方向进行,根据上一节的搜索方向规定下一步不同的优先搜索方向。
以上δ1~δ4为常数。
C)判别交点
交点为Ⅰ、Ⅱ、Ⅲ三类,Ⅰ类是正常交点,共6种,Ⅱ类是畸变交点,共16种,Ⅲ类是交点细化后的变形(一对歧点),归纳成4种。见图9交点分类举例。
Ⅰ、Ⅱ类交点根据交点周围“l”点分布来判别。Ⅲ类交点则搜索一对歧点周围“l”点分布和歧点间线段参数来判别。
如Ⅰ类交点判别逻辑式为
(D1·D3·D5·D7)OR(D2·D4·D6·D8)OR(D3·D7(D4·D8+D2·D6))OR(D1·D5(D4·D8+D2·D6))……(11)
D)搜索笔划成分结束时,与其他笔划交接,判别结束的逻辑规则不同的搜索方向有不同的逻辑规则,如向下搜索方向↓时,结束逻辑规则为
S↓=(D3·D7·D5( D1+D2+D8)·(D13+D14)·((D21·D23)+( D21+D23+D13)+( D22+D23)))+((D4·D5·D8·D17)·( D1+D2+D3+D19+D23+D24))+((D2·D5·D6 D16)·( D1+D7+D8+D10))+((D3·D5·D8·D17)·( D1+D2+D7+D11+D12+D16+D18+D23+D24))+((D2·D5·D7·D17)·( D1+D3·D8·D9·D10·D20+D23)·((D2·D12)+(D11·D21)))+(D2·D8·D5)·( D1+D4+D6+D10+D24)·( D11·D23)·(D17+(D15 D16))·( D22·D23)……(12)
式中S↓是布尔量,D9~D24为3×3辅助模板扩大到5×5时的附加点,见图10辅助模板5×5。
E)检出折点和折点分类
据平均和瞬时搜索方向确点折点,当笔划发生≥π/4转折时,则认为存在折点,分为40类,见图11折点分类。
搜索笔划成分流程图示于图12。
(2)笔划分析与合成
A)识别出不是T集中的笔划并分解为基本笔划。典型的非T集中笔划的笔划成分约有十种。
B)判别出确定的和模糊的基本笔划,按(3)式~(6)式判出确定的h、s、p、n若笔划处在四个模糊笔划区,由(7)式求出相应的二个从属函数值。
C)判别左、右折z、y,据折点类型和z、y的定义容易在笔划成分中存在一个到多个折点时判别出左、右折z、y。
D)由基本笔划合成T集中的笔划,按以下次序进行
①基本笔划合成基本笔划
②基本笔划合成左、右折z、y
③基本笔划和z、y合成方f
④基本笔划合成叉C
以下以f判别合成为例简述之。先写出描述f的方法,判别合成f时,对文法中产生式分层使用。第一层归并直线基本笔划,第二层合成y、z,第三层合成f。在不同层次中,用有限自动机识别。如第三层识别f的有限自动机如图13。
M=(Q,∑,F,Q0,QJ)……(13)
式中Q={0,1,2,3,4,5,6}
∑={A,B,C,D,h′,S′}
F=Q×∑至Q映照
Q0=0∈Q QJ=6∈Q
A:表示;B表示;C表示:;D表示;
h′表示-;S′:表示|。
(3)三重部件分离
用抽取笔划结构序列时,需要分离汉字部件。在笔划搜索和合成后,部件间的笔划排序还是混乱的,分离部件的目的在于恢复部件的有序性,去掉不按部件顺序排列时笔划间关系的不确定性,为产生笔划结构序列作准备。
三重部件分离要用几种方法相结合,扬长避短。分离方法间的转换用汉字结构启发式信息来控制,部件分离框图如图14所示。分离方法如下:
①用部件规则自顶向下识别不连通部件。如“灬”,“氵”,“++”等。
②搜索汉字中的结构缝隙法。先搜索直线缝隙,再搜索曲线缝隙。
③计算汉字笔划重心密集度法,可以判别汉字的左右结构。
(4)汉字笔划结构表达式字典
由于识别时扫描次序是由上而下,从左至右,除确定的笔划间相对位置反映到笔划序列中外,不确定的笔划间相对位置和习惯写或写错但又能被人接受的笔划类型,造成同一汉字有可能得到多种笔划序列,有的甚至可达1000种以上。这样,用BNF范式描述汉字显得繁琐,使字典存储量增加。例如“心”字,可能的文法为:
<心>∶∶=pynn|pnyn|pnny|ypnn|ynpn|ynnp|npyn|
npny|nypn|nynp|nnyp|nnpy|synn|snyn|
snny|spnn|ynsn|ynns|nsyn|nsny|nysn|
nyns|nnys|nnsy|nynn|ynnn|nnyn|nnny|
因此,我们用汉字笔划结构表达式描述手写汉字。①扩充了BNF范式的元符号,增加码集符〔〕,在〔〕中的基元是无次序的,位置可以任意颠倒。这样,把汉字笔划间不确定的次序部分放入码集符内,可减少存储空间,增高比较速度。②在汉字笔划结构表达式字典中,每个汉字用一个独立的结构表达式表示,便于在识别时使用大分类技术,便于利用汉字的使用频度,提高常用汉字的识别速度。③汉字笔划结构表达式字典还便于作文法推断-由每个汉字多个正确实例推断出该字的结构表达式。
汉字结构表达式由元符号和结符组成。元符号定义如下:
〔〕:码集符,表示它里面的元素(终结符或表达式)是无序的,且元素符号可以重复存在。
/\:表示里面的元素(终结符或表达式)是或的关系
<>、∶∶=、()同BNF范式
终结符同式(10)但↓、→分别表示汉字结构一重分离后部件间的上下、左右关系。VT={h,s,p,n,z,y,f,c,↓,→,()}
汉字笔划结构表达式举例如下:
汉字笔划结构表达式举例如下:
<芯>∶∶=(〔/spn\/spn\〕h)↓(〔/pns\ynn〕)
代表504种合法的笔划序列。
<有>∶∶=ph〔sz〕/F(hh)(nh)\代表4种合法的笔划序列。
<感>∶∶=〔yn〕〔hp〕〔hfp〕〔/pn\ynn〕
代表1152种合法的笔划序列。
(5)判别
根据待识文字规整程度分以下各级判别
A)查找笔划结构序列表达式
B)计算模糊笔划录属度,根据属度大小和整个汉字笔划结构序列表达式的知识确定模糊笔划类型,再匹配表达式,以提高识别率。
算法如下:设笔划序列中有m个模糊基本笔划,其录属度分别为
μ1,μ′1,μ2,μ′2……μm,μ′m
在查找笔划结构序列表达式时,各模糊基本笔划录属度取用次序如下。
①μi(i=1…m)
②以及μi(i=1…m,且i≠j1
i≠j2…i≠jm-1)
a)j2…jm-1=0 j1=1…m
b)j3…jm-1=0 j1=1…m-1 j2=j1+1…m
┊ ┊ ┊
c)j1,…jm-1都≠0
③μ′i(i=1…m)
C)计算笔划结构序列表达式距离
对任意α1,α2,a,b,∈ VT引入:
①代换误差TS:α1aα2α1bα2,当a≠b
②删除误差Td:α1aα2α1α2
③插入误差TI:α1α2α1aα2
两个笔划序列X、Y的距离D(X,Y)定义为X变换到Y所需要的最少变换数目。
D(X,Y)=min(Ki+mi+ηi)……(14)
式中Ki,mi,ηi分别为代换、删除、插入误差的次数。计算距离时要考虑加权,按距离最短判别。引入距离计算,对有错的笔划列也可能正确识别。
D)同构字(如士、土)等同表达式字,在字典中设有标志,用每组同表达式字的不同特征分别作辅助判别。
对于书写规整字,进行判别A)即能识别,缩短了识别时间。引入判别B),为提高识别率。在书写限制性手写汉字时,书写成模糊的笔划比书写成习惯性或能被人接受的错误笔划要多。使用模糊判别可以减少表达式中或的成分,用模糊不等的可能性代替各笔划相等的或,从而减少误识率,由于在搜索笔划成分,分析与合成笔划及部件分离时,不可避免地要产生错误,如笔划数改变,笔划类型不对,笔划序列错误等,必须引入判别C)以识别出这种情况下的部分字。
(6)预处理
有切分技术(行、字切分),二值化技术(直方图自动确定阈值),平滑技术,细化技术(在Rutovitz算法和快速细化算法基础上加以改进。
五、本发明和已有识别限制性手写汉字系统相比,有以下特点
1.本系统适应手写汉字变形既多又大的要求。对于正常书写的汉字,只要附加:①不丢失和添加笔划②笔划不应交连的不交连③部件稍离这三条限制都可以识别。对文字大小、位置变化,笔划绝对位置、长短、方向、粗细、笔峰等的改变有强抗干扰能力(图15“的”及其变形)。这是传统的统计决策匹配法所不能比拟的。
2.用4种基本笔划和4种复合笔划作为基元,利用汉字部件间和部件内笔划间的位置结构关系,形成汉字笔划结构序列表达式来描述一个汉字。
3.用启发式搜索技术提取笔划成分,经笔划分析与合成抽出汉字笔划,初步解决用笔划法识别限制性手写汉字中这个最困难问题。通过部件分离和汉字表达式形成笔划结构序列,把某些对识别无用的、非稳定的信息(如两部件的笔划间位置关系,部件内笔划间不稳定的位置关系)去掉,进一步抓住了汉字结构本质特征,提高识别性能。
4.基于汉字笔划结构序列表达式的字典存储容量小,并可对笔划结构序列进行归纳学习。
识别系统的参考指标为:
1.书写字的限制和要求
(1)限制:①不丢失、不添加笔划
②笔划不交连的字不要交连
③部件间稍离
(2)要求:用铅笔或黑色墨水笔写在方框中,字大小为8×8~10×10mm。楷书,字形不要求好看,小学生写的字即可。
2.识别字数 >3700
3.识别率 >90%(限制性严的可>95%)
4.识别速度 根据硬件化程度,从1字/秒~100字/秒,
六、附图:
图1:日本文字识别研究进展
图2:识别系统方块图
图3:确定的和模糊的基本笔划区
图4:基本笔划间的连接关系
图5:笔划量化方向
图6:笔划间的相对位置关系
图7:部件间的相对位置关系
图8:辅助模板3×3
图9:交点分类举例
图10:辅助模板5×5
图11:折点分类
图12:搜索笔划成分流程图
图13:在第三层中判别f的有限自动机
图14:汉字部件分离框图
图15:“的”及其变形