一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法

文档序号:28495960发布日期:2022-01-15 04:04阅读:547来源:国知局
一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法
一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法
1.【技术领域】本发明公开了一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法,属于图像处理技术领域。
2.

背景技术:
农业自动化通过智慧感知和自动化技术,大大提高了农业生产的效率。近年来,计算机视觉和深度学习被广泛应用于农业生产的各个环节,例如病虫害检测,杂草识别、产量预测和作物无接触测量等。通过计算机视觉技术,生产者无需接触测量对象即可通过图像自动获取大量参数和信息。相较于人工检验有标准统一、效率高和实时性好的特点。因此,基于深度学习和计算机视觉的农作物无接触测量技术是一个重要的研究方向。
3.现有的蔬菜和水果尺寸检测系统主要采用了基于简单图像处理的方法,例如边缘检测,图像掩膜。此类方法对于圆形水果有较好的效果,但难以在复杂形状的果实上起作用。这些果实尺寸检测方法通常需要相机到水果的距离作为先验信息,只适用于采摘后水果的统计和分类。部分引入深度值的工作完成了树上水果的尺寸测量,但是此类方法通常只对单一水果起作用,并且需要部署的设备比较复杂。基于深度神经网络的检测系统主要用于对水果种类的识别和病变的检测,尚未用于果实尺寸测量。
4.在机器视觉领域,深度相机是一种重要的传感器,也被称为机器人的眼睛。与普通2d相机比较,深度相机不仅可以获得rgb图像,还能检测拍摄空间的景深距离。普通彩色相机能够将相机视角内的所有物体记录下来,但无法获取这些物体到距离计算机的距离。而深度相机则弥补了这一缺陷,可以记录图像中每一点到摄像头的距离,结合该店在2d图像中的(x,y)坐标,即可得到该点在三维空间中的位置。realsense d415相机包括一个红外激光发射机,两个红外传感器和一个rgb相机。由于应用了红外激光发射器,realsense系列双目相机即使在弱光环境中也能得到较准确的深度图。此外,intel公司提供了python版本的realsense软件开发工具包pyrealsense2,大大加速了科研人员的开发流程。
5.detectron2是facebook ai research推出的目标检测平台,包含了最新的目标检测算法。detectron2基于pytorch框架,提供了更直观的命令式编程模型,使研究人员可以更快地迭代模型设计和实验。detectron2支持目标检测、实例分割、语义分割、全景分割和姿态检测等多种任务,包含了faster r-cnn、mask r-cnn、retinanet、densepose、cascade r-cnn、panoptic fpn和tensormask等先进模型。并且,detectron2引入了模块化设计,允许用户将自定义模块插入到目标检测系统的任何部分,使得基于detectron平台的任务开发更加灵活。
6.detectron2一经推出便得到了研究人员的一致认可,并被应用于目标检测的各个领域。本发明主要使用了detectron2的keypoint r-cnn关键点检测模型。该模型以特征金字塔网络(feature pyramid networks,fpn)作为主干网络从输入图像中提取不同尺度的特征图。fpn基于深度残差网络(deep residual networks,resnet),是一个先进的图像特征提取网络框架。fpn是一个金字塔结构的网络,底层特征便于检测小尺寸特征简单的目标,高层特征易于检测特征复杂的大目标。fpn通过自顶而下的流程及横向连接解决了底层特征等级较低等问题,保持低层特征利于检测小目标的优势的同时提高检测精度。
7.

