除草机器人视觉导航中路面检测方法研究—基于DSP图像深度处理
2020-10-19高霞
高 霞
(长江职业学院,武汉 430074)
0 引言
计算机技术的发展和DSP芯片的出现,为图像处理提供了强大的工具,特别是DSP处理器的出现,使得图像嵌入式实时处理得以实现。除草机器人是当前农业一种新型的作业工具,其自主作业过程主要依靠视觉导航系统。为了提高导航系统的作业水平,拟将DSP嵌入式处理器安装在除草机器人的视觉导航系统中,结合深度图像技术,实现对视觉系统采集图像的实时处理,从而有效提高视觉系统的图像处理速度和精度。随着多核DSP处理技术的发展,DSP处理器逐渐可以实现大规模数据的处理,这对于现代农机导航系统的研究意义深刻。
1 基于DSP的图像处理技术
Digital Signal Processor(数字信号处理器)是一种专门用来实时、快速处理数字信号的器件,相比微处理器而言,其拥有更快的处理速度,且通用性广泛,可以处理各种数字信号,因此被广泛的应用在各种领域,包括车载导航系统、医疗系统以及军事航天系统等。在图像数字化处理方面,DSP的应用非常广泛,面对相对复杂的图像,DSP高速处理器具有很大的优势。目前,DSP主要被应用在嵌入式系统中,不过随着DSP处理任务的日益复杂,单核的DSP系统已经无法满足大规模计算的需求,DSP处理器正向着多核处理器发展。
除草机器人是现代化农机中一个新产品,其工作效率和作业质量与机器视觉导航系统具有密切的联系。为了提高除草机器人的自动化作业水平,将DSP图像处理技术应用在机器人机器视觉导航系统中,并通过实验验证其可行性。实验流程框架如图1所示。
图1 基于DSP图像处理的导航视觉系统实验流程Fig.1 The experimental process of navigation vision system based on DSP image processing
本次主要采用CCS和MatLab来集成实验环境。首先,利用PC机将采集得到的除草田垄的图像转换为CCS的.dat数据文件,将数据下载到外存储器上;然后,将输入传送到DSP处理器对图像进行深度处理;最后,利用CCS将图像提取出来,转换到MatLab软件中进行验证。
2 除草机器人视觉图像处理
图像分为彩色图像和灰度图像:对于彩色图像而言,图像深度主要是其每个像素可能有的颜色数,决定了图像中最多可能的颜色数;对于灰度图像而言,图像深度是指其每个像素可能有的灰度级数,决定了图像中最大灰度等级。在除草机器人导航视觉系统中,为了提高图像的处理效率,一般采用灰度图像,图像深度处理基于图像的灰度变换。图像灰度变化可以使图像的动态范围扩大,增加清晰度和对比度,使图像重要信息部分更加明显,从而提取路面的导航线。
图像的灰度变换主要包括两种,一种是线性变换,另一种是非线性变换。线性变换主要是采用一个函数对灰度图像中的每个像素点做线性扩展,从而改变原图像的视觉效果。假设原图像f(i,j)的灰度范围为[a,b],通过图像线性变换后的图像为f'(i,j),其灰度范围为[a′,b′],f(i,j)和f′(i,j)之间存在下列关系,即
(1)
线性变换还有另一种方式:假设图像的灰度值大部分在[a,b]范围内,少部分像素在小于a和大于b的区间,这种情况下可以做如下变换,即
(2)
通过这个变换将小于灰度级a和大于灰度级b的像素强行压缩为a′和b′,虽然会丢失一部分信息,但会更容易得到图像的特征信息,对于农田路面中心导航线的提取有利。
非线性变换是将原始图像f(i,j)的灰度范围[a,b]通过自然对数变换到区间[a′,b′],最后得到变换图像f′(i,j),其公式为
(3)
(4)
其中,k表示视觉导航系统采集得到的图像对应的总灰度级数。在此可以通过直方图均衡化增加图像的灰度值动态范围,直方图极大值附近对比度增强,极小值附近对比度降低,其变换函数为
(5)
其中,S=T(r)。T是变换函数,在进行变换时需要满足以下条件:①T(r)在0≤r≤k-1范围内是个单调函数;②对0≤r≤k-1有0≤T(r)≤k-1。 除草机器人实际作业过程中,受到作业环境的影响,采集的图像会有缺失或者损坏部分,而图像深度处理可以修补这些缺陷,从而提高导航的准确性。对于普通图像而言,其修补原理为
(6)
其中,(x,y)表示空白点,(i,j)表示参考点,(i,j)的权重为w(i,j),I(i,j)表示点(i,j)彩色信息,I(x,y)表示填补空白点(x,y)的取值。对于普通图像,由于不区分前景图像和后景图像,容易造成图像信息混乱;而深度图像可以区分,在进行修补时可以对前景参考点的影响进行过滤,其公式为
(7)
其中,D(i,j)表示深度加权因子。其具体步骤为:首先判断像素是否为空白点(见图2),是空白点则进行修补;然后对图像中的每个像素都进行此操作;最后通过深度处理,可以得到除草机器人实际行走路面特征图。
图2 农田路面特征提取过程Fig.2 The feature extraction process of farmland road surface
通过图像的修补和深度处理,可以得到路面的基本特征,然后采用一定的方法得到采摘机器人实际行走的位置导航线,从而实现自主行走。
3 除草机器人视觉导航系统测试
为了验证DSP图像深度处理技术在除草机器人导航系统中使用的可行性,以机器人农田路面导航线的提取为实验目的展开研究。图3所示是法国公司研究的一款除草机器人,机器人可以自主识别行走路线,实现自主作业。
图3 除草机器人作业示意图Fig.3 The sketch diagram of weeding robot operation
在除草机器人导航系统中,采用DSP图像深度处理可以提取农田路面行走导航线,根据农田的特点,通过提取田垄中值截距作为导航线。通过除草机器人机器视觉的图像采集可以得到田垄左半部分的N个点(xi,yi),i=1,2,3…N,加上相邻左侧田垄的线方程为
(8)
其中,a、b分别表示直线L在x、y轴上的截距。任意选择采集图像上的两个像素点p(xi,yi),p(xj,yj),过两点做直线并计算在x、y轴上的截距,则
(9)
对于N个点,相应的可以做出N(N-1)/2条直线,并到两组截距值{aij}、{bij}。对截距取中值,可得
(10)
式(10)所得的a、b就是对整个集合{aij}、{bij}的中值估计。通过将点进行拟合,便可以得到除草机器人的导航位置线。
导航位置线提取过程如图4所示。根据前述的导航位置线提取原理,可以通过采集两侧田垄位置线,然后利用中值截距计算方法得到拟合点,通过直线拟合便可以得到导航线。为了验证方法的可行性,进行了如图5所示的实验。
图4 导航位置线提取过程Fig.4 The extraction process of navigation position line
图5 农田路面导航位置线监测实验Fig.5 The position line Monitoring Experiment of farmland road navigation
按照农田田垄农作物的特点进行了农田模拟作业场景的布置,然后利用基于DSP深度图像处理的导航视觉系统对图像进行了采集,并利用导航位置线进行了提取,得到了如图6所示的结果。
图6 农田路面导航位置线监测结果Fig.6 The position line Monitoring Result of farmland road navigation
通过DSP图像深度处理,可以得到透明度明显的灰度图像;然后,通过中值截距计算原理得到了导航位置线的拟合点;通过直线拟合,最终可以得到除草机器人的导航位置线。
4 结论
为了提高除草机器人视觉导航系统的图像处理速度与精度,将DSP处理器引入到了导航系统的设计上,并结合图像深度处理技术对导航系统进行了升级改造。为了验证方案的可行性,采用MatLab软件和CSS集成了仿真环境,对导航系统的图像处理水平进行了实验测试,主要测试其对导航线的识别能力,导航位置线的提取采用农田田垄中值截距方法。实验结果表明:采用DSP处理器和深度图像处理技术可以有效地识别农田导航位置线,识别精度较高,可以满足除草机器人的设计需求。