掌桥专利:专业的专利平台
掌桥专利
首页

基于DCT-YOLOv5模型的实时番茄姿态检测方法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于一种基于深度学习的图像处理技术,具体涉及基于DCT-YOLOv5模型的实时番茄姿态检测方法。

背景技术

实时目标检测技术是近年来计算机视觉领域中的研究热门,这种技术包括对轻量级目标检测网络的设计、目标数据集的制作,模型部署载体的研究等。目前,基于图像序列的实时目标检测技术可实现计算机观察和检测图像序列中的目标,该技术在未来智能驾驶和机器人智能分拣中都有着代表性。其中,最潜在的应用之一在于实时,快速的智能分拣领域中,如果园中的智能机器人采摘系统。

近年来,将农业机器人应用于蔬果采摘的工作丰富且复杂。Irie等设计了一款收割机器人,首先用3D传感器检测芦笋是否可以收割,然后使用机械臂和末端执行器来进行芦笋的抓取和收割。Bachche等提出用伺服电机控制的抓取切割机器人来采摘园艺温室中的甜椒。Liu等训练了YOLOv3、ResNet50和ResNet152等深度网络来检测水果,从而证明了深度神经网络在水果识别方面的有效性。

在果园的智能机器人蔬果采摘系统中,检测的准确性是首先要考虑的因素。在早期基于卷积神经网络的目标检测任务中,Ross Girshick等人提出预先提取一系列候选区域,在候选区域上进行特征的提取的目标检测方法,该方法奠定了R-CNN系列方法的基础,并衍生出更加完美的Fast R-CNN,Faster R-CNN和Mask R-CNN目标检测模型。R-CNN系列包括最先进的Faster R-CNN模型在目标检测与识别上有着最高的图像识别精确度,但卷积网络模型都具有大量的层级和节点,所用到的参数达到几百万甚至几十亿,网络的这种计算密集性和存储密集性,会带来巨大的计算和内存消耗,不能满足快速、实时应用的需求;难以应用到计算量小、存储空间小的移动设备上。

智能机器人蔬果采摘系统的第二个重点就是实时性,之前的目标检测模型无法胜任实时性的要求。为了解决之前模型参数量过大,检测速度慢的缺点,Joseph Redmon等人提出了YOLO网络,并由此衍生出了YOLOv2,YOLOv3,YOLOv5等网络。此系列的网络将番茄检测任务直接当作回归问题来处理,将选择候选区和检测两个阶段合二为一。YOLO系列将识别与定位合二为一,结构简便,检测速度快。

虽然YOLO系列模型已经大大提高了检测速度,保证了一定的模型精度,但在检测被遮挡目标或微小目标时无法准确检测目标的姿态。同时,番茄的生长环境光照多变,也会影响检测精度。在原先的模型中加入动态卷积结构,注意力机制和transblock结构,能有效解决上述问题。

发明内容

本发明克服现有技术的缺点,提出一种易实现、适用性高的,DCT-YOLOv5番茄姿态检测模型,此网络在保证高精度的同时,可以实现快速的实时检测。

本发明以图像序列作为输入,首先利用DCT-YOLOv5模型对每帧图像进行目标检测与识别,该模型的基本单元由卷积层,Batch Normal层(BN层),LeakyRelu层,上采样层,transblock层,CA注意力机制层,动态卷积层组成,网络模型结构图见附图1。DCT-YOLOv5的网络结构可以分为输入端、Backbone、Neck、head四个部分。其中,输入端包括Mosaic数据增强、自适应锚框计算、自适应图片缩放等技术;Backbone包括Focus结构,CSP等结构;Neck包括CA注意力,FPN和PAN结构;head包括transblock结构,GIOU_Loss等技术。将DCT-YOLOv5模型部署在Jetson AGX Xavier开发板上,使用TensorRT加速推理。Jetson AGX Xavier开发板使用realsense深度摄像头采集番茄RGB图像数据,数据以图像序列的方式输入DCT-YOLOv5目标检测模型,模型对每帧图像进行目标检测与识别,输出图像中番茄的检测识别结果,包括番茄的中心位置和番茄中心距离摄像头的深度,方便机械手进行后续抓取。

本发明所采用的技术方案为:基于DCT-YOLOv5模型的实时番茄姿态检测方法其特征在于:包括如下步骤:

步骤1:设计DCT-YOLOv5主干网络及损失函数;

步骤2:通过人工拍摄的方式对各种生长形态的番茄进行图像数据采集;

步骤3:制作番茄数据集并进行训练;

步骤4:将DCT-YOLOv5模型部署到嵌入式系统上并使用TensorRT进行模型推理加速;

步骤5:使用realsense摄像头在Jetson AGX Xavier上进行实时番茄位置检测和深度检测。

所述步骤1具体步骤如下:

1.1):DCT-YOLOv5主干网络设计;

1.1.1):借鉴ResNet网络中的shortcut设计加深DCT-YOLOv5主体网络的深度,通过设定卷积层中的步长参数实现卷积层的下采样。除最后三层用于预测的卷积层之外,其余的卷积层后都添加Batch Normalization(BN)操作,并在BN层接LeakyRelu激活函数。使用动态卷积消除多变光照影响。网络中采用CSP模块先将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时保证准确率。借鉴FPN和PAN网络的模型结构,通过上采样操作对网络输出的三个特征图进行concat融合,达到多尺度预测的目的。使用CA注意力机制,融合纵向和横向注意力,辨别图像中的干扰枝干。加入tranblock模块,捕获图像全局注意力,准确识别番茄的生长姿态;

1.1.2):使用K-meas聚类方法和遗传算法,对数据集中的真实框进行聚类,得到九种锚框,每三种锚框对应一个尺度的特征图。此方法的目的是加速预测框的回归;

1.1.3):在网络前向推断中预测公式如下所示:

b

b

b

1.1.4):动态卷积实现公式如下所示:

β

1.1.5):CA注意力机制实现公式如下所示:

x

1.1.6):transblock结构实现公式如下所示:

Q=W

y=W(x)+MLP(Dropout(MultiHead(Q,K,V))+W(x)) (12)

W(x)为输入特征图经过一个卷积层,之后经过W

1.2):设计DCT-YOLOv5损失函数;

1.2.1):设计目标置信度损失函数;

1.2.2):设计目标类别损失函数;

1.2.3):设计目标定位损失函数;

1.2.4):通过权重系数得到最终的损失函数;

所述步骤3具体步骤如下:

3.1):对采集到的番茄图像样本进行预处理,建立番茄检测目标数据库;

3.2):用labelImg软件对图像中的检测对象进行手动标注,生成xml文件,xml文件中包含labelImg手动标注的番茄真实框的对应坐标值信息,以及每个框对应的标签信息;

3.3):将标注好的图像数据输入模型进行训练;

所述步骤4具体步骤如下:

4.1):对DCT-YOLOv5的backbone网络结构进行垂直整合,将卷积层,BN层,Relu层融合为一层。

4.2):对DCT-YOLOv5的backbone网络结构进行水平整合,将输入相同维度的张量和执行相同操作的层融合在一起。

4.3):将backbone中concat层的输入直接送入后面的操作中,减少传输吞吐量。

4.4):对DCT-YOLOv5的模型参数进行量化,从float32的格式改为float16的格式,加快模型的推理速度。

综上所述,本发明的优点在于,原始DC-TYOLOv5模型已具有高精度的检测效果,在此基础之上进行TensorRT的推理加速,使其能顺利部署在配置不高的嵌入式开发板上;且在TensorRT加速的过程中,融合之后的层与融合之前之前的层具有相同的性能,不会对模型性能造成太大的影响;将此模型在Jetson AGXXavier上通过TensorRT进行推理加速,得到最终的检测模型。此模型实现了在低配置嵌入式开发板上进行实时检测的功能。

附图说明

图1是本发明中DCT-YOLOv5模型的结构图;

图2是本发明中使用TensorRT加速模型推理的流程图;

图3是本发明中relasense实时检测的流程图。

具体实施方式

下面结合附图进一步说明本发明。

本发明的基于DCT-YOLOv5模型的实时番茄姿态检测方法具体过程如下:

1.1):DCT-YOLOv5主干网络设计,如图一所示;

