一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

银杏花穗定向方法及系统与流程

2022-02-20 05:44:33 来源:中国专利 TAG:


1.本技术方案属于智能化林果采摘技术领域,具体是一种银杏花穗定向方法及系统。


背景技术:

2.现有技术中,林果自动化采摘首先对林果进行识别,然后控制机械手进行采摘。林果识别技术较为成熟,例如,采摘机器人视觉系统的研究于上世纪始80年代,并伴随着图像处理技术与人工智能深度学习理论的发展而不断进步其中果实目标的定位检测与分类识别的精度是至关重要的环节。深度学习在林果识别中应用较多,例如在对苹果识别的研究中,张世福通过mobilenetv1网络和fpn网络提出了改进的ssd算法的苹果识别算法,ap值达到0.925];赵德安等人利用改进的yolov3网络对复杂环境下进行苹果果实定位,map值87.71%,准确率为97%,召回率为90%,iou为83.31%。田玉宇运用基于优化的mask r-cnn识别算法,利用深度图像中的深度信息绘制等深图,将梯度向量从三维向二维投影获得向量聚集区域,从而确定圆心,解决了定位难题,该模型识别苹果的平均准确率为97.31%,召回率为95.70%
……
。在对柑橘的识别中,汤林越采用阈值分割方法,采用形态学对二值分割图像进行后处理,使用最小外接矩形检测出柑橘所在区域,选择faster-rcnn算法,最终平均检测精度为83.24%。熊龙烨采用darknet53为特征提取网络的yolov3模型,柑橘的平均识别准确率为86.42%,检测速度为30.23fps,利用rgb-d相机对柑橘进行三维定位,验证是否满足采摘需求。张璐采用基于yolov2网络和u型全卷积网络的目标分割原理,自然环境下的柑橘果实进行分割模块,通过hough变换圆拟合出真实柑橘轮廓,该模型识别的准确率为86.50%
……
。可见,利用深度学习网络对林果进行采摘这一机器视觉方法正在向着识别精度和识别速度不断提升的方向发展。
3.因为银杏树花期较短,花穗有成熟到过熟只有几天,可以采用识别效率更高的ssd目标检测框架。
4.银杏花穗的定向研究是银杏花穗采摘环节的关键技术,是能否实现银杏花穗采摘的重要环节。
5.银杏花穗从绕树枝生长的花梗中长出来,成熟的花穗体积小、长度短、重量轻,不会像苹果、柑橘等果实成熟后在重力因素下而方向大多向下,也不会像槐树花穗因为花穗很长而垂下,成熟的银杏花穗方向呈现多样性。
6.机械采摘时候,通过图像识别技术,智能化采摘机械识别花穗图像,并控制采摘机构对一个花梗长出的花穗簇进行包覆后,将花梗上的一簇花穗采摘下来。如图1(a)所示,采摘机构在树枝左侧采摘,当花穗出现在树枝右侧时,采摘机构无法实现隔着树枝对另一侧的花穗簇进行包覆,无法实现花穗采摘。因此,如果不了对花穗的定向,严重影响银杏花穗采摘的自动化和机器化进程。
7.花穗定向的研究是采摘机构能实现采摘的关键技术。


技术实现要素:

