APP下载

目标识别算法综述

2019-01-23尉震行

中国设备工程 2019年1期
关键词:卷积神经网络苹果

尉震行

(辽宁 大连 116000)

随着计算机科学与人工智能的不断发展,人们对于目标检测识别的关注度已愈来愈高。目标检测的任务主要是将我们不关心的背景去除,去除背景的过程可以采用一系列的算法,之后提取出我们关心的目标。

目标检测是基于计算机视觉与图像处理,模式识别,机器学习,深度学习等众多学科交叉的一门研究课题。本文首先对目标检测的硬件系统做了总结分析,之后对于目标识别的传统算法做了研究与比较,最后对深度学习在目标识别领域的一些方法进行了研究,并与传统方法做了对比,对未来的计算机视觉和目标检测的发展趋势做了一些展望。

1 传统的目标检测算法

传统的方法中,图像在计算机当中可以用函数来定义,函数的基本表达为f(x,y)。函数值代表像素的灰度。

1.1 传统方法特征选择过程

特征的选择是传统算法中最重要的部分,特征包含颜色特征、纹理特征、形状特征等等。针对以颜色为主要特征的目标检测应用场景中,一般目标与背景有较大的颜色差异,我们可以选择合适的颜色空间来将背景和目标进行分离,从而完成目标的检测。常用的颜色空间有:RGB、HIS、Lab等等。RGB颜色空间即红绿蓝三色空间,R代表红色、G代表绿色、B代表蓝色。HIS空间也有三个通道分量,H代表色调、I代表亮度、S代表饱和度,这种颜色空间的一大特点就是接近于人的感知。纹理是对图象的象素灰度级在空间上的分布模式的描述,反映物品的质地,如粗糙度、光滑性、颗粒度、随机性和规范性等。当图象中大量出现同样的或差不多的基本图象元素(模式)时,纹理分析是研究这类图象的最重要的手段之一。此外分析方法也十分重要,针对以纹理为主要特征的场景中,描述一块图象区域的纹理有三种主要的方法,统计分析方法、结构分析方法和频谱分析方法。

1.2 传统视觉算法其余重要过程

在采集到图像之后,图像往往会由于电子器件或者传输干扰产生一些噪声,噪声点过多会影响我们后续的处理操作,所以需要将噪声去除,去除噪声的方法有很多种,最常用的有两种:第一种方法,中值滤波法,中值滤波法即是将图像滤波器当中的像素值由低到高依次排列,取出中位值,用中位值代替其他位置的像素值,一般来说滤波器的尺寸可以选为3×3滤波器或者5×5滤波器。第二种方法平均滤波法,平均滤波法即是将图像滤波器当中的像素值平均化处理,取出平均值,用平均值代替其他位置的像素值。在选择完颜色空间之后,我们的目的是将目标和背景进行分离,需要用到分割算法。常用的分割算法有固定阈值法、颜色聚类法、自动阈值法等等。固定阈值法主要是通过人为的设定分割阈值,大于阈值的为背景或目标,其余的为目标或背景,这样目标和背景便能够根据此值进行分离。颜色聚类法主要是通过让不同的颜色聚为不同的类别,从而将目标与背景进行分离。自动阈值法主要是通过计算机自动对图像当中的情况设定阈值,阈值可能会根据图像的不同而不同,这样设定的阈值更加合理,从而将目标和背景进行分离。

在分割之后,往往有两类误差点:第一类误差点是目标点被错误的分类成背景点、第二类误差点是背景点被错误的分为目标点。针对这两种误差,需要进行分割图像后处理操作。后处理过程一般为形态学处理过程,主要包括腐蚀过程和膨胀过程,腐蚀过程能够去除一些很小的孤立点,主要执行的操作是目标边界的收缩,膨胀过程能够去除一些目标内部的孔洞,主要执行的操作是目标边界的向外扩张。通过这两种方法,一般能够将误差点去除,从而达到很好的分割效果。在后处理之后,往往目标已经能够清晰的呈现在眼前,这时候需要用矩形或者圆形将目标进行拟合,显示出识别结果,例如在对圆形形状的物体进行识别的时候,往往会采用霍夫变换的方法来拟合圆形,霍夫变换最早是用来检测直线的,用的原理是统计原理,即霍夫变换对组成直线的两个像素点进行统计,统计数最高的直线便是目标直线。之后霍夫变换又用来检测圆形,根据三个点确定一个圆的原理,霍夫变换对轮廓上的点进行统计,找出统计数最高的圆形,便是目标圆形。之后,霍夫变换又被开发改善,能够识别椭圆形等一系列图形,并且具有较好的稳定性,往往被应用在传统目标识别算法领域。

