CN117337691B - 基于深度神经网络的火龙果采摘方法及采摘机器人 - Google Patents
基于深度神经网络的火龙果采摘方法及采摘机器人 Download PDFInfo
- Publication number
- CN117337691B CN117337691B CN202311223484.1A CN202311223484A CN117337691B CN 117337691 B CN117337691 B CN 117337691B CN 202311223484 A CN202311223484 A CN 202311223484A CN 117337691 B CN117337691 B CN 117337691B
- Authority
- CN
- China
- Prior art keywords
- fruit
- image
- coordinates
- dimensional
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 16
- 235000010837 Echinocereus enneacanthus subsp brevispinus Nutrition 0.000 title description 2
- 235000006850 Echinocereus enneacanthus var dubius Nutrition 0.000 title description 2
- 240000008086 Echinocereus enneacanthus Species 0.000 title 1
- 235000013399 edible fruits Nutrition 0.000 claims abstract description 110
- 244000157072 Hylocereus undatus Species 0.000 claims abstract description 88
- 235000018481 Hylocereus undatus Nutrition 0.000 claims abstract description 87
- 230000011218 segmentation Effects 0.000 claims abstract description 41
- 238000003384 imaging method Methods 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 238000003708 edge detection Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 101100218316 Bacillus anthracis atxA gene Proteins 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 238000003306 harvesting Methods 0.000 abstract description 4
- 230000036544 posture Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000016776 visual perception Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000050 nutritive effect Effects 0.000 description 1
- 239000002420 orchard Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D46/00—Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
- A01D46/30—Robotic devices for individually picking crops
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D91/00—Methods for harvesting agricultural products
- A01D91/04—Products growing above the soil
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Environmental Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Robotics (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于深度神经网络的火龙果采摘方法,涉及水果采摘领域,包括导航线规划与生长位姿确定;导航线规划具体为:利用道路分割图进行导航线拟合,生长位姿确定具体为:利用果实及其附生枝条分割图获得二值化图像、通过二值化图像的果实质心与果实生长点获得生长向量,并利用相机成像原理拟合姿态向量,通过生长向量与姿态向量拟合生长位姿。该方法能够实现火龙果的全自主采摘,提高火龙果种植的采收效率,大大降低劳动力需求和人工成本,从而实现火龙果的科学种植。
Description
技术领域
本发明涉及水果采摘技术领域,具体涉及一种基于深度神经网络的火龙果采摘方法及采摘机器人。
背景技术
火龙果是近年来新兴的一种重要热带水果,其具有较高的经济价值、营养价值和再加工利用价值;随着市场对于火龙果的需求增加以及各地对于特色产业、优势产业的扶持,火龙果的产量呈现逐年增长趋势。相比水果产量的增加,我国对于水果采摘的智能机械化应用仍然很低;目前,大部分的水果采收仍以手工结合半自动化采摘机械为主,此方式不仅增加水果采摘的劳动成本、降低水果采收的效率,还增加水果生产的不确定因素(如采摘过程中、枝条易刺伤采摘者;或者熟练劳动力采摘快、生疏劳动力采摘慢,导致水果采摘时间不可控)。
随着智慧农业与深度学习的快速发展,火龙果果实检测识别及其机器人采摘已经成为目前研究的热点;然而,由于火龙果的生长姿态与形貌差异(即火龙果生长的大小、性状具有差异,不同火龙果之间的生长姿态也具有差异),且采摘过程中果实易受枝条遮挡,致使自动化采摘机械手无法有效进行统一化、规模化的采摘,采摘过程中还容易出现枝条折断、果实损伤、采摘机构卡滞等问题。此外,火龙果果园中具有密集生长的果实,若不进行精准规划,极易出现错采、漏采等问题,影响火龙果的持续生长、降低火龙果的采摘效率,为火龙果智能化采摘带来障碍。
发明内容
针对以上现有技术存在的问题,本发明的目的在于提供一种基于深度神经网络的火龙果采摘方法,该方法能够实现火龙果的全自主采摘,提高火龙果种植的采收效率,大大降低劳动力需求和人工成本,从而实现火龙果的科学种植。
本发明的另一个目的在于提供实现上述火龙果采摘方法的采摘机器人。
本发明的目的通过以下技术方案实现:
一种基于深度神经网络的火龙果采摘方法,包括导航线规划与生长位姿确定;
导航线规划包括:首先,批量采集火龙果种植道路图像、并对图像进行增强处理;然后,将处理后的图像采用标注工具进行标注、制成第一数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第一数据集进行模型迭代训练,获得道路分割图;最后,对道路分割图进行导航线拟合;
生长位姿确定包括:首先,批量采集果实及其附生枝条图像、并对图像进行增强处理;然后,将处理后的图像采用标注工具进行标注、制成第二数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第二数据集进行模型迭代训练,获得果实及其附生枝条分割图;再然后,对果实及其附生枝条分割图依次进行掩膜-灰度-二值化处理,获得二值化图像;最后,通过二值化图像的果实质心与果实生长点获得生长向量,并利用相机成像原理拟合姿态向量,通过生长向量与姿态向量拟合生长位姿。
基于上述方案的进一步优选,所述标注工具采用labelme标注工具。
基于上述方案的进一步优选,所述对道路分割图进行导航线拟合具体为:
步骤S11、首先,对输入的道路分割图进行边缘检测,获得果树行的边缘像素位置、通过边缘像素获取边缘点;再将边缘点映射到霍夫空间中,在霍夫空间中查找曲线交点、即峰值;通过峰值获得边缘点在参数空间内的直线参数;
步骤S12、对于每个边缘像素,计算其在参数空间内所有可能存在的直线参数;然后,在参数空间的霍夫累加器矩阵,记录每个可能直线的投票计数(即每个边缘像素都会为参数空间中的一组直线参数进行投票);
步骤S13、通过预设阈值与局部最大值检测确定投票数最高对应的直线参数;
步骤S14、首先,将步骤S13确定的直线参数反映射回图像空间,确定图像中导航线的位置;然后,对获得的导航线进行筛选和过滤,进而获得导航中心线、用于导航采摘机器人行驶。
基于上述方案的进一步优选,所述步骤S11中对道路分割图采用Sobel、Prewitt或Canny算子中任一种方式进行边缘检测。
基于上述方案的进一步优选,所述步骤S11中边缘点映射到霍夫空间的具体步骤为:首先,创建霍夫累加器矩阵、通常为一个二维数组,用于存储累加的投票;
然后,遍历道路分割图中的每个边缘点(x,y),同时,对每个边缘点(x,y)进行霍夫变换:
;
式中,表示极径、即图像原点到直线上垂线距离的长度;/>表示极角,即图像中某一参考方向的之间的角度,通常为0~180°;
遍历边缘点,直至完成所有边缘点在霍夫空间中的映射。
基于上述方案的进一步优选,所述步骤S12具体为:
首先,在霍夫累加器矩阵中,初始化每个直线参数组,使其投票计数为零;然后,对应每个边缘点(x,y),遍历所有可能的参数组/>,若匹配一次、则增加一次投票计数,直至完成所有边缘点的计数投票。
基于上述方案的进一步优选,所述步骤S14中确地图像中导航线的位置具体为:
将选定的参数组反映射回图像空间,以确定导航线两个端点/>和的位置:
。
基于上述方案的进一步优选,所述对果实及其附生枝条分割图依次进行掩膜-灰度-二值化处理、获得二值化图像具体为:
步骤21、基于连通组件标记算法(Connected Component Labeling,CCL)、结合火龙果二值图像对原图像进行连通区域分析,遍历火龙果二值图像中的像素,对于相邻像素、若其值相同,则将它们标记为同一个连通区域;遍历所有像素后,获得掩膜图;
步骤22、采用RGB颜色空间对步骤21中的掩膜图分别进行绿色通道与红色通道的图像分离,获得火龙果枝条和果实的灰度图,再分别对火龙果枝条、果实的灰度图进行高斯模糊处理、减少噪声影响;
步骤23、预设灰度阈值,将步骤22中径高斯模糊处理的灰度图转化为二值化图像。
基于上述方案的进一步优选,所述步骤S21中获得果实及其附生枝条掩膜图后,还对掩膜图进行侵蚀、膨胀和孔洞填充等数学形态学操作,从而达到填充检测区域之间的间隙、去除噪声以及平滑区域边界的目的。
基于上述方案的进一步优选,所述通过二值化图像的果实质心与果实生长点获得生长向量具体为:
步骤S24、基于深度优选搜索的图像扫描算法提取果实及其附生枝条的轮廓:从图像的左上角像素开始扫描,若某一像素点为火龙果果实、或附生枝条轮廓上的像素点,则将该点及其周围的像素点标记为已访问,直至扫描完整个轮廓,标注果实轮廓像素点为(x t , y t ),t=1,2,…,n 1 ,附生枝条轮廓像素点为(x i ,y i ),i=1,2,…,n 2;
步骤S25、根据图像质心矩的定义,获得火龙果质心坐标(x c ,y c ):
;
式中:f(x t ,y t )表示果实二值化图像中果实轮廓像素点(x t ,y t )的像素值;
步骤S26、分别计算附生枝条轮廓像素点与质心坐标之间的距离d 1:
;
遍历所有附生枝条轮廓像素点到质心坐标之间的距离,获得附生枝条轮廓到质心坐标的最小距离d min、其对应的像素点(x i-min ,y i-min )即为果实生长点;
通过果实生长点与质心坐标获得生长向量q 1:
。
基于上述方案的进一步优选,所述利用相机成像原理拟合姿态向量具体为:
步骤S27、利用相机成像原理拟合果实三维边界框:
步骤S271、通过相机拍摄采集的图像,将图像像素坐标转换为对应的二维空间的图像坐标:
;
式中:dx、dy表示每个像素的尺寸大小,(u 0 ,v 0 )表示坐标系原点对应的像素坐标;(u,v)表示任意一点的具体像素坐标、其对应的图像坐标为(x,y);
步骤S272、根据相机空间计算模型,将二维空间的图像坐标转换为三维实际空间坐标:
;
式中:f表示相机焦距;z p表示已知的实际空间点P在相机坐标系的深度信息;
将相机在x轴、y轴的焦距分别定义为f x、f y,则三维实际空间坐标为:
;
通过上述方法实现图像中的每个图像像素坐标在实际三维空间中的一一映射;
步骤S273、遍历果实轮廓上所有的像素点、并进行比较,获得果实轮廓的最左像素点(u a ,v a )、最上像素点(u b ,v b )、最右像素点(u c ,v c )以及最下像素点(u d ,v d );(采用上述方法)分别将它们转换为三维实际空间坐标(X a ,Y a ,Z a )、(X b ,Y b ,Z b )、(X c ,Y c ,Z c )以及(X d ,Y d , Z d ),同时将火龙果质心坐标(x c ,y c )转换为三维实际空间坐标O 0,即O 0为(X 0 ,Y 0 ,Z 0 );
步骤S274、将火龙果果实横切面看做近似圆形,则火龙果果实在三维空间X轴上的直径与在三维空间Z轴上的直径相等,通过最左像素点、最上像素点、最右像素点、最下像素点获得火龙果果实分别在三维空间X轴、Y轴、Z轴的直径D X 、D Y 、D Z:
;
步骤S275、分别利用Pi(i=1,2,3,4,5,6,7,8)与O 0之间的相对几何位置及火龙果果实的分别在三维空间X轴、Y轴、Z轴的直径,获得火龙果三维边界框的八个顶点的三维坐标,从而拟合得到三维边界框。
步骤S28、通过三维边界框获得姿态向量:
步骤S281、计算获得拟合得到的三维边界框六个面中心点的三维坐标Ki(i=1,2, 3,4,5,6),Ki=(X ki ,Y ki ,Z ki ),并将果实生长点(x i-min ,y i-min )转换为三维实际空间坐标(X i-min , Y i-min , Z i-min );
步骤S282、分别计算果实生长点到三维边界框六个面中心点之间的距离d 2:
;
步骤S283、分别比较三维边界框的六个面中心点与果实生长点之间的距离,将距离最大的面中心点(X k-max , Y k-max , Z k-max)与果实生长点之间构成的向量视为姿态向量q 2:
。
基于上述方案的进一步优选,所述火龙果采摘机器人控制方法还包括坐标转换,具体为:
首先,采用“张定友标定法”完成相机和机械臂末端转换矩阵的标定,实现将图像坐标转换为机械臂末端的坐标;
然后,通过标准型D-H参数法建立机械臂数学模型,获得机械臂关节间的相对位置关系:
;
式中:表示关节旋转角;/>表示连杆旋转角;/>表示连杆长度;/>表示关节长度。
以下是本发明方案所具备的技术效果:
本申请选取Unet作为基础框架搭建语义分割网络模型、实现对道路的分割与果实及其附生枝条的分割,然后,配合霍夫变换实现对采摘机器人运行导航线的精准规划,避免火龙果采摘过程中、采摘机器人出现路径偏移,进而无法实现所有果树的采摘,利用精准导航线的逐一采摘、有效提高采摘效率,避免出现错采、漏采等问题;通过图像处理获得果实及其附生枝条的二值化图像,利用二值化图像的果实质心与果实生长点获得生长向量、同时利用相机成像原理拟合姿态向量,最终通过生长向量与姿态向量拟合生长位姿、通过果实的生长位姿对果实进行采摘,一是能够有效避免由于果实生长姿态差异造成的采摘过程中、采摘机械臂对于果实的损伤,二是能够稳固夹持火龙果果实、避免采摘过程中果实的掉落,三是避免采摘过程中、其他环境因素的感染,实现精准采摘。
本申请通过运用深度神经网络、机器人手眼标定、坐标转换、轨迹规划、传感器技术等方法手段的结合,实现火龙果采摘机器人的精准定位与高效采摘,有效解决现有火龙果采摘过程中效率低、耗时长,采摘损伤度大、不良率高,自动化程度低、劳动成本高等一系列问题。
附图说明
图1为本发明实施例中基于Unet作为基础框架搭建语义分割网络模型的道路标注图。
图2为本发明实施例中导航线的拟合效果图。
图3为本发明实施例中基于Unet作为基础框架搭建语义分割网络模型的果实及其附生枝条标注图。
图4为本发明实施例中对果实及其附生枝条识别的效果图。
图5为本发明实施例中通过生长向量与姿态向量拟合生长位姿的示意图。
图6为本发明实施例中采摘机械臂进行“张定友标定法”的效果图。
图7为本发明实施例中采摘机械臂进行采摘的示意图;其中,图7(a)为采摘机械臂前往目标点的示意图,图7(b)为采摘机械臂到达目标点的示意图,图7(c)为采摘机械臂夹住果实进行采摘的示意图,图7(d)为采摘机械臂完成采摘的示意图。
图8为本发明实施例中采摘机器人末端夹爪的实物图。
图9为本发明实施例中采摘机器人系统的示意图。
图10为本发明实施例中采摘机器人的采摘流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1:
参照下图1~7所示:一种基于深度神经网络的火龙果采摘方法,包括:
步骤S10、导航线规划:首先,批量采集火龙果种植道路图像、例如:使用深度相机在火龙果种植园实地环境下采集多种真实光照条件下640*480的火龙果种植园道路图像5000张,并对图像进行增强处理(采用本领域常见的图像增强处理手段即可,目的是使得图像更清晰,本申请不做过多限定);然后,将处理后的图像采用labelme标注工具进行标注、制成第一数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第一数据集进行模型迭代训练,获得道路分割图;
最后,对道路分割图进行导航线拟合,具体包括:
步骤S11、首先,对输入的道路分割图采用Sobel、Prewitt或Canny算子中任一种方式进行边缘检测(其中,Sobel、Prewitt或Canny算子均采用本领域常见的方法即可,本申请不做过多限定;优选Sobel算子),获得果树行的边缘像素位置、通过边缘像素获取边缘点;再将边缘点映射到霍夫空间中,具体为:
首先,创建霍夫累加器矩阵、通常为一个二维数组,用于存储累加的投票;
然后,遍历道路分割图中的每个边缘点(x,y),同时,对每个边缘点(x,y)进行霍夫变换:
;
式中,表示极径、即图像原点到直线上垂线距离的长度;/>表示极角,即图像中某一参考方向的之间的角度,通常为0~180°;
遍历边缘点,直至完成所有边缘点在霍夫空间中的映射。
在霍夫空间中查找曲线交点、即峰值(采用本领域中霍夫变换的常规方法即可,本申请不做具体限定);通过峰值获得边缘点在参数空间内的直线参数;
步骤S12、对于每个边缘像素,计算其在参数空间内所有可能存在的直线参数;
然后,在参数空间的霍夫累加器矩阵,记录每个可能直线的投票计数(即每个边缘像素都会为参数空间中的一组直线参数进行投票),具体为:
首先,在霍夫累加器矩阵中,初始化每个直线参数组,使其投票计数为零;然后,对应每个边缘点(x,y),遍历所有可能的参数组/>,若匹配一次、则增加一次投票计数,直至完成所有边缘点的计数投票;
步骤S13、通过预设阈值与局部最大值检测确定投票数最高对应的直线参数,具体为:
首先,预设参数计数阈值(通过多次实验确定参数计数阈值),投票计数高于参数计数阈值的参数组 (i=1,2,…,n)作为潜在的直线参数;
然后,遍历所有通过参数技术阈值检测的参数组 (i=1,2,…,n),并通过局部最大值检测其是否为周围区域的局部最大值,选取最大的局部最大值对应的参数组作为确定的直线参数;
步骤S14、首先,将步骤S13确定的直线参数反映射回图像空间,以确定导航线两个端点/>和/>的位置:
;
通过两个端点和/>确定图像中导航线的位置;
然后,对获得的导航线进行筛选和过滤(采用常规处理方式进行筛选与过滤即可),即基于导航线的位置、长度、角度等特征来排除不相关的直线,例如噪声或非果树行的直线,进而获得导航中心线、用于导航采摘机器人行驶。
步骤S20、生长位姿确定:首先,批量采集果实及其附生枝条图像、例如:使用深度相机在火龙果种植园实地环境下采集多种真实光照条件下640*480的火龙果及其附生枝条图片5000张,并对图像进行增强处理(采用本领域常见的图像增强处理手段即可,目的是使得图像更清晰,本申请不做过多限定);然后,将处理后的图像采用labelme标注工具进行标注、制成第二数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第二数据集进行模型迭代训练,获得果实及其附生枝条分割图;
再然后,对果实及其附生枝条分割图依次进行掩膜-灰度-二值化处理,获得二值化图像,具体为:
步骤21、基于连通组件标记算法(Connected Component Labeling,CCL)、结合火龙果二值图像对原图像进行连通区域分析,遍历火龙果二值图像中的像素,对于相邻像素、若其值相同,则将它们标记为同一个连通区域;遍历所有像素后,获得掩膜图;之后,对掩膜图进行侵蚀、膨胀和孔洞填充等数学形态学操作,从而达到填充检测区域之间的间隙、去除噪声以及平滑区域边界的目的。
步骤22、采用RGB颜色空间对步骤21中的掩膜图分别进行绿色通道与红色通道的图像分离,获得火龙果枝条和果实的灰度图,再分别对火龙果枝条、果实的灰度图进行高斯模糊处理、减少噪声影响;
步骤23、预设灰度阈值(灰度阈值根据多次实验获得),将步骤22中径高斯模糊处理的灰度图转化为二值化图像;本实施例中,二值化图像的目标区域像素值为255、背景区域像素值为0。
最后,通过二值化图像的果实质心与果实生长点获得生长向量,具体为:
步骤S24、基于深度优选搜索的图像扫描算法提取果实及其附生枝条的轮廓:从图像的左上角像素开始扫描,若某一像素点为火龙果果实、或附生枝条轮廓上的像素点,则将该点及其周围的像素点标记为已访问,直至扫描完整个轮廓,标注果实轮廓像素点为(x t , y t ),t=1,2,…,n 1 ,附生枝条轮廓像素点为(x i ,y i ),i=1,2,…,n 2;
步骤S25、根据图像质心矩的定义,获得火龙果质心坐标(x c ,y c ):
;
式中:f(x t ,y t )表示果实二值化图像中果实轮廓像素点(x t ,y t )的像素值;
步骤S26、分别计算附生枝条轮廓像素点与质心坐标之间的距离d 1:
;
遍历所有附生枝条轮廓像素点到质心坐标之间的距离,获得附生枝条轮廓到质心坐标的最小距离d min、其对应的像素点(x i-min ,y i-min )即为果实生长点;
通过果实生长点与质心坐标获得生长向量q 1:
。
利用相机成像原理拟合姿态向量,具体为:
步骤S27、利用相机成像原理拟合果实三维边界框:
步骤S271、通过相机拍摄采集的图像,将图像像素坐标转换为对应的二维空间的图像坐标:
;
式中:dx、dy表示每个像素的尺寸大小,(u 0 ,v 0 )表示坐标系原点对应的像素坐标;(u,v)表示任意一点的具体像素坐标、其对应的图像坐标为(x,y);
步骤S272、根据相机空间计算模型,将二维空间的图像坐标转换为三维实际空间坐标:
;
式中:f表示相机焦距;z p表示已知的实际空间点P在相机坐标系的深度信息;
将相机在x轴、y轴的焦距分别定义为f x、f y,则三维实际空间坐标为:
;
通过上述方法实现图像中的每个图像像素坐标在实际三维空间中的一一映射;
步骤S273、遍历果实轮廓上所有的像素点、并进行比较,获得果实轮廓的最左像素点(u a ,v a )、最上像素点(u b ,v b )、最右像素点(u c ,v c )以及最下像素点(u d ,v d );(采用上述方法)分别将它们转换为三维实际空间坐标(X a ,Y a ,Z a )、(X b ,Y b ,Z b )、(X c ,Y c ,Z c )以及(X d ,Y d , Z d ),同时将火龙果质心坐标(x c ,y c )转换为三维实际空间坐标O 0,即O 0为(X 0 ,Y 0 ,Z 0 );
步骤S274、将火龙果果实横切面看做近似圆形,则火龙果果实在三维空间X轴上的直径与在三维空间Z轴上的直径相等,通过最左像素点、最上像素点、最右像素点、最下像素点获得火龙果果实分别在三维空间X轴、Y轴、Z轴的直径D X 、D Y 、D Z:
;
步骤S275、分别利用Pi(i=1,2,3,4,5,6,7,8)与O 0之间的相对几何位置及火龙果果实的分别在三维空间X轴、Y轴、Z轴的直径,获得火龙果三维边界框的八个顶点的三维坐标,从而拟合得到三维边界框;例如:P1点的三维坐标(X 1 ,X 2 ,X 3 )为:
;
依次获得P2、P3、P4、P5、P6、P7、P8的坐标。
步骤S28、通过三维边界框获得姿态向量:
步骤S281、计算获得拟合得到的三维边界框六个面中心点的三维坐标Ki(i=1,2, 3,4,5,6),Ki=(X ki ,Y ki ,Z ki ),并将果实生长点(x i-min ,y i-min )转换为三维实际空间坐标(X i-min , Y i-min , Z i-min );
步骤S282、分别计算果实生长点到三维边界框六个面中心点之间的距离d 2:
;
步骤S283、分别比较三维边界框的六个面中心点与果实生长点之间的距离,将距离最大的面中心点(X k-max , Y k-max , Z k-max)与果实生长点之间构成的向量视为姿态向量q 2:
。
通过生长向量与姿态向量拟合生长位姿,即拟合生长向量q 1与姿态向量q 2;获得生长位姿q 3,如图5所示。
步骤S30、坐标转换具体为:
首先,采用“张定友标定法”完成相机和机械臂末端转换矩阵的标定,实现将图像坐标转换为机械臂末端的坐标;
然后,通过标准型D-H参数法建立机械臂数学模型,获得机械臂关节间的相对位置关系:
;
式中:表示关节旋转角;/>表示连杆旋转角;/>表示连杆长度;/>表示关节长度。
实施例2:
作为本发明的一个优选实施例,在实施例1方案的基础上,Unet作为基础框架搭建语义分割网络模型进行图像(即第一数据集或第二数据集)分割,获得道路分割图或果实及其附生枝条分割图的方法具体为:首先,将通道和空间注意力机制(Concurrent Spatial and Channel Squeeze and Channel Excitation, SCSE)模块集成到残差结构(Double Residual Block, DRB)中,获得SD注意力残差模块,其中,SCSE通过通过对特征图进行空间和通道压缩以及通道激励,得到一个权重向量,并对原始特征图进行加权处理,使网络能够更准确提取火龙果的特征信息;
然后,在U-Net网络结构中引入SD注意力残差模块与SCSE模块:改进后的U-Net网络结构包括下采样和上采样两个部分,左侧的下采样用于提取图像局部的特征信息,右侧的上采样根据上下文信息对图像的特征进行精准定位;同时,下采样包含四个模块,每个模块由SD注意力残差模块结构和规格为2x2的最大池化层组成;上采样同样包含四个模块,每个模块包括规格为2x2的转置卷积,并且上采样与从下采样对应模块经SCSE模块加权的特征进行映射连接,通过SD注意力残差模块处理后,经过一层1x1的卷积进行降维处理。
实施例3:
作为本发明的一个优选实施例,一种基于深度神经网络的火龙果采摘机器人,包括行走小车、三维视觉感知系统、采摘机械臂、末端夹爪模块、收集机构与信号传输模块,三维视觉感知系统包括按在在行走小车前沿的第一深度相机与安装在采摘机械臂侧方的第二深度相机,第一深度相机采用实施例1步骤S10所述的导航线规划方法进行导航路径规划,第二深度相机采用实施例1步骤S20所述的生长位姿确定方法进行火龙果果实的定位;采摘机械臂安装在行走小车的左前侧(即图9所示右侧);末端夹爪采用三爪柔性夹爪(如图8所示)、其位于采摘机械臂末端(即远离行走小车的一端端部);收集机构设置在行走小车的右前侧(即图9所示左侧),具体可为收集篮;搭载边缘计算机NVIDIA T600的信号传输模块设置在行走小车上,用于实现采摘机械臂、行走小车、末端夹爪模块与三维视觉感知系统之间的相互通信。
实施例4:
作为本发明的一个优选实施例,一种如实施例3所述的火龙果采摘机器人的控制方法,包括:
步骤一、采摘机器人通电、系统初始化,采摘机械臂运动到初始位姿,同时分别开启第一深度相机与第二深度相机所对应的Unet作为基础框架搭建语义分割网络模型;
步骤二、第一深度相机对应的三维视觉感知系统通过如实施例1中步骤S10所述的导航线规划方法进行导航路径规划,然后控制行走小车沿导航路径规划进行行走;
步骤三、当第二深度相机对应的神经网络检测到火龙果时,通过如实施例1中步骤S20所述的生长位姿确定方法进行火龙果果实的定位;
步骤四、通过实施例1中步骤S30所述的坐标转换方法将步骤三中获得的生长位姿转换为采摘机械臂的工作点位姿,并将控制信号传递到采摘机械臂的控制器;同时,控制行走小车停止运行、准备开始采摘;
步骤五、采摘机械臂控制器通过工作点位姿进行机械臂采摘路径(即末端夹爪模块的运行路径)的规划(采用本领域常见的路径规划方法即可,遵循路径最优、耗时最短的原则);控制采摘机械臂运转、使得末端夹爪模块到达指定位置,控制末端夹爪模块运行、夹住火龙果并逆时针旋转将火龙果摘下;最后,采摘机械臂运转将摘下的火龙果果实放入收集机构,完成采摘;
步骤六、第二深度相机检测视野内是否存在火龙果,若存在,则继续进行火龙果采摘;若不存在,则回到初始位置,并发送启动信号给行走小车开始导航行走,进行下一轮采摘。
Claims (6)
1.一种基于深度神经网络的火龙果采摘方法,其特征在于:包括导航线规划与生长位姿确定;
导航线规划包括:首先,批量采集火龙果种植道路图像、并对图像进行增强处理;然后,将处理后的图像采用标注工具进行标注、制成第一数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第一数据集进行模型迭代训练,获得道路分割图;最后,对道路分割图进行导航线拟合;
生长位姿确定包括:首先,批量采集果实及其附生枝条图像、并对图像进行增强处理;然后,将处理后的图像采用标注工具进行标注、制成第二数据集;之后,选取Unet作为基础框架搭建语义分割网络模型、将第二数据集进行模型迭代训练,获得果实及其附生枝条分割图;再然后,对果实及其附生枝条分割图依次进行掩膜-灰度-二值化处理,获得二值化图像;最后,通过二值化图像的果实质心与果实生长点获得生长向量,并利用相机成像原理拟合姿态向量,通过生长向量与姿态向量拟合生长位姿;
所述对果实及其附生枝条分割图依次进行掩膜-灰度-二值化处理、获得二值化图像具体为:
步骤21、基于连通组件标记算法、结合火龙果二值图像对原图像进行连通区域分析,遍历火龙果二值图像中的像素,对于相邻像素、若其值相同,则将它们标记为同一个连通区域;遍历所有像素后,获得掩膜图;
步骤22、采用RGB颜色空间对步骤21中的掩膜图分别进行绿色通道与红色通道的图像分离,获得火龙果枝条和果实的灰度图,再分别对火龙果枝条、果实的灰度图进行高斯模糊处理、减少噪声影响;
步骤23、预设灰度阈值,将步骤22中径高斯模糊处理的灰度图转化为二值化图像;
所述通过二值化图像的果实质心与果实生长点获得生长向量具体为:
步骤S24、基于深度优选搜索的图像扫描算法提取果实及其附生枝条的轮廓:从图像的左上角像素开始扫描,若某一像素点为火龙果果实、或附生枝条轮廓上的像素点,则将该点及其周围的像素点标记为已访问,直至扫描完整个轮廓,标注果实轮廓像素点为(x t ,y t ),t= 1,2,…,n 1 ,附生枝条轮廓像素点为(x i ,y i ),i=1,2,…,n 2;
步骤S25、根据图像质心矩的定义,获得火龙果质心坐标(x c ,y c ):
;
式中:f(x t ,y t )表示果实二值化图像中果实轮廓像素点(x t ,y t )的像素值;
步骤S26、分别计算附生枝条轮廓像素点与质心坐标之间的距离d 1:
;
遍历所有附生枝条轮廓像素点到质心坐标之间的距离,获得附生枝条轮廓到质心坐标的最小距离d min、其对应的像素点(x i-min ,y i-min )即为果实生长点;
通过果实生长点与质心坐标获得生长向量q 1:
;
所述利用相机成像原理拟合姿态向量具体为:
步骤S27、利用相机成像原理拟合果实三维边界框:
步骤S271、通过相机拍摄采集的图像,将图像像素坐标转换为对应的二维空间的图像坐标:
;
式中:dx、dy表示每个像素的尺寸大小,(u 0 ,v 0 )表示坐标系原点对应的像素坐标;(u,v)表示任意一点的具体像素坐标、其对应的图像坐标为(x,y);
步骤S272、根据相机空间计算模型,将二维空间的图像坐标转换为三维实际空间坐标:
;
式中:f表示相机焦距;z p表示已知的实际空间点P在相机坐标系的深度信息;
将相机在x轴、y轴的焦距分别定义为f x、f y,则三维实际空间坐标为:
;
通过上述方法实现图像中的每个图像像素坐标在实际三维空间中的一一映射;
步骤S273、遍历果实轮廓上所有的像素点、并进行比较,获得果实轮廓的最左像素点(u a ,v a )、最上像素点(u b ,v b )、最右像素点(u c ,v c )以及最下像素点(u d ,v d );分别将它们转换为三维实际空间坐标(X a ,Y a ,Z a )、(X b ,Y b ,Z b )、(X c ,Y c ,Z c )以及(X d ,Y d ,Z d ),同时将火龙果质心坐标(x c ,y c )转换为三维实际空间坐标O 0,即O 0为(X 0 ,Y 0 ,Z 0 );
步骤S274、将火龙果果实横切面看做近似圆形,则火龙果果实在三维空间X轴上的直径与在三维空间Z轴上的直径相等,通过最左像素点、最上像素点、最右像素点、最下像素点获得火龙果果实分别在三维空间X轴、Y轴、Z轴的直径D X 、D Y 、D Z:
;
步骤S275、分别利用Pi(i=1,2,3,4,5,6,7,8)与O 0之间的相对几何位置及火龙果果实的分别在三维空间X轴、Y轴、Z轴的直径,获得火龙果三维边界框的八个顶点的三维坐标,从而拟合得到三维边界框;
步骤S28、通过三维边界框获得姿态向量:
步骤S281、计算获得拟合得到的三维边界框六个面中心点的三维坐标Ki(i=1,2,3,4, 5,6),Ki=(X ki ,Y ki ,Z ki ),并将果实生长点(x i-min ,y i-min )转换为三维实际空间坐标(X i-min , Y i-min , Z i-min );
步骤S282、分别计算果实生长点到三维边界框六个面中心点之间的距离d 2:
;
步骤S283、分别比较三维边界框的六个面中心点与果实生长点之间的距离,将距离最大的面中心点(X k-max , Y k-max , Z k-max)与果实生长点之间构成的向量视为姿态向量q 2:
。
2.根据权利要求1所述的一种基于深度神经网络的火龙果采摘方法,其特征在于:所述标注工具采用labelme标注工具。
3.根据权利要求1或2所述的一种基于深度神经网络的火龙果采摘方法,其特征在于:所述对道路分割图进行导航线拟合具体为:
步骤S11、首先,对输入的道路分割图进行边缘检测,获得果树行的边缘像素位置、通过边缘像素获取边缘点;再将边缘点映射到霍夫空间中,在霍夫空间中查找曲线交点、即峰值;通过峰值获得边缘点在参数空间内的直线参数;
步骤S12、对于每个边缘像素,计算其在参数空间内所有可能存在的直线参数;然后,在参数空间的霍夫累加器矩阵,记录每个可能直线的投票计数;
步骤S13、通过预设阈值与局部最大值检测确定投票数最高对应的直线参数;
步骤S14、首先,将步骤S13确定的直线参数反映射回图像空间,确定图像中导航线的位置;然后,对获得的导航线进行筛选和过滤,进而获得导航中心线、用于导航采摘机器人行驶。
4.根据权利要求3所述的一种基于深度神经网络的火龙果采摘方法,其特征在于:所述步骤S11中对道路分割图采用Sobel、Prewitt或Canny算子中任一种方式进行边缘检测。
5.根据权利要求3所述的一种基于深度神经网络的火龙果采摘方法,其特征在于:所述步骤S11中边缘点映射到霍夫空间的具体步骤为:首先,创建霍夫累加器矩阵、通常为一个二维数组,用于存储累加的投票;
然后,遍历道路分割图中的每个边缘点(x,y),同时,对每个边缘点(x,y)进行霍夫变换:
;
式中,表示极径、即图像原点到直线上垂线距离的长度;/>表示极角,即图像中某一参考方向的之间的角度,通常为0~180°;
遍历边缘点,直至完成所有边缘点在霍夫空间中的映射。
6.根据权利要求3所述的一种基于深度神经网络的火龙果采摘方法,其特征在于:所述步骤S14中确地图像中导航线的位置具体为:
将选定的参数组反映射回图像空间,以确定导航线两个端点/>和/>的位置:
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311223484.1A CN117337691B (zh) | 2023-09-21 | 2023-09-21 | 基于深度神经网络的火龙果采摘方法及采摘机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311223484.1A CN117337691B (zh) | 2023-09-21 | 2023-09-21 | 基于深度神经网络的火龙果采摘方法及采摘机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117337691A CN117337691A (zh) | 2024-01-05 |
CN117337691B true CN117337691B (zh) | 2024-04-05 |
Family
ID=89358534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311223484.1A Active CN117337691B (zh) | 2023-09-21 | 2023-09-21 | 基于深度神经网络的火龙果采摘方法及采摘机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117337691B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117730655B (zh) * | 2024-02-20 | 2024-05-14 | 云南省农业科学院质量标准与检测技术研究所 | 水稻种子活力定量分析方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012192473A (ja) * | 2011-03-15 | 2012-10-11 | Seibu Electric & Mach Co Ltd | 立体視ロボットピッキング装置 |
CN111739035A (zh) * | 2020-06-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 基于人工智能的图像处理方法、装置、设备及存储介质 |
CN114648697A (zh) * | 2022-03-16 | 2022-06-21 | 东南大学 | 一种基于改进BiSeNet网络的机器人可行驶路径识别方法 |
CN114902872A (zh) * | 2022-04-26 | 2022-08-16 | 华南理工大学 | 一种机器人采摘果实的视觉引导方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112243698B (zh) * | 2020-10-22 | 2021-08-13 | 安徽农业大学 | 一种基于多传感器融合技术的核桃自动化采摘及收集方法 |
-
2023
- 2023-09-21 CN CN202311223484.1A patent/CN117337691B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012192473A (ja) * | 2011-03-15 | 2012-10-11 | Seibu Electric & Mach Co Ltd | 立体視ロボットピッキング装置 |
CN111739035A (zh) * | 2020-06-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 基于人工智能的图像处理方法、装置、设备及存储介质 |
CN114648697A (zh) * | 2022-03-16 | 2022-06-21 | 东南大学 | 一种基于改进BiSeNet网络的机器人可行驶路径识别方法 |
CN114902872A (zh) * | 2022-04-26 | 2022-08-16 | 华南理工大学 | 一种机器人采摘果实的视觉引导方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117337691A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110948492B (zh) | 一种基于深度学习的三维抓取平台和抓取方法 | |
Tang et al. | Recognition and localization methods for vision-based fruit picking robots: A review | |
CN111602517B (zh) | 一种串型水果分布式视觉主动感知方法及其应用 | |
CN107767423B (zh) | 一种基于双目视觉的机械臂目标定位抓取方法 | |
CN109465809B (zh) | 一种基于双目立体视觉定位识别的智能垃圾分类机器人 | |
CN110084243B (zh) | 一种基于二维码和单目相机的档案识别与定位方法 | |
CN117337691B (zh) | 基于深度神经网络的火龙果采摘方法及采摘机器人 | |
Zhaoxin et al. | Design a robot system for tomato picking based on YOLO v5 | |
Kalampokas et al. | Grape stem detection using regression convolutional neural networks | |
CN109345554A (zh) | 一种基于rgb-d相机的粘连蘑菇视觉原位测量方法 | |
CN103646249A (zh) | 一种温室智能移动机器人视觉导航路径识别方法 | |
CN114260895B (zh) | 一种采摘机器人机械臂抓取避障方向确定的方法及其系统 | |
CN109684941B (zh) | 一种基于matlab图像处理荔枝果实采摘区域划分方法 | |
Yusuf et al. | Blob analysis for fruit recognition and detection | |
CN116686545B (zh) | 基于机器视觉控制的荔枝采摘机器人除遮方法 | |
CN116277025A (zh) | 一种智能制造用机器人的物件分拣控制方法及系统 | |
CN104992448B (zh) | 机器人防损伤采摘葡萄的自动定位方法 | |
CN114842187A (zh) | 基于融合热力图像和rgb图像的茶叶嫩芽采摘点定位方法 | |
CN113666028A (zh) | 一种基于激光雷达和相机融合的垃圾桶检测抓取方法 | |
CN114067206A (zh) | 一种基于深度图像的球形果实识别定位方法 | |
Liu et al. | The Vision-Based Target Recognition, Localization, and Control for Harvesting Robots: A Review | |
CN116645614A (zh) | 一种精准作业农业机器人作业方法 | |
CN115937314A (zh) | 一种油茶果生长姿态检测方法 | |
CN117011843B (zh) | 一种用于火龙果自动化采摘的图像识别与姿态评估方法 | |
CN115657531A (zh) | 一种确定盆景抓取位姿并泊停机器人的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |