APP下载

基于卷积神经网络的三维CAD模型分类

2020-05-21丁博伊明

哈尔滨理工大学学报 2020年1期
关键词:Apriori算法卷积神经网络

丁博 伊明

摘 要:由于三维CAD模型内在的复杂性,实现模型的自动分类是一个难题。所以提出了一种基于卷积神经网络(Convolutional Neural Network, CNN)的三维CAD模型自动分类方法,首先采用球体将三维CAD模型完全包住,获取模型沿固定视角的二维投影视图集;然后采用Apriori甄选出其中的典型视图,将典型视图作为卷积神经网的输入;在AlexNet模型的基础上进行参数调整,并将其作为三维CAD模型分类器;最后选取正向传播和反向传播相结合的方式对卷积神经网络进行训练,以提高其泛化性能。实验表明,该方法能够提高模型分类的准确性和效率。

关键词:三维CAD模型;卷积神经网络;二维视图;Apriori算法

DOI:10.15938/j.jhust.2020.01.010

中图分类号: TP393-4

文献标志码: A

文章编号: 1007-2683(2020)01-0066-07

Abstract:Due to the intrinsic complexity of 3D CAD models, the automatic model classification methods are scarceIn this paper, an automatic 3D CAD model classification approach based on Convolutional Neural Network(CNN) is proposedAt first, in order to obtain 2D views along the fixed angle, we adopt the sphere to wrap the 3D CAD model entirely, then the typical views are selected from the 2D views based on Apriori, and then preprocessed as input vectors for category recognitionParameter adjustment based on AlexNet model, a novel CNN classifier for 3D CAD models is constructedFinally, forward propagation and back propagation are selected to train the convolutional neural network to improve its generalization performanceExperiments show that this method can improve the accuracy and efficiency of model classification-Keywords:3D CAD models; CNN; 2D views; Apriori

0 引 言

如今三维CAD模型已经广泛的应用于我国制造加工技术和数字化建模技术。三维CAD模型的应用促进了新产品设计开发效率的提升,经研究调查表明,在新产品的研发设计里,约80%的产品直接利用已有模型或者对已有模型进行微小改动,只有约20%的产品完全使用新模型[1]。所以有效地重用已有的三维CAD模型,是缩短新产品的研发周期、节约开发成本、提高新产品质量的关键[2-3]。对于三维CAD模型检索而言,模型分类可以有效地组织和管理三维CAD模型,同时三维CAD模型分类是提高模型检索效率与建立模型数据库索引的重要手段,因此三维CAD模型分类的研究是至关重要的[4]。

传统的三维CAD分类方法是通过人工进行分类,分类过程耗时耗力,并且人工长时间工作会伴有错误的发生,所以需要开发一种更加智能与具有自动分类功能的三维CAD模型分类器[5]。近些年,机器学习技术取得了突飞猛进的发展,机器学习中的卷积神经网络在语音识别和图像处理方面有着独特的优越性。如Krizhevsky等人提出基于深度学习理论的深度卷积神经网络的图像分类算法,在大型图像识别比赛中利用经典的AlexNet模型取得了胜利,成功的将误识率降低到17%,成为图像分类的里程碑算法[6]。一些学者自然而然地想到将深度学习应用在三维CAD模型的分类与检索上,如Francisco等人提出一种基于点云分类的LonchaNet深度神经网络模型。得到了很高的识别率[7]。迄今为止,基于二维深度学习的方法取得了最好的效果,但它对三维的扩展仍有许多问题。例如,在ModelNet挑战中获得最佳性能的方法主要基于二维视图。这些二维视图通常是将三维数据转化为卷积神经网络更容易识别的特征,例如冯元力,夏梦等提出一种通过球面深度全景视图识别三维模型的方法,首先将三维CAD模型进行球面深度投影得出全景视图;其次将全景视图从多个角度展开成为多幅二维视图,最后利用卷积神经网络实现对三维模型的分类识别[8]。以上研究表明,可以利用卷积神经网络实现对三维CAD模型的分类。

