论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks

论文名称:RGB-D Object Recognition Using Deep Convolutional Neural Networks

论文地址:https://ieeexplore.ieee.org/document/8265318/

摘要

与RGB图像数据相比,目前还没有包含深度信息的大型数据集,难以从零开始训练一个有效的深度升神经网络。因此文章主要提出了一种混合的2D/3D卷积神经网络,该网络可以利用预先训练好的2D CNNs(VGGnet)进行初始化,然后在相对较小的RGB-D数据集上进行训练。文章主要贡献如下:

  1. 利用预先训练的VGGnet模型从RGB图像中提取特征,并利用这些特征训练线性SVM进行基于RGB的分类识别。
  2. 对RGB-D图像的深度信息进行了预处理,构建了一种深度与RGB信息相结合的3D立体像素表示,并以此作为输入训练了一个3D卷积神经网络。
  3. 对VGGnet进行了修改,构建了一个可以接受3D输入的VGG3D网络。
  4. 将以上三个模型进行融合,融合后的模型在Washington RGB-D数据集上超过了当时最先进的结果。

方法介绍

模型模型主要由三部分组成:

VGGnet

论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks
对预训练好的VGG16模型进行修改,用作RGB图像特征提取,去掉了VGG16最后的3个全连接层中的后2个,然后用第1个全连接层输出的特征训练了一个线性SVM进行分类(根据后文的实验可以得出使用第1个全连接层的输出作为特征进行分类时效果最好)。

3D CNN

论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks
先把RGB-D图像的RGB信息和深度信息结合起来,形成一种3D立体像素结构,作为后续模型的输入。简而言之就是在RGB图像的基础之上增加一个维度表示像素所处的深度。
论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks
然后构建了一个图中结构的3D CNN。将3D立体像素表示的输入规模重新减小为30×30×30,这样可以方便进行有效的训练。

VGG3D

论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks
将VGGnet-16的第一层替换为3D卷积层,将上一节中构建的3D体素结构数据作为输入进行训练。输入数据的维度为N×N×D×3,3D卷积核的大小为3 × 3 × D,通过沿着深度d的方向复制VGGnet第一层的卷积层的参数来进行权重初始化。这样就可以保证第一个卷积层能够产生与原始VGGnet在输入相应的RGB输入图像时相同的结果。

在第一层之后,网络结构和原始VGGnet相同(根据图示来看还去掉了VGGnet最后的全连接层)。

模型融合

最后,将三个模型的输出的特征拼接起来,作为输入提供给线性SVM,获得最终的分类结果。融合中加入VGG3D有望弥补3D CNN由于训练困难而无法建模的部分3D信息。

实验结果

作者在Washington dataset上进行了实验,使用VGGnet模型识别RGB图像以及使用融合后的模型识别RGB-D模型均获得了当时最好的结果。3D CNN由于是从零开始训练,且数据集较小,对输入数据进行了缩放等原因,丢失了部分信息,所以效果不佳。
论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks
论文笔记:RGB-D Object Recognition Using Deep Convolutional Neural Networks