matlab水果定位与分割,利用Matlab软件和BP神经网络快速识别水果实现分拣

我国是水果生产与消费大国,我国水果不但品种丰富,而且以水果为原料的食品如罐头、果冻等加工产业也颇具规模。然而,在水果果料的加工过程中可能会不经意地混入诸如毛发、纤维丝、纸屑、金属、油漆等异物,从而对产品质量和消费者心理造成不良影响。目前大多数食品生产企业还是采用人工裸眼检测加工过程中在制品是否沾染异物,存在效率低、漏检率高、劳动量大等缺点。

人们吃到甚或看到食品中有异物总是很恶心,为此而向销售、生产商索赔的事件不时发生。生产商为确保食品中无异物,需要在生产中设置多道检测工位,绝大多数是人工裸眼目检。人的眼脑手配合具有高度智能和柔性,能够识别和提出各种异物缺陷,然而视觉疲劳、生理和主观因素会带来工作质量的差异和效率低下。利用机器视觉技术来代替人工检测,是现代化生产的发展趋势。

随着提高产品质量的要求和劳动力成本日益升高的形势,企业迫切希望应用机器视觉技术实现工业生产自动化检测。但是在农产品质量和食品加工质量方面,国内外原有研究成果主要只针对完整且表面相对干燥的果体进行大小、形状、成熟度、表面损伤与缺陷等的检测与分级,而在异物检测方面,只有针对单一品种果料如桔瓣上的某种异物进行检测的研究。

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

1水果图像的增强和分割

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

e0213fa6dafffab571f9250885e580f8.png

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

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

索贝尔算子(Sobeloperator)是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。Sobel算子另一种形式是各向同性Sobel(IsotropicSobel)算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。

利用Sobel算子进行边缘检测。Sobel算子是一种简单常用的微分算子,它不仅能检测边缘点,而且能进一步抑制噪声的影响。Sobel算子对数字图像f(x,y)的每个像素考查其相邻点像素灰度的加权差,即

b85ada4718ee3169c9cc1226af30d3f4.png

2水果的特征提取

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

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

b00c78fd199493406019006648e5478c.png

由表1可以看出:

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

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

3基于BP神经网络的识别

3.1BP神经网络简介

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

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

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

6d2a1f874a4bb0dbbb3105b0ad54822b.png

对于BP网络的实现,本系统用到了网络初始化指令init(net)、网络创建指令newff(PR,[S1S2…SN],{TF1TF2…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.000903996。

a1e7fb27e92f59893df115eb66431df6.png

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

(1)由于采集图片时光线强弱不同,水果的阴影深浅不同,影响了对水果的轮廓识别;

(2)同种水果品质不同使颜色有差异,带红色元素较多的桔子和带黄色元素较多的苹果放在一起时易造成误判。

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

相关资源:橘子快速启动软件(橘子启动器)v3.0绿色免费版-其它代码类资源…

来源:优游的鱼

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月16日
下一篇 2021年2月16日

相关推荐