APP下载

基于RealSense深度相机的多特征树干快速识别方法

2022-05-12庄珍珍姜建滨欧鸣雄

农业机械学报 2022年4期
关键词:像素点直方图宽度

沈 跃 庄珍珍 刘 慧 姜建滨 欧鸣雄

(1.江苏大学电气信息工程学院,镇江 212013;2.江苏大学农业工程学院,镇江 212013)

0 引言

在农业环境中,对果实植株进行检测、田间管理、农用机器人定位和导航等田间工作[1-6],需要获取果树的位置信息,因此图像分割和图像识别技术具有较高的实用价值。果园通常是半结构化环境,同类型的树一般种植在直行和平行行中,行距几乎相等,规整的布局为移动机器人的定位和导航提供了理想的环境。但是,环境只是“半结构化”的,这意味着果树的位置存在较大误差,而且果园中还存在一些非树木对象,这些复杂的环境影响了树干识别精度,因而影响了农业机器人在果园中定位和导航,所以对树干进行实时且精确地识别显得尤为重要。

近年来,国内外一些学者针对树木检测进行了大量的研究。BARGOTI等[7]利用激光雷达和图像数据,提出了一种树干检测模型,用于识别网络结构苹果园中的单棵树,对果园建立了一个包含果树数目、果树位置等准确信息的果园模型,但该方法一次只能提取一棵树干信息,检测范围较小。刘沛[8]利用标准果园中果树之间间距基本一致的特点,将二维激光雷达数据中成等差数列的内凹点作为树干的位置点,然后通过最小二乘法对导航的直线路径进行拟合,但此方法对果园标准的结构化要求较高。SHALAL等[9]通过将激光传感器获取的宽度数据融合相机获取的颜色和边缘数据来进行树干识别,并利用激光传感器实时获取准确的定位信息。牛润新等[10]使用单线激光水平安装获取环境信息,提出基于距离的自适应密度聚类方法完成初步聚类,并利用特征点对地面和杂草进行干扰排除,从而获取果树的准确位置信息。但激光雷达造价较为昂贵且在背景信息复杂的环境中不能很好地采集特征信息。相机可以提供比激光雷达更丰富的信息,而且轻便,使用平台更广,是一种低成本方案。

CHEN等[11]通过多摄像头获取果园图像,并将基于颜色、纹理和轮廓的多特征融合技术应用于柑橘树干的识别,然后使用超声波传感器进行定位。RGB-D相机能够提供可用于深度距离测量、特征提取(例如颜色、边缘、纹理)和目标检测的重要信息,且成本较低,故RGB-D相机在户外农业应用中变得越来越普遍,例如树木检测[12]、地图构建[13]、移动机器人定位和导航[14]。文献[15]使用RGB-D相机融合深度和纹理特征的树干分割算法对彩色图像进行分割,首先使用简单线性迭代聚类(Simple linear iterative cluster,SLIC)算法生成超像素,然后通过色调和宽度特征对树干进行识别,能够有效提高图像的分割速度以及树干的识别率,但在不同光照条件下树干识别率还有待进一步提升。本文考虑光照对树干识别的影响,将彩色图像转换到不受光照影响的颜色分量下,并使用树干的平行边特征来取代树干的色调特征以提高不同光照下树干的识别率。提出基于RGB-D相机的多特征树干快速识别方法,通过对HSV颜色空间的S分量进行超像素分割,并将颜色特征和深度特征相近的相邻超像素块进行合并,利用宽度特征和平行边特征对树干进行识别,以有效区分树干和非树干物体。

1 树干识别算法

1.1 图像数据采集平台

本文使用Intel公司的RealSense D435传感器(图1),结合OpenCV库获取彩色图像与深度数据。RealSense D435传感器性价比高,体积小巧且无需搭载外接电源,通过自带的USB接口与计算机相连,非常适合在移动的设备上进行数据传输。将RealSense D435传感器安装在移动机器人正前方,于果树行中间地带行驶并连续拍摄前方树木,如图2所示。

图1 RealSense D435传感器实物图Fig.1 Schematic of RealSense D435 sensor1.左红外相机 2.红外点阵投射器 3.右红外相机 4.RGB相机

图2 移动机器人图像采集平台Fig.2 Mobile robot image acquisition platform

1.2 颜色空间选择

自然环境下光照条件时刻发生变化,移动机器人在行进过程中,视觉传感器采集到的果园图像质量会受到光线强度的干扰,因此出现树干分割算法在不同光照条件下分割效果不理想的情况,且颜色空间的选取也会直接影响图像分割质量,故选择合适的颜色空间对图像的分割至关重要。在选择颜色空间时要视具体情况而定,虽然有多种颜色空间用于彩色图像处理,但选择最佳的颜色空间仍是图像分割的一个难题[16]。

HSV颜色空间模型的3个颜色分量分别表示为H(色调,hue)、S(饱和度,saturation)和V(亮度,value)。色调H主要用于颜色检测,因为它提供有关颜色的信息,而饱和度则集中在照明条件上。

从RGB到HSV颜色空间的转换公式为

(1)

将原始图像由RGB空间转换到HSV颜色空间后,再将H、S和V分量的图像分别分离出来,得到3个独立的灰度图像。如图3所示,在H和V分量下树干与背景没有区分开来;S分量下,光照产生的阴影得到了很大程度上的抑制,且树干与背景区分度较大。故本文最终选择HSV颜色空间中的S分量进行超像素分割。

图3 原始图像及其HSV各分量结果Fig.3 Original image and its HSV component results

1.3 树干快速分割算法

1.3.1原始SLIC超像素分割算法

SLIC算法由ACHANTA等[17]于2012年提出,该算法不仅可以分割彩色图像,还可以分割灰度图像和光谱图像,其计算简单、运算速度快,对图像中的物体轮廓保持完整、超像素块形状良好,具有较高的综合评价,比较符合人们期望的分割效果。

SLIC算法将彩色图像用5维特征向量表示,该向量由CIELAB颜色空间和XY坐标组成,然后再构造5维特征向量的度量标准,并对图像像素进行局部聚类。该算法的步骤为:

(2)距离度量标准。在每个新的聚类中心2S×2S邻域内遍历每个像素点,分别计算邻域内像素点和该聚类中心的距离。由于每个像素点都会被多个聚类中心搜索到,所以每个像素点都会有一个与周围聚类中心的距离,并将该像素点分配给距离最近的聚类中心。不断地迭代这一过程直至收敛。距离计算式为

(2)

(3)

(4)

式中li、ai、bi——像素点i在Lab颜色空间下L、a、b分量的值

lj、aj、bj——像素点j在Lab颜色空间下L、a、b分量的值

xi、yi——像素点i在图像中的坐标值

xj、yj——像素点j在图像中的坐标值

dc——颜色距离ds——空间距离

D′——像素点与聚类中心的距离

Nc——超像素内最大颜色差

Ns——超像素内最大空间距离

因为每幅图像中像素之间的色差不同,故Nc难以直接定义,在SLIC算法中设定Nc为l,l为调节超像素紧凑程度系数,l取值越大,超像素的形状越规整。由于树干轮廓是呈凹凸状的,本文需将其轮廓完整提取出来,故根据经验l取为10。

(3)后续处理。将孤立的小尺寸超像素块合并到周围最相似的相邻超像素块中。

1.3.2基于颜色直方图和深度信息的超像素块合并

由于SLIC算法在分割物体时通常会出现过分割,因此会增加整个算法的运行时间。故本文使用一些描述符来表示这些区域,并定义合并规则。通过相邻超像素块之间的颜色直方图与深度信息的关系来合并超像素块,减少超像素块的个数,降低后续工作的复杂度,从而提高算法的精确度。合并流程为:

(1)扫描每个分割好的超像素块Qm,建立深度直方图fH。

(5)

其中

式中d(m)——点m深度

z——采集到的有效深度

Z——Qm内最大深度

f——变量值比较函数

η(m)——像素点有效性判断函数

因为RealSense深度摄像头采集的最小深度为0.11 m,所以z的最小值为0.11 m。

最后,归一化深度直方图。

(2)利用颜色直方图计算相邻超像素块的相似度。颜色直方图是表示超像素颜色特征统计数据的有效描述符。在超像素合并中,来自同一对象的相邻超像素的颜色具有很高的相似性。本文中使用HSV中的S分量来计算颜色直方图。将该灰度通道量化为64个级别,然后在64个特征空间中计算每个超像素块的直方图。用巴氏系数ρ(Qm,Rm)来衡量超像素块Qm和Rm之间的相似性。

(6)

式中HQm——超像素块Qm的归一化颜色直方图

HRm——超像素块Rm的归一化颜色直方图

u——元素序号

如果2个超像素块的颜色相似,那它们的颜色直方图将非常相似,则超像素之间的巴氏系数越高,表示它们之间的相似度越高。

(3)计算2个相邻超像素块Qm和Rm之间颜色直方图和深度信息的相似度sim(Qm,Rm)。计算式为

(7)

式中λ——颜色特征和深度特征的权重,取0~1

fHQm——超像素块Qm的深度直方图

fHRm——超像素块Rm的深度直方图

(4)将相似且相邻的超像素块进行合并,然后重复步骤(1)至全部合并完成。

1.4 树干宽度特征检测

本文利用RealSense采集到的深度数据对图像中物体宽度进行检测。其中,RealSense深度摄像头视场角(Field of view,FOV)(水平×垂直×对角线)为91.2°×65.5°×100.6°,RGB摄像头FOV(水平×垂直×对角线)为69.4°×42.5°×77°[18],将彩色图像与深度图像配准后,深度摄像头FOV(水平×垂直)变为53.4°×42.5°,由此可知深度图像同一行像素相邻像素点到相机所形成的夹角θ为

(8)

式中c0——深度图像的列数

n0——当前有效像素点与前一有效像素点之间无效像素点个数

在果园中,RealSense D435传感器水平安装在移动机器人正前方。在扫描树干时,可将树干截面视为一个规则的圆形,扫描得到的树干弧长如图4所示,由此可得树干直径w为

图4 摄像头扫描树干示意图Fig.4 Schematic of tree trunk scanned by camera

(9)

其中

式中rk——摄像头到树干的最小深度

α——扫描树干截面的角度

n——弧线上像素点的数量

Ti——树干截面上像素点的集合

dm——当前有效像素点深度

通过计算深度图像中间一行像素每个像素点的深度,并由相邻像素点之间的深度差Δd判断是否位于同一物体表面。如图5所示,经计算,树干边缘2个相邻像素点之间的深度差为树干表面像素的最大深度差Δdmax。实际测量时,由于树干表面凹凸不平,RealSense深度摄像头在光照条件下测量树干的深度误差为0.02 m,故设定当深度差Δd<Δdmax+0.02时,判定前后2个像素点处于同一物体表面。

图5 树干横截面示意图Fig.5 Tree trunk cross-section diagram

(10)

(11)

1.5 树干平行边特征检测

在实际应用中,树干的颜色特征和宽度特征多被用于树干的识别,但在不同光照条件下颜色特征不能很好地利用。本文提出使用树干边缘近似平行这一特征来进一步提高在不同光照条件下树干的识别率。

将宽度满足条件的物体看作是待处理物体,然后对待处理的物体进行树干平行边检测,以进一步提高树干识别的准确度。首先在待处理物体上画出物体宽度横线,如图6所示,对红色横线的左右两侧端点分别设置为w1和w2,并在w1和w2周围设置适当尺寸的感兴趣区域窗口(ROI),这样会减少处理时间,并将图像中其他部分未使用信息的噪声影响降至最低。图6中w1和w2周围的黑色矩形框即为ROI窗口。

图6 树干平行边检测示意图Fig.6 Schematic of trunk parallel edge detection

首先使用保边均值滤波[19](Edge preserved mean filter,EPM)算法对ROI窗口进行滤波以去除噪声,该算法不仅滤波速度快,而且边缘信息保护效果好;然后使用Canny边缘检测算法对滤波后的ROI窗口进行边缘检测,该边缘检测算法不仅定位精度高,还抑制了虚假边缘;最后再利用整体最小二乘直线拟合在ROI窗口中搜索到的可能的直边。

因为树干的边缘不是绝对平行,而是近似平行,所以通过公式设置树干边缘线的角度范围以及边缘线之间的角度差来进行树干平行边检测。计算公式为

(12)

(13)

(14)

(15)

其中

式中ωj——加权系数,采用经验法确定

α1、α2——所检测物体左、右侧边缘线角度

αmin、αmax——左右边缘线允许的最小、最大角度

Δαmax——当前检测的物体左右两条边缘线之间所允许的最大角度差

RB——每个物体边缘检测的置信率

RB表示所检测物体边缘是树干边缘的置信率,由式(15)确定。树干平行边特征检测能够很好地区分树干和非树干物体,即使存在树干的边缘不是平行的,通过设置合适的阈值,也能够在一定程度上降低树干的误识别率。

1.6 树干快速识别算法流程

基于RealSense深度相机的多特征树干快速识别方法步骤为:

(1)使用RealSense D435传感器采集果园前方彩色图像和深度图像,并对彩色图像和深度图像进行配准。

(2)将彩色图像由RGB空间转换到HSV颜色空间,然后对HSV中的S分量进行超像素分割,再根据S分量灰度图像的颜色直方图和深度图像的深度信息对分割后的超像素块进行合并。

(3)在实现该算法之前,对果园中随机选择的多个树干进行了宽度测定,以确定初始树干宽度分布。计算出树干宽度分布的平均值μw和标准偏差σw,这些值在不同的果园中会有所不同。计算出的μw和σw用于确定正态分布的概率密度函数pdf(μw),它表示均值附近概率的峰值。

