CN108171249B - 一种基于rgbd数据的局部描述子学习方法 - Google Patents

一种基于rgbd数据的局部描述子学习方法 Download PDF

Info

Publication number
CN108171249B
CN108171249B CN201810083376.1A CN201810083376A CN108171249B CN 108171249 B CN108171249 B CN 108171249B CN 201810083376 A CN201810083376 A CN 201810083376A CN 108171249 B CN108171249 B CN 108171249B
Authority
CN
China
Prior art keywords
layer
neural network
act
convolutional
ince
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.)
Active
Application number
CN201810083376.1A
Other languages
English (en)
Other versions
CN108171249A (zh
Inventor
胡永利
秦子文
孙艳丰
尹宝才
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201810083376.1A priority Critical patent/CN108171249B/zh
Publication of CN108171249A publication Critical patent/CN108171249A/zh
Application granted granted Critical
Publication of CN108171249B publication Critical patent/CN108171249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于RGBD数据的局部描述子学习方法,包括设计卷积神经网络模型,使用随机梯度下降方法训练卷积神经网络,使用训练完成的卷积神经网络构造描述子。其中卷积神经网络模型包含两部分:第一部分为特征提取层,第二部分为特征融合层;其中特征提取层分为两个子网络:二维卷积子神经网络和三维卷积子神经网络;特征融合层为全连接神经网络;二维卷积子神经网络和三维卷积子神经网络是平行网络。本发明解决了RGBD数据融合方式提取特征点描述子的问题,相对于其他同类方法,本方法鲁棒性更强,匹配准确率更高。

Description

一种基于RGBD数据的局部描述子学习方法
技术领域
本发明属于计算机视觉领域,涉及一种基于RGBD数据的局部描述子学习方法,特别适用于RGBD数据序列的相机位姿估计。
背景技术
计算特征点描述子是计算机视觉中一个非常基础而重要的任务,通常视角剧烈变化、光照变化、重复纹理等因素都会影响描述子的质量,进而会影响特征点之间匹配的准确率,最终可能导致诸如SFM(Structure from Motion),图像匹配,SLAM(SimultaneousLocalization and Mapping)等计算机视觉任务的失败。
现有计算特征点描述子的方法主要分为两类:人工设计的方法和基于神经网络技术的方法。
人工设计的方法中典型代表有:SIFT(Scale Invariant Feature Transform),SURF(Speeded Up Robust Features),BRIEF(Binary Robust Independent ElementFeature),ASIFT(Affine SIFT)。当出现重复纹理,图像模糊,视角剧烈变化等情况时,这些计算特征点描述子方法的性能就会明显下降。
基于神经网络技术的方法中典型代表有:Guo et al[2]使用二维卷积神经网络学习特征点局部几何描述子,但是该方法需要手工数据和完整的三维模型;SergeyZagoruyko[6]使用不同分辨率的彩色图像块对作为siamese net[10]网络的输入来学习特征点的描述子。3DMatch[3]利用卷积神经网络在三维点云上计算描述子,但没有利用图像的纹理和颜色信息。
上述两类方法在计算特征点描述子的时候只使用了单一类型数据。如果只使用彩色图像数据,当出现重复纹理、光照剧烈变化,运动模糊时上述方法计算的描述子质量就会下降;另外如果只使用三维数据,当出现三维几何结构类似时上述方法计算的描述子质量同样也会下降。
发明内容
为了同时利用彩色图像信息和三维几何结构信息解决上述问题,最终提高图像描述子质量,本专利提出了一种基于RGBD数据的局部描述子学习方法。
具体技术方案如下:
一种基于RGBD数据的局部描述子学习方法,包括以下步骤:
1)设计卷积神经网络模型;
卷积神经网络模型包含两部分:第一部分为特征提取层,第二部分为特征融合层;其中特征提取层分为两个子网络:二维卷积子神经网络和三维卷积子神经网络;特征融合层为全连接神经网络;二维卷积子神经网络和三维卷积子神经网络是平行网络;
二维卷积子神经网络由12层结构组成,如图4,从输入开始依次为第一Inception层、第二Inception层、第一最大池化层、第三Inception层、第四Inception层、第二最大池化层、第一卷积层、第三最大池化层、第二卷积层、第四最大池化层、第三卷积层、第四卷积层,则二维卷积子神经网络的结构表示如下:
第一Inception层:Inception1[ince11,ince21,ince 22,ince 31,ince32,ince41,ince 42,ince 51]
第二Inception层:Inception2[ince11,ince21,ince 22,ince 31,ince32,ince41,ince 42,ince 51]
第一最大池化层:Maxpool1[2D,k′,s′]
第三Inception层:Inception3[ince11,ince21,ince 22,ince 31,ince32,ince41,ince 42,ince 51]
第四Inception层:Inception4[ince11,ince21,ince 22,ince 31,ince32,ince41,ince 42,ince 51]
第二最大池化层:Maxpool2[2D,k′,s′]
第一卷积层:Conv1[2D,c,k,s,p,act]
第三最大池化层:Maxpool3[2D,k′,s′]
第二卷积层:Conv2[2D,c,k,s,p,act]
第四最大池化层:Maxpool4[2D,k′,s′]
第三卷积层:Conv3[2D,c,k,s,p,act]
第四卷积层Conv4[2D,c,k,s,p,act];
其中,Inception的下标表示的是层数,Inception中的ince11,ince21,ince 22,ince 31,ince 32,ince 41,ince 42,ince 51用于表明参数的传递关系。每个Inception层结构相同,均由五条并行路径组成,五条并行路径的输出叠加作为Inception层的输出,这五条并行路径表示如下:
路径1:Conv[2D,ince11,k,s,p,act]
路径2:Conv[2D,ince21,k,s,p,act]
Conv[2D,ince22,k,s,p,act]
路径3:Conv[2D,ince31,k,s,p,act]
Conv[2D,ince32,k,s,p,act]
路径4:Conv[2D,ince41,k,s,p,act]
Conv[2D,ince42,k,s,p,act]
路径5:Maxpool[2D,k′,s′]
Conv[2D,ince51,k,s,p,act]
最大池化层即Maxpool[mdim,k′,s′],上文中的下标表示的是层数,其中,mdim=2D表示二维最大池化核,mdim=3D表示三维最大池化核;k′为正整数,表示最大池化核的大小;s′为正整数,表示最大池化核移动的步长;
卷积层即Conv[cdim,c,k,s,p,act],上文中的下标表示的是层数,其中,此处cdim=2D表示二维卷积核,cdim=3D表示三维卷积核;c为正整数,表示输出的通道数;k为正整数,表示卷积核的大小;s为正整数,表示卷积核移动的步长;p为正整数,表示边界的大小;act表示激活函数,可选的有:sigmoid函数,Rectified Linear Units(relu)函数,双曲正切函数等。
三维卷积子神经网络由9层结构组成,如图5,从输入开始依次为第一卷积层、第二卷积层、第一最大池化层、第三卷积层、第四卷积层、第五卷积层、第六卷积层、第七卷积层、第八卷积层,则三维卷积子神经网络的结构表示如下:
第一卷积层:Conv1[3D,c,k,s,p,act]
第二卷积层:Conv2[3D,c,k,s,p,act]
第一最大池化层maxpool1[3D,k′,s′]
第三卷积层:Conv3[3D,c,k,s,p,act]
第四卷积层:Conv4[3D,c,k,s,p,act]
第五卷积层:Conv5[3D,c,k,s,p,act]
第六卷积层:Conv6[3D,c,k,s,p,act]
第七卷积层:Conv7[3D,c,k,s,p,act]
第八卷积层:Conv8[3D,c,k,s,p,act]
最后将第八卷积层的输出向量化,作为三维卷积子神经网络的最终输出;特征融合层为三层全连接网络,从输入开始依次为第一全连接层,第二全连接层,第三全连接层;全连接层记为dense[imp,act],下文中的下标表示层数,其中imp表示隐含层节点个数,act表示激活函数,可选的有:sigmoid函数,Rectified Linear Units(relu)函数,双曲正切函数等,则特征融合层的网络结构表示如下:
第一全连接层:dense1[imp,act]
第二全连接层:dense2[imp,act]
第三全连接层:dense3[imp,act];
2)使用随机梯度下降方法训练卷积神经网络,具体如下:
(1)构建训练样本:从3DMatch[10]的项目网站上下载RGBD数据集,使用3DMatch提供的工具将RGBD数据集转化为训练样本。每个训练样本包括两组数据和一个标签,每组数据由一个彩色图像块和一个TDF数据块组成,他们存在对应或者不对应的关系;如果两组数据都存在对应关系则标签为1,否则为0;(2)系统训练:将一个训练样本中的两个彩色图像块分别输入到两个结构相同且共享参数的二维卷积子神经网络中并得到两个特征向量,分别记为fc1,fc2;将另外两个TDF数据块输入到两个结构相同且共享参数的三维卷积子神经网络中得到特征向量ft1和ft2;然后将fc1,ft1输入到特征融合层获取融合特征向量y1,将fc2,ft2输入到特征融合层获取融合特征向量y2;直到对所有训练样本提取融合特征
Figure BDA0001561672950000041
Figure BDA0001561672950000042
其中i∈[0,N],N表示训练样本的个数;
(3)构造目标函数,用于训练整个卷积神经网络模型:
目标函数L1如下:
Figure BDA0001561672950000051
Figure BDA0001561672950000052
其中
Figure BDA0001561672950000053
表示二分类全连接神经网络的输出,它的输入是
Figure BDA0001561672950000054
具体结构如下:dense[c,act]
dense[c,act];
Figure BDA0001561672950000055
Figure BDA0001561672950000056
归一化的结果,N是训练样本的个数,
Figure BDA0001561672950000057
表示
Figure BDA0001561672950000058
的第li个分量,li∈{0,1}是第i个样本的标签,λ是一个超参数,
Figure BDA0001561672950000059
是二维卷积子神经网络和三维子卷积神经网络的网络参数;
当L11,ε1∈R时训练终止,系统完成训练;
3)使用训练完成的卷积神经网络构造图像描述子,具体计算过程如下:
(1)从待构造描述子图像中选取特征点,并计算这些特征点的三维坐标,其中待构造描述子图像由一帧彩色图像和一帧对应的深度图像组成,具体步骤为:在彩色图像上随机选择a个特征点,500≤a≤2000,在深度图中找到这些特征点的对应点,然后根据这些对应点在深度图中的深度值计算他们对应的三维坐标,计算公式如下:
Figure BDA00015616729500000510
Figure BDA00015616729500000511
Figure BDA00015616729500000512
其中,
Figure BDA00015616729500000513
表示第k个特征点在深度图中的像素坐标,dk表示
Figure BDA00015616729500000514
对应的深度值,(xk,yk,zk)表示
Figure BDA00015616729500000515
对应的三维坐标,cx,cy分别表示相机光心的坐标,fx,fy分别表示相机x和y方向的焦距;
(2)根据每个特征点的三维坐标重构每个特征点的彩色图像块和TDF数据块;一个特征点对应一个彩色图像块和一个TDF数据块。
(3)计算图像特征点的描述子,具体为:将重构的所有彩色图像块和TDF数据块分别输入到训练完成的卷积神经网络模型中的二维卷积子神经网络和三维卷积子神经网络,二维卷积子神经网络输出特征向量A,三维卷积子神经网络输出特征向量B,接下来将这两个特征向量组成新的向量{A、B}输入到特征融合层得到融合的特征向量,即为图像特征点的描述子;
还可以采用目标函数L2进行系统训练,具体如下:
Figure BDA0001561672950000061
其中,Di表示特征向量
Figure BDA0001561672950000062
之间的欧氏距离;li,λ,
Figure BDA0001561672950000063
的含义同目标函数L1;
当L2<ε2,ε2∈R时训练终止,系统完成训练。
可以采用3DMatch[10]中的工具重构每个特征点的彩色图像块和TDF数据块。
有益效果
本发明设计的一种面向SLAM相机位姿估计的RGBD数据局部描述子学习方法,可以从RGBD数据中有效提取特征点的描述子,对于光照变化,重复纹理和相似三维几何情况都有很好的鲁棒性,一定程度上提高了特征点描述子匹配的准确性。
附图说明
图1为本发明整体流程示意图;
图2为卷积神经网络的前馈过程示意图;
图3为训练卷积神经网络时的结构示意图;
图4为二维卷积子神经网络结构示意图;
图5为三维卷积子神经网络结构示意图。
具体实施方式
实施例:
在轮式室内机器人自主导航中,一种常用方法是使用kinect摄像头获取RGBD图像,然后根据RGBD图像估计kinect摄像头的位姿。由于摄像头一般是固定在机器人上的,所以kinect摄像头的位姿就可以当做机器人的位姿。一般结合机器人位姿和图像目标检测就可以基本实现机器人的自主导航。而实现这些内容的基础是首先获取特征点的描述子,在获取特征点描述子的基础上可以进一步估计kinect摄像头位姿。本实施例具体描述了如何进行描述子计算,以及如何扩展用于估计kinect摄像头位姿。
根据权利要求书中的步骤,我们首先介绍卷积神经网络模型的详细设计,接着介绍如何训练网络模型。当网络模型训练结束后就可以利用这个网络模型构造计算特征点局部描述子的过程,整个过程参见图1。在此基础上,首先获取kinect摄像头采集到的一帧RGBD图像,接着使用我们计算描述子的方法计算特征点的描述子,再匹配描述子,最后通过求解特征点的重投影误差估计这一帧RGBD图像对应的相机位姿。除了第一帧图像不与上一帧匹配外,其它帧均通过特征点的描述子与上一帧匹配,匹配成功后使用同样方法估计kinect摄像头的位姿。
根据权利要求书中的设计,下面我们分别给出各个部分的超参数。
1)设计卷积神经网络模型:
二维卷积子神经网络的超参数设置如下:
第一Inception层:Inception1[16,16,32,16,32,16,32,16]
第二Inception层:Inception2[16,16,32,16,32,16,32,16]
第一最大池化层:Maxpool1[2D,3,2]
第三Inception层:Inception3[16,16,32,16,32,16,32,16]
第四Inception层:Inception4[16,16,32,16,32,16,32,16]
第二最大池化层:Maxpool2[2D,3,2]
第一卷积层:Conv1[2D,256,3,1,1,relu]
第三最大池化层:Maxpool3[2D,3,2]
第二卷积层:Conv2[2D,512,3,1,1,relu]
第四最大池化层:Maxpool4[2D,3,2]
第三卷积层:Conv3[2D,512,3,1,1,relu]
第四卷积层Conv4[2D,512,3,1,1,relu];
Inception模块的超参数设置如下:
路径1:Conv[2D,ince11,1,1,0,relu]
路径2:Conv[2D,ince21,1,1,0,relu]
Conv[2D,ince22,3,1,0,relu]
路径3:Conv[2D,ince31,1,1,0,relu]
Conv[2D,ince32,5,1,0,relu]
路径4:Conv[2D,ince41,1,1,0,relu]
Conv[2D,ince42,7,1,0,relu]
路径5:Maxpool[2D,3,1]
Conv[2D,ince51,1,1,0,relu]
三维卷积子神经网络的超参数设置如下:
第一卷积层:Conv1[3D,64,3,1,0,relu]
第二卷积层:Conv2[3D,64,3,1,0,relu]
第一最大池化层maxpool1[3D,2,2]
第三卷积层:Conv3[3D,128,3,1,0,relu]
第四卷积层:Conv4[3D,128,3,1,0,relu]
第五卷积层:Conv5[3D,256,3,1,0,relu]
第六卷积层:Conv6[3D,256,3,1,0,relu]
第七卷积层:Conv7[3D,512,3,1,0,relu]
第八卷积层:Conv8[3D,512,3,1,0,relu]
特征融合层的超参数设置如下:
第一全连接层:dense1[1024,relu]
第二全连接层:dense2[2048,relu]
第三全连接层:dense3[512,relu];
网络的模型的前馈过程如图2所示,彩色图像块和TDF数据块分别经过二维卷积子神经网络和三维卷积子神经网络提取特征,接着将提取的特征送入特征融合层得到融合的特征向量,即为描述子。
虽然在kinect摄像头位姿估计中上述超参数设置效果比较好,但是这组超参数不一定适合所有任务。因此在具体使用中,网络模型的所有卷积层通道数均可以根据具体任务调节。优化选择为,二维卷积子神经网络和三维卷积子神经网络的最后一个卷积层的通道数应相同,融合层的第一全连接层的隐藏层节点个数等于二维子卷积子神经网络的最后一个卷积层通道数的2倍,第二全连接层的隐藏层节点个数等于第一全连接层隐藏层节点个数的2倍。
2)使用随机梯度下降方法训练卷积神经网络,具体如下:
(1)构建训练样本:从3DMatch[10]的项目网站上下载RGBD数据集sun3d-
brown-cs-brown-cs3,其中包含RGBD图像为3650帧。接着使用3DMatch[10]提供的工具将RGBD数据集sun3d-brown-cs-brown-cs3转化为训练样本集,此集合大小为20000。其中,每一个训练样本包括两组数据和一个标签,每组数据由一个彩色图像块和一个TDF数据块组成,他们存在对应或者不对应的关系;如果两组数据都存在对应关系则标签为1,否则为0。
(2)系统训练:如图3所示,将一个训练样本中的两个彩色图像块分别输入到两个结构相同且共享参数的二维卷积子神经网络中并得到两个特征向量,分别记为fc1,fc2;将另外两个TDF数据块输入到两个结构相同且共享参数的三维卷积子神经网络中得到特征向量ft1和ft2;然后将fc1,ft1输入到特征融合层获取融合特征向量y1,将fc2,ft2输入到特征融合层获取融合特征向量y2;直到对所有训练样本提取融合特征
Figure BDA0001561672950000091
Figure BDA0001561672950000092
其中i∈[0,20000],N表示训练样本的个数;
(3)构造目标函数,用于训练整个卷积神经网络模型:
在此我们设计了两个目标函数,在实际应用中可以根据不同RGBD图像序列或者不同应用场景选择不同的目标函数,一般离线任务选择目标函数1,在线任务建议选择目标函数2。优先推荐目标函数1。下面详细介绍:
目标函数1:
Figure BDA0001561672950000093
Figure BDA0001561672950000094
其中,
Figure BDA0001561672950000095
表示二分类全连接神经网络的输出,它的输入是
Figure BDA0001561672950000096
具体结构如下:
dense[1024,relu]
dense[2,relu];
N=20000是训练样本的个数,
Figure BDA0001561672950000097
Figure BDA0001561672950000098
归一化的结果,
Figure BDA0001561672950000099
表示
Figure BDA00015616729500000910
的第li个分量,li∈{0,1}是第i个样本的标签,λ是正则化参数,一般取值为0.0001,
Figure BDA00015616729500000911
是二维卷积子神经网络和三维子卷积神经网络的网络参数;
当L11,ε1∈R时训练终止,系统完成训练;
目标函数2:
Figure BDA0001561672950000101
其中,Di表示特征向量
Figure BDA0001561672950000102
之间的欧氏距离;
Figure BDA0001561672950000103
li的含义同目标函数L1;当L2<ε2,ε2∈R时训练终止。
在实际训练整个神经网络模型的时候我们使用MXNET[18]框架,其中学习率设为0.0005,冲量因子设为0.9。训练样本个数约为20000个,在迭代训练的时候使用小批量技术,批量大小为64,ε1和ε2的大小均为0.004
3)使用训练完成的卷积神经网络构造描述子,具体计算过程如下:
(1)计算特征点的三维坐标,具体为:给定一帧彩色图像和对应的深度图像,在彩色图像上随机选择500个特征点,在深度图中找到这些特征点的对应点,然后根据这些对应点在深度图中的深度值计算他们对应的三维坐标,计算公式如下:
Figure BDA0001561672950000104
Figure BDA0001561672950000105
Figure BDA0001561672950000106
其中,
Figure BDA0001561672950000107
表示第k∈[0,500]个特征点在深度图中的像素坐标,dk表示
Figure BDA0001561672950000108
对应的深度值,(xk,yk,zk)表示
Figure BDA0001561672950000109
对应的三维坐标,cx,cy分别表示相机光心的坐标,fx,fy分别表示相机x和y方向的焦距;
(2)使用3DMatch[10]提供的工具,根据每个特征点的三维坐标计算其对应的彩色图像块和TDF数据块;500个特征点就有500组彩色图像块和TDF数据块。
(3)根据彩色图像块和TDF数据计算其对应的描述子,具体为:首先将500彩色图像块和500TDF数据块分别输入到训练完成的二维卷积子神经网络和三维卷积子神经网络,二维卷积子神经网络输出特征向量A,三维卷积子神经网络输出特征向量B,接下来将这两个特征向量组成新的向量{A、B}输入到特征融合层得到融合的特征向量,即为图像特征点的描述子;
4)利用描述子估计kinect摄像头位姿,具体如下:
(1)从kinect摄像头获取的第一帧RGBD图像后,使用上述方法计算特征点的描述子,但是不与其它帧匹配描述子。
(2)当获取到第二帧RGBD图像时,同样方法计算这一帧图像中特征点的描述子;
(3)根据描述子构造KD-tree求解第一帧与第二帧图像中特征点描述子的对应关系;
(4)根据特征点的对应关系构造重投影误差,使用列文伯格-马跨特法求该误差最小时的解,即为第二帧图像相对于第一帧图像的相机位姿。
(5)继续从kinect摄像头中获取第三帧RGBD图像,同样使用上述方法计算这一帧图像中特征点的描述子,使用步骤(3)计算第三帧与第二帧图像中特征点描述子的对应关系,再执行第(4)步得到第三帧图像相对于第二帧图像的相机位姿。如此循环,直到无法从kinect摄像头中获取RGBD数据或者机器人自主导航任务结束。
为了验证本专利所提出方法的有效性,使用公开的validation-set[14]数据集进行测试。该数据集中包含10000个样本,和训练集一样,每一个样本包括两组数据和一个标签,每组数据由一个彩色图像块和一个TDF数据块组成,如果两组数据都存在对应关系则标签为1,否则为0。我们称标签为1的样本为正样例,标签为0的样本为负样例。validation-set[14]数据集中正负样例比例为1:1,其中正负样例中都包含了重复纹理,光照变化和相似三维几何的情况。
如表1误差率对比表所示,我们对比了不用方法和不同输入数据情况下描述子匹配的误差率(在95%召回率的情况下),越小表示越好。其中不同行表示不同方法的测试结果,不同列表示测试时使用的不同数据,RGB+TDF表示测试时同时使用彩色图像块和TDF数据块,TDF列表示测试时仅使用了TDF数据块,RGB列表示测试时仅使用了彩色图像块。
Ours1和Ours2分别代表目标函数采用L1和L2的本专利所述方法。实验结果表明,本发明提出的彩色图像块与TDF数据块融合方式计算局部描述子方法取得了最好的匹配效果。这就证明了本发明提出的方法可以一定程度上缓解诸如重复纹理、光照变化和相似三维几何这些不利因素对描述子计算的影响。
Figure BDA0001561672950000121
表1