1.1.1):理论上来说越深的网络,其能得到的检测效果就越好,准确率越高,但实验结果表明,网络层数的过度增加会使网络陷入过拟合,使得网络收敛变慢,检测准确率降低,并因为模型的计算成本增加更难部署在嵌入式设备上。为解决这个问题,DCT-YOLOv5主干网络借鉴了深度残差网络跳层连接结构。为了减少池化层带来的对梯度计算的影响,网络中的下采样操作都通过卷积层实现,卷积层的步长都设为2。大量实验表明,神经网络会出现每层之间数据分布不一致的问题,这会导致网络难以收敛和训练,为了解决这个问题,DCT-YOLOv5网络在除了最后三层用于预测的卷积层之外,对其余卷积层的输出都做了Batch Normalization操作,作为解决梯度消失及梯度爆炸,加速网络收敛,以及避免过拟合的方法。在每个BN层后,网络又引入了LeakyRelu函数作为激活函数,这层的作用是在网络中引入非线性组成。卷积层,BN层,LeakyRelu层共同构成网络的最小组件。为了对大小不同的番茄做到精确检测,DCT-YOLOv5借鉴了特征金字塔网络FPN(feature pyramidnetwork)和PAN,通过上采样操作对特征进行融合,根据Jetson AGX Xavier上的realsense摄像头采集到的图像对检测目标进行三个尺度的预测,本发明中尺寸为20*15的输出特征图感受野最大,专门用来检测大目标,尺寸为80*60的输出特征图感受野最小,专门用来检测小目标;

1.1.2):用K-Means++算法和遗传算法在番茄数据集上根据步骤1-1所述的3个检测尺度进行锚框聚类,生成9种大小的锚框,每种检测尺度分配3种锚框,锚框的作用是为了更快速更准确的回归检测框;

1.1.3):在网络前向推理中通过公式:

b

b

进行目标检测框的预测,最后得到预测框相对于当前特征图的相对中心坐标值b

1.1.4):在动态卷积通过公式:

进行卷积核的自适应变换。β

1.1.5):在CA注意力机制中通过公式:

实现网络横向和纵向注意力的提取。x

1.1.6):在transblock结构中通过公式:

Q=W

y=W(x)+MLP(Dropout(MultiHead(Q,K,V))+W(x)) (12)

实现图像全局特征的捕获,提高番茄姿态识别的准确性。W(x)为输入特征图经过一个卷积层,之后经过W

1.2):DCT-YOLOv5损失函数的设计;

1.2.1):目标置信度即目标检测框中存在目标的概率采用二值交叉熵损失函数,设计的目标置信度损失函数如下所示:

其中

1.2.2):目标类别损失函数同样采用二值交叉熵,设计的目标类别损失函数如下所示:

其中,

1.2.3):目标定位损失函数采用MSE损失函数,如下所示:

其中:

其中

1.2.4):将上述所有损失函数通过权值相加得到总损失函数:

L(O,o,C,c,l,g)=λ

2):通过人工拍照的方式对番茄进行图像数据采集,采集时需要拍摄不同光照,不同大小,不同角度,不同距离的番茄。

2.1):对采集到的目标图像进行数据增强,通过图像翻转、拉伸、旋转、裁剪扩充数据集,建立番茄检测数据集。

2.2):用labelImg软件对图像中的番茄进行框标注,生成xml文件,xml文件包含使用labelImg手动标注的真实框的坐标信息,以及每个框对应的标签。

3):将标注好的数据集输入模型进行正常训练,初始学习率设为0.01,Batch_size值设为16。

4):将模型部署到Jetson AGX Xavier嵌入式开发板上,并通过TensorRT进行前向推理加速,如图2所示;

4.1):对DCT-YOLOv5模型的backbone网络结构进行垂直整合,将卷积层,BN层,Relu层融合为一层。

4.2):对DCT-YOLOv5的backbone网络结构进行水平整合,将输入相同维度的张量和执行相同操作的层融合在一起。

4.3):将backbone中concat层的输入直接送入后面的操作中,减少传输吞吐量。

4.4):对DCT-YOLOv5的模型参数进行量化,从float32的格式改为float16的格式,加快模型的推理速度。

5):AGX Xavier外接realsense摄像头模块,使用realsense摄像头进行RGB图像采集,使用opencv处理视频流,并用加速之后的模型进行实时番茄位置和深度检测,如图3所示。

本说明书实施例所述的内容仅仅是对发明构思实现形式的例举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

相关技术
  • 基于DCT-YOLOv5模型的实时番茄姿态检测方法
  • 基于YOLOv5CA注意力模型的实时番茄检测系统
技术分类

06120114698502