«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (7): 226-231  DOI: 10.19678/j.issn.1000-3428.0058428
0

引用本文  

张海涛, 秦鹏程. 基于GMS与FPME的视频目标跟踪方法[J]. 计算机工程, 2021, 47(7), 226-231. DOI: 10.19678/j.issn.1000-3428.0058428.
ZHANG Haitao, QIN Pengcheng. Video Target Tracking Method Based on GMS and FPME[J]. Computer Engineering, 2021, 47(7), 226-231. DOI: 10.19678/j.issn.1000-3428.0058428.

基金项目

中国人民解放军总装备部装备预研基金(61421070101162107002)

作者简介

张海涛(1974-), 男, 教授、博士, 主研方向为图形图像处理;
秦鹏程, 硕士研究生

文章历史

收稿日期:2020-05-26
修回日期:2020-06-28
基于GMS与FPME的视频目标跟踪方法
张海涛 , 秦鹏程     
辽宁工程技术大学 软件学院, 辽宁 葫芦岛 125105
摘要:针对视频目标跟踪中因特征点误匹配造成跟踪性能下降的问题,在融合二进制特征描述算法(ORB)与网格统计的视频跟踪方法(GMS)框架下,提出一种基于GMS与特征点误匹配剔除(FPME)的视频目标跟踪方法。利用ORB算法确保在视频序列中特征点匹配的实时性,采用“粗-精”两阶段的剔除方法,即先利用K-means算法快速粗略地剔除误差较大的特征点匹配关系,提高正确匹配对所占的比例,再利用分裂法精确剔除偏离程度较大的匹配对,提高目标特征点之间的匹配成功率。实验结果表明,在视频序列的跨帧匹配与连续跟踪实验中,该方法相对于GMS、ASLA、HDT等当前主流算法在匹配精度、速度等评价指标上都能得到较好的结果。
关键词视频目标跟踪    特征点    误匹配    K-means算法    分裂法    
Video Target Tracking Method Based on GMS and FPME
ZHANG Haitao , QIN Pengcheng     
College of Software, Liaoning Technical University, Huludao, Liaoning 125105, China
Abstract: In video target tracking, mismatched feature points tend to cause reduction in the tracking performance.To address the problem, a video target tracking method using Feature Point Mismatch Elimination(FPME) is proposed on the basis of an existing method, GMS, which integrates ORB and grid statistics.The method employs ORB algorithm to ensure the real-time performance of feature point matching in video sequences.Then, a two-stage elimination method is adopted to eliminate mismatched points.In the first stage, the K-means algorithm is used to quickly and roughly eliminate the wildly inaccurate matching relationships, improving the proportion of the accurate matching pairs.In the second stage, the splitting method is used to precisely eliminate the matched pairs with larger deviations, further improving the success rate of matching between target feature points.The experimental results show that compared with GMS, ASLA, HDT and other mainstream algorithms, this method performs better in matching accuracy, speed and other evaluation indicators in cross-frame matching and continuous tracking of video sequences.
Key words: video target tracking    feature point    mismatching    K-means algorithm    splitting method    

开放科学(资源服务)标志码(OSID):

0 概述

视频目标跟踪是当前计算机视觉领域的热门研究课题,在民用和军事的众多场景中有着广泛的应用[1-3],而对目标特征点的提取和匹配是视频跟踪中的一项重要步骤[4-5]。视频跟踪中存在诸多影响因素,如尺寸变化、角度变化、光照变化、背景物杂乱、噪声、遮挡干扰等,这增加了特征点错误匹配对准的概率,极大地影响了后续视频跟踪的效果。因此,如何快速有效地剔除误匹配特征点以提高匹配精度,成为一项值得研究的问题。

