img

QQ群聊

img

官方微信

  • CN 62-1112/TF 
  • ISSN 1005-2518 
  • 创刊于1988年
高级检索

黄金科学技术, 2019, 27(1): 112-120 doi: 10.11872/j.issn.1005-2518.2019.01.112

基于深度卷积神经网络的卡车装载矿石量估计研究

毕林, 李亚龙, 郭昭宏,*

1. 中南大学资源与安全工程学院,湖南 长沙 410083

Study on the Estimation of Ore Loading Quantity of Truck Based on Deep Convolutional Neural Network

BI Lin, LI Yalong, GUO Zhaohong,*

1. School of Resources and Safety Engineering,Central South University,Changsha 410083,Hunan,China

收稿日期: 2017-09-15   修回日期: 2018-03-16   网络出版日期: 2019-03-11

基金资助: 国家自然科学基金项目“基于深度学习和距离场的复杂金属矿体三维建模技术研究”(编号:41572317)资助

Received: 2017-09-15   Revised: 2018-03-16   Online: 2019-03-11

作者简介 About authors

毕林(1975-),男,四川通江人,讲师,从事GIS、数字矿山方面的研究与软件开发工作Mr.BiLin@163.com 。

郭昭宏(1995-),男,四川广元人,硕士研究生,从事数字矿山方面的研究工作370920276@qq.com , E-mail:370920276@qq.com

摘要

卡车装载矿石量一般采用人工方式进行统计,人工统计不具有客观性,可能影响卡车司机的绩效考核;此外还有使用激光扫描技术或地磅对装载矿石量进行精确统计,但设备成本过高。为节约成本并提高测量精度,研究采用基于深度卷积神经网络的技术实现卡车装载矿石量的估计。由于实际场景下矿车装载矿石的图片不便获取,故使用三维物理引擎Chrono模拟矿石堆落入卡车的过程,从而生成装载矿石量和矿石分布区域均不同的卡车图片。通过构建深度卷积神经网络对生成的样本进行拟合,用最后一层神经元的预测值与真实值的欧式距离作为代价函数。然后,对卷积核与特征图进行可视化,分析卷积神经网络实现矿石量估计的过程。试验结果表明,构建的深度卷积神经网络在实验测试集上的准确度较好,测试样本预测误差大部分在4%以内。说明用深度学习技术实现自然场景下卡车装载矿石量的估计切实可行,且具有较好的应用前景。

关键词: 矿石量估计 ; 人工智能 ; 深度学习 ; 卷积网络 ; 物理引擎

Abstract

In the daily production and management of mines, the load measurement of trucks is an important work.The ore loading quantity of truck is usually counted by manual power, but the subjectivity of artificial statistics may affect the performance evaluation of truck drivers.Some mines used laser scanning technique or loadometer to measure the volume of ore accurately, but the equipment is expensive.The method of binocular stereo vision is used to measure the volume of the stacked material in China.By taking the photo of the stacked material at two angles in the same scene, the position of the feature points in the scene is matched, and the three-dimensional coordinates of the feature point are calculated, so as to calculate the volume of stacked material.The factors affecting the accuracy of measurement include the accuracy of camera calibration, the accuracy of stereo matching, and the error introduced by the discretization method of calculation of stacked material,etc.When the truck is loading ore, there will be a situation in which the truck body wall obscures the lower part of the ore pile,and the background of the picture is relatively complicated.In order to save cost and improve the accuracy of measurement, the research based on deep convolutional neural network was conducted to estimate the ore loading quantity in this paper.It is inconvenient to get the pictures in natural scene, so use the three-dimensional physics engine naming Chrono to simulate a trunk of ore falling into the truck, generating images of truck with different ore quantity and different ore distribution areas.The truck model was made by 3DMAX software and imported into Chrono, and the ore heap was a cube randomly generated within a certain size range.A total of 2 800 sample data were obtained for the entire experiment.The parameters were adjusted based on the network structure used to test the cifar-10 data set in Caffe.The specific training parameters are set as follows, the maximum iteration number MaxIter is 4 000, the learning rate α is 0.001, the momentum factor μ is 0.9, the regular term coefficient WeightDecay is 0.004 and the optimization algorithm adopts Nestedov.Then a deep convolutional neural network was constructed.The generated samples were divided into training sets and test sets according to the ratio of 31, and the label values of the samples were normalized.Then the Euclidean distance between predicted value and real value of the last layer of neuron was used as the cost function to fit the generated sample data.Finally, the convolution kernel and feature map was visualized to analyze the process of convolution neural network realizing the estimation of ore quantity.The image showed that the features extracted by each convolution kernel are different, and the convolution kernel extracting the ore information effectively ensures the reliability of the model for ore quantity estimation.It was proved that deep convolution neural network constructed in this paper has good accuracy in the experimental test set. The prediction error is less than 4% for most of the test sample and the prediction error is less than10% for almost all test sample, which is completely acceptable in practical applications.So it not only indicates that the network model is good enough to fit the experimental data set, but also proves the feasibility of using deep learning to estimate the ore loading quantity in actual scene and deep learning method has a good application prospect.

Keywords: ore quantity estimation ; artificial intelligence ; deep learning ; convolutional neural network ; physics engine

PDF (3226KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

毕林, 李亚龙, 郭昭宏. 基于深度卷积神经网络的卡车装载矿石量估计研究[J]. 黄金科学技术, 2019, 27(1): 112-120 doi:10.11872/j.issn.1005-2518.2019.01.112

BI Lin, LI Yalong, GUO Zhaohong. Study on the Estimation of Ore Loading Quantity of Truck Based on Deep Convolutional Neural Network[J]. Gold Science and Technology, 2019, 27(1): 112-120 doi:10.11872/j.issn.1005-2518.2019.01.112

运载计量是矿山的一项日常生产管理工作。运载计量一般采用人工方法进行统计,但是人工统计不具有客观性,可能影响卡车司机的工作量考核;此外还有使用激光扫描技术或地磅来精确测量矿石量,这些方法的测量精度和效率较高,但测量设备购置和系统维护成本高。相比之下,使用人工智能技术可以低成本、便捷和自动化地实现测量运载计量,其边际成本几乎为零,只需在新的测量点添置摄像头,卡车不用像地磅称重那样停下来,实现过程不需要人工参与。

高如新等[1]基于双目立体视觉技术,对传送带上的煤堆体积进行了测量;毛琳琳[2]基于双目立体视觉技术,对矿山、港口和粮仓等大堆物料进行了测量。双目立体视觉技术的原理是通过获取同一场景下2个角度的照片,对场景中特征点在图片中的位置进行匹配,然后计算出各个特征点的三维坐标,最后计算出煤堆的体积。影响双目立体视觉技术测量准确度的因素有:摄像机标定的精度,立体匹配的精度,煤堆体积计算离散化方法引入的误差等。但是该方法对拍摄图片的质量要求较高,体现在2个方面:一是煤堆周围不能有遮挡物,否则一定会影响煤堆的三维重建;二是煤堆所在的背景对测量结果的影响很大,也就是说如果背景中存在其他物体,需要对煤堆做分割预处理,而分割的效果又会影响测量的值。

以上问题说明本文所研究的问题不适合用双目立体视觉技术来解决,因其应用场景与本文所研究的问题差别较大,具体表现为卡车车斗壁挡住了矿石堆的下半部分,并且图片的背景较为复杂。近年来,深度学习技术得到了很大发展,被越来越多地应用于许多行业,用以解决图像和语音识别的问题。本文提出了一个基于深度学习的卡车装载矿石量估计方法,选择合适的网络构建深层卷积神经网络拟合实验样本。

1 数据准备

1.1 物理引擎

本文采用基于深度卷积神经网络的方法估计卡车装载矿石量。在深度学习领域,为了使实验结果具有更好的拟合效果,通常需要大量实验样本,在本实验中样本即为固定角度的卡车装载矿石照片。在实际矿山中,获取大量样本照片比较困难,故采用虚拟物理引擎的方法来模拟现实世界。通过使矿石单元从不同方位降落至卡车车斗内,从而形成具有不同形状的数据样本。

物理引擎是用于创建虚拟场景的程序,这个虚拟场景中物体的运动满足物理定律[3]。此虚拟环境中的物体会受到重力以及物体之间相互碰撞的作用力的影响,物理引擎会计算处于这个虚拟环境中的物体所受的力以及运动轨迹。Chrono是一个跨平台的基于物理的建模与仿真基础设施,支持C++、Python和MATLAB接口。Chrono的核心是Chrono:Engine这个中间件,其C++接口可用于开发仿真软件。实验中,各个矿石单元的物理属性计算由Chrono:Engine模块完成,比如速度、位移和坐标等。Irrlicht引擎[4]是一个用C++书写的高性能实时的3D引擎,跨平台且具有良好的移植性。矿石单元下落可视化部分由Chrono:irrlicht模块完成,所以代码部分重点需要调用Chrono:irrlicht模块。Irr命名空间下定义了所有的Irr引擎文件,引擎文件包括五大模块,每个模块都有自己的命名空间,分别是Irr:Core模块,Irr:Io模块,Irr:Gui模块,Irr:Scene模块和Irr:Video模块。

Irr各模块的功能解释如表1

在Irr的设计中,处理的基本单元是一个个场景节点,sceneManager管理这个场景节点。Irr引擎使用流程如图1所示。

表1   Irr各模块功能

Table 1  Function of each module of Irr

模块功能
Core包括一些核心引擎类,各种数据结构,自定义结构类型
Gui包括一些常用的图像用户接口类,实现了各种常用控件
Io一些输入输出,xml,zip,ini文件读写等操作接口
Scene负责管理场景,包括场景节点,摄像机,粒子系统,公告板,Mesh,灯光,动画器,地形等大部分的3D功能
Video负责设置视频驱动,渲染2D和3D场景,控制纹理,灯光,材质,顶点,图片等渲染属性

新窗口打开| 下载CSV


图1

图1   Irr引擎使用流程

Fig.1   Using process of Irr engine


首先通过调用CreatDevice函数,获取一个IrrlichtDevice类的对象,这样就创建了一个设备,这个对象是使用这个引擎的根对象;然后从设备中获取视频设备(IVideoDriver类的对象),场景管理器(ISceneManager类的对象)和用户图形环境(IGUIEnvironment)的指针并存储起来;接下来便可以调用ISceneManager类的getMesh方法导入模型文件,并创建场景节点显示。Irrlicht引擎支持.obj等格式的模型文件。接着需要设置摄像头观察的目标点和摄像头的空间坐标。最后调用IvideoDriver类的beginScene方法将屏幕以指定的颜色深度和缓冲清空,使用图形用户接口(GUI)和场景管理器在内存中绘制场景,调用IvideoDriver类的endScene方法将内存中的数据绘制到屏幕上。结束时调用IrrlichtDevice类的drop方法释放掉创建的设备。

1.2 生成样本

实验中设置正方体为矿石单元,其尺寸在一个范围内随机生成,以矿石单元的总数量作为卡车装载的矿石量。将3DMax制作的卡车模型导出为obj格式文件,再将obj格式的文件作为新的场景节点导入irrlicht引擎。卡车模型不是Chrono物理系统中创建的物体单元(ChBodyEasy),无法与矿石单元交互,所以矿石并不会停留在卡车车斗中。因此需要创建底部封闭的容器加入到Chrono物理系统(ChSystem)中,并且容器的尺寸和位置与卡车车斗相匹配。将矿石块体单元在卡车车斗内的最终堆叠状态保存作为样本。各物体单元的参数如表2所示。

表2   各物体单元参数

Table 2  Unit parameter of each object

物体尺寸(分别为xyz方向)坐标(xyz
容器底板(10,0.1,24)(0,0,0)
容器侧板1(0.1,5.5,24.01)(-5,2.75,0)
容器侧板2(0.1,5.5,24.01)(5,2.75,0)
容器侧板3(10.1,5.5,0.1)(0,2.75,-12)
容器侧板4(10.1,5.5,0.1)(0,2.75,12)
矿石单元(0.8~0.9,0.8~0.9,0.8~0.9)(-3~3,5~15,-10~10)

新窗口打开| 下载CSV


其中,摄像机的观察点为(0,0,-5)。坐标系如图2所示。

图2

图2   样本坐标系

Fig.2   Sample coordinate system


实验共生成4批数据,这4批数据在Z方向的范围不同,矿石单元的下落初始位置在设置范围内随机生成,同一批数据样本中矿石单元数量不重复。各批次数据参数具体设置见表3

表3   各批次数据参数设置

Table 3  Parameter settings for each batch of data

数据批次坐标范围矿石单元数/个样本数/个
(-3~3,5~15,-10~10)0~9991 000
(-3~3,5~15,-10~0)0~599600
(-3~3,5~15,-5~5)0~599600
(-3~3,5~15,0~10)0~599600

新窗口打开| 下载CSV


从表中可以看出,第一批数据的矿石单元下落位置均匀分布在矿车车斗上方;第二批数据的矿石单元下落位置集中在靠车头一侧;第三批数据的矿石单元下落位置集中在车斗中部;第四批数据的矿石单元下落位置集中在靠车尾一侧。4批数据共计2 800个样本。

实验训练集与测试集比例为3∶1。为使测试样本分布均匀,测试样本组成如表4所示。

表4   测试样本组成

  Composition of test samples

数据

批次

矿石单元数/个样本数/个
0~49,200~249,400~449,600~649,800~850250
100~149,300~349,500~549150
50~99,250~299,450~499150
150~199,250~399,550~599150

新窗口打开| 下载CSV


2 基于卷积神经网络的矿石量估计

2.1 构建DCNN网络

自1998年Lecun提出卷积网络[5]实现手写体数字的识别后,卷积神经网络被广泛应用于图像识别和自然语言处理等领域。2006年,Hinton等[6]提出深度学习的概念,即深层神经网络。随着数据增多与计算能力的提升,深度卷积神经网络极大地提高了各领域的识别效果,例如手写体识别[7]。本文充分利用深度卷积神经网络(DCNN)的特点,自动提取卡车装载的图像特征,对其装载量进行回归分析。

由于卡车装载矿石量估计是一个回归问题,因此采用深层神经网络拟合样本需要将最后一层的神经元数量设置为1,以最后一层神经元的值作为预测值[8,9]。由于需要拟合的样本由计算机生成,这些样本背景单一、摄像机角度固定,故考虑使用参数量较少的网络模型开始实验[10]

在参考了一些经典的网络结构之后,考虑以Caffe中用于测试cifar-10数据集的网络结构为基础,进行参数调整。Cifar-10数据集由60 000张32*32的RGB彩色图片构成,共10个分类,其中50 000张用于训练,10 000张用于测试,可用于普适物体的识别。按照3∶1的比例将所生成的样本划分为训练集和测试集,然后将样本的标签值进行归一化处理(将装载量除以最大可能的装载量形成0~1之间的数值)。各层网络的参数设置如表5所示。深度卷积神经网络结构如图3所示。

表5   深度卷积神经网络结构参数

Table 5  DCNN network structure parameters

层名称特征输出核尺寸/步长填充权重参数量
卷积层1256*256*325*5/122 400
最大池化层1177*177*323*3/209 220
卷积层2177*177*325*5/1225 600
平均池化层287*87*323*3/209 220
卷积层387*87*645*5/1251 200
平均池化层347*47*643*3/2018 430
全连接层1--141 380

新窗口打开| 下载CSV


图3

图3   卷积神经网络结构图

Fig. 3   Structure diagram of convolutional neural networks


2.2 向前计算

网络中卷积层的输出[11]定义为

xjl=ReluiMjxil-1*kijl+bjl

卷积层用几个可训练的卷积核与输入的特征图进行卷积,再通过激活函数得到输出的特征图,输出的每个特征图可能是与多个输入特征图卷积而来。Relu表示激活函数,Mj是输入特征图子集,通常选取2个或3个特征图,也有自动选取的方法。xjll层第j个特征图中的值,xil-1l-1层Mj中特征图的值,kijl是相应的卷积核。每个特征图都会加一个偏置b[12]。网络中池化层的定义为

xjl=downxjl-1

一个池化层产生输入特征图的一个下采样层。如果有n个输入特征图,就会产生n个输出特征图。down(.)表示一个子采样函数,一个典型的函数是对输入特征图中的n*n大小的像素块求平均,这样输出特征图在每个维度上都减小n倍。

Relu函数定义如式(3)所示。在采用随机梯度下降优化参数时,用Relu激活函数的训练速度比tanhsigmoid这些非线性函数要快许多,深度神经网络用Relu的训练速度比tanh快几倍[13]

Relux=max0,x

网络在池化层后接一个局部响应归一化层,一般用Relu作为激活函数时不需要用局部归一化,因为Relu可以避免神经元出现饱和(saturating)的现象,只要有一些大于零的输入,学习过程就可以发生在这些神经元上。但是Relu后使用局部归一化也能够提高网络的泛化能力。局部响应归一化的过程是当前卷积核的激活值除以附近n个卷积核激活值的平方和的若干倍的若干次方,定义为

bx,yi=ax,yi/k+αj=max0,i-n/2minN-1,i+n/2ax,yj2β

式中:求和操作是针对附近n个特征图中对应位置的激活值,N是该层中特征图的数量,在训练开始前卷积核的顺序是随机的[14]k,n,α,β是由验证集决定的超参数,该网络的各个参数值设置为:k=3,n=3,α=0.00005,β=0.75。这个局部响应归一化的提出是受到生物学中的侧抑制现象的启发,即一个兴奋的神经元会抑制其周边的神经元,也就是提高周边神经元的阈值。

2.3 梯度计算

该网络的代价函数使用均方误差代价函数,定义为

EN=12Ni=1Nxi-yi22

因为整个数据集的误差是单个样本误差之和,所以针对单个样本考虑误差反向传播的过程,则第n个样本的误差定义为

En=12xn-yn22

在传统的全连接层中,可以用如下形式的反向传播公式计算E对每个权重的偏导。用l表示当前层,用L表示输出层,定义当前层的输出[15]xl=ful,其中

ul=Wlxl-1+bl

在网络中反向传播的误差可以看作是每个神经元对bias扰动的灵敏度,可表示为:

Eb=Euub=δ

xl表示当前层的输出。因为ub=1,所以Eb的偏导同误差对一个节点的全部输入的偏导相等。这个导数就是从高层到低层反向传播得到的,对第l层的导数如下:

δl=Wl+1Tδl+1f'ul

表示逐元素相乘,输出层的敏感度不同(L表示输出层),故

δL=f'uLxn-yn

然后,用δ规则对权重进行更新,也就是给定神经元的δ乘以该神经元的输入值。用向量的形式看,就是该层的输入向量与该层的导数的乘积。对权重的偏导乘以学习率η的相反数得到该层权重的更新:EWl=xl-1δlT,其中

Wl=-ηEWl

网络结构中每个卷积层后接一个池化层,设卷积层为第l层,池化层为第l+1层,反向传播算法为了计算第l层中神经元的偏导值,应当首先对l+1层中与当前神经元相连的神经元的偏导值求和,然后乘以这些连接在l+1层中定义的权值。接着乘以激活函数对当前神经元输入的导数值。由于卷积层后接池化层,l+1层中神经元的偏导δ对应着l层的一整块区域的神经元,因此l层中每个神经元只与l+1层中的一个神经元相连。为了高效计算l层的敏感度,可以对l+1层神经元的敏感度通过上采样得到与l层同等大小的敏感度map,然后将l层的敏感度map逐元素乘以l层激活函数对神经元的导数[16]。因为在下采样中定义的权重值是个常量,所以再对上述步骤得到的值缩放β倍便得到l层的敏感度δl。可以将卷积层中的每个敏感度map与池化层中的敏感度map配对,然后重复同样的操作。整个过程可表示为

δjl=βjl+1f'ujlupδjl+1

式中:up·表示上采样操作。如果下采样操作的是N*N的像素块,则上采样时单个像素与N*N的像素块关联。下面来讨论,可高效执行这个函数的Kronecker乘法:

upx=x1n×n

笔者得到了l层的敏感度map,可以通过对δli的每个值求和得到误差对偏置的梯度[17],如下式所示:

Ebj=u,vδjluv

最后,通过反向传播求卷积核的梯度。正如求偏置的梯度一样,卷积核是被多个连接所共享的,因此需要对所有连接传递的梯度求和得到卷积核权重的梯度:

Ekijl=u,vδjluvpil-1uv

pil-1uvxil-1中与kijl相乘而得到特征图xjl中位于(u,v)的元素的那部分神经元。直觉上可能会认为寻找该部分神经元和相应的敏感度map很困难,但是式(16)能够用一行MATLAB代码实现:

Ekijl=rot180conv2xil-1,rot180δjl,valid

这里通过旋转敏感度map进行相互作用计算,并且要再次旋转返回到原来的位置,这样下次进行前向计算时卷积核的位置才是正确的。

3 实验及分析

3.1 实验参数与实验平台

利用物理引擎生成的样本共2 800张,按照3∶1的比例将所生成的样本划分为训练集和测试集,测试样本的组成如表3所示,剩余样本用于训练。对样本的标签值进行归一化处理(将装载量除以最大可能的装载量形成0~1之间的数值),例如有500个矿石单元的样本标签值为0.5。

DCNN网络的训练参数设置如下:最大迭代次数MaxIter设置为4 000,学习率α设置为0.001,动量因子μ设置为0.9,正则项系数WeightDecay设置为0.004,优化算法采用Nesterov[18]

实验拟采用GTX TITAN X GPU GeForce硬件平台以及深度学习框架Caffe软件平台。作为一种高效的深度学习框架,该方法使用Protobuf配置文件定义网络结构,能够有效支持卷积神经网络,实现在GPU上的高速运算。另外,Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口,可以在CPU和GPU直接无缝切换。

3.2 可视化分析

深度学习的发展得益于大量带标签数据的出现和计算机运算能力的提升。但深层次的神经网络模型为何能取得如此好的识别效果,至今仍然没有完善的科学解释。许多学者把神经网络看作一个黑盒模型,基于经验和试错法来调整参数,改进模型[19]。虽然无法完全打开这个黑盒,但可视化的方法可以让我们对网络实现的过程多一些理解。其中,Krizhevshy等[20]建立的AlexNet网络结构模型对第一个卷积层的卷积核进行了可视化操作,Zeiler等[21]对可视化分析做了更深入的研究。本网络第一层的卷积核可视化如图4所示。

图4

图4   卷积1层卷积核图

Fig.4   Convolution kernel of conv1 layer


从图中可以看出,第一层卷积核没有明显的提取边缘特征,但是有明显的颜色特征。比如黄色的卷积核是提取了卡车的颜色信息,与背景颜色相近的卷积核是提取了背景信息,颜色较暗的卷积核则是提取了矿石信息。

5所示为提取卡车颜色信息的卷积核。其中,上部分是卷积核图,下部分是对应的特征图。左半部分是提取卡车信息的图,可以明显看出卡车车身的轮廓,因为卡车车身的颜色与卷积核的颜色相匹配;右半部分是提取背景信息的图,可以看出卷积核的颜色与图片的背景色很接近,于是所对应的特征图里显示的是背景信息。

图5

图5   提取卡车信息与背景信息图

Fig.5   Extracting truck information and background information


以上关于矿石信息、车身信息和背景信息的观察表明每个卷积核所提取的特征均不相同,而提取矿石信息的卷积核有效保证了模型对矿石量估计的可靠性,同时也说明模型较好地学到了相关特征。

3.3 实验结果

该DCNN网络训练与测试的Loss在迭代过程中的变化情况如图6所示。

图6

图6   训练与测试的损失变化图

Fig.6   The loss change of training and testing


实验基于Caffe平台,显卡是GTX TITAN X GPU GeForce,网络训练时间为20 min,测试单张图片的时间约为0.2 s。实验数据显示,测试和训练误差在10-4量级,因此平均误差大概在10-2量级,这样的误差对于实际应用是完全可以接受的。

一般来讲,计算机对矿石量的识别误差在10%以内是可以接受的。当绝大部分的预测误差在此范围内时,说明模型达到了理想的优化结果。故以该网络模型在测试集上的误差分布来衡量模型的性能,该网络模型在测试集上样本的误差分布如图7所示。

图7

图7   测试集样本的误差分布图

Fig.7   Error distribution of test set samples


横轴表示预测值与真实值之差的绝对值,纵轴表示误差在该区间的样本数量。从图中可以看出,大部分样本的误差在4%以内,几乎所有的样本误差都在10%以内,表明该网络模型已经足够好地拟合了实验的数据集。

4 结语

本文的实验结果说明卷积神经网络可以解决卡车装载矿石量估计这样的回归问题,同时也证明了用深度学习的方法对实际场景下卡车装载矿石量进行估计的可行性。本文所构建的卷积网络在实验所用的数据集上预测准确度很高(大部分测试样本误差在4%以内),在实际应用中完全可以接受。通过可视化特征图与卷积核可以看到部分卷积核关注矿石区域的信息,这对于理解卷积网络解决该问题的过程有所帮助。

本文的实验效果虽然理想,但数据集中图片背景比较单一,而光照、拍摄角度等因素对自然场景下拍摄的图片有较大影响,背景发生变化可能影响图像识别的效果。如果矿石单元在卡车车斗内存在凹形,则通过单角度识别图像来估计矿石量也可能有较大误差。后续的研究可以考虑在复杂背景下进行矿石单元的识别,并且多角度拍摄自然场景下的矿体,以多角度的图片作为输入信息,考虑多角度图片的融合问题,并且考虑将卡车先检测出来之后再进行网络参数的训练。

参考文献

高如新王俊孟 .

基于双目立体视觉的煤体积测量

[J].计算机系统应用,2014235):126-133.

[本文引用: 1]

Gao Ruxin Wang Junmeng .

Volume measurement of coal based on binocular stereo vision

[J].Computer Systems and Applications2014235):126-133.

[本文引用: 1]

毛琳琳 .

基于双目立体视觉的大堆物料体积测量方法研究

[D].杭州中国计量学院2015.

[本文引用: 1]

Mao Linlin .

Research on Measurement Method for Piles of Material Volume Based on Binocular Stereo Vision

[D].HangzhouChina Jiliang University2015.

[本文引用: 1]

段化鹏 .

虚拟现实中物理引擎关键技术的研究与应用

[D].青岛山东科技大学2010.

[本文引用: 1]

Duan Huapeng .

Research and Application of Physics Engine Key Techniques in Virtual Reality

[D].QingdaoShandong University of Science and Technology2010.

[本文引用: 1]

康宇 .

基于Irrlicht引擎的3D游戏的设计与实现

[D].长春吉林大学2012.

[本文引用: 1]

Kang Yu .

Design and Implementation of 3D Game Based on the Irrlicht Engine

[D].ChangchunJilin University2012.

[本文引用: 1]

Lécun Y Bottou L Bengio Y et al .

Gradient-based learning applied to document recognition

[J].Proceedings of the IEEE19988611):2278-2324.

[本文引用: 1]

Hinton G E Osindero S Teh Y W .

A fast learning algorithm for deep belief nets

[J].Neural Computer2006187):1527-1554.

[本文引用: 1]

Ciresan D C Meier U Gambardella L M et al .

Deep,big,simple neural nets for handwritten digit recognition

[J].Neural Computation201012):3207-3220.

[本文引用: 1]

Pitts W .

A Logical Calculus of the Ideas Immanent in Nervous Activity

[M]//NeurocomputingFoundations of Research.Cambridge:The Massachusetts Institute of Technology Press1988115-133.

[本文引用: 1]

Hagan M T Beale M Beale M .

Neural Network Design

[M].BeijingChina Machine Press2002.

[本文引用: 1]

Wang T Wu D J Coates A et al .

End-to-end text recognition with convolutional neural networks

[C]//International Conference on Pattern Recognition IEEE20133304-3308.

[本文引用: 1]

Li H Lin Z Shen X et al .

A convolutional neural network cascade for face detection

[C]//Computer Vision and Pattern Recognition IEEE20155325-5334.

[本文引用: 1]

Lecun Y Boser B Denker J S et al .

Backpropagation applied to handwritten zip code recognition

[J].Neural Computation201414):541-551.

[本文引用: 1]

Gulcehre C Moczulski M Denil M et al .

Noisy activation functions

[C]//International Conference on Machine Learning.New York:Journal of Machine Learning Research20163059-3068.

[本文引用: 1]

Ioffe S Szegedy C .

Batch normalization:Accelerating deep network training by reducing internal covariate shift

[C]//International Conference on Machine Learning. Lille:Journal of Machine Learning Research2015448-456.

[本文引用: 1]

Bouvrie J .

Notes on convolutional neural networks

[R].MassachusettsCenter for Biological and Computational Learning200638-44.

[本文引用: 1]

Glorot X Bengio Y .

Understanding the difficulty of training deep feedforward neural networks

[J].Journal of Machine Learning Research20109249-256.

[本文引用: 1]

Nair V Hinton G E .

Rectified linear units improve restricted boltzmann machines

[C]//International Conference on Machine Learning.Haifa:Journal of Machine Learning Research2010807-814.

[本文引用: 1]

Su W Boyd S Candes E J .

A differential equation for modeling nesterov’s accelerated gradient method:Theory and insights

[J].Advances in Neural Information Processing Systems201531):2510-2518.

[本文引用: 1]

Wallach I Dzamba M Heifets A .

AtomNet:A deep convolutional neural network for bioactivity prediction in structure-based drug discovery

[J].Mathematische Zeitschrift2015471):34-46.

[本文引用: 1]

Krizhevsky A Sutskever I Hinton G E .

ImageNet classification with deep convolutional neural networks

[J].Communications of the Association for Computing Machinery2017606):84-90.

[本文引用: 1]

Zeiler M D Fergus R .

Visualizing and understanding convolutional networks

[C]//European Conference on Computer Vision. Switzerland:Springer2014818-833.

[本文引用: 1]

/