掌桥专利:专业的专利平台
掌桥专利
首页

单目相机下基于多模态数据集成的空中手写识别方法

文献发布时间:2023-06-19 19:28:50


单目相机下基于多模态数据集成的空中手写识别方法

技术领域

本发明涉及手写识别技术领域,具体为单目相机下基于多模态数据集成的空中手写识别方法。

背景技术

手势空中书写(简称空中手写)指用户通过手势在虚拟的输入区内书写文本,使计算机具有能够像人一样的认字能力,是真正自然的人机交互形式。空中手写是人机智能交互的重要输入手段,提高计算机与使用者之间的沟通与交互能力,在服务机器人、机器人视觉导航、移动终端、智能家电、智能汽车等特殊领域,提供简便的操作方式。

现有的空中手写识别方法中,有基于数据手套、戒指、表面肌电信号、移动终端加速度传感器的方法,但是都需要穿戴设备,大大降低了用户的体验性。有基于深度相机Kinect、Leap、双目视觉、多传感器的方法,虽能准确地获取手的运动和形状,但这些设备价格昂贵,增加了系统实现的成本,并不实用。基于单目视觉的空中手写可以配合带有摄像头的普通移动设备,实现无障碍式的任意场景下的自由交互,是目前手势交互的主流,也是本专利使用的数据采集方式。

传统的空中手写孤立词识别流程包括预处理、特征提取、分类器设计三部分。三个环节环环相扣、彼此照应。预处理的目的是消除噪声和字符归一化,预处理对识别精度的影响非常大。特征提取中,希望提取尽可能多的描述字符类内差异不变性与类间差异性的特征,如链码特征、矩特征、梯度特征、局部轮廓特征、线性偏心特征,平整度,椭圆面积特征等。分类器设计时,针对不同的特征,选取合适的分类器进行分类识别,包括动态时间规整、支持向量机、隐马尔可夫模型等。传统的方法容易被人理解,也可以实现一些简单的空中手写识别,但是通用性不强,需要大量的经验和多次尝试才能选择出较好的特征,当手势字符扩展后,模型较复杂的时候,往往识别精度下降。

随着大数据时代的到来和深度学习技术的兴起,如今的分类器基本上被各种巧妙设计的深度神经网络所取代;而且依靠神经网络的逐层抽取特征的强大能力,可以进行特征提取;也可以采用端到端的识别系统直接进行识别,舍去了复杂的预处理和特征提取过程。卷积神经网络在处理许多分类问题时都得到了比较好的效果。如比较经典的LeNet-5,是LeCun等人设计的一个基于卷积神经网络的手写字符识别系统,用于识别MNIST手写图像数据集,改进后达到高达99%的识别效率。后来,针对不同手写字符的特点,研究者分析CNN的特征提取性能,并对CNN进行了改进,也加入时间序列信息,得到了较好的效果,如孪生网络、RNN、CNN+LSTM、RNN+LSTM。因此,采用深度学习的方法进行空中手写识别成为一种必然趋势。

虽然CNN在现有数据集,如MNIST上表现出良好的检测性能,识别率高达99%,但是在训练数据不足时,模型会出现过拟合,导致模型性能降低。空中手写现有数据集较小,而制作大规模的数据集难度较大,费时费力。项目组自制空中手写数字孤立词数据集的大小为:3人*10数字*10样本,在训练集3*10样本,验证集3*10样本,测试集24*10样本的情况下,使用LeNet-5,只可以达到84%的识别率,且只能使用图像特征。在一些文献中作者提取传统轨迹特征识别,也是没有充分利用多模态数据,在小样本上,识别率低。

所以需要针对上述问题设计单目相机下基于多模态数据集成的空中手写识别方法。

发明内容

本发明的目的在于提供单目相机下基于多模态数据集成的空中手写识别方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:单目相机下基于多模态数据集成的空中手写识别方法,多模态数据包括图像数据与时序数据;多模态数据使用多模态数据融合模型进行融合,得到融合后的3D数据;对3D数据使用数据投影方法进行处理,得到3个特征投影结果,分别为投影数据1、投影数据2、投影数据3,这3个特征投影都为2D图像;对得到的3个投影特征分别进行学习,得到3个基学习器;使用基于主学习器的集成方法对3个基学习器得到的结果进行集成,获得最终的识别结果。

