【《机器视觉与图像识别技术理论基础概述》6800字】_第1页
【《机器视觉与图像识别技术理论基础概述》6800字】_第2页
【《机器视觉与图像识别技术理论基础概述》6800字】_第3页
【《机器视觉与图像识别技术理论基础概述》6800字】_第4页
【《机器视觉与图像识别技术理论基础概述》6800字】_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TOC\o"1-2"\h\u150541369229086机器视觉是指通过机器等设备去代替人眼对立体空间进行感知,首先将获取的目标转换成图像等信息,然后根据图像内部的形态信息、亮度、颜色等信息处理成数字信号,后面采用智能的算法程序根据提取目标的特征信息对目标进行分类或识别。依靠人工识别作物的病害和病害程度的方法受主观性强、效率不高下等多种因素的影响,现需要一种科学、快速、有效地作物病害诊断的方法,提高识别作物病害和严重程度的准确率和效率,使农户能改善诊断方法,提高农作物病害程度识别准确率和效率,使农户能够正确选择化学农药并恰当使用剂量,对计算机图像处理技术在农业领域的应用有着深远影响。本章介绍3种传统机器学习识别方法和CNN,为论文后续工作打下坚实的理论基础。自上个世纪五十年代开始,人工智能(ArtificialIntelligence)的这一思想开始出现,而机器学习的出现是人工智能领域发展到成熟时期后的产物。到上世纪80年代末,反向传播(BackPropagation)的出现给机器学习又带来了希望。机器学习(MachineLearning)属于一门多领域的交叉学科,涵盖多种领域,能够通过数据或以往的经验进行算法选择、模型构建、新数据预测,并重新排列已知的知识结构去不断调整和改善自身性能。决策树算法采用的是邻近离散函数值的方式。首先对输入数据预处理,采用归纳算法生成有序可读的规则和决策树,最后对新数据利用决策进行分析计算。从本质上讲决策树的方法是通过一系列规则对输入的数据进行分类。对使用本算法的人要求并不高,只需在事前对数据做好标注,就能把一组无序的事物理成决策树所代表的规则。图2-1表示的是一种树形结构的决策树,图中每一个决策树节点表示一个属性的测试,一个叶节点视为一个类别,有多少个分支就有多少个测试输出。图2-1决策树树形结构示意图Fig.2-1Treestructureofdecisiontreek-近邻算法(k-NearestNeighbor,KNN)是一种监督型学习算法,也是我们常用的最简单的机器学习算法之一,常被研究者们用在分类和回归问题中。所谓k最近邻,就是指k个最近的邻居的意思,每个样本都可以用它最接近的k个邻居来代表。它属于基于实例的学习(Instance-basedLearning),也属于懒惰学习(LazyLearning),即KNN不会显示学习过程,数据集事先已有分类和特征值,接收到新样本后直接进行处理。该算法的具体思路是:一个样本在特征空间中的有k个样本都靠近某个类别,其中k占所有样本的比例最高,那该样本就归属于这个类别。KNN算法中,选取的邻近样本均是已正确分类的样本对象。该方法在确定类别时只依据最相近的一个或者几个的类别来判定。KNN算法中最重要的方面是k值的选取和距离的选取。1.K值得选取十分重要,若K选取的过小,一旦样本存在噪声成分,预测结果在很大程度上会偏离实际值,如果K值选取过大,就相当于采取更大地邻域对训练样本进行预测,学习的近似误差会差很多。在进行k值选取时,我们常采用交叉验证的方法去挑选一个相对小的数值。K的取值尽量要取奇数,以保证在计算结果最后会产生一个较多的类别,若选取偶数则可能会产生相等的情况,不利于预测。1.KNN算法中距离度量的方法与样本的向量表示方法有关联,最常采用的距离度量方法有曼哈顿距离和欧式距离等。曼哈顿距离欧式距离KNN算法作为一种惰性学习算法,使用简单,便于理解,无需建模与训练就可以实现,适合应用于稀有事件。在样本分类时,内存消耗较大,测试样本分类时计算量也大,性能低,可解释性差,与决策树相比无法给出相应的规则。支持向量机(SupportVectorMachine,SVM)是一种建立在学习理论上的分类算法,通过寻找最小结构化风险去加大学习机的泛化能力,尽力缩小经验风险和置信范围,在统计样本比较较少的前提下,同样也能很好地统计样本规律。它最终的目的是采用间隔最大化的方式利用超平面去分割样本,最后化解为求解一个凸二次规划的问题。若样本数据在空间内是线性可分的,给定一个训练集C={(x1,y1),(x2,y2),(x3,y2)(x3,y3),…,(xn,yn)},yi{-1,+1},在C的样本空间中找一个超平面,选取间隔最大且能正确划分的超平面,上述这个平面也叫作决策边界。图2-2展示了一种最优超平面,红蓝两类样本被分开并且使两类别间隔达到最大,邻近决策边界的样本点叫做支撑向量,支撑向量距离决策边界的距离l相等,穿过支撑向量且平行于决策边界有两条直线,两条直线距离被称作“间隔”(margin),由定义可得margin=2l。图2-2分割两种类别的最优超平面Fig.2-2Theoptimalhyperplanefordividingtwoclasses在在样本空间中,划分超平面可通过如下线性方程来描述:(2-1)式中w为法向量,判定超平面的方向;b是位移量,决定原点与超平面之间的距离。如果认定超平面能正确分类训练样本,对训练样本(xi,yi),应该满足下面的公式:(2-2)该公式为最大间隔假设,yi=+1表示样本为正样本,yi=−1表示样本为负样本。实际上该公式等价于:根据公式推导,式中引入拉格朗日算子去求解最小目标函数,其数学公式可以表示为:(2-3)针对非线性问题,支持向量机不能很好地解决,需要使用非线性模型才能更好地进行分类。需要将训练样本从本来地空间投射到一个更高维的空间,使样本在高维空间内部是线性可分的。x映射的特征向量用(2-4)于是最小函数:(2-5)为求解出上述方程,在此引入核函数,在实际应用中,人们会根据样本数据的不同,选择不同的参数,根据参数的需要选择不同的核函数。下表列举了一些常用的核函数。

表2-1常见的核函数Table2-1Commonkernelfunctions名称表达式参数线性核多项式核d为多项式次数高斯核>0为高斯核的带宽拉普拉斯核>0Sigmoid核为双曲正切函数,随着卷积神经网络的发展,卷积的层数也在不断增加,浅层机器学习模型同样会遇到很多问题,如过拟合、梯度弥散和局部最优等。在2006年,有人提出了一种“逐层预训练”(Layer-wisePre-training)的方法,该方法可以有效地解决深层神经网络训练中的问题,把机器学习与人工智能的研究带入了一个新的开端。卷积神经网络结构主要包括下面几个部分:输入层、卷积层、激活函数、池化层和全链接层,从输入图像开始,每一层经过卷积运算后传输到下一层,而本层的输出就是下一层的输入,表示输入数据在每一层均发生变化。一张图像从本质上来讲都是由一个个像素点组成,每个像素点可以由灰度值来表示,通道就可以来表示图片上的颜色和其他信息,我们常见的图片大多都是数码相机或手机拍摄,这类的照片均包含红绿蓝三个通道。一张图片可以看做是相互叠加在一起的多个像素灰度值的二维矩阵,三个通道像素的范围都在[0,255]之间。图2-3是一种用于分类的卷积神经网络,下面以此为例对每一层进行简要概述。(1)输入层:作为整个神经网络的起始层,要对输入的数据图像进行预处理,如图2-3所示最左侧的三维矩阵的长和宽分别表示输入图像的大小,而三维矩阵的深度表示图像的色彩通道(channel),输入的是灰度图则深度为1,若在RGB色彩模式下,深度为3。从输入层开始,卷积神经网络把不同的神经网络结构将上层的三维矩阵转化成下一层的三维矩阵,直至最终的全连接层。(2)卷积层:卷积层是整个神经网络中最重要的部分,与传统全连接层不同,卷积运算是采用滤波器对输入的图像进行局部扫描,之后将扫描的数值与图像的矩阵数值相乘叠加,卷积层中节点的输入是上一层卷积层中很小的一部分,这部分的大小有3*3或者5*5。卷积层会把神经网络中的很小的部分更加深入的分析从中得到抽象度还要高的特征模板。一般情况下,处理后的卷积层深度会增加,卷积层的卷积运算用公式表示如下所示:(2-11)式中f作为激活函数,k代表卷积核,Mj是输入的特征映射集合,b为偏置单元,X表征输出的特征图像。(3)池化层:池化层在卷积网络中一般是穿插在卷积层中间,其在很大程度上可以减少矩阵的尺寸。我们常认为池化操作就是是把一张高分辨率的图片转化成低分辨率的图片。进而减少最后全连接层中节点的数目,最终的目的是减少整个卷积网络中的参数,降低资源的耗损,同时也可以有效地防止过拟合的发生。卷积神经网络中常见的池化方式有最大值池化和均值池化。最大值池化采用的形式是2×2的尺寸,滑动步长设置成2,对图像进行下采样,将其中近四分之三的激活信息都弃掉,把采样信息中最重要的信息保存下来,进一步激活里面的数值大的特征,减少一些噪声信息。均值池化是将目标区域里所有数值进行加权平均。在实际中证明,在卷积层之间引入最大池化的效果是最好的,而平均池化一般放在卷积神经网络的最后一层。(4)全链接层:全链接层用于每一个神经元与前一层所有的神经元全部连接,并实现输出的神经元共享参数。经过了一系列的卷积层和池化层之后,提取图像的特征图,假设特征图的尺寸是3×3×512,此时把特征图的所有神经节点变成全连接层的样子,从直观上讲就是将一个3D的立方体去进行重新排列,连接成一个全连接层,里面有3×3×512=4608个神经元,再经过几个隐藏层,最后得出分类结果。(5)Softmax层。穿过Softmax层,可以输出样例中属于不同种类的概率分布结果。Fig.2-3Aconvolutionalneuralnetworkstructureforimageclassification在深度学习理论中,现在大多数深度神经网络逐层去构建神经元,逐次训练网络,误差从上到下一层层传播。训练的过程有前向传播和反向传播两个阶段,前向传播作用是传递特征信息,反向传播作用是微调模型参数。训练过程如下:(1)前向传播阶段在CNN中,前向传播公式如下:其中,l是当前层,Wl是l层的权值,bl是l层的偏置,f表示激活函数。卷积层的l层中第j个卷积核的前向传播过程可表示为:其中,为第l层中第j个卷积核的输出,Mj为卷积核,为第l层中第j个卷积核对应的第i个卷积窗口,反向传播阶段反向传播算法(Backpropagation)是训练ANN最常用且效果最显著的算法。它主要的思路是:1)ANN前向传播过程是将训练数据集依次通过ANN的输入层、隐藏层、输出层得到输出结果;2)得到的输出结果与实际结果有误差存在,然后把该误差从输出层转而向隐藏层进行反向传播,一直传输到输入层;3)在往回进行反向传播中,根据传输的误差不断调整卷积中各种参数的数值;通过不断地迭代,直至函数收敛。图2-4是一个简单的三层神经网络,layer1,layer2,layer3表示神经网络的输入层、隐藏层和输出层。表示第l-1层的第k个神经元连接j个的权重,表示第l层的j个神经元的输入,(2-7)(2-8)公式中为激活函数,人工神经网络训练后的结果与理想结果一般存在误差,代价函数就是来解决这个问题,二次代价函数(Quadraticcostfunction)是我们常用的代价函数,表达公式如下所示:(2-9)其中,x为输入样本数据,y为实际分类结果,aL为预测结果,L表示神经网络的层数。如果定义第l层第j个神经节点产生的误差为(1)输入训练样本(2)对输入的每个样本x,设置输入层对应的激活值al,前向传播传输的公式表达为:(2-10)计算后输出层产生的错误用公式表述为:(2-11)反向传播误差通过公式运算得到:(2-12)使用梯度下降,训练参数用公式表达为:(2-13)在神经网络训练时不断重复上述传播过程,传播中不断变换训练权重和偏置,使预测结果不断接近真实结果。卷积神经网络要搭配在固定的学习框架中才能实现,在训练模型时,神经网络的宽度和深度与所采纳的算法息息相关,采用越深的卷积网络它拥有更多的学习参数,在训练时对输入图像的泛化能力越好。我们目前最常用的学习框架有Caffe、TensorFlow、Pytorch等,最常见的卷积网络模型有以下几种:(1)LeNet:曾经是首个完成数字识别的卷积神经网络,在mnist数据集上,它的准确率在99%以上,总共有7层。输入的图像大小为32*32,结构层次也不复杂分别包含3个卷积层,2个池化层和2个全链接层,采用的激活函数是Sigmoid。(2)AlexNet:该网络模型曾在2012年的ILSVRC大赛中以绝对优势获得冠军。AlexNet的结构很简单,只是LeNet的放大版,输入的图像大小是224*224,再经过5个卷积层,3个全连接层(包含一个分类层),最后得到输出结果。与LeNet不同的是AlexNet采用分块式卷积结构,激活功函数采用ReLU。(3)ZFNet:与AlexNet的网络结构很相似,介绍了一种可视化方法,通过可视化模型的中间层,在AlexNet基础上进一步提升了分类效果。该网络主要应用于目标检测。(4)VGGNet:网络深度的深浅在这个网络充分展现,VGGNet总共构建了19层深的卷积神经网络,输入的图像尺寸大小是224*224。网络结构有11个卷积层,5个池化层和3个全连接层,激活函数采用ReLU。VGGNet与AlexNet模型相比网络层数增多,且训练过程会比AlexNet更长,但正是因为更深的网络和更小的卷积核带来的隐式正则化结果,需要收敛的迭代次数同样也大幅度减少。(5)GoogleNet:GoogleNet模型增加了模块化结构,这个模块就是Inception模块,在2014年视觉识别比赛中获得冠军。该网络模型包含有22层的卷积神经网络结构。其中的参数比AlexNet卷积网络结构少12倍,但图形识别准确率比AlexNet更高。这是因为GoogLeNet提出增加网络的尺寸,包括宽度和深度。深度是指网络中的层数,宽度指每层中所用到的神经元的个数。本文也使用了GoogleNet网络中的InceptionV3,后续在第三章做详细介绍。传统的卷积神经网络中含有大量冗余的参数,在运算时也比较耗时,所以传统的卷积神经网络在移动端或嵌入式设备上难以加载运行,要想在移动设备上使用卷积网络,就要重新去构造传统的卷积神经网络,目前最常用的方式是采用压缩的方法,去减少卷积模型的卷积层数,从而达到降低模型的计算量。前些年Google公司发行了一种轻量型卷积神经网络MobileNet[84],这种网络提出了一种深度可分离卷积的卷积层,这种卷积层的使用降低了整个模型的计算量。旷视科技发行了另一种轻量型卷积神经网络ShuffleNet[85]。ShuffleNet网络使用分组逐点卷积,既保证预测的精确度又在很大地程度上降低卷积的运算量。2018年Google公司在MobileNetV1的标准上,继续发行第二代轻型卷积网络MobileNetV2[86],与MobileNetV1相比,该网络中添加了线性残差模块,与常规的残差网络最大的不同就是,在输入数据时要对数据进行升维,卷积运算完成后再对数据降维,这样做可以进一步节约内存。ShuffleNetV2[87]在速度和精度的权衡方面达到了很高的水平。由此可见,残差网络为卷积神经网络迁移至移动端设备中有重要的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论