APP下载

基于卷积神经网络的图像识别综述

2023-04-26张松兰

西安航空学院学报 2023年1期
关键词:池化图像识别卷积

张松兰

(芜湖职业技术学院 电气与自动化学院,安徽 芜湖 241006)

0 引言

随着信息化和人工智能的高速发展,包含文字、图像及视频的大量信息纷至沓来,而在静态信息中图像载体涵盖的信息量大,如何在众多的图像中快速精准地识别出目标图像需要运用图像识别技术。图像识别是根据图像本身所体现出的特征,利用计算机对图像进行分析处理,把目标图像区分出来,从而识别出目标对象的技术。传统的图像识别流程有图像预处理→特征提取→图像识别三个步骤[1],图像预处理部分[2]涉及图像滤波(中值滤波[3]、均值滤波[4]、高斯滤波[5]等)和归一化等处理,其作用是减小图像中的噪声,方便图像的后续处理。图像识别的三个步骤中每个环节都会影响识别结果,但图像特征提取是图像识别的重要环节,合理选取图像中最合适、有效的特征是关键因素。常用的传统特征提取方法有色彩、纹理、形状、空间关系等底层视觉特征。

1 特征提取方法

1.1 基于色彩特征的索引技术

色彩是物体呈现出的一种较为直观的视觉特征,自然界中每类物体都有其独特的颜色分布特点,在图像处理时,各种颜色的像素值互不相同,由于颜色直方图表示简单明了,受图像的尺寸大小、视觉或旋转角度的影响较小,因此可利用颜色直方图特性来识别物体。

1.2 基于纹理的图像识别技术

纹理特征也是图像的重要特征之一,它反映了物体表面结构的排列方式及像素在周围领域的分布规则,与颜色特征一样,可应用于模式识别和计算机视觉等领域的图像识别中。利用纹理所表现的不同属性,不同学者采用抽取各异的属性作纹理的特征。从结构的排列方式出发着眼于纹理区域的距离和方向特性,侯群群等[6]提出灰度共生矩阵表示法来区分图像。从对纹理的视觉感知出发,候玉婷[7]提出粒度、对比度、粗糙度、方向性、均匀性和线型6个视觉属性作为纹理特征来识别图像。从纹理区域的分布统计特点出发,有学者提出取图像小波变换后的方差和平均值为纹理特征[8]。唐波等[9]结合图像的色彩模型和纹理两个特征,针对输电线路图像在色彩模型中设置颜色阈值分割出背景区域,再利用数学形态学和纹理特征得到最小外接水平的目标区域,最后进行纹理特征识别,定位出绝缘子串区域。

1.3 基于形状的图像识别技术

形状反映了图像中各物体或图形所包围的区域,突出了轮廓边界特征,因此图像识别可从形状的轮廓和区域特征或两个特征相结合采用sobel、Roberts等算子[10]进行图像的边缘检测。如有学者用线段和圆弧表达图像的形状轮廓,用不同的函数来定义形状的边界信息和区域信息,计算每个区域的质心、周长或面积值及整个形状的位置特征,比较其异同,并对这些差异采用相应的函数进行加权求和[11]。

1.4 基于空间关系的图像识别技术

图像中包含了丰富的信息,其内部存在不同数量的子对象,各对象均有各自的空间位置,因此可以利用空间位置关系作为图像识别的特征。不同的学者采用不同的表示形式来表述空间关系。美国匹兹堡大学常采用二维符号串2D-String表示图像空间关系[12-13],但2D-String空间关系太简单,实际中的空间关系远比二维图复杂得多,不能根据其2D-String重构其符号图;由于图像投射在平面图上,在x或y轴上存在投影区间,Jungert用图像的平面投影区来表示空间关系[13],实际图像中存在多个物体;随后,又有人提出图像分割的方法来表示空间关系[14],这种表示法适用于图像中物体数量较少的情况,但当图像蕴含了丰富的信息或子对象比较多时,需要分割出的子对象较多,存储容量大,难以确切地表述出复杂的图像关系;张伟[15]针对图像识别中的特征提取与描述问题,利用邻接矩阵的特征值分解方法构造图像边界和空间关系,与传统算法相比可有效地减少计算量。

图像识别就是按照所选取的特征来对目标图像进行识别的一种算法,特征提取的准确与否会影响识别性能优劣。常见的传统识别器包括K近邻[16]、支持向量机[17]等分类器,对于一些简单图像,这些分类器实现方法较简单效果较好,但对于复杂图像或图像干扰严重,其识别精度有待提高。随着计算机技术的快速发展和计算性能的提高,深度学习技术应运而生,它能够从大量的图像数据中自动学习特征,并能将学习到的特征与分类器相关联,完成图像的识别任务。在深度学习技术中,卷积神经网络(Convolutional Neural Networks,CNN)已成为众多学科领域的研究热点之一,在图像处理方面尤为突出[2],由于它对原始图像预处理要求不高,直接输入原始图像通过卷积操作提取图像特征即可完成图像识别,因而得到了更为广泛的应用。

2 卷积神经网络

2.1 神经网络

神经元是生物神经系统的生物基础,大量的神经元相互连接组成了神经网络,神经网络具有感知和学习能力。为了建模需要,将神经元的功能数学化,建立神经元的数学模型,在神经元上作用非线性激活函数组成非线性网络系统,整体上具有模仿动物神经网络的行为特征。在网络的训练过程中通过调整神经元节点之间连接关系,使之具备学习输入样本和自适应的能力,从而实现对外部信息的感知能力,达到处理信息的目的。

经典的神经网络结构一般包含输入层、中间层(或隐藏层)和输出层,隐藏层可根据实际情况设置多个。两层间的节点以权重相连,代表两节点间的轻重关系,每个神经元节点通过一种特定的激励函数映射后输出。代表性的神经网络模型有BP网络[18]、RBF网络[19]、Hopfield网络[20]等,运用这些网络模型可实现函数拟合、优化处理、模式识别、目标分类等功能,因此,神经网络广泛应用于工业生产过程、人工智能、机器人等领域的信息处理中。

2.2 卷积神经网络

卷积神经网络是网络中含有卷积操作并具有深度结构的前馈神经网络[21],本质上是多层的神经网络结构,具有输入层、中间层(层次较多的隐藏层)和输出层[22]。网络中的神经元响应一定范围内的领域神经元,在图像处理中表现尤为突出,多层网络结构将图像的底层特征通过卷积操作逐渐组合形成高层特征,由局部信息抽取出高层语义信息,形成一个多层传递、逐步融合的过程,将特征提取与分类识别连联在一起,从而实现图像的识别任务。

2.2.1 卷积神经网络结构

卷积神经网络[23]的中间层可细化成卷积层、激活层、池化层和全连接层,是在神经网络的基础上发展起来的,其与普通神经网络的区别在于卷积层的卷积操作。输入的图像通过卷积层提取图像的底层特征后,经池化层降低图像的维度,中间的卷积层和池化层可有多次重复堆叠,逐层传递输入图像信息,再到全连接层综合图像特征最后输出结果。

2.2.2 卷积层

在卷积层中,卷积操作由一个或者多个卷积核(也称过滤器)在前层图像上选择相应的图像区域做卷积运算,然后按一定的步长作滑动运算,依次提取图像的像素级特征,图像特征综合后经过激活函数激活,完成一次输入到输出的特征提取过程,卷积后的特征图反映了前层图像的融合特征。实际的图像处理任务中卷积神经网络可以设计多层,逐层抽取前层的图像信息,刻画原始图像的特征,直至传递到全连接层,实现特征提取过程。

2.2.3 激活层

早期的人工神经网络的非线性关系是通过神经节点间的激活函数来实现的,同样卷积神经网络在卷积操作后作用非线性激活函数,实现对输入信息的非线性变换,使网络的输入输出产生非线性映射关系,激活层对卷积后的逐元素作用激活函数,实现输入和输出信息的同维。常用的激活函数有以下几种,激活函数图形如图1所示。

(1)sigmoid函数。常用的sigmoid函数[13]有两种,Logistic-Sigmoid函数和Tanh-Sigmoid函数,表达式分别如式(1)和式(2)所示。式(1)为回归S函数,式(2)为双曲正切S函数,两个S函数均为非线性函数,在零值附近双曲正切S函数比回归S函数曲线的斜率更大,因而在任务实现时其收敛速度更快。两个激活函数里都含有幂指数,会增加网络的计算量;由于两个激活函数都呈饱和现象,在反向传播计算过程中会出现梯度消失,降低模型的训练速度,在深度神经网络中逐渐被淘汰。

(1)

(2)

(2)ReLU函数。由于S函数在卷积神经网络训练中存在梯度消失或弥散现象,为克服此问题引入了线性校正单元ReLU,在x≥0时其值为x,它能有效解决S函数带来的梯度消失问题,加快模型收敛,减少模型训练时间[24]。ReLU函数在时,导数值为0,在网络训练时会产生神经元的消亡,因此在ReLU函数的基础上进行了改进[24],其函数形式如式(3),当α为0时即为ReLU激活函数,α为固定参数时为Leaky ReLU函数,当α为可调参数时为PReLU函数。

(3)

(3)ELU函数。在ReLU 函数基础上,为解决 ReLU的问题提出了ELU函数[24]。在x≥0时其值为x,为线性函数;而在x<0时其值为一指数函数,使输出对输入信号的变化具有更强的鲁棒性,其函数形式为:

(4)

2.2.4 池化层

池化层又称下采样层,对卷积后的特征图用选定的步长依次对一定大小的图像区域进行降采样操作,取出该区域的典型特征值,特征值的选取通常有三种:最大值、平均值和随机值[23]。对应的池化方法分别为最大化池化、平均池化和随机池化,随机池化方法具有随机性,按照概率矩阵依大小随机选择。池化操作将池化区域内的多个值变为一个值,特征图的宽度和高度均降为原来的几分之一,减少了卷积层输出的特征向量,极大地减少了参数数量和卷积网络中的计算量,同时能保证数据的平移不变性,经池化操作后特征图的通道数保持不变。

2.2.5 全连接层

全连接层是一种传统的多层感知器,出现在网络结构的最后,层中每一个神经元与前一层的神经元均有连接关系,将输入层图像特征经多层特征提取再经高度融合后,得到图像的高层表示,最后经回归分类模型计算得到相应的响应值送到输出层。

2.3 卷积神经网络训练

对于有监督的学习过程,在卷积神经网络的训练过程,网络会自动学习各层网络中的参数值,一次训练过程包含有从输入层到输出层的信息提取学习过程和从输出到输入的误差反向传播实现参数更新过程。前向传递过程主要介绍卷积层的卷积运算,误差反向传播见传统神经网络的BP过程。卷积操作的运算式如式(5)所示:

(5)

3 图像识别中常用的卷积神经网络模型

在图像识别中常用的卷积神经网络模型有LeNet[25]、AleXNet[26]、GoogLeNet[27]、VGGNet[28]、ResNet等模型。

3.1 LeNet模型

LeNet模型由YAN L C于1998年首先提出[29],奠定了卷积神经网络的基础,LeNet网络结构如图2所示,由两个卷积层、两个全连接层和一个输出层组成,又称LeNet-5,基本模型结构为input->conv1->pool1->conv2->pool2->fc1->fc2->output,中间有两个卷积池化的堆叠,卷积核的大小均为55。卷积层用于提取图像的空间特征,激活函数使用softmax;池化层采用平均池化,进行下采样降低图像数据的维度;全连接层中每个节点与其输入层的各节点均有连接关系,汇聚前面多层卷积图提取的综合特征信息。该模型早期主要用于手写字符的识别与分类。

