CN104599286B - 一种基于光流的特征跟踪方法及装置 - Google Patents

一种基于光流的特征跟踪方法及装置 Download PDF

Info

Publication number
CN104599286B
CN104599286B CN201310529938.8A CN201310529938A CN104599286B CN 104599286 B CN104599286 B CN 104599286B CN 201310529938 A CN201310529938 A CN 201310529938A CN 104599286 B CN104599286 B CN 104599286B
Authority
CN
China
Prior art keywords
characteristic point
tracking
value
characteristic
point
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.)
Active
Application number
CN201310529938.8A
Other languages
English (en)
Other versions
CN104599286A (zh
Inventor
刘阳
张乐
陈敏杰
林福辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Tianjin Co Ltd
Original Assignee
Spreadtrum Communications Tianjin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Tianjin Co Ltd filed Critical Spreadtrum Communications Tianjin Co Ltd
Priority to CN201310529938.8A priority Critical patent/CN104599286B/zh
Publication of CN104599286A publication Critical patent/CN104599286A/zh
Application granted granted Critical
Publication of CN104599286B publication Critical patent/CN104599286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20032Median filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

一种基于光流的特征跟踪方法及装置,所述方法包括:获取跟踪窗口所含有的特征点;基于稀疏光流算法对所述特征点进行跟踪;当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述特征点中与其它所有特征点的距离的和为最小的特征点。通过所述方法,在对特征点跟踪的过程中,对可能是错误的跟踪点通过重新定位,可以提高特征点的准确性,提高跟踪结果的准确性。

Description

一种基于光流的特征跟踪方法及装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于光流的特征跟踪方法及装置。
背景技术
随着运动目标检测技术的快速发展,相应的产生了多种用于对运动目标进行检测的方法,例如现有技术中基于运动目标的颜色特征、运动信息以及运动模型等建立相应的检测方法,而其中运动目标的特征检测与跟踪是研究的重要基础和关键技术,例如可以对处于运动状态的人的手部、脸部所拍摄的图像序列的特征进行检测和跟踪,进而可以实现对于人的手势、人的脸部等的识别。
基于运动目标的颜色特征的检测方法有均值漂移、连续的自适应均值漂移等方法,此类方法在一些简单场景下可以实现较好的人的手势等的跟踪。基于运动目标的运动信息的检测方法有光流法、卡尔曼滤波(Kalman Filter)、粒子滤波(Particle Filter)等方法。其中,光流法可以利用含有运动目标的图像序列中像素的强度在时域、空域的变化,进而推算出所述运动目标的运动场(Motion Field),最终实现对于运动目标的跟踪。所述光流法根据计算所需的像素点的多少,光流可以分为稠密光流和稀疏光流。此外,也有基于运动模型的检测方法,此类方法中首先建立运动目标的2D或3D模型,例如建立人手的2D或3D模型,在对目标跟踪的过程中,根据实际情况对建立的模型的参数进行迭代、优化,从而使其不断的适应运动目标的变化,实现对于运动目标的跟踪。
在上述基于运动信息的检测方法中,在光流法中,通常可以通过对图像序列中的若干特征点进行光流计算,通过对特征点的跟踪而实现对于运动目标的跟踪和识别,但在上述光流法的跟踪过程中,对图像序列的匹配要求比较高,但在一些复杂场景下得到的图像序列则可能匹配程度不高,由此导致对一些特征点的跟踪出现误差,进而可能导致对运动目标的跟踪和识别出现误差或失败的可能。
相关技术可参考公开号为US2013259317A1的美国专利申请。
发明内容
本发明解决的问题是对特征点跟踪不准确的问题。
为解决上述问题,本发明技术方案提供一种基于光流的特征跟踪方法,所述方法包括:
获取跟踪窗口所含有的特征点;
基于稀疏光流算法对所述特征点进行跟踪;
当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述跟踪后的特征点中与其它所有跟踪后的特征点的距离的和为最小的特征点。
可选的,所述图像的获取跟踪窗口所含有的特征点的过程包括:
通过下述公式获取图像的跟踪窗口内的所有像素点的自相关矩阵:
其中,M(x,y)表示坐标为(x,y)的像素点的自相关矩阵,i,j为跟踪窗口内的像素点分别在X方向和Y方向上的索引值,wi,j为在X方向上的索引值为i、在Y方向上的索引值为j处的像素点的权重值,K为所述跟踪窗口的二分之一宽度值,Ix和Iy分别是X方向索引值为i、在Y方向上的索引值为j处的像素点在X方向上偏导数值和在Y方向上的偏导数值;
基于所述像素点的自相关矩阵,获取所述像素点的自相关矩阵的最大特征值和最小特征值;
当λ(min)>A×λ(max)时,确定所述像素点为跟踪窗口所含有的特征点,其中λ(max)为所述像素点的自相关矩阵的最大特征值,λ(min)为所述像素点的自相关矩阵的最小特征值,A为特征阈值。
可选的,所述特征阈值的取值为0.001~0.01。
可选的,所述方法还包括:在获取跟踪窗口所含有的特征点之后,基于稀疏光流算法对所述特征点进行跟踪之前,对所述特征点进行光照补偿。
可选的,所述对所述特征点进行光照补偿包括:
基于公式Jn=λ×J+δ对所述跟踪窗口所含有的特征点进行光照补偿,其中,λ是所述特征点的亮度的增益系数,δ是所述特征点的亮度的偏置系数,J为所述特征点补偿前的亮度值,Jn为所述特征点补偿后的亮度值。
可选的,所述对所述跟踪后的特征点重新定位的过程包括:
通过公式N=R×M+(1-R)×Nb对所述跟踪后的特征点重新定位,其中,N为所述跟踪后的特征点重新定位后的坐标值,R为更新系数,R的取值范围为0~1之间的数值,M为所述中值特征点的坐标值,Nb为所述跟踪后的特征点重新定位前的坐标值。
可选的,所述预设区域为以中值特征点为中心、以跟踪窗口的边长值的二分之一长度为半径的圆形区域。
可选的,所述稀疏光流算法为图像金字塔光流算法。
可选的,所述方法还包括:在对所述跟踪后的特征点重新定位后,基于所述跟踪窗口内的特征点的跟踪结果对用户的手势进行识别。
本发明技术方案还提供一种于光流的特征跟踪装置,所述装置包括:
获取单元,适于获取跟踪窗口所含有的特征点;
跟踪单元,适于基于稀疏光流算法对所述特征点进行跟踪;
重新定位单元,适于当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述跟踪后的特征点中与其它所有跟踪后的特征点的距离的和为最小的特征点。
可选的,所述装置还包括:补偿单元,适于在获取图像的特征点之后,基于稀疏光流算法对所述特征点进行跟踪之前,对所述特征点进行光照补偿。
可选的,所述装置还包括:识别单元,适于在对所述跟踪后的特征点重新定位后,基于所述跟踪窗口内的特征点的跟踪结果对用户的手势进行识别。
与现有技术相比,本发明的技术方案具有以下优点:
在获取跟踪窗口所含有的特征点后,基于稀疏光流算法对所述特征点进行跟踪,当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述特征点中与其它所有特征点的距离的和为最小的特征点。本发明技术方案在特征跟踪的过程中,对跟踪后的特征点中可能不符合要求的跟踪点重新定位,可以提高特征点的准确性,从而提高跟踪结果的准确性。
进一步,在基于光流算法对特征点进行跟踪之前,通过光照补偿的方法,对所述特征点所在的像元进行光照补偿,可以有效地对不同光照条件下的图像进行调整,提高不同光照条件下特征点跟踪的准确性和稳定性。
附图说明
图1是本发明技术方案提供的基于光流的特征跟踪方法的流程示意图;
图2是本发明实施例一提供的基于光流的特征跟踪方法的流程示意图;
图3是本发明实施例二提供的基于光流的特征跟踪方法的流程示意图。
具体实施方式
为了解决上述问题,本发明技术方案提供一种基于光流的特征跟踪方法,在该方法中,基于所述特征点的跟踪结果,当跟踪后的特征点的位置可能有异常的时候,例如位于预设区域之外的时候,对跟踪后的特征点重新定位。
图1是本发明技术方案提供的基于光流的特征跟踪方法的流程示意图,如图1所示,首先执行步骤S101,获取跟踪窗口所含有的特征点。
在对运动目标进行跟踪的时候,需要首先确定跟踪窗口,通常可以根据所采集的图像的尺寸,确定相应的跟踪窗口的大小,所述跟踪窗口可以通过本领域技术人员所知晓的运动检测、背景移除、基于训练模型的肤色检测等多种方法获得,所述跟踪窗口内含有所述运动目标,例如,所述跟踪窗口内可以含有手部图像、脸部图像等。所述跟踪窗口通常为规则形状的区域,如正方形区域、长方形区域等。
光流法可以理解为对图像序列中的若干以特征点为中心的像元计算光流,即可以以特征点所在像元计算光流,进而可以基于计算结果对运动目标进行跟踪的方法。所述像元在本申请文件中定义为以特征点为中心的含有若干像素点的区域。在基于光流法对特征点进行跟踪时,需要获取跟踪窗口内的特征点,跟踪窗口内的特征点的获取方法可以采用现有技术中的多种方法进行获取,例如通过Shi-Tomasi角点算法、Harris算法等获取,在此不作具体限定。
执行步骤S102,基于稀疏光流算法对所述特征点进行跟踪。
在获取跟踪窗口所含有的特征点之后,则可以通过光流算法对所述特征点进行跟踪,例如所述稀疏光流算法可以为基于图像金字塔的稀疏光流算法。
可以在图像序列的前一帧图像上提取特征点,对下一帧图像利用所述基于图像金字塔的稀疏光流算法对特征点进行跟踪,以获得前一帧图像中的特征点在下一帧图像中的位置。
执行步骤S103,当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位。所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述特征点中与其它所有特征点的距离的和为最小的特征点。在本申请文件中,将跟踪后位于预设区域之外的特征点称为指定特征点。
在基于光流算法对特征点进行跟踪时,可以基于所述光流算法得到特征点跟踪后的位置,如果特征点位于预设区域之外,即当跟踪后的特征点为指定特征点时,通过集聚的方式对其位置进行调整。
在进行集聚的过程中,首先确定一个中值特征点,对跟踪窗口内的任意一个跟踪后的特征点,累计其到其他所有特征点的距离,如果累计计算得到其到其他特征点的距离之和为最小的,则可以将其作为中值特征点,这样可以使得计算得到的中值特征点处于跟踪窗口内的所有特征点的中心位置,在计算中值特征点的过程中,不考虑累计距离较大的特征点。
在得到中值特征点后,则可以确定一个预设的区域,所述预设区域可以是以所述中值特征点为中心的区域,所述预设区域的大小可以为当前跟踪窗口大小的0.8~1.2倍左右的区域,通常是以所述中值特征点为中心,以当前跟踪窗口大小所对应的区域作为预设区域。举例来说,所述预设区域可以为以所述中值特征点为中心的圆形区域,所述圆形区域的半径关联于所述跟踪窗口的边的长度。以跟踪窗口为正方形区域为例,所述圆形区域的半径可以为所述跟踪窗口的边长值的二分之一长度。
在确定预设区域后,则可以对指定特征点进行集聚,或者也可以称为聚集,可以采用确定一定的集聚的速度或者步长的方法对所述指定特征点进行集聚,也可以采用变步长的算法对所述指定特征点进行集聚,具体方法不做限定。
在上述方法中,在对特征点跟踪的过程中,对可能是错误的跟踪点通过重新定位,可以提高特征点的准确性,有效提高跟踪结果的准确性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例一
在本实施例中,在获取跟踪窗口所含有的特征点后,基于图像金字塔的稀疏光流算法对所述特征点进行跟踪,当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位。
图2是本实施例提供的基于光流的特征跟踪方法的流程示意图,如图2所示,首先执行步骤S201,确定图像的跟踪窗口。
所述跟踪窗口可以根据所采集的图像的尺寸进行确定,所述跟踪窗口可以通过本领域技术人员所知晓的运动检测、背景移除、基于训练模型的肤色检测等多种方法获得。在本实施例中,以对用户的手势跟踪为例进行说明,所述跟踪窗口内含有用户的手部图像。
执行步骤S202,基于Shi-Tomasi角点算法,获取所述跟踪窗口内的特征点。
在本实施例中,以Shi-Tomasi角点算法获取特征点的方法为例进行说明。
在Shi-Tomasi角点算法中,首先通过公式(1)获取图像的跟踪窗口内的所有像素点的自相关矩阵。
其中,M(x,y)表示坐标为(x,y)的像素点的自相关矩阵,i,j为跟踪窗口内的像素点分别在X方向和Y方向上的索引值,wi,j为在X方向上的索引值为i、在Y方向上的索引值为j处的像素点的权重值,K为所述跟踪窗口的二分之一宽度值,Ix和Iy分别是X方向索引值为i、在Y方向上的索引值为j处的像素点在X方向上偏导数值和在Y方向上的偏导数值。
基于公式(1)计算得到的所有像素点的自相关矩阵,获取所述像素点的自相关矩阵的最大特征值λ(max)和最小特征值λ(min)。所述获取自相关矩阵的最大特征值和最小特征值的方法为本领域技术人员所熟知,在此不再赘述。
通过公式(2)确定所述像素点是否为图像的特征点。
λ(min)>A×λ(max) (2)
其中A为特征阈值,A的取值为0.001~0.01之间的数值。
通常当跟踪窗口内的像素点满足公式(2)时,即可确定所述像素点为图像的特征点。
执行步骤S203,基于稀疏光流算法对所述跟踪窗口内的特征点进行跟踪。
在本实施例中,基于图像金字塔的稀疏光流算法对所述跟踪窗口内的特征点进行跟踪。
由于稀疏光流可以理解为相邻帧的图像之间若干以特征点为中心的像元的图像配准,即可以基于特征点所在像元计算光流,进而基于计算结果对用户的手势进行跟踪。
基于图像金字塔的稀疏光流算法中,通常是基于梯度的方法来迭代计算光流的,采用金字塔的方式来实现由粗到精的运动估计,在该算法中,原始图像位于金字塔的最底层,图像的金字塔中较高的层是下层的下采样形式,在实际计算时,由金字塔的高层到底层进行,当某一层的光流计算出来后,基于这一层的光流的计算结果可以计算相邻的下面一层的光流,这个过程不断迭代进行,直至算出最底层的原始图像的光流。
在基于图像金字塔的稀疏光流算法对所述跟踪窗口内的特征点进行跟踪的过程中,对于给定的两帧连续图像,特征点跟踪的目标是找到其中一帧图像上的一个像元I在相邻的另外一帧图像上对应具有相似图像强度的对应的另一个像元J。
在计算像元的光流的时候,需要使用公式(3)所示的残差函数ξ(d)。在本实施例中,以像元I作为跟踪像元。
其中,I,J是相邻帧图像之间对应的像元,d表示需要计算的光流,dx和dy分别为需要计算的光流在x,y方向上的分量;ux和uy分别为特征点在像元I中在x方向和y方向上的位置;wx和wy分别为像元I在x,y方向上的半个窗宽,I(x,y)为像元I在x,y处的图像强度,J(x+dx,y+dy)为像元J在(x+dx,y+dy)处的图像强度。
在通过公式(3)得到被跟踪像元I的跟踪残差ξ(d)后,通常可以采用梯度下降的方法迭代计算光流。
理想情况下,残差函数ξ(d)相对于待计算的光流d的一阶微分应该为零,如公式(4)所示。
在具体计算时,可以通过公式(5)计算的值。
对J(x+dx,y+dy)采用一阶泰勒展开,结果如公式(6)所示。
矩阵代表图像梯度矢量,可以通过如公式(7)中所示的公式表示。
其中,
令δI(x,y)=I(x,y)-J(x,y)代表图像时域微分,令 分别代表图像在x,y方向上的空域微分。
为了减少在光流的迭代过程中的运算量,当图像分解到一定层后,相邻层间图像运动量将变得的足够小,此时可以使用替代这一替代是满足光流的假设条件。
基于上述分析,则公式(6)可以重写为公式(8)。
基于公式(8),则可以得到公式(9)。
然后,令 则公式(9)可以重写为如公式(10)。
则基于公式(10)可以得到理想的光流矢量dopt如公式(11)所示。
dopt=G-1b (11)
在实际计算时,如果想获取光流的精确解,则需要进行迭代计算,即采用公式(12)进行迭代计算。
ηk=G-1bk (12)
其中,G是海森矩阵(Hessian Matrix),bk是第k次迭代时的梯度加权残差矢量(Gradient-weighted Residual Vector),ηk是第k次迭代时的残差光流。
在获得第k次迭代时的残差光流ηk后,则可以通过公式(13)获取第k次迭代时的估计光流。
vk=vk-1k (13)
其中,vk是第k次迭代时的估计光流,vk-1是第k-1迭代后的估计光流,ηk是第k次迭代时的残差光流。
经过多次迭代后,直到达到符合的收敛条件或迭代次数后,得到光流d如公式(14)所示。
其中k表示预设的迭代次数或者达到符合收敛条件的迭代次数,表示迭代次数达到k时计算得到的光流值。
基于公式(14)可以得到在单一尺度的图像上经过多次迭代计算得到的光流,为了实现复杂场景下大幅度运动目标的跟踪,采用图像金字塔的方式实现由粗到精的运动估计,基于上述在单一尺度的图像获取光流的方法,先在粗略尺度的图像上进行迭代计算,将在粗略尺度的图像上计算的结果带入更精细尺度的图像上进行迭代计算,依次类推,最终通过公式(15)获得最终的光流计算结果dlast
其中,L是图像金字塔的层级,L∈[0,Lm],Lm是图像金字塔的最高层数,L=0是表示的是原始图像,dL是L层计算得到的光流结果。
在通过公式(15)得到当前跟踪像元的光流后,即可以获得其跟踪后的像元的位置,也就是说可以确定跟踪后的特征点的位置。
步骤S203之后执行步骤S204,判断是否对跟踪窗口内的所有特征点都已进行跟踪。如果是,则执行步骤S206;否则执行步骤S205,选取下一个特征点进行跟踪。
在步骤S205中,从跟踪窗口所含有的特征点中,选取一个未被跟踪过的特征点。当在跟踪窗口内选取一个特征点进行跟踪的时候,可以对其进行标示,用于表示其已被跟踪过。则在执行步骤S205时,可以在跟踪窗口所含有的特征点中选取一个未被标示的特征点用于跟踪。在跟踪窗口内选取特征点的方法可以采用多种方法进行选取,例如,可以采用随机选取的方式进行选取。
步骤S205之后返回执行步骤S203,继续对选取的特征点进行跟踪。
直到跟踪窗口内的所有特征点都已经被跟踪过后,即步骤S204的判断结果为是的时候,则执行步骤S206。
步骤S206,计算中值特征点。
在对跟踪窗口内所含有的特征点进行跟踪后,对跟踪窗口内的任意一个跟踪后的特征点,分别计算该特征点到其他所有跟踪后的特征点的距离,并计算该跟踪后的特征点到其他所有跟踪后的特征点的距离之和,对于每一个跟踪后的特征点都可以得到一个其到其他跟踪后的特征点的距离之和,将到其他跟踪后的特征点的距离之和为最小的特征点作为中值特征点。
执行步骤S207,基于所述中值特征点确定预设区域。
在本实施例中,以跟踪窗口为正方形区域、预设区域为圆形区域为例进行说明,所述预设区域可以是以所述中值特征点为中心的圆形区域,所述圆形区域的半径可以为跟踪窗口的边长值的二分之一长度。
基于在步骤S203中得到的跟踪后的每一个特征点的跟踪结果和在步骤S207中确定的预设区域的范围,在对跟踪窗口内的所有特征点均进行跟踪后,选取一个跟踪后的特征点,执行步骤S208,判断跟踪后的特征点是否处于所述预设区域范围之外。通过此步骤判断当前跟踪后的特征点是否在所述预设区域的范围之外。
如果是,则执行步骤S209,否则执行步骤S211。
步骤S209,确定当前特征点为指定特征点,对所述指定特征点重新定位。
当跟踪后的特征点处于预设区域之外,则可以确定该特征点为指定特征点,需要对其重新定位。
在本实施例中,可以通过公式(16)对所述指定特征点重新定位。
N=R×M+(1-R)×Nb (16)
在公式(16)中,等号右边的Nb表示指定特征点在更新(即重新定位)之前的坐标值,等号左边的N表示对所述指定特征点通过公式(16)更新后得到的坐标值,R为更新系数,R的取值范围为0~1之间的数值,M为所述中值特征点的坐标值。
通过步骤S203可以确定指定特征点的位置,即可以确定指定特征点的坐标值,在步骤S206计算中值特征点的过程中,可以确定所述中值特征点的位置,即可以确定所述中值特征点的坐标值。
通过步骤S209可以对当前跟踪后的特征点进行重新定位,之后执行步骤S210,判断是否对跟踪窗口内的所有跟踪后的特征点均已确定,即是否对跟踪窗口内的所有跟踪后的特征点均已判断是否处于预设区域范围之外。如果是,则执行步骤S212;否则执行步骤S211,选取下一个跟踪后的特征点。
步骤S211,选取下一个跟踪后的特征点。
在步骤S211中,从跟踪窗口所含有跟踪后的特征点中,选取一个未判断过其是否处于预设区域外的特征点。当在跟踪窗口内选取一个跟踪后特征点进行判断的时候,可以对其进行标示,用于表示其已被判断过。则当在执行步骤S211时,可以在跟踪窗口所含有的跟踪后的特征点中选取一个未被标示的特征点用于进行判断其是否处于预设区域外。在跟踪窗口内选取跟踪后的特征点的方法可以采用多种方法进行选取,例如,可以采用随机选取的方式进行选取。
步骤S211之后返回执行步骤S208,判断选取的特征点是否处于所述预设区域范围之外。
直到跟踪窗口内的所有跟踪后的特征点均已被判断是否处于预设区域之外,即步骤S210的判断结果为是的时候,则执行步骤S212,基于所述跟踪窗口内的特征点的位置对用户的手势进行识别。
在对所述跟踪窗口内的所有的特征点均进行跟踪之后,依据跟踪结果可以确定所述跟踪窗口内的特征点的位置,基于这些特征点的跟踪后的位置信息和跟踪前的位置信息,可以获得特征点跟踪前后的位置变化信息、运动方向变化信息等,基于这些信息可以实现对于用户的手势变化信息,进而可以采用现有技术中的手势识别技术对用户的手势进行识别。
需要说明的是,在本实施例中,当确定跟踪后的特征点为指定特征点,对所述指定特征点重新定位,之后再选取下一个跟踪后的特征点,判断其是否处于预设区域之外,即判断其是否是指定特征点,如果是,则再对该指定特征定进行重新定位,依次类推,直到对所有的跟踪后的特征点均进行相应的操作。在其他实施例中,也可以对跟踪后的所有特征点依次判断其是否为指定特征点,在确定了所有的指定特征点后,再依次对所有的指定特征点进行重新定位,具体方式在此不作限定。
需要说明的是,在本实施例中,在对当前帧图像的跟踪窗口的特征点进行的过程中,采用的方法是在当前帧图像的跟踪窗口内依次选取特征点进行跟踪,直到所有的特征点均进行跟踪后,再基于所有特征点的跟踪结果确定中值特征点和预设区域,进而判断所有跟踪后的特征点中是否有处于预设区域之外的特征点,对跟踪后的特征点中处于预设区域外的特征点重新定位,之后再基于重定位后的特征点对用户的手势进行识别。在其他实施例中,中值特征点和预设区域也可以基于上一帧图像的特征点的跟踪结果确定,在对当前帧图像的进行特征跟踪时,也可以选取当前帧图像的跟踪窗口内的一个特征点进行跟踪,并判断当前帧中该跟踪后的特征点是否位于基于上一帧图像特征点跟踪结果所确定的预设区域之外,如果是,则对其进行重新定位,否则再选取当前帧跟踪窗口内其它特征点进行跟踪,基于该特征点的跟踪结果和基于上一帧图像的特征点跟踪结果所确定的预设区域,判断其是否需要重新定位,依次类推,直到对所有的特征点均进行相应的操作。
在本实施例中,在对特征点跟踪的过程中,对可能是错误的跟踪点通过重新定位,可以提高特征点的准确性,提高跟踪结果的准确性。
实施例二
在本实施例中,为了应对更一般的光照变化,在获取跟踪窗口所含有的特征点后,在光流的迭代计算之前,可以对任一特征点所在的像元进行光照补偿,之后可以基于图像金字塔的稀疏光流算法对所述特征点进行跟踪,在对所述特征点进行跟踪的过程中,采用集聚的方法对指定特征点重新定位。
图3是本实施例提供的基于光流的特征跟踪方法的流程示意图,如图3所示,首先执行步骤S301,确定图像的跟踪窗口。请参考实施例一步骤S201。
执行步骤S302,获取所述跟踪窗口内的特征点。
可以基于Shi-Tomasi角点算法获取所述跟踪窗口内的所有特征点,请参考实施例一步骤S202。
执行步骤S303,对跟踪窗口内的所有特征点所在像元进行光照补偿。
在对所述像元通过光流迭代算法进行跟踪之前,先对特征点所在的像元进行光照补偿。
在本实施例中,可以采用与偏置、增益相关的线性变化进行光照补偿,在确定了增益系数和偏置系数后,就可以通过公式(17)对跟踪窗口内所含有的特征点所在像元进行光照补偿。
Jn=λ×J+δ (17)
其中,λ是所述特征点的亮度的增益系数,δ是所述特征点的亮度的偏置系数,J为所述特征点补偿前的亮度值,Jn为所述特征点补偿后的亮度值。
在本实施例中,以特征点所在像元计算光流,所以公式(17)中相应的各参数的意义可以理解为:λ是所述特征点所在像元的亮度的增益系数,δ是所述特征点所在像元的亮度的偏置系数,J为所述特征点所在像元补偿前的亮度值,Jn为所述特征点所在像元补偿后的亮度值。
所述增益就是对亮度放大的值,偏置就是对亮度值要增加或者减少的值,所述特征点所在像元的亮度的增益系数、亮度的偏置系数的获取,在保证J和Jn具有相同的均值、方差的条件下,可以采用本领域技术人员所知晓的多种方法获得。
在其他实施例中,也可以采用其他光照补偿的方法对特征点所在的像元进行光照补偿,在此不作限定。
在对跟踪窗口内所含有的所有特征点所在像元均进行光照补偿后,则执行步骤S304,基于稀疏光流算法对所述跟踪窗口内的特征点进行跟踪。
步骤S304之后执行步骤S305,判断是否对跟踪窗口内的所有特征点都已进行跟踪。如果是,则执行步骤S307;否则执行步骤S306,选取下一个特征点进行跟踪。
步骤S306之后返回执行步骤S304,继续对选取的特征点进行跟踪。
直到跟踪窗口内的所有特征点都已经被跟踪过后,即步骤S305的判断结果为是的时候,则执行步骤S307。
步骤S307,计算中值特征点。
在对跟踪窗口内所含有的特征点进行跟踪后,对跟踪窗口内的任意一个跟踪后的特征点,分别计算该跟踪后的特征点到其他所有跟踪后的特征点的距离,并计算该跟踪后的特征点到其他所有跟踪后的特征点的距离之和,对于每一个跟踪后的特征点都可以得到一个其到其他跟踪后的特征点的距离之和,将到其他跟踪后的特征点的距离之和为最小的特征点作为中值特征点。
执行步骤S308,基于所述中值特征点确定预设区域。
在本实施例中,仍然以预设区域为圆形区域为例进行说明,所述预设区域可以是以所述中值特征点为中心的圆形区域,所述圆形区域的半径可以以跟踪窗口的边长值的二分之一长度。
基于在步骤S304中得到的跟踪后的每一个特征点的跟踪结果和在步骤S308中确定的预设区域的范围,在对跟踪窗口内的所有特征点均进行跟踪后,选取一个跟踪后的特征点,执行步骤S309,判断跟踪后的特征点是否处于所述预设区域范围之外。通过此步骤判断当前跟踪后的特征点是否在所述预设区域的范围之外。
如果步骤S309的判断结果为是,则执行步骤S310,否则执行步骤S312。
步骤S310,确定当前特征点为指定特征点,对所述指定特征点重新定位。
通过步骤S310对当前跟踪后的特征点进行重新定位,之后执行步骤S311,判断是否对跟踪窗口内的所有跟踪后的特征点均已确定,即是否对跟踪窗口内的所有跟踪后的特征点均已判断是否处于预设区域范围之外。如果是,则执行步骤S313;否则执行步骤S312,选取下一个跟踪后的特征点。
步骤S312,选取下一个跟踪后的特征点。
步骤S312之后返回执行步骤S309,判断选取的特征点是否处于所述预设区域范围之外。
直到跟踪窗口内的所有跟踪后的特征点均已被判断是否处于预设区域之外,即步骤S311的判断结果为是的时候,则执行步骤S313,基于所述跟踪窗口内的特征点的位置对用户的手势进行识别。
步骤S304至步骤S313请参考实施例一步骤S203至步骤S212。
在对所述跟踪窗口内的所有的特征点均进行跟踪之后,基于跟踪结果可以获得特征点跟踪前后的位置变化信息、运动方向变化信息等,基于这些信息可以实现对于用户的手势变化信息,进而可以采用现有技术中的手势识别技术对用户的手势进行识别。
在本实施例中,在基于光流算法对特征点进行跟踪之前,通过光照补偿的方法,对所述特征点所在的像元进行光照补偿,可以有效地对不同光照条件下的图像进行调整,提高不同光照条件下特征点跟踪的准确性和稳定性。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (10)

1.一种基于光流的特征跟踪方法,其特征在于,包括:
获取跟踪窗口所含有的特征点;
基于稀疏光流算法对所述特征点进行跟踪;
当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述跟踪后的特征点中与其它所有跟踪后的特征点的距离的和为最小的特征点;
所述预设区域为以中值特征点为中心、以跟踪窗口的边长值的二分之一长度为半径的圆形区域;
所述对所述跟踪后的特征点重新定位的过程包括:
通过公式N=R×M+(1-R)×Nb对所述跟踪后的特征点重新定位,其中,N为所述跟踪后的特征点重新定位后的坐标值,R为更新系数,R的取值范围为0~1之间的数值,M为所述中值特征点的坐标值,Nb为所述跟踪后的特征点重新定位前的坐标值。
2.如权利要求1所述的基于光流的特征跟踪方法,其特征在于,所述获取跟踪窗口所含有的特征点的过程包括:
通过下述公式获取图像的跟踪窗口内的所有像素点的自相关矩阵:
其中,M(x,y)表示坐标为(x,y)的像素点的自相关矩阵,i,j为跟踪窗口内的像素点分别在X方向和Y方向上的索引值,wi,j为在X方向上的索引值为i、在Y方向上的索引值为j处的像素点的权重值,K为所述跟踪窗口的二分之一宽度值,Ix和Iy分别是X方向索引值为i、在Y方向上的索引值为j处的像素点在X方向上偏导数值和在Y方向上的偏导数值;
基于所述像素点的自相关矩阵,获取所述像素点的自相关矩阵的最大特征值和最小特征值;
当λ(min)>A×λ(max)时,确定所述像素点为跟踪窗口所含有的特征点,其中λ(max)为所述像素点的自相关矩阵的最大特征值,λ(min)为所述像素点的自相关矩阵的最小特征值,A为特征阈值。
3.如权利要求2所述的基于光流的特征跟踪方法,其特征在于,所述特征阈值的取值为0.001~0.01。
4.如权利要求1所述的基于光流的特征跟踪方法,其特征在于,还包括:在获取跟踪窗口所含有的特征点之后,基于稀疏光流算法对所述特征点进行跟踪之前,对所述特征点进行光照补偿。
5.如权利要求4所述的基于光流的特征跟踪方法,其特征在于,所述对所述特征点进行光照补偿包括:
基于公式Jn=λ×J+δ对所述跟踪窗口所含有的特征点进行光照补偿,其中,λ是所述特征点的亮度的增益系数,δ是所述特征点的亮度的偏置系数,J为所述特征点补偿前的亮度值,Jn为所述特征点补偿后的亮度值。
6.如权利要求1所述的基于光流的特征跟踪方法,其特征在于,所述稀疏光流算法为图像金字塔光流算法。
7.如权利要求1所述的基于光流的特征跟踪方法,其特征在于,还包括:在对所述跟踪后的特征点重新定位后,基于所述跟踪窗口内的特征点的跟踪结果对用户的手势进行识别。
8.一种基于光流的特征跟踪装置,其特征在于,包括:
获取单元,适于获取跟踪窗口所含有的特征点;
跟踪单元,适于基于稀疏光流算法对所述特征点进行跟踪;
重新定位单元,适于当跟踪后的特征点位于预设区域之外时,对所述跟踪后的特征点重新定位,所述预设区域为以中值特征点为中心的区域,所述中值特征点为所述跟踪后的特征点中与其它所有跟踪后的特征点的距离的和为最小的特征点,所述预设区域为以中值特征点为中心、以跟踪窗口的边长值的二分之一长度为半径的圆形区域;
所述重新定位单元通过公式N=R×M+(1-R)×Nb对所述跟踪后的特征点重新定位,其中,N为所述跟踪后的特征点重新定位后的坐标值,R为更新系数,R的取值范围为0~1之间的数值,M为所述中值特征点的坐标值,Nb为所述跟踪后的特征点重新定位前的坐标值。
9.如权利要求8所述的基于光流的特征跟踪装置,其特征在于,还包括:补偿单元,适于在获取图像的特征点之后,基于稀疏光流算法对所述特征点进行跟踪之前,对所述特征点进行光照补偿。
10.如权利要求8所述的基于光流的特征跟踪装置,其特征在于,还包括:识别单元,适于在对所述跟踪后的特征点重新定位后,基于所述跟踪窗口内的特征点的跟踪结果对用户的手势进行识别。
CN201310529938.8A 2013-10-31 2013-10-31 一种基于光流的特征跟踪方法及装置 Active CN104599286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310529938.8A CN104599286B (zh) 2013-10-31 2013-10-31 一种基于光流的特征跟踪方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310529938.8A CN104599286B (zh) 2013-10-31 2013-10-31 一种基于光流的特征跟踪方法及装置

Publications (2)

Publication Number Publication Date
CN104599286A CN104599286A (zh) 2015-05-06
CN104599286B true CN104599286B (zh) 2018-11-16

Family

ID=53125036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310529938.8A Active CN104599286B (zh) 2013-10-31 2013-10-31 一种基于光流的特征跟踪方法及装置

Country Status (1)

Country Link
CN (1) CN104599286B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106204645A (zh) * 2016-06-30 2016-12-07 南京航空航天大学 多目标跟踪方法
CN106204484B (zh) * 2016-07-11 2020-07-24 徐州工程学院 一种基于光流和局部不变特征的交通目标跟踪方法
CN107169458B (zh) * 2017-05-18 2018-04-06 深圳云天励飞技术有限公司 数据处理方法、装置及存储介质
CN108428249A (zh) * 2018-01-30 2018-08-21 哈尔滨工业大学深圳研究生院 一种基于光流跟踪和双几何模型的初始位姿估计方法
CN108961308B (zh) * 2018-06-01 2021-07-02 南京信息工程大学 一种漂移检测的残差深度特征目标跟踪方法
CN109598744B (zh) * 2018-11-29 2020-12-08 广州市百果园信息技术有限公司 一种视频跟踪的方法、装置、设备和存储介质
CN110322477B (zh) * 2019-06-10 2022-01-04 广州视源电子科技股份有限公司 特征点观察窗口设置方法、跟踪方法、装置、设备和介质
CN111047626B (zh) * 2019-12-26 2024-03-22 深圳云天励飞技术有限公司 目标跟踪方法、装置、电子设备及存储介质
CN111402294B (zh) * 2020-03-10 2022-10-18 腾讯科技(深圳)有限公司 目标跟踪方法、装置、计算机可读存储介质和计算机设备
CN113496505B (zh) * 2020-04-03 2022-11-08 广州极飞科技股份有限公司 图像配准方法、装置、多光谱相机、无人设备及存储介质
CN111609868A (zh) * 2020-05-29 2020-09-01 电子科技大学 一种基于改进光流法的视觉惯性里程计方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130015982A (ko) * 2011-08-05 2013-02-14 엘지전자 주식회사 차량 추적 방법 및 그 장치
CN103136526A (zh) * 2013-03-01 2013-06-05 西北工业大学 基于多源图像特征融合的在线目标跟踪方法
CN103325108A (zh) * 2013-05-27 2013-09-25 浙江大学 一种融合光流与特征点匹配的单目视觉里程计的设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141196B2 (en) * 2012-04-16 2015-09-22 Qualcomm Incorporated Robust and efficient learning object tracker

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130015982A (ko) * 2011-08-05 2013-02-14 엘지전자 주식회사 차량 추적 방법 및 그 장치
CN103136526A (zh) * 2013-03-01 2013-06-05 西北工业大学 基于多源图像特征融合的在线目标跟踪方法
CN103325108A (zh) * 2013-05-27 2013-09-25 浙江大学 一种融合光流与特征点匹配的单目视觉里程计的设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
视频序列中人脸检测光流跟踪技术研究;杨渊波;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120615;第32-33页第4.2-4.3节,第38页第4.4.1节,第35-36页第4.3.2节,第43-44页第4.4.2节 *

Also Published As

Publication number Publication date
CN104599286A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104599286B (zh) 一种基于光流的特征跟踪方法及装置
CN108898047B (zh) 基于分块遮挡感知的行人检测方法及***
CN104867126B (zh) 基于点对约束和三角形网的有变化区域的合成孔径雷达图像配准方法
CN103455797B (zh) 航拍视频中运动小目标的检测与跟踪方法
CN109949340A (zh) 基于OpenCV的目标尺度自适应跟踪方法
CN107067415B (zh) 一种基于图像匹配的目标定位方法
EP2858008B1 (en) Target detecting method and system
CN105184822B (zh) 一种目标跟踪模板更新方法
CN109559320A (zh) 基于空洞卷积深度神经网络实现视觉slam语义建图功能的方法及***
CN108470354A (zh) 视频目标跟踪方法、装置和实现装置
CN104933738B (zh) 一种基于局部结构检测和对比度的视觉显著图生成方法
CN106960449B (zh) 基于多特征约束的异源配准方法
CN109974743B (zh) 一种基于gms特征匹配及滑动窗口位姿图优化的视觉里程计
CN104881029B (zh) 基于一点ransac和fast算法的移动机器人导航方法
CN107424161B (zh) 一种由粗至精的室内场景图像布局估计方法
CN104794737B (zh) 一种深度信息辅助粒子滤波跟踪方法
CN107657644B (zh) 一种移动环境下稀疏场景流检测方法和装置
CN105279769A (zh) 一种联合多特征的层次粒子滤波跟踪方法
CN103106667A (zh) 一种面向遮挡和场景变换的运动对象追踪方法
CN107607107A (zh) 一种基于先验信息的Slam方法和装置
CN110501010A (zh) 确定移动设备在地理区域中的位置
CN106991691A (zh) 一种适用于摄像机网络下的分布式目标跟踪方法
CN108416258A (zh) 一种基于人体部位模型的多人体跟踪方法
CN108154159A (zh) 一种基于多级检测器的具有自恢复能力的目标跟踪方法
CN105631872B (zh) 基于多特征点的遥感图像配准方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant