1、基于深度学习的三维模型重建检索算法研究 冯智键 周燕 曾凡智 江展锋 佛山科学技术学院计算机系 摘 要: 三维模型的分析是计算机视觉系统的重要研究内容, 为解决计算机视觉中的三维模型重建、特征提取、分类、识别和检索等难题, 本文利用深度学习的 (CNN) 卷积神经网络实现三维模型深度特征的提取和检索的框架。首先通过 LIDAR 装置获取物体的三维点云源数据信息, 利用最近点迭代算法拼接模型;然后, 提取模型集的特征图, 用于训练 CNN, 并在全链接层提取特征用于分类和识别。在仿真系统中, 该框架有良好的检索准确率, 表明了 CNN 深度特征的高效辨别能力。关键词: 三维模型检索; 深度学习;
2、 三维模型重建; 特征提取; 作者简介:冯智键 (1996 年-) , 男, 研究方向:图像处理, 三维形状检索, 三维重建;作者简介:周燕 (1977 年-) , 女, 研究方向:压缩感知, 三维形状检索, 模式识别。基金:2017 年度广东大学生科技创新培育专项资金立项项目 (项目编号pdjh2017b0531) 1. 引言随着三维技术以及互联网的飞速发展, 三维模型数据急剧增长, 三维模型数据复杂多样, 包括三维模型及三维场景。同时, 随着虚拟多媒体等新兴科技发展, 三维模型的用途更广, 经济效益更高。作为第四代多媒体信息, 三维模型的应用越来越广泛, 包括工业产品设计、虚拟现实、医学诊
3、断、影视动画、三维游戏、建筑物设计和分子生物研究等。而海量的三维模型需要准确快速的三维模型检索识别技术12。近年来, 三维数据的获取可通过深度传感器或者激光雷达获取场景的数据。其中, 深度传感器如微软的 Kinect, 谷歌的 Tango, 获取了 RGB-D 数据。而通过激光雷达扫描, 获得物体表面的离散点表示, 离散点具有点的空间坐标及反射强度, 能够得到密集的点云, 有效的重建三维模型。本文采用激光雷达的点云数据获取, 使用最近点迭代算法3, 重建出物体完整的点云模型, 作为检索的查询对象。由普林斯顿大学主持的项目 Model Net, 提供了海量的标准数据集供给实验研究, wu 等人4
4、利用三维模型的体素化模型, 通过 CDBN 网络提取三维模型的特征, 实现了对三维模型的检索, 识别。Deep Pano 算法5提取三维模型的PANOROMA 图, 利用 CNN 网络训练, 用于分类检索识别。利用深度学习较传统方法, 其能提取模型的隐含特征, 实现高效率的检索及识别。本文对物体的点云数据利用点云注册算法, 重建三维点云模型;构建了 13 层深度网络, 采用 Model Net 数据集训练网络模型, 作为用于三维模型检索的特征提取器。将重建的三维点云模型利用光束法提取特征图, 输入到 CNN 中提取特征, 用于海量三维模型的检索。2. 深度学习理论对于机器学习模型, 模型越复杂
5、, 能完成的任务也更高级, 同时, 模型的的复杂度高会导致难于训练, 并容易陷入过拟合的状态。随着深度学习的优化, 及计算能力的大幅提升和大规模数据源, 使得深度学习的模型训练更加高效, 应用更加广泛。深度学习中最为普遍的是卷积神经网络, 通过多网络层的堆叠形成功能强大的学习机器。卷积层:在一个卷积层, 上一层的特征块被一个可学习的卷积核进行卷积, 然后通过一个激活函数, 就可以得到输出特征, 这里的 Mj表示输入的特征块的集合, k 表示卷积核, f () 表示激活函数, 通常采用 sigmoid 函数, Re LU6函数。降采样层:对上一层的尺度进行缩放, 模糊特征层同时减少维度 down
6、 () , 表示降采样的采样函数。卷积核更新: (1) 这一层是降采样层的话, 公式如上其灵敏度 的计算公式如下, 其中 up () 可用 kron 乘积, 将特征块恢复成原来的大小。(2) 这层是卷积层的话, 可以简单对层 i 中的灵敏度所有的节点进行快速的计算 bias 基的偏导数。而对于卷积核的权值的偏导数可用 BP 算法来计算, 权值是共享的, 因此, 对于一个给定的权值, 需要对所有与权值共享的连接对该点求偏导, 然后对这些偏导数进行求和。其中 是 中与卷积核相乘的结果。输出卷积的特征块的 (u, v) 位置的值是由上一层 (u, v) 位置的 与卷积核相乘的结果。3. 算法设计本文
7、框架如图 1 所示, 对三维点云模型提取深度特征, 实现高效的检索。图 1 三维点云模型重建检索框架 下载原图3.1 三维点云模型重建三维激光扫描由于物理上的物体遮挡限制, 不能一次扫描完全, 需要对不同方位扫描的点云数据进行拼接。使用 LIDAR 激光雷达扫描仪器, 对物体的不同方位扫描, 得到物体的多个角度的点云的空间信息。通过选取三对同名点的方式得到较好的变换初值, 采用最近点迭代算法, 完成的物体的三维点云拼接重建。设有两组点云集合 X=x1, x2, , xm, Y=y1, y2, , ym, R 为旋转矩阵, t 为位移向量。具有刚性变换关系 yi=Rxi+t。两组点云的对应点距离
8、最小化的问题可描述成最小化均方误差:利用变换初值初始化变换参数 R0, t0, 对 X 中的每一个点通过刚性变换寻找距离 Y 中最近的点, 凑成点对。多个点对列出方程组, 求解出新的 R, t。重复此过程, 直至最小化均方方程的误差小于所设阈值, 完成配准, 得到三维点云重建模型。3.2 深度学习特征提取将三维模型映射到二维的平面上得到特征图, 将特征图利用深度学习的卷积神经网络进行训练, 提取深度特征用于三维模型的检索和识别。设三维模型的质心为原点 O 设定球坐标系, 三维点云模型上的点极坐标为 p0 ( 0, 0, d0) , p0P 若该模型为网格模型可以对网格面随机采样生成点云, 其中
9、 (, ) 表示方向, d 表示距离。对点集 P 做极坐标到特征图的映射, 其中 (u, v) 为特征图坐标, 即 p0点对应点 q0 (u0, v0, d0) , 利用上述映射关系, 得到每个坐标上的距离集为 , 按如下公式计算每个距离集的最大值作为特征视图 I。如图 2 特征图生成示例。点集 P 做极坐标到极视图的映射中的映射矩阵为 映射关系 fP (, ) R。图 2 特征图生成 下载原图提取三维模型的特征图, 将特征图进行深度学习的卷积神经网络 CNN 特征提取, 其能表达三维模型的深度细节特征。本文网络含有 5 个卷积层、2 个池化层、1个全链层, 每个卷积层后面都有一个激活层, 激
10、活函数为 Re LU 线性修正单元, 网络结构如图 3 表示。多个卷积层能组合抽象高级特征, 将原有的 32*32=1024维特征向量处理成 64 维向量, 进行 L2 归一化特征向量。在全链接层中提取到深度特征, 用于三维模型的检索, 特征比对为欧式距离。图 3 卷积神经网络结构 下载原图4. 实验仿真及结果分析实验环境:开发平台为 Matlab R2010b。测试平台为个人电脑, 其硬件配置CPU:Intel (R) I3-2120, 主频 3.30GHz, 内存 4 GB。操作系统为 64 位的Windows7 SP1。实验数据:普林斯顿大学的 Model Net 共有 127, 915
11、 个三维 CAD 模型, 共有662 个类。子集 Model Net-10 含有 4899 个模型共 10 类, 分别为“澡盆”、“床”、“椅子”、“床头柜”、“橱柜”“书桌”、“马桶”、“床”、“桌子”和“沙发”, 各类模型数量不均, 其中 3991 个模型用于训练, 908 个用于测试。图 4, 图 5 设计了仿真系统, 可见其检索结果的准确度。图 4 椅子模型检索结果 下载原图图 5 澡盆模型检索结果 下载原图5. 结论本文设计了一个三维模型检索框架, 将源数据获取利用最近点迭代算法将三维点云模型重建, 将三维点云映射成二维特征图, 通过卷积神经网络提取深度特征向量。实验表明深度特征向量
12、有良好的检索效果。该特征的对刚体模型表达能力较好, 对于非刚体的检索效率较低。下一步研究方向考虑将姿态不变性的特征投影成特征图, 以适应非刚性模型的检索。参考文献1Qi C R, Su H, Mo K, et al.Point Net:Deep Learning on Point Sets for3D Classification and SegmentationJ.2016. 2Qi C R, Yi L, Su H, et al.Point Net+:Deep Hierarchical Feature Learning on Point Sets in a Metric SpaceJ.201
13、7. 4Wu Z, Song S, Khosla A, et al.3D Shape Nets:A deep representation for volumetric shapesJ.2014:1912-1920. 5ShiB, BaiS, ZhouZ, etal.DeepPano:Deep Panoramic Representation for 3-D Shape RecognitionJ.IEEE Signal Processing Letters, 2015, 22 (12) :2339-2343. 6Nair V, Hinton G E.Rectified linear units improve restricted boltzmann machinesC/International Conference on International Conference on Machine Learning.Omnipress, 2010:807-814.