一种快速剔除伪分枝的作物行骨架提取算法

2016-03-23 06:13刁智华吴贝贝魏玉泉毋媛媛
农机化研究 2016年9期
关键词:机器视觉

刁智华,吴贝贝,魏玉泉,毋媛媛

(郑州轻工业学院 电气信息工程学院, 郑州 450002)



一种快速剔除伪分枝的作物行骨架提取算法

刁智华,吴贝贝,魏玉泉,毋媛媛

(郑州轻工业学院 电气信息工程学院, 郑州450002)

摘要:作物行骨架线的提取是机器视觉导航的基础,准确提取作物行骨架也是精准施药系统中一个至关重要的研究方向。为了克服传统骨架提取算法中的背景单一、存在较多的冗余分支及不连续等缺点,以农田作物行为研究对象,提出一种形态学细化和伪分支剔除相结合的实用型骨架提取算法。首先对采集到的作物行原图像通过灰度、滤波、阈值分割操作使其转化为二值图像;然后将二值化后的作物行图像先细化为单像素宽度的骨架线,再采用端点追踪法追踪伪分支骨架,而后剔除追踪的毛刺或无关枝杈,保证了骨架的单一性和圆滑性,提高了作物行检测的精度。通过与拓扑细化法和最大圆盘骨架提取算法比较,本文算法不但在去除冗余骨架的同时能保持自身良好的拓扑性和稳定性,而且能去除多余的毛刺状分支,同时表明该算法具有较强的稳定性和抗干扰能力。

关键词:形态学细化;伪分枝;机器视觉;精准施药;骨架提取;导航线

0引言

图像的骨架指的是图像中央的骨骼部分,由于骨架能够保持物体本身的拓扑结构信息,因此骨架一般被用于图形的匹配和相似性度量,尤其是线条类骨架的提取在当代精准农业中起着至关重要的作用。作物行骨架提取是线条类骨架提取的一种,是农业机械实现精准施药的基础。本文采用的形态学细化算法的基本思想是在给定具有一定形状的形态学算子模板(结构区域)后,依次删除二值图像中的边缘像素,最后仅提取一个像素宽度的过程。

随着时代的不断发展,关于骨架提取算法的研究越来越多,理想细化后的骨架应位于原始纹线的中间位置,且能保持该骨架的连通性和拓扑结构。1967年,Blum[1]提出了关于骨架中轴的概念,通过寻找形状轮廓的对称轴来获得形状骨架。赵春江等[2]提出了一种具有鲁棒性的骨架提取方法。万雅娟等[3]利用改进的骨架点判断算法迭代生长出完整的三维模型骨架,算法复杂度低、计算效率高。以上算法虽然都能提取出目标骨架,但这些理论上可行的算法在应用于实际农田作物行时其适应性和精准度都不能满足精准施药系统的要求。而本文提出的算法弥补了传统算法中背景单一、对噪声的敏感性差等缺点,保证了骨架线的连续性和单一性。实验结果表明:该算法不仅能保持自身良好的拓扑性和稳定性,而且还具有较强的抗干扰能力和适应性。

1骨架提取算法

1.1 算法流程框图

利用数学形态学进行骨架提取主要源于形态学运算中的击中/击不中数学变换,即给定具有一定形状的结构元素后,顺序循环地删除满足击中变换的像素[4-6]。本文提出的作物行骨架提取算法以形态学细化算法为基础,通过引入邻接像素概念及识别伪分支骨架的方法消除了冗余像素,得到了圆滑、单一、无毛刺的作物行骨架,提高了精准施药机械导航线识别的精准度。提取骨架线的流程如图1所示。

1.2 改进的形态学细化算法

为后续方便解释,本文预先给出几个概念,并进行说明。

1)目标像素和背景像素:目标像素是指图像二值化后对应的像素值为1的点;背景像素则相反,是指图像二值化后像素值为0的点。

2)8邻域像素:是指与图像中任一目标像素周围相邻的8个像素,如图2所示;目标像素O的8邻域像素为Oj(1≤j≤8)。

3)邻接像素数:目标像素O的邻接像素数可用以下公式表示

其中,O9=O1;当像素Oj=1时,Nj=0,否则,Nj=1。

