基于离散因子的多传感器数据融合和导航线提取方法
2022-08-02张彦斐宫金良
孙 科,张彦斐,宫金良
(1 山东理工大学 机械工程学院, 山东 淄博 255000; 2 山东理工大学 农业工程与食品科学学院, 山东 淄博 255000)
随着农业机械化水平的不断提高,越来越多的新技术应用于农业。针对农作物病虫害防治,利用农业机器人实现自主作业,可以解决从事农业人口比例逐年降低、劳动者工作强度大等问题,提高作业效率和质量,降低生产成本[1-2]。自动导航是农业机器人实现自主作业重要的一步,目前应用于农业的自动导航技术主要有RTK-GPS导航、机器视觉导航、地磁导航和无线电导航等,但GPS导航容易受到农田作物遮挡影响,信号不稳定,而多传感器融合导航具有实时性好、价格低廉、适用范围广等优点,因此相机与激光雷达融合导航已经逐步成为国内外研究热点。
Søgaard等[3]通过计算图像中玉米的重心代替分割步骤,从而减少了图像处理的耗时;杨洋等[24]利用动态感兴趣区域去除图像中干扰部分,采用最小二乘法直线拟合获取了玉米导航线。常昕等[4]以激光雷达点云数据修正跟踪,解决图像中受光照、阴影和背景干扰的问题。胡丹丹等[5]以玉米收割机器人为载体,采用机器视觉获取玉米植株离散点特征,基于Hough变换进行直线拟合得到导航基准线。Marchant等[6]通过植物的颜色特征和相机标定对作物行进行Hough变换处理,提高了检测效率。梁习卉子等[7]对区域内各色域分量权值进行调整,强调绿色像素而淡化红色和蓝色像素,去除枯草、阴影对检测结果造成的干扰。
目前农业机器人在田间行走主要依靠单一传感器识别,利用相机获取图像数据,将植株绿色像素投影曲线峰值特性,通过算法拟合峰值点可以获得导航基准线。俞毓锋等[8]结合激光雷达的深度信息和图像的颜色纹理信息,构建在时序帧间的特征点匹配关系,终将定位问题转化为特征点对的加权重投影误差优化问题。但实际上存在光照和地面起伏等因素,在信息融合过程中容易出现信息不匹配问题,降低识别准确率。宋宇等[9]提出特征点处植株绿色特征列像素累加值大于左右相邻像素累加值,通过设定峰值点距离阈值来获取准确根茎定位点,最终利用拟合定位点来获取导航线。但实际上玉米田中普遍存在缺苗、一穴多株现象,并且相机拍摄角度或焦距成像不同,在设定距离阈值进行筛选根茎定位点时会出现错误,降低拟合导航线的准确率。冯娟等[10]利用特征点附近像素值梯度变化程度,通过对形态学处理后的图像进行扫描获取土壤与根茎交界线。该方法在根茎附近有杂草干扰的情况时,会在相邻根茎定位点之间产生伪特征点,对导航线拟合产生严重影响。
本文针对单一传感器无法有效识别导航线问题,提出一种基于离散因子的多传感器特征检测和数据融合方法,离散因子是由激光雷达和相机采集到的孤立的信息点集,因此构建多传感器目标识别的相对一致性和加权一致性函数,根据多传感器特征检测的权重以及相关的一致性函数,建立多传感器特征识别的数据融合支持度数学模型以获取特征点。最后利用正确的玉米特征中心点进行拟合,可以获得导航基准线,为农业机械在玉米田间行走提供导航基准。
1 数据采集和预处理
1.1 图像采集与特征提取
视觉系统采集到的3~5叶期玉米植株图片为RGB彩色图像(图1),图像分辨率为640像素×480像素。测试环境为阴天,环境中有石子、树枝及行人等干扰因素,用 2G-B-R可以提取绿色特征分量[11],采用超绿化算法处理后,灰度图像仍为三维向量数据组,因此需要对图像进行二值化处理,可以有效减少计算量,提高效率。使用最大类间方差法[12-14](OTSU)以及形态学滤波中的开运算[15-17]进行二值化处理,处理效果如图2所示,该算法有效屏蔽了干扰因素并提取植物特征,同时对每个玉米植株连通域计算其重心位置并保存备用。
图1 玉米植株原始图像Fig.1 Original image of corn plants
图2 二值化处理后的玉米植株图像Fig.2 Image of corn plants after binary processing
1.2 点云数据采集与聚类分析
采用 Velodyne Lidar VLP-16PUCK 的激光雷达对视觉采集的同一目标进行数据扫描。激光雷达扫描的数据以点云形式存储,每个扫描点包含该点的三维坐标和反射率等信息。但由于复杂环境存在干扰以及设备存在精度的缺陷,原始点云数据存在伪特征点。针对原始数据中的伪特征点,采用基于半径滤波去噪的方法进行剔除,即设置规定半径范围内点云的最小数量,当给定点周围点云数量大于给定值时保留该点,反之则剔除该点,依序迭代可获得最密集的点,从而去除原始数据中的伪特征点,处理后的点云俯视图如图3所示。
图3 玉米植株点云数据预处理Fig.3 Preprocessing of point cloud data of corn plants
预处理后的玉米植株点云数据依然存在模糊、分散等问题,因此进行部分聚类操作,导出最大密度相连的样本集合,即为最终聚类的一个类别,从而加强玉米植株的特征点云数据。采用DBSCAN[18-19]聚类算法进行点云数据处理,通过将紧密相连的样本划为一类,这样就得到一个聚类类别,通过将所有各组紧密相连的样本划为各个不同的类别,则可以获得最终所有聚类类别的结果。经过DBSCAN聚类操作处理的点云数据如图4所示,玉米植株的特征被划分得更加明显,解决了点云数据杂乱、噪音多等问题。
图4 DBSCAN聚类玉米植株点云数据Fig.4 DBSCAN clustering of point cloud data of corn plants
2 多传感器数据融合
基于相机和激光雷达的融合导航识别算法是将预处理后点云数据的反射率信息加入到预处理后图像数据中,降低光照不足、遮挡等干扰对可通行区域提取的影响,提高识别精度,算法流程如图5所示。
图5 玉米植株特征识别流程图Fig.5 Flow chart of corn plant feature recognition
2.1 相机与激光雷达联合标定
为达到数据融合的目的,首先要将相机和激光雷达数据进行空间匹配,因此需要对相机和激光雷达进行联合标定[20-21],即得到两者之间的数据转换关系,找到同一时刻激光雷达点云数据对应图像中的像素点。
建立激光雷达坐标系OL-XL,YL,ZL;相机坐标系OC-XC,YC,ZC;图像坐标系O-x,y;像素坐标系O-u,v,如图6所示。假设 θX,θY,θZ为激光雷达坐标系相对于相机坐标系在x,y,z坐标轴方向的转角,转动矩阵为R;T(t1,t2,t3)为相机坐标系到激光雷达坐标系的平移向量; (u0,v0)为图像坐标系原点在像素坐标系下的位置。
图6 坐标转换示意图Fig.6 Schematic diagram of coordinate conversion
传感器融合的关键就是将物体在激光雷达下的坐标转化为像素坐标,从而达到激光点云与图像融合的目的。因此,假设空间有一点P在激光雷达坐标系下的坐标为 (XL,YL,ZL),在相机坐标系下的坐标为 (XC,YC,ZC),在图像坐标系下的坐标为 (x,y),在像素坐标系下的坐标为 (u,v),t1,t2,t3分别为相机到激光雷达x,y,z方向的距离。具体过程为:将P点在激光雷达坐标系下的坐标转为相机坐标,再从相机坐标转为图像坐标,最后从图像坐标转为像素坐标。
1) 从激光雷达坐标系到相机的坐标系转化为:
式中,
2) 从相机坐标系到图像坐标系的转换为:
式中,f是相机的焦距。
3) 从图像坐标到像素坐标的转换为:
式中:dx为单个像素点在像素坐标x方向的长度,单位mm;dy为单个像素点在像素坐标y方向的长度,单位mm;u0为像素坐标系和图像坐标在x方向的平移偏量,v0为像素坐标系和图像坐标在y方向的平移偏量,单位mm。
2.2 数据融合模型
在相机和激光雷达对地面作物进行识别的过程中,2种传感器会探测到地面作物的不同特征,通过信号处理将2个传感器收集到的目标相应特征输出,其输出数据对目标识别结果的支持程度以及输出数据的一致性函数[22]是系统准确识别作物的重要依据。
假设 α是需要识别的作物特征组成的集合,则将 α中一个模糊集定义为一个隶属函数:
式中,mj(w)表示第j个传感器对模糊命题的隶属度,E表示地面目标特征, μj、 σj分别表示地面目标特征的均值和标准差,w表示识别的作物目标特征,不同的传感器获取作物的不同特征。
因为采用多传感器进行作物识别,所以采用关联性结果来表示2个传感器对同一个支持模糊命题的支持程度。具体操作是先假设2个传感器i和j对模糊命题的共同支持程度,即mi(w)和mj(w)之间的关联性,称之为一致性函数:
式中,∧表示取两者中数值较小者,∨表示取两者中数值较大者。
然后进行判别,当2个传感器对模糊命题的支持度相同时,取Sji=1;当2个传感器对模糊命题的支持度将近时,表明2个传感器观测值相互支持度高,则 0 <Sji<1;当2个传感器对模糊命题的支持度相差较大,表明2个传感器观测值相互支持度低,甚至相互背离,因此对其信息不采用,则取Sji=0。如果出现2个传感器支持度持续不同的结论,就需要进一步判别这2个传感器是否出现故障。
例如采用一组随机变量E1,E2,···,Eh来表示通过多传感器获得地面目标的h个特征,通过随机变量的标准差与均值计算隶属度mj(w),从而计算传感器对模糊命题的支持度Sji。
假设随机变量的标准差和均值如表1所示。
表1 玉米植株特征随机变量及其标准差和均值Table 1 Random variables, standard deviations and means of maize plant characteristics
将数值带入公式(5)计算的隶属度mj(w)结果如表2所示。
表2 各传感器对不同目标的隶属度Table 2 Membership of each sensor to different targets
根据公式(6)可以求得S12(目标1)=0.964,S12(目标2)=0.559,S12(目标3)=0.578。
根据相机和激光雷达目标识别输出的一致性函数,构建传感器采集的所有特征对模糊命题的支持度一致性矩阵:
式中,l表示采集到的目标的特征数量。
利用上式中传感器采集的所有特征对模糊命题的支持度一致性计算出平均一致性,通过归一化处理,计算出第j个传感器作物识别输出的相对一致性函数:
式中,M′j为第j个传感器作物识别输出的一致性函数。通过一致性函数,即可将不同物理量的传感器数据进行匹配,保留图像特征重心和激光点云共同的作物特征点,剔除伪特征点。
由于测试环境的目标干扰,行人、测试区域动态变化性等不确定因素,利用2种传感器采集目标的多类型特征数据,并依据获得的目标离散信息点集之间的离散状态确定多传感器的当前权重,离散因子根据不同时间段、多测试区域传感器测量的目标信息进行融合,有效避免了传感器权重选取的经验性和局限性;同时,将传感器当前权重引入到多传感器目标识别的平均加权一致性函数数学模型,通过计算处理给出多传感器目标识别的相对加权一致性计算函数;结合多传感器目标识别的相对一致性、多传感器目标识别的当前权重,构建基于离散因子的多传感器目标识别的数据融合支持度计算模型。
3 导航线提取
将预处理后的图像与激光雷达特征点进行融合,剔除了伪特征点,对其获得的特征点进行直线拟合即可得到导航基准线。为减少异常点对作物特征点进行直线拟合的影响,引入随机采样一致(Random sample consensus, RANSAC)算法[23],通过反复选择数据集估计出模型,一直迭代到估计出较好的模型。具体步骤为:
1) 首先筛选可以估计出模型的最小数据,使用这个数据计算出数据模;
2) 将所有数据带入这个模型,计算出组成模型参数数据的数量即内点数量;
3) 比较当前模型和之前推出最好模型的内点数量,记录最大内点数的模型参数;
4) 重复上述步骤,直到迭代结束或者当前模型内点数量达到要求。
此时需要对迭代次数进行选择,假设内点在数据中的占比为t。则:
式中,ninliers为内点数量,noutliers为外点数量。
在每次计算模型使用N个点的情况下,选取的点至少有1个不是内点的概率是1 -tN,在迭代k次的情况下,( 1-tN)k为模型至少1次没有采样到内点时计算出模型的概率,即计算出错误模型的概率。那么能采样到正确的N个点并计算出正确模型的概率为:
通过上式,可以求得:
内点占比t通常为先验值,P是我们希望RANSAC算法得到正确模型的概率,此时可以求出最优的迭代次数k。通过RANSAC算法分别得到左、右导航基准线,2条导航基准线的角平分线即玉米田导航线,如图7所示。设左导航基准线斜率为 β1,右导航基准线斜率为 β2,则导航线斜率 β满足:
图7 导航基准线拟合Fig.7 Navigation baseline fitting
4 试验及可靠性分析
试验采用英特尔 Pentium(R) CPU G3250 @3.20 GHZ、4 GB 内存、Windows 7(64 位)操作系统的计算机,在Python3.7(Anaconda)的集成开发环境下编程完成。试验中的农业机器人宽45 cm、长60 cm,装有森云智能SG2-AR0233C-5200-GMSL2相机、16线激光雷达、4 G模块等多种传感器,采集前方环境和玉米植株信息,如图8所示。
图8 数据采集设备Fig.8 Image acquisition equipment
为了更精确地分析该方法在玉米田中的植保机器人行走区域识别精度,本试验通过布置标定好行距和株距的玉米植株,模拟真实场景开展精度分析试验。结果表明,本文算法可以准确提取导航线。由于实时性和正确性是导航线提取的正确指标,表3统计了本文算法不同传感器对随机900帧图像的平均处理时间及正确率,通过人工标定图像最合理的导航线,定义人工与本文算法提取的导航线之间的夹角为误差角,误差角超过5°时,视为导航线错误。
表3 不同传感器性能评价指标Table 3 Performance evaluation index of different sensors
由表3可知,分别用相机、三维激光雷达和传感器融合的识别方法,平均处理时间逐渐增加,正确率也随之增加,当将相机和激光雷达融合时,平均处理时间和误差角度均满足要求。将该算法与候补定位点二次判别算法、动态迁移算法进行对比,本算法单帧平均处理时间为95.62 ms,优于候补定位点二次判别算法的单帧平均处理时间200 ms[9]和动态迁移算法的单帧平均处理时间97.56 ms[24],具有更高的实时性;本算法正确率为95.33%,优于候补定位点二次判别算法的正确率90%[9]和动态迁移算法的正确率95%[24],为农业机械的视觉导航提供了可靠保障。
5 结论
本文基于半径的滤波方法依序迭代剔除点云数据噪音,利用DBSCAN算法进行点云数据聚类,导出最大密度相连的样本集合,采用激光雷达和相机信息融合的方式进行可通行区域提取,在图像数据中加入点云数据的反射率信息,降低了阴影、遮挡对导航线提取的影响。
根据多时间段、多空间区域传感器采集的目标特征量进行系统建模分析,并依据获得的目标特征值之间的离散因子确定多传感器权重选择,根据权重引入多传感器目标识别的平均加权一致性函数,获得具有冗余性的数据融合支持度模型。最终试验平均处理时间仅为95.62 ms,正确率高达95.33%,提高了检测结果的稳定性和准确性,为农业机器人在农田环境中作业提供了可靠的导航路径。