基于BP神经网络的水果识别研究
2019-09-12于悦洋王冰王静汤乔
于悦洋 王冰 王静 汤乔
摘 要:本文介绍了一种基于BP神经网络的水果识别方法。随着模式识别技术不断的发展,图像识别作为最具代表性的应用,受到了众多学者的关注,尤其是在图像快速识别方面。为了解决传统水果图像分类识别算法人工提取特征的缺陷,将经过训练的BP神经网络应用在水果的识别中。本实验使用数字图像处理的方法,首先对采集到的图像进行预处理,并针对多种水果混合的图像进行提取和识别。实验表明,基于BP神经网络的水果识别方法能够获得很高的识别率,能够有效地将同一幅图像中的不同水果识别出来。
关键词:水果识别;图像处理;BP神经网络;MATLAB
文章编号:2095-2163(2019)04-0187-05 中图分类号:TP391.41 文献标志码:A
0 引 言
在中国,通常采用人工方式进行水果分级,而人工分级往往效率低、劳动量大、有较大的人工误差等,难以实现标准分级[1]。并且人工识别具有诸多的不稳定因素。因此,研究和开发水果自动实时分级系统,对经济、农业的发展具有广阔的应用前景。从80年代开始,国内外有许多学者研究水果分级的自动识别算法,近年来也出现了一些基于水果识别的算法,如郑小东等人[2]根据区域特征进行水果的自动识别。项辉宇等人实现了对苹果大小、缺陷以及颜色特征的检测。程荣花等人[3]对水果图像的主成分分析,从而对其进行识别预测。王水平等人[4]利用SVM分类器,对水果进行分类预测。这些方法虽然在水果识别中取得了一定效果,但对于同副图像中的多种水果识别还有欠缺。针对这一问题,本文基于BP神经网络对水果图像进行识别。首先,根据水果的不同特征,对图像进行预处理;然后,通过标签化处理将图像中各个连接成分进行分离,从而实现对水果特性的研究,再提取出不同水果的颜色、边界不规则、形状等基本特征,对得到的水果图像特征参数进行计算;最后,使用多幅图像训练BP神经网络,并完善水果特征库,以达到快速识别水果的目的。
1 数字图像处理
首先,本文对不同水果图片进行数字图像处理。目的是为了提高图片的质量,得到理想的图像效果。图像处理的方法有:图像变化、图像编码压缩、图像增强和复原、分割、描述等。本文采用图像识别方法的主要步骤为:首先,预处理图像;然后,对预处理的图像进行分割和特征提取;最后,对图像进行判断分类。图像分类多数情况采用传统的识别模式。传统识别模式分为2大类:统计模式分类和结构模式分类。近几年研究中,模糊模式识别、人工神经网络模式识别,这2种新兴的图像识别方法颇受学术界的广泛关注。
本文图像预处理分为图像去噪、图像增强和图像二值化3个步骤。本文采用中值滤波法对图像去噪,中值滤波法是一种去噪声的非线性平滑处理办法。本文采用反锐化掩模法[5]对图像增强,该方法是一种常用的图像锐化方法,先模糊处理图像,再与原图进行差值运算,再乘上一个修正因子,最后得到轮廓增强的图像。该算法表达式如下:
二值化是将图像呈现为黑白的对比效果的过程,该方法将图像像素的灰度值设为“0”或“255”。图像阈值分割法是应用较普遍的图像分割技术,利用了图像的背景与对象之间的灰度差异。本文采用阈值分割法对图像进行二值化,从而得到效果更好的二值化水果图像。
2 水果图像特征提取
数字图像处理后,水果和背景被明显的分开。下一步,需要对每种水果进行特征提取。具有代表性的水果特征有:纹理、形状、颜色[6]等。计算机视觉技术主要通过从图像或者视频中提取出的物体特征,经对比区别出不同物体。在农业领域中应用的水果自动分类识别系统,也是通过提取所拍摄的水果图像中的特征参数,并以此为依据进行训练得到识别模型从而达到分类识别的目的。
2.1 图像颜色模型
水果的颜色特征在图像方向、尺寸等特征发生改变时无明显变化,因此,在图像识别中常用到颜色特征。颜色模型是用作精确标定且生成多种颜色的一种方法。对于显示设备来说,可以用红色、绿色、蓝色发光量来描述RGB。RGB又叫相加混色模型,其在实际生活中主要用于光照、显示器等中。
(1)颜色特征,包括彩色和灰度信息处理;对于彩色信息处理,主要采用几种常见的色彩空间;而对于灰度信息处理,主要采用直方图技术。
(2)红绿蓝3色光按不同比例和强度混合可以用其表示近乎所有自然界的可见光,其颜色模型称之为RGB色彩空間模型[7],如图1所示为RGB色彩空间模型。红绿蓝3色位于彩色立方体的3个顶角,其产生的点汇聚在彩色立方体的对角线上,即灰色线。在使用RGB模型时,由于任一基本色上无亮度,所有RGB颜色显示黑色。当3基色变为最高的高度,空间即会显现出白色。其余较低高度但等量的3种基色就显示灰色。RGB图像每一个像素的颜色值直接存放在图像矩阵中,通过3个M×N的二维矩阵分别表示各个像素的3种颜色分量,R、G、B3个分量分别表示每一个像素的颜色,图像的行列数由M、N表示。
2.2 图像形状特征
图像的形状特征是指将图像经过边缘提取和图像分割,从而得到目标的形状。形状的描述方法一般分为轮廓法和区域法2类。本文采用轮廓法。并对其结果进行美化,以达到更准确的识别。图像的形状特征主要包括周长和形状参数。
(1)周长为整个边界的长度。周长通过计算物体边界上相邻像素的中心距的累加而得出。通常,面对倾斜方向,数据会产生一些误差,所以要用2倍的原有像素数进行计算修改。
(2)物体的其中一个重要特征量是弧度,弧度是用于计算物体形状复杂程度的参数。将弧度进行比较,识别出不同的水果。在数字图像中,可以通过物体所占有的像素点数来计算面积。
本文首先使用面积、周长、弧度等参数表示水果,再使用RGB颜色模式对不同的水果图像进行特征提取,产生3幅不同通道的直方图。通过直方图显示出的结果,提取不同水果中特有的特征,以达到识别水果的目的。
3 BP神经网络
BP神经网络在上世纪八十年代年被首次提出[8]。BP神经网络是一种有效的神经学习方法,是在误差反传算法的基础上产成的,并引入了反向传播原理,破传统网络结构,解决了非线性问题,是目前普遍应用的神经网络模型。
BP神经网络通常由3个层次构成,分别是输入层、中间层、输出层[9]。由传递函数将各层连接,通过特定的学习算法来训练网络、调节权重,使输出不断接近预期值。输入层接受来自外部的输入信息,其中间层(可为单隐层或多隐层)需要进行信息处理,各神经元上的信息经由最后一个隐层传送到输出层,处理完成的结果再通过输出层向外界发送。
BP网络的结构如图2所示。
BP网络具有非常强大的非线性映射能力,因此,能够学习和大量关于存储输入与输出之间的映射关系。3层BP神经网络可以在不描述函数映射关系的情况下逼近任意非线性函数。如图3示出了BP网络的向量图。
BP神经网络采用梯度下降算法,这种算法适用于非线性多层网络梯度的计算。BP神经网络算法的基本思路是:由前向神经网络实现正向传播,由递归神经网络(反馈神经网络)实现误差反向传播。这2个进程交替完成,在权向量空间执行误差梯度下降算法,从而使误差降到最低。其具体步骤如下:
(3)选取下一个输入模式再返回到(2)中反复训练直到输出误差达到要求为止。
在BP网络的结构中,输入层与输出层之间含有多层神经元(其模拟人类大脑神经元拥有的基本功能:加权、求和、传递),这些神经元被称为隐单元,隐单元与外界没有直接的联系,但其状态的改变,会影响输入与输出之间的关系,每一层可以有无数个这样的节点。
4 实验及结果分析
4.1 实验框架
本文的水果识别框架是根据不同水果特征,把需要的水果从中识别出来,其总体框架如图4所示。
本文实验的具体步骤如下:
(1)输入水果图像;
(2)图像预处理;
(3)图像标签化处理和图像特征参数计算,把每个区域都分开,根据提取的图像特征,将水果进行区分;
(4)建立水果特征库,把采集的特征数据用BP网络进行训练,区分同一图片中的不同水果;
(5)完成水果的识别。
4.2 实验结果与分析
本文实验环境中计算机系统为 Windows10,处理器为Intel 酷睿i53210M,主频为2.5 GHz,内存为4 GB,显存为1 G,硬盘是500 GB,实验是基于MATLAB开发工具。本文主要以苹果、橙子、香蕉为例。图5示出了水果图像处理结果图,依次为原始图像、边缘检测图像、OR运算分割图像和彩色标签化图像。从图中可以看出,通过一系列的图像处理可以将不同区域的像素分开,从而利于后续对图像特征的提取和图像特征参数的计算。
表1为橙子、香蕉和苹果的特征参数数据表,从中可以看出,与其它2种水果相比,香蕉的特征最为明显,周长最大、弧度最小,根据该特征能够把香蕉从水果中分离出来。
图6所示为3种水果的RGB通道图及其直方图,由图可知,与其它2种水果对比,苹果的R通道直方图中其固定区域内的像素数量(200-300)与G通道和B通道像素和的比值为3水果中最大的,可得到苹果的比值最大,可知苹果的红色信息量最多。
图7为本文BP网络的训练性能,横坐标代表训练次数,纵坐标代表均方误差,该误差值越小,说明实验结果与原图之间差异程度越低。从图中可以看出本文的BP网络经过10次训练,其均方误差为0.7×10-3,识别准确度较高,可以直接进行水果识别。
图8为本文设计的神经网络及其运行结果。测试结果表明,通过对不同测试样本的训练,对苹果的识别近乎完全正确,橙子和香蕉的識别率均为97%,这个结果进而证实了采用特征提取和BP神经网络识别水果的有效性。通过神经网络的不断训练,后期对图像的识别更加准确。就像人的大脑一样,对图像的特征不断进行记忆,使识别更加智能化。
BP神经的优点:高效、智能。如果要更加准确,需要加入更多的特征,在颜色的准确性上需要改进。因为水果很多颜色较为相像,且需要更大的数据库。
从实验结果中可以看出,BP神经网络的图像识别系统的自适应能力较强,且识别率也较高,是一种高效的检测方法。
5 结束语
本文采用数字图像处理的方法,对原始水果图像进行预处理并对RGB图像进行数据分析。通过对BP神经网络架构设计构建了基于MATLAB的水果图像识别系统。通过实验对比,本文算法误差较小、实时性较好、正确率高,能够实现对水果特征数据的准确识别。但是,本文提出的算法也存在不足,由于水果种类繁多,重点选取的香蕉、苹果等比较有特点的水果,所以实验结果较理想,若参杂其它水果种类,如青苹果、火龙果等,则需要对算法进行改进。
参考文献
[1] 曾平平,李林升. 基于卷积神经网络的水果图像分类识别研究[J]. 机械设计与研究,2019,35(1):23-26,34.
[2]王水平,唐振民,范春年,等. 基于SVM的水果分类算法研究[J]. 武汉理工大学学报,2010,32(16):44-47.
[3]程荣花,马飞,梁亚红. 形状相似水果自动化识别研究[J]. 山东农业科学,2015,47(8):116-118.
[4]郑小东,王晓洁,李印清. 自然环境下果实的自动识别技术[J]. 计算机应用与软件,2006(11):96-97,100.
[5]项辉宇,薛真,冷崇杰,等. 基于Halcon的苹果品质视觉检测试验研究[J]. 食品与机械,2016,32(10):123-126.
[6]沈磊,苏建忠,郭肇敏,等. 基于反锐化掩模技术的红外图像增强算法设计[J]. 南开大学学报(自然科学版),2019(1):29-35.
[7]贺询. 水果识别中图像特征综述[J]. 河南科技,2017(21):34-35.
[8]Huang Z, Zhu Q. Detection of Red Region of Fuji Apple Based on RGB Color Model[J]. Laser & Optoelectronics Progress, 2016, 53(4):041001.
[9]文周,林伟健. 基于BP神经网络的水果气调包装机械故障诊断方法[J]. 包装与食品机械,2018,36(5):69-72.