CN115439731A - 一种农作物果实采摘的果实识别定位方法 - Google Patents
一种农作物果实采摘的果实识别定位方法 Download PDFInfo
- Publication number
- CN115439731A CN115439731A CN202211106382.7A CN202211106382A CN115439731A CN 115439731 A CN115439731 A CN 115439731A CN 202211106382 A CN202211106382 A CN 202211106382A CN 115439731 A CN115439731 A CN 115439731A
- Authority
- CN
- China
- Prior art keywords
- model
- yolov5s
- camera
- fruit
- coordinate system
- 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.)
- Pending
Links
Images
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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种农作物果实采摘的果实识别定位方法。本发明引入Ghostnet轻量化模块,得到GN‑YOLOv5s模型,由深度可分离卷积代替原始卷积层提取特征,减少网络计算量;再次,为进一步精简模型大小,在BN层引入关于缩放系数的正则化项进行稀疏训练,筛选出缩放因子γ为0‑0.005的通道,做出剪枝处理得到GS‑YOLOv5s模型;最后,为使剪枝后的模型保持较高的检测精度,采用知识蒸馏方法,以教师网络辅助剪枝后的模型微调得到PD‑yolov5s,降低硬件成本,同时在低算力平台便于部署。本发明能够降低网络复杂度,提升检测效率,使其能够部署到算力较小的嵌入式平台,并获得农作物密集果实的定位信息,为采摘机器人后续的动作规划奠定基础的有益效果。
Description
技术领域
本发明涉及一种果实识别定位方法,特别是一种农作物果实采摘的果实识别定位方法。
背景技术
当前采摘机器人广泛应用于农业领域,作为采摘机器人的关键技术,研究人员对农作物的果实目标检测与定位开展了大量研究。目标检测与定位的功能使采摘机器人能够对环境进行感知并指导采摘机器人末端执行器运动,从而完成采摘任务。
然而,现有的目标检测与定位方法在农业领域的应用存在以下缺陷。一是现有的目标检测模型比较复杂,存在参数量较多,计算量大等问题。因此,现有模型对硬件要求较高,可移植性较差,难以部署到算力有限的嵌入式平台。同时,目前采摘机器人的采摘效率还不够高,主要原因是在目标检测过程中,对图像处理的速度不够;二是自然环境下大多数农作物的果实呈类球形,果实比较密集,受树枝遮挡、果实重叠的现象普遍存在,常规果实识别算法是利用果实的颜色空间将果实与背景进行区分,经过进一步处理,识别出完整的果实,但这种算法无法准确的识别密集型果实;三是目前应用于农业领域的目标检测算法缺乏同时检测与定位的能力。
所以针对以上技术问题,本发明提出一种农作物果实采摘的果实识别定位方法。
发明内容
本发明的目的在于,提供一种农作物果实采摘的果实识别定位方法。本发明具有能够降低网络复杂度,提升检测效率,使其能够部署到算力较小的嵌入式平台,并获得农作物密集果实的定位信息,为采摘机器人后续的动作规划奠定基础的特点。
本发明的技术方案:一种农作物果实采摘的果实识别定位方法,包括有以下步骤:
步骤一、对农作物果实进行图像采集,建立果实数据集,为后续农作物果实识别奠定基础;
步骤二、将原始YOLOv5s模型中的C3_x结构替换为Ghostnet模块,得到GN-YOLOv5s模型,降低模型的参数量和计算量;
步骤三、将步骤二中得到的GN-YOLOv5s模型进行稀疏训练,得到GS-YOLOv5s模型,且稀疏训练首先以BN层的缩放因子γ作为评价通道重要性指标,为GS-YOLOv5s模型剪枝提供依据;
步骤四、设置剪枝率,将步骤三得到的GS-YOLOv5s模型中γ值为0-0.005的通道进行剪枝,移除被剪枝的通道的输入输出,然后对剪枝后的模型权重进行调整,最后调整剪枝率训练并重复这个过程,得到GP-YOLOv5s模型,进一步降低了模型参数量;
步骤五、将步骤二中的原始YOLOv5s检测模型作为教师模型,将步骤四得到的GP-YOLOv5s模型作为学生模型,通过步骤一中的原始YOLOv5s模型的完整输出,让步骤四得到的GP-YOLOv5s模型掌握步骤一中原始YOLOv5s模型的推理方式,步骤四得到的GP-YOLOv5s模型的分类损失函数如式(4)所示,坐标框损失函数如式(5)所示.最终蒸馏总体损失函数如式(6)所示;
其中,式6中:对应原始分类损失,为蒸馏分类损失,λD为权重系数,为更新后的教师模型预测目标,得到PD-YOLOv5s模型,使得最终得到的PD-YOLOv5s模型识别精度高于剪枝后的GP-YOLOv5s模型,降低替换原始YOLOv5s模型中的C3_x结构与剪枝对识别精度的影响,并且得到的GP-YOLOv5s模型能够部署到算力较小的嵌入式平台;
步骤六;相机标定:将双目相机水平固定,确保标定板在相机视野内,不断的改变标定板的位置和姿态,采集40-50组标定图片,选择不同角度的14-20组图片,使用MATLAB标定工具箱进行标定,得到双目相机参数,为农作物果实能够准确定位提供硬件支持;
步骤七、完成步骤六的相机标定后,利用步骤五中得到的PD-YOLOv5s模型输入双目相机,使双目相机的左右摄像头分别识别出的农作物果实检测框,将农作物检测框中心点作为目标点,记为P点,左相机的在像素坐标系下目标点P的坐标(XL,YL),记为PL(XL,YL);右相机的在像素坐标系下目标点P的坐标(XR,YR),记为PR(XR,YR);
步骤八、将步骤七中得到农作物果实目标点P的二维坐标使用SGBM立体匹配算法对双目相机左右摄像头获取的图片逐行进行匹配;步骤七中得到的P点在左右相机的投影平面上的像素坐标分别为PL(XL,YL)和PR(XR,YR),两相机的图像平面在同一水平面上,步骤七中得到的P点的坐标中Y=YL=YR,由三角关系可以得到如式(9)所示:
其中:f为相机焦距,b为左右相机光心距离,(XC,YC,ZC)为世界坐标系下点P的坐标;
将步骤七中得到的P点的视差XL-XR记为d,以左相机的坐标系作为世界坐标系,利用视差值,计算得到P点在左相机坐标系下的坐标,如式(10)所示为:
其中:b为左右相机光心距离,d为P点的视差,XL为左相机中目标点P在像素坐标系下的横坐标,Y为左相机与相机中目标点P在像素坐标系下的纵坐标;
根据式(10)计算得到的坐标(Xc,Yc,Zc)即为步骤七中得到的P点的三维坐标,因此解决了对农作物果实研究缺乏空间定位能力的问题。
前述的农作物果实采摘的果实识别定位方法中,所述步骤一中,对农作物果实进行图像采集后,然后对果实图像进行人工标注,绘制果实目标的外接矩形框,并标注被遮挡果实与未被遮挡果实两类,标注后完成后,建立果实数据集。
前述的农作物果实采摘的果实识别定位方法中,所述步骤二中,Ghostnet模块首先将果实数据集通过常规卷积,得到常规卷积特征图,然后由已生成的常规卷积特征图进行线性变换,生成新的相似特征图,最后将两组特征图中的信息进行组合,作为全部特征信息。
前述的农作物果实采摘的果实识别定位方法中,所述步骤三中,稀疏训练首先以BN层的缩放因子γ作为评价通道重要性指标,γ大小与通道重要性呈正相关,BN层的计算公式如下所示:
Zout=γ·Z^+β (1)
其中γ、β为BN层的归一化参数,Zm、Zout分别表示BN层的输入和输出,μ、δ分别代表BN层的均值和方差,ε表示一个范围为0-0.001的常量;
然后对BN层的γ参数引入式(3)中的正则惩罚项∑γg(γ),同时构建稀疏训练损失函数,稀疏训练损失函数如下所示:
L=∑(x,y)l(f(x,W),y)+λ∑γg(γ) (3)
其中∑(x,y)l(f(x,W),y)为步骤二中GN-YOLOv5s模型定义的损失函数,x表示输入矩阵、y表示输入标签、W表示模型的权重;λ∑γg(γ)是用来约束γ的正则项惩罚,其中λ=0.01用于平衡下两项损失,称为稀疏率。
前述的农作物果实采摘的果实识别定位方法中,所述步骤四中,设置65-75%的剪枝率,将步骤三得到的GS-YOLOv5s模型中γ值为0-0.005的通道进行剪枝,移除被剪枝的通道的输入输出,然后对剪枝后的模型权重进行调整,最后调整剪枝率训练并重复5-10次这个过程,得到GP-YOLOv5s模型。
前述的农作物果实采摘的果实识别定位方法中,所述步骤四中,GP-YOLOv5s模型检测精度不低于步骤(2)中GN-YOLOv5s模型的0.98倍,模型大小不高于步骤二中GN-YOLOv5s模型大小的0.5倍。
前述的农作物果实采摘的果实识别定位方法中,所述步骤七中,双目相机的左相机的透镜光心定义为OL,右相机的透镜光心定义为OR,OL用作左相机的相机坐标系的原点、OR用作右相机的相机坐标系的原点;将左右光心之间的距离为基线距离用b表示,两个相机的焦距用f表示。
前述的农作物果实采摘的果实识别定位方法中,所述步骤七中,通过式(7)计算出左相机的在像素坐标系下目标点P的坐标(XL,YL),记为PL(XL,YL),
其中:(Xmin,Ymin)表示左相机中果实检测框在像素坐标系下左上角图像坐标;(Xmax,Ymax)表示左相机中果实检测框在像素坐标系下右下角图像坐标;
通过式(8)计算出右相机的在像素坐标系下目标点P的坐标(XR,YR),记为PR(XR,YR);
其中:(Xmin,Ymin)表示右相机中果实检测框在像素坐标系下左上角图像坐标;(Xmax,Ymax)表示右相机中果实检测框在像素坐标系下右下角图像坐标。
前述的农作物果实采摘的果实识别定位方法中,所述步骤八中,SGBM立体匹配算法的主要流程分为四个部分,首先是预处理,对输入的图像进行预处理,获取梯度信息,用于后续成本计算,然后是将原图像和预处理得到的信息进行代价融合,接着从8-16个方向进行一维动态规划求解,每个方向都求出解,然后进行能量累积,将各个方向相加得到最终代价,最后是进行优化处理,将计算出的最终代价中最小的值作为匹配代价,具有匹配代价的视差作为最终视差,将获得的深度信息归一化得到视差图。
与现有技术相比,本发明具有以下有益效果:
农作物果实识别算法是采摘机器人的核心技术之一,然而,在自然环境下,大多农作物生长比较密集,现有的目标检测算法无法区分被枝叶遮挡或被其他目标果实遮挡的情况,如果将该算法直接应用到采摘机器人,采摘机器人无法准确地采集到农作物,甚至会损坏采摘机器人地机械臂或末端执行器。因此,本发明构建密集型农作物果实数据集,为后续农作物果实识别奠定基础。
其次,现有地目标检测算法比较复杂,存在参数量较多,计算量大等问题。因此,现有模型对硬件要求较高,可移植性较差,难以部署到算力有限的嵌入式平台。所以,本发明引入Ghostnet轻量化模块,得到GN-YOLOv5s模型,由深度可分离卷积代替原始卷积层提取特征,减少网络计算量;再次,为进一步精简模型大小,在BN层引入关于缩放系数的正则化项进行稀疏训练,筛选出缩放因子γ为0-0.005的通道,做出剪枝处理得到GS-YOLOv5s模型;最后,为使剪枝后的模型保持较高的检测精度,采用知识蒸馏方法,以教师网络辅助剪枝后的模型微调得到PD-YOLOv5s,降低硬件成本,同时在低算力平台便于部署。
本发明使用知识蒸馏并改进损失函数,最终得到PD-YOLOv5s模型,使模型在经过轻量化之后,能够提升PD-YOLOv5s的准确度。使用双目立体定位,解决密集型农作物果实缺乏定位信息的问题。
综上所述,本发明能够降低网络复杂度,提升检测效率,使其能够部署到算力较小的嵌入式平台,并获得农作物密集果实的定位信息,为采摘机器人后续的动作规划奠定基础的有益效果。
附图说明
图1是本发明农作物果实(辣椒)数据集的部分图片;
图2是本发明GN-YOLOv5s模型的结构示意图;
图3是本发明对GS-YOLOv5s模型的剪枝示意图,其中Ci1,Ci2,……,Ci2为GS-YOLOv5s模型的输入与输出;
图4为本发明PD-YOLOv5s模型的示意图;
图5为本发明农作物果实定位的流程图;
图6为本发明双目相机左相机在像素坐标系下果实目标点的二维坐标PL(XL,YL);
图7为本发明双目相机从像素坐标系的二维坐标到世界坐标系的三维坐标转换图;
图8是本发明对GN-YOLOv5s模型进行稀疏训练时,稀疏率为0.005时的缩放因子分布图;
图9是本发明对GN-YOLOv5s模型进行稀疏训练时,稀疏率为0.01时的缩放因子分布图;
图10是本发明PD-YOLOv5s识别农作物果实(辣椒)时的平均精度曲线;
图11是本发明PD-YOLOv5s识别农作物果实(辣椒)实时的检测图;
图12是本发明原始YOLOv5s的农作物果实(辣椒)实时检测图;
图13是本发明PD-YOLOv5模型的农作物果实(辣椒)实时检测图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。
实施例1、一种农作物果实采摘的果实识别定位方法,包括有以下步骤:
步骤一、对农作物果实进行图像采集后,然后对果实图像进行人工标注,绘制果实目标的外接矩形框,并标注被遮挡果实与未被遮挡果实两类,标注后完成后,建立果实数据集;
步骤二、将原始YOLOv5s模型中的C3_x结构替换为Ghostnet模块,得到GN-YOLOv5s模型;
其中Ghostnet模块首先将果实数据集通过常规卷积,得到常规卷积特征图,然后由已生成的常规卷积特征图进行线性变换,生成新的相似特征图,最后将两组特征图中的信息进行组合,作为全部特征信息;
步骤三、将步骤二中得到的GN-YOLOv5s模型进行稀疏训练,得到GS-YOLOv5s模型,且稀疏训练首先以BN层的缩放因子γ作为评价通道重要性指标,γ大小与通道重要性呈正相关,BN层的计算公式如下所示:
Zout=γ·Z^+β (1)
其中γ、β为BN层的归一化参数,Zm、Zout分别表示BN层的输入和输出,μ、δ分别代表BN层的均值和方差,ε表示一个范围为0-0.001的常量;
然后对BN层的γ参数引入式(3)中的正则惩罚项∑γg(γ),同时构建稀疏训练损失函数,稀疏训练损失函数如下所示:
L=∑(x,y)l(f(x,W),y)+λ∑γg(γ) (3)
其中∑(x,y)l(f(x,W),y)为步骤二中GN-YOLOv5s模型定义的损失函数,x表示输入矩阵、y表示输入标签、W表示模型的权重;λ∑γg(γ)是用来约束γ的正则项惩罚,其中λ=0.01用于平衡下两项损失,称为稀疏率。
步骤四、设置65-75%的剪枝率,将步骤三得到的GS-YOLOv5s模型中γ值为0-0.005的通道进行剪枝,移除被剪枝的通道的输入输出,然后对剪枝后的模型权重进行调整,最后调整剪枝率训练并重复5-10次这个过程,得到GP-YOLOv5s模型,且GP-YOLOv5s模型检测精度不低于步骤(2)中GN-YOLOv5s模型的0.98倍,模型大小不高于步骤二中GN-YOLOv5s模型大小的0.5倍;
步骤五、将步骤二中的原始YOLOv5s检测模型作为教师模型,将步骤四得到的GP-YOLOv5s模型作为学生模型,通过步骤一中的原始YOLOv5s模型的完整输出,让步骤四得到的GP-YOLOv5s模型掌握步骤一中原始YOLOv5s模型的推理方式,步骤四得到的GP-YOLOv5s模型的分类损失函数如式(4)所示,坐标框损失函数如式(5)所示.最终蒸馏总体损失函数如式(6)所示;
步骤六;相机标定:将双目相机水平固定,确保标定板在相机视野内,不断的改变标定板的位置和姿态,采集40-50组标定图片,选择不同角度的14-20组图片,使用MATLAB标定工具箱进行标定,得到双目相机参数;
步骤七、完成步骤六的相机标定后,利用步骤五中得到的PD-YOLOv5s模型输入双目相机,使双目相机的左右摄像头分别识别出的农作物果实检测框,将农作物检测框中心点作为目标点,记为P点,左相机的在像素坐标系下目标点P的坐标(XL,YL),记为PL(XL,YL);右相机的在像素坐标系下目标点P的坐标(XR,YR),记为PR(XR,YR);
双目相机的左相机的透镜光心定义为OL,右相机的透镜光心定义为OR,OL用作左相机的相机坐标系的原点、OR用作右相机的相机坐标系的原点;将左右光心之间的距离为基线距离用b表示,两个相机的焦距用f表示;
通过式(7)计算出左相机的在像素坐标系下目标点P的坐标(XL,YL),记为PL(XL,YL),
其中:(Xmin,Ymin)表示左相机中果实检测框在像素坐标系下左上角图像坐标;(Xmax,Ymax)表示左相机中果实检测框在像素坐标系下右下角图像坐标;
通过式(8)计算出右相机的在像素坐标系下目标点P的坐标(XR,YR),记为PR(XR,YR);
其中:(Xmin,Ymin)表示右相机中果实检测框在像素坐标系下左上角图像坐标;(Xmax,Ymax)表示右相机中果实检测框在像素坐标系下右下角图像坐标。
步骤八、将步骤七中得到农作物果实目标点P的二维坐标使用SGBM立体匹配算法对双目相机左右摄像头获取的图片逐行进行匹配;SGBM立体匹配算法的主要流程分为四个部分,首先是预处理,对输入的图像进行预处理,获取梯度信息,用于后续成本计算,然后是将原图像和预处理得到的信息进行代价融合,接着从8-16个方向进行一维动态规划求解,每个方向都求出解,然后进行能量累积,将各个方向相加得到最终代价,最后是进行优化处理,将计算出的最终代价中最小的值作为匹配代价,具有匹配代价的视差作为最终视差,将获得的深度信息归一化得到视差图;
步骤七中得到的P点在左右相机的投影平面上的像素坐标分别为PL(XL,YL)和PR(XR,YR),两相机的图像平面在同一水平面上,步骤七中得到的P点的坐标中Y=YL=YR,由三角关系可以得到如式(9)所示:
其中:f为相机焦距,b为左右相机光心距离,(XC,YC,ZC)为世界坐标系下点P的坐标;
将步骤七中得到的P点的视差XL-XR记为d,以左相机的坐标系作为世界坐标系,利用视差值,计算得到P点在左相机坐标系下的坐标,如式(10)所示为:
其中:b为左右相机光心距离,d为P点的视差,XL为左相机中目标点P在像素坐标系下的横坐标,Y为左相机与相机中目标点P在像素坐标系下的纵坐标;
根据式(10)计算得到的坐标(Xc,Yc,Zc)即为步骤七中得到的P点的三维坐标。
实验证明:
本发明训练过程在Ubuntu18.0、CUDA11.0环境下进行,GPU配置:NVIDIA GeForceRTX 3090,24GB显存,调用GPU进行训练。
所有实验训练参数设置:输入图片大小为640×640,优化器采用带动量的SGD优化器,初始学习率设置为0.001、批大小为16,共训练200轮,为了客观的评价对比改进的轻量化模型性能,从模型复杂度与精度两个方面对模型性能进行评估。评价指标包括模型参数量、浮点运算数、模型规模、平均准确度mAP、模型推理速度FPS。
1、实验所需图像均采集于贵州省农业科学院农作物种植基地,农作物果实处于绿熟成长期,为了正确反映农作物果实生长姿态及环境的复杂性,区分有遮挡及采集不同光照、不同角度条件下的图像,包括:无遮挡、无重叠农作物果实图像,果实部分重叠图像,叶片遮挡农作物果实(辣椒)图像,枝干遮挡农作物果实图像和叶片枝干混合遮挡农作物果实图像。采集设备为手机自带摄像头,对比度、饱和度、锐度设置为标准模式。所采集图像共2000张,俯视图片785张(正光462张,背光323张),平视图片1215张(正光871张,背光344张),部分原始图像如图1所示。利用“Labelling”的图像标注软件,绘制农作物果实目标的外接矩形框,实现农作物果实的人工标注,构建农作物果实数据集。
2、图2为步骤二中的GN-YOLOv5s模型图,图中GN-YOLOv5s模型骨干网络为Ghost模块、Conv卷积结构和SPP结构的组合,头部网络是由头部网络是由FPN结构和PAN结构所组成。步骤二中的GN-YOLOv5s模型与步骤二中的原始YOLOv5s模型对比如表1所示:
表1
通过表1可以看出,将原始YOLOv5s模型中的C3_x结构替换为Ghostnet模块后,得到的GN-YOLOv5s模型参数量比原始YOLOv5s模型降低了比原始YOLOv5s模型降低了6.8%,浮点运算数降低了15.1%,模型规模降低了12.7%,有效降低了参数量与计算量。
3、将GN-YOLOv5s模型进行稀疏训练,得到GS-YOLOv5s模型,稀疏训练缩放因子分布图如图8和图9所示,图8为将稀疏率设置为0.005时BN层缩放因子的分布情况,图9为将稀疏率设置为0.01时BN层缩放因子的分布情况,从图8和9中可以看出,当稀疏率为0.005时,分布在0-0.005的缩放因子的值较少,达不到稀疏训练的效果,当稀疏率为0.01时,有更多的缩放因子值分布在0-0.005,这表示模型中有更多重要性较低的通道可以被剪裁,可以达到稀疏训练的目的。综合模型的λ稀疏度以及精度最终设定了稀疏率为0.01。
4、图3是对GS-YOLOv5s模型剪枝示意图,其中Ci1,Ci2,……,Cin为GS-YOLOv5s模型的输入,Cj1,Cj1为GS-YOLOv5s模型的输出,移除GS-YOLOv5s模型BN层缩放因子γ值为0-0.005的输入输出通道后,得到的GP-YOLOv5s模型与原始YOLOv5s模型的对比如表2所示:
表2
由表2可以看出,GP-YOLOv5s模型比原始YOLOv5s模型的参数量减少了4952219,浮点运算数降低了9.4GFLOPS。模型规模降低了6.9MB,模型得到了有效压缩。
5、图4是PD-YOLOv5s模型图,图中将原始YOLOv5s检测模型作为教师模型,将GP-YOLOv5s模型作为学生模型,通过原始YOLOv5s模型的完整输出,让GP-YOLOv5s模型掌握原始YOLOv5s模型的推理方式,得到的GP-YOLOv5s模型与原始YOLOv5s模型性能对比如表3:
表3
图10为是本发明PD-YOLOv5s识别农作物果实(辣椒)时的平均精度曲线,模型迭代150次后,平均精度值为92.9%,有效提高了模型的准确度,使模型得到轻量化后,仍能使精度不低于原始YOLOv5s模型精度的98%。
图11PD-YOLOv5s识别农作物果实(辣椒)时的检测图,图中可以看出,PD-YOLOv5s能准确识别出农作物果实(辣椒)。图12和13分别展示了原始YOLOV5s农作物果实识别模型与PD-YOLO5s模型的识别模型对比。图12为原始YOLOv5s模型对农作物果实(辣椒)的识别结果,图13为PD-YOLOv5s模型对农作物果实(辣椒)的识别结果,从图12与图13可以看出,经过压缩后的PD-YOLOv5s模型仍能保持较高的识别精度。
6、图6为双目相机左相机在像素坐标系下果实目标点的二维坐标PL(XL,YL),,表示农作物果实目标点P在左相机像素坐标系下的二维坐标为(XL,YL)。图7为农作物果实目标点从像素坐标系的二维坐标到世界坐标系的三维坐标转换图,图中OL为左相机的透镜光心,OR为右相机的透镜光心,OL用作左相机的相机坐标系的原点、OR用作右相机的相机坐标系的原点,PL(XL,YL)表示左相机的在像素坐标系下目标点P的坐标(XL,YL),PR(XR,YR)表示右相机的在像素坐标系下目标点P的坐标(XR,YR)。采用研究算法对该农作物果实进行定位,试验过程中,农作物果实每次会向远离摄像头的方向移动20mm,对其定位一次,主要以(辣椒)空间深度为参照。(辣椒)初始位置为(100mm,100mm,100mm),8次定位的结果如表4所示。
表4
通过表4可以看出,在8次定位过程中,定位误差不超过1.84,且在0附近波动多次,证明本发明的定位方法具有一定准确性和稳定性。
Claims (9)
1.一种农作物果实采摘的果实识别定位方法,其特征在于:包括有以下步骤:
步骤一、对农作物果实进行图像采集,建立果实数据集;
步骤二、将原始YOLOv5s模型中的C3_x结构替换为Ghostnet模块,得到GN-YOLOv5s模型;
步骤三、将步骤二中得到的GN-YOLOv5s模型进行稀疏训练,得到GS-YOLOv5s模型,且稀疏训练首先以BN层的缩放因子γ作为评价通道重要性指标;
步骤四、设置剪枝率,将步骤三得到的GS-YOLOv5s模型中γ值为0-0.005的通道进行剪枝,移除被剪枝的通道的输入输出,然后对剪枝后的模型权重进行调整,最后调整剪枝率训练并重复这个过程,得到GP-YOLOv5s模型;
步骤五、将步骤二中的原始YOLOv5s检测模型作为教师模型,将步骤四得到的GP-YOLOv5s模型作为学生模型,通过步骤一中的原始YOLOv5s模型的完整输出,让步骤四得到的GP-YOLOv5s模型掌握步骤一中原始YOLOv5s模型的推理方式,步骤四得到的GP-YOLOv5s模型的分类损失函数如式(4)所示,坐标框损失函数如式(5)所示.最终蒸馏总体损失函数如式(6)所示;
步骤六;相机标定:将双目相机水平固定,确保标定板在相机视野内,不断的改变标定板的位置和姿态,采集40-50组标定图片,选择不同角度的14-20组图片,使用MATLAB标定工具箱进行标定,得到双目相机参数;
步骤七、完成步骤六的相机标定后,利用步骤五中得到的PD-YOLOv5s模型输入双目相机,使双目相机的左右摄像头分别识别出的农作物果实检测框,将农作物检测框中心点作为目标点,记为P点,左相机的在像素坐标系下目标点P的坐标(XL,YL),记为PL(XL,YL);右相机的在像素坐标系下目标点P的坐标(XR,YR),记为PR(XR,YR);
步骤八、将步骤七中得到农作物果实目标点P的二维坐标使用SGBM立体匹配算法对双目相机左右摄像头获取的图片逐行进行匹配;步骤七中得到的P点在左右相机的投影平面上的像素坐标分别为PL(XL,XL)和PR(XR,YR),两相机的图像平面在同一水平面上,步骤七中得到的P点的坐标中Y=YL=YR,由三角关系可以得到如式(9)所示:
其中:f为相机焦距,b为左右相机光心距离,(XC,YC,ZC)为世界坐标系下点P的坐标;
将步骤七中得到的P点的视差XL-XR记为d,以左相机的坐标系作为世界坐标系,利用视差值,计算得到P点在左相机坐标系下的坐标,如式(10)所示为:
其中:b为左右相机光心距离,d为P点的视差,XL为左相机中目标点P在像素坐标系下的横坐标,Y为左相机与相机中目标点P在像素坐标系下的纵坐标;
根据式(10)计算得到的坐标(Xc,Yc,Zc)即为步骤七中得到的P点的三维坐标。
2.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤一中,对农作物果实进行图像采集后,然后对果实图像进行人工标注,绘制果实目标的外接矩形框,并标注被遮挡果实与未被遮挡果实两类,标注后完成后,建立果实数据集。
3.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤二中,Ghostnet模块首先将果实数据集通过常规卷积,得到常规卷积特征图,然后由已生成的常规卷积特征图进行线性变换,生成新的相似特征图,最后将两组特征图中的信息进行组合,作为全部特征信息。
4.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤三中,稀疏训练首先以BN层的缩放因子γ作为评价通道重要性指标,γ大小与通道重要性呈正相关,BN层的计算公式如下所示:
Zout=γ·Z^+β (1)
其中γ、β为BN层的归一化参数,Zm、Zout分别表示BN层的输入和输出,μ、δ分别代表BN层的均值和方差,ε表示一个范围为0-0.001的常量;
然后对BN层的γ参数引入式(3)中的正则惩罚项∑γg(γ),同时构建稀疏训练损失函数,稀疏训练损失函数如下所示:
L=∑(x,y)l(f(x,W),y)+λ∑γg(γ) (3)
其中∑(x,y)l(f(x,W),y)为步骤二中GN-YOLOv5s模型定义的损失函数,x表示输入矩阵、y表示输入标签、W表示模型的权重;λ∑γg(γ)是用来约束γ的正则项惩罚,其中λ=0.01用于平衡下两项损失,称为稀疏率。
5.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤四中,设置65-75%的剪枝率,将步骤三得到的GS-YOLOv5s模型中γ值为0-0.005的通道进行剪枝,移除被剪枝的通道的输入输出,然后对剪枝后的模型权重进行调整,最后调整剪枝率训练并重复5-10次这个过程,得到GP-YOLOv5s模型。
6.根据权利要求5所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤四中,GP-YOLOv5s模型检测精度不低于步骤(2)中GN-YOLOv5s模型的0.98倍,模型大小不高于步骤二中GN-YOLOv5s模型大小的0.5倍。
7.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤七中,双目相机的左相机的透镜光心定义为OL,右相机的透镜光心定义为OR,OL用作左相机的相机坐标系的原点、OR用作右相机的相机坐标系的原点;将左右光心之间的距离为基线距离用b表示,两个相机的焦距用f表示。
9.根据权利要求1所述的农作物果实采摘的果实识别定位方法,其特征在于:所述步骤八中,SGBM立体匹配算法的主要流程分为四个部分,首先是预处理,对输入的图像进行预处理,获取梯度信息,用于后续成本计算,然后是将原图像和预处理得到的信息进行代价融合,接着从8-16个方向进行一维动态规划求解,每个方向都求出解,然后进行能量累积,将各个方向相加得到最终代价,最后是进行优化处理,将计算出的最终代价中最小的值作为匹配代价,具有匹配代价的视差作为最终视差,将获得的深度信息归一化得到视差图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211106382.7A CN115439731A (zh) | 2022-09-11 | 2022-09-11 | 一种农作物果实采摘的果实识别定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211106382.7A CN115439731A (zh) | 2022-09-11 | 2022-09-11 | 一种农作物果实采摘的果实识别定位方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115439731A true CN115439731A (zh) | 2022-12-06 |
Family
ID=84246316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211106382.7A Pending CN115439731A (zh) | 2022-09-11 | 2022-09-11 | 一种农作物果实采摘的果实识别定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115439731A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115908952A (zh) * | 2023-01-07 | 2023-04-04 | 石家庄铁道大学 | 一种基于改进YOLOv5算法的高铁隧道卡具检测方法 |
CN118058074A (zh) * | 2024-02-20 | 2024-05-24 | 广东若铂智能机器人有限公司 | 一种判断串型水果采摘过程中突发干扰的方法 |
-
2022
- 2022-09-11 CN CN202211106382.7A patent/CN115439731A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115908952A (zh) * | 2023-01-07 | 2023-04-04 | 石家庄铁道大学 | 一种基于改进YOLOv5算法的高铁隧道卡具检测方法 |
CN118058074A (zh) * | 2024-02-20 | 2024-05-24 | 广东若铂智能机器人有限公司 | 一种判断串型水果采摘过程中突发干扰的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Using channel pruning-based YOLO v4 deep learning algorithm for the real-time and accurate detection of apple flowers in natural environments | |
CN115439731A (zh) | 一种农作物果实采摘的果实识别定位方法 | |
Gai et al. | A detection algorithm for cherry fruits based on the improved YOLO-v4 model | |
CN113112504B (zh) | 一种植物点云数据分割方法及系统 | |
CN114387520B (zh) | 一种用于机器人采摘的密集李子精准检测方法及其系统 | |
CN110517311A (zh) | 基于叶片病斑面积的病虫害监测方法 | |
Gaillard et al. | Voxel carving‐based 3D reconstruction of sorghum identifies genetic determinants of light interception efficiency | |
CN115984698A (zh) | 一种基于改进YOLOv5的荔枝果实生长期识别方法 | |
CN111368637B (zh) | 一种基于多掩模卷积神经网络的搬运机器人识别目标方法 | |
CN115050020A (zh) | 一种基于改进Mask R-CNN草莓叶面积的智能视觉检测方法及系统 | |
CN110503014B (zh) | 基于多尺度掩码感知回馈卷积神经网络的人数统计方法 | |
Nan et al. | Faster and accurate green pepper detection using NSGA-II-based pruned YOLOv5l in the field environment | |
CN112597919A (zh) | 基于YOLOv3剪枝网络和嵌入式开发板的实时药盒检测方法 | |
CN115719445A (zh) | 一种基于深度学习和树莓派4b模块的海产品识别方法 | |
CN116883480A (zh) | 基于双目影像与地基雷达融合点云的玉米株高检测方法 | |
CN116682106A (zh) | 一种基于深度学习的柑橘木虱智能检测方法及装置 | |
CN102661920B (zh) | 一种对杂草进行分类识别的装置和方法 | |
CN116740703B (zh) | 一种基于点云信息的小麦表型参数变化率估测方法和装置 | |
Zhang et al. | Multi-class detection of cherry tomatoes using improved Yolov4-tiny model | |
CN113628170A (zh) | 一种基于深度学习的激光线提取方法及系统 | |
CN117635898A (zh) | 面向作物动态表型提取的近景图像拼接方法 | |
CN116958961A (zh) | 一种基于改进YOLOv8s的轻量级石榴识别方法 | |
CN115147835B (zh) | 一种基于改进RetinaNet的自然果园场景下的凤梨成熟度检测方法 | |
CN116721345A (zh) | 一种马尾松苗木的形态指标无损测量方法 | |
Zhang et al. | A shape reconstruction and measurement method for spherical hedges using binocular vision |
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 |