Claims (3)

1.一种基于RGBD数据的局部描述子学习方法,其特征在于包括以下步骤:
1)设计卷积神经网络模型;
卷积神经网络模型包含两部分:第一部分为特征提取层,第二部分为特征融合层;其中特征提取层分为两个子网络:二维卷积子神经网络和三维卷积子神经网络;特征融合层为全连接神经网络;二维卷积子神经网络和三维卷积子神经网络是平行网络;
二维卷积子神经网络由12层结构组成,从输入开始依次为第一Inception层、第二Inception层、第一最大池化层、第三Inception层、第四Inception层、第二最大池化层、第一卷积层、第三最大池化层、第二卷积层、第四最大池化层、第三卷积层、第四卷积层,则二维卷积子神经网络的结构表示如下:
第一Inception层:Inception1[ince11,ince21,ince 22,ince 31,ince 32,ince 41,ince 42,ince 51]
第二Inception层:Inception2[ince11,ince21,ince 22,ince 31,ince 32,ince 41,ince 42,ince 51]
第一最大池化层:Maxpool1[2D,k′,s′]
第三Inception层:Inception3[ince11,ince21,ince 22,ince 31,ince 32,ince 41,ince 42,ince 51]
第四Inception层:Inception4[ince11,ince21,ince 22,ince 31,ince 32,ince 41,ince 42,ince 51]
第二最大池化层:Maxpool2[2D,k′,s′]
第一卷积层:Conv1[2D,c,k,s,p,act]
第三最大池化层:Maxpool3[2D,k′,s′]
第二卷积层:Conv2[2D,c,k,s,p,act]
第四最大池化层:Maxpool4[2D,k′,s′]
第三卷积层:Conv3[2D,c,k,s,p,act]
第四卷积层Conv4[2D,c,k,s,p,act];
其中,每个Inception层结构相同,均由五条并行路径组成,五条并行路径的输出叠加作为Inception层的输出,这五条并行路径表示如下:
路径1:Conv[2D,ince11,k,s,p,act]
路径2:Conv[2D,ince21,k,s,p,act]
Conv[2D,ince22,k,s,p,act]
路径3:Conv[2D,ince31,k,s,p,act]
Conv[2D,ince32,k,s,p,act]
路径4:Conv[2D,ince41,k,s,p,act]
Conv[2D,ince42,k,s,p,act]
路径5:Maxpool[2D,k′,s′]
Conv[2D,ince51,k,s,p,act]
最大池化层即Maxpool[mdim,k′,s′],其中,mdim=2D表示二维最大池化核,mdim=3D表示三维最大池化核;k′为正整数,表示最大池化核的大小;s′为正整数,表示最大池化核移动的步长;
卷积层即Conv[cdim,c,k,s,p,act],其中,此处cdim=2D表示二维卷积核,cdim=3D表示三维卷积核;c为正整数,表示输出的通道数;k为正整数,表示卷积核的大小;s为正整数,表示卷积核移动的步长;p为正整数,表示边界的大小;act表示激活函数;
三维卷积子神经网络由9层结构组成,从输入开始依次为第一卷积层、第二卷积层、第一最大池化层、第三卷积层、第四卷积层、第五卷积层、第六卷积层、第七卷积层、第八卷积层,则三维卷积子神经网络的结构表示如下:
第一卷积层:Conv1[3D,c,k,s,p,act]
第二卷积层:Conv2[3D,c,k,s,p,act]
第一最大池化层maxpool1[3D,k′,s′]
第三卷积层:Conv3[3D,c,k,s,p,act]
第四卷积层:Conv4[3D,c,k,s,p,act]
第五卷积层:Conv5[3D,c,k,s,p,act]
第六卷积层:Conv6[3D,c,k,s,p,act]
第七卷积层:Conv7[3D,c,k,s,p,act]
第八卷积层:Conv8[3D,c,k,s,p,act]
最后将第八卷积层的输出向量化,作为三维卷积子神经网络的最终输出;
特征融合层为三层全连接网络,从输入开始依次为第一全连接层,第二全连接层,第三全连接层;全连接层记为dense[imp,act],其中imp表示隐含层节点个数,act表示激活函数,则特征融合层的网络结构表示如下:
第一全连接层:dense1[imp,act]
第二全连接层:dense2[imp,act]
第三全连接层:dense3[imp,act];
2)使用随机梯度下降方法训练卷积神经网络,具体如下:
(1)构建训练样本:每个训练样本包括两组数据和一个标签,每组数据由一个彩色图像块和一个TDF数据块组成,他们存在对应或者不对应的关系;
(2)系统训练:将一个训练样本中的两个彩色图像块分别输入到两个结构相同且共享参数的二维卷积子神经网络中并得到两个特征向量,分别记为fc1,fc2;将另外两个TDF数据块输入到两个结构相同且共享参数的三维卷积子神经网络中得到特征向量ft1和ft2;然后将fc1,ft1输入到特征融合层获取融合特征向量y1,将fc2,ft2输入到特征融合层获取融合特征向量y2;直到对所有训练样本提取融合特征
Figure FDA0003302659290000031
Figure FDA0003302659290000032
其中i∈[0,N],N表示训练样本的个数;
(3)构造目标函数,用于训练整个卷积神经网络模型:
目标函数L1如下:
Figure FDA0003302659290000033
Figure FDA0003302659290000034
其中
Figure FDA0003302659290000035
表示二分类全连接神经网络的输出,它的输入是
Figure FDA0003302659290000036
具体结构如下:dense[c,act]
dense[c,act];
Figure FDA0003302659290000037
Figure FDA0003302659290000038
归一化的结果,N是训练样本的个数,
Figure FDA0003302659290000039
表示
Figure FDA00033026592900000310
的第li个分量,li是第i个样本的标签,λ是正则化参数,
Figure FDA00033026592900000311
是二维卷积子神经网络和三维子卷积神经网络的网络参数;
当L11,ε1∈R时训练终止,系统完成训练;
3)使用训练完成的卷积神经网络构造图像特征点的描述子,具体计算过程如下:
(1)从待构造描述子图像中选取特征点,并计算这些特征点的三维坐标,其中待构造描述子图像由一帧彩色图像和一帧对应的深度图像组成,具体步骤为:在彩色图像上随机选择a个特征点,500≤a≤2000,在深度图中找到这些特征点的对应点,然后根据这些对应点在深度图中的深度值计算其对应的三维坐标,计算公式如下:
Figure FDA0003302659290000041
Figure FDA0003302659290000042
Figure FDA0003302659290000043
其中,
Figure FDA0003302659290000044
表示第k个特征点在深度图中的像素坐标,dk表示
Figure FDA0003302659290000045
对应的深度值,(xk,yk,zk)表示
Figure FDA0003302659290000046
对应的三维坐标,cx,cy分别表示相机光心的坐标,fx,fy分别表示相机x和y方向的焦距;
(2)根据每个特征点的三维坐标重构每个特征点的彩色图像块和TDF数据块;
(3)计算图像特征点的描述子,具体为:将重构的所有彩色图像块和TDF数据块分别输入到训练完成的卷积神经网络模型中的二维卷积子神经网络和三维卷积子神经网络,二维卷积子神经网络输出特征向量A,三维卷积子神经网络输出特征向量B,接下来将这两个特征向量组成新的向量{A、B}输入到特征融合层得到融合的特征向量,即为图像特征点的描述子。
2.根据权利要求1所述的一种基于RGBD数据的局部描述子学习方法,其特征在于,还可以采用目标函数L2进行系统训练,具体如下:
Figure FDA0003302659290000047
其中,Di表示特征向量
Figure FDA0003302659290000048
之间的欧氏距离;li,λ,
Figure FDA0003302659290000049
的含义同目标函数L1;
当L22,ε2∈R时训练终止,系统完成训练。
3.根据权利要求1所述的一种基于RGBD数据的局部描述子学习方法,其特征在于,可以采用3DMatch中的工具重构每个特征点的彩色图像块和TDF数据块。
CN201810083376.1A 2018-01-29 2018-01-29 一种基于rgbd数据的局部描述子学习方法 Active CN108171249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810083376.1A CN108171249B (zh) 2018-01-29 2018-01-29 一种基于rgbd数据的局部描述子学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810083376.1A CN108171249B (zh) 2018-01-29 2018-01-29 一种基于rgbd数据的局部描述子学习方法

