Multi-view Convolutional Neural Networks for 3D Shape Recognition论文综述(15)

  1. 为什么要做这个研究(理论走向和目前缺陷) ?
    直接用体素训练的方法效果很差,还没有把网格面的三维出来投影出来训练的效果好,主要是由于体素分辨率不够。
  2. 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
    提出将网格面投影成多个视角图片,分别提取特征,然后进行特征融合,再提取特征进行分类。
  3. 发现了什么(总结结果,补充和理论的关系)?
    效果比直接在体素数据上训练强很多。
    MVCNN缺点,智能做分类检索,不能做3D目标检测,也不能做语义分割。应用相当单一。

摘要:针对识别任务,3D形状如何表示是个大问题,直接表示为体素或者网格面?或者表示为多视角的图片?本文本文通过把3D形状表示为多视角的2D图片来进行学习,解决了这个识别问题。
mvcnn先把多视角图片输入到同一个标准cnn网络中,实际只用一个视角的图片的识别结果也比3d表示学习方法(对体素,网格面,此时还没有出现对点云数据进行学习的方法)好,多个视角识别准确率更高。然后对每个视角提取的特征对应元素取最大值得到一个融合的特征,对这个融合的特征进行再次特征提取然后分类。

1 引言
计算机视觉领域有一个基础问题,就是从2D图片中推断3D结构。但是3d数据难获取啊,所以大家一般都是在2D图片上做研究。
但是如果有3D数据集的话就可以直接研究3D识别算法了。按理来说直接在3D数据上训练的算法准确度应该更高才对,然而实际还没有在一个3d模型投影出来的2d图片上训练的效果好(77%->85%),图片越多差距越大。
这种差距的重大原因就是因为分辨率的问题,2D图片可以做到分辨率非常之高,但是如果将3D数据(比如点云)转化为规整的体素数据的话,这就大量的丢失数据了,导致分辨率变得非常之低,但是也只有转化为体素数据后才能用3Dcnn进行训练,点云数据是无序的,没办法训练。
将3d模型投射为2d图片进行训练还有个好处,可以预先在其他的图片数据集如imageNet上进行预训练。

2 相关工作
形状描述符:
所谓形状描述符就是如何表示数据的信息,其实就是提取的描述形状的特征。
在计算机视觉与图形学文献中已经有大量形状描述符的语料库,大概可以分为2类,
直接从3D数据获取的形状描述符:网格面,体素,点云,隐式曲面
基于视角投射的2D描述符:图片
现有的对3D数据学习的方法多是手工设计特征提取器,泛化能力太差。

现有的融合多视角信息的方法很少。大多都是对每个视角图片提取的特征进行细致的比较,或者直接把提取的特征连接起来。我们的mvcnn是用的一种view-pooling方法进行融合,能够把多个视角的特征非常高效地融合成一个。

3 方法
有一种很蠢的融合方法,就是对每个视角的图片都进行分类,最后把分类得分取平均。
还有一种是把各个cnn提取的特征进行连接,但是谁放头里谁放后头是个问题,这个问题实际上是很难找到一个3D目标的标准视图。

3.1 输入:多视角表示
3D数据库多是表示为网格面,用Phong reflection model生成投影。
网格面在一个视角下进行渲染,像素的颜色通过网格面定点的反射率进行插值得到。3D网格面数据先要进行缩放,一遍能投影到一个固定大小的图片上。
为创建多视角的形状表示,需要建立视点(虚拟相机)来渲染每个网格。
有两种建立相机位置的方式:
1、如下图,12个虚拟相机在垂轴围一圈,对向网格中心拍摄,共得12张图片。
2、用20个相机拍摄所有的角度,每个相机拍摄四张不同的渲染图,共得80张图。
明度不同对模型分类效果没有很大影响,推测是bn(归一化)的作用。获得每个网格的所有渲染图很快,不到10毫秒,因为是在gpu上做的。

3.2 多视角表示的识别
如何定义检索任务中两个目标的差距,如下公式:
在这里插入图片描述
3.3 MVCNN,学习聚合信息
这部分废话太多,主要就是选了所有视角图片的第5个卷积层输出的特征,进行对应元素取最大值(view-pooling)来综合成一个特征图,再对这个特征图进行提取特征,最后分类。
在这里插入图片描述

注:欧氏距离与马氏距离
1、两点之间(或者两个高维向量,高维向量是点的维度推广)的欧氏距离,就是对应元素相减求平方和再开方。例三维空间两点的欧氏距离:
在这里插入图片描述
2、两点之间的马氏距离,(前提是这两个点在同一分布中,并且已经计算出来这个分布的集合的协方差矩阵),需要考虑同一个向量中不同维度的元素之间的相互作用,需要求一个样本协方差矩阵S。那么两点(点x和点u)之间的马氏距离就是:
在这里插入图片描述
,上式中如果S-1是单位矩阵,则马氏距离就变成了欧氏距离。
马氏距离针对的是向量里不同元素的量纲不一样时计算两个向量的差距(这两个向量在同一个分布中),比如用身高(cm)和体重(g)描述一个人时,一个160cm,50000g的人表示为(160,50000),另一个175cm,51000g的人表示为(175,51000),用欧氏距离计算这两个人的差距时,如果只看身高差值会觉得这两个差距不大175-160求平方为225,但是实际上这两个人身高差距是很大的,如果只看有体重计算出的数值时51000-50000求平方为10000000很大,但是实际上体重差距并不大,协方差矩阵的作用就是对这两个维度进行归一化,或者说对这两个维度的分布进行标准化,所以最后计算出的马氏距离是没有量纲的。

低秩马氏度量(Low-rank Mahalanobis metric)
mvcnn是为分类而训练的,故检索性能并不能直接优化,提升检索性能可以通过设置一个适当的目标函数来实现,但是还有一种更为简单的方法,那就是学习一个马氏度量W,这个度量可以把MVCNN提取出的特征描述符从d维投射为p维的(p=128<d=4096),在投射的p维空间计算出的同一形状的目标l2距离会很小,而不同形状的目标的距离很大。

4.实验
4.1 3D形状分类和检索
在这里插入图片描述
在这里插入图片描述
4.3基于草图的3D形状检索
在这里插入图片描述
在这里插入图片描述
5结论
提出了将三维网格面数据投影为多视角图片进行训练的方法,并且提出了高效的特征融合方法。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值