基于MATLAB的玉米果穗颗粒统计方法

2015-03-12 17:57梁文东蒋益敏
江苏农业科学 2015年2期

梁文东 蒋益敏

摘要:颗粒统计与自动识别检测在现代农业中发挥关键作用,玉米果穗品质好坏与颗粒多少呈正相关。计算机技术特别是图像技术在玉米果穗中的应用多样化趋势明显,采用图像分割技术对玉米果穗进行颗粒统计能实现快速对玉米特征进行识别。由于玉米果穗颗粒之间往往存在粘连现象,采用传统分水岭分割方法对玉米果穗进行分割就会导致不能对粘连区域实现良好分割。而改进的分水岭分割算法,引入扩展极大值变换,既能避免过分割现象,又能实现对粘连区域的正确分割,本研究利用MATLAB对玉米果穗图像进行转换、灰度化、滤波降噪、区域增强等一系列处理后,采用改进的分水岭分割算法,准确实现玉米果穗颗粒统计。

关键词:MATLAB;颗粒统计;分水岭算法;玉米果穗

中图分类号: S126文献标志码: A文章编号:1002-1302(2015)02-0406-03

收稿日期:2014-11-06

作者简介:梁文东(1971—),男,广西崇左人,讲师,主要从事多媒体技术、图像处理应用研究。E-mail:meilidemeng_feng@163.com。玉米果穗性状参数测量是玉米作物遗传育种过程中一个重要环节,传统的人工测量,工序繁琐,劳动强度大,重复的手工计数更易使人眼疲劳,直接影响到检测的准确度和效率[1]。在信息技术高速发展的时代,计算机视觉技术与图像处理技术得到快速发展,使计算机测量技术日趋成熟,已经在农作物育种、测产、品质鉴定等方面广泛应用。玉米果穗性状测量主要是对外观品质参数进行测定,有穗长、穗宽、穗行数、行粒数、穗粒数以及颜色、纹理[2]等。本研究以统计穗粒数为例,借助MATLAB图像处理工具,采用扩展极大值变换改进分水岭算法,实现玉米果穗图像的颗粒统计。改进分水岭算法对中小型玉米育种与试验推广机构有很好的应用推广价值。

1玉米果穗图的采集与处理

在对玉米果穗进行颗粒计数前,需要设计合理的图像采集系统,并按统一的拍摄参数进行图像采集,然后对图像进行灰度化、图像增强和二值化等预处理[3]。

1.1玉米果穗图像采集

玉米果穗分新鲜玉米和干燥玉米2种,以广西农业职业技术学院育种中心采收晒干后的玉米种子干燥果穗作为试验材料。玉米果穗图像的采集通常有数码相机拍摄和扫描仪实物扫描2种方法。实物扫描仪法由于玉米果穗体积大,常规扫描仪由于遮光盖盖不上,出现漏光,造成聚集不准,图像模糊。相机拍摄法简单实用,但受拍摄距离、角度、光照的影响较大,会产生更多的噪声,增加了图像预处理的难度。为减少采集过程中的噪声引入,统一图像标准,拍摄前需严格按照预先要求设置好相机参数,将数码相机固定于离载物平台40~50 cm高的支架上,垂直向下拍摄,获取玉米果穗图像。

1.2图像预处理

由数码相机采集而来的玉米果穗图像是分辨率很高的彩色图像,它由R、G、B 3个颜色分量构成,数据量是灰度图像的3倍,为使后续的图像计算变得高效快捷,通常要进行彩色和灰度之间的转化。灰度图像又叫单色图像,图像中每个像素点的变化范围为0~255,分别表示不同的深浅灰色[4]。在RGB色彩模型中,灰度图像相当于彩色图像的一个颜色分量。由彩色图像转化为灰度图像其实就是使彩色的R、G、B分量值相等的过程[5]。在MATLAB中可用图形工具箱中的rgb2gray函数进行转换。

图像采集过程中受拍摄距离、角度、光照的影响较大,产生的噪声会直接影响到图像识别的准确率,需要根据噪声产生的原因以及噪声的统计特性和频谱分布的不同,选择合适的滤波算法,进行图像平滑。

平滑滤波在降低图像噪声的同时,也使图像的边界与轮廓变模糊,需要进行图像锐化处理,使得图像边缘更清晰[6]。MATLAB的图像处理工具箱中提供imfilter()和fspecial()2个滤波相关函数,其中imfilter()是滤波函数,fspecial()是滤波器(滤波模板)生成函数,它根据不同的算子生成特定的滤波器,然后由imfilter()函数完成滤波操作,实现图像增强。本例中采用高斯-拉普拉斯算子(Laplacian of a Gaussian,LOG),拉普拉斯算子采用基于二阶微分模板,对细节的响应强烈,图像锐化增强效果显著。LOG算子是高斯平滑滤波与拉普拉斯算子的结合,锐化前先对原图噪声进行平滑滤波,然后通过拉普拉斯算子锐化图像边缘,在噪声平滑与边缘强化中取得平衡。