图2 LeNet网络结构

3.2 AlexNet模型

Hinton和他的学生Alex提出AlexNet网络模型[30],在2012年的ImageNet挑战赛中获得冠军,它是在LeNet基础上改进得到的复杂网络,由5个卷积层、2个全连接层及1个输出层组成的卷积神经网络。由于ImageNet中大多数图像像素多,第一层的卷积块较大,尺寸大小为11×11,通道数也较LeNet通道数多。AlexNet与LeNet的显者区别在于:池化操作方面,全部使用最大池化方法,有效避免了平均池化的均化作用;激活函数方面,使用简单的分段线性ReLU函数作为激活函数,减少了幂函数运算,改善了S形函数在深度网络产生的梯度弥散和消失问题。

3.3 GoogLeNet模型

Szegedy提出多层串并联结构的GoogLeNet网络[31],获得2014年ImageNet大赛的冠军。GoogLeNet主体卷积部分中使用5个模块,每个模块间使用大小为3×3,步长为2的最大池化层来降低输出维度。在GoogLeNet中基础卷积块称为Inception块,Inception块结构如图3所示,在网络结构上已明显区别于LeNet。Inception块由4种卷积方式合并而成,第1种方式为1×1的卷积核卷积;中间2种方式都先经1×1的卷积,再分别经3×3和5×5的卷积来抽取输入层的信息;第4种方式则是先经3×3最大池化层后,再接1×1卷积层。4种卷积方式都使用适当的填充方式使输出大小保持一致,最后形成合并层,并输入到下一层。Inception块的引入能增强卷积模块功能,可以在增加网络深度和宽度的同时减少训练参数。

图3 Inception块结构

3.4 VGGNet模型

DeepMind公司和牛津大学研发的VGGNet网络[30]在2014年lmagenet比赛获得亚军。VGG版本常用的有VGG16和VGG19网络。这里以VGG16为例,其基本结构与AlexNet和LeNet一样,但它由多个卷积层构成卷积块,包括五组卷积块和3个全连接层,前2个卷积块由两个卷积层组成,而后3个卷积块使用三个卷积层,一共有16个卷积层。五组卷积块深度依次为64、128、256、512和512,每组卷积块的深度相同。每个卷积块由2~3个卷积层组成,能使网络有更大感受野,同时能降低网络参数。卷积核的大小为3×3,池化层使用大小为2×2,步长为2的最大池化。

3.5 ResNet模型

何恺明等针对训练误差并不随网络层数过多的增加而下降的问题,提出了残差网络ResNet[31],在2015年的ImageNet比赛中摘得冠军。ResNet的前两层与GoogLeNet一样,不同之处在于GoogLeNet网络中使用了Inception块,而ResNet引入了残差块结构。残差块中有2条通道,一条通道将输入层经2个3×3卷积后与另一个输入层通道直接相加(输入层经两个卷积层的输出与输入层大小一样),最后作用ReLU激活函数。

4 卷积神经网络在图像识别上的应用

4.1 手写数字识别

手写数字识别是CNN在图像识别中最早的应用之一, LeNet网络用在手写字符的识别上准确率可达到98%,并在实际系统中投入应用。刘瀚骏等[32]用GoogLeNet模型的Inception设计卷积网络模型,在MNIST数据集上验证,准确率可以达到99.66%。吕浩等[33]结合SIP技术和FPGA技术采用卷积神经网络实现了微系统设计,采用HLS来设计CNN中的卷积层和池化层,生成IP核分时复用构建微系统,实现了MicroVGGNet轻量化模型,在MNIST手写数字数据集识别准确率达到98.1%。

4.2 人脸识别

