王 祎, 林 驰, 王胜法, 谢 玲, 刘日升
(大连理工大学 软件学院, 辽宁 大连 116620)
空中手写汉字交互输入与识别实验平台构建
王祎, 林驰, 王胜法, 谢玲, 刘日升
(大连理工大学 软件学院, 辽宁 大连116620)
设计与实现了基于微软Kinect摄像机的在线空中手写汉字交互输入与识别实验平台。在研究现有联机手写汉字识别的方法基础上,提出了基于视觉汉字笔画顺序和统计特征的空中手写汉字特征向量提取方法,并利用流形学习方法训练大汉字集的低维流形表示和显式映射函数,结合邻域搜索策略和语义联想可实时高效的进行空中手写汉字识别。该实验平台为空中手写汉字识别方法提供了的客观分析、评价的方式和手段。
汉字识别; 实验平台; 人机交互
文字识别技术的研究开始于20世纪60年代,具有重要的人文社会意义和市场经济价值。近二十年来借助触摸屏幕(板)的联机手写识别技术,使文字输入的实时性与交互性大大提高,已经被广泛地应用于智能手机、平板电脑等计算机终端,用于信息记录、签名验证、图标标注等[1]。但这种输入方式受到设备的尺寸限制,不能达到自然、自由的人机交互目的[2-3]。
随着计算机视觉技术的不断发展与完善,通过识别人体或人手姿态进行人机交互得到了越来越广泛的关注[4-5]。基于这种技术,用户可以不携带任何硬件设备直接用最自然的手势和肢体语言等与计算机进行交流,例如三星、海信等品牌的电视机的基于手势的选单选择,微软Xbox的基于肢体动作的视频互动游戏等。但是这些仅限于利用手势代替鼠标进行有限的“点”“选”“挥动”等简单操作,不能令人与计算机,或人与人通过计算机进行更复杂深入的交流。
而利用手与手臂按照正常文字书写方式在空中书写文字,再通过计算机视觉、模式识别等技术对其进行识别,已成为一种新型的交互方式,在语言教育教学、助残(尤其对于肢体不全的人士,无法通过手握笔进行文字书写),文化传承与推广、数字家庭娱乐,以及安保等领域具有较强的实用价值[6-8]。该项技术的难点在于:
(1) 输入与交互控制。需要设计用户友好的交互性的控制策略。尤其在环境中存在多个人体对象的时候,需要快速准确定位“控制手”,并对其进行跟踪形成文字。
(2) 噪音笔画。与在纸面或触摸屏上书写不同,空中书写文字过程中并无“抬笔”和“落笔”的动作,“控制手”的运动轨迹在视觉层面的观测结果是连续的,因此存在着一些笔画之间的过渡,以及用户无意识的手部运动轨迹等,这给文字的识别增加了难度。
(3) 字体变形。由于没有支撑面,在空中书写汉字时,可能出现部首之间的重叠、字体比例失调等问题,所以必须找到满足具有较强鲁棒性的文字特征作为识别的基础。
(4) 多类别分类与识别。从模式识别角度,每个文字代表一个类别。文字集一般数目众多,如常用汉字集就包含3 000多个字,需要结合文字特点设计计算复杂度低分类效果好的分类器。
本文利用微软Kinect摄像机和增强现实思想,设计和实现了一个空中手写汉字人机交互输入与识别实验平台,不但为空中手写汉字识别方法进行客观分析、评价提供了重要手段,而在该实验平台基础上,对汉字识别相关算法进行了如下深入研究:
(1) 对空中手写汉字形态与特点进行了研究,设计样本采集方法,并构建了一个含有一千个常用汉字的空中手写汉字样本库。
(2) 提出了“视觉汉字”概念和兼顾视觉汉字结构与统计特性的特征提取方法。
(3) 提出通过流形学习算法构造视觉汉字集的低维流形表示,以及显式映射矩阵进行分类识别的方法。实验证明,本文提出的特征提取方法与分类器设计具有实时性好,识别率高等优点。
空中手写汉字交互输入与识别实验平台分为离线训练和在线输入与识别两个部分,如图1所示。离线部分主要由样本采集、样本特征库,分类器和词组语意联库4个模块组成。在线输入与识别由控制手识别、视觉汉字特征实时计算、视觉汉字实时识别与词组语意联想输入4个模块组成。该平台设计依据模块化思想,把各个关键处理部分封装成独立的模块单元,耦合度较低,并设计通用存储和结构数据结构,适合多种算法的组合实验和客观评价。
图1 空中手写汉字交互输入与识别实验平台系统框架
2.1视觉汉字
视觉汉字定义为在空中书写一个汉字从开始到结束整个过程的控制手的轨迹,图2(c)为正常手写的一个字“汉”,图2(d)为“汉”字的视觉汉字。
图2 “汉”字对比
此外,视觉汉字与连笔汉字或汉字草书不同,它的笔画书写顺序以正楷体为基准,只不过增加了笔画之间的过渡。本平台还可作为对汉字初学者练习汉字笔顺和写法的一个辅助教学平台,所以只以正楷字体为标准。
2.2视觉汉字特征提取
特征提取方法必须满足以下条件:特征具有代表性、具有区分性、特征之间相互独立,可增大类间距离的同时减小类内距离,特征向量的维数尽量小。因此特征是影响系统识别率的重要因素[1,9]。
由于在汉字书写过程中,笔画和笔画之间的过渡都可以看作一个向量,本文统称之为“方向边”。可把其量化到8个基本方向上。因此,视觉汉字的特征向量可为其方向边在8个方向上的统计量,υ=(υ1,υ2,…,υ8),当相应的第k(k=1,…,8)方向边出现一次,υk值递增1。例如,字“汉”的特征向量为[2 1 1 0 0 3 0 2 ]。“8方向特征”计算简单,不受方向边的长度粗细影响。
为了减少某一个方向的累积误差,还可以对该特征进行进一步优化,可以把该特征向量扩展为N×8大小的一维向量。每过M个方向边,则做8方向向量统计,形成一个方向组,即“8方向分组特征”。据统计,1 000个常用汉字的笔画总数与其方向边总数之比大约为0.43。而常用汉字中最复杂的笔画数一般小于26划。所以该特征在本系统中的方向组数为[N=50/M]+1,[]为下取整。
2.3视觉汉字训练库
根据国家标准GB2312—80《信息交换用汉字编码字符集—基本集》一级字库,常用字为3 755个,使用频率合计达99.7%,其中前1 000个字使用频率也大于90%[10]。其中排序最前的140个汉字使用频率为50%,排序在141—232的汉字为10%,排序在233—380的为10% ,排序在382—500的为5.43%[10]。选取一级汉字库中使用频率高的前1 000个汉字为本实施系统的总字库,记为C,并按汉字的使用频率分为4子字库{C1,…,C4}。为每个汉字编号,为5位码:#####。第1位为所在子库序号,后4位为在子库中的序号。
为保证训练集的正确性与规范性,采用电脑数位板和压感笔代替人手进行视觉汉字样本录入,主要步骤如下:
(1) 把需要训练的汉字(正楷体)打印出来,作为临摹页置于数位板上;
(2) 让操作者使用压感笔,严格遵守汉字规范书写笔画顺序进行对印刷体汉字进行临摹,并且保证书写过程中压感笔不离开数位版面;
(3) 设计程序自动计算出其对应的视觉汉字特征向量。
图3为训练集里的3个视觉汉字图像表示。
图3 汉字“衣”“晶”“映”在训练集中对应的视觉汉字
本平台为视觉汉字提供除了“8方向特征”和“8方向分组特征”供选择,还是实现了Hu不变矩特征[11]和Gabor特征[12]可供对比实验。表1为本文提出视觉汉字特征和常用汉字特征在各个库中的重复率。
表1 视觉汉字特征向量在各个库中的重复率 %
可以看出,把字库分解成4个子库都能保证较少的特征向量重复率。此外,虽然本文提出的“8方向分组特征”重复率略大于频率特征Gabor,但Gabor特征属于图像特征,必须汉字输入完毕再进行计算,且计算复杂度较高。离线部分尚可接受,但在在线输入视觉汉字特征计算时,计算速度受图像分辨率大小影响,且对汉字变形、部首重叠不具鲁棒性;而“8方向分组特征”不但可随着汉字输入实时计算,复杂度和重复率低,而且只统计笔画的方向结合分组策略,可对汉字的变形、部首重叠具有较强容错性。
对视觉汉字识别采用局部保形映射LPP(localitypreservingprojections)算法[13],通过训练样本集计算出一个高维低维映射函数。在低维空间中,视觉汉字之间的几何和统计特性可以得到体现。实时识别时再利用其显式的映射函数,快速计算得到测试样本在低维流形空间中的位置,对邻域点进行相似度匹配,最终达到识别的目的。主要包括以下步骤:
(1) 构造一个二维视觉汉字特征向量相似度矩阵G,横纵轴分别为视觉汉字特征向量编号;
(2) 计算与每个视觉汉字特征向量Fvi(i=0,…,n-1)相似度最高的l个特征向量Fvj(j=1,…,l)为其邻域;
(4) 通过LPP的最小化目标函数过程和广义特征值的计算,得到高维低维映射的显式表达式Y=WTX,X为高维特征向量空间,Y为低维流形空间,W为矩阵;
(5) 重复执行上述步骤,为4个子汉字库分别训练4个低维流形空间{Y1,…,Y4}。
(6) 化4个低维流形空间{Y1,…,Y4}中的特征向量点坐标为整数单位,并用分辨率为500×500像素的RGB图像存储,写数据库时将坐标为(x,y)的像素点的R值置255,表示存在该字,像素的B和G 2个字节用来存储汉字编号。
此外该平台还实现了汉字识别中较为通用的支撑向量机(SVM,supportvectormachine)分类器[9],可供实验对比使用。
为每个训练汉字根据字典给出其使用频率最高的5个词组中的汉字作为联想字(需在训练集内)。语意联想可使系统使用更便捷,减少用户输入量。
本平台系统在线部分采用VS2012和Qt5.2.0实现,同时借助计算机视觉开源库OpenCV2.4.6和KinectSDK实现计算机视觉相关功能。本平台用户界面借鉴增强现实思想,把操作者和其所在环境与输入的虚拟汉字,汉字识别的结果综合在一个画面上显示,增加了手势输入的准确性和交互界面的友好性。该界面分为三部分:“书写区”“识别与联想区”和“识别确认区”,界面图见图4。
对于控制手的识别,使用KinectSDK提供的骨骼跟踪技术来识别出书写者的右手末端为控制手。控制手在 “选字状态”、 “写字状态” 和 “确认状态” 3种状态下进行操作,进入系统后初始状态为“写字状态”。控制手在“书写区”停留2s后代表书写结束。“选字状态”为控制手停留在“识别与联想区”某个字上方停留1s为确认,并在下方“识别确认区”显示,同时在上方“识别与联想区”显示联想的汉字。
图4 平台在线交互输入与识别界面
在“写字状态”中控制手又分为3种模式:“第一笔书写”,“续写当前边”,“开始新边书写”。主要通过获得控制手的运动方向、拐点等信息在实时处理部分构建视觉汉字特征向量,具体步骤如下:
(1) 记录t1帧控制手位置为P1。由于仿真设定在25帧/s下进行,每个字在书写初始时前5帧,直接把控制手轨迹当作方向边并进行绘制,之后在每帧做判断。
(2) 在t2到t5帧连接(P1,P5)得到4个方向向量,并取它们的平均值作为该方向边的基准方向μ和与之垂直的方向ν。
(3) 在第i帧(i≥6),对于每一个点Pi,连接(P0,Pi)得到向量d,计算向量d与基准直线之间的距离,即d=d·ν0
① 若d>threshold。Pi,为拐点,为该方向边的终点,返回这条方向边的方向为(P1,Pi)的方向。开始新边的书写,当前点作为新边的起始点P1= Pi,执行步骤(1)。
② 若d≤threshold。还在进行同一条方向边的书写,P1还是该边起点,继续跟踪控制手坐标确定终点。
重复上述步骤,直到检测到结束输入状态,则根据2.2节所述,返回该视觉汉字特征向量。
把实时计算得到的视觉汉字特征向量,依次通过LPP离线训练好的高低维映射函数在4个汉字集的低维流形空间内进行查找。具体步骤如下:
(1) 计算当前视觉汉字在低维流形坐标系i下的坐标P(初始化时i=1);
(2) 以P为中心,半径r像素范围内采用菱形搜索法查找候选特征向量,记录其对应的汉字序号,如图5所示;
(3) 如果半径r范围内不存在候选字,则返回步骤(1)选择下一个映射函数和字库进行识别;
(4) 如果半径r范围内存在候选字,把对应汉字按与当前测试汉字的相似度从大到小排序前5个并显示在界面上的“识别与联想区”的汉字候选区中;
图5 低维流形空间中汉字查找过程示意图
(5) 如果所有映射函数计算完毕,没有候选向量,则显示无此汉字信息。
扩大半径r将会扩大搜索范围,会增加汉字识别的准确率,但同时也会延长搜索时间。实验表明,当搜索半径到达某一阈值时,准确率将不再随着半径的增加而增加。系统只要将半径设置为这一阈值附近,即可权衡效率与准确率之间的矛盾。
LPP算法可将属于多类汉字组织在统一的低维流形空间,对于待识别的汉字类别归属概率可直接利用其与邻近类别距离来统一衡量,而且通过显式映射函数系统在常数时间内即可计算其在映射空间中的位置,不随字库规模增加而增加,完全满足实时性需求。
此外,系统还提供5个候选汉字,供用户交互选择输入,该方法可使识别率大大提高,如图6为在8方向分组特征下LPP算法和SVM算法的候选字数目与识别率关系曲线。
图6 候选字数目与识别率关系曲线
本文设计和实现了一个空中手写汉字人机交互输入与识别实验平台,并对汉字识别相关算法进行了深入的研究。提出空中手写汉字的新型人机交互方法,操作者可以不携带任何硬件设备直接用手和手臂按照标准汉字书写方法进行汉字的输入。提出了视觉汉字特征向量计算方法和基于流形学习的汉字识别方法。实验证明,本文提出的特征提取方法与分类器设计具有实时性好,识别率高等优点。该方法也可推广到韩文、日文、甚至英文等文字的空中交互输入与识别中。本实验平台可作为对空中手写汉字识别方法的客观分析、评价的重要方式和手段。
References)
[1] 张忻中. 汉字识别技术[J]. 北京: 清华大学出版社,1992. [2]LiuCL,YinF,WangDH,etal.OnlineandofflinehandwrittenChinesecharacterrecognition:benchmarkingonnewdatabases[J].PatternRecognition,2013,46(1):155-162.
[3] 陈喆,手指属性和中文特性对智能手持设备手写界面设计的影响[D].北京:清华大学,2014.
[4]MurthyGRS,JadonRS.Areviewofvisionbasedhandgesturesrecognition[J].InternationalJournalofInformationTechnologyandKnowledgeManagement,2009,2(2):405-410.
[5]RautravSS,AgrawalA.Visionbasedhandqesturerecognitionforhumancomputerinterction:asurvey[J].ArtificialIntdligenceReview, 2015,43(1):1-54.
[6] 万华根,肖海英,邹松. 面向新一代大众游戏的手势交互技术[J].计算机辅助设计与图形学学报,2011,23(7):1059-1065.
[7] 金枚,外国学生识别汉字形体的认知层次从整体字形开始的原因略论[J].当代教育实践与教学研究,2015(11):98.
[8] 吕新桥.联机手写汉字识别技术研究[D].武汉:华中科技大学,2009.
[9]TheodoridisS,KoutroumbasK.PatternRecognition[M]. 北京:机械工业出版社,2006: 483-525.
[10] 北京语言学院语言教学研究所.现代汉语频率词典[M].北京:北京语言学院出版社,1986.
[11] 张伟,何金国,Hu不变矩的构造与推广[J].计算机应用,2010,30(9):2449-2452.
[12]Wikipedia.Gaborfilter[EB/OL].[2015-12-20].http://en.wikipedia.org/wiki/Gabor_filter.
[13]HeXiaofei,YanShuicheng,HuYuxiao,etal.LearningaLocalityPreservingSubspaceforVisualRecognition[C]//InProceedingsofIEEEInternationalConferenceonComputerVision. 2003:385-392.
ConstructionofaninteractiveinputandrecognitionexperimentalplatformforhandwrittenChinesecharactersinair
WangYi,LinChi,WangShengfa,XieLing,LiuRisheng
(SchoolofSoftware,DalianUniversityofTechnology,Dalian116620,China)
ThispaperdesignsandrealizesanonlinehandwrittenChinesecharacterintheairinteractiveinputandrecognitionexperimentalplatformbasedonMicrosoftKinectcamera.BasedontheresearchofexistingonlinehandwrittenChinesecharactersrecognitionmethods,theplatformutilizesthestrokeorderandstatisticinformationofcharacterstolearnlow-dimensionalspacesandexplicitprojectingfunctionsforbigcharactersetsbasedonamanifoldlearningmethod.Besides,combinedwithneighborhoodsearchingstrategyandsemanticassociation,thehighrecognitionaccuracycanbeachievedinrealtime.ThisplatformprovidesanobjectiveanalysisandevaluationmethodfortherecognitionofChinesecharacterwritteninair.
Chinesecharacterrecognition;experimentalplatform;human-computerinteraction
DOI:10.16791/j.cnki.sjg.2016.07.013
2015-12-23修改日期:2016-01-26
国家自然科学基金项目(61402072, 61402078,61300083)
王祎(1980—),女,辽宁沈阳,博士,讲师,研究方向为机器学习、图像处理、虚拟现实
E-mail:dlutwangyi@dlut.edu.cn
王胜法(1984—),男,辽宁庄河,博士,讲师,研究方向为计算几何、模式识别.
E-mail:sfwang@dlut.edu.cn
G642.0;TP391.43
A
1002-4956(2016)7-0050-05