MATLAB水果自动识别的BP神经网络方法

水果自动识别的BP神经网络方法

摘 要:针对多种水果混合的图像,对各种水果的提取和识别进行研究。利用Matlab软件进行图 像数据获取、对比度增强、去噪、二值化处理;为弥补二值化后图像中出现的断边、孔洞,借助Sobel算 子进行边缘提取以接合断边,并基于数学形态学算子填充孔洞。再标签化处理图像并提取水果的颜 色、形状、边缘特征,用200幅水果图像提取上述特征构造训练样本和测试样本,然后利用构造的样本 对BP神经网络进行训练和测试。实验结果表明,所提出的方法能够获得很高的正确识别率,能够有效 地将同一幅图像中的不同水果识别出来。

关键词:BP神经网络;水果识别;二值化;标签化;MATLAB


我国一直是水果、蔬菜生产大国,水果分拣基本上 仍由人工完成,虽然成本低廉,但劳动力大、生产效率 低,产后商品化处理技术和设备落后,用肉眼评判水果 的好坏,分级标准不一和分级精度不稳定,导致产品缺 乏市场竞争力,出廿数量少、价格低⑴。因此找到一种高 效的机械分拣方法非常必要,在我国具有十分重要的经 济价值和广阔的应用前景。

计算机图像处理及识别是计算机应用技术的一个 重要方面,在电子工业、人工智能、工;业自动化、生物医 疗工程、卫星遥感等众多领域中占有极其重要的地位四。 近年来,计算机图像处理及识别的研究在我国受到了广 涉的重视.取得了卓有成效的湃展.逐步历向实用阶段.

图像识别主要是研究用计算机代替人自动地去处 理大量的物理信息,解决人类生理器官所不能识别的问 题,或是直接帮助人识别信息从而简化劳动⑵。机械分 拣短时、高效的特点符合果蔬产品的时间特性,能及时 地分拣出高质量的水果。水果经识别后,可通过机械自 动化控制,对水果信息按目的地分类。因此,采用图像识 别技术对水果按要求分类,运用自动化机械分拣技术 也在实际的生产过程中能减少大量的人力资源,具有 短时、高效、方便的特点。

本文针对多种水果混合的图像,利用Matlab软件, 对水果的识别进行研究。根据水果与背景灰度值的差别 选取阈值,对去噪、增强对比度后的图像进行二值化处 理。分割出目标后,由于原始图像中灰度分布不均匀和光照等的影响,可能同一类水果中会出现空洞或个别边 缘处岀现断裂情况等,因此要对图像进行边缘检测。然 后标签化处理图像,区分水果,再提取不同水果的颜色、 形状、边界不规则等特征,用多幅图像训练BP神经网 络,建立水果特征库,利于快速识别水果,从而实现对水 果的正确分拣。

1水果图像的增强和分割

在计算机上,图像由像素逐点描述,每个像素点具 有一个明确的位置和色彩数值。用Matlab软件读取图 像,以矩阵的形式存放图像数据,其扫描规则是从左向 右,从上到下。为处理方便,把原始的彩色图像转换为灰 度图像,如图1(a)所示。


v2-2992c6d0d80e9fb5bd773aeef79fe757_b.jpg

v2-12875d486a9e7b755587202036ce075f_b.jpg

v2-7881fd28bb9dbead305f22335401495b_b.jpg

采用中值滤波法对灰度图像进行去噪处理。中值滤 波是抑制噪声的非线性处理方法,本文用中值滤波法处 理3x3像素的局域图像,把9个灰度值按从小到大的顺 序排序后,以第5个(即中央)序号的灰度值作为目标像 素的灰度值。中值滤波对于滤除图像中的椒盐噪声非常 有效1七去噪后的图像如图1(b)所示。

(a)灰度图像

(b)去噪后的图像

1水果图像的去噪和锐化

(c)锐化后的图像

为了得到更清晰的图像,再对图像进行锐化处理,采 用反锐化掩模的方法。反锐化掩模法是一种常用的图像 锐化方法。

式中/(x,y)为处理前的图像;,'(x,y)为用人为方法将/'3, /)模糊以后得到的图像;g(*,y)为锐化处理后的图像;c (O1)为比例常数,根据具体情况选定。反锐化掩模法有 效地提高了高频成分,使模糊呆板的图像变得具有清晰 感和生动感回,图1(c)是锐化后的结果。