进一步的,所述单目相机下基于多模态数据集成的空中手写识别方法具体步骤为:a.多模态数据的获取;b.多模态数据融合模型;c.数据投影变换;d.学习器;e.基于主学习器的集成方法;f.识别结果。

进一步的,所述a.多模态数据的获取的具体步骤为:空中手写识别是基于轨迹的手势序列识别,其识别忽略了手势形状的变化信息,以手势的运动轨迹为分析数据。其数据获取的过程可以分为,首先对视频流中的手势帧进行手势预处理,包括手势分割与手势跟踪,手势跟踪可以在手势分割得到先验信息的基础上;然后根据跟踪的结果,对手势的运动轨迹进行数据提取;提取出的数据包括有手势在书写平面上的位置,这是2D的数据,还有每一帧的时间序号,这是时序特征,是1D数据。得到的图像数据与时序数据类型为获取的多模态数据。

进一步的,所述b.多模态数据融合模型:得到的图像数据与时序数据类型不同,为获取的多模态数据。使用多模态数据融合模型将其融合为3D数据,方法如下:原始图像数据为2D数据,原来有x,y坐标值,将其作为作为融合后3D数据的x,y坐标,将时序数据作为融合后3D数据的z坐标,这样得到了融合后的3D数据。

进一步的,所述c.数据投影变换:将融合后的3D数据,使用特征投影方法,分别投影到3个正交的坐标平面上,获得3个不同的数据集,其方法如下:假设融合后3D数据的3个坐标轴分别为x,y,z,对3D数据分别取在x-y平面,x-z平面,y-z平面的投影,得到的投影均为2D数据。通过将3D数据投影进行降维,得到3个相互正交的2D数据,通过这种方式进行数据变换,充分提取数据特征,来提高最终的识别效率。

进一步的,所述d.学习器:对得到的3个2D数据分别进行训练学习得到3个基学习器,方法如下:先将2D数据缩放到28*28尺寸,再使用相同的基学习器进行学习,采用的基学习器为8层CNN,8层网络从前往后分别为输入层28*28,16个5*5的卷积层,最大池化层,36个5*5的卷积层,最大池化层,平坦层,128个神经元的隐藏层,输出层。

进一步的,所述e.基于主学习器的集成方法:将得到的3个基学习器进行集成,以此获得比单一学习器显著优越的泛化性能,使用的是基于主学习器的投票方法来集成。具体方法是,因为x-y平面投影的数据为空中手写的语义内容,故将x-y平面投影的数据上学得的学习器作为主学习器,x-z平面与y-z平面投影数据上学得的学习器作为辅学习器1与辅学习器2。投票方法是,如果辅学习器1与辅学习器2的识别结果相同,则最终的识别结果为辅学习器的识别结果;如果辅学习器1与辅学习器2的识别结果不同,则最终的识别结果为主学习器的识别结果。

进一步的,所述f.识别结果:最终的识别结果为空中手写的语义,如数字“0-9”等。

与现有技术相比,本发明的有益效果是:本方法为单目相机下基于多模态数据集成的空中手写识别方法,创新性地将多模态数据进行变换,得到多个正交的同质数据集,再参与集成学习。将一维时间序列特征与二维书写轨迹图像特征融合为三维特征,然后分别对三维特征进行投影,得到3个投影平面分别作为不同的数据,学习模型识别,最后将得到的3个结果投票得到最终结果。本方法的创造性在于,通过集成学习,可以将识别率大幅度提高,实验中可以提高10%的识别效率。本方法创新性在于将时间数据与图像数据的多模态数据变换,得到多个正交的同质数据集,再参与集成学习的方法,方法简单,但是达到了较好的识别效果。本方法可以在空中手写,或者类似有时序的学习任务中应用,实用性强。

附图说明

图1为本发明单目相机下基于多模态数据集成的空中手写识别方法的多模态数据变换的集成学习方法思路图;

图2为本发明单目相机下基于多模态数据集成的空中手写识别方法的空中手写数字“9”融合后的3D数据图;

图3为本发明单目相机下基于多模态数据集成的空中手写识别方法的x-y平面投影的数据图;

图4为本发明单目相机下基于多模态数据集成的空中手写识别方法的y-z平面投影的数据图;

图5为本发明单目相机下基于多模态数据集成的空中手写识别方法的x-z平面投影的数据图;

图6为本发明单目相机下基于多模态数据集成的空中手写识别方法的基于主学习器的集成方法图;