Publications (2)

Publication Number Publication Date
CN108171249A CN108171249A (zh) 2018-06-15
CN108171249B true CN108171249B (zh) 2022-03-08

Family

ID=62515761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810083376.1A Active CN108171249B (zh) 2018-01-29 2018-01-29 一种基于rgbd数据的局部描述子学习方法

Country Status (1)

Country Link
CN (1) CN108171249B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189282A (zh) * 2019-05-09 2019-08-30 西北工业大学 基于密集和跳跃连接深度卷积网络的多光谱和全色图像融合方法
CN110210456A (zh) * 2019-06-19 2019-09-06 贵州理工学院 一种基于3d卷积神经网络的头部姿态估计方法
CN110427954A (zh) * 2019-07-26 2019-11-08 中国科学院自动化研究所 基于肿瘤影像的多区域的影像组学特征提取方法
CN110487274B (zh) * 2019-07-30 2021-01-29 中国科学院空间应用工程与技术中心 用于弱纹理场景的slam方法、系统、导航车及存储介质
CN110910433A (zh) * 2019-10-29 2020-03-24 太原师范学院 一种基于深度学习的点云匹配方法
US12002253B2 (en) * 2021-11-29 2024-06-04 Automotive Research & Testing Center Feature point integration positioning system, feature point integration positioning method and non-transitory computer-readable memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778810A (zh) * 2016-11-23 2017-05-31 北京联合大学 基于rgb特征与深度特征的原始图像层融合方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778810A (zh) * 2016-11-23 2017-05-31 北京联合大学 基于rgb特征与深度特征的原始图像层融合方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CNNs-Based RGB-D Saliency Detection via Cross-View Transfer and Multiview Fusion;Junwei Han等;《IEEE TRANSACTIONS ON CYBERNETICS》;20171031;第1-13页 *
Large-scale Gesture Recognition with a Fusion of RGB-D Data Based on the C3D model;Yunan Li等;《2016 23rd International Conference on Pattern Recognition (ICPR)》;20161208;第25-30页 *
融合RGB特征和Depth特征的3D目标识别方法研究;杨慧;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20160615;I138-1240 *

