基于边缘匹配的平面目标跟踪

2019-04-08 00:46吴彧
现代计算机 2019年6期
关键词:光流边缘线段

吴彧

(四川大学计算机学院,成都 610065)

0 引言

在运动视点下跟踪平面物体是计算机视觉领域中的重要问题之一。精确、鲁棒的平面目标跟踪直接决定了增强现实、无人机和无人驾驶汽车等领域的应用效率。目前,国内外已经提出了许多方法来解决这些困难。然而,由于在视点移动过程中会出现缩放、旋转等情况,跟踪仍然是一项艰巨的任务。特别是在户外,与室内情况相比,跟踪的稳定性和准确性很难得到保证。因此,我们致力于解决上述问题,并在结合校准算法和模型匹配算法的基础上,提出了一种有效而鲁棒的方法。

到目前为止,主流方法可以分为两类,一类是基于模板的方法[1],另一类是基于关键点的方法[2-3]。第一类方法不考虑特征点,而是直接利用平面信息,通过最小化测量两帧间误差来估算模板的转换参数。这些方法在复杂环境中工作良好,但是容易受到诸如快速移动、部分不可见等因素的影响。另一部分提取原始特征以适应各种影响。这些方法依赖于图像梯度来勾勒被跟踪物体的轮廓或提取几何特征以形成用于二维匹配的描述子。虽然它们已被证明在跟踪过程中是有效的,但它们可能在不包含可提取统一特征集的复杂图像中失效。

在本文中,我们介绍了一种新的平面物体跟踪方法,该方法基于光流和边缘特征匹配的对平面进行跟踪,并通过单应性矩阵对目标图像坐标进行约束。与以前的方法不同,我们的算法对室内或户外视频都可适用。由于照明变化、快速运动和丰富纹理的影响,在复杂场景中难以提取平面边缘相关特征,并且在特征匹配过程需要在亮度和位置上都具有高精度,因此我们面临的主要挑战是边缘特征描述子的构建以及特征匹配的算法。

我们通过以下三个主要步骤来解决这些挑战,改善平面跟踪:①每条线上的初始点集位置由前一帧的光流跟踪获取。然后通过使用基于光流点的线段检测算法来挑选当前帧的候选线段。②我们用颜色亮度和几何信息的组合将候选线段建模成边缘特征描述子。我们将相应的描述子和估算的直线位置合并到一个统一的直线匹配框架中,从而可以优化候选集,进行匹配。③为了弥补光流的不足以及特征匹配的失效,我们用单应性矩阵进行平面边缘的形状矫正。上述方法已在Temple University基准数据集上进行了测试,并获得了准确和稳定的实验结果。

1 算法实现

我们假设视频序列当前帧为第k+1帧,前一帧为第k帧,算法具体流程图如图1所示。

图1 算法流程图

1.1 特征提取与匹配

我们首先通过光流法跟踪第k帧平面目标物体轮廓上的点集。由于光流跟踪算法较为耗时,所以我们放弃全局光流而采用稀疏光流来跟踪平面上的目标点集。尽管全局光流的精度要更高些,但是LK稀疏光流既可以提高效率,也可以省略其余杂点的多余计算,精度的缺失可以用后续的处理与优化来弥补。有了从k帧上光流跟踪而来的点,可以大致计算出当前第k+1帧的对应点的图像坐标。然后采用Canny算法来检测第k+1帧中所有包含光流跟踪结果的凸包内的轮廓边缘,根据梯度一致性选出其中存在的线段集合,并编上序号,提供给后续处理。为了选择更有可能位于平面边缘上的线段,我们根据候选线段到角点的距离、内点数量和斜率的相似度给每条线段一个综合分数。

公式(1)中L(tt=1,2…n)表示候选线段(假设有n条候选线段,下标t表示线段序号),L(ll=1,2,3,4)是第k帧内被跟踪的样本边缘线段,d1和d2并且分别表示从候选线段到两个最近角点的欧氏距离。Ninlier是内点的数量,Nsum是内点和外点的总和。kt和kl分别是Lt和Ll的斜率,ω1,ω2,ω3分别是权重参数。根据从低到高的分数,只有前五个可以保留用于后续处理。本文的剩余部分将选定候选线段的集合表示为S。

有了这些候选线段目标就可以边缘特征描述子的构建。首先在线段上进行采样,并将平面边缘的顺时针方向设置为取样方向,线段长度同比例获取采样数量。为了确保特征描述子的光照不变性和旋转不变性,我们沿目标线段梯度方向获取三个点集,分别是在梯度平面外,梯度平面内和平面边缘上。采样点的按照一定顺序记录在一种三维向量中,形成该目标线段的特征描述子,如下所示:

在公式(2)中,∇fCB是从点 C到B的梯度,∇fCA是从点C到A的梯度,∇fAB是从点A到B的梯度,RC,GC,BC是RGB颜色空间中的点C的通道值。如图2所示,点C在目标边缘上,而A在平面内,B在平面外,蓝色虚线框内的线段即目标线段。该特征向量除以通道值的模是为了消除颜色空间中的光照影响。

图2 边缘特征描述子示意图

在正式匹配之前,我们根据光流跟踪点计算出每条平面边缘的最小外接圆,并在圆内将合格的候选线段补全,同一组中的候选线段就可延长成相同外接圆内的某一条割线,通过线段的补充,我们可以计算出原先短线的相对位置并在同一位置与样本边缘进行匹配过程,从而可以减少由错位引起的匹配误差。

构建好边缘特征描述子后,我们用颜色直方图的方式统计特征向量的概率分布。当进行特征描述子的两两匹配时,我们根据直方图的相似度来进行筛选,符合要求则认为匹配成功,可得出当前帧的平面边缘结果;否则将被认为匹配失败,将进行后续基于单应性矩阵的形状矫正。

1.2 单应性矩阵矫正

我们将S集合内的每个线段与被跟踪的对象边缘进行匹配,并为每个边缘选择最佳的匹配线段,然而平面对象的边缘可能因为一些特殊情况无法在S中找到任何行进的段,例如平面对象的一部分被遮挡、视点移动速度较快或者特征匹配失效等。因此,我们需要计算单应矩阵H来完成平面边缘的矫正。因为单应性矩阵的获取需要同一平面内的特征点对,我们通过使用SURF算法将第k帧每个跟踪对象与它们在第k+1帧中的对应点关联起来,然后获取多组前后帧对应点对,用RANSAC的算法计算出单应性矩阵H。并用该单应性矩阵表示相邻两帧的同一平面的变换关系,以此来求出第k+1帧中的平面边缘上点集。单应性矩阵求解公式如公式(3)和(4)所示。

其中,X为第k帧平面边缘点集,设Xin为与目标平面共面的平面上采样X点集,Xout为Xin经过SURF算法计算得到的第k+1帧对应点集。由这两者运用RANSAC算法得到一个最佳的单应性矩阵H,进而算出由第k帧中X点集映射到第k+1帧上的对应点集X′,以此来保证平面边缘整体的轮廓形状,有效地减少错误追踪点,解决颜色匹配失效和遮挡的问题。

2 实验结果

本文是在3.10 GHz CPU,8 GB内存的PC上运行算法。软件环境为VS2010+OpenCV2.4.9。我们用三组实验对比图来说明,在三种情况下,我们的算法与CCRE[4]算法进行同帧对比。其中,图3为缩放实验,这种情况下视点会前后移动,目标平面在图像坐标内呈现缩小或者放大的情况。(a)(b)分别为CCRE算法和我们的算法效果图。可以看出我们的算法要准确很多,CCRE在前期序列中还可以跟准,100帧以后开始出现偏差。图4为旋转实验,视点会在原地进行顺时针或者逆时针旋转,(a)为CCRE算法,在移动速度较快时,图像比较模糊,会丢失跟踪目标,(b)为我们的算法实验,可以准确地跟踪到目标平面,甚至目标比较模糊,通过单应性矩阵的形状约束下也可以跟准目标。图5为透视实验,视点会从多个角度进行拍摄,目标平面会在图像内发生透视形变,(a)为CCRE算法,当形变程度较大时会失效,而(b)为我们的算法结果,可见准确度要高于CCRE。总体来说,我们的算法要优于CCRE。

图3 缩放实验对比

图4 旋转实验对比

图5 透视实验对比

3 结语

本文提出了一种面向增强现实的基于边缘特征的平面目标跟踪算法,针对室内或者户外的平面目标都可以进行有效的跟踪。不同于基于视频体或者图像序列的后期跟踪处理方式,本文通过对视频中的每帧进行在线处理,满足效率需求。在对视频图像中的平面目标进行准确跟踪后,可以进一步对目标识别、平面分割等拓展领域进行完善。

本文算法在视点抖动剧烈或者快速移动下进行测试时,特征比较模糊,难以提取与匹配,并且单应性矩阵计算也会出现误差,此时的跟踪效果就会出现偏差,我们会针对这些问题进行后续的研究与解决。

猜你喜欢
光流边缘线段
利用掩膜和单应矩阵提高LK光流追踪效果
基于改进Cycle-GAN的光流无监督估计方法
一种多尺度光流预测与融合的实时视频插帧方法
画出线段图来比较
基于自适应纹理复杂度的仿生视觉导航方法研究
怎样画线段图
数线段
一张图看懂边缘计算
观察
在边缘寻找自我