技术实现要素:
本发明为解决利用视觉信息在非接触情况下,瓜果类蔬菜尺寸的自动化测量问题,提出一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法。
8.本发明基于realsense深度相机和detectron2目标检测平台,能够在未知目标与相机距离的情况下,完成4种瓜果类蔬菜的图片采集、识别和尺寸测量流程。图1展示了本发明的总体结构。由realsense相机拍摄并对齐目标的彩色图和深度图。在彩色图像处理流程中,使用detectron2平台识别目标类型,并检测柄、顶、左、底、右和中心六个关键点得到每个关键点的像素坐标。在深度图处理流程中,通过多个滤波器填补有孔洞的原始深度图。识别到关键点后,通过查询深度图中相应点的深度可以关键点的深度信息。最后,融合深度关键点的像素坐标和深度,得到目标的尺寸。本发明可以分为彩色图和深度图获取、关键点检测网络、多尺度目标检测和尺寸计算四个模块。
9.本发明所述的瓜果类蔬菜测量方法使用realsense d415相机获取目标的rgb图和深度图。realsense d415相机的尺寸为99mm
×
20mm
×
23mm,重量约75g,采用主动ir立体深度技术。深度相机视场角为65
°×
40
°
,分辨率为1280
×
720,帧率可达90fps,探测深度范围为0.3m-10m。rgb相机视场角为69
°×
42
°
,分辨率为1920
×
1080时,帧率可达30fps,焦距为1.88mm,感光尺寸为2.73mm
×
1.55mm。
10.图2为获取和处理彩色图及深度图的流程。首先,将彩色图和深度图的分辨率设置为640
×
480。本发明没有使用realsense d415支持的最大分辨率1280
×
720,因为更小的分辨率可以提供更小的检测深度,当分辨率为1280
×
720时,深度相机无法检测450mm以内的物体深度,当分辨率为640
×
480时,最小深度为310mm。分辨率太小时,会使得rgb图的成像质量下降,不利于后续识别,因此640
×
480是一个合适的分辨率。
11.设置好分辨率后即可获取rgb帧和深度帧。rgb相机和深度相机的镜头位置不同。所以得到的深度图和rgb图使用了不同参考系,前者的原点为红外摄像头,后者的原点为rgb摄像头。这导致检测目标在深度图和彩色图中的位置是不统一的,使用时需将二者对齐。realsense相机对齐深度图到rgb图的原理为:首先将深度图中的2d点转换到3d空间中,然后将3d空间中的点投影到rgb相机的平面中。最终针对rgb图像中的每一个点,在深度图中相应位置查询到该点的深度。
12.深度的计算以左相机为匹配参考,会丢失在包含在左相机而不包含在右相机中目标的深度,因此每一帧中目标物体的左边缘都没有深度数据。这会导致在查询果实边缘关键点的深度时返回0。因此需对深度图进行填充。本发明使用了pyrealsense2工具包中的spatial_filter和hole_filling两个滤波器来修复深度图。
13.本发明使用detectron2提供的keypoint r-cnn实现瓜果类蔬菜的识别与关键点提取。该网络的结构如图3所示。该模型使用fpn提取输入图像不同尺度的特征图。主干网络首先使用一个叫做stem的残差网络(核尺寸为7
×
7,步长为2)初步提取rgb三通道图像的特征,输出64通道的特征图。然后使用四个残差网络(res2,res3,res4,res5)依次提取不同尺度的特征。fpn最终输出的特征为p2(1/4比例),p3(1/8比例),p4(1/16比例),p5(1/32比例),p6(1/64比例),所有特征图均含256个通道。
14.然后将五个不同尺度的特征图输入到区域提议网络(region proposal networks,rpn)。rpn从多个尺度特征中检测对象区域,计算不同区域的对象性和锚框,对象性即该区域包含一个物体的概率,锚框指示该区域在原始图像上的位置。rpn最终提供1000
个对象性最高的推荐框给roi heads。
15.本发明使用的roi heads包括keypoint head和box head。roi heads的输入为p2,p3,p4,p5和提议框。keypoint head首先使用roialign得到尺寸为14
×
14的固定特征图。然后使用多层卷积和一层反卷积得到关键点热图。最后根据关键点热图计算关键点坐标。box head首先使用roialign得到尺寸为7
×
7的固定特征图。然后将特征图展开并进行多层全连接,最终输出每个框的位置和分类。本发明将丢弃所有分类得分小于0.6的候选框,最终可以输出图像中包含的所有待测目标框和关键点。
16.关键点检测网络提取了多尺度的图像特征,理论上可检测出图像中的小目标,但是在实际应用中发现,如果图片包含了大量背景区域,并且待测目标较小,通常难以准确预测包含目标的分类框和目标的关键点。原因是小目标的检测只利用了低层特征图,在较小训练集下通常无法得出较高的分类值。并且,在实际应用中通常只关注位于视野中央的蔬菜,准确预测视野中央目标的种类和关键点尤其重要。
17.为了解决这一问题,本发明提出了多尺度缩放检测模块。多尺度缩放检测的实施细节如图4:
18.(1)输入待测图像和放大参数α。
19.(2)将放大倍率设置为m=1,最大分数设置为ms=0。
20.(3)执行检测循环,使用zoom-in方法将原始图像放大m倍得到新图像img。zoom-in方法的具体操作为:采用双线性插值将原始图像放大m倍。然后在放大图像的中央切割出与原始图像尺寸相同的新图像。
21.(4)将img送入预训练的关键点检测网络detection,得到图像中包含的目标的得分、框和关键点。
22.(5)如果目标得分和大于ms,则更新最大得分ms,并记录当前放大倍数m为bestm。否则直接进入下一步。
23.(6)更新放大倍率为m=m
×
α。如果m>5,该模块将跳出检测循环进入(7),否则返回(3)。
24.(7)使用revert方法根据放大倍数把放大图像上的目标框和关键点映射回原始图像上得到最终输出finboxes和finpoints。revert方法的具体操作为:首先根据原始图像的尺寸计算图像的中心点,然后将boxes和points中的坐标与中心点的距离缩小到bestm分之一。
25.通过关键点检测网络可以得到关键点在彩色图像上的像素坐标。通过查找深度图可以得到该点距离摄像头所在平面的距离。根据关键点和深度图计算三维空间中距离的思路为:首先在彩色图中计算两点之间的像素距离,然后根据目标中心关键点的深度将像素距离映射到目标所在的平面,同时利用数学方法补偿不同关键点之间的深度差导致的距离误差。
26.假设a和b表示彩色图像中两个关键点。a点的像素坐标为(xa,ya),b点的像素坐标为(xb,yb)。则两点之间的像素距离为:
[0027][0028]
分辨率为640
×
480的图像在实际图像传感器上对应的尺寸为2.07mm
×
1.55mm。因此两点之间在图像传感器上的实际距离为:
[0029][0030]
图5为根据两点在图像传感器上的距离计算实际距离的原理。其中o为rgb摄像头的光心。a

