Computer Science and Application
Vol.07 No.05(2017), Article ID:20829,6 pages
10.12677/CSA.2017.75056

Research on Edge Detection Algorithm of Grass Image

Weiguang Liu, Yang Li, Guan Yang

Academy of Information Technology, Zhongyuan University of Technology, Zhengzhou Henan

Received: May 11th, 2017; accepted: May 28th, 2017; published: May 31st, 2017

ABSTRACT

This paper aims at a study of lawn image edge detection. Traditional grass image edge detection algorithm such as the canny, its results are not clear enough and the operation time is longer, which can not meet the real-time requirements of intelligent robots. In this paper, the k-means algorithm is used to classify the colors and select the green as the target color. Then, the appropriate structural elements are selected by expansion and corrosion calculations. Finally, the image is filled and refined using this structural element. This paper discusses the important application of mathematical morphology in the division of working area of mowing robot by comparing other traditional edge segmentation methods. In conclusion, the algorithm presented in this article not only can identify the edge of the grass accurately, but also faster operation and more practical than traditional algorithms.

Keywords:Edge Detection, Robot Mower, Mathematical Morphology

草地图像边缘检测算法研究

刘卫光,李洋,杨关

中原工学院,信息技术学院,河南 郑州

收稿日期:2017年5月11日;录用日期:2017年5月28日;发布日期:2017年5月31日

摘 要

本文针对草地图像边缘检测进行研究,传统的草地图像边缘检测算法,如canny算法,不仅边缘不够清晰,而且运算时间较长,不能达到智能机器人对实时性的要求。本文运用k-means算法对色彩进行分类进而选定绿色为目标色进行提取,再利用膨胀和腐蚀运算,选取合适的结构元素对图像进行填充和细化,通过实验对比其他传统边缘分割方法,探讨了数学形态学在割草机器人工作区域划分中的重要应用。实验证明,本文选用的边缘检测策略不仅能够清晰准确的识别出草地边缘,而且相比传统的边缘检测算子,运算更快,实用性更强。

关键词 :边缘检测,割草机器人,数学形态学

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

图像是客观对象的一种相似性描述,边缘是图像中的重要特征,边缘检测是基于灰度突变来分割图像的最常用的方法,包含着许多重要信息 [1] 。本文介绍的算法主要应用于智能割草机器人,现在常见的割草机器人,一般都采用铺设线轨的方法,但是铺设线轨成本很高。目前关于草地图像边缘检测的算法偏于实验,硬件成本和算法移植是核心问题,因此,研究改进草地图像边缘检测算法对提高割草机器人智能化水平和计算机图形交互领域的发展有着重要意义。本文针对草坪的环境特点 [2] ,选取合适的边缘检测算法并进行了优化,能够快速准确的识别出草地边缘。

针对不同的图像,采取的边缘检测方法也不同 [3] 。要对草坪与背景进行分离以及针对草坪上障碍物的识别,就必须明白草坪环境的特点:范围大,边缘轮廓多种多样且曲折可变,图片像素值相对集中。

根据对草地图像的边缘进行提取,判断合理的路线,然后再反馈给机器人,基于此,对草地边缘的检测和提取在一定的准确性上还需要一定的实时性。有些算法虽然能准确的识别出草地边缘,但是需要花费较长的时间,并不能满足工业标准 [4] 。

2. 草地边缘提取

对一张草坪图像的边缘进行提取,应该选定绿色为目标色,非绿色的部分就是背景,整体设计思路如图1所示。

首先,将彩色图像置于lab色彩空间中,lab色彩空间是基于人体感知所创造的一种色彩空间体系,L轴表示亮度,A轴代表红绿色,B轴代表黄蓝色,相比于RGB等传统的色彩空间,lab色彩空间分布非常均匀 [5] ,比如,在RGB空间中蓝色到绿色的过渡色较多,但是绿色到红色又缺少黄色等色彩。正是因为lab色彩空间的丰富色彩,使得对于图像中绿色的提取准确率相比其他色彩空间要准确的多。

接下来是对lab色彩空间进行颜色划分,以便于后面把绿色作为目标色进行提取,这里采用k-means算法对lab色彩空间的颜色进行分类 [6] ,k-means算法是一种硬聚类算法,是通过迭代的方法求得数据点到中心距离最优的一种优化算法,原理是:计算各点的坐标平均值求得一个中心点,根据每个点到中心点的欧式距离进行分类,发现分区,使得每个集群中的对象尽可能彼此接近,并且尽可能远离其他集群中的对象。然后根据分好的颜色区间,对目标色进行抓取,并二值化处理,原图及处理结果分别如图2图3图4所示,图5是在lab色彩空间里的颜色分布:

二值化以后的图像,可以看到,其边缘并不连续,而且草地区域有非常多的噪音,这对后续的边缘

Figure 1. The overall algorithm flow chart

图1. 整体算法流程图

Figure 2. Grassland map

图2. 草地原图

Figure 3. Grab green pixels

图3. 抓取绿色像素

Figure 4. The binarized image

图4. 进行二值化后图像

Figure 5. Space color distribution

图5. lab空间色彩分布图

识别是非常不利的,为了解决这个问题,我们采用数学形态学中的膨胀和腐蚀 [7] 操作进行处理。在实际生产中,需要机器人实时的做出反应,所以对图像的处理速度有了一定的要求,为了满足这种要求,我们在结构元素和处理时的像素遍历上做了优化。

