System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于深度信息的果实轮廓修正方法技术_技高网

一种基于深度信息的果实轮廓修正方法技术

技术编号:44567447 阅读:0 留言:0更新日期:2025-03-11 14:25
一种基于深度信息的果实轮廓修正方法,包括以下步骤:S1、果实的识别与图像分割:首先进行果实数据集的获取,数据集预处理,基于YOLOv8的目标检测模型的训练,基于SAM2的果实掩膜提取,最后提取果实掩膜的外轮廓线;S2、果实真实轮廓的提取:首先设定噪点判断依据,确定判定半径R,对被遮挡果实目标进行额外的轮廓去噪处理,以提取果实的真实轮廓;S3、果实的轮廓拟合与定位:首先均化深度,再进行轮廓拟合,通过空间映射实现定位与尺寸估计。本发明专利技术能够满足枝叶遮挡情况下的果实真实轮廓提取,以较高的精确度完成果实的轮廓拟合,最终获取果实的中心位置和大小尺寸。

【技术实现步骤摘要】

本专利技术属于农业信息化,尤其涉及一种基于深度信息的果实轮廓修正方法


技术介绍

1、果蔬采收作为农业生产环节最费时费力的阶段,同时因为其季节性成为了最劳力密集和费用高昂的农业任务之一。农村劳动力短缺致使人工采收成本升高,采收自动化需求日益迫切。现代农业已经走向智能化、精细化时代,智能机器人代替人工完成自动化采收作业是发展趋势。采收机器人实现自动化作业需要机械、控制和计算机视觉等多个领域技术的共同推进。视觉系统作为采收机器人的重要部分,用于识别、定位采收目标,并能检测到果实的边缘。对于诸如西瓜、甜瓜、苹果、西兰花等果实轮廓呈椭圆形或圆形的果蔬来说,需要根据轮廓来拟合出果实的大小和圆心,采摘末端执行器才能运动到圆心位置并把夹爪张开到大于果实直径大小以完成采摘工作。因此果实轮廓检测是采收机器人视觉系统的重要任务之一。在实际自动化采收过程中,果实会出现被枝叶遮挡的情况,这增加了果实真实轮廓的提取难度,会影响到果实的大小和圆心位置的估计精度。一方面可能会因定位误差较大而导致采收失败,另一方面可能因果实大小判断失误,而采收了过小的未成熟果实,这会造成一定的损失。因此需要开发一种能够满足枝叶遮挡情况下的果实真实轮廓提取方法,以较高的精确度完成果实的轮廓拟合,最终获取果实的中心位置和大小尺寸。


技术实现思路

1、为了克服已有技术的不足,本专利技术提供了一种基于深度信息的果实轮廓修正方法,能够满足枝叶遮挡情况下的果实真实轮廓提取,以较高的精确度完成果实的轮廓拟合,最终获取果实的中心位置和大小尺寸。

2、本专利技术解决其技术问题所采用的技术方案是:

3、一种基于深度信息的果实轮廓修正方法,包括以下步骤:

4、s1、果实的识别与图像分割:首先进行果实数据集的获取,数据集预处理,基于yolov8的目标检测模型的训练,基于sam2的果实掩膜提取,最后提取果实掩膜的外轮廓线;

5、s2、果实真实轮廓的提取:首先设定噪点判断依据,确定判定半径r,对被遮挡果实目标进行额外的轮廓去噪处理,以提取果实的真实轮廓;

6、s3、果实的轮廓拟合与定位:首先均化深度,再进行轮廓拟合,通过空间映射实现定位与尺寸估计。

7、进一步,所述s1的过程如下:

8、s1.1果实数据集的获取:利用深度相机获取不同光照条件下果实的图像数据,图像数据中应该包含果实被部分枝叶遮挡的数据集,用于后续果实被部分枝叶遮挡的目标检测算法的训练和验证;算法模型可能会因为引入过多被枝叶严重遮挡的果实数据集,而学习到过多枝叶遮挡的特征,从而使得训练模型出现偏差,在检测阶段可能会将仅含有枝叶的目标也识别为果实;因此需要在标注训练集前,先进行果实的遮挡程度统计,以明确标注被枝叶遮挡果实训练集的标准,对于被枝叶遮挡的程度超过70%的果实目标不予考虑,因为在实际果实采收时出现这种情况的整体比例很低;

9、s1.2数据集预处理:利用makesense软件对包含被枝叶遮挡的果实目标进行标注,其中遮挡程度小于10%的果实分为一个类别,标注为果实目标;而遮挡程度在10%-70%之间的果实分为另一个类别,标注为被遮挡果实目标;然后利用几何变换(旋转、翻转等)、颜色变换(亮度、饱和度调整等)和噪声添加(高斯噪声、模糊等)等方式完成标签数据集的扩充,有利于提高深度学习模型的泛化能力;

10、s1.3基于yolov8的目标检测模型的训练:基于制作好的数据集,两种类别,即果实目标和被遮挡果实目标分别按照设定比例划分成为训练集和验证集,然后利用同一个yolov8n基础目标检测模型,完成该果实的目标检测模型的训练和验证,得到两种类别平均精度均值最大时的最佳权重文件;

11、s1.4基于sam2的果实掩膜提取:利用经过训练验证的yolov8n最佳权重文件处理深度相机d435i获取的原始果实图片,能够得到对应图片中果实目标的检测框,并以此作为提示输入到sam2图像分割算法模型中,完成对应检测框内目标果实的掩膜提取;

12、s1.5果实轮廓提取:利用opencv库的cv2.cvtcolor函数将经过sam2处理的果实彩色掩膜进行二值化处理,然后利用cv2.findcontours函数,提取果实掩膜的外轮廓线。

13、再进一步,所述s2的过程如下:

14、s2.1噪点判断依据:图像中果实与遮挡物面积区域分界线上的轮廓像素点即为噪点,轮廓会被图像分割算法后进行的轮廓提取处理为果实的轮廓,但实际是遮挡物的轮廓,因此需要被排除掉;以噪点为圆心,r为半径,获取该圆周上所有点(判定点)的深度信息,将果实掩膜外轮廓线内部的判定点称为内判定点,其深度信息记为di,n个内判定点深度信息之和的均值dn即为将果实掩膜外轮廓线外部的判定点称为外判定点,其深度信息记为de,m个外判定点深度信息之和的均值dm即为因为遮挡物(外判定点)相较于果实(内判定点),距离深度相机更近,因此外判定点的深度信息较内判定点的深度信息值更小,所以设定处于果实与遮挡物面积区域分界线上轮廓噪点判断依据为dm<dn;

15、s2.2确定判定半径r:通过人工选择多张图片中果实被遮挡的果实掩膜外轮廓线,以果实与遮挡物面积区域分界线上的轮廓像素点作为噪点,并获取对应图片的深度信息,将噪点样本的总个数计为nt;设定不同判定半径r(1≤r≤10,且r为整数)条件下,每个噪点识别准确率为a,利用pil(python imaging library)的imagedraw模块中draw.ellipse()方法,以噪点为圆心绘制半径为r的圆周;利用d435i相机sdk中的函数rs.rs2_deproject_pixel_to_point,从二维rgb图像和对应的深度图像数据中,获取指定像素半径为r的圆周上每个点对应的空间中到相机的实际距离,即深度信息;使用shapely库中的polygon.contains函数来获取果实轮廓像素点内r圆周上的像素点,设为内判定点;其余像素点在利用poly.touches函数排除轮廓上的点后,设为外判定点;噪点识别准确率计算公式a=nr/n,其中nr表示满足dm<dn的噪点个数,n为噪点的总个数,通过比较不同判定半径r条件下,噪点的识别准确率a和处理时间,来综合选择一个合适的判定半径ra;

16、s2.3噪点去除:被遮挡果实目标在完成s1.5后,对其果实掩膜的外轮廓线的所有像素点,依次为圆心并选择判定半径ra绘制圆周,结合对应图像圆周位置的深度信息值,利用s2.1中dm<dn判别公式进行噪点判断。若满足该判别公式,则该点为噪点,应该去除;否则,则该点为果实的真实轮廓点,应该保留;所有点判别完成后,最终保留下来的像素点即为果实的部分真实轮廓,将用于后续拟合操作。

17、所述s3的过程如下:

18、s3.1均化深度:以s1.4中的sam2图像分割后的掩膜为限定范围,利用rs.rs2_deproject_pixel_to_poin函数获取该范围内所有像素点本文档来自技高网...

【技术保护点】

1.一种基于深度信息的果实轮廓修正方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的一种基于深度信息的果实轮廓修正方法,其特征在于,所述S1的过程如下:

3.如权利要求2所述的一种基于深度信息的果实轮廓修正方法,其特征在于,所述S2的过程如下:

4.如权利要求3所述的一种基于深度信息的果实轮廓修正方法,其特征在于,所述S3的过程如下:

【技术特征摘要】

1.一种基于深度信息的果实轮廓修正方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的一种基于深度信息的果实轮廓修正方法,其特征在于,所述s1的过程如下:

3...

【专利技术属性】
技术研发人员:王志恒张晓斐徐纪星沈奥张志鹏荀一杨庆华
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1