- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于区域分析指尖检测算法研究及在增强现实中应用
基于区域分析指尖检测算法研究及在增强现实中应用 摘 要 首先通过对基于区域分析的指尖检测算法的介绍和研究,并验证了该算法的有效性。然后介绍了增强现实技术以及增强现实中的人机交互,并把指尖检测算法应用到增强现实系统中,通过实验能够很好的识别指尖与虚拟对象的交互区域并实时反馈交互结果,证实了该算法在增强现实系统中的可行性。 【关键词】区域分析 指尖检测 增强现实 交互应用 1 基于区域分析的指尖检测算法 1.1 改进的图像差分算法 在传统的邻帧差法主要是通过前后两帧的灰度值来检测图像中变化的区域,这种算法在目标运动并且背景静止的情况下是很有效果的,但是当目标停止运动时邻帧差法就会失效。而背景消减法主要是通过把当前帧和参考图像相消减来获取静止的目标物体。所以能否准确分割的关键取决于如何选择与更新参考图像。 1.2 指尖的检测识别 1.2.1 指尖模型 指尖模型包括二维模型和空间三维模型。空间三维手指模型可以通过提供详尽的建模使得后面的手势识别有很高的精确度。但是手指动作随时都在变化,手指的空间三维模型还是很复杂而且实时计算代价很高,所以我们通过利用指尖二维平面位置检测法来解决以上问题。 通过对手指在二维平面上各种动作的观察,我们发现在手指运动并且变换各种动作时其指尖形变部位相对较小,所以我们可以把指尖的状态看做是一个圆和一组平行线的组合。基于这种情况,我们设计一个模型作为指尖模板,如图1所示。在图中,d表示的时手指的宽度,这个宽度由摄像头和手指之间的距离来确定。 如果在二值化后,前景图像中的目标是1,背景是0的话,我们可以看到在指尖区域有两个特点: (1)在指尖的中心被一个圆包围,这个圆是由一圈圈像素填充所绕成的,其半径可以定义成手指的宽度; (2)如图1所示,在圆外的特定搜索区域内,指尖部分是被0像素和连续的1像素所包围。 根据形状匹配思想,主要是通过按一个度量标准来对比匹配的物体间的相似程度来进行形状匹配。根据这个思想,如果要想对某一模式进行识别,那么就要先准备好与之相对应的模板。因为考虑到要识别的模式其大小、方向等外部特征会发生改变的可能,所以需要对于每一种变化后的模式都要有对应的模板,这样才能保证真确识别。因为指尖会有各自动作变化或者会有部分被遮挡,而且不同人的手指也存在大大小小的不同,所以我们采用的指尖模板要能够伸缩、平移以及保证旋转时不变。 1.2.2 指尖检测 因为摄像头和人手之间的距离一般都是相对固定了,所以我们将手指宽度设定为5和15之间,通过一些实验,结果表明这个值的设定对于大多手指都是适用的。在搜索区域中,其边长相比于手指直径,一般都要大两到三个像素。如果这个边长的值设置的比较大,那么计算代价就会比较大,这样就会导致检测的精度不够高。公式1.4中的Max和Min是对前景像素在搜索区域方向上个数的限制,一般来说Min的值等同于手指宽度d,Max为Min的两倍。 结合上述内容,一个像素点只有同时满足三个条件,才可以被判断为指尖。这三个条件如下: (1)在这个像素点得周围区域里的前景像素一定要达到一定数量。 (2)在以这个像素点为中心的搜索区域边界上的前景像素和背景像素各自的比例一定要合适。 (3)在搜索区域边界上的前景像素一定要能够直接连通。 1.2.3 指尖检测实验结果与分析 在实验中,我们通过手指在投影墙壁上移动来测试以上算法能否准备检测出指尖位置。在开始的时候,我们将背景设置为蓝色,手指进入背景后缓缓移动,我们可以检测到指尖位置,用黑色的十字叉将其表示出来。 当我们将背景从蓝色变换成白色时,这时因为起始设置的蓝色背景图没有来得及迅速更新,这时就会导致前景分割出现错误,当白色的背景稳定后,设置的背景图片进行更换后,就可以检测出之间的位置,如图3所示。 2 增强现实中的人机交互判定与反馈 与虚拟对象交互的判定以及虚拟对象对用户的反馈是交互模块中主要实现的功能,也是系统中手指虚实交互的最后一个环节。 当过以上指尖定位算法,我们能够比较精确地检测出指尖的位置,可以得到指尖与虚拟对象交互的有效区域,这个交互区域也就是指尖和虚拟对象相交的区域。再通过坐标转换,将交互区域的二维坐标转换为空间三维坐标。我们通过设定一个处理动作触发的时间来对指尖动作进行判定,一般这个触发时间是在0.5秒到一秒之间。当指尖的触发时间在设定的时间之内并且指尖位置没有很大变化的时候,就判定指尖对虚拟对象进行了触发动作,通过程序处理,虚拟对象会根据指尖的动作做出相应地反馈。 3 基于区域分析的指尖检测算法在AR系统中的应用 通过实验验证,利用基于区域分析的指尖检测算法在大多情况下能够准确地检测出指尖的位置,从而有效的判断了手指与虚拟对象的
原创力文档


文档评论(0)