基于多特征融合和改进SIFT的目标跟踪算法
2024-02-17李文举王子杰
李文举, 王子杰, 崔 柳
(上海应用技术大学 计算机科学与信息工程学院 上海 201418)
0 引言
目标跟踪在实际生活中有着广泛应用,例如自动驾驶[1]、视频监控[2]、道路安全识别[3]和行人跟踪[4]等。当跟踪目标发生形变以及受到光照变化或背景杂波等,都会使得跟踪目标视觉特性发生改变,从而导致跟踪精度降低。
图像哈希特征[5]能够很好地描述图像主体特征,很多学者将其应用于目标跟踪领域。Yu等将感知哈希算法与粒子滤波相融合并应用于目标跟踪[6]。陈优良等预测了目标可能出现的位置,减小了搜索范围从而提升了跟踪效率[7]。胡卓等提取目标全局和局部特征进行融合并应用于跟踪算法[8]。Sengar等使用了拉普拉斯算子对感知哈希算法进行改进,增强了跟踪目标的边缘信息[9]。Huang等将感知哈希和相关滤波器相结合,减少了错误更新目标模板时引起的跟踪偏移,提升了跟踪的准确率[10]。
SIFT特征是图像的局部特征,通过对图像SIFT特征点进行匹配能够很好地将两幅图像进行配准,因此很多学者将其应用到目标跟踪领域。王智军等在MeanShift算法丢失目标的情况下使用SIFT进行目标重定位[11]。顾苏杭等简化了SIFT特征的提取和匹配,提高了目标跟踪的可靠性和稳定性[12]。李艳萍等计算图像SIFT特征点的光流信息,对光流信息进行特征聚类从而实现目标的准确跟踪[13]。Mirunalini等将卡尔曼滤波与SIFT特征相结合,提升了目标在被遮挡时的跟踪成功率[14]。
文献[7-8]都将感知哈希特征应用于跟踪算法中。然而当目标外观改变较大时,目标的哈希特征也会发生改变。文献[14]利用目标的SIFT特征和卡尔曼滤波对目标进行跟踪,当目标外观发生变化较大时,SIFT算法的匹配可能会失败。基于上述不足之处,本文对SIFT算法的特征点提取和匹配以及感知哈希和差异哈希进行改进,将SIFT特征、图像哈希特征和颜色特征相融合,获取更丰富的目标特征并将其应用于跟踪算法。实验证明,算法在目标受到光照变化或背景杂波时能保持较高的准确率,有效解决了跟踪精度下降的问题。
1 改进的SIFT算法
1.1 改进的SIFT特征提取
图像熵是一种图像特征的统计形式,它反映了图像中信息的含量。对于一幅大小为M×N的灰度图像,图像中的任意点可以用信息熵来描述其领域内灰度值分布的混乱程度。对灰度图像中的每一个点都进行局部熵信息的计算,就能够得到灰度图像的局部熵,计算为
(1)
其中:H表示灰度图像的局部熵;pi表示灰度值为i的像素所占比例。
图像的局部熵越大则表示信息量越大。文献[15-16]证明了只对高熵部分进行SIFT特征提取,能够获取大部分的特征点。这种改进能够缩小特征提取的区域,从而提升效率。
1.2 改进的SIFT特征匹配
在对两幅图像进行配准时,特征点匹配会直接影响图像配准的结果。特征点匹配常用的方法是最近邻距离比值法,然而这种方法需要手动设定阈值,当阈值过大会产生错误匹配对;当阈值过小会丢失正确的匹配对。因此需要对SIFT特征点的匹配进行改进。
在使用最近邻距离比值法进行特征点匹配后,对于正确匹配的特征点,其附近的像素信息非常相似。因此,可以使用均值哈希来剔除错误匹配的特征点。
改进的SIFT匹配方法具体步骤如下。1) 对两幅图像进行熵分割,并分别对两幅图像的高熵部分进行SIFT特征点提取;2) 对两幅图像的SIFT特征点使用最近邻比值法进行粗略匹配;3) 对于粗略匹配的特征点,使用均值哈希得到哈希序列,当汉明距离小于5时,则判定为正确匹配;否则将其剔除。4) 对剔除错误匹配之后的图像使用RANSAC算法获得最终的匹配结果。
2 多特征融合
2.1 改进的图像哈希
2.1.1改进的感知哈希 感知哈希能够获取图像的主体信息,使用感知哈希算法能够得到图像的哈希序列。通过对两幅图像的哈希序列进行比较得到汉明距离。在获得两幅图像之间的汉明距离后,可通过式(2)对两幅图像之间的相似程度进行量化表示,
(2)
其中:SHash表示两幅图像之间的相似度;D表示两幅图像之间的汉明距离。
然而感知哈希在目标与背景高度相似或光照强度过低的情况下不能很好地提取图像的主体信息。针对感知哈希在上述情况中的不足,本文使用大津阈值对图像进行分割,处理后的图像目标与背景得到了很好的分离。分割前、后的效果对比如图1所示。
图1 阈值分割前、后对比图Figure 1 Comparison before and after threshold segmentation
2.1.2改进的差异哈希 差异哈希算法是一种侧重于图像局部差异的图像哈希算法。其主要过程是将图像进行灰度化后,比较每行像素之间的差异以获取哈希序列的算法。差异哈希算法只关注了局部差异信息,而忽视了局部信息和整体信息之间的联系。本文针对差异哈希算法的不足之处进行了改进。具体改进步骤如下。
1) 将图像像素压缩成n×n。
2) 将缩放后的图像进行灰度化处理。
3) 计算灰度变换后图像像素的整体均值(avg)、各行像素均值(r_avgi)以及各列像素均值(c_avgi)。
4) 将图像中的像素点按从左到右、从上到下的顺序依次排列并编号,pi表示图像的第i个像素点。对每个像素而言,按式(3)的规则进行处理得到相应的哈希码hi。最终可以得到长度为n2的哈希序列,记为Hlocal,
(3)
5) 将图像的r_avgi以及c_avgi依次进行比较,按式(4)和式(5)处理得到相应的行哈希码ri和列哈希码ci,最终分别生成n位的行哈希序列Hr和列哈希序列Hc;
(4)
(5)
6) 将图像的r_avgi以及c_avgi依次与整体像素均值avg进行比较。按式(6)和式(7)的规则进行处理得到相应的行哈希码r′i和列哈希码c′i,最终分别生成n位的行哈希序列H′r和列哈希序列H′c,
(6)
(7)
7) 将上述步骤得到的Hlocal、Hr、Hc、H′r、H′c进行合并生成最终长度为n2+4n的差异哈希序列,如式(8),
Hcc={Hlocal,Hr,Hc,H′r,H′c}。
(8)
2.2 颜色特征
颜色是彩色图像的重要特征之一。本文使用颜色矩来描述图像的颜色特征,这种描述方法不仅简单且十分高效。图像的颜色矩包括一阶矩、二阶矩和三阶矩。
图像的一阶颜色能够反映图像整体明暗程度,计算为
(9)
其中:N表示整幅图像中的像素个数;Pi,j表示图像第j个像素的第i个颜色分量;μi表示第i个颜色分量的一阶颜色矩。
图像的二阶颜色矩能够反映图像色彩的分布范围,计算为
(10)
其中:σi表示第i个颜色分量的二阶颜色矩。
图像的三阶颜色矩能够反映图像色彩的对称性,计算为
(11)
其中:si表示第i个颜色分量的三阶颜色矩。
通过对图像的RGB分量分别计算颜色矩,得到一个9维的图像颜色特征:Fcolor=(μr,μg,μb,σr,σg,σb,sr,sg,sb),两幅图像之间的颜色相似度计算为
(12)
其中:F1i、F2i分别表示两幅图像的颜色特征向量中的第i个分量;n表示特征向量的维度;Scolor表示两幅图像之间的颜色相似度。
2.3 特征融合
图像哈希特征提取时需要将图像转为灰度图像,灰度图像丢失了图像的色彩信息。因此,本文将颜色矩作为图像的颜色特征融入跟踪算法中。SIFT特征能够描述图像的关键点信息,本文对于SIFT特征的量化方式为
(13)
其中:Ssift表示图像区域内成功匹配的SIFT特征点的占比;N1表示搜索窗口内与目标成功匹配的特征点的数量;N2表示整幅图像与目标成功匹配的特征点的数量。
两幅图像之间相似度计算为
S=w1(w2SpHash+w3SdHash)+w4Ssift+w5Scolor,
(14)
式中:w1、w2、w3、w4、w5别表示各特征的权重,本文取值分别为0.5、0.5、0.5、0.25、0.25;SpHash、SdHash、Scolor分别表示图像间的感知哈希相似度、差异哈希相似度和颜色矩相似度。
3 算法实现
跟踪目标时,当跟踪目标受到光照变化或相似背景干扰时,会出现跟踪准确率下降。针对此问题,本文提出了基于特征融合和改进SIFT的目标跟踪算法。该算法将改进的图像哈希特征、颜色特征和SIFT特征进行融合处理以找出跟踪目标所在位置。具体实现步骤如下。
1) 在视频的初始帧选择需要跟踪的目标作为目标模板,计算目标模板的图像哈希特征和颜色特征,并在目标模板的高熵部分提取目标的SIFT特征点。
2) 进入下一帧,对上一帧目标附近区域图像高熵部分进行特征点的提取,并和目标模板的特征点进行匹配。
3) 使用搜索框在上一帧目标附近区域内进行遍历搜索,统计搜索框内的特征点占比,并根据式(14)获得其与目标模板之间的相似度。
4) 选取与目标模板相似度最高的搜索框作为最终目标框,若相似度高于阈值,则更新目标模板,重新提取目标模板的图像哈希特征和颜色特征并在目标模板的高熵部分提取SIFT特征点;否则直接进入下一帧。
5) 重复步骤2)~4),直至结束。
4 实验分析
本文的实验在CPU为AMD R5-2600X、内存为8 GB的电脑上,使用PyCharm的开发平台与OpenCV3.4以及Python实现。
4.1 改进的SIFT算法实验分析
为了测试改进的SIFT算法的匹配效果,本文对跟踪目标变化进行了特征点匹配实验。从图2和表1的实验数据中可以发现,改进的SIFT算法进行匹配可以剔除错误匹配的特征点,同时保留了大部分正确匹配的特征点。
图2 匹配效果对比图Figure 2 Comparison of matching effect
表1 改进的SIFT匹配实验数据Table 1 Improved SIFT matching experimental data
4.2 改进的图像哈希实验分析
本文对改进的图像哈希算法进行了实验。在光照、相似背景、遮挡、形变等场景下测试了改进的图像哈希算法的性能。实验中使用场景如图3所示。
从表2的实验数据可以得出改进后的图像哈希算法提取了更丰富的图像哈希特征,目标变化前、后的相似度得到了提升。
4.3 跟踪算法实验分析
4.3.1跟踪算法评价指标 本文使用文献[17]中的评价指标来评估本文跟踪算法的性能。成功率是
图3 目标变化前、后对比图Figure 3 Comparison of the target before and after changing
表2 目标变化前、后相似度Table 2 Similarity of the target before and after changing
指预测框和真实框的重叠精度小于设定阈值的视频帧数占整个视频序列帧数的比例。距离精度是指中心位置误差小于设定阈值的视频帧数占整个视频序列帧数的比例。
本文在OTB-100视频序列中选取了8个视频序列进行实验,并与文献[7]、[8]和[14]中的算法进行对比。具体的测试视频序列描述如表3所示。
表3 所使用的视频序列描述Table 3 Description of the video sequence used
4.3.2定性分析 1) 实验1。对比各种跟踪算法在受到光照变化干扰时的跟踪效果,视频序列Crowds的实验效果如图4所示,可以发现文献[7]、[8]、[14]的跟踪算法在跟踪过程中受到光照影响出现了偏移现象。本文算法在跟踪过程中几乎没有发生偏移,受到的影响相对较小,能够在光照变化的干扰下保持较高的跟踪稳定性与准确性。
图4 Crowds实验效果图Figure 4 Experiment results on Crowds
2) 实验2。对比各种跟踪算法在受到相似背景干扰时的跟踪效果,其中视频序列CarDark中的黑夜背景信息和作为跟踪目标的黑色轿车高度相似,因此高度相似的背景信息可能会给跟踪算法带来一定的干扰。从图5可以发现文献[7]、[8]、[14]的跟踪算法在跟踪过程中受到相似背景的干扰,出现了较大幅度的偏移。本文的跟踪算法在跟踪过程中受到相似背景的干扰相对较小,没有发生较大幅度的偏移,能够保持良好的跟踪准确性和稳定性。
图5 CarDark实验效果图Figure 5 Experiment results on CarDark
4.3.3定量分析 为了定量分析本文跟踪算法的性能,取重叠率阈值为0.5,中心坐标误差阈值为20。实验表明本文的跟踪算法有着更高的成功率和距离精度,在受到相似背景和光照变化的影响下,能够稳定、准确地跟踪目标。
表4 各种跟踪算法成功率与距离精度对比Table 4 Comparison of success rate and distance accuracy of various tracking algorithms 单位:%
4.3.4综合分析 为了进一步分析本文跟踪算法的性能,分别采用不同的重叠率阈值和中心坐标误差阈值进行实验,成功率曲线和距离精度曲线实验结果如图6、7所示。实验表明本文提出的算法能够在相似背景和光照变化的干扰下准确、稳定地跟踪目标。
图6 成功率曲线图Figure 6 Graph of success rate
图7 距离精度曲线图Figure 7 Graph of distance accuracy
5 总结
针对目标跟踪时,当跟踪目标受到背景干扰或光照变化时发生偏移现象或丢失跟踪目标,从而导致跟踪精度降低的问题,本文提出了基于多特征融合和改进SIFT的目标跟踪算法。在图像的高熵部分进行特征点提取,并使用均值哈希将错误匹配的特征点剔除。同时本文对感知哈希和差异哈希进行了改进,并获得了更丰富的图像哈希特征。将改进的图像哈希特征、颜色特征和SIFT特征进行融合,并应用于跟踪算法中。实验表明本文算法在目标受到相似背景干扰或光照变化时能够准确地跟踪目标,具有良好的性能。