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

技术编号:14821440 阅读:95 留言:0更新日期:2017-03-15 19:53
本发明专利技术公开了一种基于动态3D手写数字识别的虚拟人交互系统及方法,所述系统包括手势与数字识别模块、中央服务器模块与虚拟人控制模块,所述手势与数字识别模块用于提取手部区间,识别手势及手写轨迹;所述中央服务器模块用于连接手势与数字识别模块和虚拟人控制模块,实现数据的采集,传输和命令发送;所述虚拟人控制模块为在实际中与人进行互动的载体,展示出虚拟人,根据从中央服务器模块接受来的命令,对虚拟人进行动作、语言、表情等操控,实现与人的交互,该系统将空中手写数字识别技术与虚拟人交互技术进行结合,为人们提供了一种更加生动有趣的交互方式。

【技术实现步骤摘要】

本专利技术涉及虚拟现实和智能识别
,尤其是一种基于动态3D手写数字识别的虚拟人交互系统及方法
技术介绍
随着社会的不断发展和电子设备的不断普及,人机之间的交互变得越来越频繁。人们也一直在不断努力创造一种更加自然、人性化的交互系统。在对机器的输入方面,传统的交互设备如:鼠标、键盘、手柄等,又或者是比较新型的交互设备如:数据手套、全身运动捕捉系统等穿戴设备,都会给人的行为附加上一些物理条件的限制,一定程度上束缚了人的自由,增加人的负担,而且这些交互方式均不是人们日常活动中以语言、动作为主的交互方式。在机器对人的反馈方面,比较传统的方式如:在软件交互界面弹出一些图片、对话框,播放一段音乐或人声,也就仅能通过视觉、听觉与人进行交互,类人型机器人和智能语音助理,它们与人的交互也只是通过识别一些比较僵硬的静态肢体动作或简单的语言来进行,由此可见,目前智能体的外形及交互方式比较呆板单一,还没有达到能像人与人交互同时具有动作和语音的程度。对于这样的研究现状,我们需要设计一个具有高度类人外观及动作,可通过动作及语言等方式进行动态交互的智能体系统。基于Kinect摄像头捕捉并识别人体连续动作的交互手段,人性化程度高,操作比较自由便捷友好,没有传统人机交互设备给人带来的束缚,虚拟人智能体,拥有人的外观、肢体动作、表情及语言,容易让交互对象产生亲切感,以解决传统及现有人机交互反馈环节比较呆板单一的局限性,将两项技术相结合,可实现更加人性化、类人化的生动有趣的人机交互过程,给用户带来一种新的体验。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提供了一种基于动态3D手写数字识别的虚拟人交互系统。本专利技术的另一目的在于提供一种基于动态3D手写数字识别的虚拟人交互方法。本专利技术的目的可以通过如下技术方案实现:一种基于动态3D手写数字识别的虚拟人交互系统,包括手势与数字识别模块、中央服务器模块与虚拟人控制模块,所述手势与数字识别模块用于提取手部区间,识别手势及手写轨迹;所述中央服务器模块用于连接手势与数字识别模块和虚拟人控制模块,实现数据的采集,传输和命令发送;所述虚拟人控制模块为在实际中与人进行互动的载体,展示出虚拟人,根据从中央服务器模块接受来的命令,对虚拟人进行动作、语言、表情等操控,实现与人的交互。优选地,所述手势与数字识别模块中采用Kinect作为传感器。优选地,所述中央服务器模块的搭建是基于RPC-Thrift架构,在该架构中,定义统一的传输数据变量,包括识别的手势与数字以及对虚拟人的动作、语言控制,运用Thrift代码生成器编译成C++和Python的客户端与服务端服务代码框架,接着运用Python运行服务器端的代码搭建起电脑本地端的服务器,并运用决策树设计出基于手势与数字识别结果的虚拟人控制决策架构。优选地,所述虚拟人控制模块搭建虚拟人是基于smartbody系统结合ogre游戏引擎,结合3D-Max建模软件和motionBuilder动作设计软件,对于复杂动作的设计,采用Kinect获取真人骨架信息嵌套到虚拟人上的方法来完成,并通过Python语言进行行为动作、语言、表情的控制。本专利技术的另一目的可以通过如下技术方案实现:一种基于动态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)中接收的虚拟人控制指令,对虚拟人实行动作、语言、表情等相关操控,实现人机交互。优选地,步骤2)包括如下步骤:a)采用Kinect作为传感器,采集用户的深度数据及骨架信息;b)通过Kinect提供的API提供深度图像及深度图像中每一个像素点所属的用户ID;c)运用用户ID数据在深度图像中分离出一幅身体部分的深度图像;d)对只有身体部分的深度图像进行遍历,找出具有最小的深度值的点;e)基于空中书写时指尖会在整个人体的最前端的原理,将具有最小的深度值的点的位置定为手指尖点的位置;f)再遍历只有身体部分的深度图像,分离出大于手指尖深度值一定数值的图像,将其认定为手部图像。优选地,步骤3)包括如下步骤:g)对步骤f)中的手部图像进行边缘检测,获取手部轮廓点集;h)对点集求最小面积包围圆,将圆心定为手心点;i)计算点集中的每个点与手心点的距离,按顺时针方向遍历,找出峰值点;j)根据峰值点,即手指点的数量,得出最终的人手手掌状态结果。优选地,步骤5)包括如下步骤:k)当识别到开始手写的手势后,开始记录下每一个指尖点的位置,并在一幅图像中实时地画出这些点并连接起来,展示给用户;l)待手写结束后,获得一个关于指尖点手写数字轨迹的点集以及一幅原始轨迹图像;m)对指尖点手写数字轨迹的点集求出最小面积的包围矩形,并根据包围矩形的面积调整点与点之间连线的粗细,获得新的画有白色手写轨迹的黑色图像;n)再对这幅新的画有白色手写轨迹的黑色图像进行边缘检测,找出一个新的轨迹点集,求出新的最小面积的包围矩形;o)运用新的最小面积的包围矩形在新的画有白色手写轨迹的黑色图像中截取出只有单纯手写轨迹的图像;p)将只有单纯手写轨迹的图像缩放成32*32的01矩阵。优选地,在步骤5)中,对于数字1的处理,如果单纯地对数字1的轨迹求最小面积的包围矩形,最终得出来的图像将是一副全白的图像,因此,在计算出最小面积的包围矩形后,要对最小面积的包围矩形的长宽比进行判断,长宽比小于0.5的视为数字1,然后对最小面积的包围矩形的长和宽进行调整,努力使长宽比达到1:1,最后对32*32的图像进行二值化处理,转化成32*32的01矩阵。优选地,步骤6)中对手写轨迹的识别采用的是DWKNN算法,其中对距离的计算,采用的是欧式几何距离算法。本专利技术与现有技术相比,具有如下优点和有益效果:1、现有技术大多数只将Kinect运用于人体静态单一姿势和动作的捕捉与识别中,本专利技术运用Kinect捕捉人体手部连续的手写动作,可识别动态3D手写的数字及手势,达到生动灵活有趣的人机交互效果;2、本专利技术提取手部区域图像,采用的本文档来自技高网...
一种基于动态3D手写数字识别的虚拟人交互系统及方法

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

