基于双向光流和感知哈希的指尖跟踪方法

文档序号:9506842阅读:475来源:国知局
基于双向光流和感知哈希的指尖跟踪方法
【技术领域】
[0001] 本发明涉及图像处理与分析技术领域,更具体地说,涉及一种基于双向光流和感 知哈希的指尖跟踪方法。
【背景技术】
[0002] 传统的人机交互主要是通过鼠标或者键盘等媒介完成人与计算的信息交换,这种 交互方法的媒介需要占用一定的空间,使用很不方便。如今,随着计算机科学技术与人工智 能技术的发展,人机交互不断发展,诸如触屏、语音识别、计算机视觉等技术的应用,使得人 机交互系统变得越来越便捷友好。
[0003] 作为基于计算机视觉的人机交互系统的重要组成部分,指尖跟踪在近年来吸引了 越来越多研究人员的关注。指尖跟踪技术可以被广泛应用于手势识别、身份认证、鼠标控 制、家庭娱乐远程控制等领域,具有极大的商业价值。当前的指尖跟踪技术大体上可以分为 两类:一种是通过不断检测指尖的方式来实现持续性的跟踪;另一种是先检测指尖,再通 过分析、预测等方式实现指尖持续跟踪。
[0004] 第一种指尖跟踪技术典型的实现方式是用特殊颜料标记指尖或者用彩色胶布绑 在指尖上,摄像头捕获视频场景信息,通过跟踪场景中这种特殊颜色的方式来检测跟踪指 尖。然而这种方式每次都需要进行特殊颜色标记,使用很不方便,同时,这种方式只能用于 场景很简单的情况下。有一部分研究者提出利用数据手套,通过传感器数据进行指尖定位, 这种方式实现的指尖跟踪效果比较理想,但是数据手套一般价格比较高,使用也不方便,推 广性较差。近年来,随着摄像头工艺技术的发展,尤其是微软发展的特殊摄像头KinectJg 多研究人员开始考虑特殊摄像头在手指跟踪等人机交互系统中的应用。这些特殊的摄像头 一般能提供比普通摄像头更多的有用信息,人机交互的效果也比较理想,但是特殊摄像头 毕竟普及性较差、价格较高、不适合推广。总体而言,这一种指尖跟踪的方式由于只进行持 续的检测,往往会忽略时间和空间在视频场景中的关系,导致手指跟踪效果比较一般,容易 出现跳跃性跟踪、跟踪轨迹不连续等问题。
[0005] 第二种指尖跟踪技术是最近几年才被提出来的,主要是通过各种技术检测视频场 景中的指尖位置后,利用速度位置预测、粒子滤波等方式实现持续性的指尖跟踪。然而,当 前这类技术尚未成熟,大多数算法跟踪效果一般,很多都只能在简单的场景中进行应用。
[0006] 由此可见,现阶段通过普通摄像头捕获视频场景,实现复杂环境中指尖的持续跟 踪,具有使用方便、推广性强、鲁棒性好等优点,是手指人机交互系统研究的趋势。

【发明内容】

