基于MATLAB的水果分级识别技术研究
摘 要
本次毕业设计介绍了基于MATLAB的水果分级自动识别,利用手机端获取苹果的样本图像,应用MATLAB软件编程实现了对样本图像的预处理,包括图像滤波、图像填充、图像灰度化、图像二值化以及特征量提取等。
水果分级自动识别我们通过四个不同方面来对基于MATLAB的苹果分级进行探索研究。
主要工作如下:
1. 在苹果大小识别方面,比较了不同的大小计算方法,选择了利用图像处理技术,找到苹果中心点,判断苹果图像实际半径长度,从而对苹果大小进行分级识别。
2. 在苹果颜色识别方面,通过对不同的颜色模型进行研究,RGB模型主要适用于硬件设备,HIS模型更符合人类视觉特征,所以我们选择HIS模型来对苹果进行颜色分级识别。
3. 在苹果缺陷识别方面,利用多种不同的算子对苹果图像进行处理,选择利用canny算子对图像进行处理。
4. 在苹果形态识别方面,通过计算公式,得到图像的圆度数值。
关键词: MATLAB 图像处理 水果分级
Research on fruit classification and
recognition technology based on the MATLAB
ABSTRACT
The fruit of this graduation design based on MATLAB was introduced automatic recognition and classification using mobile terminal access to apple's sample images, using MATLAB software programming realized the sample image preprocessing, including image filtering, image filling, grayscale image, image binarization and feature extraction, etc.
The fruit grading automatically identifies us to explore the MATLAB based apple classification in three different aspects.
The main work is as follows:
1. In terms of apple size identification, compared the different calculation method, the size of the selected using image processing technology, find the center of apple, apple image actual length of the radius, which is used to identify the grading size for apple.
2. In terms of color recognition of apple, through study of different color model, the RGB model is mainly suitable for hardware, ihs model more accord with human visual characteristic, so we choose HIS model is used to identify the color grading for apple.
3. In the aspect of apple defect recognition, the apple image is processed with a variety of different operators, and the canny operator is selected to process the image.
4. In the aspect of apple shape identification, the roundness value of the image is obtained through the calculation formula.
Key words: MATLAB image processing fruit grading
目 录
1绪论
1.1 研究的目的与意义
水果分级识别技术在如今一切以“O2O”模式为经营理念的当下,具有重要的意义。
水果分级识别技术是利用了计算机技术以及图像处理等许多学科知识综合起来,先通过对水果图像的大小与颜色进行检测,再对检测结果进行综合分析,继而对水果进行分类以及分级。这项技术只需要对水果进行拍照就可以进行比对识别,便于应用。
现如今,许多国家都推出了无人便利店,在无人便利店里因为有部分商品是处于自动售货机内,不能被消费者挑挑拣拣的,这时就需要用到水果识别技术来帮助消费者区分水果质量,通过适合的价格购买到正确品质的水果,不让消费者产生多余的损耗。
并且,在现在虚拟经济的时代,具有像亚马逊,京东这样的自营品牌大型电商,这种企业在大型城市里都具有自己的线下仓库,通过纪录片我了解到,他们的仓库里面基本已经实现了无人工作的模式,一切调度,提取货物,装箱发货都已经采用了机器人技术以及自动化技术,京东已经在部分城市实现了机器人派送货物,亚马逊更是已经实现了无人机派送货物,人力资源逐渐在被取代。在他们的仓库里面就需要用到水果识别技术,对水果进行分类与分级识别,继而由机器人进行分拣。
在过去,水果分级都是人工分级,难免会产生矛盾,现在,应用计算机图像处理技术,进行随机取样,计算机通过随机取样图像可以计算出这个图像内水果的大中小、优良中差等个数及受损情况、所占比例,并做出综合质量判断,这种方法省时省力且客观公正。
数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。
1.2 国内外研究的现状
1.2.1 国外情况
日本拥有世界上最贵的西瓜(北海道黑皮西瓜),世界上最贵的苹果(青森县世界一苹果),世界上最贵的柑橘(凸脐柑),世界上最贵的蜜瓜,世界上最贵的草莓,世界上最贵的芒果,世界上最贵的葡萄等等。
在日本,因为国土面积问题,农作物的价值非常高,日本消费者对水果的消费是非常挑剔的,其水果上市前都要经过分级包装。有些价值较高的水果,如冬季上市的西瓜要在标签上糖度数值。目前,在日本许多高新技术在水果检测领域得到应用。计算机技术、无损伤检测技术以及自动化控制技术的发展为现代分级检测技术提供了广阔的空间,使分级检测技术正在由半自动化向全自动化,复杂化向简单化转变。
1.2.2 国内情况
应以斌去除果梗并完成了边缘提取与细化的水果图像,求得水果形心坐标,根据线性回归法最终确定水果的大小特征。
冯斌等通过水果图像边缘的像素求水果形心并确定水果大小的特征值。
绕秀琴等分析了水果实际尺寸与测量值之间的半径误差。
应以斌等研究了一种利用柑橘最小外接矩形求柑橘最大横径的方法。
章程辉等通过形态学处理可见光图像的检测,其测量精度可大大提高。
现如今,陕西的苹果,已经从国外引进了分级设备与技术,以利于更好地出口创汇。目前中国国内最主要的矛盾是:人民日益增长的物质文化需求与落后的社会生产之间的矛盾。我们国家地大物博,物产丰富。如果能够好好的利用这项技术,对于国内社会可以提高人民群众的生活品质,在国际社会也可以提高国际声誉,拉动中外友谊。这项技术必将对国家的发展产生有利的影响。
1.3 研究内容
本课题是基于计算机视觉的水果分级检测,以苹果(种类:红富士)为研究对象。在总结了国内外的研究成果的基础上,选用了运行速度快、可靠性高的方法。对苹果依次进行了图像采集、灰度化、二值化、图像分割、颜色模型转换。再通过苹果的分级特征对苹果进行分级。保证了分级结果的准确性和实用性。主要的研究内容包括:
(1)通过采集到的苹果图像,经过一些处理后。提取出苹果大小的特征值建立分级模型。根据苹果检测出的结果作出判断,来定出水果的大小等级。
(2)对苹果的表面颜色进行分析,建立分级模型,提取出颜色特征值,进而判定出水果颜色的等级。
(3)对苹果进行灰度化,并选择适当的阀值对灰度化后的图像进行二值化,确定缺陷的区域。在通过计算缺陷面积得出缺陷的等级。
1.4 技术路线
水果本身是一种具有具体外形,独特颜色的物体,不同级别的水果通常会在外观上表现出明显的差异性,例如苹果,优良的苹果通常外表圆润饱满,色泽红润有光泽,而次一级的苹果通常表现不佳,外观上通常坑坑洼洼,甚至于有疤痕存在,色泽方面也会存在部分红润,部分透绿的情况。
在计算机上,图像由像素逐点描述,每个像素点具有一个明确的位置和色彩数值。我们可以通过机器视觉对水果尺寸大小,形状,颜色来进行测量分级,利用MATLAB软件读取图像,以矩阵的形式存放图像数据,其扫描规则是从左到右,从上到下。为方便处理,我们把原始的彩色图像转换为灰度图像。根据水果与背景灰度值的差别选取阙值,对去噪、增强对比度后的图像进行二值化处理。分割出目标后,为了防止原始图像中灰度分布不均匀和光照等的影响,导致同一类水果中出现空洞或个别边缘处出现断裂情况等,因此要对图像进行边缘检测,重新填充图像中的洞。经过图像分割后,水果和背景很明显地被区分开来。
我们用物体所包含的像素数量来计算面积,当从左到右,从上到下地将整幅图像扫描完毕,即可得到水果的面积。
我们通过分辨水果的色调,判别红色区域所占面积的大小,从而从颜色方面对水果进行分级。
我们还可以通过图像中水果的不同大小的缺陷来对水果进行分级操作。
图1-1 苹果分级系统总体设计结构图
1.5 本章小结
本章介绍了水果自动识别在实际应用上的重要性,指出了水果识别在实际应用方面取代人工识别的利好方面,通过现如今的应用技术背景,国内外发展情况,完全可以实现水果自动识别的设计。
2图像预处理方法研究
2.1 引言
图像预处理是对图像进行操作的必要环节,通过图像变换,图像增强,图像复原等一系列操作,使图像达到特征提取的基本层次,
图像增强
根据其处理的空间不同,可谓两大类:空域方法和频域方法。前者直接在图像所在像素空间进行处理;而后者是通过对图像进行傅里叶变换后在频域上间接进行的。在空域方法中,根据每次处理是针对单个像素还是小的子图像块(模板)又可分为两种:一种是基于像素的增强,也叫点处理,这种增强过程中对每个像素的处理与其他像素无关;另一种是基于模板的图像增强,也叫空域滤波,这种增强过程中的每次操作都是基于图像中的某个小的区域。
图像复原
对图像进行改进,改善输入图像的质量,尽可能恢复原图像的本来面目。也就是针对图像退化的原因设法进行补偿,把图像的退化过程模型化,并且采用相反的过程来恢复出原来的图像。
点操作
使用线性点操作来保证RGB图像在灰度级和彩色平衡方面都能适合。
颜色空间变换
将RGB空间变换到HSI空间。
2.2 图像的灰度化变换
通过CCD采集到的图像是RGB的彩色图像,如果要进行后序的处理工作。那么必须在前期先对其进行灰度化变换。灰度化变换之后的图像就是我们平时所说的黑白图像。图像的灰度化方法有三种:
最大值法
这种方法就是根据图像的RGB分量来确定图像的灰度值。灰度化后的灰度值就是R,G,B三个分量中的最大的那一个分量。
平均值法
这种方法就是计算R,G,B三个分量的平均值,用这个值作为灰度化后的灰度值。
权重值法
这种方法就是用R,G,B分量分别乘以一个参数,这样得出的值作为灰度化后的值。
本课题中对于图像的灰度化处理是通过一个函数实现的,这个函数就是rgb2gray.经过灰度化后的图像如下所示:
图2-1 灰度化后的苹果图像
2.3 图像的平滑处理
在图像的拍摄过程中由于受拍摄和传输设备的影响,总会产生使人厌恶的噪声,同样在图像的处理过程中也会产生。这些噪声会影响后续的处理工作和视觉效果。所以必须对图像提前进行平滑处理以减少噪声。噪声的消除有两种方法:频域法和空域法。频域法的原理是消除频域中高频成分,但是需要在处理过程中不断的在频域和时域之间转换,处理速度慢,不适合实际应用。实际应用中一般采用空域法,空域法中常用的有中值法、快速中值法、邻域平均法等。
2.3.1 中值滤波法
中值滤波是一种非线性平滑滤波,在一定的条件下可以克服线性滤波所带来的图像细节模糊问题,而且对过滤脉冲干扰及图像扫描噪声非常有效,但对某些细节多(点、线、尖等)的图像不宜采用中值滤波方法。
他的方法是用一个有奇数点的滑动窗口,将窗口中心点的值用窗口各点的中值代替。其在matlab中用到的函数是medfilt2,其相应的语法是:
B=medfilt2(A,[m,n])
[m,n]为指定滤波模板的大小,默认值是3*3大小
2.3.2 快速中值滤波
快速中值滤波的方法稍微有点复杂,它要先求出原图像的直方图,然后通过直方图来求出中值。假设窗口的大小为m*n,从一个窗口的中值滤波输出到下一个中值滤波的输出。窗口将移动一列,新窗口的像素是原窗口的像素删去最左边的一列,然后再在他的右边加上另外一列。其余所有的像素点保持不变。然后对原来的直方图进行修正,利用直方图求新窗口的中值。
2.3.3 邻域平均法
由于图像受照相机、传输设备影响所产生的噪声都是随机的。可以把这些噪声看作是孤立的。所以可以用一个模块中所有像素的平均值来代替模板中间点的像素值。这样可以达到减少噪声的效果。但是图像的边缘可能就会因此而变得模糊了。因为图像的边缘本身变化就十分的剧烈。处理时可能会使图像边缘的细节变模糊。这也是邻域平均法的一个十分明显的缺点。
在本课题中,由于要考虑到图像处理的速度问题,实现的简易度,和图像处理的准确度等一些问题,所以我选择了中值滤波法。图像滤波后如下图所示:
图2-2 中值滤波后的苹果图像
2.4 图像的二值化
图像的二值化就是把得到的灰度化图像,通过选定阀值,把其变成只有“0”和“1”两个值的图像。把超过阀值的灰度值,统一处理成1,把低于阀值的灰度值统一处理成0.
本课题中对于阀值的选择,我选用了一个函数graythresh.通过graythresh函数选择出了阀值,然后用这个阀值作为参数进行如上所说的二值化。最后得出的二值化后的图像如下所示:
图2-3 二值化后的苹果图像
2.5 本章小结
本章通过比较不同的图像平滑化处理方法,最后采用了中值滤波法,既处理了噪声,还不会使图像变模糊,最主要的是使用起来十分的方便。另外还说明了图像预处理的其他方面内容,包括图像的灰度化和图像的二值化。
3 图像的特征提取
3.1 苹果的大小检测
3.2 苹果的颜色检测
3.3 苹果的缺陷检测
3.4 苹果的形态检测
3 苹果的大小检测
3.1 引言
本次水果识别技术研究需要获得苹果的面积大小。
水果的大小是水果品质的一个十分重要的品质因素。因而对于大小的分级检测在整个课题中占有十分重要的位置。目前水果大小检测的方法很多,在这方面研究的也十分成熟了。对于这方面的研究:
章文英等通过先对图像预处理,确定水果的轮廓,再通过水果的最小外切矩形,近似确定水果的大小,精确度不是很高。
而冯斌等先边缘检测,后通过确定水果的轴向、形心,进而得出水果的大小,精确度很高。
3.2 大小检测分级研究
目前水果的大小识别方法主要有两个方面:通过水果的外接矩形等方法确定水果的的果径大小,进而通过果径的大小来确定水果的大小等级;通过对水果的边缘进行傅里叶变换,通过傅里叶系数来确定水果的大小、形状等一些特征值,以此来判定水果的大小。现有的水果大小识别方法有以下几种方式:
最小外接矩形法
其基本的方法是先确定水果的形心,然后将水果每绕形心旋转3度后就拍一照片,找出所有照片中苹果外接矩形最小的那一张。那么这张图片的最长的那条边的长度就是苹果的果径长度。进而通过果径的长度来判定水果的大小等级。
图3-1 外接矩形法
最大果宽法
水果的大小可以通过水果的直径来表示,所以可以用果宽来对苹果的大小进行分级。对于确定果宽大小,第一步要求出苹果的果轴,果轴就是花萼和花梗的连线。果轴的确定对于静态的图像来说非常容易。果宽就是垂直于果轴的直线与苹果边缘交线中最长的那一条长度。
图3-2 最大果宽法
果径法
这种方法把苹果看成是球体,通过边缘提取和细节处理后,计算出水果的形心,果梗与形心的连线就是果径,通过形心与果径垂直的线就是果宽。通过果宽的大小来确定出苹果的大小等级。
投影面积法
CCD摄像头拍摄的水果图像是二维的平面图,计算此投影面积S,根据大量试验找到一个合适系数K'使得K乘以S接近水果真实的表面积。最后用这个近似的表面积来表示水果大小,并用于分级。由于很难找到合适的K值使所有的苹果近似面积接近真实表面积,该方法稳定性差。准确率低,不宜用在在线苹果大小检测上。
综上所述,最小外接矩形法计算量太大,不满足快速检测的要求.最大果宽法和果径法计算量小,但是根据得到的苹果图像不易找到果轴,因此算法难以实现。投影面积法对于一个苹果只拍摄一个图像,稳定性差,准确率低。
3.3 苹果大小特征提取
提取目标面积大小,求整体的像素数大小,
使用公式:
A1 = sum(sum(BW));
A2 = bwarea(BW);
由于判定水果的大小等级一般都是使用水果的直径来判别,所以要计算出水果的直径大小。
在数字图像处理过程中,把苹果图像的每个像素分别看作每一个点时,通过链码表示周长,当链码个数由奇数个链码组成时,其链码长度是√2,若组成链码个数为偶数个时,其长度取为1,用下式计算周长。
P = N1 + √2N0
式中,N1——偶数步数;N0——奇数步数;P——周长。
其中链码经常使用的是8方向和4方向,其方向定义如下图所示。
(a)8方向链码 (b)4方向链码
图3-3 方向链码
三幅苹果图像如下:
图3-4 苹果图像1
图3-5 苹果图像2
图3-6 苹果图像3
3.4 苹果大小分级试验与结果
GB10651—2008中对于大型果、中小型果的果径大小要求如下。本课题通过对水果的投影面积法,进而计算初水果的直径大小,再利用特定的阀值来对苹果的大小进行区分。
表3-1 苹果等级划分标准
等级 |
优等 |
一等 |
二等 |
等外 |
大型果 |
>=70 |
>=65 |
>=60 |
<60 |
中型果 |
>=65 |
>=60 |
>=55 |
<55 |
小型果 |
>=60 |
>=55 |
>=50 |
<50 |
表1 鲜苹果质量等级要求
项目 |
等 级 |
|||
优等品 |
一等品 |
二等品 |
||
果径(最大横切面直径)/mm |
大型果 |
>=70 |
>=65 |
|
中小型果 |
>=60 |
>=55 |
苹果的分级模型可以表示为:
If D>=th1 属于优等果
Elseif D>=th2 属于一等果
Elseif D>=th3 属于二等果
Else 属于等外果
3.5 本章小结
本章通过改进的投影面积法,来先计算出苹果三个侧面的面积,再计算相应的直径,求其平均值。来作为果径的大小,对苹果的大小进行等级区分。
4