具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请提出了一种空中输入系统、方法及空中输入采集设备,通过灵活自由的手写输入方式,将采集到的三维手写轨迹数据转换为二维数据,对二维数据进行识别处理,再根据识别后的结果进行相应的操作。
下面介绍的实施例中,终端设备可以是手机、电脑、智能电视等。
实施例1,详细介绍一种空中输入系统。
参照图1,示出了本申请实施例所述一种空中输入系统的结构图。
所述空中输入系统可以包括以下设备:
空中输入采集设备11,终端设备12,以及,云服务端13。
其中,所述终端设备12还可以包括以下模块:
通信模块121,以及,操作模块122。
所述云服务端13还可以包括以下模块:
手写轨迹处理模块131,以及,手写识别模块132。
下面分别详细说明各个设备和模块的功能以及之间的关系。
空中输入采集设备11,用于根据用户手写移动的轨迹采集手写输入的三维手写轨迹数据,并将所述三维手写轨迹数据传输到终端设备;
所述的空中输入采集设备戴在手指或笔上,在空中、桌面或者任意地方进行手写输入,并记录下手写输入的三维手写轨迹数据,通过无线方式将所述的三维手写轨迹数据传输到终端设备。
所述三维手写轨迹数据是空中输入采集设备定位和移动的三维坐标。
终端设备12包括:
通信模块121,用于将所述三维手写轨迹数据传输至云服务端;
在终端设备接收到空中输入采集设备传输过来的三维手写轨迹数据后,通信模块将所述的三维手写轨迹数据再传输至云服务端。
操作模块122,用于依据识别结果执行相应操作;
在终端设备接收到云服务端传输过来的识别结果后,操作模块依据识别结果执行相应操作。
云服务端13包括:
手写轨迹处理模块131,用于将所述三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据;
在云服务端接收到终端设备传输过来的三维手写轨迹数据后,手写轨迹处理模块将所述三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据。
手写识别模块132,用于将所述二维手写轨迹数据进行手写识别,并将识别结果传输至终端设备。
手写识别模块将手写轨迹处理模块转换后的二维手写轨迹数据进行手写识别,然后再将识别结果传输至终端设备。
综上所述,本申请实施例中的一种空中输入系统包括以下优点:
首先,空中输入采集设备摆脱了传统手写输入方法中接触式输入方式的束缚;其次,云服务端实现了三维手写轨迹数据向二维数据转换的过程;再次,针对不同用户的手写输入习惯,提供个性化的手写识别服务。
下面的实施例中,空中输入采集设备为类似戒指的无线收发硬件,如魔戒或者指环,终端设备为智能电视。
实施例2,详细介绍一种空中输入系统。
参照图2,示出了本申请实施例所述一种空中输入系统的结构图。
所述空中输入系统可以包括以下设备:
空中输入采集设备21,终端设备22,以及,云服务端23。
所述空中输入采集设备21还可以包括以下装置和模块:
加速度计211,陀螺仪212,状态判定模块213,计算模块214,以及,三维数据获得模块215。
其中,所述状态判定模块213还可以包括以下模块:
三维合成子模块2131,差值计算子模块2132,以及,判定子模块2133。
其中,所述计算模块214还可以包括以下模块:
设定子模块2141,校准子模块2142,以及,计算子模块2143。
所述终端设备22还可以包括以下模块:
通信模块221,以及,操作模块222。
其中,所述操作模块222还可以包括以下模块:
第一操作子模块2221,以及,第二操作子模块2222。
所述云服务端23还可以包括以下模块:
手写轨迹处理模块231,手写识别模块232,手写数据存储模块233,以及,手写识别自学习模块234。
具体说明如下:
空中输入采集设备21,用于根据用户手写移动的轨迹采集手写输入的三维手写轨迹数据,并将所述三维手写轨迹数据传输到终端设备;
将魔戒或指环戴在手指上,在空中、桌面或者任意地方进行手写输入,魔戒或指环记录下手写输入的三维手写轨迹数据,通过无线方式将所述的三维手写轨迹数据传输到智能电视。
所述空中输入采集设备21包括:
加速度计211,用于采集三维线加速度和重力加速度;
加速度计根据魔戒或指环移动的轨迹采集各轴对应的线加速度和重力加速度。
陀螺仪212,用于采集角加速度;
陀螺仪根据魔戒或指环移动的轨迹采集各轴对应的角加速度。
状态判定模块213,用于根据加速度计采集的三维线加速度和重力加速度确定手写的状态是稳定状态还是运动状态;
状态判定模块对采集到的角加速度、线加速度和重力加速度进行信号滤波以及信号稳定性处理,确定魔戒或指环的状态是稳定状态还是运动状态。
所述状态判定模块213包括:
三维合成子模块2131,用于将加速度计采集的三维线加速度进行合成,得到合成值;
所述合成包括三维线加速度在大小和方向上的合成。
差值计算子模块2132,用于计算所述合成值与重力加速度的差值;
差值计算子模块将加速度计采集到的重力加速度和三维合成子模块得到的合成值进行做差计算,得到两者的差值。
判定子模块2133,用于如果所述差值在预设范围内,则判定手写处于稳定状态;如果所述差值不在预设范围内,则判定手写处于运动状态;
所述预设范围是根据实际需要预先设定的加速度计采集到的重力加速度和三维合成子模块得到的合成值做差后得到结果的范围(包括差值为0),包括大小和方向。
先计算出重力加速度在加速度计坐标内的方向以及稳定状态下对应的重力加速度和陀螺仪的零点位置,再通过稳定状态下的重力加速度在加速度计坐标下的投影,获得魔戒或指环与初始状态姿态的差异,之后校准陀螺仪的输出坐标和零点位置。
如果处于稳定状态,根据三维线加速度各轴上的数据大小,得出处于稳定状态下重力加速度的方向,从而确定魔戒或指环的自态。
所述的自态是在稳态状态下,根据陀螺仪坐标与重力加速度坐标之间保持恒定的关系,和得到的重力加速度与加速度计坐标之间的关系,就可以得到运动方向在陀螺仪坐标中的偏移,从而根据该偏移校准陀螺仪的坐标,达到魔戒或指环的实际运动,和根据陀螺仪角加速度确定的定位信号输出之间的同步。
计算模块214,用于根据陀螺仪采集的角加速度计算出手写移动轨迹中的采样点三维坐标;
计算模块在校准后的陀螺仪角加速度坐标的基础上,结合魔戒或指环的自态,通过对陀螺仪输出的数据积分、分段稳定、圆点自校准以及增益补偿等处理,从而得到魔戒或指环的定位和位移变化的三维坐标。
所述计算模块214包括:
设定子模块2141,用于将稳定状态下的三维线加速度坐标系作为参考坐标系;
如果三维线加速度坐标系与角加速度坐标系一致,可以通过陀螺仪的算法获得运动方向和大小。但是当三维线加速度坐标系与角加速度坐标系不一致时,还按照陀螺仪的算法得到运动方向和大小,就与实际运动方向和大小不一致。
校准子模块2142,用于获得魔戒或指环的运动方向在陀螺仪坐标系中的偏移,依据所述偏移调整陀螺仪坐标系使其与所述参考坐标系始终保持一致;
校准子模块将获得的魔戒或指环在运动方向上的三维线加速度,在陀螺仪坐标系中进行比对,得到偏移信息,通过校准陀螺仪采集的角加速度坐标,使陀螺仪的角加速度坐标与魔戒或指环的运动方向相对应,即与所述参考坐标系保持一致。
计算子模块2143,用于将坐标系调整后的陀螺仪采集的角加速度进行计算,得到手写移动轨迹中的采样点三维坐标;
计算子模块以稳定状态下的三维线加速度坐标系作为参考坐标系,通过坐标转换,在校准陀螺仪角速度坐标的前提下,计算出魔戒或指环在移动轨迹中的采样点三维坐标。
三维数据获得模块215,用于依据手写的各个状态和采样点三维坐标,得到手写输入的三维手写轨迹数据;
三维数据获得模块根据魔戒或指环的稳定状态或者运动状态,和计算得到的采样点三维坐标,得到手写输入过程中的三维手写轨迹数据。
所述的三维手写轨迹数据是魔戒或指环定位和位移的三维坐标。
终端设备22包括:
通信模块221,用于将所述三维手写轨迹数据传输至云服务端;
通信模块将魔戒或指环传输过来的三维手写轨迹数据通过网络传输至云服务端。
所述网络是互联网、移动互联网或者局域网。
所述网络不局限于以上网络,还应该包括近场通信网或者设备之间的近场通信。如NFC(Near Field Communication),即近距离无线通讯技术,本实施例中仅例举几种常用的网络方便对本技术方案的理解,不应该认为是对技术方案的限定。
操作模块222,用于依据识别结果执行相应操作;
终端设备在接收到从云服务端传输过来的三维手写轨迹数据识别结果后,操作模块根据识别结果执行相应的操作。
所述识别结果包括:
字符,例如汉字、字母、符号、数字等;
手势,例如从下向上、从右向左等,并且这些手势需要与具体实现的功能,提前做好一一对应的设置,手势操作尽量简单。例如从右向左的手势可实现智能电视的″频道+″功能,即切换至下一个频道;从下向上的手势,便可实现智能电视的″音量+″功能,即增大音量。
所述操作模块222还包括:
第一操作子模块2221,用于当所述手写识别是字符识别时,将识别结果进行显示,并依据用户选择确认的结果确认数据执行搜索操作;
如果所述手写识别是字符识别时,第一操作子模块将识别结果在智能电视上显示出来,在用户从识别结果中选择确认后,依据结果确认数据执行搜索操作。例如,智能电视显示出来的手写识别结果是″河″和″何″,用户选择确认的是″河″,第一操作子模块根据″河″执行搜索操作,搜索出″河北″、″河南″在智能电视上显示,供用户选择确认。
和/或,第二操作子模块2222,用于当所述手写识别是手势识别时,将识别结果进行显示,并将用户选择确认的结果确认数据与预定义的功能操作进行匹配,执行相匹配的功能操作;
如果所述手写识别是字符识别时,第二操作子模块将识别结果在智能电视上显示出来,在用户从识别结果中选择确认后,依据结果确认数据与预定义的功能操作进行匹配,执行相匹配的功能操作。例如,智能电视显示出来的手写识别结果是从右向左″←″和从下向上″↑″,用户选择确认的是从右向左″←″,第二操作子模块根据从右向左″←″对应的″频道+″功能,实现智能电视的″频道+″功能,即切换至下一个频道。
云服务端23包括:
手写轨迹处理模块231,用于将所述三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据;
手写轨迹处理模块将接收到的三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据,以OpenGL(Open Graphics Library,开放图形语言)为例说明转换的步骤包括:视点变换、模型变换和投影变换,视点变换和模型变换先进行哪个后进行哪个都可以,但都要在投影变换之前完成。
视点变换在视点坐标系中进行,视点坐标系遵循左手法则。采用OpenGL实现三维坐标绘图,具体实现如下:矩阵初始化glLoadIdentity()后,调用glTranslatef()作视点变换。函数参数(x,y,z)表示视点在视点坐标系中移动的位置。通常视点位置缺省值同场景中的物体一样,都在原点处,而且视点初始方向都指向Z负轴。
模型变换在世界坐标系中进行,而世界坐标系遵循右手法则。在世界坐标系中,可以对物体实施平移glTranslatef()、旋转glRotatef()和放大缩小glScalef()。例如:只对物体进行比例变换,glScalef(sx,sy,sz)的三个参数分别是X、Y、Z轴向的比例变换因子。缺省时都为1.0,即物体没变化。
投影变换是一种图形变换,提供了两种投影方式,包括正射投影和透视投影。本实施例中采用正射投影方式。
正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体。正射投影的最大一个特点是无论物体距离视点多远,投影后的物体大小尺寸不变。OpenGL正射投影函数为void glOrtho(GLdoubleleft,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdoublefar),该函数创建一个平行视景体。实际上这个函数的操作是创建一个正射投影矩阵,并且用这个矩阵乘以当前矩阵。
手写识别模块232,用于将所述二维手写轨迹数据进行手写识别,并将识别结果传输至终端设备;
手写识别模块将手写轨迹处理模块转换后的二维手写轨迹数据进行手写识别,并将识别结果传输至智能电视。
所述的手写识别是定型意义上的模式识别。首先在训练阶段建立起识别模型。先对训练的采样数据进行预处理(包括平滑,去噪,归一化等);然后提取最能描述字符,最稳定的参数特征,可以是笔画类型及其位置关系,也可以是笔画方向等;最后对所有特征进行聚类。
然后是识别阶段,与训练阶段相对应,先进行预处理,然后提取特征,最后与训练阶段产生的模型进行分类,得到N-Best(N-最佳)结果。其中,每个汉字,字母,数字或手势都当成相同的字符进行处理。
手写数据存储模块233,用于将所述三维手写轨迹数据和结果确认数据进行存储;
手写数据存储模块将采集到的三维手写轨迹数据和该三维手写轨迹数据转换为二维手写轨迹数据,在二维手写轨迹数据的识别结果中,用户选择确认的结果确认数据一起保存在数据库中。
手写识别自学习模块234,用于依据所存储的数据建立手写识别训练模型,并依据所述手写识别训练模型获得符合用户输入习惯的识别结果。
手写识别自学习模块定期从手写数据存储模块的数据库中获取三维手写轨迹数据和结果确认数据建立手写识别训练模型,依据所述手写识别训练模型获得符合用户输入习惯的识别结果,以提高手写输入的识别率,提升手写输入效率。
建立手写识别训练模型需要将获取的三维手写轨迹数据转换为二维手写轨迹数据,再结合对应的结果确认数据一起建立。
例如,用户连笔手写输入″魔戒输入法″,可能″魔戒输入法″并不是第一候选,如果用户手动选定了″魔戒输入法″这一候选结果,那么″魔戒输入法″这一三维手写轨迹数据和结果确认数据都保存至数据库中,在建立了手写识别模型后,用户再次输入时,″魔戒输入法″将会作为第一候选。
通过建立手写识别训练模型,还可以实现手写识别的个性化。
所述个性化是针对用户独特的手写习惯,让用户都有良好的手写体验。但是针对个人就需要有注册登陆机制,来实现一一对应的关系。例如,智能终端(智能手机)的手写输入法软件,用户在使用时,会由系统分配唯一的标识给用户,无需主动注册,但实际上已经完成一一对应的关系。用户在手写输入时,将手写轨迹和识别结果根据用户的唯一标示进行存储,并利用手写历史数据建立训练模型,将通用的手写识别引擎训练成符合该用户手写输入习惯的手写识别引擎,从而完成对手写输入的个性化,用户再次输入时,原本需要选择候选字的情况就会越来越少,更多的是默认结果便是用户输入的字符。
参照图3,示出了本申请实施例所述另一种空中输入系统的结构图。
所述空中输入系统可以包括以下设备和服务:
魔戒(空中输入采集设备),智能电视(终端设备),智能电视应用业务服务,以及,手写识别服务集群(云服务端)。
其中,所述手写识别服务集群还可以包括以下服务:
手写轨迹处理服务,手写识别服务,手写数据存储服务,以及,手写识别自学习服务。
具体说明如下:
用户将魔戒带在手指上,在空中或者桌面等任意地方进行手写输入;
魔戒会根据用户手指移动的轨迹记录下手写输入的轨迹数据;
通过无线数据传输的方式,魔界将手写轨迹数据传至智能电视;
智能电视在收到手写轨迹数据后,智能电视应用业务服务立即通过网络将手写轨迹数据传至手写识别服务集群;
手写识别服务集群将手写轨迹数据交由手写轨迹处理服务进行处理;
手写轨迹处理服务在收到手写轨迹数据后,将手写轨迹投影至平面上,以便进行识别;
将投影处理后的手写轨迹数据交由手写识别服务进行识别,并将识别结果返回至智能电视,并显示在屏幕上;
用户选择识别结果后,将轨迹数据和识别结果确认数据,存储至数据库;
手写识别自学习服务定期从数据库中获取手写轨迹数据和经过确认的识别结果数据进行自学习,以提高手写识别率,提升手写输入效率。
上述实施例介绍的一种空中输入系统中包括了一个很重要的组成部分——空中输入采集设备,下面通过实施例3详细介绍这种空中输入采集设备。
实施例3,详细介绍一种空中输入采集设备。
参照图4,示出了本申请实施例所述一种空中输入采集设备的结构图。
所述输入采集设备可以包括以下装置和模块:
加速度计41,陀螺仪42,状态判定模块43,计算模块44,以及,三维数据获得模块45。
下面分别详细说明各个装置和模块的功能以及之间的关系。
加速度计41,用于采集三维线加速度和重力加速度;
加速度计根据手写移动的轨迹采集各轴对应的线加速度和重力加速度。
陀螺仪42,用于采集角加速度;
陀螺仪根据手写移动的轨迹采集各轴对应的角加速度。
状态判定模块43,用于根据加速度计采集的三维线加速度和重力加速度确定手写的状态是稳定状态还是运动状态;
状态判定模块对采集到的角加速度、线加速度和重力加速度进行信号滤波以及信号稳定性处理,确定手写的状态是稳定状态还是运动状态。
计算模块44,用于根据陀螺仪采集的角加速度计算出手写移动轨迹中的采样点三维坐标;
计算模块在校准后的陀螺仪角加速度坐标的基础上,结合手写移动轨迹的线加速度,通过对陀螺仪输出的数据积分、分段稳定、圆点自校准以及增益补偿等处理,得到手写的定位和位移变化的三维坐标。
三维数据获得模块45,用于依据手写的各个状态和采样点三维坐标,得到手写输入的三维手写轨迹数据。
三维数据获得模块根据手写的稳定状态或者运动状态,和计算得到的采样点三维坐标,得到手写输入过程中的三维手写轨迹数据。
综上所述,本申请实施例中的一种空中输入采集设备可以在空间环境下进行手写输入操作,不依赖传统的手写板或触摸屏,摆脱了传统手写输入方法中接触式输入方式的束缚。
下面介绍的实施例中空中输入采集设备为魔戒或指环。
实施例4,详细介绍一种空中输入采集设备。
参照图5,示出了本申请实施例所述一种空中输入采集设备的结构图。
所述输入采集设备可以包括以下装置和模块:
加速度计51,陀螺仪52,状态判定模块53,计算模块54,以及,三维数据获得模块55。
其中,所述状态判定模块53还可以包括以下模块:
三维合成子模块531,差值计算子模块532,以及,判定子模块533。
所述计算模块54还可以包括以下模块:
设定子模块541,校准子模块542,以及,计算子模块543。
具体说明如下:
加速度计51,用于采集三维线加速度和重力加速度;
加速度计根据魔戒或指环移动的轨迹采集各轴对应的线加速度和重力加速度。
陀螺仪52,用于采集角加速度;
陀螺仪根据魔戒或指环移动的轨迹采集各轴对应的角加速度。
状态判定模块53,用于根据加速度计采集的三维线加速度和重力加速度确定手写的状态是稳定状态还是运动状态;
状态判定模块对采集到的角加速度、线加速度和重力加速度进行信号滤波以及信号稳定性处理,确定魔戒或指环的状态是稳定状态还是运动状态。
所述状态判定模块53包括:
三维合成子模块531,用于将加速度计采集的三维线加速度进行合成,得到合成值;
三维合成子模块将加速度计采集到的三维线加速度进行合成,得到合成值。
所述合成包括三维线加速度在大小和方向上的合成。
差值计算子模块532,用于计算所述合成值与重力加速度的差值;
差值计算子模块将加速度计采集到的重力加速度和三维合成子模块得到的合成值进行做差计算,得到两者的差值。
判定子模块533,用于如果所述差值在预设范围内,则判定手写处于稳定状态;如果所述差值不在预设范围内,则判定手写处于运动状态;
如果所述差值在预设范围内,判定子模块就判定魔戒或指环处于稳定状态;
如果所述差值不在预设范围内,判定子模块就判定魔戒或指环处于运动状态;
所述预设范围是根据实际需要预先设定的加速度计采集到的重力加速度和三维合成子模块得到的合成值做差后得到结果的范围(包括差值为0),包括大小和方向。
计算模块54,用于根据陀螺仪采集的角加速度计算出手写移动轨迹中的采样点三维坐标;
所述计算模块54包括:
设定子模块541,用于将稳定状态下的三维线加速度坐标系作为参考坐标系;
如果三维线加速度坐标系与角加速度坐标系一致,可以通过陀螺仪的算法获得运动方向和大小。但是当三维线加速度坐标系与角加速度坐标系不一致时,还按照陀螺仪的算法得到运动方向和大小,就与实际运动方向和大小不一致。
校准子模块542,用于获得手写的运动方向在陀螺仪坐标系中的偏移,依据所述偏移调整陀螺仪坐标系使其与所述参考坐标系始终保持一致;
校准子模块将获得的魔戒或指环在运动方向上的三维线加速度,在陀螺仪坐标系中进行比对,得到偏移信息,通过校准陀螺仪采集的角加速度坐标,使陀螺仪的角加速度坐标与魔戒或指环的运动方向相对应,即与所述参考坐标系保持一致。
计算子模块543,用于将坐标系调整后的陀螺仪采集的角加速度进行计算,得到手写移动轨迹中的采样点三维坐标;
计算子模块以稳定状态下的三维线加速度坐标系作为参考坐标系,通过坐标转换,在校准陀螺仪角速度坐标的前提下,计算出魔戒或指环在移动轨迹中的采样点三维坐标。
三维数据获得模块55,用于依据手写的各个状态和采样点三维坐标,得到手写输入的三维手写轨迹数据。
三维数据获得模块根据魔戒或指环的稳定状态或者运动状态,和计算得到的采样点三维坐标,得到手写输入过程中的三维手写轨迹数据。
所述的三维手写轨迹数据是魔戒或指环定位和位移的三维坐标。
参照图6,示出了本申请实施例所述另一种空中输入采集设备的结构图。
所述空中输入采集设备可以包括以下装置和模块:
陀螺仪,加速度计,魔戒运动信号检测模块,以及,通信模块。
具体说明如下:
陀螺仪用于采集魔戒角加速度;
加速度计用于采集魔戒的线加速度和重力加速度;
魔戒运动信号检测模块用于对陀螺仪、加速度计采集的数据进行滤波、放大等处理,获得魔戒位移的三维坐标;
通信模块用于与终端设备建立无线连接,将魔戒位移的三维坐标发送至终端设备,进而由终端设备完成向服务端进行手写识别的请求。
在上述实施例中介绍了一种空中输入系统,该系统运用了一种空中输入方法,下面通过实施例5详细介绍这种方法。
实施例5,详细介绍一种空中输入方法。
参照图7,示出了本申请实施例所述一种空中输入方法的流程图。
步骤71,根据用户手写移动的轨迹采集手写输入的三维手写轨迹数据,并将所述三维手写轨迹数据传输到终端设备;
空中输入采集设备戴在手指或笔上,在空中、桌面或者任意地方进行手写输入,并记录下手写输入的三维手写轨迹数据,通过无线方式将所述的三维手写轨迹数据传输到终端设备。
所述三维手写轨迹数据是空中输入采集设备定位和移动的三维坐标。
步骤72,终端设备将所述三维手写轨迹数据传输至云服务端;
终端设备在接收到空中输入采集设备传输过来的三维手写轨迹数据后,将所述的三维手写轨迹数据再传输至云服务端。
步骤73,云服务端将所述三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据后进行手写识别,并将识别结果传输至终端设备;
云服务端在接收到终端设备传输过来的三维手写轨迹数据后,将所述三维手写轨迹数据投影到平面上,转换为二维手写轨迹数据,再对二维手写轨迹数据进行手写识别,然后将识别结果传输至终端设备。
步骤74,终端设备依据识别结果执行相应操作。
终端设备在接收到云服务端传输过来的识别结果后,依据识别结果执行相应操作。
综上所述,本申请实施例中的一种空中输入方法包括以下优点:
首先,空中输入采集设备摆脱了传统手写输入方法中接触式输入方式的束缚;其次,云服务端实现了三维手写轨迹数据向二维数据的转换的过程;再次,针对不同用户的手写输入习惯,提供个性化的手写识别服务。
下面介绍的实施例中空中输入采集设备为魔戒或者指环,终端设备为智能电视。
实施例6,详细介绍一种空中输入方法。
参照图8,示出了本申请实施例所述一种空中输入方法的流程图。
步骤801,将加速度计采集的三维线加速度进行合成,得到合成值;
将加速度计采集到的三维线加速度进行合成,得到合成值。
所述合成包括三维线加速度在大小和方向上的合成。
步骤802,计算所述合成值与重力加速度的差值;
将加速度计采集到的重力加速度和得到的合成值进行做差计算,得到两者的差值。
步骤803,如果所述差值在预设范围内,则判定手写处于稳定状态;如果所述差值不在预设范围内,则判定手写处于运动状态;
所述预设范围是根据实际需要预先设定的加速度计采集到的重力加速度和得到的合成值做差后得到结果的范围(包括差值为0),包括大小和方向。
步骤804,将稳定状态下的三维线加速度坐标系作为参考坐标系;
如果三维线加速度坐标系与角加速度坐标系一致,可以通过陀螺仪的算法获得运动方向和大小。但是当三维线加速度坐标系与角加速度坐标系不一致时,还按照陀螺仪的算法得到运动方向和大小,就与实际运动方向和大小不一致。
步骤805,获得魔戒或指环的运动方向在陀螺仪坐标系中的偏移,依据所述偏移调整陀螺仪坐标系使其与所述参考坐标系始终保持一致;
将获得的魔戒或指环在运动方向上的三维线加速度,在陀螺仪坐标系中进行比对,得到偏移信息,通过校准陀螺仪采集的角加速度坐标,使陀螺仪的角加速度坐标与魔戒或指环的运动方向相对应,即与所述参考坐标系保持一致。
步骤806,将坐标系调整后的陀螺仪采集的角加速度进行计算,得到手写移动轨迹中的采样点三维坐标;
以稳定状态下的三维线加速度坐标系作为参考坐标系,通过坐标转换,在校准陀螺仪角速度坐标的前提下,计算出魔戒或指环在移动轨迹中的采样点三维坐标。
步骤807,依据手写的各个状态和采样点三维坐标,得到手写输入的三维手写轨迹数据;
根据魔戒或指环的稳定状态或者运动状态,和计算得到的采样点三维坐标,得到手写输入过程中的三维手写轨迹数据。
步骤808,终端设备将所述三维手写轨迹数据传输至云服务端;
智能电视将魔戒或指环传输过来的三维手写轨迹数据通过网络传输至云服务端。
所述网络是互联网、移动互联网或者局域网。
所述网络不局限于以上网络,还应该包括近场通信网或者设备之间的近场通信。如NFC(Near Field Communication),即近距离无线通讯技术,本实施例中仅例举几种常用的网络方便对本技术方案的理解,不应该认为是对技术方案的限定。步骤809,云服务端将所述三维手写轨迹数据投影到平面上,经过视点变换、模型变换和投影变换,转换为二维手写轨迹数据后进行手写识别,并将识别结果传输至终端设备;
所述视点变换和模型变换先进行哪个后进行哪个都可以,但都要在投影变换之前完成。
对二维手写轨迹数据进行手写识别,并将识别结果传输至智能电视。
所述识别结果包括:字符和手势。
步骤810,终端设备依据识别结果执行相应操作,如果所述手写识别是字符识别,终端设备将识别结果进行显示,并依据用户选择确认的结果确认数据执行搜索操作;
如果终端设备接收到的是字符识别,将字符在智能电视上显示出来,在用户从字符中选择确认后,依据确认后的字符执行搜索操作。
步骤811,终端设备依据识别结果执行相应操作,如果所述手写识别是手势识别,终端设备将识别结果进行显示,将用户选择确认的结果确认数据与预定义的功能操作进行匹配,并执行相匹配的功能操作;
如果终端设备接收到的是手势识别,将手势在智能电视上显示出来,在用户从手势中选择确认后,依据确认后的手势与预定义的功能操作进行匹配,执行相匹配的功能操作。
步骤812,将所述三维手写轨迹数据和结果确认数据进行存储;
将采集到的三维手写轨迹数据和该三维手写轨迹数据转换为二维手写轨迹数据,在二维手写轨迹数据的识别结果中,用户选择确认的结果确认数据一起保存在数据库中。
步骤813,依据所存储的数据建立手写识别训练模型;
定期从数据库中获取三维手写轨迹数据和结果确认数据建立手写识别训练模型。
建立手写识别训练模型需要将获取的三维手写轨迹数据转换为二维手写轨迹数据,再结合对应的结果确认数据一起建立。
步骤814,依据所述手写识别训练模型获得符合用户输入习惯的识别结果。
依据所述手写识别训练模型获得符合用户输入习惯的识别结果,以提高手写输入的识别率,提升手写输入效率。
参照图9,示出了本申请实施例所述另一种空中输入方法的流程图。
步骤911,手写轨迹采集设备(魔戒)采集三维手写输入轨迹数据,并传输至终端设备(智能电视、手机等);
步骤912,终端设备将三维手写轨迹数据传输至手写轨迹处理与识别服务;
步骤913,手写轨迹处理与识别服务将三维手写轨迹数据转换为二维手写轨迹数据后进行识别处理,得到识别结果。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上对本申请所提供的一种空中输入系统、方法及空中输入采集设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。