前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇卷积神经网络方法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
中图分类号:TP183 文献标识码:A 文章编号:1007-9416(2015)12-0000-00
1 引言
卷积神经网络(Convolutional Neural Network, CNN)具有良好的处理能力、自学能力及容错能力,可以用来处理复杂的环境信息,例如,背景情况不明,推理规则不明,样品存有一定程度的缺陷或畸变的情况。所以,卷积神经网络被广泛应用于目标检测、物体识别和语音分析等方面[1]。现场可编程门阵列(Field Programmable Gate Array, FPGA),作为可编程使用的信号处理器件,其具有高集成度、运行高速、可靠性高及采用并行结构的特点,易于配合CNN处理数据。
2 国内外研究现状
2.1 神经网络的模型结构
根据研究角度、数据传递方式、数据处理模式、学习方法等的不同,多种神经网络模型被构建出来。目前主要有四种模型被广泛应用中[2][3]:
(1)前馈型神经网络。此类神经元网络是由触突将神经原进行连接的,所以网络群体由全部神经元构成,可实现记忆、思维和学习。此种类型的网络是有监督学习的神经网络。(2)递归型神经网络。此种神经网络又称为反馈网络,以多个神经元互相连接,组织成一个互连的神经网络,使得电流和信号能够通过正向和反向进行流通。(3)随机型神经网络。此种神经网络的运行规律是随机的,通过有监督学习方法进行网络训练。(4)自组织竞争型神经网络。此种神经网络通过无监督的学习方法进行网络训练,一般具有两层网络结构,输入层和竞争层。两层间的各神经元实现双向全连接。
2.2 神经网络的学习方法
神经网络的学习方法用来解决调整网络权重的问题,是指完成输入特征向量映射到输出变量之间的算法,可以归纳为三类[4-7]:
(1)有监督的学习。在学习开始前,向神经网络提供若干已知输入向量和相应目标变量构成的样本训练集,通过给定输入值与输出期望值和实际网络输出值之间的差来调整神经元之间的连接权重。(2)无监督的学习。此种学习方法只需要向神经网络提供输入,不需要期望输出值,神经网络能自适应连接权重,无需外界的指导信息。(3)强化学习。此种算法不需要给出明确的期望输出,而是采用评价机制来评价给定输入所对应的神经网络输出的质量因数。外界环境对输出结果仅给出评价结果,通过强化授奖动作来改善系统性能。此种学习方法是有监督学习的特例。
2.3 卷积神经网络的结构
卷积神经网络为识别二维或三维信号而设计的一个多层次的感知器,其基本结构包括两种特殊的神经元层,一为卷积层,每个神经元的输入与前一层的局部相连,并提取该局部的特征[8];二是池化层,用来求局部敏感性与二次特征提取的计算层[8]。作为部分连接的网络,最底层是卷积层(特征提取层),上层是池化层,可以继续叠加卷积、池化或者是全连接层。
3 FPGA实现神经网络的并行体系结构
(1)卷积神经网络的计算架构。卷积神经网络可以使用“主机”与“FPGA”相结合的体系模型,主机用来控制计算的开始和结束,并在神经网络前向传播计算过程中,提供输入图像等数据。主机与FPGA之间的通信可以通过标准接口,在主机进行任务分配的过程中可以对FPGA上的卷积神经网络进行硬件加速。当卷积神经网络开始启动计算,通过标准接口接收到主机传输的图像时,FPGA开始进行计算,并且使用FPGA中的存储器来存储卷积核权值。FPGA将会先完成卷积神经网络前向传播过程的计算,然后将其最后一层计算得到的结果输出给主机。(2)卷积神经网络并行体系架构。一、单输出并行结构:每次计算一个输出图像,其中会将多个输入图像和多个卷积核基本计算单元同时进行卷积运算,然后将全部卷积运算的结果与偏置值进行累加,再将结果输入非线性函数和自抽样子层进行计算。二、多输出并行结构:若卷积神经网络的计算单元中含有多个单输出的并行结构,那么输入数据可同时传送到多个单输出计算单元的输入端,从而组成多个单输出计算单元组成的并行结构。在卷积神经网络的并行计算结构中,每个卷积核计算单元在进行卷积操作时都要进行乘加运算,所以,有必要将单个的卷积运算拆分实现并行化,并且可以尝试将同一层内的多个卷积运算进行并行化。
4 结语
本文对卷积神经网络进行了介绍,总结了国内外的研究现状,结合卷积神经网络运算的特点与FPGA的快速计算单元数量及功能方面的优势,尝试阐述了在FPGA映射过程的卷积神经网络的并行体系结构。
参考文献
[1] Fan J,Xu W,Wu Y,et al. Human tracking using convolutional neural networks[J].IEEE Transactions on Neural Networks,2010(10):1610-1623.
[2] 杨治明,王晓蓉,彭军.BP神经网络在图像分割中的应用.计算机科学[J].2007(03):234-236.
[3] Simon Haykin . Neural networks ,a comprehensive foundation[M].second edition,Prentice Hall,1998.
[4] Herta J , et al.Introduction to Theory of Neural Compution[M].Sant Fee Complexity Science Series,1991.156.
[5] 戴奎.神经网络实现技术[M].长沙:国防科技大学出版社,1998.
[6] 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1996.
关键词:手写数字识别;卷积神经网络;应用
手写体数字识别在邮政、金融等领域应用广泛。对于数字识别,人们往往要求识别器有很高的识别可靠性,数字识别的错误所带来的影响比文字识别等其他识别所带来的影响更大,特别是有关金融方面的数字识别错误所带来的后果是无法想象的,识别错一个数字,这其中的差距可能是几的差距,也可能是几十、几百的差距,这些都还是小问题;但更有可能这一个数字代表的差距是几万、几千万甚至几亿乃至更多,那么这个错误造成的损失就无法估量了。因此,O计出有着高可靠性与高识别率的数字识别系统已经成为了字符识别领域一个非常重要的环节。
1 网络模型和数据库及学习算法的选择
1.1 关于Mnist数据库的介绍
首先,Mnist是NIST数据库的一个优化子集。它是一个有着60000个训练样本集与10000个测试样本集的手写体数字数据库。此数字库一共有4个文件。
此数字库的所有样本集都有图像文件以及标签文件。标签文件的作用是用来储存样本集中的每个样本的数值标签,而每一个样本的图像数据信息则是由图像文件存储着。此数据库的图像数据均保存在二进制文件之中,且每个样本图像的大小均为28*28。
1.2 数字识别的模型选择
手写体数字虽然只有0~9十个数字,但由于写法因人而异,不同地域同样一个数字有多种不同的写法,每个人都有自己的书写习惯。且一些纸质差异、笔画粗细、光线问题、位置、尺度大小等等多种因素都能对输入产生影响。考虑到这些因素,为让网络有良好的识别能力,我们这里采用在图像识别领域有着优秀表现的卷积神经网络作为此数字识别系统的训练模型。
1.3 学习算法的选择
一个优秀的网络模型必须具备良好的学习算法,每个学习网络都有着相对来说较为合适自己的学习算法,而并不是说越高端的算法就越好。在此文中,我选择的学习算法是较为成熟的BP算法。此算法在文字前面有些许介绍,此处不再多做说明。
2 基于卷积神经网络的数字识别系统的设计
2.1 输入层以及输出层设定
根据样本的特征与此网络的网络结构,可以大概判断出输入层与输出层该如何设置。隐含层的个数可以是一个,也可以是多个,这与要分类的问题有关。
前文提及到在mnist数据库中,所有的图像都是28*28大小的,且以整个图片的像素形式存储在数据文件之中。每张图像大小为28*28,故一个图片像素点个数为784个。这里,卷积神经网络的输入即为这784个像素点。
因为数字识别需要识别的是0~9这十个数字,即需要识别十种字符类别,所以将这个神经网络输出层的神经元节点数设置为10。
2.2 网络的中间层设置
卷积神经网络的中间层有两个部分,即卷积层(特征提取层)与下采样层(特征映射层),由第二章中图2-1所示,C1、C3为卷积层,S2、S4为降采样层。
1)激活函数选择
激活函数选择sigmoid函数。同样,在第二章有所提及。Sigmoid函数是严格递增函数,能较好的平衡线性与非线性之间的行为,比较贴近生物神经元的工作。相比于其他函数,sigmoid函数还存在着许多优势,比如光滑性、鲁棒性以及它的导数可以用它自身来表示。
sigmoid函数为:
(1)
其中,x为神经元净输入。
激活函数导数为:
(2)
2)卷积层设计
图像经过卷积核对特征图进行卷积,之后再经过sigmoid函数处理在卷积层得到特征映射图。特征映射图相比于原图像,其特征更为明显突出。
卷积运算其实就是一个加权求和的过程。离散卷积是本文所选取的方法,规定卷积核在水平和竖直两个方向每次都是移动一个像素,即卷积的步长为1。
3)下采样层的设计
根据图像局部相关性这一原理,为了降低网络的学习维度、减少需要处理的数据量且保留图像的有用信息,可以对卷积后的图像进行下采样。这里,我们采取的是取卷积层4个像素点平均值为下采样层的一个像素点的方法。这样可以降低网络规模。
2.3 网络总体结构CNN-0
根据LeNet-5结构,再结合上文中的对输入层、输出层、中间层的设计,完成了如图3-1所示的基本网络结构:
相比于LeNet-5,CNN-0做了一些修改,并非完全按照LeNet-5网络结构模型。Sigmoid函数是本网络中的激活函数,选择这个函数的好处在于可以让所有层得到的输出都在区间[-1,1]之内。网络训练的学习率固定值为1或者是衰减的学习速率。经过卷积后的一维向量与输出层没有沿用LeNet-5的径向基函数网络,而是采取全连接方式,省去了F6层。
3.3 卷积神经网络训练过程
在模式识别中,学习网络有无指导学习网络与有指导学习网络两个类别。无指导学习网络一般是用来进行聚类分析,本文采取的是有指导学习网络。
卷积神经网络其实就是从输入到输出的一种映射,它可以学量的映射关系,只需要用现有的模式对网络进行训练,网络就能具备映射能力。而不需要输入与输出之间的精确的关系。
训练算法与传统的BP算法相差无几(BP算法在第二章有做概述),主要可分为四个步骤,而这四个步骤可以归为向前传播阶段与向后传播阶段:相前传播:
1)随机的从样本集中获取一个样本(A, ),然后将A输入至网络中;
2)根据公式(3)计算出实际输出:
(3)
向后传播:
1)计算和理想输出之间的差;
2)根据极小化误差方法调整权值矩阵。
结语
在手写数字识别这一块,相对来说比较有难度的应该就是脱机自由手写字符识别了,不过本文所研究的并不是这一系统,本设计是一个基于卷积神经网络的手写数字识别系统,因卷积神经网络的局部感受野和降采样以及权值共享、隐性特征提取等优点,它在图像识别领域得到了非常广泛的应用。此程序是在Caffe这个框架上进行运行的,操作系统为Linux系统ubuntu14.04版本。Caffe是一个开源的深度学习框架,也可以说是一个编程框架或者模板框架,它提供一套编程机制。因此,本文所需要实际的卷积神经网络就可以根据这个框架来进行构建。
参考文献:
[1]张伟,王克俭,秦臻.基于神经网络的数字识别的研究[J].微电子学与计算,2006年第23卷第8期.
关键词: 列车车号; 车号识别; 卷积神经网络; LeNet?5
中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2016)13?0063?04
Abstract: For the character recognition of freight train license, the improved recognition method based on convolutional neural network LeNet?5 is proposed. Considering the structural features of the hierarchical convolutional neural network and local field, the parameters of quantity and size of each layer feature pattern in the network were improved correspondingly to form the new network model suitable for the freight train license recognition. The experimental results show that the proposed method has strong robustness to solve the license breakage and stain, and high recognition rate, which provides a guarantee for the accuracy of the entire license recognition system.
Keywords: train license; license recognition; convolutional neural network; LeNet?5
0 引 言
目前货运列车车号识别系统[1?2]主要是基于RFID技术实现的,但是,由于该系统的准确性依赖于列车底部安装的RFID标签,而RFID标签容易损坏、丢失,因此,此类系统无法保证车号识别的准确性。为此,研究者开发了基于图像的货运列车车号识别系统,系统根据视频采集到的图像,利用模糊集合论[1?2]、人工神经网络[3]、支持向量机[4]以及隐马尔可夫模型[4]等技术进行车号字符的识别。但是,由于货运列车车号存在因喷涂方式而导致的单个字符断裂,或者列车长期的野外运行导致的车厢污损,车号字符的残缺等现象,这使得目前的基于图像的货运列车车号识别系统的鲁棒性与识别率还有待进一步提高。
LeNet?5[5?7]是由YannLecun等人提出的一种专门用于二维图像识别的卷积神经网络,该网络避免了人工提取特征依赖于主观意识的缺点,只需要将归一化大小的原始图像输入网络,该网络就可以直接从图像中识别视觉模式。LeNet?5把特征提取和识别结合起来,通过综合评价和学习,并在不断的反向传播过程中选择和优化这些特征,将特征提取变为一个自学习的过程,通过这种方法找到分类性能最优的特征。LeNet?5已经成功应用于银行对支票手写数字的识别中。
为此,本文将卷积神经网络LeNet?5应用于列车车号字符的识别中,为了使之适用于列车车号字符的识别需求,去除掉了LeNet?5中的一些针对手写字符识别而特别设计的连接方式及参数,并在此基础上,改变网络中各层特征图的数量以形成新的网络模型。
1 LeNet?5的改进
卷积神经网络可以从很多方面着手改进。诸如多层前馈网络,可以考虑在误差函数中增加惩罚项使得训练后得到趋向于稀疏化的权值,或者增加一些竞争机制使得在某个特定时刻网络中只有部分节点处在激活状态等。本文主要从卷积神经网络的层次化以及局部邻域等结构上的特点入手,考虑卷积神经网络中各层特征图数量及大小对网络训练过程及识别结果的影响。
以LeNet?5结构为基础,去除掉LeNet?5中的一些针对手写字符识别而特别设计的连接方式及参数,得到改进后的神经网络。在此基础上,改变网络中各层特征图的数量以形成新的网络模型。定义一种新的网络模型,将其命名为LeNet?5.1,该网络结构与LeNet?5基本相同,主要做出以下改变:
(1) 将原先LeNet?5所采用的激活函数由双曲正切函数修改为Sigmoid函数,此时,网络中所有层的输出值均在[0,1]区间内,输出层的最终结果也将保持在[0,1]区间内。
(2) 省略掉F6层,将输出层与C5层直接相连,连接方式为全连接,而不是原LeNet?5中所采用的径向基函数(RBF)网络结构。
(3) 简化原LeNet?5中的学习速率。原LeNet?5网络中采用的学习速率为一个特殊的序列,而在本网络中将学习速率固定为0.002。
(4) 输入数据原始尺寸为28×28,采取边框扩充背景像素的方法将图像扩充至32×32。
之所以做以上相关改动,是因为原始的LeNet?5就是专门为手写字符识别任务而特殊设计的,这就造成了LeNet?5网络中相关的预处理及参数的选择过程或多或少均带有一些针对特定问题的先验知识。例如激活函数中参数的选择,学习速率定的速率序列以及数据预处理殊的填充方式等,这些特定的设计使得LeNet?5在其他任务的识别过程中并不一定适用,或者需要进行长期的观察实验以选得一组针对特定任务的较好的值,造成了LeNet?5不能快速的应用于除手写字符外其他的识别任务中。
2 改进后的网络对列车车号字符的识别
车号经过分割之后为一个个的单字符图像,采用边框扩充背景像素的方法将其归一化为32×32,如图1所示。
由图1中可以看出,待识别的字符图像质量不高,有的数字字符出现残缺、断裂或者严重变形。这都给识别任务提出了一定的挑战。
本文采集到的车号图像来自于不同型号的货运列车。从中选取400幅图像作为训练集,另外选取400幅图像作为测试集。用上一节提出的LeNet?5.1网络进行训练,误分类率曲线如图2所示。可以看出,在LeNet?5.1训练过程中,训练MCR(Misclassification Rate)和测试MCR的变化过程相对稳定,验证了改进后网络结构的合理性。在经过16次的迭代之后,测试MCR降至最低(5.75%),之后基本保持稳定,即16次迭代之后,网络达到了当前的最佳训练效果,达到了收敛状态。这时,训练MCR为0.5%,测试MCR是5.75%。
训练过程中的误分类率曲线
而针对相同的数据,采用原始的LeNet?5进行训练和测试后,误分类率如图3所示。从图3中可以看出,LeNet?5经过了18次的迭代后,测试MCR才达到相对稳定的状态,降至6%,最终的训练MCR为1%。相比之下,经过简化和改进的LeNet?5.1,由于改进了原始的LeNet?5中专门为手写字符识别任务而特殊设计的一些预处理及函数选择等固定模式,并且精简了网络结构,使得LeNet?5.1在列车车号的识别方面具有了更快的训练速度和收敛速度,另外,最终达到的准确度也有所提升。
在证明了改进后的LeNet?5.1网络的合理性之后,增加训练图像的规模,采用10 000幅车号数字字符图像用来训练,5 000幅用来测试。为了与其他方法进行比较,采用相同的训练数据对车号识别中常用的三层BP网络进行训练和测试,这里采用的BP网络隐含层节点数量为450,学习速率采用0.01。实验结果比较如表1所示。从表1可以看出,改进后的LeNet?5.1网络的识别率比BP网络的识别率高出4.62个百分点,在识别速度方面,LeNet?5.1也明显优于传统的BP神经网络。
3 针对车型号字母识别而改进的神经网络及其结果
货运列车车号的组成是由车型号与车号共同组成的,因此还需要对车型号进行识别,车型号中除了有阿拉伯数字字符之外,还有很多表示车种及车厢材质等属性的英文字母,这些英文字母同样采用卷积神经网络来识别。由于车型号很多,初期针对若干常用型号的列车进行识别,以测试网络的性能,后期对全车型进行识别。
3.1 常用列车车型的识别
在试运行阶段主要识别的车型局限于7种主要的车型:C64K,C64H,C70A,C70E,C80,C62AK和C62BK。由于车种都为敞篷车(第一个大写字母C),主要对后面代表该车型载重量的两位数字以及最后代表车厢材质等属性的字母进行识别。考虑到车型号字符串的固定模式,如图4所示,可以分别建立两个不同的卷积神经网络分别用来识别数字和字母,由于之前已经解决了数字的识别问题,接下来主要进行字母的识别。要识别的代表车厢材质的字母共有6个:K,H,A,E,A和B,为了尽可能的避免因字母分割问题而导致的识别错误,把AK和BK分别作为一个整体来识别,那么需要识别的字符组合变为:K,H,A,E,AK和BK。由于识别种类的减少,可以对网络模型LeNet?5.1进行相应的简化,命名该模型为LeNet?5.2。
LeNet?5.2是在LeNet?5.1的基础上进行改动而得到的:
(1) 卷积层C1的特征图由6个减少为4个,相应地,S2层的特征图也由6个减少为4个。
(2) 卷积层C3的特征图由16个减少为11个,相应地,S4层的特征图也由16个减少为11个。
(3) 卷积层C5的特征图个数由120个减少为80个。
(4) 输出分类的数目由10个减少为6个。
另外,卷积层C3层与次抽样层S2层的连接情况如表2所示。
表2的连接方式采用与表1相同的思想,每一列都说明了C3层中的一个特征图是由S2中的那几个特征图结合而成。卷积层C3中第0个至第5个特征图分别与次抽样层S2中的两个特征图相连接,一共6种组合。C3中的这6个特征图负责抽取上一层中某两个特征图所潜在的特征。C3层中第6个至第9个特征图中每个特征图分别对应上一层中的3个特征图的组合,而C3层中最后一个特征图则与上一层中所有的特征图相连接。这样卷积层C3中的特征图就包含了次抽样层S2中多个特征图的所有组合,这样使得卷积层C3抽取到的特征比S2层更抽象、更高级,同时,相对于输入数据,C3层相比S2层具有更好的对位移、扭曲等特征的不变性。
相比LeNet?5.1,LeNet?5.2将网络层中的特征图数量做了相应的削减,减少了网络中可训练参数的数量。
实验数据来自以上提到的7类常用车型。经过前面过程的定位和分割之后,将分割之后代表车厢材质等属性的字母图像收集起来。本实验中,共收集到6种代表不同车厢材质属性的字母共800幅,其中400幅用作训练数据,另外400幅用作测试数据。
图5为LeNet?5.2使用以上数据训练过程中得到的MCR曲线图。由图5中可以看出,在经过13次迭代之后,测试MCR达到最低的3.25%,并且在随后的迭代过程中基本保持稳定,而对应的训练MCR为0.75%。
3.2 全车型识别
经过对铁道行业标准《铁路货车车种车型车号编码》(TB2435?93)里面包含的所有车型号进行统计,除了10个阿拉伯数字外,包括了除O,R,V,Z四个字母外所有的大写英文字母,总共有32类字符。
训练过程中的误分类率曲线
针对车型号的识别需求,本文在LeNet?5.1的基础上提出了一种新的网络模型,称之为LeNet?5.3。与LeNet?5.2相反,LeNet?5.3是在LeNet?5.1的基础上对网络中各层的特征图数量进行扩充:
(1) 卷积层C1的特征图由6个增加至8个,相应地,S2层的特征图也由6个增加至8个。
(2) 卷积层C3的特征图由16个增加至24个,相应地,S4层的特征图也由16个增加至24个。
(3) 卷积层C5的特征图个数由120个增加至240个。
(4) 输出层神经元的个数由10个增加至32个。
其中卷积层C3层与次抽样层S2层的连接情况参考LeNet?5.2所采用的原则,使卷积层C3中的特征图包含次抽样层S2中多个特征图的主要组合。
与LeNet?5.1相比,LeNet?5.3需要有更多的输出类别,各层的特征图数量也做了相应的增加,以增加整个网络的识别性能。为了验证改进后的LeNet?5.3的性能,收集了大量真实列车车厢图片,经过车号定位和分割之后,将单个的数字字符或者大写字母字符图像尺寸依次归一化为32×32,分别建立训练图像库和测试图像库。
由于LeNet?5.1各层的特征图数量多,因此该网络涉及到的可训练参数也大大增加,这也意味着需要更多的数据样本用于网络训练。若训练集和测试集规模依然采用跟前面实验中一样的各400幅,训练过程中的误分类率曲线如图6所示,图6中的曲线变化非常不稳定,波动较大。测试MCR达到最低点后又突然升高,不能获得稳定的分类结果,训练过程无法收敛。
网络训练过程中无法收敛的主要原因在于相比网络中过多的需要训练确定的权值,数据集规模过小,已然不能满足学习的要求。从特征图角度来看,网络无法通过不充足的训练样本学习到稳定而有效的特征图组合,从而导致了网络不收敛。要解决这个问题需要加大测试样本的数量。
为了训练和测试LeNet?5.3,对数据集进行了扩充:训练图像库包含字符图像4 000幅,测试图像库包含字符图像2 000幅。训练过程中的误分类率曲线如图7所示。从图7中可以看出,经过32次迭代之后网络趋于收敛,并且达到了较好的识别率。
4 结 语
本文针对货运列车车号识别的难题,提出了基于卷积神经网络LeNet?5改进后的识别方法,主要对卷积神经网络中各层特征图数量及大小进行了改进。且与传统的BP网络进行了比较,从实验结果可以看出,改进后的卷积神经网络无论在鲁棒性还是识别率以及识别速度上都优于BP网络,可以很好地胜任列车车号识别任务。
参考文献
[1] 宋敏.铁路车辆车号自动识别系统的研究和开发[D].天津:河北工业大学,2011:1?5.
[2] LU S, CHEN B M, KO C C. Perspective rectification of document images using fuzzy set and morphological operations [J]. Image and vision computing, 2005, 23(5): 541?553.
[3] SHAH P, KARAMCHANDANI S, NADKAR T, et al. OCR?based chassis?number recognition using artificial neural networks [C]// Proceedings of 2009 IEEE International Conference on Vehicular Electronics and Safety (ICVES). [S.l.]: IEEE, 2009: 31?34.
[4] CHEN D, BOURLARD H, THIRAN J P. Text identification in complex background using SVM [C]// Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2001: 621?626.
[5] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278?2324.
[6] LECUN Y A, BOTTOU L, ORR G B, et al. Efficient backprop [M]// Anon. Neural networks: tricks of the trade. Berlin: Springer Berlin Heidelberg, 1998: 9?50.
1.神经网络的架构正变得越来越复杂。感知和翻译等大多数神经网络的架构正变得越来越复杂,远非此前简单的前馈神经网络或卷积神经网络(CNN)所能比。特别需要注意的是,神经网络正与不同的技术(如LSTMs、自定义目标函数等)相混合。
神经网络是多数深度学习项目的根基。深度学习基于人脑结构,一层层互相连接的人工模拟神经元模仿大脑的行为,处理视觉和语言等复杂问题。这些人工神经网络可以收集信息,也可以对其做出反应。它们能对事物的外形和声音做出解释,还可以自行学习与工作。
2.长短期记忆网络(LSTMs)。当你阅读本文时,你是在理解前面词语的基础上来理解每个词语的。你的思想具有连续性,你不会丢弃已知信息而从头开始思考。传统神经网络的一大缺陷便无法做到这一点,而递归神经网络能够解决这一问题。
RNN(循环神经网络)拥有循环结构,可以持续保存信息。过去几年里,RNN在语音识别和翻译等许多问题上取得了难以置信的成功,而成功的关键在于一种特殊的RNN――长短期记忆网络。
3.“注意力模型”。“注意力”是指神经网络在执行任务时知道把焦点放在何处。我们可以让神经网络在每一步都从更大的信息集中挑选信息作为输入。例如,当神经网络为一张图片生成标题时,它可以挑选图像的关键部分作为输入。
4.神经图灵机依然有趣,但还无法胜任实际工作。当你翻译一句话时,并不会逐词进行,而会从句子的整体结构出发。机器难以做到这一点,这一挑战就被称为“强耦合输出整体估计”。
神经图灵机就是研究者们在硅片中重现人类大脑短期记忆的尝试。它的背后是一种特殊类型的神经网络,它们可以适应与外部存储器共同工作,这使得神经网络可以存储记忆,还能在此后检索记忆并执行一些有逻辑性的任务。
5.深度学习让计算机视觉和自然语言处理不再是孤岛。卷积神经网络最早出现在计算机视觉中,但现在许多自然语言处理(NLP)系统也会使用。LSTMs与递归神经网络深度学习最早出现在NLP中,但现在也被纳入计算机视觉神经网络。
此外,计算机视觉与NLP的交汇仍然拥有无限前景。
6.符号微分式越来越重要。随着神经网络架构及其目标函数变得日益复杂,手动推导出“反向传播”的梯度也变得更加困难而且容易出错。谷歌的TensorFlow等最新的工具包已经可以超负荷试验符号微分式,能够自动计算出正确的微分,以确保训练时误差梯度可被反向传播。
7.神经网络模型压缩的惊人成果。多个团队以不同方法大幅压缩了训练一个良好模型所需的素材体量,这些方法包括二值化、固定浮点数、迭代修剪和精细调优步骤等。
这些技术潜在的应用前景广阔,可能将会适应在移动设备上进行复杂模型的训练。例如,不需要延迟就可以得到语音识别结果。此外,如果运算所需要的空间和时间极大降低,我们就可以极高帧率(如30 FPS)查询一个模型,这样,在移动设备上也可以运用复杂神经网络模型,近乎实时地完成计算机视觉任务。
8.深度学习和强化学习继续交汇。在“端对端”机器人等领域出现了令人激动的进展,现在机器人已经可以一起运用深度和强化学习,从而将原始感官数据直接转化为实际动作驱动。我们正在超越“分类”等简单工作,尝试将“计划”与“行动”纳入方程。
关键词:图像复原;盲复原;逆滤波;神经网络复原
1 图像退化及复原模型
1.1 图像降质的数学模型
图像复原处理的关键问题在于如何建立退化模型。假定输入图像f(x,y)经过某个退化系统后输出的是一幅退化的图像。为了方便讨论, 把噪声引起的退化(即噪声)对图像的影响一般作为加性噪声考虑,这也与许多实际应用情况一致,如图像数字化时的量化噪声、随机噪声等就可以作为加性噪声,即使不是加性噪声而是乘性噪声,也可以用对数方式将其转化为相加形式。原始图像f(x,y) 经过一个退化算子或系统H(x,y) 的作用,然后和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。图像退化的过程可以用数学表达式写成如下的形式:
g(x,y)=H[f(x,y)]+n(x,y)
n(x,y)是一种统计性质的信息下图表示退化过程的输入和输出的关系,其中H(x,y)包含了退化系统的物理过程,即所要寻找的退化数学模型。
1.2 图像的退化恢复模型
数字图像的图像恢复问题可以看作是:根据退化图像g(x ,y)和退化算子H(x ,y)的形式,沿着逆向过程去求解原始图像f(x ,y), 或者说逆向地寻找原始图像的最佳近似估计。
2 研究背景与意义
图像复原是数字图像处理技术的一个重要研究方向,在现实生活中,有着非常广阔的应用前景和市场。数字图像处理研究很大部分是服务于数字图像复原的,而运动模糊图像的复原又是图像复原中的重要课题之一,从六十年代起就有人研究它。初期研究的主要原因是对卫星所拍摄的图像进行复原,因为卫星相对地球是运动的,所拍出的图像是模糊的(当然卫星所拍摄图像的模糊原因不仅仅是相对运动而造成的,还有其他原因如大气湍流所造的模糊等等)。美国的喷气推进实验室(JPL)对徘徊者飞行器发回的月球照片进行了图像恢复处理。传统的图像恢复方法可以很好地恢复出来原始图像,但是需要事先知道系统的先验知识(例如系统的点扩散函数)。在先验知识不足的情况下,如何恢复出来原始图像?这就需要模糊图像盲恢复技术。根据不同的应用背景和先验知识,大致可以两种方法恢复两种类型的模糊图像,以满足不同的应用要求。
第一种方法:如何快速恢复模糊图像,进行适时性图像处理?这个技术在实际生活中有着广泛应用。
第二种方法:如何在事先不能确定模糊系统点扩散函数的情况下,恢复模糊图像,改善图像的质量,这就是图像盲恢复的问题。
3 国际国内研究发展和现状
从历史上来看,数字图像处理研究有很大部分是在图像恢复方面进行的,包括对算法的研究和针对特定问题的图像处理程序的编写。数字图像处理中很多值得注意的成就就是在这两方面取得的。
在六十年代中期,去卷积(逆滤波)开始被广泛地应用于数字图像恢复。这一阶段对模糊图像的研究主要是把因相对运动而拍摄的模糊图像复原过来,从而增强人们的判读能力。早期做图像复原研究,主要强调尽可能使模糊图像复原到原貌,增加它的判读性,在此发展了很多的复原方法,诸如:差分复原、维纳滤波等.这些方法各有特点,较好的解决了运动模糊图像的判读问题,但是在应用上均有一定的限制。
虽然经典的图象复原方法不少,但归纳起来大致可分为逆滤波法,或称相关变换法( inv ersefiltering or t ransfo rm related techniques) 和代数方法( alg ebraic techniques) 两种。
3.1 传统复原法
3.1.1 逆滤波方法
逆滤波法大致有经典逆滤波法、维纳滤波法、卡尔曼滤波法等. 其中,在傅立叶变换域,经典逆滤波的变换函数是引起图象失真的变换函数的逆变换,其虽在没有噪声的情况下,可产生精确的复原图象,但在有噪声时,将对复原图象产生严重的影响,虽然滤波函数经过修改,有噪声的图象也能复原,但它仅适用于极高信噪比条件下的图象复原问题; 维纳滤波法是通过选择变换函数,同时使用图象和噪声的统计信息来极小化均方复原误差,这虽然在一定程度上克服了逆滤波法的缺点,但是维纳滤波法需要较多有关图象的先验知识,如需要对退化图象进行满足广义平稳过程的假设,还需要知道非退化图象的相关函数或功率谱特性等等,而在实际应用中,要获得这些先验知识有较大的困难,为此,Ozkan 等人在研究图象序列的复原问题时,提出了一种解决空间和时间相关性的多帧维纳滤波法,是近年来维纳滤波法的新发展; 卡尔曼滤波是一种递归滤波方法,其虽可用于非平稳图象的复原,但是因计算量过大,而限制了其实际应用的效果。 Wu 和Kundu 又对卡尔曼滤波方法进行了改进,不仅提高了速度,并考虑了应用于非高斯噪声的情况; Cit rin 和Azimi-Sadjadi 也对卡尔曼滤波方法进行了改进,提出了块卡尔曼滤波方法; Koch 等提出了扩展卡尔曼滤波( extended Kalmam filter) 复原方法,该方法可以较好地复原模糊类型不相似的退化图象.除了上述的逆滤波方法外,还有参数估计滤波法,它实质上是维纳滤波法的变种. 20 世纪90 年代初,又提出了基于递归图象滤波的自适应图象复原方法及合成滤波方法,它代表了滤波方法新的发展方向. 1998 年Kundur 等人首先明确提出了递归逆滤波( recursiv e inv er se filter ing ) 算法 ,2000 年Chow 等人又进行了改进,即在代价函数中增加了空间自适应正则化项,从而很好地抑制了噪声,并减少了振铃现象,较好实现了在低SNR 条件下的盲图象复原. 2001 年,Eng 等人结合模糊集的概念,提出了自适应的软开关中值滤波方法,它能在有效地去掉脉冲噪声的同时,很好地保存图象的细节,是一种值得重视的新的图象复原方法。
3.1 2 代数方法
Andrews 和Hunt 提出了一种基于线性代数的图象复原方法。这种方法可能比较适合那些相对于积分运算,则更喜欢矩阵代数,而相对于分析连续函数,又更喜欢离散数学的人的口味。它为复原滤波器的数字计算提供了一个统一的设计思路。代数方法可分为伪逆法、奇异值分解伪逆法、维纳估计法和约束图象复原方法等。 其中,伪逆法,实质上是根据图象退化的向量空间模型来找到引起图象退化的模糊矩阵,但由于模糊矩阵总是很大的,因此在计算上往往不可行; 而奇异值分解伪逆法则是利用矩阵可分解成特征矩阵系列的思想,将模糊矩阵进行分解,由于简化了计算,从而有利于模糊矩阵的估计计算,但在有噪声存在时,经常会出现不稳定的现象; 维纳估计法虽然考虑了噪声的情况,但它仅适合噪声是二维随机过程,且已知其期望和协方差的情况。前面的方法仅把图象看成是数字的阵列,然而一个好的复原图象应该在空间上是平滑的,其在幅度值上是正的,而约束图象复原方法就是将这些因素作为约束条件,如基于维纳估计法和回归技术而提出的图象复原方法就是一种约束图象复原方法,而且通过选取不同的约束参数和回归方法可以得到不同的图象复原算法。传统的图象复原算法或面临着高维方程的计算问题,或要求恢复过程满足广义平稳过程的假设,这就是,使得具有广泛应用价值的图象复原问题没有得到圆满的解决的根本原因。
3.2 神经网络图象复原的方法
神经网络图象复原方法的发展方向自从神经网络图象复原首次提出十多年来,其研究在不断地深入和发展,描述它的现状已属不易,展望它的未来更是困难,况且科学研究具有不确定性. 据笔者判断,如下诸方面是亟待解决的问题,或研究活动已有向这些方面集中的趋势。
3. 2.1小波神经网络用于图象复原将是研究的重点
自1992 年Zhang 提出小波神经网络以来,如今已提出了各种类型的小波网络,且小波与神经网络的结合成了一个十分活跃的研究领域。通过学者们的理论分析和模拟实验表明: 由于小波神经网络具有逼近能力强、可显著降低神经元的数目、网络学习收敛的速度快、参数( 隐层结点数和权重) 的选取有理论指导、能有效避免局部最小值问题等优点,因此将其用于图象复原是一个值得研究的方向。将小波的时频域局部性、多分辨性等性质,与神经网络的大规模并行性、自学习特性等优点结合起来,不仅将使用于图象复原的小波神经网络具有自适应分辨性,也将使正则化参数的选取更具有自适应能力. 最终使复原图象既能保持图象的细节,又能很好地抑制图象中的各种噪声。
3.2.2细胞神经网络、BP 网络、自组神经网络
值得进一步研究细胞神经网络( CNN ) 由于其具有易于硬件实现的特点,因而具有很强的商业价值,但由于其自身还有很不成熟的地方,因此值得深入地研究. 其研究方向有: 细胞神经网络理论基础的进一步完善及在此基础上建立细胞神经网络中邻域系统的概念; 与图象数据局部相关性等概念结合起来研究,以建立新的图象复原理论,形成新的图象复原技术。BP 网络对受污染或带噪声的训练样本,不仅能进行正确的映射,且与其纯样本仍相似。 正是BP 网络的泛化能力强,使它在解决图象复原问题时,可能比其他神经网络具有更好的潜在性能。 将BP 网络用于图象复原是很值得进一步研究的.大家知道,人脑的学习方式是“自主的”,即有自组织和自适应的能力的,即人脑能在复杂、非平稳和有“干扰”的环境及其变化的情况下,来调整自己的思维和观念,还能根据对外界事物的观察和学习,找到其内在的规律和本质属性,并能在一定的环境下,估计到可能出现的情况以及预期会遇到和感觉到的各种内容及情况。 自组织神经网络(SONN) 正是基于人脑的这些功能而生成的,由于它具有能从输入的数据中,揭示出它们之间内在关系的能力,因此将其用于“盲图象”的复原将是非常有利的。
3.2.3 需要提出更适合图象复原的新神经网络模型
小波神经网络是为逼近任意非线性函数而提出来的,但为了图象复原的需要,可考虑针对图象复原的特殊情况,提出新的神经网络模型。 如,因为大多数图象是由平滑区域和轮廓细节组成的,其图象数据在平滑区域虽具有较强的相关性,但与轮廓细节相邻的数据应极不相关,所以,提出一种专用于图象复原的“相关性神经网络模型”是必然的期待; 再有,因为多项式具有较广的拟合性和较好的收敛性,所以应提出的“多项式神经网络”,将它们用于图象复原也是值得研究的。
3.2.4 神经网络与其他理论的结合
研究是寻求新模型、新方法的重要途径目前神经网络的研究正由单纯的神经计算转向计算智能,并结合脑科学的研究向生物智能方向发展。 为此,神经网络图象复原的研究也应考虑吸收模糊、分形、混沌、进化计算、信息融合等交叉学科的研究成果。 与模糊系统的结合将是一个重要的研究方向,因为,神经网络与模糊系统有如下很多的相同之处: ( 1) 它们在处理和解决问题时,无需建立对象的精确数学模型,而只需要根据输入的采样数据去估计其要求的决策; ( 2) 在对信息的加工处理过程中,均表现出了很强的容错能力; ( 3) 它们都可以用硬件来实现. 由此可见,将神经网络与模糊系统结合,用于图象复原将是有意义的研究工作。
4 未来展望
图像恢复发展到现在,已经有了许多成熟的算法,但是还是存在许多问题,等待着我们去解决。目前图像恢复的最新发展有:
1. 非稳图像复原,即空间可变图像复原。
2. 退化视频信号的复原问题,以及摄像机拍照图像复原,这是一个需要进一步研究的领域。
3. 运动补偿时空复原滤波,同时将时间相关应用到运动补偿中。
4. “Telemedicine“的出现,远程诊断极大的依赖于远程接受的图像质量,图像恢复在医学领域中有相当重要的作用。
5. 模糊 PSF 的 Identification 仍然是一个困难的问题,尤其在空间可变的 PSF 的估计中。
6. 空间可变恢复方法,可以利用 Wavelets 和 Markov 随机场等方法进行复图像恢复,这是一个具有发展潜力的研究方向。
参考文献
1 冯久超,黄海东. 基于神经网络的盲图象恢复[ J ] . 计算机科学,2000,27( 1) : 67~68.
2 Er ler K,Jernigan E. Adaptive image restorat ion using recursive image f ilters [ J ] . IEE E Trans actions on Signal Process ing,1994,42( 7) : 1877~1881.