多视角学习的几篇文章整理

摘要:
最近在调研3D算法方面的工作,整理了几篇多视角学习的文章。因为直接用2D的卷积神经网络方法并不能很好的处理3D任务,这几篇文章主要偏向于将3D模型从多个角度变换成多张2D的图像,然后使用2D领域的方法处理3D任务。作者认为,MVCNN并没有将多视角下特征之间的关系有效地利用起来,这也会在一定程度上限制最后的特征描述子的可区分力。这些相似的视角对于3D物体形状的表示所起到的作用应该是同等的。

  最近在调研3D算法方面的工作,整理了几篇多视角学习的文章。还没调研完,先写个大概。
  因为直接用2D的卷积神经网络方法并不能很好的处理3D任务,这几篇文章主要偏向于将3D模型从多个角度变换成多张2D的图像,然后使用2D领域的方法处理3D任务。所以大家主要涉及到两个问题:1、视角选择问题(如何选择视角?选择几个视角?如果能够主动的选择显著性视角就更好了);2、视角特征信息的融合。

目录
1、(ICCV2015)MVCNN:Multi-view Convolutional Neural Networks for 3D Shape Recognition

论文地址:https://arxiv.org/abs/1505.00880
代码:https://github.com/suhangpro/mvcnn

多视角学习的几篇文章整理第1张
  该篇文章被认为是多视角学习的开山之作;

  简单的求一个3D形状的多视角图像的特征描述子的平均值,或者简单的将这些特征描述子做“连接”(这地方可以想象成将特征简单的“串联”),会导致不好的效果。所以,我们集中于融合多视角2D图像产生的特征,以便综合这些信息,形成一个简单、高效的3D形状描述子。
  因此,我们设计了Multi-view CNN(MVCNN),放在基础的2D图像CNN之中。如图所示,同一个3D形状的 每一张视角图像 各自独立地经过第一段的CNN1卷积网络,在一个叫做View-pooling层进行“聚合”。之后,再送入剩下的CNN2卷积网络。整张网络第一部分的所有分支,共享相同的 CNN1里的参数。在View-pooling层中,我们逐元素取最大值操作,另一种是求平均值操作,但在我们的实验中,这并不有效。这个View-pooling层,可以放在网络中的任何位置。经过我们的实验,这一层最好放在最后的卷积层(Conv5),以最优化的执行分类与检索的任务。

参考:https://blog.csdn.net/qq_25011449/article/details/81029812
https://blog.csdn.net/khflash/article/details/80154051

2、(CVPR2016) Volumetric and multi-view CNNs for object classification on 3D data

论文地址:https://arxiv.org/abs/1604.03265
代码:https://github.com/charlesq34/3dcnn.torch

3、(BMVC2017)DSCNN:Dominant Set Clustering and Pooling for Multi-View 3D Object Recognition

论文地址:https://arxiv.org/abs/1906.01592?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+arxiv%2FQSXk+%28ExcitingAds%21+cs+updates+on+arXiv.org%29
代码:https://github.com/fate3439/dscnn

4、(CVPR2018)GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition

论文地址:
https://openaccess.thecvf.com/content_cvpr_2018/html/Feng_GVCNN_Group-View_Convolutional_CVPR_2018_paper.html
代码:https://github.com/ace19-dev/gvcnn-tf
https://github.com/LemingGuo/gvcnn

多视角学习的几篇文章整理第2张
  这篇文章在MVCNN的基础之上,提出了group-view convolutional neural network(GVCNN)。

  MVCNN的做法就是模拟相机从若干不同的角度拍摄三维物体,得到投影的二维图像,然后分别利用ImageNet下预训练的网络提取特征,随后通过view pooling,即全局最大池化将各视角下的特征聚合起来,再接分类网络。

  作者认为,MVCNN并没有将多视角下特征之间的关系有效地利用起来,这也会在一定程度上限制最后的特征描述子的可区分力。
• 一方面,一些视角彼此相类似,然后有一些则差异较大。这些相似的视角对于3D物体形状的表示所起到的作用应该是同等的。
• 另一方面,有一部分视角则能提取到更有用的特征。

  也正是为了解决上述的问题,才提出了GVCNN。

多视角学习的几篇文章整理第3张
  图1中是整个GVCNN的网络架构。

• GVCNN采用GoogLeNet作为基础网络。
• "FCN"是GoogleNet的前5个卷积层。
• 中间的"CNN"指的是也是GoogLeNet。
• "FC"是全连接层。

  GVCNN首先从若干不同视角拍摄三维模型的二维图像,每个视角的图像都被送入了第一部分的"FCN"中提取视觉描述子。随后,第二部分的CNN网络进一步提取视觉特征,group模块再根据判别力评分将不同视角的特征子进行分组。最后将各个组的视觉特征描述子通过view pooling(全局池化)聚合到一起。再接上分类网络进行分类。

  多视角视觉特征、Grouping模块、组内视角池化、组间特征融合,这五部分详细看论文。
参考:https://blog.csdn.net/hongbin_xu/article/details/96699145

5、(CVPR2018)MHBN:Multi-view Harmonized Bilinear Network for 3D Object Recognition