图7为本发明单目相机下基于多模态数据集成的空中手写识别方法的CNN提取图像特征进行识别的混淆矩阵图;

图8为本发明单目相机下基于多模态数据集成的空中手写识别方法的本方法多模态数据集成后识别的混淆矩阵图;

图9为本发明单目相机下基于多模态数据集成的空中手写识别方法的部分空中手写视频帧图;

图10为本发明单目相机下基于多模态数据集成的空中手写识别方法的空中手写孤立词“0-9”示意图。

具体实施方式

如图1至图10所示,本发明提供技术方案:单目相机下基于多模态数据集成的空中手写识别方法,本方法输入空中手写多模态数据,多模态数据包括图像数据与时序数据;多模态数据使用多模态数据融合模型进行融合,得到融合后的3D数据;对3D数据使用数据投影方法进行处理,得到3个特征投影结果,分别为投影数据1、投影数据2、投影数据3,这3个特征投影都为2D图像;对得到的3个投影特征分别进行学习,得到3个基学习器;使用基于主学习器的集成方法对3个基学习器得到的结果进行集成,获得最终的识别结果。

具体步骤如下:

a.多模态数据的获取

空中手写识别是基于轨迹的手势序列识别,其识别忽略了手势形状的变化信息,以手势的运动轨迹为分析数据。其数据获取的过程可以分为,首先对视频流中的手势帧进行手势预处理,包括手势分割与手势跟踪,手势跟踪可以在手势分割得到先验信息的基础上;然后根据跟踪的结果,对手势的运动轨迹进行数据提取;提取出的数据包括有手势在书写平面上的位置,这是2D的数据,还有每一帧的时间序号,这是时序特征,是1D数据。得到的图像数据与时序数据类型为获取的多模态数据。

b.多模态数据融合模型

得到的图像数据与时序数据类型不同,为获取的多模态数据。使用多模态数据融合模型将其融合为3D数据,方法如下:原始图像数据为2D数据,原来有x,y坐标值,将其作为作为融合后3D数据的x,y坐标,将时序数据作为融合后3D数据的z坐标,这样得到了融合后的3D数据。

对空中手写数字“9”进行多模态数据融合,得到融合后的3D数据见图2。

c.数据投影变换

将融合后的3D数据,使用特征投影方法,分别投影到3个正交的坐标平面上,获得3个不同的数据集,其方法如下:假设融合后3D数据的3个坐标轴分别为x,y,z,对3D数据分别取在x-y平面,x-z平面,y-z平面的投影,得到的投影均为2D数据。通过将3D数据投影进行降维,得到3个相互正交的2D数据,通过这种方式进行数据变换,充分提取数据特征,来提高最终的识别效率。

对空中手写数字“9”进行数据投影变换,得到变换后的3个正交的2D数据见图3-5。

d.学习器

对得到的3个2D数据分别进行训练学习得到3个基学习器,方法如下:先将2D数据缩放到28*28尺寸,再使用相同的基学习器进行学习,采用的基学习器为8层CNN,8层网络从前往后分别为输入层28*28,16个5*5的卷积层,最大池化层,36个5*5的卷积层,最大池化层,平坦层,128个神经元的隐藏层,输出层。

e.基于主学习器的集成方法,

将得到的3个基学习器进行集成,以此获得比单一学习器显著优越的泛化性能,使用的是基于主学习器的投票方法来集成,其流程见图6。具体方法是,因为x-y平面投影的数据为空中手写的语义内容,故将x-y平面投影的数据上学得的学习器作为主学习器,x-z平面与y-z平面投影数据上学得的学习器作为辅学习器1与辅学习器2。投票方法是,如果辅学习器1与辅学习器2的识别结果相同,则最终的识别结果为辅学习器的识别结果;如果辅学习器1与辅学习器2的识别结果不同,则最终的识别结果为主学习器的识别结果。

f.识别结果

最终的识别结果为空中手写的语义,如数字“0-9”等。

本方法为单目相机下基于多模态数据集成的空中手写识别方法,创新性地将多模态数据进行变换,得到多个正交的同质数据集,再参与集成学习。将一维时间序列特征与二维书写轨迹图像特征融合为三维特征,然后分别对三维特征进行投影,得到3个投影平面分别作为不同的数据,学习模型识别,最后将得到的3个结果投票得到最终结果。本方法的创造性在于,通过集成学习,可以将识别率大幅度提高,实验中可以提高10%的识别效率。本方法创新性在于将时间数据与图像数据的多模态数据变换,得到多个正交的同质数据集,再参与集成学习的方法,方法简单,但是达到了较好的识别效果。本方法可以在空中手写,或者类似有时序的学习任务中应用,实用性强。