、b

为空间中两点,a

、b

为两个关键点在图像传感器上的投影。f为rgb摄像头的焦距,d为目标到摄像头所在平面的距离。根据三角形oa
′b′
与三角形oa
″b″
相似,两点之间的实际距离为:
[0031][0032]
蔬菜是有厚度的三维物体,通常边缘关键点的深度比中央关键点更大。因此实际计算目标直径和长度时,需要补偿这一深度差。幸运的是,瓜果类蔬菜的横截面通常是圆形的,即中央和边缘点的深度差与半径相等。本发明以左右关键点的距离作为蔬菜的直径d,假设左右关键点在图像传感器上投影之间的距离为ds,d为中心关键点的深度。则有:
[0033][0034]
进一步:
[0035][0036]
本发明以顶底关键点的距离作为蔬菜的长度l,顶底关键点在图像传感器上投影之间的距离为ls。同理有:
[0037][0038]
【本发明的优点和积极效果】与现有技术相比,本发明具有如下优点和积极效果:
[0039]
1、本发明以深度相机和关键点检测网络作为基础,提出一种瓜果类蔬菜非接触尺寸测量方法。该方法仅使用realsense深度相机搭配处理器,即可自动化完成4种瓜果类蔬菜的识别和尺寸测量,部署方便、成本低。并且,本系统在工作过程中无需接触待测目标,能够做到对蔬菜果实的完全无破坏测量;
[0040]
2、本发明将深度信息引入到基于视觉的瓜果类蔬菜尺寸测量过程中,无需目标到摄像机平面的距离作为先验信息,即可自适应测量目标的尺寸。测量系统在60cm之内有较高精度,完全能够满足瓜果大小分类的要求。进一步,该发明可作为视觉系统应用于瓜果类蔬菜自动采摘及分类机器人。
[0041]
3、本发明将关键点检测网络引入到瓜果类蔬菜尺寸非接触测量方法中。基于深度神经网络的方法能够随着训练集的增大提升检测精度,因此本发明所提方法是一种可成长的方法。随着训练集的改进,可大大提升蔬菜尺寸的测量精度。
[0042]
【附图说明】图1是本发明提出的一种基于深度相机和关键点的瓜果类蔬菜尺寸测量方法总体结构图;
[0043]
图2是本发明获取和处理彩色图及深度图的流程图;
[0044]
图3是本发明使用的关键点检测网络结构图;
[0045]
图4是本发明提出的多尺度缩放检测模块流程图
[0046]
图5是根据两点在图像传感器上的距离计算实际距离的原理图
[0047]
【具体实施方式】为使本发明的实施方案与意义优势表述得更为清楚,下面结合后文附图及实施样例,对本发明进行更为详细的说明。
[0048]
图1展示了本发明的总体结构。由realsense相机拍摄并对齐目标的彩色图和深度图。在彩色图像处理流程中,使用detectron2平台识别目标类型,并检测柄、顶、左、底、右和中心六个关键点得到每个关键点的像素坐标。在深度图处理流程中,通过多个滤波器填补有孔洞的原始深度图。识别到关键点后,通过查询深度图相应点的深度可以关键点的深度信息。最后,融合深度关键点的像素坐标和深度,得到目标的尺寸。该方法可以分为彩色图和深度图获取、关键点检测网络、多尺度目标检测和尺寸计算四个模块。
[0049]
图2为获取和处理彩色图及深度图的流程。首先,将彩色图和深度图的分辨率设置为640
×
480。设置好分辨率后即可获取rgb帧和深度帧。rgb相机和深度相机的镜头位置不同。所以得到的深度图和rgb图使用了不同参考系,前者的原点为红外摄像头,后者的原点为rgb摄像头。这导致检测目标在深度图和彩色图中的位置是不统一的,使用时需将二者对齐。最终针对rgb图像中的每一个点,在深度图中相应位置查询到该点的深度。
[0050]
深度的计算以左相机为匹配参考,会丢失在包含在左相机而不包含在右相机中目标的深度,因此每一帧中目标物体的左边缘都没有深度数据。这会导致在查询蔬菜边缘关键点的深度时返回0。因此需对深度图进行填充。使用了pyrealsense2工具包中的spatial_filter和hole_filling两个滤波器来修复深度图。
[0051]
使用detectron2提供的keypoint r-cnn实现瓜果类蔬菜的识别与关键点提取。蔬菜识别和关键点提取过程中使用多尺度缩放检测模块。多尺度缩放检测的实施细节如图4,流程为:
[0052]
(8)输入待测图像和放大参数α。
[0053]
(9)将放大倍率设置为m=1,最大分数设置为ms=0。
[0054]
(10)执行检测循环,使用zoom-in方法将原始图像放大m倍得到新图像img。zoom-in方法的具体操作为:采用双线性插值将原始图像放大m倍。然后在放大图像的中央切割出与原始图像尺寸相同的新图像。
[0055]
(11)将img送入预训练的关键点检测网络detection,得到图像中包含的目标的得分、框和关键点。
[0056]
(12)如果目标得分和大于ms,则更新最大得分ms,并记录当前放大倍数m为bestm。否则直接进入下一步。
[0057]
(13)更新放大倍率为m=m
×
α。如果m>5,该模块将跳出检测循环进入(7),否则返回(3)。
[0058]
(14)使用revert方法根据放大倍数把放大图像上的目标框和关键点映射回原始图像上得到最终输出finboxes和finpoints。revert方法的具体操作为:首先根据原始图像的尺寸计算图像的中心点,然后将boxes和points中的坐标与中心点的距离缩小到bestm分之一。
[0059]
通过关键点检测网络可以得到关键点在彩色图像上的像素坐标。通过查找深度图可以得到该点距离摄像头所在平面的距离。根据关键点和深度图计算三维空间中距离的思路为:首先在彩色图中计算两点之间的像素距离,然后根据目标中心关键点的深度将像素距离映射到目标所在的平面,同时利用数学方法补偿不同关键点之间的深度差导致的距离
误差。
[0060]
假设a和b表示彩色图像中两个关键点。a点的像素坐标为(x
α
,ya),b点的像素坐标为(xb,yb)。则两点之间的像素距离为:
[0061][0062]
分辨率为640
×
480的图像在实际图像传感器上对应的尺寸为2.07mm
×
1.55mm。因此两点之间在图像传感器上的实际距离为:
[0063][0064]
图5为根据两点在图像传感器上的距离计算实际距离的原理。其中o为rgb摄像头的光心。a