【技术特征摘要】
1.一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:包括手势与数字识别模块、中央服务器模块与虚拟人控制模块,所述手势与数字识别模块用于提取手部区间,识别手势及手写轨迹;所述中央服务器模块用于连接手势与数字识别模块和虚拟人控制模块,实现数据的采集,传输和命令发送;所述虚拟人控制模块为在实际中与人进行互动的载体,展示出虚拟人,根据从中央服务器模块接受来的命令,对虚拟人进行动作、语言、表情等操控,实现与人的交互。2.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述手势与数字识别模块中采用Kinect作为传感器。3.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述中央服务器模块的搭建是基于RPC-Thrift架构,在该架构中,定义统一的传输数据变量,包括识别的手势与数字以及对虚拟人的动作、语言控制,运用Thrift代码生成器编译成C++和Python的客户端与服务端服务代码框架,接着运用Python运行服务器端的代码搭建起电脑本地端的服务器,并运用决策树设计出基于手势与数字识别结果的虚拟人控制决策架构。4.根据权利要求1所述的一种基于动态3D手写数字识别的虚拟人交互系统,其特征在于:所述虚拟人控制模块搭建虚拟人是基于smartbody系统结合ogre游戏引擎,结合3D-Max建模软件和motionBuilder动作设计软件,对于复杂动作的设计,采用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)初始化...

【专利技术属性】
技术研发人员:张智军黄永前
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1