本文提出一种基于卷积神经网络的三维CAD模型分类新方法,该方法主要分为两个部分,第1部分是从三维CAD模型中提取二维典型视图,首先对三维CAD模型沿指定视角进行投影,利用Apriori算法从得到的二维视图集中挖掘出具有代表性的视图作为CAD模型的典型视图。第2部分采用AlexNet实现对三维CAD模型的分类,主要通过控制卷积核和移动步长对AlexNet模型结构进行参数设置,使AlexNet模型能够利用更多的输入特征,从而提高三维CAD模型分类的准确率。

1 基于Apriori的典型视图提取方法

近年来,从三维CAD模型中提取特征已经成为一个研究热点,这些研究都致力于通过描述符来表达三维CAD模型特征[9]。常用的三维CAD模型描述符可以分为如下四种:基于拓扑的描述符、基于几何结构分析的描述符、基于统计的描述符和基于投影降维的描述符[10-13]。基于拓扑的描述符利用三维模型的表面、边、定点的联系及拓扑结构进行相似性度量。基于几何结构分析的描述符主要通过模型具体形状,位置来描述三维模型的特性。基于统计的描述符利用直方图和任意三维多边形模型的形状描述的计算方法进行三维CAD模型的相似性评价。基于投影降维的描述符是将三维CAD模型在特定的位置投影,得到一组二维视图,利用二维视图提取三维CAD模型相应的特征表示。这类方法更加符合人的视觉感知特性,即三维CAD模型的分类比较就转换成二维视图的分类比较,因此得到了广泛的应用[14-15]。Chen等[16]提出一种光场描述符(Light Field Descriptor, LFD)的算法。此算法首先利用正十二面体包围模型,在正12面體中取得10个非对称顶点;然后在10个顶点中的每个顶点设置10个不同的光场;最后对得到的100幅视图进行Zernike特征提取和傅里叶变换特征提取。然而该算法存在大量冗余,虽然可以充分地表达三维CAD模型,但是不利于计算机的计算。针对大量的冗余视图,一些学者采用如下方法加以改进,Cyr等[17]提出一种通过比较代表性视图中形状结构的方法。通过多个视角渲染得到足够多的视图,将其中一组有明显差异的视图作为最终视图。Baoguang Shi等[18]在预处理阶段利用圆柱体包围三维CAD模型,像素值即是圆柱体的点和模型主轴的连线投射到三角面片的数量;此时将圆柱体侧面展开得到三维模型的二维视图;最后利用深度学习进行模型分类的任务。Huang Su等[19]在对三维模型渲染时使用虚拟摄像机的技术,首先从12个方向拍摄得到12幅不同的视图;然后利用卷积神经网络对三维CAD模型的视图特征进行提取;在三维CAD模型的分类精度上达到了较高的水平。LFD还存在另一个问题,该算法只是笼统的对所有二维视图进行同等对待,却忽略了不同视图的特征对三维CAD模型的重要性并不相同。如图1所示,电缆附件的主视图相对于左视图来说含有更多的代表信息,所以在三维CAD模型分类过程中针对不同的二维视图给予不同的重视程度是十分必要的。Shi Min等人提出一种基于二维投影视图最优权重对的方法,此方法是通过使用拉格朗日乘数子和支持向量机为视图配置权重,用来区分不同视图对于三维模型重要性的不同[20]。

针对以上问题,本文提出一种基于Apriori的典型视图提取方法,该方法在投影提取出来的二维视图中筛选出更具代表性的视图,越具有代表性的视图就会含有更多的三维CAD模型的特征,即将三维CAD模型的分类转换为具有代表性的二维视图之间的分类。该方法首先采用球体将三维CAD模型完全包住,按照每隔30°进行投影,得到一系列的二维视图;然后利用Apriori算法从中筛选出12幅具有代表性的视图;最后将筛选出的视图作为卷积神经网络的输入。

1-1 二维视图的获取

在二维视图获取的方法上,本文首先采用球体将三维CAD模型完全包住,通过在球体上建立三维坐标,沿x,y,z轴每隔30°建立一个投影视点并进行投影,得到三维CAD模型的62个二维视图I={i1,i2,…,i62}。

如图2所示,该方法既能获得数量足够的投影视图作为候选样本,又不会造成视图数量冗余,避免计算量过大的缺陷。

2 卷积神经网络