、b

为空间中两点,a

、b

为两个关键点在图像传感器上的投影。f为rgb摄像头的焦距,d为目标到摄像头所在平面的距离。根据三角形oa
′b′
与三角形oa
″b″
相似,两点之间的实际距离为:
[0065][0066]
蔬菜是有厚度的三维物体,通常边缘关键点的深度比中央关键点更大。因此实际计算目标直径和长度时,需要补偿这一深度差。幸运的是,瓜果类蔬菜的横截面通常是圆形的,即中央和边缘点的深度差与半径相等。本发明以左右关键点的距离作为蔬菜的直径d,假设左右关键点在图像传感器上投影之间的距离为ds,d为中心关键点的深度。则有:
[0067][0068]
进一步:
[0069][0070]
本发明以顶底关键点的距离作为蔬菜的长度l,顶底关键点在图像传感器上投影之间的距离为ls。同理有:
[0071][0072]
本发明的仿真实验计算机硬件配置为:intel(r)xeon(r)w-2145@3,70ghzcpu;64.0gb ddr4内存;nvidia quadro rtx4000 gpu。
[0073]
本发明的仿真实验软件配置为:ubuntu 20.04操作系统,仿真语言为python。
[0074]
在仿真实验中,使用的数据集发明人收集标记的瓜果类蔬菜关键点数据集。该数据集共有1600张图片,包含黄瓜、茄子、番茄和甜椒四种常见瓜果类蔬菜。每个种类包含400张图片,其中320张为训练集,80张为测试集。每张图片包含一个目标,每个目标包括一个框和handle、top、left、bottom、right和center六个关键点。handle为蔬菜柄上一点,该点为瓜果类蔬菜自动化采摘预留,尺寸预测方法中未使用该点。top为果实上距离柄最近的点。bottom为果实上距离柄最远的点。left和right为果实上垂直于中轴线最宽线段的左右端点。center点为果实视觉上的中心点。本发明称top与bottom的距离为长度,称left和right的距离为直径。数据集标注文件为标准coco格式。coco的全称为common objects in context,是微软团队提供的一个用来进行图像识别的数据集。
[0075]
这里使用蔬菜仿真模型验证本发明的尺寸测量效果。每种蔬菜使用三个不同的模型,表1是各个模型的标准参数,数据使用游标卡尺测量。
[0076]
表1测试蔬菜模型的参数
[0077][0078]
表2四种蔬菜尺寸测量的相对误差
[0079][0080]
表2是四种瓜果类蔬菜在不同深度下的直径和长度预测相对误差结果。这里使用平均相对误差(mean relative error,mre)评价本发明的目标尺寸估计效果。直径的mre计算方法为:
[0081][0082]
其中tp为该种类蔬菜成功识别的数量,d
p
为本发明预测的直径,dr为该蔬菜模型实际的直径。长度的mre计算方法为:
[0083]
[0084]
其中l
p
为本发明预测的长度,lr为该目标模型实际的长度。本发明对番茄尺寸的预测最准确,对黄瓜尺寸的预测结果最差。随着深度的增加,预测尺寸的平均相对误差逐渐增大。考虑到本发明在深度大于100cm时,种类识别能力迅速下降,尺寸测量的意义不大。本发明只测试了100cm之内的尺寸估计性能。表2显示该方法对番茄的尺寸估测效果非常好。当深度为40cm时,对三个目标的直径估计相对误差仅为2%。而实验目标的真实直径约为80mm,误差不足2mm。当距离为100cm时,相对误差小于8%,绝对误差仅为6mm。该精度足以作为参考指标,应用于果实的个体大小分类。同样可以注意到所提方法对其他三种目标的尺寸估计误差稍大,原因是外形不规则蔬菜的关键点识别难度大于番茄等规则目标。但是,当距离小于60cm时,对四种瓜果类蔬菜的尺寸估计相对误差能够控制在8%以内。足以指导果实的个体大小分类。
[0085]
本发明的尺寸估计性能随深度的增加同样呈下降趋势。对于外形不规则的目标,性能的下降尤其明显。该问题可使用高清摄像头有效解决。同时,数据集对于目标的关键点识别有非常大的影响。通过提供更加多样化的训练集,可增加关键点识别的精度。
[0086]
本发明能够在100cm之内准确识别4种瓜果类蔬菜的种类,能够在60cm之内高精度测量目标的尺寸。并且,本系统在工作过程中无需接触待测目标,能做到对蔬菜果实的完全无破坏测量。本发明在蔬菜自动化采摘和分类领域有广阔应用前景,对深度学习和机器视觉应用于智慧农业有推动作用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1