当前对于误匹配特征点的剔除方法研究在点云配准[6]、三维对象识别[7-8]等方面应用较为广泛。文献[9]利用基于迭代最近点(Iterative Closest Point,ICP)的精确配准技术对前期误匹配结果进行后期校准,但是该算法过于依赖较为准确的初始姿态估计,且存在计算量大、耗时较长、收敛慢等问题。文献[10]在尺度不变特征转换(Scale Invariant Feature Transform,SIFT)算法的基础上增加了区域重叠核加权Hu矩,将相似度较小的匹配点剔除掉,然而SIFT算法[11]需要建立高维度复杂的描述子,占用了大量的内存,运行时间较长。文献[12]采用随机抽样一致性(Random Sample Consensus,RANSAC)匹配点提纯算法剔除错误的关键点匹配对,提高了识别的精度,然而该算法在抽样时需要对所有的特征点进行迭代以得到最大化的局内点,导致效率较低,在一定程度上牺牲了算法的实时性。

针对特征点提取和匹配过程中速度慢、效率低的问题,文献[13]提出一种加速鲁棒特征(Speeded up Robust Feature,SURF)算法,对DoH中的高斯二阶微分进行近似简化,加速了特征的提取和描述。然而,SURF算法在计算主方向时过于依赖局部图像的梯度方向,导致匹配成功率降低。文献[14]提出一种二进制特征描述算法(ORB),有效地解决了计算和收敛速度慢的问题,提高了匹配的实时性,并且在图像识别的精度上有了进一步提高[15-16],然而ORB在匹配过程中容易受到目标外未知因素的干扰,导致匹配结果中存在大量的误匹配点。

文献[17]在邻域一致性约束的基础上,提出一种融合ORB与网格统计的视频跟踪方法GMS,通过在特征点邻域范围内选择支持特征点集进行约束检验,以较小的时间代价增加了ORB算法稳健匹配的数量。文献[18]提出一种基于稀疏表示的跟踪方法,但是该方法仅考虑整体而非局部外观来区分目标和背景区域,因此,当目标和背景区域相差不明显时,跟踪效果较差。文献[19]采用了深层卷积神经网络模型,但是在应对简易跟踪环境时,其跟踪速度很慢。文献[20]方法利用基于相关滤波的跟踪方法,在计算效率上有着优异的性能,然而该方法会因为匹配跟踪误差的累积而导致模型逐渐退化。

针对上述方法特征点匹配精度与匹配速度存在矛盾的问题,本文在视频目标跟踪方法GMS的框架下,对ORB特征匹配阶段产生的错误匹配对进行“粗-精”两阶段剔除,提出一种新的视频目标跟踪方法ME-GMS(Mismatch Elimination GMS)。利用K-means算法快速粗略地剔除误差较大的匹配关系,提高正确匹配对所占比例。在此基础上,依据分裂法的思想,参考匹配点到聚类中心的偏离程度,根据误差设定合适的阈值,从而对误匹配对进行精确剔除。

1 GMS特征匹配方法 1.1 特征点提取

GMS算法在特征匹配阶段采用ORB算法进行特征点的检测与匹配。ORB是一种基于FAST特征点检测和Brief描述子改良而成的图像特征匹配算法,其在应用于视频跟踪时具有极为优异的速度表现力,并具有尺度不变性和旋转不变性。ORB算法主要通过以下步骤来完成特征点的检测:

1)采用FAST算法粗提取大量的特征点。当以候选点$ {\mathit{\boldsymbol{p}}} $为圆心、$ r $为半径的邻域范围内存在$ M $个连续大于或小于候选点$ {\mathit{\boldsymbol{p}}} $处灰度值的点,则认为候选点$ {\mathit{\boldsymbol{p}}} $为FAST特征点。

2)为消除图像边缘处存在的较强响应,利用Harris算法的响应函数对步骤1)中提取的FAST特征点执行排序,并保留前$ N $个点。

3)为对提取的特征点赋予尺度信息,采用多尺度图像金字塔对图像分层提取FAST特征点。

4)为对提取的特征点赋予方向信息,采用灰度质心法来计算FAST特征点的主方向。当特征点邻域范围内的质心位置不与中心重合时,可通过质心与中心的位置坐标计算特征点的主方向。

特征点邻域范围内的质心可定义为:

$ C=\left(\frac{{m}_{10}}{{m}_{00}}, \frac{{m}_{01}}{{m}_{00}}\right) $ (1)

特征点的邻域矩可定义为:

$ {m}_{pq}=\sum\limits_{x, y\in r}{x}^{p}{y}^{q}I(x, y) $ (2)

其中,$ I(x, y) $表示$ (x, y) $点处的灰度值。

