一种基于动态3D手写数字识别的虚拟人交互系统及方法与流程

文档序号:12122018阅读:来源:国知局

技术特征:

1.一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:包括手势与数字识别模块、中央服务器模块与虚拟人控制模块,所述手势与数字识别模块用于提取手部区间,识别手势及手写轨迹;所述中央服务器模块用于连接手势与数字识别模块和虚拟人控制模块,实现数据的采集,传输和命令发送;所述虚拟人控制模块为在实际中与人进行互动的载体,展示出虚拟人,根据从中央服务器模块接受来的命令,对虚拟人进行动作、语言、表情等操控,实现与人的交互。

2.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述手势与数字识别模块中采用Kinect作为传感器。

3.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述中央服务器模块的搭建是基于RPC-Thrift架构,在该架构中,定义统一的传输数据变量,包括识别的手势与数字以及对虚拟人的动作、语言控制,运用Thrift代码生成器编译成C++和Python的客户端与服务端服务代码框架,接着运用Python运行服务器端的代码搭建起电脑本地端的服务器,并运用决策树设计出基于手势与数字识别结果的虚拟人控制决策架构。

4.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述虚拟人控制模块搭建虚拟人是基于smartbody系统结合ogre游戏引擎,结合3D-Max建模软件和motion Builder动作设计软件,对于复杂动作的设计,采用Kinect获取真人骨架信息嵌套到虚拟人上的方法来完成,并通过Python语言进行行为动作、语言、表情的控制。

5.基于权利要求1所述交互系统的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:所述方法包括如下步骤:

1)通过手势与数字识别模块中的Kinect获取用户的深度数据及骨架信息;

2)结合步骤1)中获得的深度数据和骨架信息,利用人在空中书写时手为身体与Kinect距离值最小部分的原理,分离出人手的部分;

3)提取出手部轮廓,利用外轮廓线距离手心峰值点数目原理,识别手部手势,并发送给中央服务器模块;

4)将手部区域距离摄像头最近的点定为指尖点位置,当识别到手部手势为书写手势,即步骤3)中提到的手指峰值点数目等于1时,开始记录指尖点位置,当识别到手部手势为结束手势,即步骤3)中提到的手指峰值点数目在4以上或跟踪手掌丢失时,指尖点位置记录停止;

5)将步骤4)中记录的指尖点位置,即手写轨迹,进行轮廓检测、提取和笔画粗细优化及转换处理;

6)将步骤5)中处理后的手写轨迹,输入到DWKNN识别器中进行数字识别;

7)将步骤6)中的识别结果通过RPC协议发送给中央服务器模块;

8)中央服务器模块通过RPC协议接收来自手势与数字识别模块的识别结果;

9)中央服务器模块根据步骤8)中接收的识别结果,通过RPC协议向虚拟人控制模块发送对虚拟人动作、语言、表情的控制命令;

10)初始化虚拟人控制模块中的虚拟场景,展示出虚拟人;

11)虚拟人控制模块通过RPC协议,接收来自中央服务器模块的虚拟人控制指令;

12)根据步骤11)中接收的虚拟人控制指令,对虚拟人实行动作、语言、表情等相关操控,实现人机交互。

6.根据权利要求5所述的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:步骤2)包括如下步骤:

a)采用Kinect作为传感器,采集用户的深度数据及骨架信息;

b)通过Kinect提供的API提供深度图像及深度图像中每一个像素点所属的用户ID;

c)运用用户ID数据在深度图像中分离出一幅身体部分的深度图像;

d)对只有身体部分的深度图像进行遍历,找出具有最小的深度值的点;

e)基于空中书写时指尖会在整个人体的最前端的原理,将具有最小的深度值的点的位置定为手指尖点的位置;

f)再遍历只有身体部分的深度图像,分离出大于手指尖深度值一定数值的图像,将其认定为手部图像。

7.根据权利要求5所述的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:步骤3)包括如下步骤:

g)对步骤f)中的手部图像进行边缘检测,获取手部轮廓点集;

h)对点集求最小面积包围圆,将圆心定为手心点;

i)计算点集中的每个点与手心点的距离,按顺时针方向遍历,找出峰值点;

j)根据峰值点,即手指点的数量,得出最终的人手手掌状态结果。

8.根据权利要求5所述的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:步骤5)包括如下步骤:

k)当识别到开始手写的手势后,开始记录下每一个指尖点的位置,并在一幅图像中实时地画出这些点并连接起来,展示给用户;

l)待手写结束后,获得一个关于指尖点手写数字轨迹的点集以及一幅原始轨迹图像;

m)对指尖点手写数字轨迹的点集求出最小面积的包围矩形,并根据包围矩形的面积调整点与点之间连线的粗细,获得新的画有白色手写轨迹的黑色图像;

n)再对这幅新的画有白色手写轨迹的黑色图像进行边缘检测,找出一个新的轨迹点集,求出新的最小面积的包围矩形;

o)运用新的最小面积的包围矩形在新的画有白色手写轨迹的黑色图像中截取出只有单纯手写轨迹的图像;

p)将只有单纯手写轨迹的图像缩放成32*32的01矩阵。

9.根据权利要求8所述的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:在步骤5)中,对于数字1的处理,如果单纯地对数字1的轨迹求最小面积的包围矩形,最终得出来的图像将是一副全白的图像,因此,在计算出最小面积的包围矩形后,要对最小面积的包围矩形的长宽比进行判断,长宽比小于0.5的视为数字1,然后对最小面积的包围矩形的长和宽进行调整,努力使长宽比达到1:1,最后对32*32的图像进行二值化处理,转化成32*32的01矩阵。

10.根据权利要求5所述的一种基于动态3D手写数字识别的虚拟人交互方法,其特征在于:步骤6)中对手写轨迹的识别采用的是DWKNN算法,其中对距离的计算,采用的是欧式几何距离算法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1