论文地址:https://openaccess.thecvf.com/content_cvpr_2018/html/Yu_Multi-View_Harmonized_Bilinear_CVPR_2018_paper.html
代码:https://github.com/LiyuanLacfo/MHBNN-PyTorch

6、(TMM2018)Learning multi-view representation with LSTM for 3D shape recognition and retrieval

论文地址:
代码:https://github.com/charlesq34/3dcnn.torch

7、(CVPR2018)RotationNet: Joint Object Categorization and Pose Estimation Using Multiviews from Unsupervised Viewpoints

论文地址:https://arxiv.org/abs/1603.06208
代码:https://github.com/kanezaki/pytorch-rotationnet

8、(ICCV2019)Learning Relationships for Multi-View 3D Object Recognition

论文地址:https://openaccess.thecvf.com/content_ICCV_2019/html/Yang_Learning_Relationships_for_Multi-View_3D_Object_Recognition_ICCV_2019_paper.html
代码:无

9、(CVPR2020)View-gcn: View-based graph convolutional network for 3D shape analysis

论文地址:https://openaccess.thecvf.com/content_CVPR_2020/html/Wei_View-GCN_View-Based_Graph_Convolutional_Network_for_3D_Shape_Analysis_CVPR_2020_paper.html
代码:https://github.com/weixmath/view-GCN

  不同视角下看不同物体可能是不同的。因而,不同视图图像的联系可能隐藏了3D物体的潜在信息,这将为3D物体形状识别提供有价值的信息。因而,作者设计了GCN来自动调差视图间的关系。

  主要挑战:如何聚合多视图特征成为一个全局的3D形状描述。

  传统方法:通过最大池化来聚合多视图特征,该方法是置换不变的,但忽略了视图之间的关系。

  该方法:使用view-Graph来表示物体的3D形状,每一个视图对应图中一个节点。如图1所示。节点间的边由摄像机坐标的k近邻确定。在此基础上设计了一种图卷积神经网络view-GCN用于聚合多视图特征以学习全局形状描述子。

多视角学习的几篇文章整理第4张
多视角学习的几篇文章整理第5张

  View-GCN是一个层次化的GCN架构,在越来越粗糙的视图上有多个层次。每层设计了一个局部图卷积操作 + 一个非局部消息传递操作,通过研究相邻图和远程成对视图之间的关系来聚合多视图特征。为使图粗化,提出了一种选择性视图抽样策略,通过视图选择器对有代表性的视图进行抽样。所有学习到的不同层次的特征被组合成一个全局形状描述子。

参考:https://blog.csdn.net/qq_38904659/article/details/107341099
https://blog.csdn.net/weixin_43882112/article/details/108464941

10、(CVPR2020)End-to-End Learning Local Multi-view Descriptors for 3D Point Clouds

论文地址:https://arxiv.org/abs/2003.05855
代码:https://github.com/craigleili/3DLocalMultiViewDesc

免责声明:文章转载自《多视角学习的几篇文章整理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SV中的OOPMstsc 远程桌面相互拷贝文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Matconvet的学习笔记

首先是自己的实践总结后面是转载的别人的内容: 在配置Matconvet时首先要配置MATLAB的编译器,此时你就要查看你的MATLAB的版本支持的编译器有哪些;两个相匹配后,再把msvc120opts.bat文件拷到C:Program FilesMATLABR2014ainwin64mexopts下这样你在MATLAB命令窗口中使用mex -setup c...

SciPy模块应用

1.图像模糊         图像的高斯模糊是非常经典的图像卷积例子。本质上,图像模糊就是将(灰度)图像I 和一个高斯核进行卷积操作:,其中是标准差为σ的二维高斯核。高斯模糊通常是其他图像处理操作的一部分,比如图像插值操作、兴趣点计算以及很多其他应用。SciPy 有用来做滤波操作的scipy.ndimage.filters 模块。该模块使用快速一维分离的方...

目标检测-Faster R-CNN

【目标检测】Faster RCNN算法详解 Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks.” Advances in Neural Information Processing Systems....

动手学深度学习 | 经典卷积神经网络LeNet | 21

目录 LeNet 代码 QA LeNet 上面是LeNet的结构示意图。 模型定义 net = nn.Sequential( # 这里输出是28*28,所以要padding=2,填充为32*32 nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Sigmoid(), nn.A...

单阶多层检测器: SSD(一)

  对于物体检测任务, 第4章的Faster RCNN算法采用了两阶的检测架构, 即首先利用RPN网络进行感兴趣区域生成, 然后再对该区域进行类别的分类与位置的回归, 这种方法虽然显著提升了精度, 但也限制了检测速度。 YOLO算法利用回归的思想, 使用一阶网络直接完成了物体检测, 速度很快, 但是精度有了明显的下降。   在此背景下, SSD(Singl...

图像检索(image retrieval)- 8

PARTICULAR OBJECT RETRIEVAL WITH INTEGRAL MAX-POOLING OF CNN ACTIVATIONS ABSTRACT 最近,建立在卷积神经网络(CNN)上的图像表征已经被证明可以为图像搜索提供有效的描述符,其性能优于作为短向量表征的前CNN特征。然而,这种模型与几何感知重排序方法并不兼容,在某些特定对象检索基...