特征点的主方向为:

$ \theta =\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left(\frac{{m}_{01}}{{m}_{10}}\right)=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left(\frac{\sum\limits_{x, y\in r}yI(x, y)}{\sum\limits_{x, y\in r}xI(x, y)}\right) $ (3)
1.2 特征点描述与匹配

ORB算法采用Brief描述子对每个特征点进行特征描述。Brief描述子通过比较特征点邻域范围内像素点对的灰度差值,形成一个二进制码串,并采用汉明距离作为特征点匹配的相似性度量准则。ORB算法主要通过以下步骤来完成特征点的匹配:

1)在特征点$ {\mathit{\boldsymbol{p}}} $的邻域范围内选择$ n $个像素点对,根据式(4)中的二元测试函数$ \tau $对这$ n $个像素点对进行二值判决,得到一个包含$ n $个二进制值的码串:

$ {f}_{n}\left({\mathit{\boldsymbol{p}}}\right)=\sum\limits_{1\le i\le n}{2}^{i-1}\tau ({\mathit{\boldsymbol{p}}};{{\mathit{\boldsymbol{a}}}}_{i}, {{\mathit{\boldsymbol{b}}}}_{i}) $ (4)

$ \tau ({\mathit{\boldsymbol{p}}};{{\mathit{\boldsymbol{a}}}}_{i}, {{\mathit{\boldsymbol{b}}}}_{i}) $表示特征点$ {\mathit{\boldsymbol{p}}} $邻域范围内的描述子分段函数,其定义如下:

$ \tau \left({\mathit{\boldsymbol{p}}};{\mathit{\boldsymbol{a}}}, {\mathit{\boldsymbol{b}}}\right)=\left\{\begin{array}{c}1, I\left({\mathit{\boldsymbol{a}}}\right)<I\left({\mathit{\boldsymbol{b}}}\right)\\ 0, I\left({\mathit{\boldsymbol{a}}}\right)\ge I\left({\mathit{\boldsymbol{b}}}\right)\end{array}\right. $ (5)

其中,$ I\left({\mathit{\boldsymbol{a}}}\right) $表示在特征点$ {\mathit{\boldsymbol{p}}} $邻域范围内$ {\mathit{\boldsymbol{a}}} $点处的灰度值。

2)为使Brief算法生成的特征描述子具有旋转不变性,将式(3)得到的特征点主方向$ \theta $增加至描述子。

首先在特征点邻域范围内选择$ n $对点集构建一个$ 2\times n $维的矩阵,如式(6)所示;然后利用$ \theta $对应的旋转矩阵$ {{\mathit{\boldsymbol{R}}}}_{\theta } $构造特征点对校正矩阵$ {{\mathit{\boldsymbol{R}}}}_{\theta }{\mathit{\boldsymbol{Q}}} $,得到具有旋转不变性的特征描述子,如式(7)所示。

$ {\mathit{\boldsymbol{Q}}}=\left(\begin{array}{c}{x}_{1}, {x}_{2}, \cdots , {x}_{n}\\ {y}_{1}, {y}_{2}, \cdots , {y}_{n}\end{array}\right) $ (6)
$ {g}_{n}({\mathit{\boldsymbol{p}}}, \theta )={f}_{n}\left({\mathit{\boldsymbol{p}}}\right)\left|\right({x}_{i}, {y}_{i})\in {{\mathit{\boldsymbol{R}}}}_{\theta }{\mathit{\boldsymbol{Q}}} $ (7)

3)利用贪婪搜索的方法找出相关系数小于设定阈值的邻域点对,构建包含256个向量的最终特征描述子。

4)利用汉明距离计算特征描述子间的相似度进行特征匹配。假设步骤3)中的描述子$ K={b}_{0}{b}_{1}\cdots {b}_{255} $,则相似度$ D({K}_{1}, {K}_{2}) $可定义为:

$ D({K}_{1}, {K}_{2})=\sum\limits_{i=0}^{255}{a}_{i}\oplus {b}_{i} $ (8)

