APP下载

改进边缘算法的智能识别播撒机器人

2022-07-14李红丽沈相龙周松豪

中州大学学报 2022年3期
关键词:形态学播撒灰度

李红丽,沈相龙,王 通,周松豪

(郑州工程技术学院 机电与车辆工程学院,河南,郑州 450044)

0 引言

对于传统的播撒机器人而言,其着重点在于更高效率的作业,而对于边缘播撒的精准度有所忽略,导致对边缘农作物的播撒量过多或过少,过多会增加边缘道路的安全隐患,过少会导致边缘农作物产量低下。对于边缘播撒的难题,采用视觉定位和人工智能识别算法的播撒机器人,对边缘位置的识别定位更加精准,能更好实现全区域覆盖的精准播撒。

因此,是否能够准确识别边缘是播撒机器人能够切实提高农作物产量的关键因素。在现在的研究中一般将随机噪声分为脉冲噪声、窄带噪声和起伏噪声。本文研究的主要是脉冲噪声,而固定值脉冲噪声也称为椒盐噪声,其灰度以等概率取最小灰度值和最大灰度值,属于突发性的,对数字通信影响大。而在传统的针对椒盐噪声滤波算法中大多用的是中值算法,而传统中值算法仍然存在对于相对大概率的保留噪声点的情况,所以学者对其进行了改进,如采用快速均值滤波,采用自适应加权均值滤波算法等。通过对处理点所在模板内其余各点与该点的距离进行加权计算求均值,最终将均值赋予该点。均值滤波很好地解决了噪声点保留的问题,但其仍然改变了原有信号点的灰度,使得其更加的圆滑,在细节保留方面不足。因此,有学者对传统中值滤波加以改进,根据中值滤波改进的自适应算法对疑似噪声点加以处理,对信号点加以保留。这些算法极大限度地保留原有的细节,但对于噪声点的判断不同,存在通过对于邻近点的相关性确定,也存在通过对于模板内中值、最小值、最大值的关系反复判断确定。在实际处理中,例如50%噪声情况下,至少有半数的点是未受到污染的,整体计算将会极大地增加计算时间。为解决上述问题,本文采用一种基于中值算法的快速滤除椒盐噪声的自适应中值滤波算法。对于疑似噪声点做标定,保留原有信号点,从而有针对性地对噪声点进行处理。整体算法不需要阈值,细节保留效果好,滤波效果好,大幅度减少了运算时间,对于当下普遍高像素图像处理有很强的实用性。

为了实现对边缘区域精准播撒的目标,需要将智能识别、视觉定位与传统的播撒机器相结合,从而提高播撒机器人在边缘区域作业时的精准度和作业效率。

1 播撒机器人控制系统的设计

播撒机器人利用智能识别和光流传感器采集信号,在播撒时利用视觉识别模块自带的灰度传感模式初步对信号进行处理和转换,利用机器人的光流传感模块进行机器人的定位。如图1所示,目前采用智能视觉的识别装置一般初次采集到的图像都是彩色图像,不能直接将检测所需的数据及时高效的进行处理,因此需要将彩色图像转换为灰度图像,并对图像进行分割和边缘检测。图像的处理常采用Roberts算子,该算子可以有效检测出图像灰度或图像中色彩比较突出的部位,通过图像色彩梯度的变化,来对图像进行分割和边缘检测。

图1 播撒机器人基本框架

光流传感器采集的图像一般是灰度图像,而采用智能识别初次采集到的图像一般是彩色图像,不能对所采集的图像进行处理,因此需要将彩色图像转换为灰度图像,将采集到的图像转换为灰度图后再对图像数据进行处理,通过对灰度梯度分级别识别分析从而实现对边缘的检测和部分物体的识别分类。

根据光流模块来对植保飞行器的位置进行调节。首先光流模块会对地面发射光信号并接收数据,然后通过计算得出其高度差,重复若干次后形成一个与高度差有关的二维图像后交由飞控系统进行处理。计算的过程及公式如下。

若下面两个假设成立:

①摄像头采集到的两帧图像之间的像素灰度不变;

②相邻的两帧像素具有相对运动。

由假设①得,若两帧的灰度值不变,那么有以下关系成立:

fxu+fyv+ft=0

(1)

其中:

(2)

(3)

以上就是光流方程,其中fx和fy表示图像的梯度,ft表示时间梯度,但仅用上述方法是无法得到(u,v),我们还需采用经典的lucas-Kanade方法来进行求解。

在lucas-Kanade方法中,我们需要用到假设②,即在目标点的邻域内所有的点都具有相似的运动,这就是lucas-kanade方法的核心。基于该假设,其利用一个3×3邻域中的9个点具有相同运动得到9个光流方程,然后采用最小二乘法进行拟合求解,最终得到(u,v)如下:

(4)

u是x方向上的位移量,v是y方向上的位移矢量,i的取值为1到9。

以上就是光流法计算像素点的移动速度的方法,在使用的时候,只需要对图像中的一些点去跟踪,采用上面的计算方法就可以得到光流向量,根据得到的光流向量,就可以进一步优化飞行器的姿态控制,实现更加准确的控制。

2 播撒机器人边缘检测分析

在实际的边缘检测中,往往存在许多干扰噪声,噪声的种类繁多且复杂,对完成实际工作产生了很大影响。图像分割是将图像划分为数个有意义的区域,图像分割主要有三种分割方式,分别根据图像边缘、图像阈值和图像区域进行分割。其中基于图像边缘的分割方法,是通过边缘检测算法计算图像区域的灰度值、颜色以及纹理等具有不规则性的边缘,利用这些边缘轮廓来确定图像区域。基于阈值的图像分割是通过对物体表面光线发射或吸收的情况下来确定阈值,以此进行分割的方式,其主要包含两种方式。一种是最为基础的人工分割操作,运用直方图技术测试出最佳阈值,并将分割目标与背景隔离。人工分割本身就会受到人为因素的影响,需要经过反复监测和调整才能得到良好的分割效果,而在农业生产中作物受光照条件影响程度较大,发生改变时就需要调整阈值,而频繁调整阈值效果很容易对阈值分割造成影响。利用基于中值滤波和多结构元的抗干扰处理方法,能在处理复杂地形、边缘混乱的情况时发挥良好的作用,有效实现抑制噪声,保护图形边缘细节,提高检测精准度。

在图像中常用边缘来表达图像的基本形状,边缘就是图像处理的主要特征,因此是否能较好地识别物体边缘是识别物体并提取物体真实形状的主要因素。噪声的干扰会影响提取图像边缘的过程,为准确识别物体带来巨大困难,在一般的图像噪声中,椒盐噪声和高斯噪声是非常常见的,目前存在不少降噪处理方法都能有效去除椒盐噪声,但高斯噪声的处理仍处于一个效率低下的阶段。如果图像中存在多种噪声,那么对噪声的处理就更加困难,一味增加降噪强度会导致物体边缘失去很多图像细节,无法达到一个相对较好消噪效果。尤其是在图像边缘和图像噪声一般都是高频分量,这就给边缘检测的问题带来很大困难,从而导致检测精度与抗噪性能之间的冲突一直存在。

在前人的总结中可以证明,椒盐噪声可以采用中值滤波来达到一个比较好的效果,但单独的采用中值滤波不足与应对绝大多数场景,如当噪声强度过强时,中值滤波就显得捉襟见肘,同样在处理高斯噪声时,中值滤波也不能取得较好的滤波效果,这就导致其应用面的狭窄。通常需要对中值滤波得到的结果进行二次处理,不能直接采用其得到的数据。在本文中采用了一种以中值滤波和数学形态学相结合的边缘检测方法,能够有效地降低识别中的噪声影响而不影响边缘细节,提高检测精度,有效地提升播撒机器人对边缘区域的播撒质量。

2.1 噪声检测

在图形识别中,一般采用图像最大灰度值和图像最小灰度值来表示椒盐噪声。即Maxgray和Mingray,在灰度图中一般最大灰度和最小灰度的值是255和0,椒盐噪声的灰度值也常在两者附近,因此常使用255和0作为疑点噪声:

(5)

式(1)中,Noise(a,b)=1代表该点为疑似噪声点,Noise(a,b)=0代表该点为信号点;δ代表灰度偏差,一般为疑似噪声点包含了噪声点以及部分原本灰度为255或0的信号点,因此进入下一阶段,对疑似噪声点进行处理。

2.2 中值滤波

中值滤波中的中值是指将一个数列中的数据按照顺序排列,如这个序列的长度为奇数,则排在中间的那个数就是此序列的中值;如果数据序列长度为偶数,可以定义处于中间的两个数的平均值为中值:

(6)

式(6)可以看出中值滤波是一种非线性滤波,在此时叠加定理不成立。但因此时中值滤波可以较好地保护边缘和清楚椒盐噪声,因此可以非常好地运用于图像的初次降噪。根据中值滤波的原理,将图像中各点的值用其邻域中各点的中值取代,从而获得一个比较初级的降噪,但在噪声过多时邻域中值仍会存在噪声所以对高强度噪声的消噪能力不足。在实际运用中取一个长度为奇数的矩形框,把相应的矩形框在图像的行和列逐点滑动,这样图像在各点输出的值就是窗口中心移动到该点时所有灰度值的中值。