二值图像由黑和白组成,没有中间灰度值,每个像素元素的取值非0即1。二值图像能反映图像的基本结构特征,且数据量极小,运算效率高,在进行玉米果穗颗粒分割前需要进行图像二值化处理。图像二值化根据事先设定的灰度阈值,扫描所有像素,将大于阈值的像素值全部置换为1,小于阈值的为0。因此,阈值是影响二值化效果的关键因素,阈值的确定通常有经验法、直方图谷底法、迭代法、最大类间方差法等。本研究按统一标准采集的玉米果穗图像背景比较纯净,采用自动阈值即可满足识别要求。

2算法分析

2.1基于分水岭的分割方法

由于分割目标是玉米果穗,其颗粒粘连特征突出,采用普通分割算法较为困难,而采用分水岭分割算法处理此类颗粒统计,效果较好。基于分水岭的分割方法属于数学形态学的一种[7],将图像视为地质学中的拓扑地貌,图像的灰度值对应地形的高度值,每一个局部极小值和对应的影响区域称为集水盆,集水盆的边界就是分水岭[8]。这一方法实质上也是迭代标注的过程,经典算法由学者L. Vincent提出[9]。分水岭算法先按照图像灰度值由小到大进行排序,然后从小到大将每一个局部极小值对h阶高度的影响按照先进先出原则判定和标注。为了快速得到图像边缘信息,输入图像一般选择其梯度图像。

分水岭算法对轻微变化的图案边缘响应强烈,能够得到连续封闭的图像边缘。传统分水岭算法存在过度分割的缺点,噪声,甚至物体表面灰度发生细微变化,都可能导致过分割的出现[10]。endprint

按照传统分水岭分割算法,对玉米颗粒进行分割,需要处理成二值图像。将分水岭分割算法在玉米颗粒统计分析分割效果,对欧氏距离变换后的灰度图像,玉米颗粒内部局部极大值点并不唯一,说明部分颗粒内部有多个极大值点存在,导致过分割产生。由此可见,传统的分水岭分割算法在玉米颗粒统计应用上会形成失效。

2.2改进分水岭分割方法

为避免出现传统分水岭分割算法的过分割,本研究引入扩展极大值变换,主要是在灰度图像距离变换之后,采用适当的阈值,对图像继续进行扩展极大值变换,从而对得到的二值图像进行分水岭变换,这时分水岭脊线和原图像进行有效叠加,从而实现过分割现象的消除。

2.2.1扩展极大值变换事实上,扩展极大值变换可以分成2步,第1步是采用H极大值变换,实现从灰度图像当中提取出和图像目标物相关局部极大值,从而将所有深度小于设定阈值h的极大值给抑制住,然后原始灰度图像f膨胀可以从 f-h 中重构实现,如公式1所示。

Hmaxh(f)=Rδf(f-h)。(1)

第2步采用扩展极大值变换计算第1步变换对应区域的极大值,从而得到二值标记图像,如“公式2”所示。

Emaxh(f)=Rmax[Hmaxh(f)]。(2)

2.2.2算法流程基于分水岭的分割方法在引入扩展极大值变换,从而实现算法的改进,那么关键在于确定适当的阈值,才能避免过分割出现,正确实现对原始图像的分割。而距离变换会导致灰度值出现小数,采用归一化处理可以实现运算精度的提高,这就是将变换之后的灰度值控制在0~1之内。对连通区域标记法实现计数,通过逐渐增加一步Δh来得到h最优取值范围,如果h超出范围,则过分割仍会出现;而小于范围,将导致颗粒碎片产生。

在对原二值图像采用扩展极大值变换得到的二值图像统计颗粒的个数N1,分水岭脊线和原图像进行有效叠加后,统计颗粒的个数N2,此时对于小尺寸颗粒也能较好进行保留。当阈值选择较小时,可以实现玉米颗粒个数统计。具体算法流程见图1。

2.2.3空洞填补图像通常会因为照相过程的原因,图像灰度会出现一定程度的不均匀,这样在图像进行分割后二值化图像中就可能出现细微孔洞,需要对这类孔洞进行填充。Matlab语言中imfill函数可以进行孔洞填充,但是不能指定孔洞大小,这就有可能导致孔洞出现误填充。下面对填充过程进行处理,结合matlab中删除小面积对象的函数bwareaopen,可以实现对填充的孔洞指定大小,就不需要使用专门的滤波器,减少了边缘信息的损失。步骤如下:

