用于视频中目标跟踪的方法及存储设备和控制设备
技术领域
本发明涉及图像处理技术领域,具体涉及一种用于视频中目标跟踪的方法及存储设备和控制设备。
背景技术
随着计算技术及图像处理技术的飞速发展,视频中的目标跟踪技术在智能视频监控、机器人视觉导航、虚拟现实以及医学诊断等领域得到了广泛应用。简单来说,目标跟踪即在第一帧时给出目标的初始位置,然后利用跟踪算法计算出目标在后续每帧图像中的位置信息。同时,在实际的视频目标跟踪应用中,对实时性的要求较高。
从目标模型的角度看,目标跟踪算法主要分为生成式方法和判别式方法两大类:
(1)生成式目标跟踪算法的关键在于良好的目标特征表示方法,其主要代表模型有:根据外观变化的自适应跟踪模型的增量视觉跟踪模型(IVT)、基于目标分解的目标跟踪算法(VTD),以及基于采样的思想的目标跟踪方法(VTS),该类算法可以在一定程度上解决运动模糊的问题,但是对环境变化的鲁棒性较弱,自适应性差,计算量大,难以满足实时性要求。
(2)判别式目标跟踪算法将跟踪问题归结于二分类问题,主要研究如何分离目标与背景。随着特征表示分类器设计研究的深入,各类机器学习和深度学习算法被应用到特征提取和分类器训练中去,从而使得很多效果更为鲁棒的目标跟踪模型被提出,一系列基于孪生网络的目标跟踪算法在效果上获得了较大的提升,如SiamFC、SiamMask等。然而,通过训练分类器的方式区分目标与背景。这种方法需要采集不同场景的数据集,对场景鲁棒性较差,很容易出现过拟合的问题。即当视频中目标出现快速运动、尺度变化、目标遮挡及目标丢失问题时,对数据集的多样性要求很高,容易导致目标跟踪失败,具有跟踪丢失率较高的问题。
虽然上述列举的算法均具备某一方面的优异性能,但是在实际情况中,每一种算法都只是在某一特定情况下效果较好,因此探索一种新的算法是非常有必要的。2009年,Zhou等人尝试利用sift提取特征匹配的方法对目标实现匹配跟踪,但是当出现复杂背景时,匹配效果不理想,会出现一对多匹配现象。该方法相对于提取深度特征的方法具备实时性高的巨大优势,但是所选特征单一、辨别性差,因此限制了该方法的实际应用。
发明内容
为了解决现有技术中存在的特征单一、实时性差、对数据集依赖过高的问题,本发明提出了一种用于视频中目标跟踪的方法及存储设备和控制设备,具备特征提取时间短且有效,匹配效果强,跟踪实时性高的优势。
本发明的第一方面,提出一种用于视频中目标跟踪的方法,所述方法包括:
步骤S1,对图像序列进行预处理,得到待处理子图像序列;
步骤S2,n=1,对所述待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,进而选择目标区域;
步骤S3,n=n+1,对所述待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,得到目标候选区域;
步骤S4,利用运动一致性算法对所述目标候选区域进行筛选,得到子目标候选区域;
步骤S5,利用特征提取算法从所述目标区域和每个所述子目标候选区域中分别提取图像特征;
步骤S6,利用特征匹配模型将每个所述子目标候选区域的图像特征分别与所述目标区域的图像特征进行匹配;若匹配度高于第一阈值,则将对应的子目标候选区域作为第n+1帧图像的跟踪结果;若所述匹配度高于第二阈值,则用对应的子目标候选区域更新所述目标区域;
步骤S7,重复执行步骤S3-S6,直到n=Total-1;
其中,所述第一阈值和所述第二阈值均为预设值,且所述第二阈值大于所述第一阈值,n为所述待处理子图像序列中的图像序号,Total为所述待处理子图像序列中的图像总数。
优选地,“对图像序列进行预处理,得到待处理子图像序列”的步骤包括:
对所述图像序列进行二值化处理,得到灰度图像序列;
对所述灰度图像序列进行均衡化处理,得到所述待处理子图像序列。
优选地,步骤S2中“n=1,对所述待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,进而选择目标区域”包括:
利用初级运动检测器对所述待处理子图像序列中的第一帧及第二帧图像进行运动检测;
对所述初级运动检测器的检测结果进行聚类,得到多个候选区域;
将聚类后得到的候选区域映射回所述待处理子图像序列的第一帧图像中,并在图像窗口中选择目标区域。
优选地,“利用初级运动检测器对所述待处理子图像序列中的第一帧及第二帧图像进行运动检测”的步骤包括:
对第一帧的相邻像素位置及第二帧的对应像素位置,交叉相乘后相减,得到该像素位置的运动检测结果。
优选地,在步骤S3中“对所述待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,得到目标候选区域”包括:
利用初级运动检测器对所述待处理子图像序列中的第n帧及第n+1帧图像进行运动检测;
对所述初级运动检测器的检测结果进行聚类,得到多个候选区域;
将聚类后得到的候选区域映射回所述待处理子图像序列的第n帧图像中,得到所述目标候选区域。
优选地,步骤4中“利用运动一致性算法对所述目标候选区域进行筛选,得到子目标候选区域”包括:
计算每个所述目标候选区域在所述待处理子图像序列的第n帧中的像素位置,以及该目标候选区域的形状和面积;
计算所述目标区域在所述待处理子图像序列的第n帧中的像素位置,以及所述目标区域的形状和面积;
计算每个所述目标候选区域与所述目标区域的像素距离、宽度比、高度比和面积比;
筛选出所述像素距离、所述宽度比、所述高度比和所述面积比均小于对应阈值的子目标候选区域。
优选地,步骤S5中“利用特征提取算法从所述目标区域和每个所述子目标候选区域中分别提取图像特征”包括:
利用sift描述子,分别提取所述目标区域以及所述子目标候选区域的特征,得到所述目标区域中特征点的特征向量以及所述子目标候选区域中特征点的特征向量。
优选地,步骤S6中,利用特征匹配模型将第k个所述子目标候选区域的图像特征与所述目标区域的图像特征进行匹配的步骤包括:
分别计算所述目标区域图像的第1个特征点A1的特征向量与第k个所述子目标候选区域图像中每个特征点的特征向量之间的余弦距离,并选择最小余弦距离所对应的该子目标候选区域图像中的特征点作为A1的匹配点;
分别计算所述目标区域图像的第2个特征点A2的特征向量与第k个所述子目标候选区域图像中每个特征点的特征向量之间的余弦距离,并选择最小余弦距离所对应的该子目标候选区域图像中的特征点作为A2的匹配点;
依此类推,计算并选择出所述目标区域图像的第i个特征点Ai的匹配点;其中,i=3,4,...,m,m为所述目标区域中特征点的数量;
计算所述目标区域图像与第k个所述子目标候选区域图像中所有匹配对的主方向角度差,删除主方向角度差大于角度门限的匹配对,仅保留所述主方向角度差小于角度门限的目标区域匹配点及子目标候选区域匹配点,从而得到筛选后的匹配对;
基于所述筛选后的匹配对,计算匹配度。
优选地,所述匹配度由三部分组成,分别为:
所述目标区域中所有匹配点的数目与所有特征点的数量的比例R1;
所述子目标候选区域中所有匹配点的数目与所有特征点的数量的比例R2;
所述目标区域中所有匹配点的数目与所述子目标候选区域中所有匹配点的数目的比例R3;
所述第一阈值包括:Thrrsh1、Thresh2和Thresh3;
所述第二阈值包括:Thresh′1、Thresh′2和Thresh′3,且Thresh′i>Threshi,i=1,2,3;
若R1≥Thresh1,且R2≥Thresh2,且R3≥Thresh3,则将对应的所述子目标候选区域作为第n+1帧图像的跟踪结果;
若R1≥Thresh′1,且R2≥Thresh′2,且R3≥Thresh′3则用对应的子目标候选区域更新所述目标区域。
本发明的第二方面,提出一种存储设备,其中存储有多条程序,所述程序适于由处理器加载并执行,以实现上面所述的用于视频中目标跟踪的方法。
本发明的第三方面,提出一种控制设备,包括:
处理器,适于加载程序;以及
存储器,适于存储所述程序;
所述程序适于由所述处理器加载并执行,以实现上面所述的用于视频中目标跟踪的方法。
与最接近的现有技术相比,本发明具有如下有益效果:
本发明提出的用于视频中目标跟踪的方法,采用GPU加速计算,使得特征提取时间大大缩短,具备跟踪实时性高的优势。巧妙地利用了sift的方向角特征,形成多元特征,并结合目标区域动态更新策略,使得特征匹配效果增强,在高速跟踪的前提下大大提升了准确度。同时针对不同应用场景,可以对算法进行简单调整,择优选择适合当前场景的特征,生成应用场景优化算法,即不同场景下的算法普适性强。有效解决了现有跟踪算法中存在的特征单一,实时性差,更换场景后算法不再适用,需要重新构造数据集进行模型训练,对数据集依赖过高的问题。
附图说明
图1是本发明的用于视频中目标跟踪的方法实施例的主要步骤示意图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“第一”、“第二”仅仅是为了便于描述,而不是指示或暗示所述装置、元件或参数的相对重要性,因此不能理解为对本发明的限制。
图1是本发明的用于视频中目标跟踪的方法实施例的主要步骤示意图。如图1所示,本实施例的方法包括步骤S1-S7:
在步骤S1中,对图像序列进行预处理,得到待处理子图像序列。
在某些场景中,沿指定录像利用双目相机录制视频,并对视频进行逐帧提取得到图像序列,为验证跟踪算法鲁棒性,在进行视频摄取时,包括了光照变化、目标离开视野后重新出现、目标模糊和拍摄角度不同等特征。因此,在实际应用中,对图像序列进行二值化处理及均衡化处理得到待处理子图像序列,具体包括步骤S11-S12:
在步骤S11中,对图像序列进行二值化处理,得到灰度图像序列。
在步骤S12中,对灰度图像序列进行均衡化处理,得到待处理子图像序列。
在步骤S2中,n=1,对待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,进而选择目标区域。该步骤具体包括步骤S21-步骤S23:
在步骤S21中,利用初级运动检测器对待处理子图像序列中的第一帧及第二帧图像进行运动检测。
具体地,进行运动检测时,对第一帧图像的相邻像素位置pixeli、pixelj及第二帧的对应像素位置pixel′i、pixel′j,交叉相乘后相减得到该像素位置的运动检测结果:pixeli×pixel′j-pixelj×pixel′i。其中,i,j表示像素的位置索引。
在步骤S22中,对初级运动检测器的检测结果进行聚类,得到多个候选区域。
在步骤S23中,将聚类后得到的候选区域映射回待处理子图像序列的第一帧图像中,并在图像窗口中选择目标区域。
在步骤S3中,n=n+1,对待处理子图像序列中的第n帧及第n+1帧图像进行运动检测及聚类,得到目标候选区域。该步骤具体包括步骤S31-S33:
在步骤S31中,利用初级运动检测器对待处理子图像序列中的第n帧及第n+1帧图像进行运动检测。
具体地,运动检测的方法可以参照步骤S21。
在步骤S32中,对初级运动检测器的检测结果进行聚类,得到多个候选区域。
在步骤S33中,将聚类后得到的候选区域映射回待处理子图像序列的第n帧图像中,得到目标候选区域。
在步骤S4中,利用运动一致性算法对目标候选区域进行筛选,得到子目标候选区域。该步骤具体包括步骤S41-S44:
在步骤S41中,计算每个目标候选区域在待处理子图像序列的第n帧中的像素位置,以及该目标候选区域的形状和面积。
在步骤S42中,计算目标区域在待处理子图像序列的第n帧中的像素位置,以及目标区域的形状和面积。
在步骤S43中,计算每个目标候选区域与目标区域的像素距离dpixel、宽度比Rl、高度比Rh和面积比Rarea。
在步骤S44中,筛选出像素距离dpixel、宽度比Rl、高度比Rh和面积比Rarea均小于对应阈值的子目标候选区域。预先设定上述距离及各比值的阈值。
在步骤S5中,利用特征提取算法从目标区域和每个所述子目标候选区域中分别提取图像特征。
具体地,利用sift描述子,分别提取目标区域以及子目标候选区域的特征,得到目标区域中特征点的特征向量以及子目标候选区域中特征点的特征向量。
在步骤S6中,利用特征匹配模型将每个子目标候选区域的图像特征分别与目标区域的图像特征进行匹配;若匹配度高于第一阈值,则将对应的子目标候选区域作为第n+1帧图像的跟踪结果;若匹配度高于第二阈值,则用对应的子目标候选区域更新所述目标区域。
具体地,利用特征匹配模型将第k个子目标候选区域的图像特征分别与目标区域的图像特征进行匹配的步骤包括:
(1)分别计算目标区域图像F
tar的第1个特征点A
1的特征向量
与第k个子目标候选区域图像F
prop中每个特征点B
j的特征向量
的余弦距离,并选择余弦距离最小的特征点B
j作为A
1的匹配点,记为
其中,j为第k个子目标候选区域图像中特征点的序号,且j=1,2,...,n;n为第k个子目标候选区域中特征点的数量。
(2)分别计算目标区域图像F
tar的第2个特征点A
2的特征向量
与第k个子目标候选区域图像F
prop中每个特征点B
j的特征向量
的余弦距离,并选择余弦距离最小的特征点B
j作为A
2的匹配点,记为
(3)依此类推,计算并选择出目标区域图像Ftar的第i个特征点Ai的匹配点,且i=3,4,...,m。
(4)计算所述目标区域图像与第k个所述子目标候选区域图像中所有匹配对的主方向角度差,删除主方向角度差大于角度门限的匹配对,仅保留所述主方向角度差小于角度门限的目标区域匹配点及子目标候选区域匹配点,从而得到筛选后的匹配对。
具体地,每一个特征点,都有对应的特征向量和主方向角度。如,匹配对A1、B2的主方向角度分别为30度、90度,该匹配对的主方向角度差就是60度。若该角度差大于预设的阈值,就删除A1、B2不计入后续的匹配度计算,只保留主方向角度差小于阈值的匹配对。
(5)基于筛选后的匹配对,计算匹配度。也就是说,在后续计算步骤中,所述目标区域中匹配点及子目标候选区域中匹配点均为经过角度差筛选后的结果。
其中,i为目标区域图像Ftar的特征点的序号,m为目标区域中特征点的数量;k为子目标候选区域的序号,且k=1,2,...,K,K为子目标候选区域的数量。
在步骤S7中,重复执行步骤S3-S6,直到n=Total-1。
其中,第一阈值和第二阈值均为预设值,且第二阈值大于第一阈值,n为待处理子图像序列中的图像序号,Total为待处理子图像序列中的图像总数。
在一种可选的实施例中,匹配度由三部分组成,分别为:
目标区域中所有匹配点的数目与所有特征点的数量的比例R1;子目标候选区域中所有匹配点的数目与所有特征点的数量的比例R2;目标区域中所有匹配点的数目与子目标候选区域中所有匹配点的数目的比例R3。
第一阈值包括:Thresh1、Thresh2和Thresh3;第二阈值包括:Thresh′1、Thresh′2和Thresh′3,且Thresh′i>Threshi,i=1,2,3。
若R1≥Thresh1,且R2≥Thresh2,且R3≥Thresh3,则将对应的子目标候选区域作为第n+1帧图像的跟踪结果;若R1≥Thresh′1,且R2≥Thresh′2,且R3≥Thresh′3则用对应的子目标候选区域更新目标区域,用于后续的视频跟踪。
进一步地,本发明还提供了一种存储设备的实施例,其中存储有多条程序,所述程序适于由处理器加载并执行,以实现上面所述的用于视频中目标跟踪的方法。
更进一步地,本发明还提供了一种控制设备的实施例,包括处理器和存储器。其中,处理器适于加载程序,存储器适于存储所述程序;所述程序适于由所述处理器加载并执行,以实现上面所述的用于视频中目标跟踪的方法。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。