1.3 传统视觉方法检测前沿进展

传统视觉方法的检测算法已经越来越成熟,以水果检测为例,在2015年,Moghimi运用传统视觉方法设计实现了一种温室青椒识别检测系统。Moghimi首先进行了青椒图像的采集工作,由于青椒与枝叶颜色相近同为绿色,所以要提取出图像内容中的纹理特征,然后根据纹理特征进行分类,之后根据分类结果选出纹理特征为光滑的一类,最终进行色调、饱和度和绿色系数的分析,最终检测出青椒,此方法在实验室中进行模拟实验,准确率能够达到84%。2016年Brown设计了一个樱桃采摘机器人,Brown首先通过CCD相机对樱桃的图像进行实时采集,之后对图像进行二值化并加上腐蚀和膨胀等形态学操作,从而将樱桃与背景进行分割,将提取出来的果实部分再传送给控制器,此樱桃采摘机器人的视觉系统最终能够识别出樱桃存在的整片区域。积层:卷积层的主要目的在于充分的提取特征,卷积层中最重要的单元是卷积核,每一个卷积核相当于一个过滤网,能够把符合条件的特征信息筛选过滤出来,卷积核包含多种尺寸,例如有3×3卷积核、5×5卷积核等等,大的卷积核能够使得特征快速充分的提取出来,但是需要的参数更多,数据量更大,小的卷积核训练的参数较小,数据量较小,所以需要根据目标识别系统的具体特点和识别任务的不同来进行分析,之后选出合适的卷积核。池化层:池化层的主要目的是将卷积层处理之后的数据量进行缩小。因为通过卷积之后的图像数据量一般远远大于原始数据量,并且包含很多的重复信息或者说无用信息。为了解决这个问题,需要对数据量进行缩减,也就是池化。池化又分为若干种,较为常用的有最大池化和平均池化。最大池化就是将模板当中的最大值元素作为池化最终结果进行输出、平均池化就是将模板当中的所有元素相加取平均作为池化的最终结果进行输出。最终经过池化之后,数据量大大减少,特征提取的也较为充分,可以进行下一步的处理。输出层:输出层主要是将池化之后的结果进行进一步的全连接处理,最终输出结果,如图1所示。

图1 bp网络结构图

2 深度学习目标检测

2.1 人工神经网络简介

深度学习的灵感来源于生物的大脑认知原理,尤其是大脑对于视觉的处理过程。大脑对于图像的信号处理过程是:首先进行图像的摄入,之后通过大脑的神经元与神经网络对眼前的图像进行处理,具体过程是抽象的,然后根据抽象结果,大脑进行目标的判断和识别。

计算机科学家受到生物学当中的神经网络启发,想到模仿人脑的特点,构造出人工神经网络。

2.2 卷积神经网络

卷积神经网络主要是用来处理图像的神经网络,与其他网络结构的不同之处在于,卷积神经网络在最基本的神经网络结构之上加入了卷积层和池化层。所以,卷积神经网络结构大致可以分为四个部分:输入层、卷积层、池化层、输出层。输入层:输入层主要负责输入目标信息,具体包含图像的信息、像素的信息等等。卷

2.3 深度学习方法检测前沿进展

深度学习方法现阶段已经越来越多的应用到检测识别领域之中,以水果检测为例,王海青等采用BP神经网络分割苹果图像,提取 3 个纹理特征值和 4 个几何特征值输入到网络当中作为输入层数据,之后经过训练,输出苹果的识别结果。针对苹果识别,刘海全选取的是faster rcnn网络框架,没有对网络结构进行修改,此网络主要由三部分构成:特征提取、区域生成网络(RPN)和fast rcnn。直接将采集到的苹果图像数据集输入网络做整体处理,最终得出的识别率为 79.32%。

此外,除了这两种网络框架,rcnn在2014年被发表、SPP-NET在2014年被发表、yolo在2016年被发表、fast rcnn在2015年被发表、这几种发表的网络均广泛用于深度学习物体检测中,当然还有ResNeXt、DenseNet等网络也较为常用。