经过去噪和对比度增强,就可以对图像目标进行提 取分割。图像阈值分割是最常用的图像分割技术,主要 利用了图像中背景与对象之间的灰度差异⑹。只要阈值 选取合适,将每个像素与之比较,进行二值化处理,就可 以很好地将对象从背景中分离出来。取阈值为0.34,图 2(a)是二值化后的结果。从图2(a)中可以发现水果中有 很多空洞,且水果的边缘处有断裂现象,所以采用边缘 提取以弥补断裂的边缘部分,然后基于数学形态学算子 对图像进行去除断边、图像填充等必要的后续处理。

利用Sobef算子日进行边缘检测。Sobel算子是一种 简单常用的微分算子,它不仅能检测边缘点,而且能进 一歩抑制噪声的影响。Sobel算子对数字图像/(%,y)的每


v2-ad834677a25edeb4bef9622012efe133_b.jpg

v2-7cacb794ff5ff5e00bd8bfdc9a4c4a81_b.jpg

个像素考查其相邻点像素灰度的加权差冏,即并填充孔洞后的图像

2水果图像的分割

利用Sobel算子进行边缘检测的结果如图2(b)所示, 水果的边缘清晰地显示岀来。再利用OR运算结合模糊 分割和边缘信息⑵,去除断边如图2(c)所示;利用数学 形态学“°•叫重新填充一下图像中的洞,最终处理后的图 像符合本文的要求,其效果如图2(d)所示。

2水果的特征提取

经过图像分割后,水果和背景很明显地被区分开 来,然后,需要对每种水果的特征进行提取。先对图像进 行标签化,所谓图像的标签化是指对图像中互相连通的 所有像素赋予同样的标号,而对于不同的连接成分则给 予不同的标号。经过标签化处理就能把各个连接成分进 行分离,从而可以研究它们的特征。

区域分割(标签化)最基本的方法是区域扩张法。本 文釆用8邻域法,由于是二值图像,因此差值可以定义 为“0”。为了能够看到明显的效果,程序以不同的颜色 来突出显示标签化后的图像,其效果分别如图3(a)和图 3(b)所示。


v2-c760f6a38282215ccac00a6ca250d320_b.jpg


(a)标签化图像图 (b)彩色标签化图像

3水果图像的标签化处理

本文根据水果在图像中表现出来的特点,从面积、 周长、弧度、颜色四个方面对图像中的桔子、苹果、香蕉 进行特征提取,最后采用BP神经网络对目标进行分类 识别。

2.1面积特征

经过标签化的不同区域像素值分别为1、2、3。所以 用物体所包含的像素数量来计算面积,S对应像素值为 1的区域,当从左到右,从上到下地对图像进行扫描时, 发现像素值为1的,则计数器S就加1,整幅图像扫描 完毕,即得区域1的面积。类似地,可以求出S2和S3,只 是对应的S(n)需要除以no

2.2周长特征

计算周长只要计算出物体轮廓线上的像素数,但在 斜方向上会产生数字化图形特有的误差,故应以其2倍 的数量加以补正。当从左到右、从上到下地扫描图像时, 发现像素值为1的,且它的相邻像素值(8领域)有与它 不同的,计数器A加1,整幅图像扫描完毕,即得区域1 的周长。类似可以求出上和丄。

2.3弧度特征

弧度是在面积、周长的基础上,测量物体形状的复 杂程度的特征量。有弧度计算公式:弧度=4“(面积)/(周 长)2。通过对三种弧度的比较,可以将图中三种水果弧 度最小的香蕉识别出来。

2.4颜色特征

本文采用颜色直方图法提取水果图像颜色特征。所 谓颜色直方图是颜色信息的函数,它表示图像中具有同 颜色级别的像素的个数,其横坐标是颜色级别(各个像素 的灰度级),纵坐标是该颜色出现的频率(像素的个数)。

图像的颜色有多种表示方式,本文采用RGB颜色 模式。对于彩色图像,可分解为R、G、B三幅单色图像, 因此相应的便有三幅不同通道的直方图,每幅直方图中 的像素分布情况都代表了这一通道中的特定颜色的程 度信息。从肉眼即可分辨出苹果的红色含量要比桔子和 香蕉丰富得多,所以苹果红颜色的信息量在红、绿、蓝三种 颜色中所占的比例也应该是三者中最高的,即N心N绿: N黄的值也是最大的。所以,本文釆用N绿+N黄)的 算法来比较三种水果各自红色信息所占比例,从而将苹 果特有的特征量提取出来,达到识别苹果的目的。

经Matlab软件编程测试得图像中三种水果的特征 参数如表1所示。

由表1可以看出:

(1)香蕉是周长最长、弧度最小的水果;

表1水果的特征参数

水果种类面积S周长£弧度(radian x)颜色(ration)
桔子7 2713900.60071.2200
苹果14 0678980.21920.7605
香蕉10 0064650.58151.6010

(2)在三种水果中,苹果的R通道直方图中固定区 域(100-170像素)中像素数量与其G通道和B通道直方 图中固定区域中像素数量和的比值为三者中最大的,即 苹果的红色信息量()是最多的。利用这种计算像 素比值的方法便可以将苹果与其他两种红色信息量相 对较少的水果区分出来。

3基于BP神经网络的识别

3.1 BP神经网络简介

神经网络是由简单结构和规则复合而成的高级复 杂的非线性系统,它在不同程度和层次上模拟人脑神经 系统的信息处理、存储及检索功能,具有并行结构和并 行处理、自适应性、知识的分布存储、较强的容错性、本 质的非线性系统等特性凹。通过网络训练,可以建立数 据库信息的非线性模型,并从中提取出相应的规则,能 够实现目前基于计算机理论层次上的模式识别理论无 法完成的模式信息处理工作。基于神经网络的模式识别 法相对于其他方法来说,其优势在于:(1)它要求对问题 的了解较少;(2)它可以实现特征空间较复杂的划分;(3) 它宜用高速并行处理系统实现'5、

BP神经网络是目前应用最为广泛的一种神经网络 模型,它采用多层前向网络的反向传播算法,具有逼近 任意连续函数和非线性映射的能力''%大量应用在函数 逼近、模式识别、故障诊断、智能控制、信号处理等领域。

BP神经网络的实质是把一组样本输入、输出问题 转化为一个非线性优化问题,并通过梯度算法进行迭代 运算求解权值问题,在BP神经网络结构确定后,就可 利用输入输出样本对网络进行训练,即对网络的权值和 阈值进行学习和调整,使网络实现给定的输入输出映射 关系。其训练模型如图4所示。


3.2基于BP神经网络的水果识别

多层BP网络不仅有输入、输出节点,而且还有一层 或多层隐含节点。本系统釆用三层BP神经网络,即网 络由输入层、隐含层和输出层组成[13-15]o对于水果图例 中的桔子、苹果、香蕉三种水果,本系统需要训练网络通 过识别弧度、颜色两个特征量来区分这三种水果,所以 共需要2个输入端,3个输出端。输出端分别对应[1 0 0]、[0 1 0]、[0 0 1]師。

隐含层节点数目的选择是一个十分复杂的问题,到 目前为止,还没有用数学公式来明确表示应该怎样确定 隐含层的节点数目。事实上,节点数太少,可能训练不出 来,或者训练出的网络不强壮,不能识别以前没有看到 过的样本,容错性较差;但隐含层节点太多又会使学习 训练时间太长,误差也不一定最佳|叫。参照经验公式和 实验测试效果,这里选择有19个隐含层节点的网络。

综上所述,本文所建立的网络是一个具有2个输入 端、19个隐含节点、3个输出节点的三层BP神经网络。 其网络结构如图5所示。


v2-6cee4b4f194711fa9291584445ab33f1_b.jpg


5三层BP神经网络结构图


对于BP网络的实现,本系统用到了网络初始化指 令 init(net)、网络创建指令 newff(PR,[Sl S2 ••• SN], {TF1 TF2 • • • TFN}, BTF, BLF, PF)、网络仿真指令 sim (net, p)、网络 训练指令train(net,p,t)、竞争转换指令compet(y)。在隐含 层确定后,运用传输函数sigmoid ,把一个取值范围为无 穷大的输入变量压缩到一个取值范围有限的输出变量 中,方便得出输出层的结果。

将多组图片釆集到的桔子、香蕉和苹果各自的弧度 及颜色数据分别作为训练样本和测试样本,设定目标输 出分别为1、2、3(1表示桔子,2表示香蕉,3表示苹果)。 本实验中用200幅水果图像提取水果特征构造训练样 本和测试样本,训练样本150个,测试样本50个。经过 对BP网络的初始化、训练、仿真、竞争、转换等操作,最 终实现其对特征数据的正确识别,从而达到能够自动识 别水果的目的。

4实验结果分析

BP网络的训练性能曲线如图6所示,上面的曲线 是训练性能曲线,下面曲线是目标性能曲线,训练的目 标是达到0.001 ,性能为0.000903 996o

经150个包含桔子、苹果、香蕉三种水果的图像训


v2-8ce2cea647f9a7f62d02a11f12fae025_b.jpg


