基于数字图像的草坪内部障碍物识别研究
2018-01-11郅忠强郭清宇郑秋生
郅忠强, 郭清宇, 郑秋生
(中原工学院, 郑州 450007)
随着城市化进程的加快,环境问题日趋严重,公园、校园、小区、道路两旁等公共场所的草坪需要定时维护。传统割草机器人采用人工布线方式将草坪边界和障碍物包围起来,通过感应电缆信号确定行走路线并躲避障碍物[1]。智能割草机器人不仅能够按规划路径对草坪进行覆盖作业,而且可利用视觉传感器对障碍物进行识别后躲避障碍物,顺利完成草坪区域的修剪作业。现阶段,常用的障碍物识别方法包括:基于支持向量机的障碍物识别[2]、基于视觉传感器的障碍物识别[3]和基于神经网络的障碍物识别[4]。其中,基于神经网络的障碍物识别方法最常用。但是,由于割草机器人的工作环境复杂多变,采用神经网络等智能算法进行障碍物识别需要多次训练机器人且硬件要求较高,因此很难推广。
针对神经网络等智能算法存在的缺陷,依据智能割草机器人的工作环境和数字图像处理技术,本文提出一种基于颜色和Otsu算法的障碍物识别方法,以简单有效地实现割草机器人对障碍物的识别功能。
1 基于数字图像的障碍物识别
根据草坪的特点,本文将草坪内部障碍物分为两类:一类是景观石、灯柱、树木等颜色与草坪不同的障碍物;另一类是灌木、松柏和低矮植物等颜色与草坪相似的障碍物。户外复杂的环境,如温度、露水、灰尘等因素对传感器会产生一定的影响,采集到的信息在处理时也会因受到干扰而产生很多错误,进而影响割草机器人工作的正常进行[5]。基于数字图像的障碍物识别算法辅助传感器对两类障碍物进行识别,使得割草机器人的修剪作业更加准确。
本文使用的障碍物识别过程主要分3步:第一步,获取彩色图像,将采集到的图像转换到HIS(色调、亮度、饱和度)色彩空间,获取该图像的S、H分量;第二步,检验图像的S、H分量是否在对应草坪的S、H分量范围内,如果在就判定为草坪,否则就判定为障碍物,如果不能识别障碍物,跳往下一步;第三步,将彩色图像灰度化,利用Otsu算法对障碍物进行识别,并根据改进中值滤波算法和形态学对图像进行处理。
2 相关理论
2.1 彩色模型
常见的彩色模型有RGB(红、绿、蓝)、CMY(青、粉红、黄)和CMYK(青、粉红、黄、黑)、HIS、YIQ(亮度,I、Q表示色调)、YUV(亮度,U、V表示色调)等。其中,RGB模型是图像成像、显示、打印的基础。智能割草机器人采集到的彩色图像格式是每幅24比特的全彩色图片。RGB模型和HIS模型之间存在相互转换关系。HIS模型可以简化图像分析和处理的工作量,通过它求解归一化的S分量和H分量,对要识别的障碍物进行分割。
2.2 Otsu算法
Otsu算法由日本的大津展之在1979年提出。该算法根据图像的灰度分布,使用统计方法得到分割目标的概率和背景的概率,从而寻找分割的最优阈值[6]。智能割草机器人对障碍物进行识别时有一定的实时性要求。Otsu算法简单有效,能够满足其实时性要求,但是Otsu算法的抗噪性能比较差[7]。
(1)
(2)
B0、B1的类间方差为:
(3)
2.3 改进的中值滤波算法
目前,空间域经典的滤波算法有均值滤波、中值滤波以及在中值滤波基础上改进的滤波算法。均值滤波可以有效抑制高斯噪声,但是,若滑动窗口选择过大,就会造成图像模糊;中值滤波可以避免均值滤波带来的模糊,很好地保留图像的边缘细节,但是,若滑动窗口选择过大,就会增加排序和迭代次数,不能有效地为割草机器人提供实时性数据。
本文提出改进的中值滤波算法,对滤波器的滑动窗口进行改进,对迭代次数和统计排序造成的计算量大、速度慢等问题进行了优化。
对于M×N的图像中像素点f(x,y),传统中值滤波后的像素点为:
(4)
式中,Sxy为像素点f(x,y)的邻域。以7×7的滤波窗口为例,要求f′(x,y),需要将7×7邻域内49个像素按照灰度排序后取中值med,然后替换f(x,y)。将7×7滤波窗口划分成4个子窗口(见图1)。对于1号子窗口求得最大值max、最小值min、中值med,若min 图1 改进的7×7滤波窗口 系统采集到的草坪图像分辨率为520 pixel×390 pixel,采集到的草坪样本图像如图2所示。该草坪图像归一化的色调(H)和饱和度(S)直方图分别见图3、图4。 图2 草坪样本图像 图3 草坪图像的H直方图 图4 草坪图像的S直方图 识别障碍物之前,对50组不同草坪图像的H和S分量直方图进行分析,得草坪的H值在[0.1,0.4]之间,S值在[0.1,0.96]之间。 对于和草坪颜色差别较大的障碍物,可采用基于S、H分量的分割。如果智能割草机器人采集图像的S、H值在上述区间,就判断为草坪,否则判断为障碍物。本文选取HIS颜色空间的H=0.4作为分割阈值,图5和图6分别为待处理的图像和分割效果。 图5 含与草坪颜色差别较大障碍物的待处理图像 图6 分割效果 一般来说,针对景观石、灯柱、树木等,采用固定阈值分割就可实现障碍物的识别。但阈值分割需要先将图像灰度化,可能使得障碍物的灰度值与草坪接近而造成无法有效分割。S、H分量分割却能够取得良好的分割效果。此外,文献[8]提出融合多颜色空间分量的自适应彩色图像分割方法,采用空间模糊C均值对颜色分量进行分割,最终实现了目标对象的分割。不过,此方法需要颜色空间的大量转换,还需要对不同分量的直方图进行大量统计,资源消耗较大,计算时间较长。 对于和草坪颜色接近的灌木、松柏和低矮植物类障碍物,如果采用S、H分量分割,就不能进行很好的识别。图7和图8分别为要处理的图像和基于S、H分量分割且H=0.4的分割效果。 图7 含与草坪颜色相近障碍物的待处理图像 图8 基于S、H分量的分割效果 从识别结果可以看出,对于和草坪颜色接近的障碍物,利用S、H分量进行识别,障碍物的很多细节都被过度分割,严重损害了障碍物的轮廓,其分割效果不理想。采用Otsu算法,阈值L=78时分割的效果如图9所示。 图9 Otsu算法分割效果 Otsu算法保留了障碍物的细节部分,对草坪和障碍物给出了较好的分类。但是,其背景部分草地出现了许多噪点,这正是Otsu算法的弱点。 本文采用7×7改进中值滤波算法对Otsu算法分割后图像进行滤波操作,并采用形态学对障碍物进行腐蚀和膨胀操作,最终实现了障碍物的良好分割。其分割效果如图10所示。 图10 最终分割效果 从最终分割效果来看, 改进中值滤波算法有效地消除了图像噪点,经腐蚀和膨胀操作,对障碍物进行了有效分割。对于简单的草坪状况,采用该方法识别草坪内部障碍物是有效的。 本文根据草坪实际情况,针对草坪颜色接近以及差别较大的两类障碍物,综合运用颜色特征中的S、H分量以及Otsu算法,实现了对草坪内部障碍物的识别;对中值滤波进行改进,缩减了传统中值滤波迭代次数和排序时间,克服了Otsu算法抗噪性能差的缺点,弥补了基于神经网络方法训练时间长且复杂度高的短板。本文提出的方法能够辅助传感器为智能割草机器人提供有效的实时性处理手段。实验结果表明,本文提出的方法比其他智能算法更有效,且运算开销更小。但本算法使用范围有限,对于特别复杂的草坪场景,还难以取得良好的识别效果。 [1] Hassanzadeh I,Madani K,Badamchizadeh M A.Mobile Robot Path Planning Based on Shuffled Frog Leaping Optimization Algorithm[J].Automation Science and Engineering,2010,315(12):680-685. [2] 余锋,程兴国,肖南峰.双机器人视觉协调装配零件系统研究[J].机械设计与制造,2013(9):193 -196. [3] 王天涛,赵永国,常发亮.基于视觉传感器的障碍物检测[J].计算机工程与应用,2015,4(4):180-183. [4] 汤一平,姜荣剑,林璐璐.基于主动式全景视觉的移动机器人障碍物检测[J].计算机科学,2015,42(3):284- 288. [5] 刘洁颖,王青元.基于MSP430的小型智能割草机控制系统的设计[J].电气时代,2013,10(8):86-88. [6] Otsu N.A Threshold Selection Method from Gray-level Histogram[J]. IEEE Transactions on Systems Man and Cybernetics,2007,9(1):62-66. [7] 戴天虹,吴以.基于OTSU算法与数学形态学的木材缺陷图像分割[J].森林工程,2014,30(2):52-55. [8] 刘俊,马燕,陈坤,等.融合多颜色空间分量的自适应彩色图像分割[J].计算机工程与应用,2014,50(5):189,251.3 实验与分析
3.1 数据采集
3.2 基于S、H分量的分割
3.3 基于Otsu算法的分割
4 结 语