2.3 中值滤波和数学形态学结合的边缘算法

在数学形态学的基本思想中,图像可以采用一定形态的结构元素去度量、提取图像中对应的形状从而实现对图像的分析和目标识别。常用灰度形态学处理的对象和结构元素是灰度函数,在利用数学形态学处理图像时,膨胀和腐蚀时两种基本运算,灵活运用膨胀和腐蚀可以组成多种实用的复合算法。

基于形态学的图像边缘检测的关键是如何利用形态学的各种基本运算的组合构造形态学边缘检测算子,以及如何选取结构元素来较好地解决边缘检测精度与抗噪声性能的协调问题。

而在灰度形态学中,腐蚀可以看作是删除图像中比结构元素小的亮细节,膨胀可以看作是删除图像中比结构元素小的暗细节。通过一系列的运算消除在处理图像中遇到的噪声,可以比较完整的保持图像整体的灰度和非噪声区域基本不受影响,根据膨胀、腐蚀等运算的特点,可以分析得到消噪的边缘检测模型:

edge=(f°b)⊕b-(f°b)·b

(7)

开启和闭合运算是膨胀和腐蚀运算的组合,用b开启f记为f°b,用b闭合f记为f·b,令f(x,y)为灰度函数, 结构元素为b(i,j)。

结合了形态学的图像边缘检测不仅和使用的边缘检测算子有关,还取决于结构元素的选择。利用不同取向的多结构元素,每一段元素都能被当成是一种尺度对图像的细节进行匹配,以此保留图像的细节,而如果只采用一种结构元素,则不利于图像细节的保存。

在多结构元素的检测中,既可以检测出多种类型的边缘,又能抑制噪声,能较好地完成消噪目标。

本文采用的抗噪边缘检测算法的步骤如下:

1)采用3×3的方形滤波窗口dom对Is进行中值滤波,得到滤波后的图像f。

2)将不同形状的结构元素应用于抗噪膨胀型的边缘检测算子中。

edgei=(f°b)⊕bi-(f°b)·bi

(8)

上式(8)中b和bi是结构元素,其中:

(9)

bi(i=1,2,…,k)是不同形状的结构元素,选择情况如下:

b1={(-1,0),(0,0),(1,0),(0,-1)},

b2={(-1,0),(0,0),(1,0)},

b3={(-1,-1),(0,0),(1,1)},

b4={(0,-1),(0,0),(0,1)},

b5={(-1,1),(0,0),(1,-1)}。

edgei是使用不同结构元素检测到的边缘。

3 实验结果

如图2所示,a图为原图,b图为采用了中值滤波和数学形态学结合的边缘算法所识别的图像,c图为现在常用算法所识别出来的图。由图对比可知,传统算法对于边缘细节的处理较为粗糙,边缘轮廓的清晰度不高,精准度较低,图像的连续性也比较差。而本文采用的算法相较于传统算法对图像噪声的抑制有显著效果,无论是对边缘的连续性,还是对细节方面的处理都更加优秀。

图2 实验结果图像对比

4 结论

提出了一个基于视觉识别的播撒机器人边缘识别改进算法,对于播撒区域的边缘识别更加精准,可以有提高播撒的精准度和效率。

该机器人通过中值滤波和数学形态学结合的边缘算法,实现对实时环境的识别,尤其是对于边缘区域有着优于传统识别算法的特点。将二者结合起来,采用基于中值滤波和多结构元抗噪膨胀型边缘检测算子相结合的边缘检测算法,对混有不同类型噪声的图像进行边缘检测,既能较好地抑制噪声,又保持了图像细节。考虑到现实条件下,滤波图像绝大多数处在50%以下的噪声密度环境中,而且如今大数据时代,每秒钟处理的视频图像数据以亿计数,对实时性的要求较高。因此,本文算法具有很好的实用性,同时实验结果也表明,该算法对于图像的识别,尤其是图像的边缘位置的识别更加平滑、清晰,证明了该播撒机器人改进算法的可行性与精准性。

猜你喜欢

形态学播撒灰度
航空滤光片阵列多光谱图像条带灰度调整算法
临床检验中血细胞形态学观察与分析
音乐科学研究中的思想实验——以音乐形态学研究中的四个重大发现为例
天津港智慧工作平台灰度发布系统和流程设计
教育扶贫 播撒爱心
Arduino小车巡线程序的灰度阈值优化方案
播撒纯真的种子
一种改进的分水岭图像分割算法研究
我们心中的小精灵
一种基于灰度分割的调焦评价函数