卷积神经网络作为一种由人工神经网络和深度神经网络相结合生成的新型神经网络,它的优点就是能够对图像像素进行直接卷积实现特征选择与提取,这是一种与人脑处理系统近似的处理模式。也就是说直接以原始数据作为输入数据,在大量的训练中自动学习。另外,卷积神经网络引入了局部连接,权值共享和下采样等方法,大大降低了需要训练的参数量,降低了网络的复杂度,提高了训练效率。卷积神经网络在语音识别分类与图像处理上取得了显著的成果,Alex等人提出的AlexNet模型就是当年ImageNet平台上的经典之作[3]。但目前卷积神经网络在三维CAD造型分类上的应用还很有限,本文在AlexNet模型的基础上微调现有模型的参数,并使用该模型对三维CAD模型进行分类,本次模型的改进只限用于AlexNet模型。

2-1 卷积神经网络改进思想

简单地说,卷积神经网络的主要工作原理是将输入的图像特征通过与卷积核卷积、池化等方法逐层提取出来,并在输出终端进行分类。影响分类效果的因素主要是模型的层数和特征参数选择。

本文所使用的卷积神经网络是在AlexNet模型的基础上加以改进,构建的8层网络结构。传统的AlexNet模型由于训练集数量过大,分类过多,在第一层卷积时卷积核的大小设置为11×11×3,移动步长为4。这种方法虽然减少了训练的时间,但是造成了数据特征的遗漏,降低了训练的准确率。本文进行三维CAD模型分类,训练数据和测试数据的大小适中。因此本文在卷积层适当的减少卷积核大小和滑动步长,以增加训练的准确率,获得更好的分类结果。

三维CAD模型分类系统如图5所示。首先利用投影和Apriori算法从三维CAD模型中提取二维视图。然后在训练阶段,利用生成的二维视图对改进的AlexNet模型進行有监督训练。最后在测试阶段,将测试集中的二维视图作为训练完成的AlexNet模型的输入,其输出就是改进后的模型分类标签。

2-2 卷积神经网络结构设计

本文所采用的AlexNet模型是一个8层网络结构的深层卷积神经网络模型,其中包括5层卷积层、3层pooling层和3层全连接层,基础的AlexNet模型在第一层卷积层中利用96个大小为11×11的卷积核对输入图像数据进行卷积,移动步长为4。本文对AlexNet模型进行微调,将所有的卷积层中卷积核均变为3×3大小,移动步长为1,padding为1,这一改进能够利用更多的输入特征,并保证在卷积层中输入图像大小不发生改变。由图6可知改进后的模型第一层卷积层中卷积核个数为96,卷积核大小为3×3,移动步长为1,之后对该卷积层进行线性偏移函数的转置和池化操作,能够去掉大量不重要的参数,来提高模型的鲁棒性,以达到更好的学习效果。

激活函数选取非线性非饱和的Relu函数,这种非饱和的函数比饱和函数训练速度更快,Relu函数不但保留了非线性的表达能力,而且在正直部分,又具有线性的性质,不会引起非线性导致梯度弥散的现象。更有利于训练更深层的网络。池化的操作选择最大池化,即在卷积层每一组2×2的邻域点内取最大值,滑动步长为1,最后在利用局部响应归一化的方法来提高网络的泛化能力得到第一层的特征向量。

第二层卷积层与第一层操作相同;第三层与第四层卷积层只有卷积核最大池化的步骤且参数与前两层均一致;第五层经过卷积、最大池化和线性偏移函数转置后得到256个29×29的特征向量;第六层是全连接层,将第五层卷积层得到的特征向量拉伸得到4096维的向量;第七层与第六层操作相同;第八层是通过softmax输出分类,本文中输出为7,即7分类。对于分类类别判断,即

2-3 卷积神经网络的训练

本文采用二维典型视图训练卷积神经网络,在训练前,模型所有的权值都要通过高斯分布进行初始化。卷积神经网络的训练分为正向传播和反向传播两个过程。

1)正向传播阶段,本文中样本均为RGB彩图,所以输入x就是对应RGB的3个矩阵,此时上一层的输出就是下一层的输入,从隐藏层前向传播到卷积层的过程可以表示为其中:l代表层数;al代表第l层的张量;*代表卷积;W代表卷积核;b代表偏置;σ为激活函数,在卷积层为Relu函数,在全连接层为sigmoid函数,最后应得到一个7维的向量y,表示输入x被分为指定类型的概率。

