CN113034596A - 一种三维物体检测与跟踪方法 - Google Patents
一种三维物体检测与跟踪方法 Download PDFInfo
- Publication number
- CN113034596A CN113034596A CN202110326833.7A CN202110326833A CN113034596A CN 113034596 A CN113034596 A CN 113034596A CN 202110326833 A CN202110326833 A CN 202110326833A CN 113034596 A CN113034596 A CN 113034596A
- Authority
- CN
- China
- Prior art keywords
- superpoint
- tracking
- frame
- dimensional object
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种三维物体检测与跟踪方法,属于三维视觉领域。本发明分为扫描和检测跟踪。扫描过程通过扫描待检测跟踪的三维物体,结合视觉里程计得到三维物体以及所处环境的相关信息;检测跟踪过程使用改进的SuperPoint算法进行特征提取与匹配,并结合视觉里程计,得到精确,鲁棒的三维物体检测与跟踪结果。改进的SuperPoint算法通过改进损失函数,保证精确率的同时大大降低了训练消耗的内存。本发明对网络输出的描述子维度进行适应性的调整,能够在检测与跟踪阶段得到更高的精度。最终得到的三维物体检测与跟踪系统具有较高的精度和鲁棒性,在物体局部遮挡,相机较快移动,环境中有相似其他物体的情况下,本发明也能得到较为精确的结果。
Description
技术领域
本发明涉及三维视觉领域,尤其涉及一种基于特征匹配的三维物体检测与跟踪方法。
背景技术
三维物体检测与跟踪任务的目标是在连续视频帧中对指定三维物体进行目标检测和六自由度位姿求解,其中位姿包括三自由度的朝向和三自由度的位置。检测和跟踪得到的精确的位姿求解结果对于无人驾驶以及机器人控制,增强现实等多个领域都至关重要。比如通过估计物体实际的位姿,自动驾驶的车辆或机器人可以准确地预判和规划自己的行为和路径,避免碰撞和违规。
学术界对于三维物体检测与跟踪的研究工作已经持续了十余年。对于三维物体的检测,大致可以分为基于模版匹配的方法、基于特征学习的方法以及基于深度学习的方法。
得益于卷积神经网络强大的表达能力和对场景的理解能力,近几年出现了越来越多基于神经网络的三维物体检测方法。一些基于深度学习的方法利用卷积神经网络进行通用类别物体的检测与识别。比如经典的Faster R-CNN,YOLO,SSD等算法。这些网络通过在庞大的数据集上进行训练,具有强大的分类与检测能力。物体的检测与识别方法往往也以其作为基础网络。除了检测出图像中物体的类别,更进一步需要得到对应三维物体的位姿估计。此类方法主要分为两大类。第一类方法直接利用神经网络回归出三维物体的位姿,另外一类方法首先利用网络得到三维物体关键点(通常是三维物体所在包围盒的八个顶点以及包围盒的中心点)在二维图像上的对应位置,网络的输出只是该任务的一个中间结果。得到2D-3D的对应后,再利用PnP算法计算出三维物体的位姿。相比直接利用网络回归位姿的方法,此类方法能够得到更高的精度。另外还有一些方法利用分割网络识别包含三维物体的图像区域,并在对应区域回归关键点的位置,也能得到比较好的结果。此类两阶段方法也有一定的缺陷:在三维物体存在较大面积遮挡或截断的情况下,关键点被遮挡,尽管神经网络可能通过记忆相似的模式来预测这些不可见关键点的位置,但通常不能给出精准的预测结果,导致随后的位姿求解失败。
对于三维物体的跟踪方法,总的来说包括基于特征点的方法、基于模型的方法、基于神经网络的方法以及基于SLAM的方法。基于特征点的方法适用于纹理丰富的物体,大部分的算法依赖性能优异的特征点提取算法,特征点描述算法以及特征点匹配算法。对于无纹理三维物体的跟踪任务,需要预先获得三维物体的模型,接下来利用边缘信息或者图像的纹理,颜色信息等进行物体的跟踪。随着SLAM技术的不断成熟,SLAM算法能够很好的完成在不同环境下的跟踪任务。SLAM算法可以在未知环境中得到自身的位姿信息,同时重建出环境的三维地图。已知传感器的数据,SLAM算法通过求解一个状态估计问题完成对相机位姿的求解和环境的重建。基于SLAM的方法通过把三维物体的点云注册到SLAM坐标系,利用SLAM系统输出的相机位姿,使用一定的策略对该位姿进行验证和更新,就能对物体进行准确、稳定的跟踪。
目前主流的三维物体检测与跟踪方法各有其优势和不足:基于特征点的方法对于纹理丰富的物体更有效果,但是当环境过于复杂并与三维物体融为一体后,会出现较多特征点的误匹配,从而导致物体检测或跟踪失败。基于边缘或区域的算法对于无纹理的物体更友好,但是在物体被局部遮挡或光照变化比较强烈的情况下效果不佳。而基于深度学习的三维物体检测与识别方法在与训练数据集相似的环境中精确度很高,但是泛化能力一般。而且基于深度学习的方法需要就待检测的一类物体,甚至是每个物体进行单独的训练,且训练的参数需要根据待检测的三维物体进行微调,消耗大量的时间成本。另外由于数据集的限制,可以检测和跟踪的物体被限定在由LINEMOD,YCB等训练数据集提供的指定三维物体上。因此基于深度学习的三维物体检测与跟踪算法无法对日常生活中的三维物体进行检测和跟踪,算法缺乏普遍性和实用性。
上述方法大都需要使用扫描仪或者通过繁琐的步骤对三维物体提前进行建模,因此限制了其在面向大众的增强现实应用中的使用。因为面向大众的增强现实应用需要面对的是日常生活中大量不同形状、不同纹理的三维物体,这些三维物体难以一一提前建模。目前只有国内外较少的几款商用产品,比如ARCore,ARKit,Vuforia等,可以对日常广泛的三维物体实现通用的检测跟踪。这些软件产品通过非常简单的扫描流程,比如让用户手持消费级手机绕着物体转一圈即可完成扫描过程。除了这几个产品外,尚没有开源的解决方案可以达到类似效果。针对此背景,本发明尝试设计一个面向日常三维物体的检测与跟踪方案,结合SuperPoint方法,得到高效,鲁棒的三维物体检测与跟踪系统。
发明内容
本发明针对现有技术的不足,提出了一种三维物体检测与跟踪方法。本发明在扫描模块结合视觉里程计得到待检测跟踪的三维物体SuperPoint点云以及其他相关信息,在检测与跟踪的过程中,依赖SuperPoint算法鲁棒的特征点检测与匹配结果,与视觉里程计相结合,对日常生活中常见三维物体进行高效,鲁棒地跟踪。
为了实现上述目的,本发明采用如下技术方案:
本发明提供了一种三维物体检测与跟踪方法,其包括以下步骤:
步骤1:扫描阶段
运行视觉里程计,得到关键帧准确的位姿以及帧间的连接关系信息;在视觉里程计设定的关键帧中提取SuperPoint特征,并计算描述子信息;利用SfM算法构建扫描过程中关键帧的SuperPoint点云,将SuperPoint点云信息,关键帧的SuperPoint特征点信息,关键帧间的连接关系信息保存到文件中;
步骤2:检测阶段
利用步骤1得到的三维物体信息,结合扫描过程中保存的信息将当前待检测帧与三维物体进行2D-2D以及2D-3D的SuperPoint特征匹配,PnP求解得到待检测帧中物体的位姿。
步骤3:跟踪阶段
利用相邻两个待跟踪帧之间的光流匹配以及重投影匹配得到待跟踪帧中物体的位姿;使用视觉里程计完成对非关键帧的跟踪。
本发明提取SuperPoint特征采用改进的SuperPoint算法,其中对SuperPoint算法的改进包括:
1)在SuperPoint算法基础上,用稀疏的损失函数替代稠密的损失函数来改进SuperPoint算法的损失函数;具体为,随机地采样N个正描述子对,接下来对每个正描述子对,采样M个负描述子对,最终得到M×N对正负描述子对;
2)对SuperPoint网络输出的描述子维度进行修改,SuperPoint网络输出64维描述子。
本发明步骤1中利用SfM算法构建扫描过程中关键帧的SuperPoint点云,具体包括:
扫描过程结束后,得到SLAM筛选出的所有关键帧;对每个关键帧提取SuperPoint特征点并计算描述子;
根据SLAM系统得到的关键帧之间的共视关系,对每一帧选择共视关系最好的t个关键帧提取SuperPoint特征,并进行两两三角化操作;
由于扫描过程中视觉里程计得到的关键帧位姿已经足够准确,固定关键帧位姿,利用集束调整优化重投影误差,得到最优的地图点位置估计。
进一步的,所述的步骤2为:
对于每个待检测帧,使用词袋匹配筛选出扫描过程中与当前待检测帧最相近的两个关键帧,并利用KNN匹配算法和RANSAC算法筛选得到2D-2D匹配关系,2D-3D匹配是当前检测帧特征点与三维点云的对应关系,通过联合2D与3D的信息,可以求解得到更准确的位姿。
现有技术相比,本发明的优势在于:
本发明以视觉里程计为基础,搭建了针对日常生活中常见三维物体的检测与跟踪系统。
由于传统方法得到的特征点和描述子匹配结果在特殊情况下表现不鲁棒,本文用改进的SuperPoint特征点提取网络替换传统ORB特征检测器来获得更加鲁棒的特征匹配结果。
在特殊的场景中,比如物体被局部遮挡,相机较快移动,场景中存在与待跟踪物体相似的其他物体等特殊情况,本发明也更加鲁棒,得到正确的求解结果。
附图说明
图1是本发明的扫描流程图;
图2是本发明的检测与跟踪流程图;
图3是检测模块利用扫描过程得到的连接关系得到相关三维点云的示意图;
图4是本发明测试用到的三个纹理较为丰富的三维物体;
图5是本发明在一般测试集上的部分定性比较结果;
图6是本发明在复杂数据集上的部分定性比较结果;其中6-1展示的是物体被局部遮挡的情况,6-2展示的是相机较快移动的情况;6-3展示的是待跟踪物体被放置在与扫描阶段不同的环境中的情况;6-4展示的是环境中有与待跟踪物体相似的其他物体的情况。
图7是本发明与目前成熟相关产品的定性比较结果;其中7-1是一般场景下的对比结果,7-2是复杂场景中的部分对比结果。
具体实施方式
下面结合说明书附图对本发明进行详细说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
本发明的一种三维物体检测与跟踪方法。使用改进的SuperPoint算法,并结合视觉里程计,得到精确,鲁棒的三维物体检测与跟踪方案。三维物体检测与跟踪系统包括两个阶段,扫描阶段和检测与跟踪阶段。在扫描阶段对三维物体进行简单,充分的扫描,即可在检测与跟踪阶段完成对三维物体的检测与跟踪。
三维物体检测与跟踪的扫描过程如图1所示,主要包括如下步骤:
步骤1.1:用户扫描三维物体所在的平面,利用ORB-SLAM3系统得到的点云以及平面检测算法获得当前场景中的平面,用户选择三维物体所在的平面作为候选平面,将一个初始的三维包围框放置在该平面上。
步骤1.2:利用键盘和鼠标修改初始包围框的大小和位置,使得三维包围框正好包裹住后续要进行检测跟踪的三维物体。
步骤1.3:得到三维包围框后,充分扫描三维包围框的五个面(除去底面),扫描的过程中利用ORB-SLAM3系统的跟踪和建图功能计算得到关键帧的位姿。
步骤1.4:对SLAM系统得到的关键帧提取SuperPoint关键点,根据SLAM系统得到的关键帧之间的共视关系,对每一帧选择共视关系最好的t个关键帧进行两两三角化操作。
步骤1.5:由于SLAM系统获得的关键帧位姿参数已经足够准确,固定关键帧的位姿,只优化地图点的三维坐标。最终将三维物体的SuperPoint点云信息,关键帧SuperPoint特征点信息,关键帧的连接关系信息保存到文件中。
本发明对SuperPoint算法的改进具体包括:
1)改进SuperPoint算法的损失函数,在保证精度的前提下减少训练期间需要的内存消耗:
对于一对图像,原SuperPoint算法的损失函数需要用到两个描述子集合中所有可能的描述子对。网络输出图像的长宽用Hc和Wc表示,那么也就需要产生一共(Hc×Wc)2个正负描述子对。本文使用该损失函数训练网络的时候发现,训练需要占用大量的内存,在拥有8GGPU显存的PC端没有办法完成训练。本文尝试用稀疏的损失替代稠密的损失。具体来说,我们首先随机地采样N个正描述子对,接下来对每个正描述子对,采样M个负描述子对,最终得到M×N对正负描述子对。实验发现相比使用稠密损失函数,利用稀疏的损失函数训练出来的结果具有相似的精度,且无需占用过多的内存,能够顺利地完成网络的训练。
2)对SuperPoint网络输出的描述子维度进行适应性修改:
原有的SuperPoint算法网络输出256维的描述子,将其应用在检测与跟踪系统中测试时发现,由于描述子的长度过大,扫描阶段保存下来的信息文件大小显著增加,检测与跟踪阶段读取信息文件占用了较多内存,而且检测阶段2D-3D匹配和2D-2D匹配耗时明显增加。为了解决此问题,训练SuperPoint网络输出不同维度的描述子,并利用快递盒在三组常规数据序列上测试不同长度描述子对检测与跟踪系统的影响。测试的描述子长度包括256维、128维,64维和32维。不同维度的描述子对于扫描结果,检测模块精度,跟踪模块精度以及耗时结果影响如表所示。可以看到,随着描述子长度的减小,扫描阶段得到的三维物体信息文件也随之减小,在后续检测与跟踪阶段会占据更少的内存。在检测与跟踪阶段,2D-3D匹配由于使用了连接关系,这一部分耗时没有明显变化,但是随着描述子长度的减少,2D-2D匹配耗时会降低,使得检测频率增高,检测效果更好。但是对于描述子长度过小的情况,可以看到描述子的独特性会降低,导致跟踪模块得到的内点变少,成功率降低。最终综合考虑系统精度和效率,以及输出不同长度描述子对于特征点匹配的精度影响,最终使用64维描述子进行后续的扫描,检测与跟踪。
扫描阶段SfM算法,具体为:
a)扫描过程结束后,可以得到SLAM筛选出的所有关键帧。对每个关键帧提取SuperPoint特征点并计算描述子;
b)根据SLAM系统得到的关键帧之间的共视关系,对每一帧选择共视关系最好的t个关键帧提取SuperPoint特征,并进行两两三角化操作。
c)由于扫描过程中视觉里程计得到的关键帧位姿已经足够准确,固定关键帧位姿,利用集束调整优化重投影误差,得到最优的地图点位置估计。
三维物体检测与跟踪的检测跟踪过程如图2所示。其中检测部分包含如下步骤:
步骤2.1:对于当前待检测帧,提取SuperPoint特征点。
步骤2.2:利用词袋匹配得到扫描过程中保存的与当前待检测帧相似的两个候选关键帧。利用扫描过程中保存的关键帧的连接关系得到候选关键帧关联的地图点,作为检测模块2D-3D匹配的候选地图点。
步骤2.3:利用步骤二中的两个候选关键帧中的特征点,与当前待检测关键帧进行2D-2D的匹配,将步骤二中得到的候选地图点与当前待检测帧进行3D-2D的匹配,联合2D-2D,3D-2D的信息,求解得到当前待检测帧的位姿。
在本发明的一项具体实施中,对步骤二的实施过程进行介绍:
检测模块的耗时主要在KNN暴力匹配上。由于点云数量很多,暴力匹配耗费了较多时间。降低匹配耗时,可以提升检测的频率,而检测的频率越高,越可能给跟踪模块更加准确的位姿先验。计算复杂度的降低,也可以让SLAM通过充分的优化输出更加准确的点云和相机位姿。对于待检测的一帧图像,它所关联的地图点只是整个三维物体点云的一小部分。由于视线被三维物体本身遮挡,三维物体至少有四分之一的部分不会出现在图像中。因此我们可以充分利用扫描过程保存的关键帧与地图点的连接信息,找到当前帧视野范围可见的地图点,避免使用全部的三维点云进行暴力匹配,只需要利用连接关系对一小部分相关点云进行暴力匹配即可。从而降低检测模块的耗时,提升系统性能。
具体来说,我们有了当前待检测帧,首先利用词袋匹配得到扫描过程中保存的与当前帧最相似的两个关键帧KF1和KF2。通过扫描过程中SLAM系统构建的连接关系,我们可以得到与这两个关键帧共视关系比较好的n个关键帧KF3~KFn+2,那么需要参与暴力匹配的地图点就是这n+2个关键帧可见的地图点。图3为利用连接关系对地图点进行区分的部分图示,其中锥体为按照上述算法得到的n+2个关键帧,较暗的点是三维物体的点云,较亮的点是这n+2个关键帧关联的地图点。可以看到,使用连接关系进行点云的筛选,可以排除掉大量在当前视角下不可见的地图点,同时也降低了暴力误匹配的概率,从而降低检测模块的耗时。
三维物体检测与跟踪的检测跟踪过程中跟踪部分包含如下步骤:
步骤3.1:对当前待跟踪帧提取SuperPoint特征点。
步骤3.2:利用最新一个检测帧得到的位姿信息,重投影到当前帧得到3D-2D的特征点匹配信息。同时利用上一个待跟踪关键帧与当前待跟踪帧光流匹配得到3D-2D的匹配,PnP求解得到待跟踪帧的位姿。
步骤3.3:对于非关键帧的跟踪,利用的是视觉里程计辅助跟踪。
三维物体检测与跟踪的位姿决策过程如下所述:
位姿决策模块为检测和跟踪模块分别保存一个状态。设计计数器机制,检测或跟踪模块连续求解位姿失败的次数到达一个阈值,才会将对应的状态置为检测失败或跟踪失败。这样的做法可以避免固定的阈值设置导致的某些角度由于特征点较少,对某几帧的PnP求解内点小于该阈值造成的检测或跟踪效果不连续的问题。
实施例
为了进一步展示本发明的实施效果,本实施例利用身边的三个纹理较为丰富的物体录制检测与跟踪数据集,三个物体如图4所示。其中数据集包括正常情况下的3组检测与跟踪数据集,物体被局部遮挡,相机较快移动,环境中存在相似物体3组检测与跟踪数据集。
评价指标:
对于每组检测与跟踪数据集,本实施例分别统计基准方案在每组序列中的关键帧帧数,检测帧PnP算法结束后内点的数量,检测成功的帧数,跟踪帧PnP算法结束后的内点数量,跟踪成功的帧数,系统成功的帧数以及系统总成功率等信息,其中将检测模块PnP内点数大于阈值的帧记为检测成功帧,将跟踪模块PnP内点数大于阈值的帧记为跟踪成功帧,将位姿决策后被系统标记为成功的帧记为系统成功帧,系统总成功帧数除以处理的所有关键帧数量得到系统总成功率。
实验1:改进的SuperPoint算法的定性结果
本实施例利用SuperPoint网络分别训练得到256维、128维、64维,32维长度的描述子。在HPatches数据集上的结果如表1所示,其中加粗字体表示更优的结果。从表中可以看到,本发明使用稀疏损失函数代替稠密损失函数,可以在保持网络性能的同时大大减少网络训练期间需要的内存。同时也可以分析得到,随着网络输出描述子维度的减少,描述子的两个评价指标均有轻微下降。我们结合SuperPoint在检测跟踪系统中的性能比较结果(表2),最终让SuperPoint网络输出64维描述子。
表1 HPatches数据集上SuperPoint预训练模型与本发明得到的模型结果对比
表2不同描述子的长度对于检测跟踪模块速度和精度的影响(时间单位:ms)
实验2:鲁棒性测试
本实施例通过大量实验测试本发明在一般的检测与跟踪场景中的性能。定量结果如表3所示。
表3本发明在检测与跟踪中的结果统计
从表3可以看到,基于SuperPoint方案得到系统检测和跟踪内点数,也侧面说明使用SupePoint特征能得到更好的匹配,较好地辅助检测和跟踪过程。对于这三个物体的若干数据序列,总成功率大多都在90%以上。图5展示了定性的结果,图中的点表示的是将扫描过程中得到的三维点云按照系统输出的位姿投影回来的结果。可以定性看到,本发明能在有高系统成功率的同时输出正确的位姿结果。
实验3:本发明的鲁棒性测试
本实施例通过大量实验测试本发明在极端情况下的鲁棒性,首先是相机运动剧烈,物体严重遮挡两种情况,定量结果如表4所示。可以看到,在这两种极端情况下系统也拥有较高的成功率。部分定性结果见图6-1和6-2,其中6-1展示的是物体被局部遮挡本发明的定性结果;6-2展示的是相机快速运动情景中本发明的定性结果展示。结合定量结果可以看到,本发明的鲁棒性较高,在这几种极端情况下都能得到正确的位姿结果。上述实验结果表明,在物体被较大面积遮挡的情况下,本发明也能有比较好的表现;在相机运动较为剧烈的情况下,如果SLAM系统能够保持稳定的跟踪,本发明也能有好的结果。
表4本发明在复杂场景中的鲁棒性结果统计
另外,本实施例尝试在检测与跟踪的过程中将物体进行轻微地移动和旋转,或者将物体放置在与扫描阶段不同的环境中进行测试。以快递盒为例,图6-3给出了定性结果。可以看到本发明较为鲁棒,能够在物体被移动或者在完全不同的场景中得到正确的位姿结果。对于环境中存在与待跟踪物体相似的物体的复杂情况,本实施例也同样进行了相关分析。以快递盒为例,本发明定性结果如图6-4所示。可以看到,算法利用描述子进行特征匹配,本发明同样可以得到正确的位姿输出。
实验4:本发明与商业产品定性对比结果
与本文讨论的检测跟踪场景更相似的是Vuforia和ARKit提供的方案Vuforia和ARKit提供给用户一套扫描流程,利用扫描后生成的模型文件,即可进行稳定的物体识别和跟踪,用户操作ARKit实现物体检测与跟踪。该检测与跟踪流程不需要用户提供3D模型,更符合增强现实应用的需求,更具用户体验。另外相比ARKit,Vuforia在扫描的过程中需要额外使用一个平面标志物来辅助扫描流程。
由于ARKit和其他几款产品的代码不对外开源,我们只能将本文所提系统与流程最相近的ARKit进行定性对比。本文通过在iPhone11上安装ARKit SDK,并与本系统在相同的场景中进行定性比较实验。
ARKit使用手机端的单目摄像头完成物体的检测与跟踪任务,为此,本发明的SLAM系统切换到了单目纯视觉模式来完成此实施例,并使用小米9后置摄像头进行数据的录制与测试。由于单目纯视觉SLAM存在尺度不确定性问题,本文在检测跟踪初始阶段对扫描过程与检测跟踪过程中的尺度进行了对齐操作。本发明与ARKit方案部分定性对比结果如图7所示,图7-1展示的是一般的情况,图7-2展示的是待跟踪物体被遮挡或环境中存在相似物体的特殊情况。图像中奇数行是手机端ARKit运行的结果,偶数行是本文系统运行得到的结果。由于iPhone与小米9相机参数(FOV)不同,在相同视角下得到的图像会有轻微差异,但不影响定性的比较。可以看到,相比国外类似的三维物体检测跟踪成熟产品,本发明具有很高的完成度,具有相似的性能。
根据对比实验可以得出以下结论:
1)本发明得到的检测与跟踪系统在一般的检测与跟踪场景中可以高效,鲁棒地运行。
2)对于特殊场景,比如物体被局部遮挡,相机较快移动,以及场景中存在与待跟踪物体相似的其他物体等情况,本发明也能得到较好的结果。
3)对比使用场景相似的成熟商用产品,本发明能够达到相似的效果。
以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (7)
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系统得到的点云以及平面检测算法获得当前场景中的平面,选择三维物体所在的平面作为候选平面,将一个初始的三维包围框放置在该平面上;
1.2:修改初始包围框的大小和位置,使得三维包围框正好包裹住后续要进行检测跟踪的三维物体;
1.3:得到三维包围框后,充分扫描三维包围框除去底面的五个面,扫描的过程中利用ORB-SLAM3系统的跟踪和建图功能计算得到关键帧的位姿;
1.4:对SLAM系统得到的关键帧提取SuperPoint关键点,根据SLAM系统得到的关键帧之间的共视关系,对每一帧选择共视关系最好的t个关键帧进行两两三角化操作;
1.5:由于SLAM系统获得的关键帧位姿参数已经足够准确,固定关键帧的位姿,只优化地图点的三维坐标,最终将三维物体的SuperPoint点云信息,关键帧SuperPoint特征点信息,关键帧的连接关系信息保存到文件中。
5.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于所述的步骤2为:
对于每个待检测帧,使用词袋匹配筛选出扫描过程中与当前待检测帧最相近的两个关键帧,并利用KNN匹配算法和RANSAC算法筛选得到2D-2D匹配关系,2D-3D匹配是当前检测帧特征点与三维点云的对应关系,通过联合2D与3D的信息,可以求解得到更准确的位姿。
6.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于所述的步骤2具体包括如下步骤:
2.1:对于当前待检测帧,提取SuperPoint特征点;
2.2:利用词袋匹配得到扫描过程中保存的与当前待检测帧相似的两个候选关键帧,利用扫描过程中保存的关键帧的连接关系得到候选关键帧关联的地图点,作为检测模块2D-3D匹配的候选地图点;
2.3:利用步骤2.2中的两个候选关键帧中的特征点,与当前待检测关键帧进行2D-2D的匹配,将步骤2.2中得到的候选地图点与当前待检测帧进行3D-2D的匹配,通过联合2D与3D的信息,求解得到当前待检测帧的位姿。具体来说,利用RANSAC的方式,首先利用6对2D-2D匹配得到旋转矩阵和平移矩阵,接下来利用一对2D-3D匹配恢复尺度信息。
7.根据权利要求1所述的三维物体检测与跟踪方法,其特征在于所述的步骤3具体包括如下步骤:
3.1:对当前待跟踪帧提取SuperPoint特征点。
3.2:利用最新一个检测帧得到的位姿信息,重投影到当前帧得到3D-2D的特征点匹配信息,同时利用上一个待跟踪关键帧与当前待跟踪帧光流匹配得到3D-2D的匹配,PnP求解得到待跟踪帧的位姿,
3.3:对于非关键帧的跟踪,利用的是视觉里程计辅助跟踪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326833.7A CN113034596B (zh) | 2021-03-26 | 2021-03-26 | 一种三维物体检测与跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110326833.7A CN113034596B (zh) | 2021-03-26 | 2021-03-26 | 一种三维物体检测与跟踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113034596A true CN113034596A (zh) | 2021-06-25 |
CN113034596B CN113034596B (zh) | 2022-05-13 |
Family
ID=76474260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110326833.7A Active CN113034596B (zh) | 2021-03-26 | 2021-03-26 | 一种三维物体检测与跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113034596B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110827302A (zh) * | 2019-11-14 | 2020-02-21 | 中南大学 | 基于深度图卷积网络的点云目标提取方法及装置 |
CN111768498A (zh) * | 2020-07-09 | 2020-10-13 | 中国科学院自动化研究所 | 基于稠密语义三维地图与混合特征的视觉定位方法、系统 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
GB202019121D0 (en) * | 2019-08-23 | 2021-01-20 | Shang Hai Yiwo Information Tech Co Ltd | No title |
-
2021
- 2021-03-26 CN CN202110326833.7A patent/CN113034596B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
GB202019121D0 (en) * | 2019-08-23 | 2021-01-20 | Shang Hai Yiwo Information Tech Co Ltd | No title |
CN110827302A (zh) * | 2019-11-14 | 2020-02-21 | 中南大学 | 基于深度图卷积网络的点云目标提取方法及装置 |
CN111768498A (zh) * | 2020-07-09 | 2020-10-13 | 中国科学院自动化研究所 | 基于稠密语义三维地图与混合特征的视觉定位方法、系统 |
Non-Patent Citations (1)
Title |
---|
熊炜等: "基于深度学习特征点法的单目视觉里程计", 《计算机工程与科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113034596B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12105887B1 (en) | Gesture recognition systems | |
Aldoma et al. | Multimodal cue integration through hypotheses verification for rgb-d object recognition and 6dof pose estimation | |
JP4644248B2 (ja) | 多重視野特徴記述子を用いた同時位置決め及びマッピング | |
CN105844669B (zh) | 一种基于局部哈希特征的视频目标实时跟踪方法 | |
US10554957B2 (en) | Learning-based matching for active stereo systems | |
CN113012212A (zh) | 一种基于深度信息融合的室内场景三维点云重建方法和系统 | |
CN114730490A (zh) | 用于虚拟现实和增强现实的系统和方法 | |
JP2013508844A (ja) | 画像のシーケンス内のオブジェクトのリアルタイム表現のハイブリッド型追跡のための方法、コンピュータプログラム、および装置 | |
CN113159043B (zh) | 基于语义信息的特征点匹配方法及系统 | |
Xue et al. | Boundary-induced and scene-aggregated network for monocular depth prediction | |
Laga | A survey on deep learning architectures for image-based depth reconstruction | |
Dong | Optimal Visual Representation Engineering and Learning for Computer Vision | |
CN111009005A (zh) | 几何信息与光度信息相结合的场景分类点云粗配准方法 | |
CN114861761A (zh) | 一种基于孪生网络特征与几何验证的回环检测方法 | |
Matas | Colour-based object recognition | |
CN116843754A (zh) | 一种基于多特征融合的视觉定位方法及系统 | |
CN109872343B (zh) | 弱纹理物体姿态跟踪方法、系统及装置 | |
Wei et al. | A data-driven regularization model for stereo and flow | |
Liao et al. | Multi-scale saliency features fusion model for person re-identification | |
Zhou et al. | Retrieval and localization with observation constraints | |
CN113034596B (zh) | 一种三维物体检测与跟踪方法 | |
Paterson et al. | 3D head tracking using non-linear optimization. | |
CN113052311A (zh) | 具有跳层结构的特征提取网络及特征和描述子生成的方法 | |
Tang et al. | A GMS-guided approach for 2D feature correspondence selection | |
Kowdle et al. | Putting the user in the loop for image-based modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |