CN110781761A - 一种具有监督环节的指尖实时跟踪方法 - Google Patents
一种具有监督环节的指尖实时跟踪方法 Download PDFInfo
- Publication number
- CN110781761A CN110781761A CN201910935847.1A CN201910935847A CN110781761A CN 110781761 A CN110781761 A CN 110781761A CN 201910935847 A CN201910935847 A CN 201910935847A CN 110781761 A CN110781761 A CN 110781761A
- Authority
- CN
- China
- Prior art keywords
- fingertip
- point
- palm
- tracking
- depth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种具有监督环节的指尖实时跟踪方法,包括以下步骤:S1:利用Kinect获取深度图像和RGB图像,并对深度图像进行滤波处理;S2:通过阈值分割方法,从深度图像中分割出手掌区域;S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;S4:在获取到的手掌轮廓的基础上,实现指尖的检测;S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪。本发明提供的具有监督环节的指尖实时跟踪方法,能够实现对指尖的实时稳定跟踪,在人机交互领域具有广泛的用途。本发明能够实现对指尖的实时稳定跟踪,在人机交互领域具有广泛的用途。
Description
技术领域
本发明涉及一种指尖实时跟踪方法,尤其涉及一种具有监督环节的指尖实时跟踪方法,属于人机交互领域。
背景技术
近年来,人机交互技术得到了迅猛的发展。常见的人机交互技术包括:语音、表情、手势等。而手势则被认为是最自然的交互技术之一。基于手势的交互技术的关键就是手势识别,而在手势识别的特征提取中,手掌区域与指尖是最常见的特征值,手指的检测识别与实时跟踪在手势识别中不可或缺,而手掌区域分割的效果很大程度上影响了手指的检测识别的准确性。以前的研究者通过基于肤色的方法或者基于固定背景的背景减法来实现手掌区域的分割,但此类方法鲁棒性不强,且限制了应用的范围。而对于指尖的实时跟踪,以前的研究者通常使用mean-shift,卡尔曼滤波等算法,但此类算法跟踪速度慢,且容易受跟踪目标尺度变化影响。从大方向看,指尖跟踪属于目标跟踪的范畴,现有效果较好的跟踪算法有Danelljan M提出的FDSST算法,但是该算法应用在跟踪指尖等细小物体时,则存在两个主要的缺点:1)该跟踪算法通常需要手动标定初始的跟踪目标区域,而对于指尖等细小物体而言,手动标定的误差较大,且无法从跟踪目标区域提取出指尖位置;2)在实际的指尖运动过程中,由于指尖的运动相对自由,可能在运动中由于指尖的弯曲或者倾斜等导致指尖所在的矩形区域发生较大的形变,或者是指尖在某一帧时间内运动速度过快,这些都会导致仅仅根据追踪的结果而得到的指尖的位置发生偏差。
发明内容
本发明的目的是为了能够实现对指尖的实时稳定跟踪而提供一种具有监督环节的指尖实时跟踪方法。
本发明的目的是这样实现的:
一种具有监督环节的指尖实时跟踪方法,包括如下步骤:
S1:利用Kinect获取深度图像和RGB图像,并对深度进行滤波处理;
S2:通过阈值分割方法,从深度图像中分割出手掌区域;
S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;
S4:在获取到的手掌轮廓的基础上,实现指尖的检测;
S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;
S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪
本发明还包括这样一些特征:
所述的步骤S1包括以下子步骤:
S11:遍历深度图像,将深度值为0的点做为目标点,以目标点为中心点,找到3x3的正方形邻域;
S12:统计正方形邻域中各深度值出现的次数;
S13:如果某个深度值出现的次数超过了设置的阈值,则将中心点设置为该深度值,否则,中心点的深度值仍为0;
所述的步骤S2包括以下子步骤:
S21:遍历滤波后的深度图像,将用户ID为0的点即背景的RGB值R,G,B设置为255,255,255;
S22:利用阈值公式,从深度图像中分割出手掌区域:
式中,I为深度图像中各点的RGB值,min为距离Kinect最近的点的深度值,50为选取的阈值经验值,depth为深度图像中各点的深度值;
所述的步骤S3包括以下子步骤:
S31:遍历手掌区域二值图像,选取黑色的点为候选点,将它的上下左右四个邻域作为检测区域;
S32:定义T(n)为边缘轮廓点的特征,表示的是第n个待检测的点上下左右四个邻域里白点的个数;
S33:统计检测区域里白点的个数T(n);
S34:若T(n)>=Threshold(Threshold为阈值),则该点为边缘上的点,否则该点为手掌内部的点;
所述的步骤S4包括以下子步骤:
S41:对手掌轮廓上的二维点集P进行凸包检测:
S411:遍历点集P,找到纵坐标最小的点,如果有多个这样的点则选取最左边的点作为基点M;
S412:计算点集P中其余点与基点所构成的向量<M,H>(H∈P且H≠M)与X轴的夹角,对夹角按从大到小(从小到大)排序,得到排序后的点集容器data;
S413:用容器vector来存储符合在凸包上的边界点,遍历data,计算三个相邻的点所构成的三角形的有向面积,通过有向面积的正负来确定凸包上的点;
S42:遍历初步得到的凸包集合vector,计算两两相邻凸包之间的距离,并与T(T为距离阈值)进行比较,若两凸包之间距离小于阈值,则只保留两凸包中横坐标大的凸包;
S43:比较凸包集vector中各凸包到掌心的欧式距离与阈值T的大小去除手掌上的凸包,其中:
T=N*R;
上式中,N为实验常数,R为手掌最大内切圆半径;
所述的步骤S5包括以下子步骤:
S51:建立指尖的卡尔曼滤波方程:
对于每一帧的深度数据,要测量指尖在每一帧时的坐标位置(x(t),y(t))和速度(vx(t),vy(t)),因此定义卡尔曼滤波器里的状态向量为xt:
xt=(x(t),y(t),vx(t),vy(t))
定义卡尔曼滤波器里的测量向量为zt:
zt=(x(t),y(t))
关于指尖的卡尔曼方程为:
xt=Axt-1+wt-1
zt=Hxt+vt
其中,A,H矩阵分别为:
S52:根据指尖的卡尔曼滤波器,得到滤波的结果Pk(xk,yk),并将滤波的结果与步骤S4中检测到的结果Pc(xc,yc)进行相似度α比较:
若α小于等于1,则说明这一帧中通过步骤S4检测到指尖状态为稳定状态,可以进行步骤S6进行指尖跟踪,否则说明这一帧检测到的指尖状态不稳定,需要返回到步骤S4中,重新检测指尖位置;
所述的步骤S6包括以下子步骤:
S61:以步骤S5中得到的指尖稳定状态为中心点构建一个20×24的矩形区域,用这个矩形区域来代替FDSST跟踪算法中需要手动标定的目标区域f;
S62:将目标区域f作为初始目标区域,输入到FDSST中的位置滤波器与尺度滤波器中,得到目标的位置模型和尺度模型;
S63:在后续帧的图像中,由初始的目标模型和尺度模型,根据相关性得到跟踪到的目标位置P1,通过深度图像—彩色图像的坐标转换,得到P1在深度图像中的对应位置Pt;
S64:对每一帧跟踪到的结果进行监督,具体为:将Pt输入到判断器中,将R中的指尖特征与Pt进行特征匹配,其中R为指尖的特征集合,且:
{Pt∈R|Pt∈Q,Pt∈vector,dis>T}
上式中,Q为深度图像中得到手掌轮廓集合,vector为深度图像中得到的去重后的凸包集合,dis为Pt与掌心的欧式距离,T为掌心距离阈值;
S65:如果Pt与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1准确,继续步骤S63,进行下一帧的指尖追踪;
S66:如果Pt不能与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1存在偏差,需要返回到步骤S5中,重新得到指尖的稳定状态并重新初始化具有监督环节的FDSST跟踪算法。
与现有技术相比,本发明的有益效果是:
1.利用Kinect获取深度图像和RGB图像,并根据深度图像提取出手掌轮廓,解决了传统方法中容易受光照和背景影响的问题;
2.通过将指尖检测结果与卡尔曼滤波结果相结合从而能得到指尖稳定状态,解决了跟踪算法初始状态不稳定问题;
3.通过以指尖稳定状态为中心点,构建目标跟踪区域,实现了目标跟踪区域的自动精确标定,并且因为能一直保持指尖位于跟踪区域中心位置,从而解决了从目标区域获取指尖位置的问题;
4.通过对每一帧的跟踪结果进行监督,解决了当跟踪目标发生偏移时的矫正问题。
附图说明
图1是本发明的系统流程图;
图2是经过滤波后的深度图像;
图3是手掌区域分割示意图;
图4是手掌轮廓示意图;
图5是手掌凸包示意图;
图6是筛选后的手掌凸包示意图;
图7是指尖示意图;
图8是卡尔曼滤波示意图;
图9a-b是目标区域发生较大形变时指尖跟踪图;
图10a-c是带有监督环节的跟踪算法的指尖跟踪图;
图11a-f是空中汉字书写示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
本发明的目的在于克服现有技术的缺点与不足,提出一种具有监督环节的指尖实时跟踪方法。
本发明的目的通过以下技术方案来实现:一种具有监督环节的指尖实时跟踪方法,包括以下步骤:
S1:利用Kinect获取深度图像和RGB图像,并对深度进行滤波处理;
S2:通过阈值分割方法,从深度图像中分割出手掌区域;
S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;
S4:在获取到的手掌轮廓的基础上,实现指尖的检测;
S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;
S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪。
所述步骤S1包括以下子步骤:
S11:遍历深度图像,将深度值为0的点做为目标点,以目标点为中心点,找到3x3的正方形邻域;
S12:统计正方形邻域中各深度值出现的次数;
S13:如果某个深度值出现的次数超过了设置的阈值,则将中心点设置为该深度值,否则,中心点的深度值仍为0。
所述步骤S2包括以下子步骤:
S21:遍历滤波后的深度图像,将用户ID为0的点(即背景)的RGB值(R,G,B)设置为(255,255,255);
S22:利用阈值公式,从深度图像中分割出手掌区域:
式中,I为深度图像中各点的RGB值,min为距离Kinect最近的点的深度值,50为选取的阈值经验值,depth为深度图像中各点的深度值。
所述步骤S3包括以下子步骤:
S31:遍历手掌区域二值图像,选取黑色的点为候选点,将它的上下左右四个邻域作为检测区域;
S32:定义T(n)为边缘轮廓点的特征,表示的是第n个待检测的点上下左右四个邻域里白点的个数;
S33:统计检测区域里白点的个数T(n);
S34:若T(n)>=Threshold(Threshold为阈值),则该点为边缘上的点,否则该点为手掌内部的点。
所述步骤S4包括以下子步骤:
S41:对手掌轮廓上的二维点集P进行凸包检测:
S411:遍历点集P,找到纵坐标最小的点,如果有多个这样的点则选取最左边的点作为基点M;
S412:计算点集P中其余点与基点所构成的向量<M,H>(H∈P且H≠M)与X轴的夹角,对夹角按从大到小(从小到大)排序,得到排序后的点集容器data;
S413:用容器vector来存储符合在凸包上的边界点,遍历data,计算三个相邻的点所构成的三角形的有向面积,通过有向面积的正负来确定凸包上的点;
S42:遍历初步得到的凸包集合vector,计算两两相邻凸包之间的距离,并与T(经验值为20)进行比较,若两凸包之间距离小于阈值,则只保留两凸包中横坐标大的凸包;
S43:比较凸包集vector中各凸包到掌心的欧式距离与阈值T的大小去除手掌上的凸包,其中:
T=N*R;
上式中,N为实验常数,R为手掌最大内切圆半径。
所述步骤S5包括以下子步骤:
S51:建立指尖的卡尔曼滤波方程:
对于每一帧的深度数据,要测量指尖在每一帧时的坐标位置(x(t),y(t))和速度(vx(t),vy(t)),因此定义卡尔曼滤波器里的状态向量为xt:
xt=(x(t),y(t),vx(t),vy(t))
定义卡尔曼滤波器里的测量向量为zt:
zt=(x(t),y(t))
关于指尖的卡尔曼方程为:
xt=Axt-1+wt-1
zt=Hxt+vt
其中,A,H矩阵分别为:
S52:根据指尖的卡尔曼滤波器,得到滤波的结果Pk(xk,yk),并将滤波的结果与步骤S4中检测到的结果Pc(xc,yc)进行相似度α比较:
若α小于等于1,则说明这一帧中通过步骤S4检测到指尖状态为稳定状态,可以进行步骤S6进行指尖跟踪,否则说明这一帧检测到的指尖状态不稳定,需要返回到步骤S4中,重新检测指尖位置。
所述步骤S6包括以下子步骤:
S61:以步骤S5中得到的指尖稳定状态为中心点构建一个20×24的矩形区域,用这个矩形区域来代替FDSST跟踪算法中需要手动标定的目标区域f;
S62:将目标区域f作为初始目标区域,输入到FDSST中的位置滤波器与尺度滤波器中,得到目标的位置模型和尺度模型;
S63:在后续帧的图像中,由初始的目标模型和尺度模型,根据相关性得到跟踪到的目标位置P1,通过深度图像—彩色图像的坐标转换,得到P1在深度图像中的对应位置Pt;
S64:对每一帧跟踪到的结果进行监督,具体为:将Pt输入到判断器中,将R中的指尖特征与Pt进行特征匹配,其中R为指尖的特征集合,且:
{Pt∈R|Pt∈Q,Pt∈vector,dis>T}
上式中,Q为深度图像中得到手掌轮廓集合,vector为深度图像中得到的去重后的凸包集合,dis为Pt与掌心的欧式距离,T为掌心距离阈值;
S65:如果Pt与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1准确,继续步骤S63,进行下一帧的指尖追踪;
S66:如果Pt不能与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1存在偏差,需要返回到步骤S5中,重新得到指尖的稳定状态并重新初始化具有监督环节的FDSST跟踪算法。
如图1所示,为本发明的系统流程图。首先需要对从Kinect直接获取的深度图像进行滤波处理,然后对得到的滤波后的图像进行阈值分割和特征提取来获得手掌的轮廓,再对提取到的手掌轮廓图进行指尖的检测与识别,并获得指尖的稳定初始状态,最后将指尖的稳定初始状态作为具有监督环节的FDSST跟踪算法的初始条件来启动跟踪,从而实现对指尖的实时稳定跟踪。
一种具有监督环节的指尖实时跟踪方法,它包括以下步骤:
S1:利用Kinect获取深度图像和RGB图像,并对深度进行滤波处理;
受制于Kinect设备本身的硬件限制,Kinect直接提供的深度图像质量不高,不符合进一步应用的需求。因此对Kinect直接提供的深度图像进行滤波处理。
所述的步骤S1包括以下子步骤:
S11:遍历深度图像,将深度值为0的点做为目标点,以目标点为中心点,找到3x3的正方形邻域;
S12:统计正方形邻域中各深度值出现的次数;
S13:如果某个深度值出现的次数超过了设置的阈值(这里阈值设置为3),则将中心点设置为该深度值,否则,中心点的深度值仍为0。
滤波后的深度图像如图2所示。
S2:通过阈值分割方法,从深度图像中分割出手掌区域;
所述的步骤S2包括以下子步骤:
S21:遍历滤波后的深度图像,将用户ID为0的点(即背景)的RGB值(R,G,B)设置为(255,255,255);
S22:利用阈值公式,从深度图像中分割出手掌区域:
式中,I为深度图像中各点的RGB值,min为距离Kinect最近的点的深度值,50为选取的阈值经验值,depth为深度图像中各点的深度值。
手掌区域分割示意图如图3所示。
S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;
所述的步骤S3包括以下子步骤:
S31:遍历手掌区域二值图像,选取黑色的点为候选点,将它的上下左右四个邻域作为检测区域;
S32:定义T(n)为边缘轮廓点的特征,表示的是第n个待检测的点上下左右四个邻域里白点的个数;
S33:统计检测区域里白点的个数T(n);
S34:若T(n)>=Threshold(这里取为1),则该点为边缘上的点,否则该点为手掌内部的点。
手掌轮廓示意图如图4所示。
S4:在获取到的手掌轮廓的基础上,实现指尖的检测;
所述的步骤S4包括以下子步骤:
S41:对手掌轮廓上的二维点集P进行凸包检测:
S411:遍历点集P,找到纵坐标最小的点,如果有多个这样的点则选取最左边的点作为基点M;
S412:计算点集P中其余点与基点所构成的向量<M,H>(H∈P且H≠M)与X轴的夹角,对夹角按从大到小(从小到大)排序,得到排序后的点集容器data;
S413:用容器vector来存储符合在凸包上的边界点,遍历data,计算三个相邻的点所构成的三角形的有向面积,通过有向面积的正负来确定凸包上的点;
手掌凸包示意图如图5所示,还需要进一步对初步得到的凸包进一步筛选,解决凸包距离过近的问题。
S42:遍历初步得到的凸包集合vector,计算两两相邻凸包之间的距离,并与T(经验值为20)进行比较,若两凸包之间距离小于阈值,则只保留两凸包中横坐标大的凸包;
筛选后的手掌凸包示意图如图6所示。还需要进一步去掉手掌上的凸包,使得凸包中只含有指尖。
S43:比较凸包集vector中各凸包到掌心的欧式距离与阈值T的大小去除手掌上的凸包,其中:
T=N*R;
上式中,N通常取为1.5~2.5,R为手掌最大内切圆半径。
指尖示意图如图7所示。
S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;
在初步识别检测出指尖后,得到的识别结果可能并不稳定,需要进一步确定出一个稳定的状态。
所述的步骤S5包括以下子步骤:
S51:建立指尖的卡尔曼滤波方程:
对于每一帧的深度数据,要测量指尖在每一帧时的坐标位置(x(t),y(t))和速度(vx(t),vy(t)),因此定义卡尔曼滤波器里的状态向量为xt:
xt=(x(t),y(t),vx(t),vy(t))
定义卡尔曼滤波器里的测量向量为zt:
zt=(x(t),y(t))
关于指尖的卡尔曼方程为:
xt=Axt-1+wt-1
zt=Hxt+vt
其中,A,H矩阵分别为:
S52:根据指尖的卡尔曼滤波器,得到滤波的结果Pk(xk,yk),并将滤波的结果与步骤S4中检测到的结果Pc(xc,yc)进行相似度α比较:
若α小于等于1,则说明这一帧中通过步骤S4检测到指尖状态为稳定状态,可以进行步骤S6进行指尖跟踪,否则说明这一帧检测到的指尖状态不稳定,需要返回到步骤S4中,重新检测指尖位置。
卡尔曼滤波示意图如图8所示,可以看到,在这一帧中,Kinect检测到的点与卡尔曼滤波结果的相似度为1,因此可以认为该帧指尖的状态为稳定状态。
S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪。
在实际的指尖运动过程中,由于指尖的运动相对自由,可能在运动中由于指尖的弯曲或者倾斜等导致指尖所在的矩形区域发生较大的形变,或者是指尖在某一帧时间内运动速度过快,这些都会导致仅仅根据追踪的结果而得到的指尖的位置发生偏差。目标区域发生较大形变时指尖跟踪图如图9所示,在第10帧中,还能准确的跟踪到指尖的位置,但是在第13帧中,由于指尖在极短时间内发生了大幅度的弯曲,导致目标区域发生了大的形变,因此此时跟踪到的指尖位置与实际指尖位置存在偏差。因此需要对每一帧跟踪到的结果进行监督,及时发现产生偏差的点,并给予及时的修正。
所述步骤S6包括以下子步骤:
S61:以步骤S5中得到的指尖稳定状态为中心点构建一个20×24的矩形区域,用这个矩形区域来代替FDSST跟踪算法中需要手动标定的目标区域f;
S62:将目标区域f作为初始目标区域,输入到FDSST中的位置滤波器与尺度滤波器中,得到目标的位置模型和尺度模型;
S63:在后续帧的图像中,由初始的目标模型和尺度模型,根据相关性得到跟踪到的目标位置P1,通过深度图像—彩色图像的坐标转换,得到P1在深度图像中的对应位置Pt;
S64:对每一帧跟踪到的结果进行监督,具体为:将Pt输入到判断器中,将R中的指尖特征与Pt进行特征匹配,其中R为指尖的特征集合,且:
{Pt∈R|Pt∈Q,Pt∈vector,dis>T}
上式中,Q为深度图像中得到手掌轮廓集合,vector为深度图像中得到的去重后的凸包集合,dis为Pt与掌心的欧式距离,T为掌心距离阈值;
S65:如果Pt与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1准确,继续步骤S63,进行下一帧的指尖追踪;
S66:如果Pt不能与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1存在偏差,需要返回到步骤S5中,重新得到指尖的稳定状态并重新初始化具有监督环节的FDSST跟踪算法。
带有监督环节的跟踪算法的指尖跟踪图如图10所示,在13帧中,指尖的跟踪发生了偏差,被监督器检测到了,通过重启基于深度图像的指尖检测部分,在17帧中,跟踪算法又准确的跟踪上了指尖。
本发明可以广泛的应用于人机交互领域,如图11所示,展示的就是本发明应用在空中汉字手写领域的一个例子。
上述实施例为本发明的最佳实施方式,但本发明的实施方式不受限于上述实施例,其他的任何不脱离本发明原理所作的诸如简化、改变、替换、组合的置换方式,都包含在本发明的保护范围之类。
综上所诉:本发明公开了一种具有监督环节的指尖实时跟踪方法,包括以下步骤:S1:利用Kinect获取深度图像和RGB图像,并对深度图像进行滤波处理;S2:通过阈值分割方法,从深度图像中分割出手掌区域;S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;S4:在获取到的手掌轮廓的基础上,实现指尖的检测;S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪。本发明提供的具有监督环节的指尖实时跟踪方法,能够实现对指尖的实时稳定跟踪,在人机交互领域具有广泛的用途。
Claims (7)
1.一种具有监督环节的指尖实时跟踪方法,其特征是,包括如下步骤:
S1:利用Kinect获取深度图像和RGB图像,并对深度进行滤波处理;
S2:通过阈值分割方法,从深度图像中分割出手掌区域;
S3:通过边缘点特征检测方法,从手掌区域中得到手掌轮廓;
S4:在获取到的手掌轮廓的基础上,实现指尖的检测;
S5:通过基于深度信息的卡尔曼滤波方法,获取到指尖的稳定状态;
S6:通过具有监督环节的指尖跟踪算法,实现指尖的实时稳定跟踪。
2.根据权利要求1所述的具有监督环节的指尖实时跟踪方法,其特征是,所述的步骤S1包括以下子步骤:
S11:遍历深度图像,将深度值为0的点做为目标点,以目标点为中心点,找到3x3的正方形邻域;
S12:统计正方形邻域中各深度值出现的次数;
S13:如果某个深度值出现的次数超过了设置的阈值,则将中心点设置为该深度值,否则,中心点的深度值仍为0。
4.根据权利要求1所述的具有监督环节的指尖实时跟踪方法,其特征是,所述的步骤S3包括以下子步骤:
S31:遍历手掌区域二值图像,选取黑色的点为候选点,将它的上下左右四个邻域作为检测区域;
S32:定义T(n)为边缘轮廓点的特征,表示的是第n个待检测的点上下左右四个邻域里白点的个数;
S33:统计检测区域里白点的个数T(n);
S34:若T(n)>=Threshold(Threshold为阈值),则该点为边缘上的点,否则该点为手掌内部的点。
5.根据权利要求1所述的具有监督环节的指尖实时跟踪方法,其特征是,所述的步骤S4包括以下子步骤:
S41:对手掌轮廓上的二维点集P进行凸包检测:
S411:遍历点集P,找到纵坐标最小的点,如果有多个这样的点则选取最左边的点作为基点M;
S412:计算点集P中其余点与基点所构成的向量<M,H>(H∈P且H≠M)与X轴的夹角,对夹角按从大到小(从小到大)排序,得到排序后的点集容器data;
S413:用容器vector来存储符合在凸包上的边界点,遍历data,计算三个相邻的点所构成的三角形的有向面积,通过有向面积的正负来确定凸包上的点;
S42:遍历初步得到的凸包集合vector,计算两两相邻凸包之间的距离,并与T(T为距离阈值)进行比较,若两凸包之间距离小于阈值,则只保留两凸包中横坐标大的凸包;
S43:比较凸包集vector中各凸包到掌心的欧式距离与阈值T的大小去除手掌上的凸包,其中:
T=N*R;
上式中,N为实验常数,R为手掌最大内切圆半径。
6.根据权利要求1所述的具有监督环节的指尖实时跟踪方法,其特征是,所述的步骤S5包括以下子步骤:
S51:建立指尖的卡尔曼滤波方程:
对于每一帧的深度数据,要测量指尖在每一帧时的坐标位置(x(t),y(t))和速度(vx(t),vy(t)),因此定义卡尔曼滤波器里的状态向量为xt:
xt=(x(t),y(t),vx(t),vy(t))
定义卡尔曼滤波器里的测量向量为zt:
zt=(x(t),y(t))
关于指尖的卡尔曼方程为:
xt=Axt-1+wt-1
zt=Hxt+vt
其中,A,H矩阵分别为:
S52:根据指尖的卡尔曼滤波器,得到滤波的结果Pk(xk,yk),并将滤波的结果与步骤S4中检测到的结果Pc(xc,yc)进行相似度α比较:
若α小于等于1,则说明这一帧中通过步骤S4检测到指尖状态为稳定状态,可以进行步骤S6进行指尖跟踪,否则说明这一帧检测到的指尖状态不稳定,需要返回到步骤S4中,重新检测指尖位置。
7.根据权利要求1所述的具有监督环节的指尖实时跟踪方法,其特征是,所述的步骤S6包括以下子步骤:
S61:以步骤S5中得到的指尖稳定状态为中心点构建一个20×24的矩形区域,用这个矩形区域来代替FDSST跟踪算法中需要手动标定的目标区域f;
S62:将目标区域f作为初始目标区域,输入到FDSST中的位置滤波器与尺度滤波器中,得到目标的位置模型和尺度模型;
S63:在后续帧的图像中,由初始的目标模型和尺度模型,根据相关性得到跟踪到的目标位置P1,通过深度图像—彩色图像的坐标转换,得到P1在深度图像中的对应位置Pt;
S64:对每一帧跟踪到的结果进行监督,具体为:将Pt输入到判断器中,将R中的指尖特征与Pt进行特征匹配,其中R为指尖的特征集合,且:
{Pt∈R|Pt∈Q,Pt∈vector,dis>T}
上式中,Q为深度图像中得到手掌轮廓集合,vector为深度图像中得到的去重后的凸包集合,dis为Pt与掌心的欧式距离,T为掌心距离阈值;
S65:如果Pt与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1准确,继续步骤S63,进行下一帧的指尖追踪;
S66:如果Pt不能与R中的全部特征完全匹配,则说明这一帧的指尖追踪P1存在偏差,需要返回到步骤S5中,重新得到指尖的稳定状态并重新初始化具有监督环节的FDSST跟踪算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935847.1A CN110781761A (zh) | 2019-09-29 | 2019-09-29 | 一种具有监督环节的指尖实时跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935847.1A CN110781761A (zh) | 2019-09-29 | 2019-09-29 | 一种具有监督环节的指尖实时跟踪方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110781761A true CN110781761A (zh) | 2020-02-11 |
Family
ID=69384981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910935847.1A Pending CN110781761A (zh) | 2019-09-29 | 2019-09-29 | 一种具有监督环节的指尖实时跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781761A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111366916A (zh) * | 2020-02-17 | 2020-07-03 | 北京睿思奥图智能科技有限公司 | 确定交互目标与机器人之间距离的方法、装置及电子设备 |
CN115359249A (zh) * | 2022-10-21 | 2022-11-18 | 山东圣点世纪科技有限公司 | 一种手掌图像roi区域提取方法及系统 |
CN115421591A (zh) * | 2022-08-15 | 2022-12-02 | 珠海视熙科技有限公司 | 手势控制装置和摄像设备 |
CN115908573A (zh) * | 2023-02-20 | 2023-04-04 | 季华实验室 | 一种橡胶手套开口定位方法、系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739702A (zh) * | 2016-01-29 | 2016-07-06 | 电子科技大学 | 用于自然人机交互的多姿态指尖跟踪方法 |
CN107256083A (zh) * | 2017-05-18 | 2017-10-17 | 河海大学常州校区 | 基于kinect的多手指实时跟踪方法 |
-
2019
- 2019-09-29 CN CN201910935847.1A patent/CN110781761A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739702A (zh) * | 2016-01-29 | 2016-07-06 | 电子科技大学 | 用于自然人机交互的多姿态指尖跟踪方法 |
CN107256083A (zh) * | 2017-05-18 | 2017-10-17 | 河海大学常州校区 | 基于kinect的多手指实时跟踪方法 |
Non-Patent Citations (1)
Title |
---|
孟浩: "基于深度信息的指尖检测-跟踪-监督算法", 《仪器仪表学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111366916A (zh) * | 2020-02-17 | 2020-07-03 | 北京睿思奥图智能科技有限公司 | 确定交互目标与机器人之间距离的方法、装置及电子设备 |
CN111366916B (zh) * | 2020-02-17 | 2021-04-06 | 山东睿思奥图智能科技有限公司 | 确定交互目标与机器人之间距离的方法、装置及电子设备 |
CN115421591A (zh) * | 2022-08-15 | 2022-12-02 | 珠海视熙科技有限公司 | 手势控制装置和摄像设备 |
CN115421591B (zh) * | 2022-08-15 | 2024-03-15 | 珠海视熙科技有限公司 | 手势控制装置和摄像设备 |
CN115359249A (zh) * | 2022-10-21 | 2022-11-18 | 山东圣点世纪科技有限公司 | 一种手掌图像roi区域提取方法及系统 |
CN115359249B (zh) * | 2022-10-21 | 2023-03-24 | 山东圣点世纪科技有限公司 | 一种手掌图像roi区域提取方法及系统 |
CN115908573A (zh) * | 2023-02-20 | 2023-04-04 | 季华实验室 | 一种橡胶手套开口定位方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111401257B (zh) | 一种基于余弦损失在非约束条件下的人脸识别方法 | |
CN110781761A (zh) | 一种具有监督环节的指尖实时跟踪方法 | |
CN110232311B (zh) | 手部图像的分割方法、装置及计算机设备 | |
US8620024B2 (en) | System and method for dynamic gesture recognition using geometric classification | |
Liwicki et al. | Automatic recognition of fingerspelled words in british sign language | |
CN108268838B (zh) | 人脸表情识别方法及人脸表情识别系统 | |
CN106845384B (zh) | 一种基于递归模型的手势识别方法 | |
CN110443205B (zh) | 一种手部图像分割方法及装置 | |
EP3174012B1 (en) | Locating and tracking fingernails in images | |
WO2019232872A1 (zh) | 手写字模型训练方法、汉字识别方法、装置、设备及介质 | |
TWI506461B (zh) | 人體動作的辨識方法與裝置 | |
WO2019232849A1 (zh) | 汉字模型训练方法、手写字识别方法、装置、设备及介质 | |
WO2022028031A1 (zh) | 一种轮廓形状识别方法 | |
JP2001056861A (ja) | 手の形状と姿勢の認識装置および手の形状と姿勢の認識方法並びに当該方法を実施するプログラムを記録した記録媒体 | |
EP3678046A1 (en) | Hand detection method and system, image detection method and system, hand segmentation method, storage medium, and device | |
Hussain et al. | Hand gesture recognition system with real-time palm tracking | |
CN110717385A (zh) | 一种动态手势识别方法 | |
Aziz et al. | Bengali Sign Language Recognition using dynamic skin calibration and geometric hashing | |
CN113608663A (zh) | 一种基于深度学习和k-曲率法的指尖跟踪方法 | |
Darwish et al. | Hand gesture recognition for sign language: a new higher order fuzzy HMM approach | |
CN115951783A (zh) | 一种基于手势识别的计算机人机交互方法 | |
Wang et al. | SPFEMD: super-pixel based finger earth mover’s distance for hand gesture recognition | |
Tolentino et al. | Recognition of air-drawn alphanumeric characters by applying slope orientation sequence matching algorithm using leap motion controller | |
CN105740848B (zh) | 一种基于可信度的快速人眼定位方法 | |
Holden et al. | Representing the finger-only topology for hand shape recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200211 |