基于图像处理的甘蔗茎节识别与定位
2016-03-23张卫正董寿银齐晓祥裘正军
张卫正,董寿银,齐晓祥,裘正军,吴 翔,何 勇
(1.浙江大学 生物系统工程与食品科学学院,杭州 310058;2.浙江省第二测绘院,杭州 310012;3.许继集团许继电源有限公司,河南 许昌 461000)
基于图像处理的甘蔗茎节识别与定位
张卫正1,董寿银2,齐晓祥3,裘正军1,吴翔1,何勇1
(1.浙江大学 生物系统工程与食品科学学院,杭州310058;2.浙江省第二测绘院,杭州310012;3.许继集团许继电源有限公司,河南 许昌461000)
摘要:为实现含有蔗芽的有效蔗种片段机器智能切断,运用图像处理技术对甘蔗茎节进行识别定位。通过背景转换、灰度级变换、中值滤波和自动阈值获取甘蔗的二值化图像;采用阈值和孔洞填充实现甘蔗区域的分割,通过regionprops函数测定该区域的质心、倾角和等效长短轴长度;以分割后的甘蔗图像对二值化图像掩膜,得到含有茎节和干扰信息的图像;对该图像进行旋转,计算每列像素值之和,统计分析最大值所在列,并结合质心、等效长短轴得到茎节上下端点坐标;以倾角的度数进行反向旋转,最终得到茎节位置。试验结果表明:甘蔗茎节识别与定位方法处理速度快,茎节识别率高,左右端的定位误差分别小于0.9 mm和2.4 mm。
关键词:甘蔗茎节;图像处理;MatLab;掩膜;定位
0引言
甘蔗是我国的主要经济作物之一,2011年种植面积为15万 hm2,甘蔗产业为经济发展和蔗农脱贫致富提供了支撑[1]。甘蔗种植良种化和耕作机械化是产业的发展趋势[2-3],而国内外的种植机大都未具备蔗种自动切断过程中防伤芽的功能,影响了产业的发展。现有的方法为人工切断和种植机的定长切断,效率有待提高。计算机图像处理技术广泛的应用在缺陷检测、品质检测、水果分级、蔬菜、农业和食品工程等领域[4-8]。运用计算机图像处理技术识别甘蔗茎节,防止甘蔗种植机在切割过程中的伤芽,实现甘蔗的精细化种植,具有重要意义。
Moshashai等利用灰度图像阈值分割的方法对甘蔗茎节识别做了初步研究[9]。目前,国内在此领域的研究中,陆尚平等以甘蔗图像 HSV 颜色空间的 S 分量经阈值分割、数学形态滤波处理作为模板,和 H 分量经阈值分割的反图像进行与运算得到合成图,采用支持向量机对合成图各列块识别茎节类与茎间类,对茎节列块聚类识别得到茎节数与茎节位置[10];但平均识别率为93.359%,且采用的算法需要较多的输入量。黄亦其提出一种甘蔗茎节识别方法,通过灰度处理、Sobel 边缘提取,结合数学形态学中的膨胀和腐蚀,获得甘蔗茎节的边缘直线,达到识别甘蔗茎节的目的[11];但只定位了茎节的中间位置,没有考虑采集的甘蔗图像倾斜时定位的范围。
本文提出基于数字图像处理技术的甘蔗茎节识别定位方法,依据沿包含茎节的甘蔗的长轴方向在灰度值上会有明显的上升来识别茎节,并以最大值所在位置进行茎节两端的定位。为了提高定位精度,分割出甘蔗区域,并计算该区域的质心、倾角和等效长短轴长度;以分割后的甘蔗图像对二值化图像掩膜,得到含有茎节和干扰信息的图像;将该图像以倾角反向旋转,计算每列像素值之和,统计分析最大值所在列,并结合质心、等效长短轴,得到茎节上下端点坐标,以倾角的度数再次进行反向旋转,最终得到茎节位置。该研究创新性地解决了实际生产过程中具有一定倾角的茎节快速、精确定位的问题。
1甘蔗图像采集及茎节形态分析
以浙江省义乌市甘蔗优质生产基地主产的“义红一号”果蔗为研究对象。试验台采用 OEM 品牌的型号为 C1745B 的摄像头,该摄像头采用 CMOS 传感器,可进行自动曝光控制、白平衡和颜色校正。考虑到相较于其它颜色,黑色背景可以消除甘蔗边缘阴影的影响,所以在普通光源下采集黑色背景上的甘蔗彩色图像。拍摄前先将甘蔗叶剥干净,保持镜头主光轴与工作台垂直。采集的图像如图 1(a) 所示。
其中,图像大小为 320×240 像素,输出的图像格式是 JPEG。摄像头通过 USB 2.0 接口将采集到的图像直接存入计算机。计算机操作系统是 Microsoft Windows 7,图像处理软件采用 MatLab2010b。
蔗芽环绕茎节分布,有时所拍摄图像中蔗芽位于茎节的后侧,因而在图像中没有显示,因此以茎节的识别间接得到蔗芽的位置。图 1(b) 中矩形框所围部分为茎节,宽度在7~16 mm之间变化;茎节左端的白色部分是甘蔗叶与甘蔗茎节的连接部分,宽度在1.5~5mm。由于茎节白色部分特征相对明显,本文先提取茎节白色部分然后进行定位,进而将定位范围扩展到整个茎节。
在实际的甘蔗图像采集过程中,不能保证甘蔗区域处于完全水平状态,会导致茎节与垂直方向有一定的夹角。为了提高茎节的定位精度,此时的定位范围应如图1(b)两条直线所示。
图1 甘蔗图像及茎节分析
2图像分析处理
为了快速识别出茎节,采用目前常用的灰度级转换、中值滤波及阈值处理等对原始图像进行预处理,获取二值图像;然后分割出甘蔗区域,测定该区域的质心、倾斜角和等效长短轴等相关参数;利用分割出的甘蔗区域图像对二值化图像进行掩膜,以倾角反向旋转掩膜后的图像,使茎节处于垂直方向,以便于后续的茎节特征的计算和分析,流程如图2所示。
2.1图像预处理
经过试验验证,在 MatLab 中的图像自动阈值处理函数 graythresh 对白色背景中的甘蔗感兴趣区域的阈值处理效果好于黑色背景,原因是增大了灰度图像背景与待识别目标的灰度差。因此,将图 1(a) 中的黑色背景转为白色,如图 3 所示。
在MatLab2010b 中,可以使用图像处理工具箱中的 fgb2gray 函数将 RGB 图像转换为灰度图像,则有
Gray(x,y)=0.299R(x,y)+0.587G(x,y)+
0.114B(x,y)
(1)
其中,Gray(x,y)为图像点(x,y)的灰度,R(x,y)、G(x,y)、B(x,y)为RGB图像在点(x,y)的R、G、B分量的值。程序运行结果如图 4(a) 所示,滤波效果如图 4(b) 所示。
图2 茎节识别与定位流程图
图3 图像背景转换
图4 图像预处理
中值滤波法对消除椒盐噪声非常有效,对甘蔗表面的白色果粉小斑点也有较好的消除效果。中值滤波采用5×5的模板,滤波程序语句为:K = medfilt2(I, [5, 5])。
自动阈值函数 graythresh 会根据背景的不同,使用 Otsu 算法自动调整阈值。Otsu 算法也称最大类间差法,被认为是图像分割中阈值选取的最佳算法,不受图像亮度和对比度的影响。设灰度图像灰度级是L,则灰度范围为[0,L-1],利用 Ostu 算法计算图像的最佳阈值为
t=max[w0(t)*(u0(t)-u)2+
w1(t)*(u1(t)-u)2]
(2)
其中,当分割的阈值为t时,w0为背景比例:u0为背景均值;w1为前景比例;u1为前景均值;u为整幅图像的均值[12]。使以上表达式值最大的t,即为分割图像的最佳阈值。用阈值t分割图像对原图像f(x,y) 使用上面的准则找到阈值t,进行二值化。公式为
(3)
二值化的图像如图 5 所示。
图5 二值化图像
2.2图像分割及倾角的测定
在 MatLab 中,可以使用图像处理工具箱中的 regionprops 函数,测定感兴趣区域的质心、与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(简称倾角),以及与区域具有相同标准二阶中心矩的椭圆的长轴和短轴长度(简称等效长轴和短轴)[13-15]。
为了测定图像中甘蔗的倾角,需要确定甘蔗的实际区域,将采集的原始图像的两边宽度各增加5列,并填充黑色使之与背景相同,如图 6 所示。
图6 将图像宽度扩展并填充黑色
图像背景部分为黑色,可用阈值进行二值化,实现了甘蔗区域的分割,如图 7(a) 所示。从图7(a)可以看到:白色的甘蔗区域中有较小块的黑色孔洞。因此,使用孔洞填充函数 imfill 将黑色背景上的白色连通区域内的黑色孔洞填充为白色,效果如图 7(b)所示。
为了实现茎节位置的定位,需要对感兴趣区域的相关参数进行提取(如甘蔗区域的质心,相对于水平的X轴的倾角α,等效的长轴ST、短轴UV的长度等),其示意图如图 8 所示。
图7 图像分割
图8 甘蔗的长短轴及倾角示意图
程序语句为:
stats=regionprops(TIANC,′Orientation′,′BoundingBox′,′Centroid′,′MajorAxisLength′,′MinorAxisLength′);
可以采集到倾角α为stats.Orientation=11.5579,长轴等效长度为stats.MajorAxisLength= 370.090,短轴等效长度为stats.MinorAxisLength = 180.1494。
2.3掩膜与旋转图像
将经孔洞填充后分割出来的甘蔗图像的两边宽度各减少5列,然后对甘蔗二值化图像(见图5)做掩膜,即可提取出来甘蔗图像的带有茎节信息的区域,如图9(a) 所示。从图9(a)中也可看出:除了茎节信息外,还有其他信息的干扰。
图9 感兴趣区域
利用已知的倾角,通过图像旋转函数语句GXQXZ=imrotate(GXQ,-stats.Orientation,′nearest′,′crop′);将感兴趣区域沿顺时针方向旋转α。其中,GXQ 为图9(a),GXQXZ为旋转后的图像图9(b),′nearest′为最邻近线性插值(Nearest-neighbor interpolation),′crop′为通过对旋转后的图像进行裁剪,保持旋转后输出图像的尺寸和输入图像的尺寸一样,效果如图 9(b) 所示,从而保证茎节的白色部分处于垂直方向。
3查找最大值与甘蔗茎节定位
3.1图像灰度曲线
从旋转后的图9(b)可以看出:茎节白色部分为连通区域,特征明显。为了将其程度统计出来,可以把每列的像素值相加,画出折线图,得到的每列像素值之和的折线图如图 10所示。图10中峰值所在的列就是茎节白色部分的中心所在的位置。
图10 列像素值的折线图(每列求总和)
3.2查找最大值
查找旋转后的感兴趣区域的折线图上的最大值,程序语句为:
wzq = find( k11 = max( k11(:) ));
其中,k11(:)为图10中所有y坐标值的数组集合,k11为其中的最大值。因为甘蔗茎节具有一定的宽度,折线图上有可能多个最大值(即wzq为数组集合而不是单个数字),需要求取平均值来定位茎节的中心位置。程序语句为:
wzq1 = round(sum(wzq) / length(wzq));
其中,wzq1茎节的中心位置坐标,计算得到wzq1=181。通过对最大值设定阈值,即可实现对图像有无茎节的判断;同时,联合对最大值的坐标分布设定阈值,可对包含多个茎节的图像进行检测。本文仅对图像中包含一个茎节进行研究讨论。
3.3茎节位置定位
MatLab 中图像的旋转函数是以图像坐标的中心点为原点进行旋转,逆时针方向为正方向。例如,旋转角度为β,则以图像中心点为原点进行旋转的图像中同一点在旋转前后有如下关系,即
(4)
其中,(x,y)为旋转后的图像坐标位置,(x′,y′)为旋转之前的所在图像的坐标位置。MatLab 表示的图像中像素坐标是以图像左上角为原点,第1行第1列的位置为I(1, 1),图像旋转时以图像坐标中心I(m/2,n/2)为中心点进行旋转,其中m、n分别是图像列数和行数。
wzq1为计算得到的旋转后茎节所在位置在图像坐标x轴的值,运用程序语句:xx= stats.Centroid;获取甘蔗的最小外接矩形的质心的坐标值。运用程序语句:xx1(1)=xx(2)-stats.MinorAxisLength/2;xx1(2)=xx(2)+stats.MinorAxisLength/2;获取甘蔗的茎节所在位置的上端点和下端点的y值,从而得到了旋转后的茎节上端点的图像坐标[wzq1, xx1(1)],下端点的图像坐标[wzq1, xx1(2)]。结合旋转前后图像坐标的转换关系,计算得到旋转前茎节白色部分上端点所在图像的坐标x(1) 和下端点的坐标x(2)。由于采集图像的摄像头位置固定,相对于试验台的间距也是一定的,以图像的最左端为起点,将定位的x(1)、x(2) 所在的列转换为以最左端为起点,以 mm 为测量单位,定位位置。
由于茎节宽度在7~15 mm之间变化,设定茎节的平均宽度为11 mm,茎节的左端为x(1)的位置,设定茎节的右端为x(3),那么x(3) 就是x(1)的位置再加上 11*cos(α)+等效短轴*sin(α) mm。得到坐标值后,在原始黑色背景的甘蔗图像上以茎节上下端点的坐标x(1) 、x(3)为坐标画两条竖线,由此确定茎节范围,如图 11 所示。
图11 确定茎节位置
4试验结果及误差分析
从大量的甘蔗中随机抽取20 组“义红一号”果蔗试验样品,并在样品下端放置刻度尺,用于人工测量。采用同样的图像处理方法测量x(1)、x(3) 坐标值所对应的位置,并与人工测量值对比分析,验证本文所提出的甘蔗种茎节识别的准确性。比较结果如图12所示。
图12 图像测量与人工测量比较
对图12的试验数据分析表明:采用图像处理法得到的数据与人工测量的数据非常接近。平均绝对误差公式为
(5)
由式(5)得到茎节两端x(1)、x(3)的平均绝对误差分别为0.6 mm和0.9 mm。
标准差公式为
(6)
由于采集的甘蔗图像不能保证甘蔗茎节完全处于垂直方向,而是具有一定的倾角,本文提取并分析处理的是茎节上与甘蔗叶连接处的白色部分,也对该部分进行定位,所以茎节左端x(1) 的定位误差极小;总的茎节宽度在7~15 mm之间变化,右端x(3) 是在x(1)的基础上加上了设定的11mm平均茎节宽度及相关修正参数的组合,进行茎节右端的定位,右端x(3) 与真实的茎节右端有2.4 mm以内的差值,误差相对于x(1)稍大些,但完全在可接受的范围内。甘蔗不同茎节长度不一是造成数据误差的主要原因。本研究实现了全部样本的茎节识别及定位;但个别甘蔗表面斑纹较明显且面积较大时,会对实验结果产生干扰。因此,判定左端点x(1) 、右端点x(3) 的位置,可以准确定位茎节位置范围。本文的算法可实现茎节位置定位,误差非常小,可信度高。
5结论
1)针对甘蔗表面的白色果粉斑点,运用中值滤波算法具有一定的去除效果。进行自动阈值前,将黑色背景转换为白色背景,可改善二值化效果。
2)将图像宽度做适当扩展,采用regionprops函数,提取甘蔗区域的质心、倾角及等效长短轴,对包含茎节信息的区域进行量化分析。运用旋转因子对旋转后的图像坐标进行变换,得到甘蔗茎节在初始图像的坐标,定位茎节范围,实现防伤芽的目的。
3)通过大量实验对算法可行性进行验证,算法可准确识别甘蔗茎节,定位误差小。本文提出的甘蔗茎节识别与定位方法处理速度快,整个系统从采集图像到计算出甘蔗茎节位置坐标的时间为0.316 s。
参考文献:
[1]程绍明,王俊,卢志乐,等. 小型整秆式甘蔗收割机改进设计与试验[J]. 农业工程学报,2014,30(4):12-17.
[2]叶将龙,吴洁远. 桂柳1号甘蔗的特征特性及高产栽培技术[J]. 现代农业科技,2014(10): 110-112.
[3]陆尚平,黄林,陈炳森,等. 基于机器视觉的甘蔗种植机械化研究[J]. 广西农业机械化,2012(5): 28-29,32.
[4]ElMasry G, Cubero S, Moltó E, et al. In-line sorting of irregular potatoes by using automated computer-based machine vision system[J]. Journal of Food Engineering,2012,112(1): 60-68.
[5]Abbasgholipour M,Omid M,Keyhani A,et al. Color image segmentation with genetic algorithm in a raisin sorting system based on machine vision in variable conditions[J]. Expert Systems with Applications,2011,38(4): 3671- 3678.
[6]龚爱平,陈吉,裘正军,等. 基于改进 Freeman 链码的柑橘簇生区域数量判别方法[J]. 农业机械学报,2012,43(11): 203-208.
[7]赵凯旋,何东健,王恩泽. 基于视频分析的奶牛呼吸频率与异常检测[J]. 农业机械学报,2014,45(10): 258-263.
[8]陈红,夏青,左婷,等.基于机器视觉的花菇分选技术[J].农业机械学报,2014,45(1):281-287.
[9]Moshashai K, Almasi M, Minaei S, et al. Identification of sugarcane nodes using image processing and machine vision technology[J].International Journal of Agricultural Research,2008,3(5): 357-364.
[10]陆尚平,文友先,葛维,等. 基于机器视觉的甘蔗茎节特征提取与识别[J]. 农业机械学报,2010,41(10): 190-194.
[11]黄亦其,乔曦,唐书喜,等. 基于Matlab的甘蔗茎节特征分布定位与试验[J]. 农业机械学报,2013,44(10): 93-97,232.
[12]赵小川. 现代数字图像处理技术提高及应用案例详解(MATLAB版) [M].北京: 北京航空航天大学出版社,2012.
[13]Chegini A H N,Tait S. Automated measurement of moving grains on bed deposits[J]. International Journal of Sediment Research,2011,26(3): 304-317.
[14]阮秋琦. 数字图像处理(MATLAB版)[M].北京: 电子工业出版社,2011.
[15]Mohammadamin Kashiha,Claudia Bahr,Sanne Ott,et al. Automatic identification of marked pigs in a pen using image pattern recognition[J].Computers and Electronics in Agriculture,2013,93:111-120.
Abstract ID:1003-188X(2016)04-0217-EA
The Identification and Location of Sugarcane Internode Based on Image Processing
Zhang Weizheng1, Dong Shouyin2, Qi Xiaoxiang3, Qiu Zhengjun1, Wu Xiang1, He Yong1
(1.Collage of Biosystems Engineering and Food Science, Zhejiang University, Hangzhou 310058,China; 2.The Second Surveying and Mapping Institute of Zhejiang Province, Hangzhou 310012, China; 3.XJ Group Corporation XJ Power Limited Company,Xuchang 461000,China)
Abstract:To achieve cut of sugarcane fragments containing internodes by intelligence machine effectively,used image processing techniques to identification and location sugarcane internode. By way of background conversion,grayscale conversion,median filtering and automated threshold to obtain a binary image of sugarcane,used thresholds and fill holes to extract the effective area of sugarcane,measured the centroid,inclination,equivalent major axis and minor axis length of the region by regionprops function; extracted the interest area of cane by mask the binary image; rotated the image and summation the values for each column of pixels,analysised the position of the maximum values,combined with the centroid,equivalent major axis and minor axis to get the 2 coordinates of internode,reverse rotation the degree of inclination to get internode position finally. Experimental results showed that the method of identification and localization of sugarcane internode had advantage of processing speedly,identification rate was high,the positioning error of left and right ends were within 0.9 mm and 2.4 mm.
Key words:sugarcane internode;image processing;MatLab;mask;location
文章编号:1003-188X(2016)04-0217-05
中图分类号:S15;TP391.41
文献标识码:A
作者简介:张卫正(1982-),男,河南安阳人,博士研究生,(E-mail )weizheng008@126.com。通讯作者:裘正军(1971-),男,浙江嵊州人,教授,博士生导师,(E-mail)zjqiu@zju.edu.cn。
基金项目:国家高技术研究发展计划项目(2012AA101903)
收稿日期:2015-03-18