结构元素是形态学中一个十分重要的概念,它直接影响了对图像处理的结果 [8] 。如果结构元素选取的过小,会造成图像噪声过多;如果结构元素选取过大,又会造成边缘比较粗糙。因此要根据实际情况,针对不同的目标图像选择不同的结构元素。草地的边缘检测难点在于草地中杂质很多,容易对边缘的提取造成影响,所以首要任务应该是对于草坪空隙的模糊处理,在实验中发现,一般进行三次膨胀操作便可满足大多数草坪图像的“填充”工作。经过多次尝试,发现一种“菱形”结构元素针对草坪图像的处理有较好的结果,我们用B1来代表三次膨胀时所用的结构元素,b为每次膨胀的结构元素。其中

膨胀和腐蚀运算程序一般过程是:结构元素在目标图像上平移,每次平移都需要逐个像素进行比较,然后再根据比较的结果判断是否需要该点取反。本文中提出的算法需要膨胀3次,又由于结构元素的逐渐减小,膨胀力度也在逐渐减小,因此如果每次膨胀运算都要进行逐行比较的话,就实际进行了大量的浪费计算操作。

基于本算法的特殊性而设计了一种优化策略,优化策略核心如下:

每个像素特别设置一个标记开关,初值设为0,第一遍用b(7)进行膨胀,

当某个点的值发生变化时,值变成1。

第二遍用b(5)进行膨胀时,只需去对那些周围8个点值为1的数量是3~5个的点进行膨胀操作,然后标记他们的值,那些没有去膨胀的点值则改为0。

第三遍用b(3)进行膨胀时,只需去对那些周围8个点值为1的数量是3~5个的点进行膨胀操作。

例如下面A,B的值:A点为,B点为。A点周围值为1的数量是4,则A

在下一次膨胀操作时就是需要运算的点,B点周围值为1的数量是0,在下一次膨胀操作时就不需要再运算了。这个优化策略的实质就是在下一次膨胀操作时只对发生改变点处在边缘的点进行比较,那些相对在“中间”的点由于结构元素的变小就没有进行运算的必要了。

3. 实验结果与分析

本文所做的实验都是在win7 64位操作系统下,在MATLAB环境里进行测试,对同一幅草地图像,与传统的canny边缘检测算法进行对比。对比结果如图5图6所示。

图6是本文的组合算法所处理的最终结果,图7是传统的canny边缘检测算法所处理的最终结果。从两幅图对比可以看出,两者对于草坪边缘的检测都能识别出,但是图6的边缘相对来说更加连续,图7的边缘保留了过多的细节,使得边缘有几处断点。由于光照等因素的影响,在实际中彩色转二值图像时会产生很多噪声,如果不能处理掉这些噪声,割草机器人将不能正常工作。传统的canny算法不能很好的处理掉这些噪声,而采用本文结构元素进行膨胀腐蚀运算过后,基本可以处理掉90%以上的噪声。通过多次实验,本文优化的算法在时间性能上相比于传统的算法可以节约30%。

4. 结论

本文设计的算法策略,在针对草坪图像的处理上,有很好的效果,置入lab色彩空间,用k-means聚类法进行分类,再以草的颜色为特征进行提取,最后再用数学形态学对所得的二值图像进行处理,得

Figure 6. The effect of this algorithm

图6. 本文算法效果图

Figure 7. Canny algorithm renderings

图7. Canny算法效果图

到最终的草地边缘。本文算法原理清晰,易于编程实现,在能达到识别提取草地边缘的基础上,缩短了程序运行时间,基本满足了割草机器人对于草地边缘识别并提取的要求。

基金项目

本文得到国家自然科学基金项目支持, No.U1404606,基于概率图模型的图像分割方法研究;本文得到河南省科技攻关项目支持No.152102210360,深度学习在视觉目标检测中的关键技术研究;No.172102210070,基于机器视觉和无线定位技术的割草机器人模型研究。

文章引用

刘卫光,李 洋,杨 关. 草地图像边缘检测算法研究
Research on Edge Detection Algorithm of Grass Image[J]. 计算机科学与应用, 2017, 07(05): 457-462. http://dx.doi.org/10.12677/CSA.2017.75056

参考文献 (References)

  1. 1. 龚声蓉. 数字图像处理与分析[M]. 北京: 清华大学出版社, 2014.

  2. 2. 陆溪. 基于图像的草坪场景分析[D]: [硕士学位论文]. 杭州: 浙江理工大学, 2015.

  3. 3. 王娟. 图像边缘检测算法的比较分析[J]. 电子测试, 2016(23): 36-37.

  4. 4. 杜慧江. 全自动割草机器人的智能控制技术研究[D]: [硕士学位论文]. 杭州: 浙江理工大学, 2015.

  5. 5. 范彩霞, 陈亚军. 颜色空间的感知均匀性评价及其在图像处理中的应用[J]. 西安理工大学学报, 2016, 32(2): 191-198.

  6. 6. 明月星, 马静, 张杨. 基于K-means算法车牌分割的应用[J]. 科技视界, 2015(3): 57-57.

  7. 7. 黄巧洁. 数学形态学及在人脸识别预处理中的主要应用[J]. 广东轻工职业技术学院学报, 2015(4): 16-20.

  8. 8. 周乐前, 郭斯羽, 温和, 等. 大结构元素二值形态学基本操作改进算法[J]. 计算机工程与应用, 2016, 52(1): 190-194.

期刊菜单