2)反向传播阶段,通过比较上一阶段得到的输出与本次实验收集的数据集类型标签向量的误差δl,使用误差代价函数调整权值参数,每一层的误差都可以根据式(5)从反向逐层推导得到。

δl-1=δl*Wlf′(netl-1)(5)

式中:Wl是由卷积核的权重组成的数组;符号表示矩阵中每个元素对应相乘;f′(netl-1)是加权输入的激活函数的导数。

通过正向传播和反向传播的训练,得到该模型的权重参数,在利用梯度下降的方法即可得到卷积神经网络的模型,本文经过多轮测试,学习率为0-001时,优化效率较高。训练迭代次数为1400次,训练达到1200次左右时,代价函数基本收敛,训练集上的训练误差曲线如图7所示。

3 系统实现

目前,三维CAD模型研究领域还不存在一种普遍认同的模型标准,因此本文从全球最大的3D零件库tranceparsonline中组建自己的数据库。分别收集了紧固件、撑头、螺栓等7类模型,每类500种数据样本,随机选取400种作为训练集,剩余100种作为测试集,共700种进行分类。部分三维CAD模型如图8所示。

表2给出新AlexNet+LFD、AlexNet+投影+Apriori算法、新AlexNet+投影+Apriori算法在测试集上的分类准确率。从表2中可知传统的AlexNet模型与筛选二维典型视图的方法结合对三维CAD模型的识别准确率达到84-3%,而采用微调后的AlexNet模型与筛选二维典型视图的方法结合对三维模型的识别准确率高达90-9%,实验验证了微调后的AlexNet模型在分类的效果上有了较大的改善;又通过LFD和生成二维典型视图的方法比较可知,可知筛选二维典型视图的方法在三维CAD模型分类中效果更优。

为了更加直观地看到比较结果,我们绘制出分类准确率折线图。如图9所示,明显看出LFD分辨模型的效果最差,这是由于LFD对于所有的特征信息做同等对待,不能精准的描述三维CAD模型的特征。本文在做投影操作的基础上,采用Apriori算法筛选出12幅典型视图,较全面的描述三维CAD模型的信息,由实验结果上可知此方法对三维CAD模型分类的准确率有了较大的提高。

4 结 论

本文提出一种基于卷积神经网络的三维CAD模型分类方法,首先将三维CAD模型轉变为方便进行训练的二维视图,然后利用Apriori算法筛选出具有更多特征的二维典型视图,较好地弥补了传统视图提取方法中造成数据冗余和忽略不同数据特征对三维CAD模型影响不同等缺点。在原有AlexNet模型的基础上本文通过适当地缩小卷积核大小和减少滑动步长使修改后的模型能够利用更多的输入特征,并最终达到了90-9%的分类准确率。

参 考 文 献:

[1] 皇甫中民, 张树生. 基于图索引过滤机制的三维CAD模型局部检索[J]. 计算机集成制造系统, 2015, 21(7):1679.HUANGFU Zhongmin, ZHANG Shusheng. Partial Retrieval Method of 3D CAD Models Based on Graph Indexing and Filtering Mechanism[J]. Computer Integrated Manufacturing System, 2015, 21(7):1679.

[2] ZENG Hui, LIU Yanrong, LI Siqi, et al. Convolutional Neural Network Based Multi-feature Fusion for Non-rigid 3D Model Retrieval[J]. Information Processing Systems, 2018, 14(1): 176.

[3] 李海生, 孙莉, 武玉娟, 等. 非刚性三维模型检索特征提取技术研究[J]. 软件学报, 2018, 29(2): 483.LI Haisheng, SUN Li, WU Yujuan, et al. Survey on Feature Extraction Techniques for Non-Rigid 3D Shape Retrieval[J]. Journal of Software, 2018, 29(2): 483.

[4] 秦飞魏. 基于语义的异构三维CAD模型检索[D]. 浙江大学, 2014.QIN Feiwei. Semantic Based Retrieval for Heterogeneous 3D CAD Models[D]. Zhe Jiang University, 2014.

[5] SHARMA, R., J.X. GAO. A Knowledge-based Manufacturing and Cost Evaluation System for Product Design/re-design[J]. International Journal of Advanced Manufacturing Technology, 2007, 33(9/10): 856.