[0007] 本发明的目的在于弥补现有指尖检测与跟踪技术的不足,提供一种基于双向光流 和感知哈希的指尖跟踪方法,该指尖跟踪方法可有效实现在复杂环境下指尖的持续性跟 踪,同时避免了因指尖跟踪轨迹不连续导致指尖跟踪效果差的问题。
[0008] 为了达到上述目的,本发明通过下述技术方案予以实现:一种基于双向光流和感 知哈希的指尖跟踪方法,用于对手部的指尖进行持续跟踪;其特征在于:包括以下三个步 骤:
[0009] 第一步,捕获场景信息,通过计算与场景信息对应的稠密光流信息并进行二值化 预处理得到含有手部区域的场景图像;再构建肤色滤波器,对含有手部区域的场景图像进 行手部区域的分割,得到手部区域;
[0010] 第二步,对手部区域的轮廓进行采样,对各轮廓点进行向量点积和叉乘计算来剔 除非指尖的轮廓点,得到候选指尖点;再根据指尖的几何特性设定阈值,统计候选指尖点附 近被剔除非指尖轮廓点的数目并与阈值比较,来检测指尖点的位置并得到指尖轮廓点;若 没有检测到指尖点,则返回第一步重新初始化;
[0011] 第三步,利用双向金字塔光流算法对指尖轮廓点计算,得到双向匹配的指尖轮廓 点来对指尖运动区域进行估计;在指尖的估计运动区域中,采用搜索窗策略依次进行离散 余弦变换,提取邻域,并计算对应离散余弦变换低频系数矩阵,采用感知哈希算法生成64 位感知哈希序列,并将64位感知哈希序列与指尖哈希序列模板匹配,则最大匹配区域为指 尖区域;最后设定匹配距离的阈值来判断是否将64位感知哈希序列更新为指尖哈希序列 模板,设定指尖轮廓匹配点数的阈值来判断指尖区域是否跟踪正确,若正确则进行下一轮 的指尖跟踪,实现指尖持续跟踪,若不正确则返回第一步。
[0012] 在第一步中,所述捕获场景信息,通过计算与场景信息对应的稠密光流信息并进 行二值化预处理得到含有手部区域的场景图像;再构建肤色滤波器,对含有手部区域的场 景图像进行手部区域的分割,得到手部区域是指:包括以下步骤:
[0013] (I. 1)捕获场景信息,并计算与之对应的稠密光流信息;
[0014] (1. 2)遍历光流信息,寻找最大光流值,并利用该最大光流值,在X轴和Y轴方向对 所有光流进行正则化处理;
[0015] (1. 3)根据正则化后的光流,计算沿光流方向发生变化的区域的色调和饱和度,并 标记不同的颜色值;
[0016] (1. 4)设定阈值,根据阈值将颜色标记的光流变化区域转化为二值图像,结合逻辑 运算和数学形态学运算,获得含有手部区域的场景图像。
[0017] (1. 5)根据人体肤色聚类特性,构造 YCbCr肤色滤波器,剔除冗余色彩和亮度信 息;
[0018] (1. 6)对YCbCr肤色滤波器过滤后对含有手部区域的场景图像的所有轮廓进行递 减排序,寻找最大连通区域作为手部区域,实现对含有手部区域的场景图像进行手部区域 的分割。
[0019] 在第二步中,所述对手部区域的轮廓进行采样,对各轮廓点进行向量点积和叉乘 计算来剔除非指尖的轮廓点,得到候选指尖点;再根据指尖的几何特性设定阈值,统计候选 指尖点附近被剔除非指尖轮廓点的数目并与阈值比较,来检测指尖点的位置并得到指尖轮 廓点;若没有检测到指尖点,则返回第一步重新初始化是指:包括以下步骤:
[0020] (2. 1)对手部区域轮廓进行采样,并计算各个轮廓点的向量点积,其中向量点积为 K曲率;
[0021] (2.2)设定阈值InT2,对K曲率在阈值TjPT 2之间的轮廓点进行向量叉乘计算, 根据计算结果来剔除非指尖的轮廓点,得到候选指尖点;
[0022] (2. 3)根据指尖的几何特性设定阈值T。,统计候选指尖点附近不满足向量叉乘计 算结果的连续分布的轮廓点个数并与阈值Τ。比较,来检测指尖点的位置并得到指尖轮廓 点;若没有检测到指尖点,则返回第一步重新初始化。
[0023] 在步骤(2. 1)中,所述计算各个轮廓点的向量点积是指:采用公式⑴计算各个轮 廓点的余弦绝对值:
[0025] 其中,G 为轮廓上某一点Ρ。与前面第K个点P 1构成的向量,K =M为轮廓 上某一点Pc与后面第K个点P 2构成的向量。
[0026] 在步骤(2.2)中,所述对K曲率在阈值TJPT2之间的轮廓点进行向量叉乘计算, 根据计算结果来剔除非指尖的轮廓点,得到候选指尖点是指:若轮廓点的余弦绝对值满足 公式(2),则通过公式(3)进行该点的向量叉乘计算;否则该点无需进行向量叉乘计算;
[0029] 若向量叉乘V>0,则该轮廓点为候选指尖点,否则判断为非指尖的轮廓点并剔除。
[0030] 在步骤(2. 3)中,所述统计候选指尖点附近不满足向量叉乘计算结果的连续分布 的轮廓点个数并与阈值T。比较,来检测指尖点的位置并得到指尖轮廓点是指:统计每个候 选指尖点附近不满足向量叉乘V>0的连续分布的轮廓点的个数N,若N>T。时,其对应的候选 指尖点为指尖轮廓点,并检测到该指尖轮廓点的位置;否则返回第一步重新初始化。
[0031] 在第三步中,所述利用双向金字塔光流算法对指尖轮廓点计算,得到双向匹配的 指
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1