(1)利用imfill函数填充所有孔洞;(2)将原始图像反色,与填充所有孔洞后的图像进行与操作,得到填充的所有孔洞;(3)利用bwareaopen函数删除所有孔洞中小于指定大小的小面积对象,并进行反色,然后与填充的所有孔洞进行与操作,得到小于指定大小的小孔洞;(4)将小孔洞与原始图像进行或操作,实现孔洞指定大小填充。

2.3玉米果穗颗粒计数实现

在对玉米果穗颗粒计数前,要先确认玉米颗粒一致性测度。一致性是要求图像满足灰度等特征要求的在特定区域内具有相似性,一致性测度原则主要有:

(1)标准差法:给定标准差基准,若特定区域标准差大于该基准,就判定为该区域不满足一致性测度;(2)方差法:若特定区域中70%图像像素在方差范围内,就判定为该区域满足一致性测度;(3)局部标准差:若特定区域标准差<整幅图像均值的20%,就判定为该区域满足一致性测度;(4)局部均值:若特定区域均值<整幅图像均值,就判定为该区域不满足一致性测度。

在对玉米果穗图像进行一系列图像预处理,同时清楚一致性测度之后,引入扩展极大值变换,采用改进的分水岭分割算法对玉米果穗图像中的玉米颗粒部分进行分割,然后通过标记连通分量实现玉米果穗颗粒的统计。

3算法测试与分析

玉米果穗原始图像见图2,对于玉米果穗分别按照传统分水岭分割算法和改进分水岭分割算法,对玉米果穗颗粒进行分割,得到分割图像见图3、图4,颗粒计数分别为325、281粒,可以看出传统分水岭分割算法存在明显的过分割现象,颗粒计数明显偏多。而经过改进的算法,由于引入扩展极大值变换,过分割得到有效避免,颗粒计数准确。

对于20组玉米果穗分别按照传统和改进分水岭分割算法进行颗粒统计,将计数结果与实际颗粒差值进行比较,得到颗粒统计误差对比见图5。可见传统分水岭分割算法由于过分割的存在,误差率在18%,而改进分水岭分割算法误差率仅为2%,改进效果明显,取得了预期效果。

4结论

颗粒统计与自动识别检测在现代农业中发挥关键作用,玉米果穗品质好坏与玉米果穗颗粒多少呈正相关。计算机技术特别是图像技术在玉米果穗中的应用多样化趋势明显,采用图像分割技术对玉米果穗进行颗粒统计能实现快速对玉米特征进行识别。由于玉米果穗颗粒之间往往存在粘连现象,采用传统分水岭分割方法对玉米果穗进行分割会导致不能对粘连区域实现良好分割。而改进的分水岭分割算法,引入扩展极大值变换,既能避免过分割现象,又能实现对粘连区域的正确分割,本研究利用MATLAB对玉米果穗图像进行转换、灰度化、滤波降噪、区域增强等一系列处理后,采用改进的分水岭分割算法,准确实现玉米果穗颗粒统计。

参考文献:

[1]吕永春,马钦,李绍明,等. 基于背景板比例尺的玉米果穗图像特征测量[J]. 农业工程学报,2010,26(增刊2):43-47.

[2]史中辉,赵秀艳,于广洋,等. 基于图像处理的玉米种子特征参数提取系统[J]. 农机化研究,2011,33(10):166-170.

[3]贾鹏,李永奎,赵萍. 基于Matlab图像处理的谷物颗粒计数方法研究[J]. 农机化研究,2009,31(1):152-153,156.

[4]韩仲志,杨锦忠. 计数玉米穗行数的机器视觉研究[J]. 玉米科学,2010,18(2):146-148,152.

[5]梁文东. 基于MATLAB的玉米果穗图像轮廓提取[J]. 农业网络信息,2014(6):21-23.

[6]周志强,郭帅超,成军虎.玉米品质性状计算机视觉识别与评价研究进展[J]. 河南工业大学学报:自然科学版,2011,32(1):83-88.

[7]王红君,陈伟,赵辉,等. 复杂背景下植物叶片的彩色图像分割[J]. 中国农机化学报,2013,34(2):207-211.

[8]张晴晴,张善文,齐国红. 基于改进分水岭的图像分割算法研究[J]. 安徽农业科学,2013(29):11890-11892.

[9]胡 敏,蔡慧芬. 基于形态学标记连通的分水岭图像分割[J]. 电子测量与仪器学报,2011,25(10):864-869.

[10]刘兆松,娄宗科,屈瑾. 基于形态学分水岭算法的骨料分割及建模[J]. 武汉大学学报:工学版,2013,46(4):489-493,513.陈金成,高国刚,马本学,等. 基于RFID的棉种仓库信息采集系统的研究[J]. 江苏农业科学,2015,43(2):409-411.endprint