卷积神经网络在人脸检测中的运用也是随处可见,如门禁系统考勤管理系统等众多场景中均有应用。胡佳玲等[34]针对CNN训练参数多、计算量大等突出问题,在人脸识别算法上提出了轻量级MobileNet卷积神经网络模型,将改进的MobileNet网络和区域生成网络RPN融合,在LFW人脸数据库和自建的小型数据库上训练测试,识别准确率达到97.54%,较之前增加了0.2%,运行速度提高了21.3%,模型的参数减少了88%。张鹏等[35]针对传统CNN在脸部表情识别过程中存在的问题,提出一种基于多尺度特征注意力机制的人脸表情识别方法,在Inception基础上并行加入空洞卷积,用来提取人脸表情的多尺度特征信息,引入通道注意力机制,提升模型对重要特征信息的表示能力,通过在公开数据集FER2013和CK+上进行仿真实验,分别取得了68.8%和96.04%的识别准确率。

4.3 交通运输

卷积神经网络在交通运输方面的图像识别中也有广泛应用。李祥鹏等[36]使用深度学习Faster R-CNN 算法对特定自然场景下的车牌完成车牌定位,采用增强的AlexNet-L卷积神经网络模型实现车牌字符的端对端识别,有效地提高车牌定位和车牌字符识别的准确度和效率。李讷等[37]结合卷积神经网络在道路行驶车辆车标识别中引入残差网络YOLOV4进行车标的一步定位,检测算法的精度和速度有了较大的提高。廖光锴等[38]将卷积神经网络和小波变换相结合对车辆重识别方法进行了研究,在ResNet-50中增加小波分解层数,整体模型的平均精度达到了63.90%,能有效提高车辆检索精度。

4.4 医学诊断

卷积神经网络在医学图像诊断病理特征分析中也有大量的应用。赵科甫等[39]在甲状腺结节超声检查上采用U-Net主干网络提取不同层的图像特征并加入了SE注意力机制算法,实现了甲状腺结节的图像分割,并达到了0.798 7的Dice系数。黄江珊等[40]则在甲状腺结节B超影像中采用卷积神经网络融入LSTM网络,提取高维特征,生成特征序列,将高维度深层次的医学影像转化为影像的文本诊断数据。马巧梅等[41]在肺结节检测上采用三维卷积神经网络3DCNN,融合残差模块获取结节的空间信息,用于候选结节分类,有效地完成分割和检测任务。

4.5 农作物检测

水果及农作物检测机器视觉方面也有卷积神经网络的大量应用。傅隆生等[42]在多簇猕猴桃果实识别上采用LeNet网络模型进行图像识别研究。周胜安等[43]使用MobileNetV3的轻量化卷积神经网络模型对水果中小缺陷块进行检测,实验结果表明在训练时间、检测速度和准确率方面均衡性较好。周宏威等[44]在苹果树叶片病虫害识别上构建VGG16、ResNet50和Inception V3三种神经网络模型进行试验,使用迁移学习能够提升模型的收敛速度以及准确率。

5 结论

本文首先介绍了传统图像识别技术及存在的问题,引入了卷积神经网络的深度学习方法。卷积神经网络源于人工神经网络,重点说明了中间层的结构和特点,然后介绍了经典的卷积神经网络模型及相互间的区别,最后简要综述卷积神经网络在图像识别中的应用。卷积神经网络在有监督的学习中已有广泛的应用,但有监督的学习需要大量的图像标注,耗费工作量大,如何在这此工作上提升效率还有待研究[30]。然而,将无监督的强化学习应用到图像识别还在研究中[2]。对于原始图像中含有一定噪声的图片,进一步提高模型的抗噪能力及泛化能力,也是亟待解决的问题。对于快速性要求较高的任务及提高图像识别的速度(如疫情检测)场景,需要增加卷积神经网络的实时性能,设计出满足实时性高的轻量级卷积神经网络,同时兼顾模型准确性能。

猜你喜欢

池化图像识别卷积
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
设施蔬菜病害识别中的CNN池化选择
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
图像识别在物联网上的应用
图像识别在水质检测中的应用