8.为了解决上述技术问题,本发明创造提出一种银杏花穗的定向方法,用来指导采摘机构是否绕过树枝以及给定绕转角度进行采摘。
9.本技术方案具体为:一种银杏花穗定向方法,首先采集银杏花穗的可见光图片和深度图像,并识别出花穗目标,并获得花穗目标中心世界坐标;然后进行如下步骤的处理:
10.1)求取树枝方向向量;
11.2)获取花穗目标中心点向附近树枝垂直投影所得垂足的世界坐标,从而获得花穗方向向量;
12.3)通过花穗方向向量与树枝方向向量,判定花穗目标与树枝目标的相对位置关系;
13.4)计算出花穗目标方向相对于基面α的角度,判断花穗在正交平面γ的上方还是下方;
14.所述步骤1)中,仅求取花穗目标附近的树枝段的方向向量,获得树枝方向向量的方法为;树枝方向向量为树枝所在直线的矢量表达,通过获得表达树枝所在的直线的特征点即获取树枝方向向量,则获得关键树枝方向向量;
15.所述步骤2)中,花穗方向向量的求取:
16.采用垂足公式(1)求取花穗目标中心点向树枝方向向量垂直投影点的世界坐标,结合花穗目标中心的世界坐标,获取花穗方向向量;
[0017][0018]
式中:
[0019]
f为直线方向向量即列向量,作为树枝方向向量,
[0020]
p为直线外一点坐标向量,作为花穗目标中心点世界坐标向量,
[0021]
p0为直线上一点的坐标向量,作为已经求取到的树枝特征点世界坐标向量;
[0022]
所述步骤3)中,花穗方向向量与基面α夹角θ的求取:
[0023]
定义向量v1为花穗方向向量,向量u为树枝方向向量,向量a为竖直向量,向量b1为角度参考向量;
[0024]
设竖直向量a坐标为(0,0,1),向量a方向为竖直向上,与竖直平面β共面,向量a与竖直方向向量的向量积为参考向量b1;
[0025]
参考向量b1的方向为垂直于竖直平面β,指向垂直平面前面;角度参考向量b1平行于基面α和竖直平面β,即与基面α和竖直平面β的交线平行;参考向量b1作为角度参考向量;
[0026]
由于正交平面γ与基面α垂直,且花穗方向向量v1与正交平面γ共面,花穗方向向量与基面α的夹角θ即为花穗方向向量与参考向量b1的夹角θ,利用两个空间向量夹角公式(2),获取夹角θ的余弦值,通过反正弦函数求出夹角θ的值;
[0027][0028]
式中:向量x(x1,x2,x3)为花穗方向向量,即为向量v1;向量y(y1,y2,y3)为竖直向量,即为向量a(0,0,1);
[0029]
步骤4)中:
[0030]
4.1)花穗向量在竖直平面β前面还是后面的判断:
[0031]
定义向量v1和向量v2为两个花穗方向向量,向量v1指向竖直平面β的前面,向量v2指向竖直平面β后面,夹角θ为花穗方向向量v1与角度参考向量b1的夹角,夹角θ'为花穗方向向量v2与角度参考向量v1的夹角;
[0032]
通过花穗方向向量与基面α的夹角θ大小判定花穗方向向量在竖直平面β的前面还是后面:花穗方向向量v1在竖直平面β前面,其夹角θ为锐角,花穗方向向量v2在竖直平面β后面,其夹角θ'为钝角;
[0033]
通过判断花穗方向向量与角度参考向量的夹角为锐角还是钝角判断花穗向量在竖直平面β的前面还是后面:当夹角θ小于90
°
时,则花穗在竖直平面β的前面,;当夹角θ大于90
°
时,花穗在竖直平面β的后面;
[0034]
4.2)花穗方向向量在基面α的上面还是下面的判断:
[0035]
定义向量v和向量v’分别为两个花穗方向向量,向量u为树枝方向向量,向量b1为角度参考向量,向量b2与向量b2′
为方向参考向量,方向参考向量b2′
由花穗方向向量v与角度参考向量b1进行数量积运算得到,方向参考向量b2′
由花穗方向向量v’与角度参考向量b1进行数量积运算得到,向量b2′
与向量u同向,向量b2与向量u反向,方向参考向量b2与b2′
垂直于正交平面γ,平行于树枝方向向量u;
[0036]
花穗方向向量v指向基面α上面,其方向参考向量b2与树枝方向向量反向,花穗方向向量v’指向基面α下面,其方向参考向量b2′
与树枝方向向量同向;
[0037]
向量的同向与反向是通过数量积进行判断:当两个向量同向时,这两个向量的数量积大于0,当两个向量反向时,这两个向量的数量积小于0;通过判断方向参考向量与树枝方向向量数量积的正负判定花穗方向向量在基面α的下面还是上面;当方向参考向量与树枝方向数量积小于0时,两个向量反向,花穗向量在基面α的上面,当方向参考向量与树枝方向数量积大于0时,两个向量同向,花穗向量在基面α的下面。
[0038]
所述步骤1)中,对可见光图片进行图像处理,去除与树枝无关的内容;再截取花穗目标附近树枝,从而找到表达附近树枝段的特征点;然后结合深度图像中特征点的深度信息,进行坐标映射与转换,最终得到树枝段特征点的世界坐标,进而获得关键树枝的树枝方向向量。
[0039]
一种采用上述方法的银杏花穗定向系统,包括:关键树枝方向向量的求取模块、夹角θ和夹角θ方向的求取模块;
[0040]
1)关键树树枝方向向量求取模块
[0041]
关键树枝方向向量的求取模块分为三个子模块,分别为提取可见光图像中树枝信息模块、关键树枝提取模块,树枝方向向量求取模块;
[0042]
1.1)提取可见光图像中树枝信息模块
[0043]
设置所需要去除背景的距离范围,在深度图中选中这些范围的像素点,对应到可见光图像中相同行列坐标的像素点,将这些像素点的像素值设为0;去完背景的可见光图由rgb色彩空间转换成hsv色彩空间,提取hsv色彩空间中绿色阈值部分并设置成掩模,掩模与去完背景的可见光图像进行图像的按位与运算,获得只有叶子与花穗的可见光图像;将只有叶子和花穗的可见光图与去完背景的可见光图进行图像的按位异或运算,从而去除去完背景可见光图中的绿色部分,获得只有树枝的可见光图像;再对图像进行去噪处理;采用形
态学操作中的开运算进行处理,即对图像先进行腐蚀再进行膨胀;
[0044]
1.2)关键树枝提取模块
[0045]
对图像中的银杏花穗识别框进行放大,再进行形态学膨胀处理,将处理完的识别框内像素点的像素设置为255制作成掩模,掩模与树枝图像进行图像按位与运算获得识别框附近的树枝图像;
[0046]
1.3)树枝方向向量获取模块
[0047]
在图像中提取关键树枝的轮廓,再获取关键树枝轮廓的最小包围矩形框,返回值为最小包围矩形框的中点的行列坐标、矩形框的宽和高以及矩形框相对于x轴正向的旋转角度;区分矩形框宽和高的长短,从而判定矩形框的长和高;通过最小包围矩形框的长和高以及旋转角度,求取树枝段相距最远两个点的横列坐标作为关键树枝特征点备用;
[0048]
求提取到轮廓矩形的面积,通过最小包围矩形框的长宽比以及关键树枝轮廓面积对一些误认为是关键树枝而被最小包围矩形框包围的噪点进行过滤;
[0049]
对一帧可见光图像中出现最小包围矩形框的个数进行讨论,从而判定以哪些点作为树枝方向向量特征点;求取矩形框内的深度信息非0像素点像素值的均值,结合特征点的行列坐标,获取特征点的世界坐标,从而获取树枝方向向量,方向为从左到右;
[0050]
2)夹角θ和夹角θ方向的求取模块
[0051]
花穗向量与基面α夹角θ及夹角θ方向的求取模块分为两大子模块,分别为花穗方向向量求取模块、夹角θ及其方向求取模块;
[0052]
2.1)花穗方向向量求取模块:
[0053]
花穗方向向量的起始点为花穗目标中心点向附近树枝的垂直投影点,终点为花穗目标中心点;结合垂足公式,定义求垂足函数,计算出投影点的世界坐标;
[0054]
2.2)夹角θ及其方向求取模块:
[0055]
竖直向量a(0.0,1)与树枝方向向量进行空间向量数量积的坐标运算,得到每一段关键树枝的角度参考向量b1;结合两个空间向量夹角公式(2),定义空间向量夹角计算函数,在函数中带入花穗方向向量和角度参考向量,获取到夹角θ的值;花穗方向向量与参考方向向量进行空间向量数量积的空间运算,得到方向参考向量b2,将树枝方向向量与方向参考向量b2进行数量积运算,得到数量积k,通过数量积的正负判断夹角θ的方向,即判断出花穗方向向量再基面α的下面还是上面;当夹角θ大于90
°
,且数量积k小于0时,指导采摘机构向上绕过θ
°
树枝进行花穗采摘;当夹角θ大于90
°
,且数量积k大于0时,指导采摘机构向下绕过θ
°
树枝进行花穗采摘;当夹角θ小于90
°
,且数量积k小于0时,指导采摘机构向上θ
°
进行采摘,无需绕过树枝;当夹角θ小于90
°
,且数量积k大于0时,采指导摘机构向下θ
°
进行采摘,无需绕过树枝。
[0056]
所述1.1)提取可见光图像中树枝信息模块中,膨胀核的大小设置为10
×
10。
[0057]
所述1.2)关键树枝提取模块中,膨胀核的大小设置为9
×
9。
[0058]
所述1.3)树枝方向向量获取模块中:
[0059]
对被最小包围矩形框包围的噪点进行过滤待法是仅认为矩形面积小于100cm2的矩形框为所求;
[0060]
对一帧可见光图像中出现最小包围矩形框的个数来说:矩形框的个数大于2个,则计算两个矩形框中间点三维坐标;对矩形框的个数是1个,则计算树枝段最远两个点的三维
坐标。
[0061]
本发明进行花穗的定向研究,对关键树枝进行三维空间的数学建模,利用opencv工具进行定向算法的设计与开发,实现了对花穗的定向,可以指导采摘机构是否绕过树枝采摘以及给出采摘角度。
附图说明
[0062]
图1(a)和图1(b)是花穗采摘机构与树枝位置关系图,其中,图1(a)是对机械臂同一侧的花穗采摘,图1(b)是对机械臂另一侧的花穗采摘;
[0063]
图中:采摘机构1、花梗(树枝)2、花穗3。
[0064]
图2是树枝三维空间数学建模图;
[0065]
图3是夹角θ示意图;
[0066]
图4是夹角θ方向判断示意图;
[0067]
图5(a)是建模使用的世界坐标系;
[0068]
图5(b)是相机坐标系;
[0069]
图6是关键树枝方向向量提取模块流程图;
[0070]
图7是可见光图像中树枝信息提取模块流程图;
[0071]
图8(a)~8(d)是opencv形态学处理阶段效果图,其中:图8(a)是去背景图,图8(b)是绿色掩模,图8(c)是有许多噪点的树枝图像,图8(d)是去噪后的树枝图像;
[0072]
图9是关键树枝信息提取模块流程图;
[0073]
图10是树枝方向向量求取模块流程图;
[0074]
图11是夹角θ与夹角θ方向的求取模块流程图;
[0075]
图12(a)~12(d)是夹角θ及其方向求取效果图;
[0076]
图13(a)~13(f)是出现角度、方位偏差情况的可见光图及此时关键树枝可见光图示意图;
[0077]
图14是成功定向花穗与已定位花穗个数对比柱状图;
[0078]
图15是本例中,采用本方法及系统的本实施例的技术路线示意图;
[0079]
图16是本例的花穗目标位置参数提取模块流程图;
[0080]
图17是本例的花穗中心点世界坐标获取改进方案流程图;
[0081]
图18(a)~图18(d)是完整树枝与关键树枝示意图,其中:图18(a)示意为花穗识别框,图18(b)示意为膨胀识别框后的掩模,图18(c)示意为提取到的完整树枝,图18(d)示意为关键树枝;
[0082]
图19(a)~图19(b)是去噪前后关键树枝最小包围矩形框对比,其中:图19(a)示意为去噪前,图19(b)示意为去噪后;
[0083]
图20(a)~图20(b)是不同情况向下树枝特征点与二维方向向量示意图,其中:图20(a)示意为只有一段关键树枝,图20(b)示意为有两端关键树枝。
具体实施方式
[0084]
下面结合附图据与具体实施方式对本案进一步说明:
[0085]
本实施例中,首先采集银杏花穗的可见光图片和深度图像,并识别出花穗目标,方
法是采用基于深度传感器的银杏花穗数据采集和处理,采用intel realsense sr300深度传感器对银杏花进行拍摄采集视频数据,优化了传感器存储视频的读取,实现rgb图和深度图以视频流的形式同步识别定位银杏花穗;利用ssd模型对银杏花穗进行识别定位,并在模型中加入了提取深度图中深度信息的模块,实现了目标三维定位;基于realsense开发包的银杏花穗定位;利用realsense开发包,运用opencv坐标映射,将花穗的行列坐标转换成世界坐标,实现花穗定位。本实施例中关于目标检测(银杏花穗定位)参考如15。
[0086]
参考图16,可见光视频流被一帧帧截取并输入到ssd框架中,ssd框架对rgb图中的银杏花穗进行识别,生成识别框像素信息,利用识别框像素信息计算花穗中心点像素坐标,存储识别框与中心点的像素坐标并输出。
[0087]
参考图17,获得花穗目标中心世界坐标的方法是,读取深度传感器后内参后,将深度图转换成640行480列的矩阵,矩阵中每一个位置对应深度图像相同位置的像素点,每个位置内的数值代表着对应像素点的深度信息,对识别框范围内的非0数值求均值,利用该均值与花穗中心点像素坐标进行坐标转换与映射,最终获取世界坐标系下花穗中心点的坐标。
[0088]
一、银杏花穗定向算法设计
[0089]
1)对花穗目标与附近树枝进行三维空间数学建模。
[0090]
图2为树枝三维空间数学建模图,其中坐标原点与相机坐标系原点重合,x轴代表前后方向,y轴代表左右方向,z轴代表上下方向,该模型在相机坐标中图中圆柱体模拟树枝,向量花穗方向向量集为{v},向量v1、v2、v3为向量集{v}中不同花穗的方向向量,向量u为树枝方向向量;地面π,竖直平面β,基面α为过圆柱轴线并垂直于竖直平面β,正交平面γ为与花穗方向向量v1共面、且同时垂直于基面α和竖直平面β;花穗方向向量为花穗目标中心点与中心点向附近树枝垂直投影垂足连线,方向由垂足指向花穗目标中心点;树枝方向向量为花穗目标附近树枝段所在三维直线的矢量表达方向由树枝右端指向树枝左端。花穗方向向量与树枝方向向量垂直。
[0091]
银杏花穗定向算法的目的为判定花穗目标与树枝的相对位置关系,得到花穗与树枝的相对角度,从而指导采摘机构实现全方位采摘,定向算法最终的目的为:
[0092]
能求取树枝方向向量;
[0093]
能获取花穗目标中心点向附近树枝垂直投影所得垂足的世界坐标,从而获得花穗方向向量;
[0094]
能通过花穗方向向量与树枝方向向量,判定花穗目标与树枝目标的相对位置关系;
[0095]
能计算出花穗目标方向相对于基面α的角度,能通过判断花穗在正交平面γ的上方还是下方,从而在采摘花穗时,采摘机构的控制部分根据这些信息来确定需要向哪个方向运动,运动多少角度。
[0096]
2、花穗定向算法设计:
[0097]
2.1)关键树枝方向向量的求取
[0098]
关键树枝为花穗目标附近的树枝段。树枝方向向量为树枝所在直线的矢量表达,只需要找到能表达树枝所在直线的特征点,就能获取树枝方向向量。可见光图像中呈现的内容较多,直接提取树枝特征点较为困难,需对可见光图片进行图像处理,去除与树枝无关
的内容,如背景、叶子、花穗等,再截取花穗目标附近树枝,从而找到能表达附近树枝段的特征点,再结合深度图像中特征点的深度信息,进行坐标映射与转换,最终得到树枝段特征点的世界坐标,进而获得关键树枝的树枝方向向量。
[0099]
2.2)花穗方向向量的求取
[0100]
运用垂足公式(1)求取花穗目标中心点向树枝方向向量垂直投影点的世界坐标,结合花穗目标中心的世界坐标,获取花穗方向向量。
[0101][0102]
式中:
[0103]
f为直线方向向量(列向量),这里为树枝方向向量
[0104]
p为直线外一点坐标向量,这里为花穗目标中心点世界坐标向量
[0105]
p0为直线上一点的坐标向量,这里为已经求取到的树枝特征点世界坐标向量.
[0106]
2.3)花穗方向向量与基面α夹角θ的求取
[0107]
如图3所示,图中向量v1为花穗方向向量,向量u为树枝方向向量,向量a为竖直向量,向量b1为角度参考向量。设竖直向量a坐标为(0,0,1),向量a方向为竖直向上,与竖直平面β共面,向量a与树枝方向向量的向量积为角度参考向量b1。角度参考向量b1的方向为垂直于竖直平面β,指向于竖直平面β前面;角度参考向量b1平行于基面α和竖直平面β,即与基面α和竖直平面β的交线平行。由于正交平面γ与基面α垂直,且花穗方向向量v1与正交平面γ共面,花穗方向向量与基面α的夹角θ即为花穗方向向量与角度参考向量b1的夹角θ,利用两个空间向量夹角公式(2),获取夹角θ的余弦值,通过反正弦函数求出夹角θ的值。
[0108][0109]
式中:向量x(x1,x2,x3)为花穗方向向量,这里为向量v1;向量y(y1,y2,y3)为角度参考向量,这里为向量b1。
[0110]
2.4)花穗向量在竖直平面β前面还是后面的判断
[0111]
如图3所示,向量v1和向量v2为花穗方向向量,向量v1指向竖直平面β的前面,向量v2指向竖直平面β后面,夹角θ为花穗方向向量v1与角度参考向量b1的夹角,夹角θ2为花穗方向向量v2与角度参考向量b1的夹角。通过花穗方向向量与基面α的夹角θ大小可以判定花穗方向向量在竖直平面β的前面还是后面,从而判定采摘机构是否需要绕过树枝进行采摘,如图2所示,花穗方向向量v1在竖直平面β前面,其夹角θ为锐角,花穗方向向量v2在竖直平面β后面,其夹角θ2为钝角。通过判断花穗方向向量与角度参考向量的夹角为锐角还是钝角,可以判断花穗向量在竖直平面β的前面还是后面。当夹角θ小于90
°
时,说明花穗在竖直平面β的前面,采摘机构无需绕过树枝对花穗进行采摘,当夹角θ大于90
°
时,花穗在竖直平面β的后面,采摘机构需要绕过树枝对花穗进行采摘,由于向量的夹角θ范围为[0
°
,180
°
],因此无法再通过夹角θ的大小判断花穗方向向量再的上面还是下面,需进行进一步判断。
[0112]
2.5)花穗方向向量在基面α的上面还是下面的判断
[0113]
如图4所示,向量v和向量v’分别为花穗方向向量,向量u为树枝方向向量,向量b1为角度参考向量,向量b2与向量b2′
为方向参考向量,方向参考向量b2′
由花穗方向向量v与角度参考向量b1进行数量积运算得到,方向参考向量b2′
由花穗方向向量v’与角度参考向量
b1进行数量积运算得到,向量b2′
与向量u同向,向量b2与向量u反向,方向参考向量b2与b2′
垂直于正交平面γ,平行于树枝方向向量u。图4-11中,花穗方向向量v指向基面α上面,其方向参考向量b2与树枝方向向量反向,花穗方向向量v’指向基面α下面,其方向参考向量b2′
与树枝方向向量同向。向量的同向与反向可以通过数量积进行判断,当两个向量同向时,这两个向量的数量积大于0,当两个向量反向时,这两个向量的数量积小于0。通过判断方向参考向量与树枝方向向量数量积的正负,可以判定花穗方向向量在基面的下面还是上面。当方向参考向量与树枝方向数量积小于0时,两个向量反向,花穗向量在基面α的上面,当方向参考向量与树枝方向数量积大于0时,两个向量同向,花穗向量在基面α的下面。
[0114]
二、银杏花穗定向算法开发
[0115]
银杏花穗定向算法包括两大模块:关键树枝方向向量的求取模块、夹角θ和夹角θ方向的求取模块。
[0116]
如图5(a)和图5(b)所示,图5(a)为建模时所用的世界坐标系,原点设为与相机坐标重合,单位为米,其中xw轴表示三维空间中的前后方向,指向前方,yw轴表示三维空间中的左右方向,指向右侧,zw轴表示三维空间中的上下方向,指向上方,坐标系中某点坐标为(xw,yw,zw);图5(b)为像素坐标系通过cv2坐标映到的相机坐标系,像素坐标系中原点o在图像的左上角,x轴指向图像右侧,单位为像素,y轴指向图像侧,单位为像素,z轴由可见光图像与深度信息融合得到,指向图像里面,单位为米,映射转换而来的相机坐标系原点与相机镜头重合,单位为米,xc轴表示三维空间中的左右方向,指向右侧,yc轴表示三维空间中的上下方向,指向下方,zc轴表示三维空间中的前后方向,指向后方,相机坐标系下某点坐标为(xc,yc,zc)。由于建模使用的世界坐标系与相机坐标系不同,三维空间中同一点在两个坐标系中的描述不同,因此,需将图5(b)中相机坐标系通过矩阵变换映射到图5(a)中建模所用的世界坐标。
[0117]
在对关键树枝建模时,已经假设世界坐标系与相机坐标系的原点重合,因此,两个坐射得标系之间只需要进行旋转变换。将图5(a)中的世界坐标系设为{w},图5(b)中的相机坐标系设为{c},同一点p在两个坐标系{w}和{c}中w
p
和c
p
的描述具有如下关系:
[0118][0119]
式中,为旋转矩阵,这里为:
[0120][0121]
1)关键树树枝方向向量求取模块
[0122]
关键树枝方向向量的求取模块分为三大子模块,分别为提取可见光图像中树枝信息模块、关键树枝提取模块,树枝方向向量求取模块,其流程如图6所示。
[0123]
1.1)提取可见光图像中树枝信息模块
[0124]
首先在可见光图像中去除与树枝无关的内容,如背景、花穗、叶子等,从而提取树枝信息。去除可见光图像中的背景,需要深度信息与可见光图像信息融合,从而将可见光图像中地面等远距离背景去除;去除花穗、叶子等物体,可以利用树枝与花穗、叶子颜色不同的特点采用opencv阈值分割。
[0125]
提取可见光图像中树枝信息模块的流程如图7所示。设置所需要去除背景的距离
范围,在深度图中选中这些范围的像素点,对应到可见光图像中相同行列坐标的像素点,将这些像素点的像素值设为0,如图8(a)所示,图中呈现树枝、花穗和叶子等近距离的物体,远距离的背景全为黑色,但是由于可见光与深度图像存在短时间的不同步,使得在对应可见光图像与深度图像时出现偏差,导致一些背景未完全去除,图8(a)中a区域花穗边缘存在背景未去除完全的现象;去完背景的可见光图由rgb色彩空间转换成hsv色彩空间,提取hsv色彩空间中绿色阈值部分并设置成掩模,掩模与去完背景的可见光图像进行图像的按位与运算,获得只有叶子与花穗的可见光图像,如图8(b)所示,图中只有叶子和花穗等绿色像素点;将只有叶子和花穗的可见光图与去完背景的可见光图进行图像的按位异或运算,从而去除去完背景可见光图中的绿色部分,获得只有树枝的可见光图像,如图8(c)所示,可见光图像中呈现出树枝部分,由于在去背景中出现背景未完全去除的现象,使得图中出现很多灰色细长噪点,需对图像进行去噪处理;采用形态学操作中的开运算进行处理,即对图像先进行腐蚀再进行膨胀,膨胀核的大小设置为10
×
10,如图8(d)所示,大部分的灰色细长噪点已经被去除。
[0126]
1.2)关键树枝提取模块
[0127]
由于采用花穗中心点的世界坐标系与树枝垂直投影点连线方向来表达花穗与树枝的相对位置,因此,只需要获取银杏花穗识别框附近树枝的三维信息便可达到定向要求,在对银杏树树枝观察后发现,树枝大多呈现直线,有些弯曲的树枝曲率也很小,因此,银杏花穗识别框附近树枝可以近似认为是直线。在对识别框进行膨胀放大,从而获取可见光图像中关键树枝信息。由于可见光图像在去除背景、叶子和花穗之后获得的树枝图像不连续,因此需要对识别框膨胀的范围进行不断试验,得到最佳的框选效果。试验多次后,先将识别框上下范围扩大400,左右范围扩大200,再对识别框进行形态学膨胀操作,膨胀核为15
×
15,此时对识别框附近树枝图像提取效果最好,但仍有一些噪点存在,影响树枝方向向量的提取。
[0128]
提取关键树枝信息模块的流程图如图9所示,对识别框进行放大,再进行形态学核为15
×
15的膨胀处理,将处理完的识别框内像素点的像素设置为255制作成掩模,掩模与树枝图像进行图像按位与运算获得识别框附近的树枝图像,如图18(a)为已经进行识别的可见光图像,图18(b)为将花穗识别框扩大、膨胀后获得的识别框掩码,图(18c)为中提取到的图18(a)中完整树枝,图18(d)为图18(b)和图18(d)按位与运算提取到的关键树枝。
[0129]
1.3)树枝方向向量获取模块
[0130]
利用形态学smallest-rectangles操作对关键树枝求取最小包围矩形框,获得该最小外接矩形的中心像素坐标,矩形的宽度和高度,以及相对于像素坐标系x方向的旋转角度。从而可以求取截取树枝段上的两个特征点,利用这两个点的三维坐标,拟合树枝三维直线。由于在之前去噪操作中,仍然有一些噪点未去除,在求取最小包围矩形框时,会将一些噪点也列入进行包围操作,影响树枝的三维拟合,因此在求取最小包围矩形框时,需将一些噪点过滤。观察到一部分噪点的最小外接矩形框,其矩形框长宽比很大,可以通过设置长宽比范围来过滤一部分噪点,所获得的宽度和高度并不是按照长度大小区分,宽度指旋转角度的参考边,高度为另一条边,获得传统意义上的矩形的长宽需按照获得的高度值和宽度值进行划分;还有一部分噪点的矩形框与截取树枝段的矩形框相比,长宽比近似,但是比较小,可以通过设置面积阈值来过滤这一类的噪点。
[0131]
在对一帧帧可见光图像的识别过程中,有一些帧的图中有一个最小包围矩形框,有一些帧中有多个最小包围矩形框,对以上情况进行分类讨论:当一帧图像中出现一个最小包围矩形框时,利用最小矩形框求取的长宽和旋转角度求取截取树枝段上距离最远的两个点,以这两个点为特征点作为树枝方向向量的端点;当一帧图像中出现多个最小包围矩形时,选取其中两个矩形框的中心点为特征点作为竖直方向向量的端点,在求取特征点的三维信息,即特征点在世界坐标系的坐标时,采用求取花穗目标中心点世界坐标时的改进方案,以对应深度图像中最小矩形包围框范围内深度信息非0的像素点的深度信息均值来代替特征点的深度信息,从而减少深度信息为0,像素坐标无法转换成世界坐标的情况。
[0132]
树枝方向向量求取模块流程图如图10所示。使用cv2的findcontour函数提取关键树枝的轮廓,再运用cv2的minarearect函数获取关键树枝轮廓的最小包围矩形框,返回值为最小包围矩形框的中点的行列坐标、矩形框的宽和高以及矩形框相对于x轴正向的旋转角度;区分矩形框宽和高的长短,从而判定矩形框的长和高;通过最小包围矩形框的长和高以及旋转角度,求取树枝段相距最远两个点的行列坐标作为关键树枝特征点备用。
[0133]
利用cv2的contourarea函数求提取到轮廓的面积,通过最小包围矩形框的长宽比以及关键树枝轮廓面积对一些误认为是关键树枝而被最小包围矩形框包围的噪点进行过滤,如图19(a)和图19(b)所示,图中蓝色圆的圆心为矩形框左边宽的中点,红色框为矩形框右边宽的中点,图19(a)为去噪前关键树枝最小包围矩形框情况,可以看出噪点很多,对关键树枝特征点影响很大,图19(b)为去噪后关键树枝最小包围矩形框情况,根据长宽比和矩形面积去噪后,关键树枝包围框提取准确。
[0134]
对一帧可见光图像中出现最小包围矩形框的个数进行讨论,从而判定以哪些点来作为树枝方向向量特征点;如图20(a)和图20(b)所示,蓝色点表示最小包围矩形框左边宽的中点,红色表示最小包围矩形框后边宽的中点,绿色线段为空间方向向量在图像中的投影,图20(a)只提取到一个最小包围矩形框,那么关键树枝特征点为这个矩形框短边的中点,图20(b)中提取到两个最小包围矩形框,那么关键树枝特征点为两个矩形框中点的连线。求取矩形框内的深度信息非0像素点像素值的均值,结合特征点的行列坐标,获取特征点的世界坐标,从而获取树枝方向向量,方向为从右到左。
[0135]
2)夹角θ及其方向求取
[0136]
花穗向量与基面α夹角θ及其方向求取模块可以分为两大子模块,分别为花穗方向向量的求取、夹角θ的求取与夹角θ方向的求取。该模块流程如图11所示。
[0137]
2.1)花穗方向向量求取模块:
[0138]
如图11所示,花穗方向向量的起始点为花穗目标中心点向附近树枝的垂直投影点,终点为花穗目标中心点(花穗目标的中心点世界坐标在定位中已经得到)。结合垂足公式,定义求垂足函数,计算出投影点的世界坐标。
[0139]
2.2)夹角θ及其方向求取模块:
[0140]
如图11所示,竖直向量a(0,0,1)与树枝方向向量进行空间向量数量积的坐标运算,得到每一段关键树枝的角度参考向量b1。结合两个空间向量夹角公式(2),定义空间向量夹角计算函数,在函数中带入花穗方向向量和角度参考向量,获取到夹角θ的值。花穗方向向量与参考方向向量进行空间向量数量积的空间运算,得到方向参考向量b2,将树枝方向向量与方向参考向量b2进行数量积运算,得到数量积k,通过数量积的正负判断夹角θ的
方向,即判断出花穗方向向量再基面α的下面还是上面。结合夹角θ和夹角θ的方向,可以指导采摘机构进行银杏花穗采摘的位姿设计。当夹角θ大于90
°
,且数量积k小于0时,采摘机构需要向上绕过θ
°
树枝进行花穗采摘;当夹角θ大于90
°
,且数量积k大于0时,采摘机构需要向下绕过θ
°
树枝进行花穗采摘;当夹角θ小于90
°
,且数量积k小于0时,采摘机构向上θ
°
进行采摘,无需绕过树枝;当夹角θ小于90
°
,且数量积k大于0时,采摘机构向下θ
°
进行采摘,无需绕过树枝。为在可见光图像中直观地呈现算法定向指示,在可见光图像中以直线箭头表示不需绕过树枝进行采摘,圆弧箭头表示需要绕过树枝采摘,箭头的方向表示绕行的方向,向下表示采摘机构需要向下绕,向上表示采摘机构需要向上绕,箭头旁边的绿色数值表示采摘机构需要绕行的角度。
[0141]
3定向结果与分析
[0142]
为对定向结果进行量化评价,定义三类名词:方位正确、角度正确、定向正确、可正确引导,见表1。
[0143]
表1定向结果名词及定义
[0144][0145]
注:
[0146]
1.花穗与所在树枝的前、后位置定义参考花穗向量与竖直平面的前后关系,花穗在树枝前面为花穗向量在竖直平面前面,花穗在树枝后面为花穗向量在竖直平面后面。
[0147]
2.花穗与所在树枝的相对角度定义参考花穗向量与基面的夹角。
[0148]
如图12(a)~图12(d)中所有花穗,属于定向正确范畴,可以正确引导花穗进行采摘。图12(a)中a框内花穗在树枝的前面,框内出现直线箭头,方位正确,花穗在树枝的斜下方,框内箭头向下且显示夹角为57
°
,角度正确,因此指导采摘机构需向下57
°
对花穗进行采摘,b区域内两个花穗在树枝后面,花穗识别框内都出现圆弧箭头,方位正确,花穗在树枝斜向上方,左、右识别框内箭头都向上且显示夹角为148
°
、98
°
,角度正确,因此指导采摘机构需分别向上148
°
、98
°
绕过树枝对左、右两边花穗进行采摘,c框内花穗在树枝前面,框内出现直线箭头,方位正确,花穗在树枝斜上方,框内箭头向上且显示夹角为10
°
,角度正确,因此指导采摘机构,需向上10
°
对花穗进行采摘,d区域内两个花穗在树枝前面,花穗识别框内都出现直线箭头,方位正确,花穗在树枝斜上方,左、右识别框内箭头都向上且显示夹角为83
°
、66
°
,角度正确,因此指导采摘机构需分别向上83
°
、66
°
对左、右两个花穗进行采摘;图12(b)中花穗在树枝后面,识别框内出现圆弧箭头,方位正确,花穗在树枝斜下方,框内箭头向下且显示夹角为164
°
,角度正确,因此指导采摘机构向下164
°
对花穗进行采摘;图12(c)中两个花穗都在树枝的后面,两个识别框内分别出现圆弧箭头,方位正确,花穗在树枝斜上方,左、右框内箭头向上且显示夹角为107
°
、115
°
,因此,指导采摘机构需分别向上107
°
、105
°
绕过树枝对左、右两边花穗进行采摘;图12(d)中a区域内三个花穗都在树枝的前面,三个花穗识别框内出现直线箭头,方位正确,花穗在树枝斜下方,左、中、右框内箭头向下且显示夹角为60
°
、58
°
、73
°
,角度正确,因此指导采摘机构分别向下60
°
、58
°
、73
°
对左、中、右两
个花穗进行采摘,b区域内三个花穗从都在树枝的前面,三个花穗识别框内分别出现直线箭头,方位正确,花穗在树枝斜下方,左、中、右框内箭头向下且显示夹角为89
°
、89
°
、87
°
,角度正确,因此指导采摘机构分别向下89
°
、89
°
、87
°
对左、中、右两个花穗进行采摘。
[0149]
但定向时会出现方位、角度偏差的情况。出现偏差的原因主要有两类:一类是花穗周围未提取到关键树枝,使用其他花穗的关键树枝替代,如果两个花穗距离较远,会使得花穗出现定向偏差,主要出现在叶子、花穗密集,提取到的关键树枝较少的情况。如图13(a)中花穗a在树枝前面,采摘中不需要绕过树枝对其采摘,但是算法给出的结果显示为圆弧箭头,示意需要绕过树枝采摘,方位出现偏差,而b区域内的三个花穗均定向正确,图13(b)为图13(a)对应的关键树枝,图中白色矩形框为这一段关键树枝的最小包围矩形框,关键树枝特征点以绿色线段相连,花穗a附近由于叶片、花穗遮挡在其识别框的膨胀范围内并未截取到符合要求的关键树枝,而图13(a)中花穗b截取到关键树枝,因此在图13(a)所有花穗定向都依据这一小段关键树枝。在获取关键树枝特征点时,为提高关键树枝特征点三维信息提取成功率,取深度信息均值的范围设为整个关键树枝区域,当一帧图片中只获得一段关键树枝,关键树枝两个特征点的深度信息一致,即这一段树枝没有远离或靠近树枝的趋势,而花穗a在花穗b的左侧,且真实世界中树枝的趋势为从右向左逐渐远离镜头方向,因此,判定花穗a在关键树枝的后面,出现定向偏差。图13(c)花穗a在树枝后面,采摘中需要绕过树枝采摘,算法给出的结果显示为圆弧箭头,方位正确,但是圆弧箭头向下,花穗应该在树枝上方,角度出现偏差,b区域内所有花穗均定向正确,图13(d)为图13(c)对应的关键树枝,由于花穗a周围树叶密集,未提取到花穗a所在树枝,因此花穗a是定向都依据b区域内的关键树枝,由于一整段树枝上突,而获取到的关键树枝在整段树枝的右侧,花穗a在关键树枝所在直线的下方,导致算法判定花穗需要向下采摘,显示向下箭头,但b区域内花穗花穗定位均正确,由此可以得出,当提取到花穗附近树枝为关键树枝时,算法定位精确,当花穗定位所依据的关键树枝距离树枝较远是,存在方向、角度出现偏差的情况。
[0150]
第二类是关键树枝仍然存在噪点,最小矩形包围框将噪点包围,并认定噪点为关键树枝,从而出现定向偏差,如图13(f)中,关键树枝段应当是a矩形框所包围的树枝段,但是,由于噪点与关键树枝的矩形框的长宽比、面积区别不大,因此未在去噪阶段将噪点去除,将树枝下端两个噪点的矩形框认为是树枝方向向量的特征点,导致图13(e)中b区域和c区域原本在树枝下方的花穗,算法判定其方向为向上,出现明显的定向偏差。
[0151]
对已进行花穗定位检测的10段视频进行定向成功率检验,在算法中对被定向的花穗进行计数统计,其检测情况如图14所示。在采集时每段视频时间都控制在30~40s,因此,花穗越多,图像复杂程度越大,第5段视频被识别的花穗最多有767个,其中5个花穗未被定向,第8段视频被识别的花穗最少235个,其中也是5个花穗未被定向,说明定向成功率与画面复杂程度无关,定向算法应用场景广,10段视频中,最多有6个被识别的花穗未被定向,最少有1个被识别的花穗未被定向,平均每段视频有3个花穗未被定向,说明定向算法稳定。10段视频总计定位3638个被识别的花穗,其中被定向的花穗共有3606个,定向定向输出率达到99.12%,定向输出率高。为评估花穗定向准确的比率,将上述10段视频定向情况可见光图像按帧截取,共计1134张图像,随机在1134张图像中每十张选取一张进行定向正确率人工评价,共计113张图像,所有图像中共定向401个花穗,有329个花穗定向准确,定向准确率达到82.04%。
[0152]
实现花穗目标在三维世界中的定位,确定了花穗在真实世界的位置,定位率达到95.8%;实现花穗目标在三维世界中的定向,为银杏花穗智能采摘的避让枝条动作提供实时定向数据引导,定向输出率达到99.12%,但由于关键树枝作用域过大和图像中噪点影响会出现定向偏差现象,定向准确率达到82.04%。
[0153]
结论
[0154]
为得到花穗与树枝的相对夹角,本发明进行花穗的定向研究,对关键树枝进行三维空间的数学建模,利用opencv工具进行定向算法的设计与开发,实现了对花穗的定向,可以为银杏花穗智能采摘的避让枝条动作提供实时定向数据引导,定向输出率达99.12%,定向正确率达82.04%。
[0155]
在实验时候,利用intel realsense sr300深度传感器对银杏花穗进行图像采集,存储可见光图像和深度视频流,利用rs-convert对视频流进行数据处理,筛选出图片。对局部花穗、树枝进行三维建模,利用空间向量关系,成功获得花穗与树枝的相对角度,实现定向,成功定向率达到99.12%。可以指导采摘机构是否绕过树枝以及给定绕转角度进行采摘。
[0156]
利用建立的树枝三维空间模型以及定向算法,经过可见光与深度信息融合,获取三维空间下关键树枝的三维信息,结合花穗目标的三维信息,可以获取花穗目标与关键树枝的深度的相对夹角及方向,从而实现花穗成功定向,指导采摘机构是否绕过树枝以及以给定采摘转角。
[0157]
银杏花穗定向发法的设计与开发填补了在林果采摘智能化领域对特定采摘目标物的定向研究的空白。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献