点云描述子3DMatch介绍
从3D重建中提取训练数据
正样本提取:根据已有的3D重建模型,找到同一个点的在不同相机上的位置,然后拿两个出来,把这两个点周围的局部小块作为一对正样本对.
负样本:从重建模型里面相聚0.1m以上的点随机拿两个,把它们周围的局部小块作为一对负样本对
由于噪声和模型本身自带的错误,提取出的一对样本会有一些偏移,这种抖动作者认为它可以使学好的模型有平移不变性
利用卷积学习描述子
作者采用3D卷积网络把局部小块映射到512维数组,作为局部描述子.通过最小化正样本生成的描述子距离以及最大化负样本描述子距离更新网络权重,其中孪生(Siamese)卷积网络就是一个有两个输入(之前提取出的样本对)的卷积网络:
-
数据表示:把各种数据类型的局部小块转化成30X30X30的网格,然后每个网格的计算出一个TDF(截断距离函数)值,形成30X30X30的一个卷积网络输入.TDF值和网格中心到曲面的距离正相关,是经过截断和归一化后的值(1表示在曲面上,0表示远离曲面),TDF的一个好处是最大梯度集中在曲面附近.
-
网络结构如下所示,八个卷积层和一个池化层;
-
训练模型:孪生的两个卷积结构和权重是一样的,损失函数是一个让正样本距离最小,负样本距离最多的函数.下图展示了网络的效果.下面的小框框内是距离相近的同一种聚类.
更多详情可以看一下源网站.