这时删除目标像素O(即O=0),依次对图像中的每一点都进行扫描,删除满足以上4个条件的像素,直到图像中的点都不可删除为止;这时保留的骨架线宽度为一个像素。但与此同时,细化后的骨架线也会保留一些冗余分支,因此还需要相应的处理。

图1 骨架线提取流程框图

图2 目标像素O的8邻域像素

1.3 伪分枝剔除

伪分枝骨架是指作物行细化处理后不在主干线上的骨架,一般细化后的骨架都会存在冗余小分枝(即伪分枝骨架),进一步消除细小毛刺及伪分枝骨架是提高细化和自动导航准确率的关键。要想去除伪分支首先要识别伪分支骨架,本文采用通过识别端点和节点的方法找分支骨架,然后通过端点与节点合并删除从端点到节点所经过的像素,这样很容易就得到了无毛刺、圆滑的作物行骨架线。步骤如下:

1)识别细化后的作物行骨架线的端点和节点。判断邻接像素数N,当N=1时表示该像素点为端点,当N≥3时,该像素点为节点。从细化后的作物行图像左下角开始扫描作物行骨架线,检测每个像素点的邻接数,寻找符合邻接像素数N=1和N≥3的像素点。

2)从任一个端点的位置出发,逆时针扫描该端点的8邻域像素,当该端点的8邻域像素只有1个值为1的像素时,继续追踪该值为1的像素并逆时针扫描其8邻域像素,判断该像素点值为1的个数(即该像素点N的个数)。如果N≥3停止追踪,其所经过的像素点为该条追踪线的伪分枝骨架;如果N=2,则继续追踪,直到遇到下一个端点或节点结束这条线的追踪。结束追踪后其相应节点的N值减1并将追踪过的像素点都置为背景色(即将其值置为0)。

3)遍历整个作物行骨架线,逐次删除伪分支骨架,直至所有骨架点的邻接像素数N=2结束操作,剔除完成。

2算法详细步骤

2.1 作物行图像的预处理(步骤1)

1)图像的灰度化处理。从大田环境下采集到的作物行图像是彩色RGB图像,如图3所示。为了更好地让作物行从背景中突显出来,依据作物行本身具有的特点,本文采用常用的过绿灰度化处理方法[10-12]对其进行灰度化处理。由于传统的过绿特征算法处理的图像带有很大的背景噪声(见图4),干扰对目标点的处理。因此,本文在此基础上对该方法进行了改进,改进后的算法为

其处理结果如图5所示。比较发现,采用改进的算法其噪声明显减少且作物行与背景有了明显的区分,对后续进行滤波操作节省了不必要的麻烦。

2)中值滤波处理。由于灰度化处理后的图像仍然存在背景噪声的干扰,所以本文采用3×3的滤波窗口对其进行中值滤波操作。经实验发现,当滤波次数设定为2次时滤波效果最好,如图6所示。

(a)             (b)              (c)              (d)

(a)             (b)             (c)             (d)

(a)             (b)             (c)             (d)

(a)             (b)             (c)             (d)

3)二值化处理。由于本文采用的形态学细化方法只能处理二值化图像,因此在提取作物行的骨架前将滤波处理后的灰度图转化为二值化图像是形态学骨架算法能够顺利进行的基础。结合常用的阈值分割算法的优缺点,本文选取能自动设定阈值的OTSU算法对其进行二值化处理,减少了传统算法中凭经验设定阈值带来的麻烦。经二值化后的作物行图像仅含有黑白两种颜色。

2.2 作物行轮廓提取(步骤2)

在农田采集到的玉米作物行图像经滤波处理后虽然噪声大大减少,但行间还存在着少许相对于作物行面积较小噪声,影响对目标点的处理,所以在对作物行进行骨架提取操作前先提取作物行的轮廓图像。本文结合形态学中的腐蚀和膨胀两种运算对二值图像进一步处理。其中,选用3×3的模板结构元素对其进行腐蚀、膨胀运算,膨胀操作可以增加作物行的有用面积,而腐蚀操作则可以使作物行向其中心靠拢,处理后的结果如图7所示。从图7中可以看出:作物行的行线已经基本能显示其走向。

2.3 作物行骨架提取(步骤3)

1)利用形态学细化算法对作物行轮廓图像进行细化处理。

2)采用上述伪分枝骨架剔除方法从端点开始追踪寻找冗余伪分枝像素,进一步消除细小毛刺及伪分枝骨架。

经过上述3个步骤最终可以提取出光滑、无毛刺的作物行骨架。

(a)             (b)             (c)             (d)

3骨架提取算法的实现

3.1 实验结果

本研究采用维视数字图像技术有限公司生产的型号为MV-VD030SM/SC的USB2.0接口的CCD工业数字相机及艾菲特光电技术有限公司生产的型号为AFT-0641MP的工业镜头对田间自然环境下的作物行图像进行采集,用于图像处理的设备是一台配置为Intel(R)Core(TM) i3,3.1GHz,2G内存的计算机,并以WIIN7系统下Microsoft Visual C++6.0为试验平台,基于MFC应用程序框架对作物行骨架提取算法进行研究和开发。图片输出为8位RGB彩色图像,相机离地面的拍摄高度为1.5m,且与水平面成30°夹角。

下面以田间自然环境下采集到的4幅数字图像为例对本文提出的算法进行效果验证,其各自的仿真结果如图3~图10所示。其中,图3中(a)(b)(c)(d)分别为韭菜、玉米、小麦、蒜苗的作物行原图像,图4~图8分别是与(a)(b)(c)(d)相对应的处理结果图像。图9和图10分别为采用拓扑细化法和最大圆盘骨架提取法提取出的作物行骨架图。经仿真结果比较,本文算法提取的骨架线圆滑、单一,且该算法受冗余分枝骨架的影响较小,实验结果与算法分析一致。

(a)             (b)             (c)             (d)

(a)             (b)             (c)             (d)

(a)             (b)             (c)             (d)

3.2 误差分析

为了更好地体现作物行的走向,本文采用Hough变换[13-16]将其骨架线拟合成直线,并对其进行偏差分析和计算。实验所得的误差分析数据如表1所示。表2是本文算法与拓扑细化算法和最大圆盘骨架提取算法的比较表。

从表2中可以看出:拓扑细化法得到的骨架对边界噪声非常敏感,容易产生较多的冗余分支,且骨架的位置不是准确地靠近物体的中心,产生的误差也最大;而最大圆盘骨架提取不能很好地保持作物行骨架的连续性,本文提出的算法克服了两者的缺点,算法能够保证所抽取出的骨架具有连通性以及良好的拓扑不变性,且误差也较小。

表1 误差分析结果 cm

表2 3种方法比较表

4结论

通过对作物行的端点和节点进行分析,结合数学形态学细化算法,提出了一种作物行骨架提取算法,从理论和仿真试验结果可以看出:该算法的提取结果明显高于拓扑细化算法和最大圆盘骨架提取算法,且本文提出的算法能够在不破坏作物行连通性的前提下保持图像的单一性和细节特征,更不会产生毛刺及细化不彻底的现象。经VC++6.0测试,该算法对一幅640×480像素的作物行图像进行骨架提取的时间大约在0.6~0.75s之间,基本能够满足农业精准施药的要求。

参考文献:

[1]Blum H.Biological shape and visual science (Part 1)[J].Journal of Theoretical Biology, 1973, 38 (2): 205-287.

[2]赵春江, 施文康, 邓勇. 具有鲁棒性的图像骨架提取方法[J].计算机应用, 2005, 25(6): 1305- 1306.

[3]万雅娟, 李海生, 刘璇, 等. 基于距离变换的三维连通骨架提取算法[J].计算机仿真, 2014, 31(6): 256-260.

[4]李杰, 彭月英, 元昌安, 等. 基于数学形态学细化算的图像边缘细化[J].计算机应用, 2012, 32(2): 514-516, 520.

[5]张宏林. 精通Visual C++ 数字图像处理典型算法及实现(第2版)[M].北京: 人民邮电出版社, 2008: 317-324.

[6]袁池, 陈军, 武涛, 等. 基于机器视觉的果树行中心线检测算法研究[J].农机化研究, 2013, 35(3): 37-39,45.