3 深度学习目标识别与传统目标识别算法前沿方案进展与比较

传统目标识别算法的优点在于能够将识别特征清晰的显现出来,并且如果目标较为简单,轮廓较为清晰或者颜色对比较为鲜明,那么采用传统目标识别算法便可以很好的将目标识别出来,且算法的复杂度较低。

针对调研的有关目标检测的结果,统计了不同论文当中传统算法和深度学习算法的使用次数以及使用效果,发现针对于较为复杂的目标,例如人脸、车辆等使用深度学习的算法较多,且效果较好。针对于较为简单,特征较为明显的目标,例如苹果、番茄、球类等使用传统的目标识别算法较多,且效果较好。具体统计结果见表1。

表1 调研统计结果

目前,以苹果检测为例,对苹果进行识别的思路大致分为四种:第一种是全部过程均利用神经网络,将苹果图像作为输入,直接进行网络训练,最终输出识别结果。第二种是全部过程均采用传统视觉方法,针对苹果的形状、颜色等特征,对苹果进行特征的分析,并根据特征对苹果进行识别。第三种是先采用神经网络方法对苹果果实和背景进行分割,之后再用传统视觉方法进行识别。第四种是先采用传统分割方法对苹果果实和背景进行分割,之后采用神经网络对苹果进行识别。前两种思路已经分别在前面章节做了介绍,第三种和第四种思路属于深度学习与传统方法的融合。

张亚静、刘刚等人实现了第一种思路的苹果识别算法,他们先采用BP神经网络对苹果果实与背景进行分割,神经网络结构为三层,输入层有3个神经元,以R/B值、对比度值和亮度值作为输入,中间隐藏层为6个神经元,最终输出层为1个神经元,之后利用分割结果采用霍夫变换进行圆拟合,实现对苹果的识别。该作者最后做了识别率验证试验、试验条件为果园中阴天和晴天采集的苹果照片共200张、做了整体识别率测试,识别率为 87.6%。

李晓洋、唐磊等人实现了第二种思路的苹果识别算法,首先利用聚类算法将苹果果实与背景进行分割,之后利用RBF神经网络对苹果图像进行训练,RBF神经网络共有三层,分别为输入层,中间层和输出层,输入层有16个神经元,分别输入分割后图像的RGB、HIS等颜色特征分量和分割轮廓的周长面积比等特征,中间层也为16个神经元,然后通过输出层将识别结果输出。

张亚静、刘刚等人实现了第一种思路的苹果识别算法,他们先采用BP神经网络对苹果果实与背景进行分割,神经网络结构为三层,输入层有3个神经元,以R/B值、对比度值和亮度值作为输入,中间隐藏层为6个神经元,最终输出层为1个神经元,之后利用分割结果采用霍夫变换进行圆拟合,实现对苹果的识别,如图2。

该作者最后做了识别率验证试验、试验条件为果园中阴天和晴天采集的苹果照片共500张、识别率检测时按照单个苹果、枝叶遮挡下的苹果和重叠苹果做了分类,并最终做了整体识别率的测试,整体识别率为86.3%,如表2。

图2 苹果识别效果

表2 两种不同结合思路效果统计表

综合以上算法的分类与比较发现,对一个物体进行检测和识别的方法有多种多样,方法的不同,最终得到的结果也不同,传统方法在现阶段如果能对特征进行详细的分析,在特征的基础上进行识别检测,那么也可以达到满意的效果,但是缺点就是过程繁琐,且结果不一定好。而深度学习方法在检测领域有着简单准确的特点,采用网络,进行参数的调整,训练、测试,最终能够达到较好的效果,不需要对特征进行具体阐明。另外,将深度学习算法与传统神经网络算法结合,一定程度上效果会更好,因为经过传统方法对特征的提取,特征更加明确,网络训练效果更为显著。

4 结语

本文研究了计算机领域目标识别的算法,包含传统目标识别算法和深度学习目标识别算法,传统目标识别算法大致分为以下步骤:预处理、颜色空间选择、分割算法、后处理等等,深度学习目标识别算法主要包含卷积神经网络等。之后针对这两种算法的前沿解决方案做了详细的分析,并将二者结合的思路做了阐述、分析、分类与对比,得出了相关结论。

猜你喜欢

卷积神经网络苹果
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
收获苹果
拿苹果
会说话的苹果