【技术实现步骤摘要】
一种三维物体检测与跟踪方法
[0001]本专利技术涉及三维视觉领域,尤其涉及一种基于特征匹配的三维物体检测与跟踪方法。
技术介绍
[0002]三维物体检测与跟踪任务的目标是在连续视频帧中对指定三维物体进行目标检测和六自由度位姿求解,其中位姿包括三自由度的朝向和三自由度的位置。检测和跟踪得到的精确的位姿求解结果对于无人驾驶以及机器人控制,增强现实等多个领域都至关重要。比如通过估计物体实际的位姿,自动驾驶的车辆或机器人可以准确地预判和规划自己的行为和路径,避免碰撞和违规。
[0003]学术界对于三维物体检测与跟踪的研究工作已经持续了十余年。对于三维物体的检测,大致可以分为基于模版匹配的方法、基于特征学习的方法以及基于深度学习的方法。
[0004]得益于卷积神经网络强大的表达能力和对场景的理解能力,近几年出现了越来越多基于神经网络的三维物体检测方法。一些基于深度学习的方法利用卷积神经网络进行通用类别物体的检测与识别。比如经典的Faster R
‑
CNN,YOLO,SSD等算法。这些网络通过在庞大的数据集上进行训练,具有强大的分类与检测能力。物体的检测与识别方法往往也以其作为基础网络。除了检测出图像中物体的类别,更进一步需要得到对应三维物体的位姿估计。此类方法主要分为两大类。第一类方法直接利用神经网络回归出三维物体的位姿,另外一类方法首先利用网络得到三维物体关键点(通常是三维物体所在包围盒的八个顶点以及包围盒的中心点)在二维图像上的对应位置,网络的输出只是该任务的一个中间结果。得到2D />‑
3D的对应后,再利用PnP算法计算出三维物体的位姿。相比直接利用网络回归位姿的方法,此类方法能够得到更高的精度。另外还有一些方法利用分割网络识别包含三维物体的图像区域,并在对应区域回归关键点的位置,也能得到比较好的结果。此类两阶段方法也有一定的缺陷:在三维物体存在较大面积遮挡或截断的情况下,关键点被遮挡,尽管神经网络可能通过记忆相似的模式来预测这些不可见关键点的位置,但通常不能给出精准的预测结果,导致随后的位姿求解失败。
[0005]对于三维物体的跟踪方法,总的来说包括基于特征点的方法、基于模型的方法、基于神经网络的方法以及基于SLAM的方法。基于特征点的方法适用于纹理丰富的物体,大部分的算法依赖性能优异的特征点提取算法,特征点描述算法以及特征点匹配算法。对于无纹理三维物体的跟踪任务,需要预先获得三维物体的模型,接下来利用边缘信息或者图像的纹理,颜色信息等进行物体的跟踪。随着SLAM技术的不断成熟,SLAM算法能够很好的完成在不同环境下的跟踪任务。SLAM算法可以在未知环境中得到自身的位姿信息,同时重建出环境的三维地图。已知传感器的数据,SLAM算法通过求解一个状态估计问题完成对相机位姿的求解和环境的重建。基于SLAM的方法通过把三维物体的点云注册到SLAM坐标系,利用SLAM系统输出的相机位姿,使用一定的策略对该位姿进行验证和更新,就能对物体进行准确、稳定的跟踪。
[0006]目前主流的三维物体检测与跟踪方法各有其优势和不足:基于特征点的方法对于纹理丰富的物体更有效果,但是当环境过于复杂并与三维物体融为一体后,会出现较多特征点的误匹配,从而导致物体检测或跟踪失败。基于边缘或区域的算法对于无纹理的物体更友好,但是在物体被局部遮挡或光照变化比较强烈的情况下效果不佳。而基于深度学习的三维物体检测与识别方法在与训练数据集相似的环境中精确度很高,但是泛化能力一般。而且基于深度学习的方法需要就待检测的一类物体,甚至是每个物体进行单独的训练,且训练的参数需要根据待检测的三维物体进行微调,消耗大量的时间成本。另外由于数据集的限制,可以检测和跟踪的物体被限定在由LINEMOD,YCB等训练数据集提供的指定三维物体上。因此基于深度学习的三维物体检测与跟踪算法无法对日常生活中的三维物体进行检测和跟踪,算法缺乏普遍性和实用性。
[0007]上述方法大都需要使用扫描仪或者通过繁琐的步骤对三维物体提前进行建模,因此限制了其在面向大众的增强现实应用中的使用。因为面向大众的增强现实应用需要面对的是日常生活中大量不同形状、不同纹理的三维物体,这些三维物体难以一一提前建模。目前只有国内外较少的几款商用产品,比如ARCore,ARKit,Vuforia等,可以对日常广泛的三维物体实现通用的检测跟踪。这些软件产品通过非常简单的扫描流程,比如让用户手持消费级手机绕着物体转一圈即可完成扫描过程。除了这几个产品外,尚没有开源的解决方案可以达到类似效果。针对此背景,本专利技术尝试设计一个面向日常三维物体的检测与跟踪方案,结合SuperPoint方法,得到高效,鲁棒的三维物体检测与跟踪系统。
技术实现思路
[0008]本专利技术针对现有技术的不足,提出了一种三维物体检测与跟踪方法。本专利技术在扫描模块结合视觉里程计得到待检测跟踪的三维物体SuperPoint点云以及其他相关信息,在检测与跟踪的过程中,依赖SuperPoint算法鲁棒的特征点检测与匹配结果,与视觉里程计相结合,对日常生活中常见三维物体进行高效,鲁棒地跟踪。
[0009]为了实现上述目的,本专利技术采用如下技术方案:
[0010]本专利技术提供了一种三维物体检测与跟踪方法,其包括以下步骤:
[0011]步骤1:扫描阶段
[0012]运行视觉里程计,得到关键帧准确的位姿以及帧间的连接关系信息;在视觉里程计设定的关键帧中提取SuperPoint特征,并计算描述子信息;利用SfM算法构建扫描过程中关键帧的SuperPoint点云,将SuperPoint点云信息,关键帧的SuperPoint特征点信息,关键帧间的连接关系信息保存到文件中;
[0013]步骤2:检测阶段
[0014]利用步骤1得到的三维物体信息,结合扫描过程中保存的信息将当前待检测帧与三维物体进行2D
‑
2D以及2D
‑
3D的SuperPoint特征匹配,PnP求解得到待检测帧中物体的位姿。
[0015]步骤3:跟踪阶段
[0016]利用相邻两个待跟踪帧之间的光流匹配以及重投影匹配得到待跟踪帧中物体的位姿;使用视觉里程计完成对非关键帧的跟踪。
[0017]本专利技术提取SuperPoint特征采用改进的SuperPoint算法,其中对SuperPoint算法
的改进包括:
[0018]1)在SuperPoint算法基础上,用稀疏的损失函数替代稠密的损失函数来改进SuperPoint算法的损失函数;具体为,随机地采样N个正描述子对,接下来对每个正描述子对,采样M个负描述子对,最终得到M
×
N对正负描述子对;
[0019]2)对SuperPoint网络输出的描述子维度进行修改,SuperPoint网络输出64维描述子。
[0020]本专利技术步骤1中利用SfM算法构建扫描过程中关键帧的SuperPoint点云,具体包括:
[0021]扫描过程结束后,得到SLAM筛选出的所有关键帧;本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种三维物体检测与跟踪方法,其特征在于包括以下步骤:步骤1:扫描阶段运行视觉里程计,得到关键帧准确的位姿以及帧间的连接关系信息;在视觉里程计设定的关键帧中提取SuperPoint特征,并计算描述子信息;利用SfM算法构建扫描过程中关键帧的SuperPoint点云,将SuperPoint点云信息,关键帧的SuperPoint特征点信息,关键帧间的连接关系信息保存到文件中;步骤2:检测阶段利用步骤1得到的三维物体信息,结合扫描过程中保存的信息将当前待检测帧与三维物体进行2D
‑
2D以及2D
‑
3D的SuperPoint特征匹配,PnP求解得到待检测帧中物体的位姿。步骤3:跟踪阶段利用相邻两个待跟踪关键帧之间的光流匹配以及重投影匹配得到待跟踪帧中物体的位姿;使用视觉里程计完成对非关键帧的跟踪。2.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于步骤1中提取SuperPoint特征采用改进的SuperPoint算法,其中对SuperPoint算法的改进包括:1)对损失函数进行改进在SuperPoint算法基础上,用稀疏的损失函数替代稠密的损失函数来改进SuperPoint算法的损失函数;对于输入网络的一对经过单应变换的图像对,描述子生成分支输出的结果是一对维度为Hc
×
Wc
×
256的描述子映射图,原SuperPoint算法的损失函数需要用到这一对描述子集合中所有可能的描述子对,也就需要产生一共(Hc
×
Wc)2个正负描述子对;改进的损失函数在这两个描述子集合中随机地采样N个正描述子对,接下来对每个正描述子对,采样M个负描述子对,最终得到M
×
N对正负描述子对;2)对输出的描述子维度进行改进对SuperPoint网络输出的描述子维度进行适应性修改,SuperPoint网络输出64维描述子。3.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于步骤1中所述的利用SfM算法构建扫描过程中关键帧的SuperPoint点云,具体为:扫描过程结束后,得到SLAM筛选出的所有关键帧;对每个关键帧提取SuperPoint特征点并计算描述子;根据SLAM系统得到的关键帧之间的共视关系,对每一帧选择共视关系最好的t个关键帧进行两两三角化操作;由于扫描过程中视觉里程计得到的关键帧位姿已经足够准确,固定关键帧位姿,利用集束调整优化重投影误差,得到最优的地图点位置估计。4.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于所述的步骤1具体为:1.1:扫描三维物体所在的平面,利用ORB
‑
SLAM3系统得到的点云以及平面检测算法获得当前场景中的平面,选择三维...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。