基于卷积神经网络的简单几何体三维模型自动分类识别研究

2019-06-24 08:25党应聪陈劲杰
软件工程 2019年4期
关键词:三维模型卷积神经网络

党应聪 陈劲杰

摘  要:本文针对五类简单几何体三维模型,设计了完整的卷积神经网络模型以实现自动分类识别。首先本文运用CATIA二次开发技术完成了模型的生产并收集了原始数据,其次运用图像处理的理论对原始数据进行了预处理,然后运用卷积神经网络理论完成了本文的卷积神经网络模型设计,最后进行了实验分析并验证了本文模型的可行性。

关键词:卷积神经网络;识别与分类;简单几何体;三维模型

中图分类号:TP391.41     文献标识码:A

Abstract:In this paper,a complete convolution neural network model is designed for automatic classification and recognition of five kinds of simple geometric three-dimensional models.Firstly,the CATIA secondary development technology is used to complete the production of the model and collect the original data.Secondly,the theory of image processing is used to preprocess the original data.Thirdly,the convolutional neural network model is designed by using the convolutional neural network theory.Finally,the feasibility of the model is analyzed and verified through experiments.

Keywords:convolutional neural network;classification and recognition;simple geometric;3D models

1   引言(Introduction)

卷积神经网络(Convolutional Neural Network) 是有监督的学习模型,模型中的参数可以使用带标签的数据通过优化算法进行训练,经过训练的卷积神经网络模型能够有效地学习到图像中的特征,并且完成对图像特征的提取和分类[1]。卷积神经网络具有三个巨大的优势,即分层局部视野感知,参数共享和多卷积核处理,这三大优势使得其成为研究图像识别的强大算法[2]。

本文从数据处理入手,完整地实现了卷积神经网络模型的搭建和训练,主要目的在于研究卷积神经网络对由CATIA建模软件生产的三维实体模型的自主识别,为以后机器理解更多种类的3D模型提供识别分类基础。

2   总体设计路线(Overall design route)

本文研究目是完成卷积神经网络对三维实体模型的自动分类识别,考虑到模型种类的复杂多样,本文以五类简单几何体三维模型作为研究对象,其中包括:长方体、正方体、圆柱体、圆锥和球体。

总体设计路线如图1所示,主要包括五大部分:收集原始数据,对数据进行预处理,搭建卷积神经网络模型,训练并验证模型以得到最优参数,最后用训练好的模型用于实际预测。本文关键点在于原始数据的收集处理和网络模型的搭建下文将着重研究这两点内容。

3 数据的收集与预处理(Data collection andpreprocessing)

3.1   数据集的产生

本文所用的数据是通过CATIA软件创建的三维实体模型,根据CATIA二次开发技术产生三维实体模型,对模型进行截图作为初始数据集,然后再对数据集进行预处理,以使卷积神经网络输入数据标准化,整个二次开发配置如表1所示。

Catia零件建模二次開发流程如图2所示,利用二次开发接口去获取Part零件对象,在对象上获取实体集合,然后添加并绘制草图,最后使用造型工厂完成三维建模[3]。

最终生产的初始数据集截图如图3所示,五种类别三维模型几何体的图像分别有400张,至此完成了初始数据集的收集。

3.2   数据集的标准化处理

由于卷积神经网络的训练数据量十分庞大,当前的初始数据不能满足训练数据量的要求,同时由于初始图像的像素大小参差不齐,无法直接作为卷积神经网络输入数据,因此对原始图像的预处理变得尤为重要[4]。

图像预处理过程如图4所示,对原始图像进行目标位置检测,框选出整幅图像里三维模型实体的位置;其次是通过图像的剪裁与填充算法,将每个图像都剪裁并填充为正方形以方便对图像做压缩处理,填充为正方形的目的是为了使图像在等比压缩或扩大的同时其本身结构不发生变化,以减少识别出错的可能;最后将所有的处理好的数据进行旋转,镜像等操作以增强数据量和提高数据的鲁棒性。

图像中的目标检测过程如图5所示,本文采取的策略是对原始图像进行灰度化处理、Sobel算子梯度处理、均值滤波处理、二值化处理[5,6]。最后找到图像中的最大轮廓,用矩形框框选出来图像中关键信息,框选后对图像进行剪裁并填充为正方形图像。

经过剪裁填充后的数据在总量上没有变化,仍然存在数据量较小的问题,需要使用数据增强算法,即对所有原始图像进行水平翻转,垂直翻转和水平垂直翻转操作。这样使得数据量变为原来的四倍,再将翻转后的图像旋转90度、180度、270度,这样便使数据量变为初始的十二倍,那么每一类别的数据量变为4800张图像。

3.3   数据集的存储

卷积神经网络的图像矩阵的输入,上文处理好的数据的像素大小仍然不尽相同,所以预处理好的图像需要进行归一化处理(即压缩为50×50像素大小的图像),并为每一张图像贴上对应的标签,最后将其以矩阵的形式保存起来。卷积神经网络需要的数据除了训练集之外还有测试集,训练集主要用于优化网络的权重和偏置,而测试集数据主要用于验证优化后网络的鲁棒性和准确率[7]。因此,本文将上文处理后的24000张图像中的80%作为训练数据集,剩下的20%作为测试数据集,最后保持结果如图8所示。

