论文笔记:GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition
GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition
1、四个问题
- 要解决什么问题?
- 3D shape recognition。
- 用了什么方法解决?
- 采用多视图(multi-view)的方法。
- 在MVCNN的基础之上,提出了group-view convolutional neural network(GVCNN)。
- 主要创新之处是将不同视角下CNN提取得到的视觉描述子进行分组,将相类似的划分为一组。因为类似视角下提取到的特征也是相似的。
- 效果如何?
- 效果是SOTA的。MVCNN在modelnet40上的准确率是91%,这篇文章的GVCNN的准确率达到了93%。
- 还存在什么问题?
- 由于需要将3维模型投影到多视角下,分别用CNN提取特征,计算量比较大,所提取的特征冗余性也很强。
2、论文概述
2.1、简介
- 3D shape recognition中,虽然有基于体素的方法,还有PointNet类直接处理点云,但是目前准确率最高的还是基于多视图的方法,比如MVCNN。
- MVCNN的做法就是模拟相机从若干不同的角度拍摄三维物体,得到投影的二维图像,然后分别利用ImageNet下预训练的网络提取特征,随后通过view pooling,即全局最大池化将各视角下的特征聚合起来,再接分类网络。
- 虽然存在大量的计算冗余,但是MVCNN的做法更近似于对各个视角的图片做ensemble,在准确率上理所当然会有更好的效果。而且对于旋转也能有不错的鲁棒性。
- 但是作者认为,MVCNN并没有将多视角下特征之间的关系有效地利用起来,这也会在一定程度上限制最后的特征描述子的可区分力。
- 一方面,一些视角彼此相类似,然后有一些则差异较大。这些相似的视角对于3D物体形状的表示所起到的作用应该是同等的。
- 另一方面,有一部分视角则能提取到更有用的特征。
- 也正是为了解决上述的问题,才提出了GVCNN。
2.2、方法
2.2.1、基本网络结构
- 图1中是整个GVCNN的网络架构。
- GVCNN采用GoogLeNet作为基础网络。
- "FCN"是GoogleNet的前5个卷积层。
- 中间的"CNN"指的是也是GoogLeNet。
- "FC"是全连接层。
- GVCNN首先从若干不同视角拍摄三维模型的二维图像,每个视角的图像都被送入了第一部分的"FCN"中提取视觉描述子。随后,第二部分的CNN网络进一步提取视觉特征,group模块再根据判别力评分将不同视角的特征子进行分组。最后将各个组的视觉特征描述子通过view pooling(全局池化)聚合到一起。再接上分类网络进行分类。
2.2.2、多视角视觉特征
- 多视角图像的获取方式有两种,如上图所示。
- 一种是取8个视角,相邻两个视角之间间隔45度。
- 另一种是取12个视角,相邻两个视角之间间隔30度。
- 相比于深层CNN,浅层网络保留有更多的位置信息。在对不同视角特征进行分组时,需要用到这些信息。所以利用浅层网络提取的特征进行grouping。
- 而深层网络提取的特征,则具有更多的内容信息,能更好地表示视角下的特征。所以将深层网络提取的特征,先分组再做view pooling。
2.2.3、Grouping模块
- Grouping模块主要是为了挖掘不同视角之间的潜在关系,对其进行归类辅助多视角下特征的聚合。
- ξ(Ii)=sigmoid(log(abs(OIi)))\xi\left(I_{i}\right)=\operatorname{sigmoid}\left(\log \left(\operatorname{abs}\left(O_{I_{i}}\right)\right)\right)ξ(Ii)=sigmoid(log(abs(OIi)))
- 给定不同视角下的图像:S={I1,I2,⋯ ,IN}S=\left\{I_{1}, I_{2}, \cdots, I_{N}\right\}S={I1,I2,⋯,IN}。
- {OI1,OI2,⋯ ,OIN}\left\{O_{I_{1}}, O_{I_{2}}, \cdots, O_{I_{N}}\right\}{OI1,OI2,⋯,OIN}是"FCN"层的输出。
- 观察到:在输入大于5或小于-5时,sigmoid函数的输出会很接近0或1。作者额外加入了abs和log函数。
- ξ(Ii)\xi\left(I_{i}\right)ξ(Ii)是对第i个视角的判别力评分。
- 判别力评分的取值范围是(0,1)(0, 1)(0,1),将其N等分。并认为,判别力评分在同一区间范围内的视角属于同一组。
- 接将总计N个视角划分为M个组:{G1,G2,⋯ ,GM}\left\{G_{1}, G_{2}, \cdots, G_{M}\right\}{G1,G2,⋯,GM},且1≤M≤N1 \leq M \leq N1≤M≤N。
- 我们不需要人为地调整视角数N和组数M,可以让算法自行灵活地调整。
- 可能也会存在某些组,其中没有任何视角属于它,但并不影响其他组的特征提取。
- grouping模块除了可以作为分组的依据,也可以作为融合时每个组的特征所对应的权重,换句话说即attention机制。
- 组GjG_jGj的权重为:
- ξ(Gj)=Ceil(ξ(Ik)×∣Gj∣)∣Gj∣Ik∈Gj\xi\left(G_{j}\right)=\frac{\operatorname{Ceil}\left(\xi\left(I_{k}\right) \times\left|G_{j}\right|\right)}{\left|G_{j}\right|} \quad I_{k} \in G_{j}ξ(Gj)=∣Gj∣Ceil(ξ(Ik)×∣Gj∣)Ik∈Gj
2.2.4、组内视角池化(Intra-Group View Pooling)
- D(Gj)=∑i=1NλiDIi∑i=1Nλiλi={1Ii∈Gj0Ii∉Gj\begin{array}{l}{D\left(G_{j}\right)=\frac{\sum_{i=1}^{N} \lambda_{i} D_{I_{i}}}{\sum_{i=1}^{N} \lambda_{i}}} \\ {\lambda_{i}=\left\{\begin{array}{ll}{1} & {I_{i} \in G_{j}} \\ {0} & {I_{i} \notin G_{j}}\end{array}\right.}\end{array}D(Gj)=∑i=1Nλi∑i=1NλiDIiλi={10Ii∈GjIi∈/Gj
- DIiD_{I_{i}}DIi是视角IiI_iIi的视觉特征描述子,而DGjD_{G_{j}}DGj是组GjG_{j}Gj的组视觉特征描述子,计算公式如下。
2.2.5、组间特征融合
- 类似于attention机制,对不同组之间的视觉特征进行融合。
- D(S)=∑j=1Mξ(Gj)D(Gj)∑j=1Mξ(Gj)D(S)=\frac{\sum_{j=1}^{M} \xi\left(G_{j}\right) D\left(G_{j}\right)}{\sum_{j=1}^{M} \xi\left(G_{j}\right)}D(S)=∑j=1Mξ(Gj)∑j=1Mξ(Gj)D(Gj)
- D(S)D(S)D(S)是最终的3D形状描述子。
- 整个流程符合一个"view-group-shape"的结构。
2.2.5、分类和检索任务
- 分类任务:
- 给定CCC个类,在前面的GVCNN输出特征描述子之后接上分类器(全连接层)进行分类。
- 检索任务:
- 使用GVCNN提取特征后,接上一些全连接层输出特征向量。使用深度度量学习的方法训练网络,添加上欧氏距离度量的约束。
- d(X,Y)=∥x−y∥2d(X, Y)=\|x-y\|_{2}d(X,Y)=∥x−y∥2
2.3、实验
3、参考资料
- GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition
论文笔记:GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition相关推荐
- 论文阅读:Multi-view Convolutional Neural Networks for 3D Shape Recognition
Preface 今天阅读一篇ICCV2015的论文:<Multi-view Convolutional Neural Networks for 3D Shape Recognition>, ...
- 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
每天一篇论文汇总list Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning 摘要 ...
- 详译:RESIDUAL AND PLAIN CONVOLUTIONAL NEURAL NETWORKS FOR 3D BRAIN MRICLASSIFICATION
论文题目:RESIDUAL AND PLAIN CONVOLUTIONAL NEURAL NETWORKS FOR 3D BRAIN MRI CLASSIFICATION 三维脑MRI分类的残差和平 ...
- 论文笔记:Group Equivariant Convolutional Networks
Group Equivariant Convolutional Networks 1.四个问题 要解决什么问题? 对卷积神经网络进行扩展,并提出一个在特定的变换(旋转.平移等,也可表示为一个特殊的群) ...
- 论文学习笔记:CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes
CSRNet是2018年提出来的人群计数模型,其论文发表于CVPR会议. 论文链接:CSRNet Abstract 摘要 我们提出了一个拥挤场景识别网络CSRNet,它提供了一种数据驱动的深度学习方法 ...
- 吴恩达深度学习笔记——卷积神经网络(Convolutional Neural Networks)
深度学习笔记导航 前言 传送门 卷积神经网络(Convolutional Neural Networks) 卷积神经网络基础(Foundations of Convolutional Neural N ...
- 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- 笔记[M-SFANet]Encoder-Decoder Based Convolutional Neural Networks with Multi-Scale-Aware Modules...
@[TOC]( [M-SFANet] Encoder-Decoder Based Convolutional Neural Networks with Multi-Scale-Aware Module ...
- 【论文翻译】MobileNets: Efficient Convolutional Neural Networks for Mobile VisionApplications【v1, 2017.4】
文章目录 Abstract 1. Introduction 2. Prior Work 3. MobileNet Architecture 3.1. Depthwise Separable Convo ...
最新文章
- 推荐一款 Spring Boot 的 HTTP 客户端框架
- 请编程实现:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)...
- C# 内存法图像处理
- powerbi内部部署安装指导
- linux修改key文件夹,linux 中如何根据xml文件的key来修改value呢?
- 关于JSTL的简单说明
- Linux x86_64内核中断初始化
- python等比例压缩图片_Python批量按比例缩小图片脚本分享
- php商城拍卖逻辑,thinkphp商城购物车逻辑思路
- HTML5期末大作业:基于HTML+CSS+JavaScript茶文化中国水墨风格绿色茶叶销售(5页) 学生网页设计作业源码
- 面对爱情,相当真诚的星座,将心比心,单纯善良
- hau 3037 Saving Beans【Lucas定理】
- 工业智能机器人数量缺口大 核心技术要突破!
- 技术探究|Apache Pulsar 认证与鉴权实践指南
- Flink窗口+触发器 ,实现定时、定量批量写入Hbase不同的表
- 【计算机网络】一、概论
- 掌握这些图片无损压缩工具,轻松搞定图片压缩
- Filter的使用场景:敏感词过滤
- (第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
- Delaunay三角形的算法之逐点插入算法
热门文章
- 无脑博士的试管们java_计蒜客 无脑博士和他的试管们
- Effective C++ --8 定制new和delete 9杂谈讨论
- MFC对话框退出程序所调用的函数
- 安装开源在线教育平台edX的一个简单方法
- MIT自然语言处理第三讲:概率语言模型(第四、五、六部分)
- Day 15:Meteor —— 从零开始创建一个 Web 应用
- 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.4. 重点回顾)
- 《大话数据结构》第9章 排序 9.6 希尔排序(下)
- 大话设计模式(六 关于Flex的争论)
- Tensorflow入门——训练结果的保存与加载