[7]Rockett P I. An improved rotation-invariant thinning algorithm[J].IEEE Trans. on Pattern Analysis and Machine Intelligence, 2005, 27(10): 1671-1674.

[8]王朋, 张有光, 张烁. 指纹图像细化的综合化算法[J]. 2009, 21(2): 179-182,189.

[9]刘志敏. 基于数学形态学的细化算法[J].上海交通大学学报, 1998, 32(9): 15-19.

[10]胡炼, 罗锡文, 曾山, 等. 基于机器视觉的株间机械除草装置的作物识别与定位方法[J].农业工程学报, 2013, 29(10): 12-18.

[11]刁智华, 王会丹, 宋寅卯. 基于机器视觉的农田机械导航线提取算法研究[J].农机化研究, 2015, 37(2): 35-39, 45.

[12]刘阳, 高国琴. 农业机械视觉导航基准线识别研究进展[J].农机化研究, 2015, 37(5): 7-13.

[13]赵春江, 杨亮, 郭新宇, 等. 基于立体视觉的玉米植株三维骨架重建[J].农业机械学报, 2010, 41(4): 157-162.

[14]慕军营, 戚树腾, 陈军, 等. 自动导航系统在农业中的应用及果园适用性分析[J].农机化研究, 2014, 36(7): 6-12.

[15]Bittle I, Kaufman A E, Sato M Penalized. Distance volumetric skeleton algorithm[J].IEEE Trans Visualization and Computer Graphics, 2001, 7(3): 195-206.

[16]马红霞, 马明建, 马娜, 等. 基于Hough变换的农业机械视觉导航基准线识别[J].农机化研究, 2013, 35(4): 37-39, 43.

A Crop Row Skeleton Extraction Algorithm Based on Morphological Thinning and Pseudo Branch Elimination

Diao Zhihua, Wu Beibei, Wei Yuquan, Wu Yuanyuan

(Electric Information & Engineering Department, Zhengzhou University of Light Industry, Zhengzhou 450002, China)

Abstract:The skeleton extraction of the crop rows is the basis of machine vision navigation and it is a vital research in precision spraying system. In order to overcome the shortcomings of the traditional framework extraction algorithm, such as a single background, more redundant branches and not continuous, etc. This paper to crop study proposed an algorithm, which combined morphological thinning and pseudo branch elimination to extract crop rows skeleton. Firstly, the crop rows that were collected through gray, filtering, threshold segmentation operation to convert it to binary contour map. Then the crop row image of binarization was refined to a single pixel width line. And then the endpoint tracking method is used to track the pseudo branch skeleton. At the same time, the tracing burr or unrelated branches were deleted, which ensured the singleness and smooth of the skeleton and improved the accuracy of crop rows detection. Compared with the traditional method based on topology refinement and maximum disk skeleton extraction algorithm, the algorithm that is proposed in this paper the algorithm could not only remove the redundant skeleton, but also could maintain its good topology, and it also shows that the algorithm has good stability and anti-jamming capability.

Key words:morphological thinning; pseudo branch; machine vision; precision spraying; skeleton extraction; navigation line

中图分类号:S127;TP391.41

文献标识码:A

文章编号:1003-188X(2016)09-0017-06

作者简介:刁智华(1982 -),男,河南夏邑人,副教授,博士,(E-mail)diaozhua@163.com。

基金项目:国家农业智能装备工程技术研究中心开放基金项目(KFZN2012W12-012);河南省科技厅重点科技攻关项目(132102110150);郑州市科技局普通科技攻关项目(131P PTGG411-13);郑州轻工业学院研究生科技创新基金项目(2014003)

收稿日期:2015-08-23

猜你喜欢
机器视觉
基于芯片点胶系统的视觉检测技术研究
全自动模拟目标搜救系统的设计与实现
基于机器视觉的自动浇注机控制系统的研究
大场景三维激光扫描仪在研究生实践教学培养中的应用
基于机器视觉的工件锯片缺陷检测系统设计
基于机器视觉技术的动态“白带”常规检测系统的开发
对激光切割机的改进
人工智能在高校图书馆的预期
基于车牌识别的机器视觉课程研究
机器视觉技术在烟支钢印检测中的应用