至此,获得前后两帧图像的特征点点集分别为$ \{{{\mathit{\boldsymbol{p}}}}_{i}{\}}_{i=1}^{N} $$ \{{{\mathit{\boldsymbol{q}}}}_{j}{\}}_{j=1}^{M} $,它们之间的匹配关系集合为$ {\mathit{\boldsymbol{C}}}=\{c{\left(i\right)\}}_{i=1}^{N} $

2 特征点误匹配剔除方法

在进行前后两帧图像的特征点匹配时,得到的匹配关系中均含有一定数量的误匹配对,这会对视频跟踪产生一定程度的干扰,经累计会降低视频跟踪的准确性。为剔除这些误匹配对,本文采用由粗到精的方法,逐步对误匹配对进行剔除。首先利用K-means算法的思想对匹配关系进行聚类划分,仅保留匹配对数量最多的那一类,从而剔除掉大部分误匹配对;然后在获得较多正确匹配对的基础上,以标准差和欧氏距离为准则,利用分裂法进一步剔除误匹配对。

2.1 基于K-means的误匹配粗剔除方法

在进行特征点匹配后,可以得到初始匹配关系集合$ {\mathit{\boldsymbol{C}}}=\{c{\left(i\right)\}}_{i=1}^{N} $、特征点集$ \{{{\mathit{\boldsymbol{p}}}}_{i}{\}}_{i=1}^{N} $中第$ i $个特征点$ {{\mathit{\boldsymbol{p}}}}_{i} $和在特征点集$ \{{{\mathit{\boldsymbol{q}}}}_{j}{\}}_{j=1}^{M} $中的匹配特征点$ {{\mathit{\boldsymbol{q}}}}_{c\left(i\right)} $。以$ {{\mathit{\boldsymbol{p}}}}_{i} $为圆心,取半径$ r $范围内的任意$ m $个特征点,构建$ {{\mathit{\boldsymbol{p}}}}_{i} $的支持特征点集$ \{{{\mathit{\boldsymbol{p}}}}_{k}^{\text{'}}{\}}_{k=1}^{m} $。点集$ \{{{\mathit{\boldsymbol{p}}}}_{k}^{\text{'}}{\}}_{k=1}^{m} $的每个点$ {{\mathit{\boldsymbol{p}}}}_{k}^{\text{'}} $在点集$ \{{{\mathit{\boldsymbol{q}}}}_{j}{\}}_{j=1}^{M} $中都有一个特征点与之匹配,由此可得$ {{\mathit{\boldsymbol{q}}}}_{c\left(i\right)} $的支持特征点集$ \{{{\mathit{\boldsymbol{q}}}}_{k}^{\text{'}}{\}}_{k=1}^{m} $

因此,对于集合$ {\mathit{\boldsymbol{C}}} $中的每一对匹配关系,利用2个相对应的支持特征点集$ \{{{\mathit{\boldsymbol{p}}}}_{k}^{\text{'}}{\}}_{k=1}^{m} $$ \{{{\mathit{\boldsymbol{q}}}}_{k}^{\text{'}}{\}}_{k=1}^{m} $,可计算从pi$ {{\mathit{\boldsymbol{q}}}}_{c\left(i\right)} $的旋转矩阵Ri和平移向量ti

$ ({{\mathit{\boldsymbol{R}}}}_{i}, {{\mathit{\boldsymbol{t}}}}_{i})=\underset{{{\mathit{\boldsymbol{R}}}}_{i}, {{\mathit{\boldsymbol{t}}}}_{i}}{\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{i}\mathrm{n}}\left(\sum\limits_{k=1}^{m}{‖{{\mathit{\boldsymbol{R}}}}_{i}{{\mathit{\boldsymbol{p}}}}_{k}^{\text{'}}+{{\mathit{\boldsymbol{t}}}}_{i}-{{\mathit{\boldsymbol{q}}}}_{k}^{\text{'}}‖}_{2}^{2}\right) $ (9)

在此基础上,将旋转矩阵Ri和平移向量ti中的元素按顺序排列,得到1个6维向量。将集合$ {\mathit{\boldsymbol{C}}} $中的每1对匹配关系都转化为1个6维向量$ {\mathit{\boldsymbol{v}}} $,全部匹配关系转换完成后,得到新的集合$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}=\{{{\mathit{\boldsymbol{v}}}}_{j}{\}}_{j=1}^{N} $