4  卷积神经网络模型设计(Design of convolutionalneural network model)

4.1   卷积神经网络的搭建

一个简单的神经网络模型主要由输入层、卷积层、池化层、全连接层和输出层组成,其中卷积层和全连接层的层数是根据具体情况而设定[8]。本文通过经验和由低层级向高层级逐渐验证的方法最终确定了整个卷积网络的层数于其中的神经元个数。每层的矩阵维度如表2所示,总共包含两个卷积层,两个池化层,一个全连接层,一个输入层和一个输出层。

4.2   卷积神经网络的训练算法

在完成网络的模型的搭建之后,就需要用准备好的数据去训练整个网络,本文采用的训练算法流程如图9所示。该流程算法主要包含两个训练,一个大循环是用所有数据训练网络,在大循环里有一个小循环是将所有训练数据在整个大循环里分批次训练,这样可以减少计算量,整个训练流算法如下所示:

(1)初始化所有权重W和偏置b;

(2)将所有训练集数据分批次沿卷积神经网络进行前向传播得到预测值;

(3)将预测值与对应输入的标签值进行比较得出误差值即损失函数的值;

(4)根据损失函数,利用随机梯度下降法(SGD)去跟新每层权重与偏置的值以优化参数,这也就是卷积神经网络的后续传播;

(5)计算训练集结果准确率,如果准确率满足要求则停止训练;

(6)重复过程(2)—过程(5),直到训练次数到达设定值。

4.3   卷积神经网络的测试与预测

卷积神经网络模型的测试过程如图10(a)所示,主要将全部的测试数据输入训练后的模型,进行前向传播最后得到预测值,将预测值与图像的实际标签值对比,可以得到测试训练集的总体准确率,一般情况下没完成一次网络的训练都会进行一次测试,以验证此次训练的效果;而预测过程如图10(b)所示,与测试过程基本一致,只是预测过程输入的数据是单个数据。

5   实验结果与分析(Experimental results and analysis)

在完成了针对简单几何体的三维模型的卷积网络整体设计之后,本文在高性能计算机上进行了训练和测试实验,用于实验的计算机配置如表3所示。

如图11和图12所示,通过不断地训练使得卷积神经网络的参数得到优化,使得训练数据的准确率随迭代次数的增加而不断提升最终达到一个较为稳定的值,经过55次的训练准确率已经到达了99.98%,同时训练集的损失函数的值也随着训练次数的下降,表示随着训练次数的增加预测误差在减小。

在完成一次训练并更新优化卷积神经网络参数之后,都会进行一次测试数据的实验,用于验证该网络的通用性和鲁棒性。如图13所示,测试数据集的准确率也随着训练次数的增加而增加,测试准确率低于训练准确率并且与之相差不多,可以说明该训练好的模型并没有过拟合,卷积神经网络模型设计合理,识别精度高。在第55次训练后,测试数据集的准确率到达98.09%,如果继续进行训练准确还可以再提升。

6   结论(Conclusion)

本文系统将卷积神经网络用于简单几何体三维模型的识别和分类,为了机器理解三维模型实体提供一种方法,为以后机器自主设计三维模型实体提供一个铺垫。同时本文针对五类简单几何体的三维模型,进行了总体系统设计,完成了数据集的收集,数据的预处理,卷积神经网络的搭建和训练算法的设计,最后通过实验验证了整套系统的可行性,验证了网络模型的可用性。

参考文献(References)

[1] 周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(06):1229-1251.

[2] 李彦冬,郝宗波,雷航.卷積神经网络研究综述[J].计算机应用,2016,36(09):2508-2515;2565.

[3] 胡挺,吴立君.CATIA二次开发基础[M].浙江:浙大旭日科技图书,2006.

[4] 许可.卷积神经网络在图像识别上的应用的研究[D].浙江大学,2012:12-24.

[5] Robust Real-Time Face Detection[J].Paul Viola,Michael J.Jones. International Journal of Computer Vision,2004(2):137-154.

[6] Richard Szeliski.Computer Vision:Algorithms and Applications [M].Springer,2010:101-118.

[7] 常亮,邓小明,周明全,等.图像理解中的卷积神经网络[J].自动化学报,2016,42(09):1300-1312.

[8] Yu Chen,Hongbing Meng,Xinling Wen,et al.Classification methods of a small sample target object in the sky based on the higher layer visualizing feature and transfer learning deep networks[J].EURASIP Journal on Wireless Communications and Networking,2018(1):127-138.

作者简介:

党应聪(1993-),男,硕士生.研究领域:智能机器人,机器学习.

陈劲杰(1969-),男,硕士,副教授.研究领域:智能机器人,机器学习.

猜你喜欢
三维模型卷积神经网络
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
矿山虚拟环境三维模型系统优化方法研究
汽车虚拟驾驶培训系统的设计开发
深度学习算法应用于岩石图像处理的可行性研究
基于卷积神经网络的树叶识别的算法的研究
基于现代信息技术的矿产资源监管体系建设
三维激光扫描在核电维修中的应用
基于DIMINE软件地质模型建立