消费级RGB-D相机在农业领域应用现状与发展趋势*
2022-04-24彭孝东时磊何静漆海霞兰玉彬
彭孝东,时磊,何静,漆海霞,兰玉彬
(1. 华南农业大学电子工程学院,广州市,510642; 2. 国家精准农业航空施药技术国际联合研究中心,广州市,510642;3. 广东省农情信息监测工程技术研究中心,广州市,510642; 4. 华南农业大学工程学院,广州市,510642)
0 引言
农业信息技术已成为提高农业生产力和充分利用农业资源最有效的手段和工具。在农业信息化工程的研究中,图像是信息的一种直观表现形式,也是十分重要的信息载体,可见光图像、遥感图像、红外图像、高光谱图像以及多光谱图像等都是目前主流农业研究的图像。在农业领域中,这些图像被广泛地应用在植物表型检测[1]、耕地信息提取[2-3]、作物虫害监测[4]、果实品质分析[5-6]等方面。受成像方式的限制,二维图像不能提供更多空间信息,如作物根系分布、植株形态以及果实空间位置等三维特征都无法获取[7]。
三维重建技术主要包括接触测量、图像雷达、计算机视觉、工业CT以及断层扫描等方法[8]。接触测量,通过接触物体获取三维信息;图像雷达,探测精度较高但较难获取物体的色彩信息;工业CT与断层扫描侧重物体内部三维结构;计算机视觉,可以进行非接触式的彩色扫描且精度高、速度快。从各自的特点来看,计算视觉更为适合应用于农业领域。RGB-D相机是一种基于计算机视觉技术的新型相机,能同时输出色彩与深度信息,避免了仅靠深度信息在三维重建时造成的误差大、深度信息帧丢失和存在孔洞等问题[9]。消费级RGB-D相机以较低的成本、较高的测量精度和较快的测量速度在制图、三维重建、室内机器人、手势识别、物体的检测和识别等领域广泛应用[10]。在农业领域,三维重建对研究农林作物的生物学特征、冠层形状结构以及农业机器人应用等都具有重要作用,是目前研究的热点和难题。文章通过对消费级RGB-D相机在农业领域的应用进行总结、探讨和展望,发掘其应用潜力,为其在农业领域的进一步发展应用提供参考。
1 消费级RGB-D相机概述
Kinect相机是世界上首款消费级RGB-D相机。所谓RGB-D相机,就是可以将物体的RGB颜色信息与各个像素的深度信息结合起来的一种传感器。这种相机与只输出深度图像的深度相机不同,它不仅输出深度图像而且输出RGB图像。且相比于单目相机和双目立体相机,RGB-D相机不需要利用算法计算空间点的三维坐标,就能获取空间物体3D信息,更加方便快捷[11]。
1.1 相机分类
与传统的彩色相机类似,消费级RGB-D相机也是在单一视角下对环境进行拍摄。不同的是除了输出彩色信息,RGB-D相机还提供深度信息。从技术层面来看,常见的消费级RGB-D相机主要使用以下两种技术来获取深度信息:结构光(Structured Light,SL)和飞行时间(Time of Flight,ToF)。消费级RGB-D相机种类较多,农业领域常用的几种相机参数如表1所示。
表1 农业中常用的RGB-D相机参数Tab. 1 Parameters of RGB-D cameras commonly used in agriculture
对于Kinect相机,张露等[12]通过平面拟合以及球面拟合试验发现Kinect获取目标物数据时,在边界处误差较大,且点云随机误差在可测范围内与测量距离的平方成正比,得出最佳测量距离为0.8~2.3 m,此距离区间内,获取数据的标准差在1 cm以内。Halmetschlager-Funek等[13]对10款不同的深度相机进行测评,包括Xtion Pro Live、Kinect 2.0以及RealSensesr300,在精度分析中,验证了这三款相机的测量偏差同测量距离的平方成正比,其中Kinect 2.0在可测范围内偏差变化不大,均在5 cm以下,而Xtion Pro Live在0.5~1.8 m的测量区间内测量偏差在5 cm以下,RealSense sr300作为近距离传感器,在0.3~1 m的测量区间内测量偏差在5 cm以下。
1.2 工作原理
1.2.1 结构光原理相机
结构光是指一些具有特定模式的光,点、线、面等都可以成为其模式图案[14]。如图1所示,光学投射器将一定设定好的编码光投射到场景中,场景曲面的几何形状会扭曲结构光图案,扭曲后的结构光被摄像机接收,就可根据结构光失真的信息提取场景的三维信息[15-16]。
图1 结构光原理图Fig. 1 Schematic diagram of structured light
常见的结构光模型主要有3种:(1)投射器倾斜发射,摄像机倾斜接收;(2)投射器倾斜发射,摄像机垂直接收;(3)投射器垂直发射,摄像机倾斜接收。本文以线状结构光为例讨论第三种模型,模型如图2所示。光平面在物体表面形成光条纹ABCD,构建场景的世界坐标系O-XYZ,以及摄像机坐标系Oi-XiYiZi,投射器沿Z轴垂直将一定模式的光投射到场景中,摄像机以β角倾斜并接收反射光,为简化此模型将Y轴与Yi轴设置为平行关系。
图2 结构光相机数学模型Fig. 2 Mathematical model of structured light camera
设光平面内p点的世界坐标p(xc,yc,zc),将其转化成摄像机坐标系中的坐标pi(xi,yi,zi)需经过以下步骤。
1) 透视变换矩阵P计算如式(1)所示。
(1)
式中:f——摄像机焦距。
2) 将世界坐标原点(0,0,Dgp)平移到图像坐标系原点(Dpc,0,Dgp),平移矩阵Ti计算如式(2)所示。
(2)
式中:Dpc——图像坐标原点x坐标;
Dgp——世界坐标及图像原点z坐标。
3) 将世界坐标系围绕其X轴旋转180°,旋转矩阵Rx(180°)计算如式(3)所示。
(3)
4) 将世界坐标系围绕其Y轴顺时针旋转β,旋转矩阵Ry(β)计算如式(4)所示。
(4)
式中:β——矩阵绕Y轴旋转度数。
将总变换记为矩阵H,如式(5)所示。
H=PRy(β)Rx(180°)Ti
(5)
pi点与p点关系用广义坐标系表示如式(6)所示。
Pi=HP
(6)
在使用结构光相机进行深度信息获取时,需要用摄像机坐标系中的坐标pi(xi,yi,zi)来求出世界坐标系中的坐标p(xc,yc,zc),如式(7)~式(8)所示。
p=H-1pi
(7)
(8)
投射器垂直发射,此时光平面方程,如式(9)所示。
xc=0
(9)
联立式(8)和式(9)可求出P点在世界坐标系下的三维坐标(xc,yc,zc),如式(10)所示。
(10)
结合机器的扫描运动,光平面对物体进行全面扫描后就可以得到物体各点的世界坐标。
1.2.2 飞行时间原理相机
ToF(Time of Flight)技术基于光速不变原理,通过测量光信号的传播时间来测算距离[17]。如图3所示,由光发射器向需要重建的场景中发射处理过的光线,光线碰到物体会反射回来,被传感器接收,测量发射光和反射光之间的相位差就可求出目标距离[18]。
图3 ToF原理图Fig. 3 ToF schematic diagram
对反射信号进行间隔π/2的四次测量,对应于图3中的m0,m1,m2,m3,便可推导出反射信号振幅A与发射光和反射光之间的相位差Δφ,以及相机距目标的距离D,如式(11)~式(13)所示。
(11)
(12)
(13)
式中:c——光速。
1.3 相机原理分析
结构光相机与ToF相机工作原理不同,特色各异。结构光相机投射编码光,经被测物体反射后根据光失真情况获取物体三维信息。ToF相机发射光信号再接收反射光,根据时间差获得相机与目标的深度信息。从上述实现方式来看,ToF相机实现起来比结构光相机简单,不需要提取反射编码光的特征,计算量较低,且可以调节发射器发射频率来改变测量距离,其测量精度受距离影响较低。不过,结构光主动投射编码光的方式,也有自己独特的优势,其投射的编码光蕴含大量投影点就可以输出较高分辨率的深度图,达到较高的测量精度。
2 消费级RGB-D相机在农业领域应用的研究进展
2.1 国外研究进展
在国外,消费级RGB-D相机成功应用在三维地图绘制[19-20]、目标追踪[21-22]、盲人导航[23-24]和行为识别[25]等方面,在农业领域也有广泛的应用并取得了一些成果,大致可归纳为以下3个方面。
2.1.1 作物参数提取
消费级RGB-D相机可以采集物体的三维信息,将其应用在作物参数提取中,可以采集到作物不同时期的三维参数,对作物进行检测分析。Chéné等[26]用Kinect对蔷薇、丝瓜和苹果树进行图像信息采集,并提出一种从单一俯视图分割植物深度图像的算法,实现了叶片弯曲度、叶片形态、叶片位置以及是否存在病原菌等多方面检测,为消费级RGB-D相机在植物表型分析的应用奠定了基础。Wang等[27]利用Kinect获取洋葱的彩色及深度图像,用获得的彩色与深度信息分别求取洋葱直径进行体积估算,将从深度图像与从彩色图像中获取的洋葱体积与真实值进行对比后发现深度图像精度和稳健性更高,预测精度为96.3%。Vázquez-Arellano等[28]将Kinect 2.0相机获取的玉米植株点云和土壤点云进行一系列处理后,再对点云栅格化、网格化,获得植株高度与茎位,单株株高的平均误差和标准差分别为30 mm和35 mm,植株茎位的平均误差和标准差分别为24 mm和14 mm,证明了消费级RGB-D相机可以准确获取玉米植株的茎位置和株高。Dionisio等[29]通过Kinect 2.0采集玉米田图像,利用高度选择与RGB分割分离玉米植株与杂草,实现杂草检测,结果表明使用Kinect 2.0相机可以精确地估计作物状态并进行杂草检测。
2.1.2 果实识别与定位
视觉系统作为水果采摘机器人的核心部分,可以有效提高对目标水果的识别和定位性能,提高采摘机器人操作效率,降低采摘成本[30]。Malik等[31]采用消费级RGB-D相机作为采摘机器人的视觉系统,为机器人视觉系统的研究提供了一个新的方向,其利用Kinect 2.0相机获取温室番茄的彩色图像和深度图像,同时保存了颜色坐标、深度坐标以及相机坐标,其次采用改进的HSV(Hue, Saturation, Value)算法和分水岭算法从复杂的背景中分割番茄果实,然后对每个检测到的水果分别进行标记,计算出彩色图像中的像素坐标值,再根据颜色、深度和相机坐标的映射关系进行颜色和深度信息的融合,将得到的水果像素坐标与获取的三维点云数据映射到彩色图像中,得到每个标记水果对应的点云数据,进行滤波处理后,得到最后的点云数据。经验证,深度距离的平均误差为1.2 cm,距地面平均定位误差为1.9 cm,证明了该方法能较好地实现番茄的分割与定位,为温室番茄收割机器人的研究奠定了一定的基础。Nguyen等[32]为解决苹果在识别定位时,被树枝、树叶以及其他果实的遮挡问题,采用新兴的消费级RGB-D相机在遮光条件下对苹果园进行图像采集,提出了一种基于颜色和形状特征的红色和双色苹果的检测和定位算法,经验证该方法对未遮挡苹果的识别准确率为100%,对被遮挡苹果的识别率为82%,且定位误差在10 mm以下,验证了该方法用于苹果产量估计和苹果园监测的可行性。
2.1.3 畜牧监测
随着畜牧业迅猛发展,养殖规模的扩大,以人工的方式对养殖动物实时监测变得越来越困难,如何设计出能对养殖动物的身体数据快速、客观和准确评估的计算机监测系统变得尤为重要。Seo等[33]利用Realsense相机获取红外和深度信息对猪群进行监测,利用YOLO(You Only Look Once)算法成功将单个猪精确地从猪群中分离了出来。Kuzuhara等[34]使用Xtion对泌乳期奶牛进行背部姿态测量,来对奶牛的体质进行评分,包括体重、产奶量、乳脂肪和乳蛋白的含量。Jonguk等[35]使用Kinect相机获取猪圈的深度图像,并从中提取猪的活动特征,采用支持向量机分层检测攻击行为,并将其分为头对头(或身体)敲击和追逐等攻击子类型,实验结果表明对猪的攻击行为的检测和分类的准确率分别超过95.7%和90.2%。
2.2 国内研究进展
国内对消费级RGB-D相机应用于农业生产领域的研究主要集中在作物参数表型信息提取、三维重建、路径识别与规划、果实识别与定位以及畜牧监测等方面,并取得了一定的研究成果。
2.2.1 作物参数提取
Hu等[36-38]分别通过Kinect 2.0、Xtion采集转台上植株的多视角点云,利用迭代最近点算法(Iterative Closest Point,ICP)算法对目标植株进行三维重建,获取植株关键的生长参数,与真实值对比后确定了系统的精准度。刘慧等[39]以温室吊兰为研究对象,使用Kinect相机采集吊兰的彩色与深度图像,提取吊兰冠层的三维信息,完成对吊兰深度数值和水平投影面积的计算,试验结果表明深度数值和面积测量的误差分别为1%和3.6%,证明了该方法的可行性。劳彩莲等[40]先对深度相机Xtion进行内部参数的标定与深度畸变矫正,再将标定好的Xtion Pro与旋转云台、便携式计算机搭建点云信息采集平台,旋转平台获取不同角度的玉米深度图像,然后进行滤波,配准生成玉米植株点云,最后对不同角度的三维点云进行拼接,完成三维重建,通过与商业软件Skanect的重建结果对比,该方法的精准度、效率和鲁棒性更高。杨斯等[41]以黄瓜苗作为试验对象,用Kinect 2.0相机获取黄瓜育苗盘的三维信息,采用滤波与聚类分割算法相结合的算法,从黄瓜育苗盘中分离出单株幼苗点云集、并实现单株幼苗的定位,最后计算出单株黄瓜幼苗的株高,验证后平均误差仅为2.3 mm。
2.2.2 路径识别与规划
路径识别与规划是实现无人农机自主作业的前提和保证,是加速无人农场建设的重点研究方向,利用消费级RGB-D相机所构建的传感器系统,能为无人农机识别和规划作业田路径提供数据支持。刘慧等[42]在自动喷雾车上搭载RealSense相机,实时获取彩色信息帧,提取并优化与深度信息重合的特征点,用彩色信息融合深度信息进行全局非线性轨迹优化,避免单深度信息误差大的问题。结果表明,该方法使喷雾车的行驶轨迹更接近真实轨迹,对比仅使用深度信息的轨迹优化其偏离真实轨迹误差均值、方差以及超调量均有所下降。
2.2.3 果实识别与定位
麦春艳等[43-44]使用Kinect 2.0获取苹果果树的彩色图像与深度图像,将彩色图像进行阈值分割和滤波去噪处理后,融合彩色信息与深度信息,获取苹果区域点云进行三维球体形状提取,实现果实的识别与定位,实验结果表明果实识别率不低于87.4%,相对平均平均误差0.035 m,具有较强的实时性与鲁棒性。王欣等以Kinect 2.0为机器人视觉部分设计了果蔬采摘系统,该系统采用Kinect2.0获取空间深度图像,再推导出目标果蔬的三维坐标,随后将其传递给NAO机器人,通过路径规划后成功摘取目标果蔬,实验该采摘系统可以实现果蔬的快速、精准采摘。余承超[45]先将双目视觉系统应用于葡萄果园图像采集,并依据最佳近景探测范围进行分割,获得近景探测点,再利用消费级RGB-D相机RealSense sr300获取葡萄的颜色和深度信息,实现葡萄的识别与定位,采用远近景手眼协调策略,设计出了葡萄采摘机器人。
2.2.4 畜牧监测
王可等[46-49]先以石膏奶牛模型和真实奶牛作为实验对象,使用Xtion采集不同环境下,不同距离的奶牛体表数据,与高精度三维扫描仪得到的点云数据进行对比,证明了Xtion作为点云采集设备的可行性,继奶牛之后再次对猪进行试验,构建了多深度摄像头的动物体表实时三维数据获取应用系统,将采集到的点云旋转归一化后统一到标准测量坐标系,实现猪体自动化体尺测量。对动物外部行为的监测,可以对其身体状况进行预测,达到提前发现其是否存在疾病的目的,在大型养殖场中具有重要意义。刘波等[50]通过Kinect采集生猪运动深度图像序列,对图片处理后,提取生猪骨架,建立生猪运动模型,用来分析生猪是否存在异常步态,实现了生猪异常行为预警。施宏等[51]运用Kinect 2.0获取点云数据,基于密度的聚类方法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN),采用非接触方式提取脊背信息用于姿态识别,成功判定了母猪哺乳能力与健康状况。
2.3 国内外研究总结
综上可以看出,消费级RGB-D相机在国内外农业领域中都有着广泛的应用研究。大多数研究者使用RGB-D相机获取彩色和深度图后,结合配准、滤波及聚类等算法得到了较满意的实验结果。就具体相机而言,Kinect 2.0凭借良好的性能和测量范围应用最广泛;当被测实验对象与相机距离较近时,大多数实验者选择了Realsense sr300;在实验条件不苛刻的条件下,Xtion和Kinect
1.0也有一定的应用场合。作为农业领域新兴传感器,虽然RGB-D相机的应用越来越多,但大部分研究是在实验室较理想条件下进行的,离非理想条件下规模化应用还有一定距离,需进一步探索。
3 消费级RGB-D相机应用中的问题与改进
消费级RGB-D相机成本低、精度较优、速度较快,采用彩色信息和深度信息融合,克服了传统相机只采用深度信息造成配准精度不够的问题,但目前不同类型的消费级RGB-D相机在实际应用时也存在一些问题。
3.1 消费级RGB-D相机存在问题
结构光相机技术已经比较成熟,分辨率较高,自带主动光源,不存在光线和弱纹理问题,在夜间也可以正常工作。但存在以下缺点。
1) 受强光干扰:投射的编码光会受到强烈太阳光的干扰,并不适合在户外使用[52]。
2) 不适合远距离深度信息采集:结构光相机投射的是散斑图案,接收模组需要拍摄到清晰的图案才能计算出深度,当距离增加,投射出的图案会变得模糊,导致测量精度降低[53]。
相对于结构光相机,ToF相机投射的是发散的面光源,精度不受距离的影响,可以应用于远距离测量[54]。但也存在一些问题。
1) 分辨率较低:ToF相机基于光速进行深度测量,由于光的传播速度非常快,较小的时间误差会被放大,导致ToF相机的深度分辨率较低[55]。
2) 系统误差明显:在需要重建的物体边缘产生叠加误差,在目标表面产生多重反射噪声[56]。
3) 测量量程较短:ToF相机功率不高,导致其测量量程较短[57]。
这些缺点导致RGB-D相机在应用时出现一些不太理想的效果。Kuzuhara[34]等使用Xtion相机获取奶牛三维模型,测量其背部姿势估计出奶牛各种身体特征最低为53%,最高为80%,证明了此类本就为室内使用而研发的RGB-D相机在畜牧业应用的可行性,但也指出其应用局限性,Xtion的近红外深度传感器对光线十分敏感,户外测量仅在夜晚或者早晨阳光不强的情况下才可以取得较好的效果。徐胜勇等[58]采用Kinect 2.0相机获取角果期油菜不同角度下的彩色图像和深度图像,生成油菜植株的三维点云,然后进行采样滤波处理,最后进行粗配准、精配准以及欧式聚类等点云处理方法实现单个角果的识别定位,识别率较高但可识别角果数量少于实际数量,其主要原因是单使用Kinect 2.0获取的三维点云存在孔洞等问题,滤波后某些角果断裂成小块引起了实验误差。
3.2 消费级RGB-D相机优化
针对上述中RGB-D相机存在的问题,可以从硬件和软件两方面进行改进,一是在硬件层面采用多传感器融合技术取长补短,二是在软件层面对相关算法进行改进和优化。
3.2.1 多传感器融合技术
在农业领域的应用中,大多数研究通常采用单一的消费级RGB-D相机作为传感器。相机本身的缺陷会导致所采集的三维信息存在缺陷且精度较差,张恒等[59]将激光雷达与消费级RGB-D相机结合起来,并用卡尔曼滤波与贝叶斯估计对采集到的数据进行融合,在保留激光雷达图像精准度的同时补充了多个三维水平信息,提高了地图的完整性。Mu等[60]将激光雷达、消费级RGB-D相机、编码器和惯性测量单元相结合提出了一种新的即时定位与地图构建(simultaneous localization and mapping,SLAM)方法,试验结果表明,该方法有良好的成图效果及较高的精度,同时反映出更多环境信息,比单一使用激光雷达在x方向及y方向精度提高3.6%和2.2%。验证了该方法的可行性。Song等[61]分别使用激光雷达和消费级RGB-D相机来测量目标的二维和三维信息,通过结合视觉跟踪算法、结构光相机深度信息和低级视觉激光雷达融合算法来对目标进行校准定位,目标位置数据与Vicon运动捕捉系统的位置数据做比较,证明了该方法的优越性。
3.2.2 算法改进与优化
对于消费级RGB-D相机自身原理导致的易受光照环境影响、计算复杂和深度信息采集不完整等问题,可以通过改进点云处理算法解决。苏本跃等[62]研究了一种基于光照补偿的点云配准方法以及一种自适应颜色和几何混合特征的点云配准方法,并通过4种不同的网面结构对比试验验证了该方法平均误差全距约减少到原来的1/5,解决了光照强度不均匀导致消费级RGB-D相机采集的点云噪声大等问题。Zhang等[63]提出了一种新的带密度约束的K-means算法,在用该方法对点云进行处理之前,先定义点云的密度,用点云的密度来量化收敛性,大大减少了聚类算法的计算时间,其中当点云数量为10×104,K值为1 000时,聚类时间仅为原来的1/5。针对消费级RGB-D相机采集到的深度图不完整问题,潘波[64]提出了一种基于深度图修补的植物重建算法,并采用多级视图选择法对多视图立体视觉算法进行改进。除此之外,还提出一种基于超像素的深度图修补算法,对生成的植物深度图中存在的空洞和噪声进行修补,相对于JBF和DJBF算法该算法空洞修补效果分别提升102.15%和46.63%,得到更加完整的树木模型。
4 结论与展望
随着现代智慧农业的发展,对动植物三维重建精度及实时性要求的进一步提高,RGB-D相机作为核心传感部件将会得到更为广泛的研究和应用。本文阐述了RGB-D相机工作原理及其优缺点,介绍了国内外消费级RGB-D在作物三维参数特征提取、畜牧监测、果实识别以及农机导航等农业方面上的应用成果,总结了该类相机在实际应用中出现的如易受光照影响、量程较短等问题,并从硬件与软件层面归纳了目前研究人员对RGB-D相机应用的改进方案。为了进一步加强RGB-D相机在现代智慧农业领域的应用,提出以下几点展望。
1) 设施农业会为消费级RGB-D相机提供更广阔的应用空间。基于结构光原理的Kinect相机和Xtion Pro Live相机投射地编码光会受室外强光影响,精度大幅度降低。基于ToF原理的Kinect 2.0相机虽然投射的不是编码光,但夏天的烈日下,光照强度过大,会导致相机的感光传感器出现过度曝光的情况,进而影响相机的精度。温室、农用大棚以及畜牧棚等不受阳光直射的场所是消费级RGB-D相机在农业领域的理想应用场所。
2) 提高自动化程度,搭建一体化三维信息采集平台。目前,农业领域三维信息采集系统自动化程度不高,作物三维结构重建实时性不强。将消费级RGB-D相机与计算机等三维信息处理设备结合起来,根据实际研究对象预先设定好点云重建程序,构建一体化信息处理平台,可以将繁琐的任务自动化,提高作业效率。
3) 提高复杂环境下的鲁棒性和适应性。国内外有关消费级RGB-D在农业领域应用的研究大多是在实验室理想条件下进行的,而实际非结构化农田、果园及养殖场中环境复杂多样,动植物形态各异,需要提高该类相机在复杂环境下的鲁棒性和适应性,才能在复杂的真实环境下获取更加精确、稳定和可靠的实验结果。
4) 应用于农业机器人。信息化、智能化与精准化,是农业生产的必然趋势,农业机器人是农业领域公认的最具发展潜力的技术之一。非结构化的田间环境,增加了农业机器人对作业对象的感知与判断难度,这是农业机器人发展过程中必须克服的难题。以消费级RGB-D相机为基础,构建农业机器人视觉系统,可以帮助其精准识别作业对象,提高作业成功率及生产效率。