利用K-means算法对$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} $进行聚类,将其划分成$ \eta $类($ \eta $取值范围通常为3~5)的步骤如下:

1)创建$ \eta $个聚类集合$ \{{{\mathit{\boldsymbol{G}}}}_{\mathrm{c}\mathrm{l}\mathrm{u}\mathrm{s}}^{i}{\}}_{i=1}^{\eta } $$ \eta $个聚类中心$ \{{{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{i}{\}}_{i=1}^{\eta } $,每个聚类中心都是一个6维向量。

2)将$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} $中的$ N $个向量随机分配至$ \eta $个聚类集合中。

3)更新每一类的聚类中心:

$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{i}=\frac{1}{{M}_{i}}\sum\limits_{j=1}^{{M}_{i}}{{\mathit{\boldsymbol{v}}}}_{j}^{i}, \left\{{{\mathit{\boldsymbol{v}}}}_{j}^{i}\right|{{\mathit{\boldsymbol{v}}}}_{j}^{i}\in {{\mathit{\boldsymbol{G}}}}_{\mathrm{c}\mathrm{l}\mathrm{u}\mathrm{s}}^{i}\} $ (10)

其中,$ {{\mathit{\boldsymbol{v}}}}_{j}^{i} $表示第$ i $个聚类集合$ {{\mathit{\boldsymbol{G}}}}_{\mathrm{c}\mathrm{l}\mathrm{u}\mathrm{s}}^{i} $中的第$ j $个向量,$ {M}_{i} $表示$ {{\mathit{\boldsymbol{G}}}}_{\mathrm{c}\mathrm{l}\mathrm{u}\mathrm{s}}^{i} $中的向量个数。

4)遍历$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} $中每个向量$ {{\mathit{\boldsymbol{v}}}}_{j} $,计算出与$ {{\mathit{\boldsymbol{v}}}}_{j} $距离最近的聚类中心$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{i} $,并将$ {{\mathit{\boldsymbol{v}}}}_{j} $划分至相应的$ {{\mathit{\boldsymbol{G}}}}_{\mathrm{c}\mathrm{l}\mathrm{u}\mathrm{s}}^{i} $中。

$ i=\underset{i}{\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{i}\mathrm{n}}‖{{\mathit{\boldsymbol{v}}}}_{j}-{{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{i}‖ $ (11)

5)循环执行步骤3)和步骤4),当Vtrans中的所有向量在每一类中都不再变化时,聚类划分过程结束。

