
技术摘要:
本发明基于卷积神经网络降低单目相机位姿估计误差率的方法,是在单目相机条件下进行算法设计。该方法首先自主设计基于特征点提取与特征点匹配的卷积神经网络算法,从两张图像中提取不易随着光照角度等条件变化消失的点作为特征点,并对特征点使用256位向量进行描述作为 全部
背景技术:
相机在一个完全陌生的场景中,对身处的环境和自身位置没有任何认知。它需要 依靠传感器收集各类信息,理解周围场景信息,实现对自身位姿进行估计。这种通过环境信 息,从而进行自身姿态估计,得到旋转和位移矩阵的方法称为相机位姿估计。它是属于同时 定位与地图构建技术(SLAM)领域中前端视觉里程计(Visual Odometry,VO),是视觉里程计 的关键步骤,在SLAM领域占有重要地位。它具有庞大的市场需求,广泛应用于移动机器人定 位,以及三维地图重建,例如扫地机器人,无人驾驶等。相机位姿估计是目前的研究热点领 域。 在视觉SLAM研究与应用中,传感器普遍采用单目相机,深度相机和多目相机。单目 相机凭借其成本低,结构简单,可使用范围广,实时性和鲁棒性强等特征,广泛应用于移动 机器人,汽车等设备中。现有的大部分论文采用一定的数学方法,通过单目相机获得的信 息,计算出相机的姿态变化,计算方法主要分为直接法和特征点法两种方案。 直接法主要有SVO,LSD-SLAM等主流框架,它的主要思路是基于灰度不变假设。假 设一个空间点在各个视角下,成像的灰度是不变的。根据图像的“大量像素点”在场景中的 明亮变化,最小化亮度误差,从而计算相机运动。其中按照“大量像素点”的特点一般将直接 法分为稀疏直接法,半稠密直接法,稠密直接法。稀疏直接法按照点角选择不易消失,灰度 不易变化的点作为计算点。半稠密直接法舍弃那些像素梯度小的点作为计算点。稠密直接 法使用所有像素点,计算量非常大,无法在CPU上实时计算。在准确率方面直接法基于理想 条件中完成,容易受到环境影响。同时当图像中缺少梯度信息时,准确率大大降低。而稀疏 直接法和半稠密直接法类似于特征点法。所以本专利采用基于特征点法进行相机位姿估 计。 特征点法主要应用于ORB-SLAM等框架,它的主要思路是根据空间中点在图像中的 投影位置,最小化投影误差。首先它从图像中提取随着光照角度等条件变化不容易消失的 点作为特征点,并对每一个点生成三十二位的特征描述子。然后进行图像间的特征点匹配, 对匹配的像素点通过PnP(Perspective-n-Point)等方法最小化投影误差,从而计算相机运 动。最后使用非线性优化对相机位姿进行优化。 基于特征点法进行相机位姿估计的缺点主要有两点:第一它的准确率取决于特征 点选取的数量以及特征点之间匹配的准确率。在纹理特征弱或者环境特征少的地方,因为 提不出角点,导致特征点法无法工作。第二使用暴力匹配器等进行特征点匹配存在大量计 算量,而且将全图特征点进行匹配,当存在遮掩或者特征点消失时容易进行过度匹配,使得 特征点匹配准确率较低。 综上所示,基于特征点法的相机位姿估计因为特征点提取与匹配的问题导致其在 4 CN 111583340 A 说 明 书 2/11 页 复杂环境中准确率较低。
技术实现要素:
本发明的目的在于针对现有技术的不足,提供了一种基于卷积神经网络降低单目 相机位姿估计误差率的方法,实现减少相机位姿估计的误差。 为达到上述目的,本发明采用如下技术方案来实现的: 基于卷积神经网络降低单目相机位姿估计误差率的方法,包括以下步骤: 1)制作用于提取特征点和生成特征点描述子的数据集,并将训练数据划分为训练 数据集和验证数据集; 2)搭建特征点提取与特征点描述子生成的卷积神经网络模型,使用训练数据集训 练模型,当训练的模型在验证数据集上达到设定的精度,保存网络模型参数; 3)使用训练好的模型对测试图像提取特征点并生成特征点描述子,之后搭建连接 层整合特征点坐标和特征点描述子; 4)设计特征点匹配算法,按照特征点描述子对所有特征点进行匹配,得到特征点 匹配对; 5)基于匹配成功的特征点进行相机位姿估计。 本发明进一步的改进在于,步骤1)的具体实现方法如下: 101)制作用于提取特征点和生成特征点描述子的数据集,在TUM数据集的基础上 提取所有彩色图像的特征点作为初始化特征点; 102)制作用于提取特征点和生成特征点描述子的数据集,对相邻两张图像初始化 特征点生成特征点匹配对,将匹配对作为数据集的标签用于模型训练。 本发明进一步的改进在于,步骤102)的具体实现方法如下: 制作用于提取特征点和生成特征点描述子的数据集的标签时,从TUM数据集中按 顺序将前一张图像的位置记作相机的位置1,后一张图像的位置记作相机的位置2;已知相 机在位置1的旋转矩阵为q1,位移矩阵表示为t1,拍摄得到第一张图像,空间中的特征点P在 相机坐标系下的坐标为p1;相机在位置2的旋转矩阵用四元数表示为q2,位移矩阵表示为t2, 求解空间中的特征点P在相机坐标下的坐标p2;通过公式计算特征点P在第二张图中的位置 p2,将p1和p2结合从而生成匹配对作为标签; 本发明进一步的改进在于,步骤2)的具体实现方法如下: 201)搭建特征点提取与描述子生成的卷积神经网络模型时,根据数据集标签和多 任务的特性,对网络结构进行设计; 202)训练特征点提取与描述子生成的卷积神经网络模型时,根据数据集标签和多 任务的特性,对网络结构使用多损失函数循环训练的方法。 本发明进一步的改进在于,步骤201)的具体实现方法如下: 2011)搭建特征点提取与描述子生成的卷积神经网络模型时,分为编码层和解码 层,其中编码层对图像进行降采样提取特征,解码层进行像素点预测; 2012)搭建特征点提取与描述子生成的卷积神经网络模型时,对编码层只使用小 5 CN 111583340 A 说 明 书 3/11 页 卷积核的卷积计算,同时为了整数倍降采样,因此编码网络中使用卷积核大小为1,3,4的标 准卷积核进行循环累加; 2013)搭建特征点提取与描述子生成的卷积神经网络模型时,对解码层使用两个 分支网络分别完成特征点提取和特征点描述子生成两个任务。 本发明进一步的改进在于,步骤202)的具体实现方法如下: 训练特征点提取与描述子生成的卷积神经网络模型时,使用交叉熵损失函数训练 特征点提取任务,使用Triplet loss损失函数训练特征点描述子;通过先交叉熵损失函数 训练,再基于Triplet loss损失函数训练的顺序,以循环的方式对特征点提取与描述子生 成的卷积神经网络模型进行交替训练。 本发明进一步的改进在于,步骤3)的具体实现方法如下: 使用训练好的模型对测试图像提取特征点并生成特征点描述子后,搭建连接层, 对输出的特征点和特征点描述子使用N*(2 256)的矩阵表示;其中N表示特征点个数,前两 列存储特征点两个坐标,后面第三列到最后一列存储特征点描述子的向量。 本发明进一步的改进在于,步骤4)的具体实现方法如下: 匹配两个图像的特征点时,根据第一张图的特征点的位置,在第二张图确定相同 位置的点,以该点为中心,140像素为边长划定矩形范围;在这个范围内选取第二张图提取 出的特征点,计算两张图像中距离最近的特征点作为特征点匹配对。 本发明至少具有如下有益的技术效果: 本发明设计了一个特征点提取与特征点描述子生成的卷积神经网络(Feature Point and Feature description Convolutional Neural Networks,FPFDCNN),可以从图 像中提取随着光照角度等条件变化不容易消失的点作为特征点,并对每一个点生成256位 的向量作为特征点的描述子。FPFDCNN网络与ORB算法相比较,在清晰场景或者模糊的场景 中,可以提取的更多的更好的特征点。 本发明设计了一个特征点匹配算法(Range Matcher),根据两张图像的特征点和 特征点描述子快速对特征点进行匹配,得到特征点匹配对。FPFDCNN网络结合Range Matcher匹配算法可以得到提高两幅图像的特征点匹配的准确率。 附图说明 图1为FP数据集示意图,图1中(a)为RGB图像,图1中(b)为每个RGB图像生成标签文 本文件,图1中(c)为标签文件中特征点坐标及对应下一张图特征点坐标; 图2为FPFDCNN模型结构示意图; 图3为Pixel Shuffle重排特征图像; 图4为按照相机位姿变化进行特征点匹配算法示意图; 图5为清晰图像匹配结果示意图;图5中(a)为ORB算法结合BF Matcher匹配器对清 晰图像进行特征提取与匹配的效果图,图5中(b)为FPFDCNN网络集合Range Mather匹配器 对清晰图像进行特征提取与匹配的效果图。左边表示清晰图像第一张原图,右边表示清晰 图像第二张原图; 图6为模糊图像匹配结果示意图;图6中(a)表示ORB算法结合BF Matcher匹配器对 模糊图像进行特征提取与匹配的效果图,图6中(b)表示FPFDCNN网络集合Range Mather匹 6 CN 111583340 A 说 明 书 4/11 页 配器对模糊图像进行特征提取与匹配的效果图。左边表示第一张模糊原图,右边表示第二 张模糊的原图; 图7为不同匹配器的匹配效果图;图7中(a)表示BF Matcher匹配效果图,图7中(b) 表示Range Matcher匹配效果图。 图8为相机轨迹估计示意图。