当然是中国知网了。
这两天在公司做PM实习,主要是自学一些CV的知识,以了解产品在解决一些在图像识别、图像搜索方面的问题,学习的主要方式是在知网检索了篇国内近3年计算机视觉和物体识别的硕博士论文。由于时间关系,后面还会继续更新图片相似度计算(以图搜图)等方面的学习成果 将这两天的学习成果在这里总结一下。你将会看到计算机视觉在解决特定物体识别问题(主要是卷积神经网络CNNs)的基础过程和原理,但这里不会深入到技术的实现层面。
计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。 ————维基百科 通常而言,计算机视觉的研究包括三个层次: (1)底层特征的研究: 这一层次的研究主要聚焦如何高效提取出图像对象具有判别性能的特征,具体的研究内容通常包括:物体识别、字符识别等 (2)中层语义特征的研究: 该层次的研究在于在识别出对象的基础上,对其位置、边缘等信息能够准确区分。现在比较热门的:图像分割;语义分割;场景标注等,都属于该领域的范畴 (3)高层语义理解: 这一层次建立在前两层的基础上,其核心在于“理解”一词。 目标在于对复杂图像中的各个对象完成语义级别的理解。这一层次的研究常常应用于:场景识别、图像摘要生成及图像语义回答等。 而我研究的问题主要隶属于底层特征和中层语义特征研究中的物体识别和场景标注问题。
人类的视觉工作模式是这样的: 首先,我们大脑中的神经元接收到大量的信息微粒,但我们的大脑还并不能处理它们。 于是接着神经元与神经元之间交互将大量的微粒信息整合成一条又一条的线。 接着,无数条线又整合成一个个轮廓。 最后多个轮廓累加终于聚合我们现在眼前看到的样子。 计算机科学受到神经科学的启发,也采用了类似的工作方式。具体而言,图像识别问题一般都遵循下面几个流程
(1)获取底层信息。获取充分且清洁的高质量数据往往是图像识别工作能否成功的关键所在 (2)数据预处理工作,在图像识别领域主要包括四个方面的技术:去噪处理(提升信噪比)、图像增强和图像修复(主要针对不够清晰或有破损缺失的图像);归一化处理(一方面是为了减少开销、提高算法的性能,另一方面则是为了能成功使用深度学习等算法,这类算法必须使用归一化数据)。 (3)特征提取,这一点是该领域的核心,也是本文的核心。图像识别的基础是能够提取出足够高质量,能体现图像独特性和区分度的特征。 过去在10年代之前我们主要还是更多的使用传统的人工特征提取方法,如PCA\LCA等来提取一些人工设计的特征,主要的方法有(HOG、LBP以及十分著名的SIFT算法)。但是这些方法普遍存在(a)一般基于图像的一些提层特征信息(如色彩、纹理等)难以表达复杂的图像高层语义,故泛化能力普遍比较弱。(b)这些方法一般都针对特定领域的特定应用设计,泛化能力和迁移的能力大多比较弱。 另外一种思路是使用BP方法,但是毕竟BP方法是一个全连接的神经网络。这以为这我们非常容易发生过拟合问题(每个元素都要负责底层的所有参数),另外也不能根据样本对训练过程进行优化,实在是费时又费力。 因此,一些研究者开始尝试把诸如神经网络、深度学习等方法运用到特征提取的过程中,以十几年前深度学习方法在业界最重要的比赛ImageNet中第一次战胜了SIFT算法为分界线,由于其使用权重共享和特征降采样,充分利用了数据的特征。几乎每次比赛的冠军和主流都被深度学习算法及其各自改进型所占领。其中,目前使用较多又最为主流的是CNN算法,在第四部分主要也研究CNN方法的机理。
上图是一个简易的神经网络,只有一层隐含层,而且是全连接的(如图,上一层的每个节点都要对下一层的每个节点负责。)具体神经元与神经元的作用过程可见下图。
在诸多传统的神经网络中,BP算法可能是性能最好、应用最广泛的算法之一了。其核心思想是:导入训练样本、计算期望值和实际值之间的差值,不断地调整权重,使得误差减少的规定值的范围内。其具体过程如下图:
一般来说,机器学习又分成浅层学习和深度学习。传统的机器学习算法,如SVM、贝叶斯、神经网络等都属于浅层模型,其特点是只有一个隐含层。逻辑简单易懂、但是其存在理论上缺乏深度、训练时间较长、参数很大程度上依赖经验和运气等问题。 如果是有多个隐含层的多层神经网络(一般定义为大于5层),那么我们将把这个模型称为深度学习,其往往也和分层训练配套使用。这也是目前AI最火的领域之一了。如果是浅层模型的问题在于对一个复杂函数的表示能力不够,特别是在复杂问题分类情况上容易出现分类不足的弊端,深度网络的优势则在于其多层的架构可以分层表示逻辑,这样就可以用简单的方法表示出复杂的问题,一个简单的例子是: 如果我们想计算sin(cos(log(exp(x)))), 那么深度学习则可分层表示为exp(x)—>log(x)—>cos(x)—>sin(x)
图像识别问题是物体识别的一个子问题,其鲁棒性往往是解决该类问题一个非常重要的指标,该指标是指分类结果对于传入数据中的一些转化和扭曲具有保持不变的特性。这些转化和扭曲具体主要包括了: (1)噪音(2)尺度变化(3)旋转(4)光线变化(5)位移
该部分具体的内容,想要快速理解原理的话推荐看[知乎相关文章] ( ), 特别是其中有些高赞回答中都有很多动图和动画,非常有助于理解。 但核心而言,CNN的核心优势在于 共享权重 以及 感受野 ,减少了网络的参数,实现了更快的训练速度和同样预测结果下更少的训练样本,而且相对于人工方法,一般使用深度学习实现的CNN算法使用无监督学习,其也不需要手工提取特征。
CNN算法的过程给我的感觉,个人很像一个“擦玻璃”的过程。其技术主要包括了三个特性:局部感知、权重共享和池化。
CNN中的神经元主要分成了两种: (a)用于特征提取的S元,它们一起组成了卷积层,用于对于图片中的每一个特征首先局部感知。其又包含很关键的阈值参数(控制输出对输入的反映敏感度)和感受野参数(决定了从输入层中提取多大的空间进行输入,可以简单理解为擦玻璃的抹布有多大) (b)抗形变的C元,它们一起组成了池化层,也被称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。 (c*)激活函数,及卷积层输出的结果要经过一次激励函数才会映射到池化层中,主要的激活函数有Sigmoid函数、Tanh函数、ReLU、Leaky ReLU、ELU、Maxout等。
也许你会抱有疑问,CNN算法和传统的BP算法等究竟有什么区别呢。这就会引出区域感受野的概念。在前面我们提到,一个全连接中,较高一层的每个神经元要对低层的每一个神经元负责,从而导致了过拟合和维度灾难的问题。但是有了区域感受野和,每个神经元只需要记录一个小区域,而高层会把这些信息综合起来,从而解决了全连接的问题。
了解区域感受野后,你也许会想,区域感受野的底层神经元具体是怎么聚合信息映射到上一层的神经元呢,这就要提到重要的卷积核的概念。这个过程非常像上面曾提到的“神经元与神经元的联系”一图,下面给大家一个很直观的理解。
上面的这个过程就被称为一个卷积核。在实际应用中,单特征不足以被系统学习分类,因此我们往往会使用多个滤波器,每个滤波器对应1个卷积核,也对应了一个不同的特征。比如:我们现在有一个人脸识别应用,我们使用一个卷积核提取出眼睛的特征,然后使用另一个卷积核提取出鼻子的特征,再用一个卷积核提取出嘴巴的特征,最后高层把这些信息聚合起来,就形成了分辨一个人与另一个人不同的判断特征。
现在我们已经有了区域感受野,也已经了解了卷积核的概念。但你会发现在实际应用中还是有问题: 给一个100 100的参数空间,假设我们的感受野大小是10 10,那么一共有squar(1000-10+1)个,即10的六次方个感受野。每个感受野中就有100个参数特征,及时每个感受野只对应一个卷积核,那么空间内也会有10的八次方个次数,,更何况我们常常使用很多个卷积核。巨大的参数要求我们还需要进一步减少权重参数,这就引出了权重共享的概念。 用一句话概括就是,对同一个特征图,每个感受野的卷积核是一样的,如这样操作后上例只需要100个参数。
池化是CNN技术的最后一个特性,其基本思想是: 一块区域有用的图像特征,在另一块相似的区域中很可能仍然有用。即我们通过卷积得到了大量的边缘EDGE数据,但往往相邻的边缘具有相似的特性,就好像我们已经得到了一个强边缘,再拥有大量相似的次边缘特征其实是没有太大增量价值的,因为这样会使得系统里充斥大量冗余信息消耗计算资源。 具体而言,池化层把语义上相似的特征合并起来,通过池化操作减少卷积层输出的特征向量,减少了参数,缓解了过拟合问题。常见的池化操作主要包括3种: 分别是最大值池化(保留了图像的纹理特征)、均值池化(保留了图像的整体特征)和随机值池化。该技术的弊端是容易过快减小数据尺寸,目前趋势是用其他方法代替池化的作用,比如胶囊网络推荐采用动态路由来代替传统池化方法,原因是池化会带来一定程度上表征的位移不变性,传统观点认为这是一个优势,但是胶囊网络的作者Hinton et al.认为图像中位置信息是应该保留的有价值信息,利用特别的聚类评分算法和动态路由的方式可以学习到更高级且灵活的表征,有望冲破目前卷积网络构架的瓶颈。
CNN总体来说是一种结构,其包含了多种网络模型结构,数目繁多的的网络模型结构决定了数据拟合能力和泛化能力的差异。其中的复杂性对用户的技术能力有较高的要求。此外,CNN仍然没有很好的解决过拟合问题和计算速度较慢的问题。
该部分的核心参考文献: 《深度学习在图像识别中的应用研究综述》郑远攀,李广阳,李晔.[J].计算机工程与应用,2019,55(12):20-36. 深度学习技术在计算机图像识别方面的领域应用研究是目前以及可预见的未来的主流趋势,在这里首先对深度学习的基本概念作一简介,其次对深度学习常用的结构模型进行概述说明,主要简述了深度信念网络(DBN)、卷积神经网络(CNN)、循环神经网络(RNN)、生成式对抗网络(GAN)、胶囊网络(CapsNet)以及对各个深度模型的改进模型做一对比分析。
深度学习按照学习架构可分为生成架构、判别架构及混合架构。 其生成架构模型主要包括: 受限波尔兹曼机、自编码器、深层信念网络等。判别架构模型主要包括:深层前馈网络、卷积神经网络等。混合架构模型则是这两种架构的集合。深度学习按数据是否具有标签可分为非监督学习与监督学习。非监督学习方法主要包括:受限玻尔兹曼机、自动编码器、深层信念网络、深层玻尔兹曼机等。 监督学习方法主要包括:深层感知器、深层前馈网络、卷积神经网络、深层堆叠网络、循环神经网络等。大量实验研究表明,监督学习与非监督学习之间无明确的界限,如:深度信念网络在训练过程中既用到监督学习方法又涉及非监督学习方法。
[1]周彬. 多视图视觉检测关键技术及其应用研究[D].浙江大学,2019. [2]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36. [3]逄淑超. 深度学习在计算机视觉领域的若干关键技术研究[D].吉林大学,2017. [4]段萌. 基于卷积神经网络的图像识别方法研究[D].郑州大学,2017. [5]李彦冬. 基于卷积神经网络的计算机视觉关键技术研究[D].电子科技大学,2017. [6]李卫. 深度学习在图像识别中的研究及应用[D].武汉理工大学,2014. [7]许可. 卷积神经网络在图像识别上的应用的研究[D].浙江大学,2012. [8]CSDN、知乎、机器之心、维基百科
VNCHINA就非常的好,因为在这个论坛上,有非常多的知名的计算机专家发布的帖子,并且这些帖子都非常的都研究价值,能够让你学到很多。
网页链接
这两天在公司做PM实习,主要是自学一些CV的知识,以了解产品在解决一些在图像识别、图像搜索方面的问题,学习的主要方式是在知网检索了篇国内近3年计算机视觉和物体识别的硕博士论文。由于时间关系,后面还会继续更新图片相似度计算(以图搜图)等方面的学习成果 将这两天的学习成果在这里总结一下。你将会看到计算机视觉在解决特定物体识别问题(主要是卷积神经网络CNNs)的基础过程和原理,但这里不会深入到技术的实现层面。
计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。 ————维基百科 通常而言,计算机视觉的研究包括三个层次: (1)底层特征的研究: 这一层次的研究主要聚焦如何高效提取出图像对象具有判别性能的特征,具体的研究内容通常包括:物体识别、字符识别等 (2)中层语义特征的研究: 该层次的研究在于在识别出对象的基础上,对其位置、边缘等信息能够准确区分。现在比较热门的:图像分割;语义分割;场景标注等,都属于该领域的范畴 (3)高层语义理解: 这一层次建立在前两层的基础上,其核心在于“理解”一词。 目标在于对复杂图像中的各个对象完成语义级别的理解。这一层次的研究常常应用于:场景识别、图像摘要生成及图像语义回答等。 而我研究的问题主要隶属于底层特征和中层语义特征研究中的物体识别和场景标注问题。
人类的视觉工作模式是这样的: 首先,我们大脑中的神经元接收到大量的信息微粒,但我们的大脑还并不能处理它们。 于是接着神经元与神经元之间交互将大量的微粒信息整合成一条又一条的线。 接着,无数条线又整合成一个个轮廓。 最后多个轮廓累加终于聚合我们现在眼前看到的样子。 计算机科学受到神经科学的启发,也采用了类似的工作方式。具体而言,图像识别问题一般都遵循下面几个流程
(1)获取底层信息。获取充分且清洁的高质量数据往往是图像识别工作能否成功的关键所在 (2)数据预处理工作,在图像识别领域主要包括四个方面的技术:去噪处理(提升信噪比)、图像增强和图像修复(主要针对不够清晰或有破损缺失的图像);归一化处理(一方面是为了减少开销、提高算法的性能,另一方面则是为了能成功使用深度学习等算法,这类算法必须使用归一化数据)。 (3)特征提取,这一点是该领域的核心,也是本文的核心。图像识别的基础是能够提取出足够高质量,能体现图像独特性和区分度的特征。 过去在10年代之前我们主要还是更多的使用传统的人工特征提取方法,如PCA\LCA等来提取一些人工设计的特征,主要的方法有(HOG、LBP以及十分著名的SIFT算法)。但是这些方法普遍存在(a)一般基于图像的一些提层特征信息(如色彩、纹理等)难以表达复杂的图像高层语义,故泛化能力普遍比较弱。(b)这些方法一般都针对特定领域的特定应用设计,泛化能力和迁移的能力大多比较弱。 另外一种思路是使用BP方法,但是毕竟BP方法是一个全连接的神经网络。这以为这我们非常容易发生过拟合问题(每个元素都要负责底层的所有参数),另外也不能根据样本对训练过程进行优化,实在是费时又费力。 因此,一些研究者开始尝试把诸如神经网络、深度学习等方法运用到特征提取的过程中,以十几年前深度学习方法在业界最重要的比赛ImageNet中第一次战胜了SIFT算法为分界线,由于其使用权重共享和特征降采样,充分利用了数据的特征。几乎每次比赛的冠军和主流都被深度学习算法及其各自改进型所占领。其中,目前使用较多又最为主流的是CNN算法,在第四部分主要也研究CNN方法的机理。
上图是一个简易的神经网络,只有一层隐含层,而且是全连接的(如图,上一层的每个节点都要对下一层的每个节点负责。)具体神经元与神经元的作用过程可见下图。
在诸多传统的神经网络中,BP算法可能是性能最好、应用最广泛的算法之一了。其核心思想是:导入训练样本、计算期望值和实际值之间的差值,不断地调整权重,使得误差减少的规定值的范围内。其具体过程如下图:
一般来说,机器学习又分成浅层学习和深度学习。传统的机器学习算法,如SVM、贝叶斯、神经网络等都属于浅层模型,其特点是只有一个隐含层。逻辑简单易懂、但是其存在理论上缺乏深度、训练时间较长、参数很大程度上依赖经验和运气等问题。 如果是有多个隐含层的多层神经网络(一般定义为大于5层),那么我们将把这个模型称为深度学习,其往往也和分层训练配套使用。这也是目前AI最火的领域之一了。如果是浅层模型的问题在于对一个复杂函数的表示能力不够,特别是在复杂问题分类情况上容易出现分类不足的弊端,深度网络的优势则在于其多层的架构可以分层表示逻辑,这样就可以用简单的方法表示出复杂的问题,一个简单的例子是: 如果我们想计算sin(cos(log(exp(x)))), 那么深度学习则可分层表示为exp(x)—>log(x)—>cos(x)—>sin(x)
图像识别问题是物体识别的一个子问题,其鲁棒性往往是解决该类问题一个非常重要的指标,该指标是指分类结果对于传入数据中的一些转化和扭曲具有保持不变的特性。这些转化和扭曲具体主要包括了: (1)噪音(2)尺度变化(3)旋转(4)光线变化(5)位移
该部分具体的内容,想要快速理解原理的话推荐看[知乎相关文章] ( ), 特别是其中有些高赞回答中都有很多动图和动画,非常有助于理解。 但核心而言,CNN的核心优势在于 共享权重 以及 感受野 ,减少了网络的参数,实现了更快的训练速度和同样预测结果下更少的训练样本,而且相对于人工方法,一般使用深度学习实现的CNN算法使用无监督学习,其也不需要手工提取特征。
CNN算法的过程给我的感觉,个人很像一个“擦玻璃”的过程。其技术主要包括了三个特性:局部感知、权重共享和池化。
CNN中的神经元主要分成了两种: (a)用于特征提取的S元,它们一起组成了卷积层,用于对于图片中的每一个特征首先局部感知。其又包含很关键的阈值参数(控制输出对输入的反映敏感度)和感受野参数(决定了从输入层中提取多大的空间进行输入,可以简单理解为擦玻璃的抹布有多大) (b)抗形变的C元,它们一起组成了池化层,也被称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。 (c*)激活函数,及卷积层输出的结果要经过一次激励函数才会映射到池化层中,主要的激活函数有Sigmoid函数、Tanh函数、ReLU、Leaky ReLU、ELU、Maxout等。
也许你会抱有疑问,CNN算法和传统的BP算法等究竟有什么区别呢。这就会引出区域感受野的概念。在前面我们提到,一个全连接中,较高一层的每个神经元要对低层的每一个神经元负责,从而导致了过拟合和维度灾难的问题。但是有了区域感受野和,每个神经元只需要记录一个小区域,而高层会把这些信息综合起来,从而解决了全连接的问题。
了解区域感受野后,你也许会想,区域感受野的底层神经元具体是怎么聚合信息映射到上一层的神经元呢,这就要提到重要的卷积核的概念。这个过程非常像上面曾提到的“神经元与神经元的联系”一图,下面给大家一个很直观的理解。
上面的这个过程就被称为一个卷积核。在实际应用中,单特征不足以被系统学习分类,因此我们往往会使用多个滤波器,每个滤波器对应1个卷积核,也对应了一个不同的特征。比如:我们现在有一个人脸识别应用,我们使用一个卷积核提取出眼睛的特征,然后使用另一个卷积核提取出鼻子的特征,再用一个卷积核提取出嘴巴的特征,最后高层把这些信息聚合起来,就形成了分辨一个人与另一个人不同的判断特征。
现在我们已经有了区域感受野,也已经了解了卷积核的概念。但你会发现在实际应用中还是有问题: 给一个100 100的参数空间,假设我们的感受野大小是10 10,那么一共有squar(1000-10+1)个,即10的六次方个感受野。每个感受野中就有100个参数特征,及时每个感受野只对应一个卷积核,那么空间内也会有10的八次方个次数,,更何况我们常常使用很多个卷积核。巨大的参数要求我们还需要进一步减少权重参数,这就引出了权重共享的概念。 用一句话概括就是,对同一个特征图,每个感受野的卷积核是一样的,如这样操作后上例只需要100个参数。
池化是CNN技术的最后一个特性,其基本思想是: 一块区域有用的图像特征,在另一块相似的区域中很可能仍然有用。即我们通过卷积得到了大量的边缘EDGE数据,但往往相邻的边缘具有相似的特性,就好像我们已经得到了一个强边缘,再拥有大量相似的次边缘特征其实是没有太大增量价值的,因为这样会使得系统里充斥大量冗余信息消耗计算资源。 具体而言,池化层把语义上相似的特征合并起来,通过池化操作减少卷积层输出的特征向量,减少了参数,缓解了过拟合问题。常见的池化操作主要包括3种: 分别是最大值池化(保留了图像的纹理特征)、均值池化(保留了图像的整体特征)和随机值池化。该技术的弊端是容易过快减小数据尺寸,目前趋势是用其他方法代替池化的作用,比如胶囊网络推荐采用动态路由来代替传统池化方法,原因是池化会带来一定程度上表征的位移不变性,传统观点认为这是一个优势,但是胶囊网络的作者Hinton et al.认为图像中位置信息是应该保留的有价值信息,利用特别的聚类评分算法和动态路由的方式可以学习到更高级且灵活的表征,有望冲破目前卷积网络构架的瓶颈。
CNN总体来说是一种结构,其包含了多种网络模型结构,数目繁多的的网络模型结构决定了数据拟合能力和泛化能力的差异。其中的复杂性对用户的技术能力有较高的要求。此外,CNN仍然没有很好的解决过拟合问题和计算速度较慢的问题。
该部分的核心参考文献: 《深度学习在图像识别中的应用研究综述》郑远攀,李广阳,李晔.[J].计算机工程与应用,2019,55(12):20-36. 深度学习技术在计算机图像识别方面的领域应用研究是目前以及可预见的未来的主流趋势,在这里首先对深度学习的基本概念作一简介,其次对深度学习常用的结构模型进行概述说明,主要简述了深度信念网络(DBN)、卷积神经网络(CNN)、循环神经网络(RNN)、生成式对抗网络(GAN)、胶囊网络(CapsNet)以及对各个深度模型的改进模型做一对比分析。
深度学习按照学习架构可分为生成架构、判别架构及混合架构。 其生成架构模型主要包括: 受限波尔兹曼机、自编码器、深层信念网络等。判别架构模型主要包括:深层前馈网络、卷积神经网络等。混合架构模型则是这两种架构的集合。深度学习按数据是否具有标签可分为非监督学习与监督学习。非监督学习方法主要包括:受限玻尔兹曼机、自动编码器、深层信念网络、深层玻尔兹曼机等。 监督学习方法主要包括:深层感知器、深层前馈网络、卷积神经网络、深层堆叠网络、循环神经网络等。大量实验研究表明,监督学习与非监督学习之间无明确的界限,如:深度信念网络在训练过程中既用到监督学习方法又涉及非监督学习方法。
[1]周彬. 多视图视觉检测关键技术及其应用研究[D].浙江大学,2019. [2]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36. [3]逄淑超. 深度学习在计算机视觉领域的若干关键技术研究[D].吉林大学,2017. [4]段萌. 基于卷积神经网络的图像识别方法研究[D].郑州大学,2017. [5]李彦冬. 基于卷积神经网络的计算机视觉关键技术研究[D].电子科技大学,2017. [6]李卫. 深度学习在图像识别中的研究及应用[D].武汉理工大学,2014. [7]许可. 卷积神经网络在图像识别上的应用的研究[D].浙江大学,2012. [8]CSDN、知乎、机器之心、维基百科
摘 要本文详细介绍了多变量预测控制算法及其在环境试验设备控制中的应用。由于环境试验设备的温度和湿度控制系统具有较大的时间滞后,而且系统间存在比较严重的耦合现象,用常规的PID控制不能取得满意的控制效果。针对这种系统,本文采用了多变量预测控制算法对其进行了控制仿真。预测控制算法是一种基于系统输入输出描述的控制算法,其三项基本原理是预测模型、滚动优化、反馈校正。它选择单位阶跃响应作为它的“预测模型”。这种算法除了能简化建模过程外,还可以通过选择合适的设计参数,获得较好的控制效果和解耦效果。本文先对环境试验设备作了简介,对控制中存在的问题进行了说明;而后对多变量预测控制算法进行了详细的推导,包括多变量自衡系统预测制算法和多变量非自衡系统预测控制算法;然后给出了系统的建模过程及相应的系统模型,在此基础上采用多变量预测控制算法对环境试验设备进行了控制仿真,并对仿真效果进行了比较。仿真结果表明,对于和环境试验设备的温度湿度控制系统具有类似特性的多变量系统,应用多变量预测控制算法进行控制能够取得比常规PID控制更加令人满意的效果。关键词:多变量系统;预测控制;环境试验设备【中文摘要共100—300个字,关键词3—7个词中文摘要和关键词占一页】【英文全部用Times New Roman字体】Abstract 【三号字体,加粗,居中上下空一行】【正文小四号字体,行距为固定值20磅】In this paper, multivariable predictive control algorithm and its application to the control of the environmental test device are introduced particularly. The temperature and humidity control system of the environmental test device is characterized as long time delay and severe coupling. Therefore, the routine PID control effect is unsatisfactory. In this case, the simulation of the temperature and humidity control of the environmental test device based on multivariable predictive control algorithm is control algorithm is one of control algorithm based on description of system’s input-output. Its three basic principles are predictive model, rolling optimization and feedback correction. It chooses unit step response as its predictive model, so that the modeling process is simplified. In addition, good control and decoupling effects could be possessed by means of selection suitable this paper, the environmental test device is introduced briefly and the existing problems are showed. Then multivariable predictive control algorithm is presented particularly, including multivariable auto-balance system predictive control algorithm and multivariable auto-unbalance system predictive control algorithm. Next, system modeling process and corresponding system model are proposed. Further, the multivariable predictive control algorithm is applied to the temperature and humidity control system of the environmental test device. Finally, the simulation results are of the simulation show that multivariable predictive control algorithm could be used in those multivariable system like the temperature and humidity control system of the environmental test device and the control result would be more satisfactory than that of the routine PID : Multivariable system; Predictive control; Environmental test device【英文摘要和关键词应该是中文摘要和关键词的翻译英文摘要和关键词占一页】【目录范例,word自动生成】目 录第一章 绪 论 引言 数字图像技术的应用与发展 问题的提出 论文各章节的安排 4第二章 数字图像处理方法与研究 灰度直方图 定义 直方图的性质和用途 几何变换 空间变换 灰度级插值 几何运算的应用 空间滤波增强 空间滤波原理 拉普拉斯算子 中值滤波 图像分割处理 直方图门限化的二值分割 直方图的最佳门限分割 区域生长 16第三章 图像处理软件设计 图像处理软件开发工具的选择 BMP图像格式的结构 软件开发工具的选择 EAN-13码简介 EAN-13条码的结构 条码的编码方法 系统界面设计 22第四章 条码图像测试 条码图像处理的主要方法 条码图像测试结果 25第五章 总结与展望 28参考文献 29当先验概率相等,即 时,则()恰为二者均值。以上分析可知,只要 和 已知以及 和 为正态,容易计算其最佳门限值T。实际密度函数的参数常用拟合法来求出 参数的估值。如最小均方误差拟合估计来会计 参量,并使拟合的均方误差为最小。例如,设想理想分布的密度为正态 ,实际图像直方图为 ,用离散方式其拟合误差为()式中N为直方图横坐标。通常这种拟合求密度函数的几个参数很难解,只能用计算机求数值解,但若 为正态分布时只需求均值和标准差二参数即可。 区域生长区域生长是一种典型的串行区域分割技术,在人工智能领域的计算机视觉研究中是一种非常重要的图像分割方法,其主要思想是将事先选中的种子点周围符合某种相似性判断的像素点集合起来以构成区域。在具体处理时,是从把一幅图像分成许多小区域开始的,这些初始小区域一般是小的邻域,甚至是单个的像素点。然后通过定义适当的区域内部隶属规则而对周围像素进行检验,对于那些符合前述隶属规则的像素点就将其合并在内,否则将其据弃,经过若干次迭代最终可形成待分割的区域。在此提到的“内部隶属规则”可根据图像的灰度特性、纹理特性以及颜色特性等多种因素来作出决断。从这段文字可以看出,区域生长成功与否的关键在于选择合适的内部隶属规则(生长准则)。对于基于图像灰度特性的生长准则,可以用下面的流程对其区域生长过程进行表述,如图所示。图 2. 6 区域生长流程图第三章 图像处理软件设计 图像处理软件开发工具的选择 BMP图像格式的结构数字图像存储的格式有很多种,如BMP、GIF、JPEG、TIFF等,数字图像处理中最常用的当属BMP,本课题采集到的图片也是用BMP格式存储的,要对这种格式的图片进行处理,那么首先就要了解它的文件结构。(1)BMP文件格式简介BMP(Bitmap-File)图形文件是Windows采用的图形文件格式在Windows环境下运行的所有图象处理软件都支持BMP图像文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 以前的BMP位图文件格式与显示设备有关,因此把这种BMP图像文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 以后的BMP图像文件与显示设备无关,因此把这种BMP图像文件格式称为设备无关位图DIB(device-independent bitmap)格式,目的是为了让Windows能够在任何类型的显示设备上显示所存储的图像。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。(2)BMP文件构成BMP文件由位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、颜色信息(color table)和图形数据四部分组成。它具有如表所示的形式。表 3. 1 BMP位图结构位图文件的组成 结构名称 符号位图文件头(bitmap-file header) BITMAPFILEHEADER bmfh位图信息头(bitmap-information header) BITMAPINFOHEADER bmih颜色信息(color table) RGBQUAD aColors[]图形数据 BYTE aBitmapBits[] 软件开发工具的选择(1)Win32 APIMicrosoft Win32 API(Application Programming Interface)是Windows的应用编程接口,包括窗口信息、窗口管理函数、图形设备接口函数、系统服务函数、应用程序资源等。Win32 API是Microsoft 32位Windows操作系统的基础,所有32位Windows应用程序都运行在Win32 API之上,其功能是由系统的动态链接库提供的。(2)Visual C++Visual C++是Microsoft公司出品的可视化编程产品,具有面向对象开发,与Windows API紧密结合以及丰富的技术资源和强大的辅助工具。Visual C++自诞生以来,一直是Windows环境下最主要的应用开发系统之一,Visual C++不仅是C++语言的集成开发环境,而且与Win32紧密相连,所以利用Visual C++可以完成各种各样的应用程序的开发,从底层软件直到上层直接面向用户的软件。Visual C++是一个很好的可视化编程环境,它界面友好,便于程序员操作。Visual C++可以充分利用MFC的优势。在MFC中具有许多的基本库类,特别是MFC中的一些,利用它们可以编写出各种各样的Windows应用程序,并可节省大量重复性的工作时间,缩短应用程序的开发周期。使用MFC的基本类库,在开发应用程序时会起到事半功倍的效果。Visual C++具有以下这些特点:简单性:Visual C++中提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具用于帮助用户快速的建立自己的应用程序,大大简化了应用程序的设计。使用这些技术,可以使开发者编写很少的代码或不需编写代码就可以开发一个Windows应用程序。灵活性:Visual C++提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,Visual C++提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。可扩展性:Visual C++提供了OLE技术和ActiveX技术,这种技术可以增强应用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C++中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。(3)MFCMFC(Microsoft Foundation Class)是Microsoft公司用C++语言开发的一套基础类库。直接利用Win32 API进行编程是比较复杂的,且Win32 API不是面向对象的。MFC封装了Win32 API的大部分内容,并提供了一个应用程序框架用于简化和标准化Windows程序的设计。MFC是Visual C++的重要组成部分,并且以最理想的方式与其集成为一体。主要包括以下各部分:Win32 API的封装、应用程序框架、OLE支持、数据库支持、通用类等。 EAN-13码简介人们日常见到的印刷在商品包装上的条码,自本世纪70年代初期问世以来,很快得到了普及并广泛应用到工业、商业、国防、交通运输、金融、医疗卫生、邮电及办公室自动化等领域。条码按照不同的分类方法,不同的编码规则可以分成许多种,现在已知的世界上正在使用的条码就有250种之多。本章以EAN条码中的标准版EAN-13为例说明基于数字图像处理技术,对EAN条码图像识别的软件开发方法。EAN码是国际物品编码协会在全球推广应用的商品条码,是定长的纯数字型条码,它表示的字符集为数字0~9。由前缀码、厂商识别代码、商品项目代码和校验码组成。前缀码是国际EAN组织标识各会员组织的代码,我国为690~695;厂商识别代码是EAN会员组织在EAN前缀码的基础上分配给厂商的代码;商品项目代码由厂商自行编码;校验码上为了校验前面12位或7位代码的正确性。 EAN-13条码的结构EAN-13码是按照“模块组合法”进行编码的。它的符号结构由八大部分组成:左侧空白区、 起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符及右侧空白区,见表。尺寸: × ;条码: ;起始符/分隔符/终止符: ;放大系数取值范围是~;间隔为。表 3. 2 EAN-13码结构左侧空白区 起始符 左侧数据符 中间间隔符 右侧数据符 校验符 终止符右侧空白区9个模块 3个模块 42个模块 5个模块 35个模块 7个模块 3个模块 9个模块EAN-13码所表示的代码由13位数字组成,其结构如下:结构一:X13X12X11X10X9X8X7X6X5X4X3X2X1其中:X13~X11为表示国家或地区代码的前缀码;X10~X7为制造厂商代码;X6~X2为商品的代码;X1为校验码。结构二:X13X12X11X10X9X8X7X6X5X4X3X2X1其中:X13~X11为表示国家或地区代码的前缀码;X10~X6为制造厂商代码;X5~X2为商品的代码;X1为校验码。在我国,当X13X12X11为690、691时其代码结构同结构一;当X13X12X11为692时其代码结构为同结构二。EAN条码的编码规则,见表:起始符:101;中间分隔符:01010;终止符:101。A、B、C中的“0”和“1”分别表示具有一个模块宽度的“空”和“条”。表 3. 3 EAN条码的编码规则数据符 左侧数据符 右侧数据符A B C0 0001101 0100111 11100101 0011001 0110011 11001102 0010011 0011011 11011003 011101 0100001 10000104 0100011 0011101 10111005 0110001 0111001 10011106 0101111 000101 10100007 0111011 0010001 10001008 0110111 0001001 10010009 0001011 0010111 条码的编码方法条码的编码方法是指条码中条空的编码规则以及二进制的逻辑表示的设置。众所周知,计算机设备只能识读二进制数据(数据只有“0”和“1”两种逻辑表示),条码符号作为一种为计算机信息处理而提供的光电扫描信息图形符号,也应满足计算机二进制的要求。条码的编码方法就是通过设计条码中条与空的排列组合来表示不同的二进制数据。一般来说,条码的编码有两种:模块组合和宽度调节法。模块组合法是指条码符号中,条与空是由标准宽度的模块组合而成。一个标准宽度的条表示二进制的“1”而一个标准的空模块表示二进制的“0”。商品条码模块的标准宽度是 ,它的一个字符由两个条和两个空构成,每一个条或空由1~4个标准宽度模块组成。宽度调节法是指条码中,条与空的宽窄设置不同,用宽单元表示二进制的“1” ,而用窄单元表示二进制的“0”,宽窄单元之比一般控制在2~3之间。 系统界面设计本文图像处理软件基本功能包括读取图像、保存图像、对图像进行处理等。图所示为本图像处理软件的界面。图 3. 1 软件主界面软件设计流程图如图所示。图 3. 2 程序设计流程图第四章 条码图像测试 条码图像处理的主要方法(1)256色位图转换成灰度图运用点处理中的灰度处理为实现数字图像的阈值变换提供前提条件。要将256色位图转变为灰度图,首先必须计算每种颜色对应的灰度值。灰度与RGB颜色的对应关系如下:Y= ()这样,按照上式我们可以方便地将256色调色板转换成为灰度调色板。由于灰度图调色板一般是按照灰度逐渐上升循序排列的,因此我们还必须将图像每个像素值(即调色板颜色的索引值)进行调整。实际编程中只要定义一个颜色值到灰度值的映射表bMap[256](长为256的一维数组,保存256色调色板中各个颜色对应的灰度值),将每个像素值p(即原256色调色板中颜色索引值)替换成bMap[p]。(2)灰度的阈值变换利用点运算中的阈值变换理论将灰度图像变为二值图像,为图像分析做准备工作。灰度的阈值变换可以将一幅灰度图像转变为黑白二值图像。它的操作是先由用户指定一个阈值,如果图像中某像素的灰度值小于该阈值,则将该像素的灰度值设置为0,否则灰度值设置为255。(3)中值滤波运用变换域法中的空域滤波法对图像进行降噪处理。中值滤波是一种非线性的信号处理方法,与其对应的滤波器当然也是一种非线性的滤波器。中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。对于奇数个元素,中值是指按大小排序后,中间的数值,对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。(4)垂直投影利用图像分析中的垂直投影法实现对二值图像的重建,为条码识别提供前提条件。垂直投影是利用投影法对黑白二值图像进行变换。变换后的图像中黑色线条的高度代表了该列上黑色点的个数。(5)几何运算几何运算可以改变图像中各物体之间的空间关系。几何运算的一个重要应用是消除摄像机导致的数字图像的几何畸变。当需要从数字图像中得到定量的空间测量数据时,几何校正被证明是十分重要的。另外,一些图像系统使用非矩形的像素坐标。在用普通的显示设备观察这些图像时,必须先对它们进行校直,也就是说,将其转换为矩形像素坐标。 条码图像测试结果本软件的处理对象为EAN-13码的256色BMP位图,应用数字图像处理技术中的灰度处理、阈值分割、空域滤波、区域生长、投影等方法,对有噪声的条码图像进行了相应处理,其结果如下:图4. 1 原始条码图 图4. 2 灰度窗口变换图4. 3 原条码直方图 图4. 4 灰度窗口变换直方图图4. 5灰度直方图规定化界面 图4. 6灰度直方图规定化直方图图4. 7 中值滤波的界面图4. 8 区域生长 图4. 9 阈值面积消除图4. 10 垂直投影从以上处理结果可以看出,对原始条码图像进行灰度变换、中值滤波、二值化以及小面积阈值消除后得到条码的投影图像,下一步就可以通过图像模式识别的方法将条码读取出来,该部分工作还有待进一步研究。第五章 总结与展望数字图像处理技术起源于20世纪20年代,当时由于受技术手段的限制,使图像处理技术发展缓慢。直到第三代计算机问世以后,数字图像处理才得到迅速的发展并得到普遍应用。今天,已经几乎不存在与数字图像处理无关的技术领域。本论文主要研究了数字图像处理的相关知识,然后通过Visual C++这一编程工具来实现图像处理算法;对文中所提到的各种算法都进行了处理,并得出结论。所做工作如下:(1)运用点处理法中的灰度处理为实现数字图像的阈值变换提供前提条件。(2)运用变换域法中的空域滤波法对图像进行降噪处理。(3)利用点运算中的阈值变换理论将灰度图像变为二值图像,为图像分析做准备工作。(4)利用图像分析中的垂直投影法实现对二值图像的重建,为条码识别提供前提条件。在论文的最后一章,给出了各种算法处理的结果。结果表明通过数字图像处理可以把有噪声的条码处理成无噪声的条码。数字图像处理技术的应用领域多种多样,不仅可以用在像本文的图像处理方面,还可以用于模式识别,还有机器视觉等方面。近年来在形态学和拓扑学基础上发展起来的图像处理方法,使图像处理的领域出现了新的局面,相信在未来图像处理的应用将会更加广泛。参考文献[1] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.[2] 黄贤武,王加俊,李家华.数字图像处理与压缩编码技术[M].成都:科技大学出版社,2000.[3] 容观澳.计算机图像处理[M].北京:清华大学出版社,2000.[4] 胡学钢.数据结构-算法设计指导[M].北京:清华大学出版社,1999.[5] 黄维通.Visual C++面向对象与可视化程序设计[M].北京:清华大学出版社,2001.[6] 夏良正.数字图像处理[M].南京:东南大学出版社,1999.[7] 费振原.条码技术及应用[M].上海:上海科学技术文献出版社,1992.[8] 李金哲.条形码自动识别技术[M].北京:国防工业出版社,1991.[9] 何斌.Visual C++数字图像处理[M].北京:人民邮电出版社,2001.[10] 李长江. C++使用手册[M].北京:电子工业出版社,1995.[11] 席庆,张春林. Visual C++ .实用编程技术[M].北京:中国水利水电出版社,1999.[12] 胡学钢.数据结构-算法设计指导[M].北京:清华大学出版社,1999.[13] Kenneth 著,朱志刚等译.数字图像处理[M].北京:电子工业出版社,1998.[14] Davis. C++ [M].北京:清华大学出版社,1999.[15] Richard C++ 5 Power Toolkit[M].北京:机械工业出版社,1999.
哈哈 我也是大一的 支持哈 为什么要有作业呀
首先我要告诉你,其实好多同学看起来知道很多,其实也有很多都是蒙混过关的。毕业答辩虽然是一件很严肃的事情,但是要相信,功夫不怕有心人,以及临阵磨枪不快也光。
如果毕设不是自己写的,就按照上面的方法。
什么都不会,至少也要把毕业论文看2-3遍。你会发现,豁然开朗~~
祝lz毕业顺利
我也是应届毕业生 所以我的指导老师说最多问的问题是如下:1.你为什么想实现这个系统、2.你为什么用这个为实现这个系统的用的高级语言,数据库或某一个软件?3.某个功能怎么实现的?4.这个系统有什么开发前途?等等 一般最多问的就这些。
老师会在你的论文里面找一些问题问问,你首先要好好的把你定的论文读熟。这样一般都会过的。
答辩老师一般是从检验真伪、探测能力、弥补不足三个方面提出三个问题。(1)检验真伪题,就是围绕毕业论文的真实性拟题提问。它的目的是要检查论文是否是学员自己写的(2)探测水平题,这是指与毕业论文主要内容相关的,探测学员水平高低、基础知识是否扎实,掌握知识的广度深度如何来提出问题的题目,主要是论文中涉及到的基本概念,基本理论以及运用基本原理等方面的问题。(3)弥补不足题,这是指围绕毕业论文中存在的薄弱环节,如对论文中论述不清楚、不详细、不周全、不确切以及相互矛盾之处拟题提问,请作者在答辩中补充阐述或提出解释。
随着图像处理技术的迅速发展,图像识别技术的应用领域越来越广泛。我整理了图像识别技术论文,欢迎阅读!
图像识别技术研究综述
摘要:随着图像处理技术的迅速发展,图像识别技术的应用领域越来越广泛。图像识别是利用计算机对图像进行处理、分析和理解,由于图像在成像时受到外部环境的影响,使得图像具有特殊性,复杂性。基于图像处理技术进一步探讨图像识别技术及其应用前景。
关键词:图像处理;图像识别;成像
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)10-2446-02
图像是客观景物在人脑中形成的影像,是人类最重要的信息源,它是通过各种观测系统从客观世界中获得,具有直观性和易理解性。随着计算机技术、多媒体技术、人工智能技术的迅速发展,图像处理技术的应用也越来越广泛,并在科学研究、教育管理、医疗卫生、军事等领域已取得的一定的成绩。图像处理正显著地改变着人们的生活方式和生产手段,比如人们可以借助于图像处理技术欣赏月球的景色、交通管理中的车牌照识别系统、机器人领域中的计算机视觉等,在这些应用中,都离不开图像处理和识别技术。图像处理是指用计算机对图像进行处理,着重强调图像与图像之间进行的交换,主要目标是对图像进行加工以改善图像的视觉效果并为后期的图像识别大基础[1]。图像识别是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。但是由于获取的图像本事具有复杂性和特殊性,使得图像处理和识别技术成为研究热点。
1 图像处理技术
图像处理(image processing)利用计算机对图像进行分析,以达到所需的结果。图像处理可分为模拟图像处理和数字图像图像处理,而图像处理一般指数字图像处理。这种处理大多数是依赖于软件实现的。其目的是去除干扰、噪声,将原始图像编程适于计算机进行特征提取的形式,主要包括图像采样、图像增强、图像复原、图像编码与压缩和图像分割。
1)图像采集,图像采集是数字图像数据提取的主要方式。数字图像主要借助于数字摄像机、扫描仪、数码相机等设备经过采样数字化得到的图像,也包括一些动态图像,并可以将其转为数字图像,和文字、图形、声音一起存储在计算机内,显示在计算机的屏幕上。图像的提取是将一个图像变换为适合计算机处理的形式的第一步。
2)图像增强,图像在成像、采集、传输、复制等过程中图像的质量或多或少会造成一定的退化,数字化后的图像视觉效果不是十分满意。为了突出图像中感兴趣的部分,使图像的主体结构更加明确,必须对图像进行改善,即图像增强。通过图像增强,以减少图像中的图像的噪声,改变原来图像的亮度、色彩分布、对比度等参数。图像增强提高了图像的清晰度、图像的质量,使图像中的物体的轮廓更加清晰,细节更加明显。图像增强不考虑图像降质的原因,增强后的图像更加赏欣悦目,为后期的图像分析和图像理解奠定基础。
3)图像复原,图像复原也称图像恢复,由于在获取图像时环境噪声的影响、运动造成的图像模糊、光线的强弱等原因使得图像模糊,为了提取比较清晰的图像需要对图像进行恢复,图像恢复主要采用滤波方法,从降质的图像恢复原始图。图像复原的另一种特殊技术是图像重建,该技术是从物体横剖面的一组投影数据建立图像。
4)图像编码与压缩,数字图像的显著特点是数据量庞大,需要占用相当大的存储空间。但基于计算机的网络带宽和的大容量存储器无法进行数据图像的处理、存储、传输。为了能快速方便地在网络环境下传输图像或视频,那么必须对图像进行编码和压缩。目前,图像压缩编码已形成国际标准,如比较著名的静态图像压缩标准JPEG,该标准主要针对图像的分辨率、彩色图像和灰度图像,适用于网络传输的数码相片、彩色照片等方面。由于视频可以被看作是一幅幅不同的但有紧密相关的静态图像的时间序列,因此动态视频的单帧图像压缩可以应用静态图像的压缩标准。图像编码压缩技术可以减少图像的冗余数据量和存储器容量、提高图像传输速度、缩短处理时间。
5)图像分割技术,图像分割是把图像分成一些互不重叠而又具有各自特征的子区域,每一区域是像素的一个连续集,这里的特性可以是图像的颜色、形状、灰度和纹理等。图像分割根据目标与背景的先验知识将图像表示为物理上有意义的连通区域的集合。即对图像中的目标、背景进行标记、定位,然后把目标从背景中分离出来。目前,图像分割的方法主要有基于区域特征的分割方法、基于相关匹配的分割方法和基于边界特征的分割方法[2]。由于采集图像时会受到各种条件的影响会是图像变的模糊、噪声干扰,使得图像分割是会遇到困难。在实际的图像中需根据景物条件的不同选择适合的图像分割方法。图像分割为进一步的图像识别、分析和理解奠定了基础。
2 图像识别技术
图像识别是通过存储的信息(记忆中存储的信息)与当前的信息(当时进入感官的信息)进行比较实现对图像的识别[3]。前提是图像描述,描述是用数字或者符号表示图像或景物中各个目标的相关特征,甚至目标之间的关系,最终得到的是目标特征以及它们之间的关系的抽象表达。图像识别技术对图像中个性特征进行提取时,可以采用模板匹配模型。在某些具体的应用中,图像识别除了要给出被识别对象是什么物体外,还需要给出物体所处的位置和姿态以引导计算初工作。目前,图像识别技术已广泛应用于多个领域,如生物医学、卫星遥感、机器人视觉、货物检测、目标跟踪、自主车导航、公安、银行、交通、军事、电子商务和多媒体网络通信等。主要识别技术有:
指纹识别
指纹识别是生物识别技术中一种最实用、最可靠和价格便宜的识别手段,主要应用于身份验证。指纹识别是生物特征的一个部分,它具有不变性:一个人的指纹是终身不变的;唯一性:几乎没有两个完全相同的指纹[3]。一个指纹识别系统主要由指纹取像、预处理与特征提取、比对、数据库管理组成。目前,指纹识别技术与我们的现实生活紧密相关,如信用卡、医疗卡、考勤卡、储蓄卡、驾驶证、准考证等。
人脸识别 目前大多数人脸识别系统使用可见光或红外图像进行人脸识别,可见光图像识别性能很容易受到光照变化的影响。在户外光照条件不均匀的情况下,其正确识别率会大大降低。而红外图像进行人脸识别时可以克服昏暗光照条件变化影响,但由于红外线不能穿透玻璃,如果待识别的对象戴有眼镜,那么在图像识别时,眼部信息全部丢失,将严重影响人脸识别的性能[4]。
文字识别
文字识别是将模式识别、文字处理、人工智能集与一体的新技术,可以自动地把文字和其他信息分离出来,通过智能识别后输入计算机,用于代替人工的输入。文字识别技术可以将纸质的文档转换为电子文档,如银行票据、文稿、各类公式和符号等自动录入,可以提供文字的处理效率,有助于查询、修改、保存和传播。文字识别方法主要有结构统计模式识别、结构模式识别和人工神经网络[5]。由于文字的数量庞大、结构复杂、字体字形变化多样,使得文字识别技术的研究遇到一定的阻碍。
3 结束语
人类在识别现实世界中的各种事物或复杂的环境是一件轻而易举的事,但对于计算机来讲进行复杂的图像识别是非常困难的[6]。在环境较为简单的情况下,图像识别技术取得了一定的成功,但在复杂的环境下,仍面临着许多问题:如在图像识别过程中的图像分割算法之间的性能优越性比较没有特定的标准,以及算法本身存在一定的局限性,这使得图像识别的最终结果不十分精确等。
参考文献:
[1] 胡爱明,周孝宽.车牌图像的快速匹配识别方法[J].计算机工程与应用,2003,39(7):90—91.
[2] 胡学龙.数字图像处理[M].北京:电子工业出版社,2011.
[3] 范立南,韩晓微,张广渊.图像处理与模式识别[M].北京:科学出版社,2007.
[4] 晓慧,刘志镜.基于脸部和步态特征融合的身份识别[J].计算机应用,2009,1(29):8.
[5] 陈良育,曾振柄,张问银.基于图形理解的汉子构型自动分析系统[J].计算机应用,2005,25(7):1629-1631.
[6] Sanderson C,Paliwal K Fusion and Person Verification Using Speech & Face Information[C].IDIAP-RR 02-33,Martigny,Swizerland,2002.
点击下页还有更多>>>图像识别技术论文
姓名:宋子璇学号: 【嵌牛导读】:分析RNN做目标识别 【嵌牛鼻子】:RNN 【嵌牛提问】:计算机视觉中RNN怎么应用于目标检测? 【嵌牛正文】 深度学习在计算机视觉领域取得的巨大的发展,最近几年CNN一直是目前主流模型所采取的架构。最近半年RNN/LSTM应用在识别领域逐渐成为一种潮流,RNN在获取目标的上下文中较CNN有独特的优势。以下我们分析最近有关RNN做目标识别的相关文章。1、Inside-Outside Net: Detecting Objects in Context with Skip Pooling and Recurrent Neural Networks CVPR2016(论文笔记) 本文的主要贡献是用skip pooling和 RNNlayer。在多尺度的feature map 上做roi pooling,最后一个feature map是通过rnn得到的。 识别精度在VOC2012上达到,原因主要是利用多尺度的feature map和rnn layer。文章中用到了很多trick: 1) rnn 用的是修改后的IRNN,速度快,精度与LSTM相似。 2)由于是在多尺度feature map上做roi pooling,每个尺度上feature map的响应幅度不一样,所以需要先做L2-norm,然后再将这些尺度得到roi 特征concate到一起。然后统一在scale到一个尺度上(scale由网络学习得到)。 3)加入的lstm单元现用segmentation的数据集做预训练,让权重预学习。(很重要,有两个百分点提升) 4)如果把最后一层IRNN换成级联的3*3的卷积层,精度下降,所以IRNN对于提升不是那么明显。 思考: 1)此方法对于小尺度的物体,如bottle、plant等识别效果不好,是否可以利用最早的feature map做识别,最早的feature 尺度信息保存的较好。 2)rnn只是用来提特征用,并没有考虑到物体的上下文信息。 3)是否可以在第一轮识别到物体后,利用attention的机制,现将这些物体在feature map上去除,重点识别小的物体。 2、End-to-end people detection in crowded scenes 在Lentet得到特征的基础用,用LSTM做控制器,按序列输出得到的框。细节方面需要注意的是没有用NMS,用的hungarian loss(匈牙利算法)。本文最大的贡献出了源码,方便做detection的理解LSTM在目标识别中的应用。 Github仓库地址: 3、CNN-RNN: A Unified Framework for Multi-label Image Classification 本文的主要目的是做图像的多label识别。 文中有一句话很重要:"when using the same image features to predict multiple labels, objects that are small in the images are easily get ignored or hard torecognize independently". 用同一个feature map预测多label时,往往会忽略小物体。 所以作者利用两个并行的网络,第二个网络输入时当前输出的label,先得到label embeding,然后通过rnn得到一向量,融合图像的feature map得到image embeding,最终输出当前图像下一个label。 思考: 1)利用Deconvolution 将feature 扩到原图一样大小,做小物体的目标识别。 2)用不同尺寸的卷积核。 小思考-----为什么原来多级的级联的卷积,最后的卷积的感受野很大了,为什么还能识别一些较小的物体,比如行人,想象一下最后一层的类别热度图,原因是: a 此类有较强的文理信息b 尺度还是比较大. faster RCNN最后一层卷积层只有14*14,最后也有很好的识别效果,究竟是为什么? 4、Attentive contexts for object detection 文章利用local(多尺度的cnn特征)和global(LSTM生成)来做目标识别。用global的原因是:图像中的其他信息有利于当前box的识别,比如图像中出现其他的汽车对当前框识别为汽车的提升很大,但在文章中global的提升不是很明显,只有的提升。作者所用的global信息感觉很一般,并没有真正用到lstm的作用。 思考一下,lstm到底怎么用才能提取global信息:之前不容易识别到的椅子或者瓶子,不能用cnn最后得到的特征,应为太稀疏了,一是瓶子之类的没有纹理信息,而是像椅子之类的纹理太乱,与其他的物体太冲突。可以利用本文lstm的思路,将隐层的输出当做test时候的隐层输入,怎么将这20类的所有隐层信息集合起来是个难点。 5. Recurrent Convolutional Neural Network for Object Recognition CVPR2015 清华大学 链接二 每一层卷积后用RNN(类似一种cnn,只不过权重共享),在参数较少的情况下,让网络的层数更深,每层获取的context信息更丰富,用cuda-convenet实现,文章借鉴意义不大,从引用量上就可以看出。 6. Image caption相关论文 show and tell: a neural image caption generator CVPR2015 image captioning with deep bidirectional LSTMs 此类文章的主要思想是将图像的cnn特征当做传统LSTM的输入,最终生成一句句子描述,对目标识别的借鉴意义不大. the best of convolutional layers and recurrent layers: a hybrid network for semantic segmentation 本文的主要思想也是用了3层的lstm去提特征,最后用1*1的卷积层降维到K(类别数)层的feature map,本身没有什么创意,只是效果很好. 而且文中作者又设计了一个FCN+LSTM的级联网络,效果做到了state-of-the-art. 借鉴的地方不多。 8. semantic object parsing with graph LSTM 本文主要思想是抛弃原来逐点做序列的思想,转而利用超像素做为序列,而且超像素的输入顺序是根据前一步FCN得到的confidence map决定。 Graph LSTM是用来做语义分割,是否可以借鉴用来做目标识别. 9. pixel recurrent nerual networks 本文利用pixel rnn来做图像的补全,将各种门的计算用cnn来实现,加快计算速度(仅限于门的计算,cell state的更新还是传统方式),最大的贡献是用了多中网络,pixel CNN pixel RNN multiscale RNN---先生成低分辨率的图像,然后用这些低分变率的pixel作为先验知识最终生成一幅完整的图。
【嵌牛导读】目标检测在现实中的应用很广泛,我们需要检测数字图像中的物体位置以及类别,它需要我们构建一个模型,模型的输入一张图片,模型的输出需要圈出图片中所有物体的位置以及物体所属的类别。在深度学习浪潮到来之前,目标检测精度的进步十分缓慢,靠传统依靠手工特征的方法来提高精度已是相当困难的事。而ImageNet分类大赛出现的卷积神经网络(CNN)——AlexNet所展现的强大性能,吸引着学者们将CNN迁移到了其他的任务,这也包括着目标检测任务,近年来,出现了很多目标检测算法。 【嵌牛鼻子】计算机视觉 【嵌牛提问】如何理解目标检测算法——OverFeat 【嵌牛正文】 一、深度学习的典型目标检测算法 深度学习目标检测算法主要分为 双阶段检测算法 和 单阶段检测算法 ,如图1所示。双阶段目标检测算法先对图像提取候选框,然后基于候选区域做二次修正得到检测结果,检测精度较高,但检测速度较慢;单阶段目标验测算法直接对图像进行计算生成检测结果,检测速度快,但检测精度低。 1、双阶段目标检测算法 双阶段目标检测方法主要通过选择性搜索(Selective Search)或者Edge Boxes等算法对输入图像选取可能包含检测目标的候选区域(Region Proposal),再对候选区域进行分类和位置回归以得到检测结果。 OverFeat 算法 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》 Sermanet 等改进AlexNet 提出 OverFeat 算法。该算法结合AlexNet通过多尺度滑动窗口实现特征提取功能,并且共享特征提取层,应用于图像分类、定位和目标检测等任务。 关键技术: 1、FCN( 全卷积神经网络 ) 对于一个各层参数结构都设计好的网络模型,要求输入图片的尺寸是固定的(例如,Alexnet要求输入图片的尺寸为227px*227px)。如果输入一张500*500的图片,希望模型仍然可以一直前向传导,即一个已经设计完毕的网络,可以输入任意大小的图片,这就是FCN。 FCN的思想在于: 1、从卷积层到全连接层,看成是对一整张图片的卷积层运算。 2、从全连接层到全连接层,看成是采用1*1大小的卷积核,进行卷积层运算。如上图所示,绿色部分代表卷积核大小。假设一个CNN模型,其输入图片大小是14*14,通过第一层卷积后得到10*10大小的图片,然后接着通过池化得到了5*5大小的图片。像但是对于像素值为5*5的图片到像素值为1*1的图片的过程中: (1)传统的CNN:如果从以前的角度进行理解的话,那么这个过程就是全连接层,我们会把这个5*5大小的图片,展平成为一维向量进行计算。 (2)FCN:FCN并不是把5*5的图片展平成一维向量再进行计算,而是直接采用5*5的卷积核,对一整张图片进行卷积运算。 二者本质上是相同的,只是角度不同,FCN把这个过程当成了对一整张特征图进行卷积,同样,后面的全连接层也是把它当做是以1*1大小的卷积核进行卷积运算。 当输入一张任意大小的图片,就需要利用以上所述的网络,例如输入一张像素为16*16的图片:根据上图,该网络最后的输出是一张2*2的图片。可见采用FCN网络可以输入任意大小的图片。同时需要注意的是网络最后输出的图片大小不在是一个1*1大小的图片,而是一个与输入图片大小息息相关的一张图片。 Overfeat就是把采用FCN的思想把全连接层看成了卷积层,在网络测试阶段可以输入任意大小的图片。 2、offset max-pooling 简单起见,不用二维的图像作为例子,而是采用一维作为示例: 如上图所示,在X轴上有20个神经元,并且选择池化size=3的非重叠池化,那么根据之前所学的方法应该是:对上面的20个神经元,从1位置开始进行分组,每3个连续的神经元为一组,然后计算每组的最大值(最大池化),19、20号神经元将被丢弃,如下图所示: 或者可以在20号神经元后面,添加一个数值为0的神经元编号21,与19、20成为一组,这样可以分成7组:[1,2,3],[4,5,6]……, [16,17,18],[19,20,21],最后计算每组的最大值。 如果只分6组,除了以1作为初始位置进行连续组合之外,也可以从位置2或者3开始进行组合。也就是说其实有3种池化组合方法: A、△=0分组:[1,2,3],[4,5,6]……,[16,17,18]; B、△=1分组:[2,3,4],[5,6,7]……,[17,18,19]; C、△=2分组:[3,4,5],[6,7,8]……,[18,19,20]; 对应图片如下: 以往的CNN中,一般只用△=0的情况,得到池化结果后,就送入了下一层。但是该文献的方法是,把上面的△=0、△=1、△=2的三种组合方式的池化结果,分别送入网络的下一层。这样的话,网络在最后输出的时候,就会出现3种预测结果了。 前面所述是一维的情况,如果是2维图片的话,那么(△x,△y)就会有9种取值情况(3*3);如果我们在做图片分类的时候,在网络的某一个池化层加入了这种offset 池化方法,然后把这9种池化结果,分别送入后面的网络层,最后的图片分类输出结果就可以得到9个预测结果(每个类别都可以得到9种概率值,然后我们对每个类别的9种概率,取其最大值,做为此类别的预测概率值)。 算法原理: 文献中的算法,就是把这两种思想结合起来,形成了文献最后测试阶段的算法。 1、论文的网络架构与训练阶段 (1)网络架构 对于网络的结构,文献给出了两个版本——快速版、精确版,一个精度比较高但速度慢;另外一个精度虽然低但是速度快。下面是高精度版本的网络结构表相关参数: 表格参数说明: 网络输入:图片大小为221px*221px; 网络结构方面基本上和AlexNet相同,使用了ReLU激活,最大池化。不同之处在于:(a)作者没有使用局部响应归一化层;(b)然后也没有采用重叠池化的方法;(c)在第一层卷积层,stride作者是选择了2,这个与AlexNet不同(AlexNet选择的跨步是4,在网络中,如果stride选择比较大得话,虽然可以减少网络层数,提高速度,但是却会降低精度)。 需要注意的是把f7这一层,看成是卷积核大小为5*5的卷积层,总之就是需要把网络看成前面所述的FCN模型,去除了全连接层的概念,因为在测试阶段可不是仅仅输入221*221这样大小的图片,在测试阶段要输入各种大小的图片,具体请看后面测试阶段的讲解。 (2)网络训练 训练输入:对于每张原图片为256*256,然后进行随机裁剪为221*221的大小作为CNN输入,进行训练。 优化求解参数设置:训练的min-batchs选择128,权重初始化选择高斯分布的随机初始化: 然后采用随机梯度下降法,进行优化更新,动量项参数大小选择,L2权重衰减系数大小选择10-5次方。学习率初始化值为,根据迭代次数的增加,每隔几十次的迭代后,就把学习率的大小减小一半。 然后就是DropOut,这个只有在最后的两个全连接层,才采用dropout,dropout比率选择。 2、网络测试阶段 在Alexnet的文献中,预测方法是输入一张图片256*256,然后进行multi-view裁剪,也就是从图片的四个角进行裁剪,还有就是一图片的中心进行裁剪,这样可以裁剪到5张224*224的图片。然后把原图片水平翻转一下,再用同样的方式进行裁剪,又可以裁剪到5张图片。把这10张图片作为输入,分别进行预测分类,在后在softmax的最后一层,求取个各类的总概率,求取平均值。 然而Alexnet这种预测方法存在两个问题: 一方面这样的裁剪方式,把图片的很多区域都给忽略了,这样的裁剪方式,刚好把图片物体的一部分给裁剪掉了; 另一方面,裁剪窗口重叠存在很多冗余的计算,像上面要分别把10张图片送入网络,可见测试阶段的计算量还是较大的。 Overfeat算法: 训练完上面所说的网络之后,在测试阶段不再是用一张221*221大小的图片了作为网络的输入,而是用了6张大小都不相同的图片,也就是所谓的多尺度输入预测,如下表格所示: 当网络前向传导到layer 5的时候,就利用了前面所述的FCN、offset pooling这两种思想的相结合。现以输入一张图片为例(6张图片的计算方法都相同),讲解layer 5后面的整体过程,具体流程示意图如下: 步骤一: 对于某个尺度的图片,经过前五层的卷积后得到特征图。上图中特征图的分辨率是20x23,256个通道。 步骤二: 对于该特征图,重复多次使用非重叠的池化,每次池化的偏置不同,有行偏置和列偏置。上图中偏置池化3次,偏置分别为为(0,1,2)。这就是offset pooling,也被称为fine stride。offset pooling得到的特征图的维度为6x7x3x3xD,其中6x7是特征图的分辨率,3x3是偏置池化的次数,D是通道数。上图中是以1维显示的。 步骤三: 池化后得到的特征图将被送入分类器。 步骤四: 分类器的输入是的5x5xD,输出是C(类别数)维向量。但是offset pooling后得到的特征图并不是5x5xD,比如上图中的特征图大小为6x7xD,因此分类器以滑动窗口的方式应用在特征图上,每个滑动窗口经过分类器输出一个C维向量。比如上图中输入的6x7xD的特征图最终得到2x3xC的输出,其中2x3是滑动窗口的个数。 步骤五: 而2x3xC只是一组偏置池化的输出,总的输出为2x3x3x3xC,将输出的张量reshape,得到6x9xC输出张量。最终输出分类张量为3d张量,即两个分辨率维度 x C维。 然后需要在后面把它们拉成一维向量,这样在一个尺度上,可以得到一个C*N个预测值矩阵,每一列就表示图片属于某一类别的概率值,并且求取每一列的最大值,作为本尺度的每个类别的概率值。 最后一共用了6种不同尺度(文献使用了12张,另外6张是水平翻转的图片)进行做预测,然后把这六种尺度结果再做一个平均,作为最最后的结果。 从上面过程可以看到整个网络分成两部分:layer 1~5这五层称之为特征提取层;layer 6~output称之为分类层。 六、定位任务 用于定位任务的时候,就把分类层(上面的layer 6~output)给重新设计一下,把分类改成回归问题,然后在各种不同尺度上训练预测物体的bounding box。
自己也可以到店找些相关的书籍就知道有那些栏目合适自己的了
电脑爱好者 计算机应用文摘 学生电脑 微型计算机 大众硬件 少年电脑世界 电脑报 黑客x档案 黑客防线 黑客手册 中国计算机报
给这。《电脑报》《软件指南》《计算机世界》《网友世界》《电脑应用文萃》《大众软件》《微型计算机》 《中国电脑教育报》《网管员世界》《中国计算机报》《电脑商情报》《黑客X档案》《微电脑世界》 《电脑迷》《计算机应用文摘》《新潮电子》《黑客防线》《学生电脑》《电脑时空》《每周电脑报》 《电脑爱好者》《电脑爱好者.普及版》《个人电脑》《新概念电脑》《开放系统世界》《大众电脑》 《现代计算机》《电脑自做》《数码时代》《电脑校园》《互联网天地》《新电脑》《计算机安全》 《中国计算机用户》《软件报》《电脑领域》《软件导刊》《网络与信息》《电脑采购》《视窗世界》 《大众硬件》《计算机应用与软件》《信息网络安全》《中小学电脑》《网络科技时代》《电脑学习》 《中小学电脑报》《少年电脑世界》《数码》《学电脑》《电脑编程技巧与维护》《计算机与网络》 《电子电脑》《电脑知识与技术》《轻松学电脑》《IT时代周刊》《计算机安全》《教育信息技术》 《大众网络报》《网友报》
1电脑爱好者2电脑迷3计算机世界4电脑报5个人电脑6大众硬件7大众软件8微型机算计