练样本训练使BP神经网络的识别正确率达100%,且从 图6中可以看出BP神经网络收敛,说明训练成功,将此 网络保存,用来进行样本测试。

对50个测试样本经BP神经网络验证,香蕉的识别 正确率达100%,桔子和苹果的识别正确率是98%,进一 步证明了特征提取和BP神经网络识别水果的有效性, BP网络已经能够正确识别桔子、苹果、香蕉三种水果各 自的特征量并将其准确地区分出来(1表示桔子,2表示 香蕉,3表示苹果)。表2所示为水果识别率统计表,可见 水果数据库建立成功,BP网络的训练也达到了比较准 确的程度,基本上达到了水果识别的目的。

表2水果识别率统计表

水果种类桔子苹果香蕉
训练识别率/%100100100
测试识别率/%9898100


训练时BP神经网络识别正确率能达到100%,但用 测试样本对BP神经网络测试时,桔子和苹果的正确率 无法达到100%,主要原因有:

  1. 由于采集图片时光线强弱不同,水果的阴影深浅 不同,影响了对水果的轮廓识别;
  2. 同种水果品质不同使颜色有差异,带红色元素较 多的桔子和带黄色元素较多的苹果放在一起时易造成 误判。

实验结果表明,基于BP神经网络的水果识别系统 具有较强的适应能力,识别效率高,是一种有效的检测 方法。利用水果自身的特征对水果图像进行分类识别是 计算机视觉技术在农业自动化四应用中的重要前提条 件。近年来,随着计算机视觉技术的发展,图像分类识别 在各行各业的应用愈加广泛。通过图像的外观特征对图 像进行分类识别,是一种及时便捷、切实有效的方法。 本系统对水果的识别正确率高,具有非常重要的经济和 实用价值,其应用前景十分广阔。

参考文献

  1. 曾江辉.关于我国水果的国际竞争力分析[C].中国论 文联坛,2010.
  2. 宁天夫.数字图像处理技术的应用与发展[J].舰船电子 工程,2009,29(1):38 -41.
  3. 向光蓉.基于图像识别的苹果分级研究[D].大连海事大 学学报,2003,29(3):14-41.
  4. 黄启明.自动分拣系统及其应用前景分析[J].物流技术, 2002,21(5):7.
  5. 贾永红.数字图像处理[M].武汉:武汉大学出版社、 2003.
  6. 白菲.基于机器视觉的柑橘水果外形识别方法研究[C]. 信息与电气工程学院,2005(11):16-31.
  7. 袁春兰,熊宗龙,周雪花.基于Sobel算子的图像边缘检

'°,5:°253035

(a)裁剪前 (b)裁剪后

14圆与矩形窗口有少于8个交点的情形


(3)简化了入点和出点的判断。本算法利用封闭图形 的入点和出点在矩形窗口边界上交互出现,只需判断一 [8] 个起始点为入点或出点,然后按照逆时针顺序,根据入点 和出点交互分布的原则依次判断其他点是入点或出点。

在基于类直角坐标系的六角网格系统上,矩形窗口

进行变化,即可适用于其他图形图像的矩形窗口裁剪。

参考文献

  1. ROGERS C A. Packing covering[M]. Cambridge : Cambridge University Press, 1964.
  2. TIRUNELVELI G, GORDON R,PISTORIUS S. Comparison of square-pixel and hexagonal - pixel resolution in image processing]". Proceedings of the 2002 IEEE Canadian Conference On Electrical & Computer Engineering.
  3. CONDAT L,Dimitri Van De Ville,BLU T. Hexagonal versus orthogonal lattices: a new comparison using approx-imation theory [J]. ICIP: IEEE International Conference on Image Processing,2005,3 • 11_ 14.
  4. 刘勇奎,邹善举.六角网格上的图像算法及几何量 定义[J],计算机工程与设计,2000,21(1):61-64.
  5. 赵慧杰,晏俊德,刘勇奎,等.六角网格单色显示器 及图形算法研究[J].沈阳工业大学学报,1997,19(5): 66-71.
  6. 韩丽.基于六角网格的矩形窗口的圆裁剪算法[JL 锦州师范学院学报(自然科学版),2003,24(4):64 - 66. 孙长嵩,李丽洁,宋阳.一个基于六角网格的圆形窗口 的裁剪算法[J].交通科技与经济,2006,33(1):78-80. 付文超,罗小华,张文争,等.改进的六角网格下椭圆 绘制算法[J].暨南大学学报(自然科学与医学版).
  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值