Also Published As

Publication number Publication date
CN108171249A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108171249B (zh) 一种基于rgbd数据的局部描述子学习方法
Melekhov et al. Dgc-net: Dense geometric correspondence network
CN108416840B (zh) 一种基于单目相机的三维场景稠密重建方法
Laskar et al. Camera relocalization by computing pairwise relative poses using convolutional neural network
CN108665496B (zh) 一种基于深度学习的端到端的语义即时定位与建图方法
CN108491880B (zh) 基于神经网络的物体分类和位姿估计方法
CN111311666B (zh) 一种融合边缘特征和深度学习的单目视觉里程计方法
CN110009674B (zh) 基于无监督深度学习的单目图像景深实时计算方法
CN110197505B (zh) 基于深度网络及语义信息的遥感图像双目立体匹配方法
CN107103285B (zh) 基于卷积神经网络的人脸深度预测方法
CN111489394B (zh) 物体姿态估计模型训练方法、系统、装置及介质
CN113160375A (zh) 一种基于多任务学习算法的三维重建及相机位姿估计方法
CN110245678A (zh) 一种异构孪生区域选取网络及基于该网络的图像匹配方法
CN109389667B (zh) 一种基于深度学习的高效全局光照明绘制方法
CN112465021B (zh) 基于图像插帧法的位姿轨迹估计方法
CN113762358A (zh) 一种基于相对深度训练的半监督学习三维重建方法
CN112767467B (zh) 一种基于自监督深度学习的双图深度估计方法
CN112184731B (zh) 一种基于对抗性训练的多视图立体深度估计方法
CN113570658A (zh) 基于深度卷积网络的单目视频深度估计方法
CN114996814A (zh) 一种基于深度学习与三维重建的家具设计系统
CN111553296B (zh) 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN113313176A (zh) 一种基于动态图卷积神经网络的点云分析方法
CN114663880A (zh) 基于多层级跨模态自注意力机制的三维目标检测方法
Basak et al. Monocular depth estimation using encoder-decoder architecture and transfer learning from single RGB image
Huang et al. ES-Net: An efficient stereo matching network

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