原文:Convolutional-Recursive Deep Learning for 3D Object Classification

总体思想:

1、同时使用CNN-RNN进行图像特征的学习,对RGB-D图像进行分类

2、使用单层CNN提取图像低维特征,使用这种方法的原因在于这种低维特征能够允许物体的部分形变,从而具有一定的鲁棒性。将单层CNN的输出作为输入输入至RNN中,让RNN去学习特征间的组合关系(应该也可以理解为是RNN学习到的隐关系)

3、尝试探索新的用于机器视觉的深度学习架构,在之前的用于自然语言处理和计算机视觉中,尝试使用(1)对每种输入采取不同树结构(2)对单层RNN使用一套权重(3)严格限制树的结构为二维(4)使用反向传播训练RNN。在本文中使用固定树结构,允许n进制树。

4、使用非监督学习的方法学习滤波器权重。

5、总体结构示意图(引自原文)

左侧为RGB图像,右侧为深度图像。首先使用K个滤波器进行卷积操作,将卷积层输出结果按序输入至RNN中。这里有一点不明白,就是为什么CNN和RNN的块输入顺序不同。

Convolutional-Recursive Neural Networks

1、非监督学习CNN滤波器

实现方法,首先将RGB和深度图像的patch分别进行提取放入到两个集合内,而后分别进行归一化和白化。对这些预处理过的patch使用k-means进行聚类,下图为进行聚类后得到的结果(引自原文)

2、单层CNN

使用单层CNN结构是为了使提取的特征具有平移不变性。使用了what is the best multi-stage architecture for object recognition的结构,并且加入了矫正和LCN(局部对比度归一化,用于在一个feature map中实现对比特征)。

使用K个filter,大小为dp,进行卷积操作,然后再使用size为dl,stride为s进行平均池化。最终得到一个K×r×r的3D矩阵为输出。

3、Fixed-Tree Recursive Neural Networks

本文中使用的结构是一个固定的树结构,叶节点为K维向量(来自于CNN池化后的结果),为了方便理解,画了两个示意图(字略丑,凑合看)第一个就是经池化后从CNN输出的结果,第二张是k为128,block大小为3×3的拼接。

整个部分的目的就是为了提取图像的隐特征,并且最终输出的结果是一个k维的向量。每一步的操作都类似于金子塔,其计算方式如下,W为权重,维度为K×b^2K

在实现过程中,第一个matrix P1的数量应该为(r/b)^2个,其中r为经过CNN处理后的输入图像的大小,b表示block的大小。从X到P1的合并就使用上述公式,对将P1合并为P2同样也使用相同的方法,直至最后只剩下一个P矩阵。使用后向传播,最小交叉熵进行训练。下图为合并过程示意图,摘自原文。

4、Multiple Random RNNs

对于3D矩阵的输入,可以使用N个RNN,每个RNN都输出K维向量,然后将这N个输出进行连接,作为softmax分类器的输入。实验表明即使RNN使用random weight,仍能够获得较高质量的特征向量。

CNN-RNN结合的3D物体识别分类相关推荐

  1. 基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 基于结构光测量技术和3D物体识别技术开发的机器 ...

  2. 3D物体识别的如果检验

    3D物体识别的如果验证 这次目的在于解释怎样做3D物体识别通过验证模型如果在聚类里面.在描写叙述器匹配后,这次我们将执行某个相关组算法在PCL里面为了聚类点对点相关性的集合,决定如果物体在场景里面的实 ...

  3. 《AR与VR开发实战》——2.7 3D物体识别

    本节书摘来自华章出版社<AR与VR开发实战>一书中的第2章,第2.7节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.7 3D ...

  4. 3D物体识别的假设检验

    3D物体识别的假设验证 这次目的在于解释如何做3D物体识别通过验证模型假设在聚类里面.在描述器匹配后,这次我们将运行某个相关组算法在PCL里面为了聚类点对点相关性的集合,决定假设物体在场景里面的实例. ...

  5. 以相关组为基础的3D物体识别

    这次我们要解释如何以pcl_recognition模块来进行3D物体识别.特别地,它解释了怎么使用相关组算法为了聚类那些从3D描述器算法里面把当前的场景与模型进行匹配的相关点对点的匹配.(长难句).对 ...

  6. [Vuforia]二.3D物体识别

    之前说过10之后的版本没有3dScan了,所以还是9.8的版本或者之前更早的版本. 3d物体扫描需要先下载扫描的APK进行扫面. 首先要在手机上装一个扫描程序,扫描现实中的三维物体,然后上传高通官网, ...

  7. ARFoundation系列讲解 - 57 3D物体识别一

    一.介绍 目前在ARFoundation中,3D物体识别只支持A9处理器或更高版本的iOS设备,系统版本要求iOS 12或更高版本,Android不支持此功能 .使用3D物体识别跟踪功能需要预先采集3 ...

  8. 3D点云初探:基于全卷积神经网络实现3D物体识别

    基于全卷积神经网络实现3D物体识别 一.从2D图像识别到3D物体识别 二.ModelNet10:3D CAD数据集 1.存储格式 2.读取方法 3.点云可视化 可视化工具 plt可视化 4.数据集定义 ...

  9. UnityAR Vuforia(高通)3D物体识别(ObjectTarget)

    UnityAR Vuforia(高通)3D物体识别(ObjectTarget) 引擎版本须知 Unity2020.3.5f1c1 Vuforia Engine 9.8 插件导入及更新 3D物体数据扫描 ...

最新文章

  1. ssm 异常捕获 统一处理_SSM 统一异常处理
  2. 面向用户计算机,一款面向普通用户的防火墙软件,让你了解计算机到底产生了哪些网络流量?...
  3. 中国无人驾驶货运完成横穿全美壮举!智加重卡,历经昼夜端到端运送生鲜
  4. Eclipse中最常用的热键
  5. tensorflow环境下的识别食物_在TensorFlow+Keras环境下使用RoI池化一步步实现注意力机制...
  6. 签名程序集密钥文件路径
  7. 嵌入式开发有年龄限制吗_报名深圳成考有年龄限制吗?
  8. 2018-2019-2 《网络对抗技术》Kali安装 Week1 20165212
  9. RobotStudio传送带设计
  10. 三级联动(ajax)
  11. spring session 考虑问题解答
  12. linux创建添加用户脚本,Linux 脚本之用户创建
  13. UWP应用解除网络限制
  14. 小srf的游戏(单调队列+dp)
  15. python中if not是什么意思_python中if not x: 和 if x is not None: 和 if not x is None的使用和区别...
  16. 在flask中同步调用celery.task函数报错分析
  17. render_template()
  18. oracle插入报错-Caused by: java.sql.SQLException: 无效的列类型: 16
  19. Fama-French 三因子模型介绍、修改与框架搭建
  20. sun.misc.Cleaner实现堆外内存回收

热门文章

  1. spring boot创建多模块聚合工程
  2. 作用域,上下文,闭包
  3. Codeforces Round #535 (Div. 3) [codeforces div3 难度测评]
  4. 笔记--待解决,整理
  5. iOS开发 -------- AFNetworking使用中遇到的小问题
  6. Swift - 添加、修改、删除通讯录联系人
  7. php实现设计模式之 适配器模式
  8. MANIFEST.MF文件的格式
  9. ASP.NET Forums 2.0 本地化修改(四)
  10. 8953n的user获取权限以及remount