最后,选择聚类数量最多的那一类作为输出结果$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $,相应的匹配关系集合为$ {{\mathit{\boldsymbol{C}}}}^{\text{'}} $,其他聚类数量较少的类被删除。通过此方法,可以快速粗略地删除大量具有较大误差的匹配对,进一步提高正确匹配对所占的比例。

2.2 基于分裂法的误匹配精剔除方法

由于集合$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $中的多数正确匹配对都散布在聚类中心附近,因此可以使用分裂法精确删除错误匹配对。在开始时将所有元素视为同一类,欧氏距离被用于度量每个匹配对与聚类中心的偏离程度,当匹配对的标准差大于设定的阈值时,进行分裂以消除偏差度较大的匹配对。利用分裂法进行误匹配剔除的具体步骤如下:

1)将标准差的阈值设置为$ {T}_{\mathrm{t}\mathrm{h}\mathrm{r}\mathrm{e}\mathrm{s}\mathrm{h}} $,将剔除系数设置为$ \lambda $

2)计算$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $的中心$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}} $和标准差$ {{\mathit{\boldsymbol{S}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} $$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}} $Strans均是6维的向量。当$ {{\mathit{\boldsymbol{S}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} $中的最大分量比阈值Tthresh小时,停止删除。

$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}}=\frac{1}{M}\sum\limits_{j=1}^{M}{{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}}, \left\{{{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}}\right|{{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}}\in {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}}\} $ (12)
$ {{\mathit{\boldsymbol{S}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}=\sqrt{\frac{1}{M}\sum\limits_{j=1}^{M}({{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}}-{{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}}{)}^{2}} $ (13)

3)遍历$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $中每一个向量$ {{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}} $,计算$ {{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}} $$ {{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}} $的距离$ {d}_{j} $,当$ {d}_{j}>\lambda \cdot \left|\right|{{\mathit{\boldsymbol{S}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}\left|\right| $并且$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $中的向量总数大于3时,剔除向量$ {{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}} $。如果$ {{\mathit{\boldsymbol{V}}}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}^{\text{'}} $中的向量总数等于3,则停止剔除。

$ {d}_{j}=‖{{\mathit{\boldsymbol{v}}}}_{j}^{\text{'}}-{{\mathit{\boldsymbol{g}}}}_{\mathrm{c}\mathrm{e}\mathrm{n}\mathrm{t}}^{\text{'}}‖ $ (14)

4)循环执行步骤2)和步骤3),直到满足这2个步骤中任意一个停止条件,结束剔除。

经过上述过程,可以得到视频序列前后两帧图像特征点集间的正确匹配关系,消除视频跟踪中因误匹配对而造成的累计误差,进而利用这些正确的匹配关系进行快速稳健的视频跟踪。

3 实验仿真

为验证本文提出的ME-GMS方法在处理特征点错误匹配时的有效性和高效性,下文分两部分进行配准跟踪实验。第一部分选择OTB-100[21]数据集中Rubik、Dog和Skater视频序列进行特征点的跨帧匹配实验,并将SIFT[11]、SURF[13]、ORB[14]和GMS[17]作为对比算法;第二部分选择OTB-100、VGG[22]和Strecha[23]数据集进行视频序列的连续跟踪实验,并选择主流的跟踪算法GMS、ASLA[18]、HDT[19]和DCFCA[20]作为对比算法。本文算法均利用Python代码实现,并运行在配置为Core i7-7700k和16 GB RAM的PC机上。

3.1 视频序列的跨帧匹配实验

选择OTB-100数据集中的Rubik、Dog和Skater视频序列进行特征点的跨帧匹配实验,统计SIFT[11]、SURF[13]、ORB[14]、GMS[17]和ME-GMS算法的正确匹配数量和错误匹配数量,以计算匹配精度,同时比较各算法的运行速度,实验结果如图 1表 1所示。

Download:
图 1 不同算法对Rubik、Dog和Skater视频序列的跨帧匹配结果 Fig. 1 Cross-frame matching results of different algorithms for Rubik, Dog and Skater video sequences
下载CSV 表 1 不同算法对Rubik、Dog和Skater视频序列的跨帧匹配性能 Table 1 Cross-frame matching performance of different algorithms for Rubik, Dog and Skater video sequences

图 1表 1可以明显看出:SIFT算法与SURF算法的匹配精度较差,匹配结果中存在大量的错误匹配;ORB算法的匹配精度略高于SIFT算法和SURF算法,但是仍有一定数量的错误匹配,并且容易出现匹配对簇集于一点的情况;相比于ORB算法,GMS算法错误匹配的数量有所减少,匹配精度进一步提高;而ME-GMS算法借助ORB算法高效的匹配效率,匹配速度仅仅稍低于ORB算法,但大量地剔除了错误的匹配点,保留下正确的部分,因此匹配精度得以提高,且即使在处理难度较大的跨帧匹配时,也没有出现错误匹配现象。对比实验结果证明了ME-GMS算法在视频序列的跨帧匹配时仍具有较好的匹配效果。

表 1还可以看出,ORB算法的平均匹配精度为73.88%,ME-GMS算法的平均匹配精度为98.15%,匹配精度提高了约33个百分点,并且高于GMS算法的平均匹配精度94.20%,这证明ME-GMS算法在进行视频序列的跨帧匹配时比传统的特征点匹配算法适应能力更强,匹配效果更好。

3.2 视频序列的连续跟踪实验

选择OTB-100,VGG和Strecha数据集进行视频序列的连续跟踪实验。采用中心位置误差(Center Location Error,CLE)、距离精度(Distance Precision,DP)和重叠精度(Overlap Precision,OP)[21]作为评价指标,中心位置误差阈值设置为10像素,重叠率阈值设置为0.7。本文算法与当前主流跟踪算法GMS[17]、ASLA[18]、HDT[19]和DCFCA[20]的性能对比如表 2所示。

下载CSV 表 2 ME-GMS算法与当前主流跟踪算法的性能对比 Table 2 Comparison of performance between ME-GMS and current mainstream tracking algorithms

表 2可以看出,ME-GMS算法在3个视频数据集上的平均跟踪结果均优于其他4种主流跟踪算法,其中:平均CLE达到4.13像素,相比于其他4种跟踪算法平均提高了18%;平均DP达到92.1%,相比于其他4种跟踪算法平均提高了9%;平均OP达到90.1%,相比于其他4种跟踪算法平均提高了8%。ASLA算法在目标与背景相似的情况下,出现了较多的误匹配;HDL算法由于其复杂结构,导致处理速度最低;DCFCA算法的计算效率极高,但是随着误差的积累导致其他指标效果较差。实验结果表明,ME-GMS算法通过引入由粗到精的误匹配对剔除策略,可以大幅减少不必要特征点的生成与匹配工作,对视频序列实现更加稳定的跟踪效果。在平均运行速度上,ME-GMS算法排第二,略微低于DCFCA算法,这也反映了ME-GMS算法以较小的时间代价换取了跟踪性能的较大提升。

图 2是ME-GMS算法与其他4种主流跟踪算法在3个视频数据集上测试的距离精度曲线对比。可以看出,ME-GMS算法的距离精度曲线位置最高,说明该算法的跟踪定位能力最强。图 3是ME-GMS算法与其他4种主流跟踪算法在3个视频数据集上测试的重叠精度曲线对比。重叠精度曲线可有效反映目标跟踪算法的跟踪精度,它与坐标轴围成区域的面积越大,说明对应目标跟踪算法的跟踪性能越好。

Download:
图 2 ME-GMS算法与主流跟踪算法的距离精度曲线对比 Fig. 2 Comparison of distance accuracy curves between ME-GMS and mainstream tracking algorithms
Download:
图 3 ME-GMS算法与主流跟踪算法的重叠精度曲线对比 Fig. 3 Comparison of overlapping accuracy curves between ME-GMS and mainstream tracking algorithm

综合图 2图 3可知,与其他4种对比算法相比,ME-GMS算法的距离精度曲线和重叠精度曲线位置都最高,说明ME-GMS算法的跟踪性能优于所对比的其他跟踪算法,进一步验证了基于K-means的误匹配粗剔除方法和基于分裂法的误匹配精剔除方法的有效性。

4 结束语

本文提出一种新的视频目标跟踪方法ME-GMS。在GMS方法框架下,对ORB算法特征匹配阶段产生的错误匹配对进行“粗-精”两阶段剔除,借助ORB算法高效的计算速度,在保证视频序列跟踪时效性的同时提高匹配精度。视频序列的跨帧匹配和连续跟踪实验验证了本文方法稳健高效的匹配性能。但是该方法在进行特征点误匹配剔除时易受特征点提取质量的影响,即视频目标在复杂环境下,如受到光照、遮挡等因素的干扰,会导致特征点本身提取效果较差,从而影响剔除的效果,使视频跟踪的整体性能下降。下一步将优化特征点提取方法,以实现更好的跟踪效果。

参考文献
[1]
SMEULDERS A W M, CHU D M, CUCCHIARA R, et al. Visual tracking: an experimental survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(7): 1442-1468. DOI:10.1109/TPAMI.2013.230
[2]
LI X, HU W M, SHEN C H, et al. A survey of appearance models in visual object tracking[J]. ACM Transactions on Intelligent Systems and Technology, 2013, 4(4): 1-5.
[3]
HU X H, GUO L, LI H H. Object tracking algorithm using objectness detection[J]. Journal of Xidian University, 2017, 44(4): 86-94, 111. (in Chinese)
胡秀华, 郭雷, 李晖晖. 一种利用物体性检测的目标跟踪算法[J]. 西安电子科技大学学报, 2017, 44(4): 86-94, 111. DOI:10.3969/j.issn.1001-2400.2017.04.016
[4]
RYU J B, PARK H H, PARK J. Corner classification using Harris algorithm[J]. IEEE Transactions on Electronics Letters, 2011, 47(9): 536-538. DOI:10.1049/el.2011.0594
[5]
WANG X, SHEN S Q, CHEN N, et al. Multi-class remote sensing object recognition based on discriminative sparse presentation[J]. Applied Optics, 2016, 55(6): 1381-1394. DOI:10.1364/AO.55.001381
[6]
XIONG F G, HUO W, HAN X, et al. Removal method of mismatching keypoints in 3D point cloud[J]. Acta Optica Sinica, 2018, 38(2): 121-131.
熊风光, 霍旺, 韩燮, 等. 三维点云中关键点误匹配剔除方法[J]. 光学学报, 2018, 38(2): 121-131.
[7]
PAPAZOV C, HADDADIN S, PARUSEL S, et al. Rigid 3D geometry matching for grasping of known objects in cluttered scenes[J]. International Journal of Robotics Research, 2012, 31(4): 538-553. DOI:10.1177/0278364911436019
[8]
CHEN J Z, PENG H N, WU N, et al. Automatic error point removal method for reconstructed cultural relic models[J]. Journal of Chinese Computer Systems, 2019, 40(9): 1926-1931. (in Chinese)
陈佳舟, 彭鹤年, 吴宁, 等. 文物三维重建误差点的自动剔除方法[J]. 小型微型计算机系统, 2019, 40(9): 1926-1931. DOI:10.3969/j.issn.1000-1220.2019.09.022
[9]
YANG B S, ZANG Y F. Automated registration of dense terrestrial laser-scanning point clouds using curves[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2014, 95(3): 109-121.
[10]
SONG D, TANG L B, ZHAO B J. SIFT mismatching points eliminating algorithm based on region overlapping kernel weighted Hu moment[J]. Journal of Systems Engineering and Electronics, 2013, 35(4): 870-875. (in Chinese)
宋丹, 唐林波, 赵保军. 基于区域重叠核加权Hu矩的SIFT误匹配点剔除算法[J]. 系统工程与电子技术, 2013, 35(4): 870-875. DOI:10.3969/j.issn.1001-506X.2013.04.32
[11]
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[12]
TAATI B, GREENSPAN M A. Local shape descriptor selection for object recognition in range data[J]. Computer Vision and Image Understanding, 2011, 115(5): 681-694. DOI:10.1016/j.cviu.2010.11.021
[13]
BAY H, TUYTELAARS T, GOOL L V. SURF: speeded up robust features[J]. Computer Vision and Image Understanding, 2006, 110(3): 404-417.
[14]
RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB: an efficient alternative to SIFT or SURF[C]//Proceedings of 2012 IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2012: 2564-2571.
[15]
ZHUO L, GENG Z, ZHANG J, et al. ORB feature based Web pornographic image recognition[J]. Neurocomputing, 2016, 173(3): 511-517.
[16]
MUR-ARTAL R, MONTIEL J M M, TARDOS J D. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163. DOI:10.1109/TRO.2015.2463671
[17]
BIAN J, LIN W Y, MATSUSHITA Y, et al. GMS: grid-based motion statistics for fast, ultra-robust feature correspondence[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Computer Society, 2017: 2828-2837.
[18]
JIA X, LU H C, YANG M H. Visual tracking via coarse and fine structural local sparse appearance models[J]. IEEE Transactions on Image Processing, 2016, 25(10): 4555-4564. DOI:10.1109/TIP.2016.2592701
[19]
QI Y K, ZHANG S P, QIN L. et al. Hedged deep tracking[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 4303-4311.
[20]
MATTHIAS M, NEIL S, BERMARD G. Context-aware correlation filter tracking[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 1387-1395.
[21]
WU Y, LIM J, YANG M H. Object tracking benchmark[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1834-1848. DOI:10.1109/TPAMI.2014.2388226
[22]
MIKOLAJCZYK K, TUYTELAARS T, SCHMID C, et al. A comparison of affine region detectors[J]. International Journal of Computer Vision, 2005, 65(1/2): 43-72.
[23]
STRECHA C, HANSEN W V, GOOL L V, et al. On benchmarking camera calibration and multi-view stereo for high resolution imagery[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2008: 1-8.