实施实例:将本方法运用到空中手写孤立词数字“0-9”的识别中。

在实施中,将本方法使用到空中手写识别“0-9”孤立词识别中,使用普通的手机摄像头采集手写视频,通过预处理,得到3人*10数字*10样本的数据集,使用本方法对多维数据进行识别,使用3个样本为训练集,3个样本为验证集,24个样本为测试集,可以在测试集上得到95%的识别率。

在实施中,建立空中手写孤立词数字“0-9”的手写数据集,数据集中部分空中手写视频帧见图9。

数据预处理获取空中书写数据采用的方法如下,先手势分割之前对手势图像序列进行了关键帧提取,得到数量极少的图像序列进行后续的识别过程,这样将会大大减少了手势识别系统的运行时间,再进行图像预处理。图像预处理时,对视频流中每一帧图像进行平滑、去噪、色彩平衡、颜色空间转换、形态学滤波、图像二值化等图像处理技术,分割出手势区域。再计算分割出手势区域的质心作为当前书写位置,书写位置(x,y)坐标为2D图像数据,关键帧的序号为1D时序特征。

获得数字“0-9”的2D图像数据见图10。

使用本方法,最终得可以达到95%的识别率,其混淆矩阵见图6。本方法在小样本上,比CNN算法与传统的特征提取方法识别率均有所提升。

工作原理:空中手写识别是基于轨迹的手势序列识别,其识别忽略了手势形状的变化信息,以手势的运动轨迹为分析数据。其数据获取的过程可以分为,首先对视频流中的手势帧进行手势预处理,包括手势分割与手势跟踪,手势跟踪可以在手势分割得到先验信息的基础上;然后根据跟踪的结果,对手势的运动轨迹进行数据提取;提取出的数据包括有手势在书写平面上的位置,这是2D的数据,还有每一帧的时间序号,这是时序特征,是1D数据。得到的图像数据与时序数据类型为获取的多模态数据,得到的图像数据与时序数据类型不同,为获取的多模态数据。使用多模态数据融合模型将其融合为3D数据,方法如下:原始图像数据为2D数据,原来有x,y坐标值,将其作为作为融合后3D数据的x,y坐标,将时序数据作为融合后3D数据的z坐标,这样得到了融合后的3D数据,对空中手写数字“9”进行多模态数据融合,得到融合后的3D数据见图2,将融合后的3D数据,使用特征投影方法,分别投影到3个正交的坐标平面上,获得3个不同的数据集,其方法如下:假设融合后3D数据的3个坐标轴分别为x,y,z,对3D数据分别取在x-y平面,x-z平面,y-z平面的投影,得到的投影均为2D数据。通过将3D数据投影进行降维,得到3个相互正交的2D数据,通过这种方式进行数据变换,充分提取数据特征,来提高最终的识别效率,对空中手写数字“9”进行数据投影变换,得到变换后的3个正交的2D数据见图3-5,对得到的3个2D数据分别进行训练学习得到3个基学习器,方法如下:先将2D数据缩放到28*28尺寸,再使用相同的基学习器进行学习,采用的基学习器为8层CNN,8层网络从前往后分别为输入层28*28,16个5*5的卷积层,最大池化层,36个5*5的卷积层,最大池化层,平坦层,128个神经元的隐藏层,输出层,将得到的3个基学习器进行集成,以此获得比单一学习器显著优越的泛化性能,使用的是基于主学习器的投票方法来集成,其流程见图6。具体方法是,因为x-y平面投影的数据为空中手写的语义内容,故将x-y平面投影的数据上学得的学习器作为主学习器,x-z平面与y-z平面投影数据上学得的学习器作为辅学习器1与辅学习器2。投票方法是,如果辅学习器1与辅学习器2的识别结果相同,则最终的识别结果为辅学习器的识别结果;如果辅学习器1与辅学习器2的识别结果不同,则最终的识别结果为主学习器的识别结果,最终的识别结果为空中手写的语义,如数字“0-9”等。

技术分类

06120115926229