(16)

(4)对深度图像中间一行像素点的深度进行检测,计算每个扫描到的物体直径w,并计算其概率密度函数pdf(w),其表示物体宽度为树干宽度的概率。将pdf(w)和pdf(μw)进行比较,以确定物体宽度为树干宽度的置信率Rw。选择规则树干Rw的最低值为TLw,当Rw>TLw时,则将该物体判断为待处理物体。

(17)

(18)

(5)对树干边缘检测的置信率RB的阈值TLB进行估计,将计算所得的RB与TLB进行比较。若RB>TLB时,则认为该物体的两条边缘线是平行的,判断待处理的物体为树干,否则为非树干。

基于RealSense深度相机的多特征树干快速识别方法流程图如图7所示。

图7 树干识别算法流程图Fig.7 Flow chart of trunk recognition algorithm

2 试验与结果分析

2.1 树干特征提取

从果园中随机抽取100个规则树干,如图8所示,用游标卡尺测量树干宽度,生成初始树干宽度分布,计算初始树干宽度分布的μw和σw,使用式(18)计算所有树干的Rw。

图8 树干宽度测量Fig.8 Trunk width measurement

图9显示了选定的100个规则树干宽度分布直方图,μw和σw分别为69.82 mm和8.17 mm。

图9 规则树干宽度分布直方图Fig.9 Histogram of regular tree trunk width distribution

图10显示了100个规则树干的Rw直方图分布,选择规则树干宽度置信率Rw的最低值为TLw。

图10 规则树干Rw分布直方图Fig.10 Histogram of regular tree trunk Rw distribution

2.2 树干分割算法测试结果

选取20 m×24 m的果园(包含8行107棵果树)进行试验测试,测试时移动机器人共采集了26幅三维点云数据图像,并对所开发的树干识别算法进行评估。光照强度通常可以分为:强光照、正常光照和弱光照3种情况[20],3种不同光照强度的图像分别在果园环境的晴天(光照强度为42 000~75 000 lx)、多云(光照强度为16 000~35 000 lx)和阴天(光照强度为2 500~8 000 lx)条件下采集。针对强光照、正常光照和弱光照这3种情况,试验时间为2020年8月16日,晴天,北京时间11:00—13:00;正常光照:2020年10月10日,多云,北京时间15:30—17:00;弱光照:2020年10月26日,阴天,北京时间16:00—18:00。在试验期间树干宽度的增长非常小,可忽略不计。

如图11所示,分别对强光照、正常光照和弱光照下果园环境进行处理。选用移动状态下RealSense传感器扫描的某一帧作为试验对象。考虑到RealSense深度摄像头探测到的有效深度为10 m,通过设定阈值将远处的背景及树干滤除,使用本文算法对前方进行扫描自动分割和识别。

图11 不同光照条件下果园图像Fig.11 Orchard images under different lighting conditions

图12为通过SLIC算法对不同光照条件下原始彩色图像进行分割的效果图,可以看出在果园复杂的环境下,超像素分割效果并不理想,强光照下树干与背景部分的连接处存在许多过分割;正常光照下分割效果良好;弱光照下光线太暗,树干与背景的颜色较为接近,出现误分割、超像素块不整齐等问题。这些问题对下一步超像素合并产生了一定干扰。

图12 不同光照下原始彩色图像SLIC分割效果图Fig.12 SLIC segmentation renderings of original color images under different lighting conditions

本文中使用SLIC算法对不同光照条件下S分量进行超像素分割,分割后的图像如图13所示,超像素块大且整齐,树干边缘信息保留较为完整,有利于下一步超像素的合并。如图14所示,超像素合并后,树干区域被完整提取出来。但由于树冠与背景区域比较复杂且两者之间相连接部分出现一些过分割等问题,在合并时相邻超像素的颜色和深度信息有一些差异,所以并未合并成超大的像素块。因为后期定位只需用到树干信息,所以这些对本文算法并无影响。

图13 不同光照下S分量SLIC分割效果图Fig.13 SLIC segmentation renderings of S component under different lighting conditions

图14 超像素块合并效果图Fig.14 Superpixel blocks merging renderings

超像素合并后,确定满足树干宽度特征的物体所属的超像素块,并将该超像素块看作是待处理物体,最后对该超像素块进行平行边检测,当RB>TLB时,证明所检测的超像素块具有平行边特征,并将该超像素块提取出来。图15为树干区域提取结果图,可以看出距离较近的果树,其树干区域被完整地提取出来,树干识别效果较好;而距离较远(大于5 m)、光线太暗(光照强度小于4 000 lx)的果树其识别率偏低。