[6] KRIZHEVSHY A, SUTSKEVER I, HINTON G E. Image Net Classification with Deep Convolutional Neural Networks[J]. Advances in Neural Information Processing Systems, 2012:1097.

[7] FRANCISCO G-D, ALBERTO G-G, JOSE G-R, et al. A Sliced-based CNN Architecture for Real-time 3D Object Recognitlion[C]// International Joint Conference on Neural Networks. IEEE, 2017:412.

[8] 冯元力, 夏梦, 季鹏磊. 球面深度全景图表示下的三维形状识别[J]. 计算机辅助设计与图形学学报, 2017, 29(9):1689.

FENG Yuanli, XIA Meng, JI Penglei, et al. Deep Spherical Panoramic Representation for 3D Shape Recognition[J]. Journal of Computer-Aided Design & Computer Graphics, 2017, 29(9):1689.

[9] BIASOTTI S,GIORGI D,SPAGNUOLO M,et al. Size Functions for Comparing 3D Models[J]. Pattern Recognition, 2008, 41(9): 2855.

[10]郑伯川, 彭维, 张引, 等. 3D模型检索技术综述[J]. 计算机辅助设计与图形学学报, 2004, 16(7):1297.ZHENG Bochuan, PENG Wei, ZHANG Yin. A Survey on 3D Model Retrieval Techniques[J]. JOURNAL OF COMPUTER-AIDED DESIGN &COMPUTER GRAPHICS, 2004, 16(7):1297.

[11]杨育彬, 林珲, 朱庆. 基于内容的三维模型检索综述[J]. 计算机学报, 2009, 32(6):1069.YANG Yubin, LIN Hui, ZHU Qing. Content-Based 3D Model Retrieval: A Survey[J]. CHINESE JOURNAL OF COMPUTERS, 2004, 27(10):1297.

[12]潘翔, 張三元, 叶修梓. 三维模型语义检索研究进展[J]. 计算机学报, 2009, 32(6):1069.PAN Xiang, ZHANG Sanyuan, YE Xiuzi. A Survey of Content-Based 3D Model Retrieval with Semantic Features[J]. CHINESE JOURNAL OF COMPUTERS, 2009, 32(6):1069.

[13]石民, 张树生, 李亮, 等. 基于二维典型视图的三维CAD模型检索算法[J]. 制造业自动化, 2012, 34(9):82.SHI Min, ZHANG Shusheng, LI Liang, et al. 3D CAD Model Retrieval Using 2D Characteristic Views[J]. Manufacturing Automation, 2012, 34(9):82.

[14]MA Y X, ZHENG B, GUO Y L, et al. Boosting Multi-view Convolutional Neural Networks for 3D Object Recognition Via View Saliency[C] //Proceedings of the Chinese Conference on Image and Graphics Technologies. Heidelberg: Springer, 2017:199.

[15]PU J T, AMANI K. An Integrated 2D and 3D Shape-based Search Framework and Applications[J]. Computer Aided Design and Applications. 2007, 4(6): 817.

[16]CHEN D Y, TIAN X P, SHEN Y T. On Visual Similarity Based on 3D Model Retrieval[J]. Computer Graphics Forum, 2003, 22(3):223.

[17]CYR C M, KIMIA B B. 3D Object Recognition Using Shape Similarity-based Aspect Graph[C]// ICCV, 2001:254.

[18]SHI B, BAI B, ZHOU Z, et al. 3D Deep Panoramic Representation for 3-D Shape Recognition[J]. Signal Processing Letters. IEEE, 2015:2339.

[19]SU H, SUBHRANSU M, EVANGELOS K, et al. Multi-view Convolutional Neural Networks for 3D Shape Recognition[C]// 15th IEEE International Conference on Computer Vision, 2015:945.

[20]SHI M, ZHANG S S , LI L, et al. 3D CAD Model Retrieval Using 2D Characteristic Views[J]. Engineering & Technology, 2012:1.

(编辑:温泽宇)

猜你喜欢

Apriori算法卷积神经网络
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
基于Hadoop平台的并行DHP数据分析方法
基于Apriori算法的高校学生成绩数据关联规则挖掘分析
基于云平台MapReduce的Apriori算法研究
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
关联规则挖掘Apriori算法的一种改进
基于卷积神经网络的树叶识别的算法的研究
基于RFID的汽车零件销售策略支持模型