人工智能及识别技术
本栏目责任编辑:唐一东
基于BP 神经网络的水果识别系统
罗志翔,胡蓉,赵全友,邓雄昌
(湖南科技学院,湖南永州425199)
摘要:近些年,计算机视觉发展迅速,在水果识别方向进行了广泛的应用和研究。本文设计基于BP 神经网络的水果识别系
统,选取生活中常见的三种水果:苹果、橘子、香蕉作为对象。首先,通过网络资源等搜集水果图像建立样本库;然后通过MATLAB 对图像进行预处理,为后续的特征提取做好准备。水果特征的提取选择纹理、形状、颜三种特征进行提取;同时在每种特征中选用不同的特征值作为特征向量。通过提取三种
特征后输入到BP 神经网络中进行训练、识别。经测试,识别的成功率可以达到93.18%,证明了可行性以及未来的可实用性。关键词:水果识别;MATLAB ;特征提取;BP 神经网络中图分类号:TP391
文献标识码:A
小满不满第二个满是什么意思文章编号:1009-3044(2021)04-0187-03开放科学(资源服务)标识码(OSID ):
Fruit Identification System Based on Matlab
LUO Zhi-xiang,HU Rong,ZHAO Quan-you,DENG Xiong-chang
现在学什么有前途(Hunan University of Science and Engineering,Yongzhou 425199,China)
Abstract:Computer vision has developed rapidly in recent years,and has been widely used and researched in the direction of fruit recognition.This paper designs a fruit recognition system based on BP neural network.Choose three common fruits in life:apples,oranges,and bananas as objects.First,collect fruit images through network resources to establish a sample library.Then the image is preprocessed by MATLAB software to prepare for subsequent feature extraction.For the extraction of fruit features,three fea⁃tures of texture,shape,and color are selected for extraction;at the
same time,different feature values are selected as feature vectors in each feature.After three kinds of features are extracted,they are input into BP neural network for training and recognition.After the recognition test,the recognition success rate can reach 93.18%,which proves the feasibility and practicality in the future.Key words:fruit recognition;MATLAB;feature extraction;BP neural network
我国地域广阔、水果资源丰富,随着科技发展和社会需求的加大,水果的种植规模也在不断增大;同时也出现了复合型果园。在复合型果园场景中,借助水果识别系统配合机械化设备可以完成自动采摘、分拣等操作;尽管人工同样能实现相同的操作,但是效率不高、需要的劳动力也较大。而且,随着劳动力结构的转变,从事农业的劳动力也在不断减少。所以将其应用到生产当中可以代替大量的劳动力,可以达到高效、方便的
特点[1]
。
在当前,国内外对水果识别以及神经算法的研究已经取得了不错的成绩;在实际应用中也是不断地得到完善和提高。基于社会的发展和科技水平的不断提升,人民的需求也在不断变化,从而让物体识别技术也在不断发生改变。在5G 热潮的推动下,应用于各种场景的水果识别的技术一定会具有更高的精度、应用场景更加的普及。
1图像识别基本理论
数字图像识别主要是在计算机视觉的基础上,通过收集图
像的轮廓、特征、彩、纹理等信息来进行识别。一般的图像识
别流程如图1所示。
图1图像识别流程图
其中,预处理主要是灰度化、二值化、滤波等操作,目的是减少计算量,突出图像中目标区域的信息。图像分割则是将图像中的背景与目标区域分割开,使目标区域更好的显示出来。特征提取步骤常用的特征值有:纹理特征、颜特征、形状特征等;之后将特征值输入到识别器中进行训练识别。选择数字图像作为处理对象,是因为相对于模拟图像,数字图像具有存储,传输方便可压缩、传输过程中不易失真、处理方便等巨大优势,这些都为图像识别技术的发展提供了强大的动力以及良好的基础[2]。
2水果识别器的设计
本次水果识别的设计主要分为六大步骤,具体的流程图如
收稿日期:2020-08-30基金项目:湖南省2018年度重点研发计划资助项目(2018NK2063);湖南科技学院应用特学科建设项目资助作者简介:罗志翔(1998—),男,湖南衡阳人,湖南科技学院电子与信息工程学院通信工程专业2016级学生;通信作者:胡蓉
(1987—),女,湖南长沙人,湖南科技学院讲师,硕士,研究方向为图像信号处理与压缩感知;赵全友(1980—),男,湖南永州人,湖南科技学院副教授,博士,研究方向为模式识别,智能计算;邓雄昌(1985—),男,广西来宾人,湖南科技学院网络工程师,研究方向为网络规划设计与安全。
187
Computer Knowledge and Technology 电脑知识与技术第17卷第4期(2021年2月)
投资策划方案
本栏目责任编辑:唐一东
人工智能及识别技术
图2
所示:
图2水果识别流程图
2.1样本库的建立
本次课题设计以苹果、香蕉、橘子的数字图像作为对象进行研究。但是研究的初始阶段因为缺少图像样本库,所以需要自建样本库来实现目标。
在CSDN 、PUDN 、百度图片、互联网搜索等方式来获得不同环境下(光照、角度、背景)下的水果原始图像,构建水果图像样本库共299张格式为JPEG 的彩图像。2.2图像的目标分割
在读取图像并完成尺寸变化后,为减少计算量,灰度化是不可缺少的一项处理。图像在进行特征识别前,由于图像在获取时的角度、光线以及图像背景等问题的存在,直接进行特征提取往往效果不佳。所以要事先对图像进行目标分割,将图像与背景相分离,将水果区域凸显出来,然后进行图像填充、标记等方式将目标与背景完全分割开。2.3图像特征提取
(1)颜特征提取
数字图像的颜特征包括颜直方图、颜矩、颜相关图和颜聚合向量等。本次采用的是颜矩来进行颜特征的提取,在图像中颜的分布信息主要是集中在低阶矩中,所以采用颜的一阶矩、二阶矩、三阶矩就足够表达颜的分布[3];相比于颜直方图优点在于无须向量化,颜矩一共是提取9个分量(RGB 三个分量,每个分量三个低阶矩),所以相对于其他的颜特征来说更为简洁。
(2)纹理特征提取
纹理特征是一种反映图像表面相同性质的特征,它体现了物体的表面具有缓慢变化或者周期变化的结构排列属性[4]。纹理可以认为是灰度分布在空间位置上的反复出现而形成的,在图像中相隔距离的两
个像素之间会存在一定的灰度关系,也就是灰度相关性。所以本次采用灰度共生矩阵来进行纹理特征的提取。
灰度共生矩阵就是一种通过灰度的空间相关性来描述纹理的常用方法。它是根据像素的距离和角度形成的矩阵函数,通过计算图像中距离和方向的两点灰度之间的相关性,来反映
图像在方向、间隔等方面的综合信息[5]
。
(3)形状特征提取
物体和区域的形状是图像表达和图像检索中的另一重要的特征。但不同于颜或纹理等底层特征,形状特征的表达必须以图像中物体或区域的划分为基础。形状特征的提取有:傅立叶形状描述法、几何参数法、形状不变矩法。本次设计选用几何参数法进行形状特征提取。2.4水果分类器的建立
BP 神经网络是一种按照误差逆向传播数据算法来训练的多层前馈神经网络。前馈神经网络的基本特点是,节点按照一定的层次排列,信号的传输只有单一的方向从上层节点传输到下层节点,网络的连接部分是单向的。在网络运行中,可以将每一层网络节点作为一次对特征值的转换或者计算,变化的方式取决于节点传递函数。最后的结果则是由网络的最后一层节点做出决策[6]。
BP 神经网络的结构可以大致分为三层即输入层、隐含层、输出层。其中隐含层就是处于输入层和输出层中间的层,一个神经网络中可以有一个或者多个隐含层;有多少隐含层就称为几层前馈神经网络。并且,隐含层和输出层都是具有激活函数的功能神经元。BP 神经网络被大量应用在模式识别、故障检测、智能控制、函数逼近等邻域,是目前应用最成功、最广泛的神经网络模型之一。
本次课题选用BP 神经网络作为水果分类器,相比于其他算法BP 神经网络具有误差反馈的优势,在训练时会不断地将出现的误差返还,以此来调节网络层之间的权值,以达到最佳识别效果。
3仿真结果及分析
第二轮“双一流”建设高校名单公布3.1水果图像的训练及识别
本次仿真都是在64位WIN10操作系统下,采用MAT⁃LAB2019a 软件进行仿真测试。样本库来自CSDN 、PUDN 、百度图片等渠道,为JPEG 格式的299张彩图像,共分为三种水果(苹果、香蕉、橘子)。图像均转换为128×128大小的图像,采用OSTU 法进行二值化处理后用Canny 算子进行边缘检测,并对其进行闭运算,最后进行填充和标签化。其结果如图3
所示。
图3图像分割结果
本次设计共选用四种特征值进行训练识别,即颜特征、纹理特征、形状特征。其在提取出相应的特征值之后将特征值用矩阵的方式封装起来,生成样本库作为训练识别数据。训练识别器是选用的BP 神经网络来进行训练识别。由于在训练识别已经将特征值与标签打包放到了一起,训练前要进行数据集分割。本次选用30%数据集作为测试集,70%数据集作为训练集。
在训练前将数据集进行数据归一化,选用模式识别函数patternnet 来搭建识别分类器所需的识别网络。隐含层的层数很大程度上影响着识别率,隐含层中的神经元的多少同样也会对识别率有影响。在测试中神经元并不是越多越好,本次采用四层隐含层的神经网络,不同隐含层对应的识别率如表1所示:
表1不同隐含层的识别率
隐含层神经元个数识别率
1[20]
88.64%2[20.50]
90.91%3[20,50,91]93.18%
4[20,50,91,222]90.91%
在表1中可以很明显地看出来,在隐含层增加到第4层后,识别率不仅没有提高,反而在不断降低,所以本次网络建立选择的隐含层数为3层。经过测试,隐含层中的神经元个数为
188
Computer Knowledge and Technology 电脑知识与技术
第17卷第4期(2021年2月)
点亮财付通人工智能及识别技术
本栏目责任编辑:唐一东[20,50,91]时识别率最高也最稳定在93.18%。识别网络图,训练曲线分别如图4、图5
所示。
图4神经网络(3层隐含层
)
图5神经网络训练曲线
图5中有三条曲线,分别为:Train 曲线(表示训练集在训练过程中误差的下降程度)、Validation 曲线(表示验证集的训练过程中的误差下降程度)、Test 曲线(是输入的测试集的训练曲线)。本次训练的迭代次数为38次,即所有训练样本通过了神经网络训练一次(一个正向传递和一个反向传递)。在32次训练迭代时,验证集的错误率降至最低,在继续训练6次后错误率没有降到更低的情况下结束训练,所以本次训练的迭代次数为38次。3.2系统测试
在神经网络训练过程中,将识别率达到最高时的网络模型保存下来为一个net.mat 文件。该文件作为后续系统中的识别模块使用,根据测试集的误差输出显示,该模型的最大精度为93.18%;符合要求,可以作为识别模块使用。3.2.1GUI 界面展示
本次借助Matlab 软件中的GUI 设计功能,设计了一个水果
识别系统界面。该界面可以实现优秀的人机交互功能。本次设计制作了三个按钮、两个图像显示界面、一个静态文本界面。三个按钮分别实现:输入图像、识别图像、清除图像三种功能。水果识别GUI 界面如图6
所示。
图6水果识别GUI 界面
3.2.2水果识别系统的测试
将训练好的模型输入到GUI 中后,随机提取样本库中的苹
果、香蕉、橘子三张图像作为识别对象,测试结果如图7
所示。
(a )苹果识别结果
(b)香蕉识别结果
(c )橘子识别结果图7测试结果
4结束语
本文设计出一种基于BP 神经网络的水果识别系统,获得了较高的识别率。但是因本人的学术水平有限,并未考虑到复杂环境下的图像识别,在后续的学习和研究中将不断完善,不断进步。
参考文献:
省份简称[1]王前程.基于深度学习的水果图像识别算法研究[D].河北大
学,2016.
[2]Kondo,Naoshi,Yata,Koki,Iida,Michihisa.Development of an End-Effector for a Tomato Cluster Harvesting Robot[J].En⁃gineering in Agriculture Environment &Food,2010,3(1):20-24.
[3]胡文锦.图像边缘检测方法研究[D].北京:北京交通大学,2009.
[4]蔡健荣,赵杰文.自然场景下成熟水果的计算机视觉识别[J].农业机械学报,2005,36(2):61-64.
[5]焦蓬蓬,郭依正,刘丽娟,等.灰度共生矩阵纹理特征提取的Matlab 实现[J].计算机技术与发展,2012,22(11):169-171,175.[6]陈源,张长江.水果自动识别的BP 神经网络方法[J].微型机与应用,2010,29(22):40-43,48.
【通联编辑:唐一东】
189
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论