图15 树干区域提取图Fig.15 Tree trunk area extraction maps

2.3 树干识别结果分析

2.3.1评价指标

精确率(Precision,P)、召回率(Recall,R)和F1值是目标识别中用来评价目标识别准确度的重要指标。

2.3.2树干识别效果分析

本文算法包括颜色空间转换、SLIC超像素分割以及树干识别这3个步骤,但研究发现不使用SLIC超像素分割算法也可以进行树干识别。将本文算法和文献[15]算法(简称为算法B)、上述算法(简称为算法A)在不同光照条件下对树干识别效果进行比较,并计算相同情况下3种算法之间树干识别的精确率、召回率、F1值和每帧图像平均耗时(RGB-D相机采集图像的帧率为30 f/s,以2.4 Hz频率选取采集到的图像并计算其耗时)等指标。其中,计算机主机配置CPU为Intel Core i7,主频为4.9 GHz,内存为16 GB,操作系统为Windows 10,程序编写运行环境为Visual Studio 2019。

在强光照、正常光照和弱光照这3组试验中,对比结果如表1所示。为了验证本文方法的有效性和实用性,每组试验重复15次。在强光照条件下,本文的树干识别算法精确率、召回率、F1值和每帧图像平均耗时均优于算法B,其中本文算法的精确率、召回率和F1值比算法B分别高2.17、4.67、3.49个百分点,每帧图像平均耗时减少了0.32 s。正常光照下,本文算法的精确率、召回率、F1值和每帧图像平均耗时均优于算法B,其中本文算法的精确率、召回率和F1值比算法B分别高1.98、1.87、1.92个百分点,每帧图像平均耗时减少了0.11 s。弱光照条件下,本文算法的精确率、召回率、F1值和每帧图像平均耗时均优于算法B,其中本文算法的精确率、召回率和F1值比算法B分别高1.08、1.87、1.51个百分点,每帧图像平均耗时减少了0.08 s。算法B在强光照、正常光照和弱光照条件下,F1值分别为88.89%、89.43%和88.35%,每帧图像平均耗时分别为0.86、0.77、0.84 s。本文的树干识别算法F1值分别为92.38%、91.35%和89.86%,每帧图像平均耗时分别为0.54、0.66、0.76 s。而算法A相较于其他2种算法树干识别效果并不理想,虽每帧图像平均耗时均小于其他2种算法,但在强光照、正常光照、弱光照情况下和另外2种算法相比,树干识别准确率较低,分别为81.86%、77.98%、72.73%,无法满足果园环境下作业要求。算法A树干识别率低的原因在于SLIC超像素分割算法能够将满足树干宽度特征的物体与合并后的超像素块进行匹配,而缺少SLIC超像素分割算法则无法剔除一些满足宽度特征的非树干物体,从而影响检测结果。

表1 不同光照条件及不同树干识别算法性能Tab.1 Performance of different trunk recognition algorithms under different light conditions

本文算法在强光照、正常光照和弱光照情况下,树干识别率均高于其他2种算法,且耗时较短,能够较好地满足果园环境下作业要求。

3 结论

(1)针对果园环境复杂且光照时刻发生变化等问题,提出了一种基于RealSense深度相机的多特征树干快速识别方法。首先对HSV颜色空间的S分量进行SLIC超像素分割,并根据相邻超像素块间的颜色特征和深度特征对分割后的超像素块进行合并,有效降低了后续工作的复杂度,提高了算法的准确率;然后利用树干的宽度特征和平行边特征对树干进行快速识别,有效提高了在不同光照下树干的识别率。

(2)基于RealSense深度相机的多特征树干快速识别方法耗时较短,准确率较高。在强光照、正常光照和弱光照的试验中,树干识别准确率分别为92.38%、91.35%和89.86%,每帧图像平均耗时分别为0.54、0.66、0.76 s。试验结果表明,本文方法在不同光照条件下保持了较高的识别率和快速性。

(3)基于RealSense深度相机的多特征树干快速识别方法耗时较短,能够有效解决不同光照下光照亮暗差异带来的问题,且更能凸显出目标树干,树干识别率高,能够满足果园环境下作业要求,为后期农业机器人定位和导航提供参照物。

猜你喜欢

像素点直方图宽度
基于局部相似性的特征匹配筛选算法
用直方图控制画面影调
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
例析频率分布直方图
中考频数分布直方图题型展示
孩子成长中,对宽度的追求更重要
你有“马屁股的宽度”吗?