1.一种基于注意力机制和改进pv-rcnn网络的枸杞枝条识别定位方法,其特征在于,包括以下步骤:
11)训练样本的收集和预处理:通过双目相机获取枸杞树不同角度的20张图像,构建三维模型获得三维点云,对三维点云进行标注,对枝条末端关键点建立半径为r的球体作标注;
12)三维点云的体素化处理:将三维点云经过volexnet网络进行体素化处理,形成多个栅格;其中,点云输入区域的大小为(l,w,h),每个栅格的大小为(l,w,h),共有栅格个数为(l/l,w/w,h/h),每个栅格中点云数量设置为8;
13)构建枸杞枝条及其关键点检测网络:基于pv-rcnn网络构建枸杞枝条及其关键点检测网络,并在枸杞枝条及其关键点检测网络的pv-rcnn内融合注意力机制获得枸杞枝条及关键点目标定位的精修网络;
14)训练枸杞枝条及其关键点检测网络:利用训练样本对枸杞枝条以其关键点检测网络进行训练;
15)待识别枸杞枝条图像的收集和预处理:获取双目相机拍摄的待识别枸杞树不同角度的20张图像,利用已构建的三维模型获得待识别的三维点云,并对待识别的三维点云进行体素化处理;
16)枸杞枝条的识别和定位:将处理后待识别的三维点云数据输入训练后的枸杞枝条及其关键点检测网络,获得枸杞枝条和枝条末端关键点位置,实现枸杞枝条的识别与定位。
2.根据权利要求1所述的基于注意力机制和改进pv-rcnn网络的枸杞枝条识别定位方法,其特征在于,所述构建枸杞枝条及其关键点检测网络包括以下步骤:
21)基于pv-rcnn网络构建枸杞枝条及其关键点检测网络,设定其输入层为:枸杞枝条三维点云进行体素化后的诸多栅格和枝条末端关键点半径为r的球体;
22)设定其特征提取层为:利用稀疏3d卷积网络对输入栅格及其关键点半径为r的球体进行多尺度逐层特征提取;对利用fps选取的相关点通过基于注意力机制的pointnet网络进行点云的特征提取;
23)在枸杞枝条及其关键点检测网络pv-rcnn内构建融合注意力机制的精修网络:基于注意力机制构建枸杞枝条及其关键点目标候选框的精准定位网络,作为目标回归精修网络;
24)设定基于改进pv-rcnn网络枸杞枝条及其关键点检测网络的输出层为枸杞枝条位置及其枝条末端关键点坐标。
3.根据权利要求1所述的基于注意力机制和改进pv-rcnn网络的枸杞枝条识别定位方法,其特征在于,所述训练枸杞枝条及其关键点检测网络包括以下步骤:
31)将诸多栅格和关键点半径为r的球体输入3d稀疏卷积神经网络中进行逐层特征提取;
稀疏卷积神经网络由四层c1、c2、c3、c4,3×3×3的3d稀疏卷积组成,逐层进行特征提取;
将c4特征图转换成俯视特征图,俯视特征图的大小为
根据特征图大小由rpn网络生成
32)利用fps选取的k个相关点并通过基于注意力机制的pointnet网络进行点云的特征提取;
33)目标回归精修网络的训练:将3dproposals对应的俯视图特征和k个相关点权重特征f′i进行级联;再利用fusion模型对级联后的结果和3dproposals卷积产生的注意力特征相乘进行融合;最后通过多层感知机获得精修的边界框3dbox精确位置;
34)在训练过程中进行损失函数的训练:损失函数包括rpn的多任务目标损失函数lrpn和回归框精修损失函数lrefine。
4.根据权利要求3所述的基于注意力机制和改进pv-rcnn网络的枸杞枝条识别定位方法,其特征在于,所述的利用fps选取的k个相关点并通过基于注意力机制的pointnet网络进行点云的特征提取包括以下步骤:
41)利用fps算法从三维点云中选取k个相关点,其公式如下:
κ={p1,p2,…,pk};
每一个相关点pi的特征表示如下:
其中,
42)计算相关点pi的特征fi的权重如下:
f′i=a(pi)⊙fii=1,2,3,...,k;
其中,λ(·)∈[0,1]为注意力网络,其值代表对应输入相关点的注意力向量,即该相关点的重要程度,fi是相关点pi的特征。
5.根据权利要求3所述的基于注意力机制和改进pv-rcnn网络的枸杞枝条识别定位方法,其特征在于,所述在训练过程中进行损失函数的训练包括以下步骤:
51)训练多任务目标损失函数lrpn,该损失函数包括分类任务损失函数lcls;目标回归框损失函数lboxreg;关键点回归损失函数lkeyreg::
当iou>0.6时,anchor被认为是正样本;当iou<0.45时,anchor被认为是负样本;其表达式如下:
lrpn=lcls+lboxreg+lkeyreg;
分类任务的损失函数lcls,其表达式如下:
其中,lcls(x,y)=-(xlog(y)+(1-x)log(1-y)),n+表示正样本个数,n表示负样本个数;
目标回归框损失函数lboxreg,其表达式如下:
其中,令σ=2;
训练关键点回归损失函数lkeyreg,其表达式如下:
其中,
52)训练包括枝条目标框和关键点目标框的3dbox回归框精修损失函数lrefine,其表达式如下:
其中,