目录
前言
课题背景和意义
实现技术思路
一、整体方案设计
二、基于 YOLO 的迁移学习算法
实现效果图样例
最后
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于机器颗粒状的农作物检测算法研究-YOLO
课题背景和意义
近些年来深度学习的蓬勃发展推动了目标检测技术的进步,YOLO
(
You Only Look Once)便是其中受到人们广泛关注的一种算法。它在进行目标检测时的鲁棒性很好,当光线强弱发生变化或者背景信息复杂时仍具有检测准确率高、检测速度快等优点,同时检测小目标时也具有很好的检测效果
。因此将
YOLO 应用到色选系统中进行目标检测既能够节省光路成本,又能够有效解决目标检测时出现的漏检、错检等问题。色选技术是基于机器视觉发展而来的一种颗粒状农作物筛选技术,它依据农作物的光学特性差异将不合格的残次品进行剔除。在实际工作中,色选系统利用边缘轮廓检测、形态学运算等方法,对相机所采集的图像中的颗粒状农作物进行定位、分割和分类即可识别出残次品。但色选系统对光源的变化敏感,为保持光线条件稳定通常会采用昂贵的光学元件来设计光路,提高了设备成本;当检测不同种类的颗粒状农作物时,需要设置不同的工作参数和不同的检测算法。由于 YOLO 是一个通用型的检测框架,因此网络结构相对复杂,在 CPU 上的运算速度较慢。拟采用 YOLO 作为基本架构,通过研究轻量级检测网络和模型压缩算法,实现颗粒状农作物检测。
实现技术思路
一、整体方案设计
基于
YOLO
的颗粒状农作物检测算法,图
为整体方案,具体步骤如下:

二、基于 YOLO 的迁移学习算法
颗粒状农作物检测评价标准
为了在颗粒状农作物检测算法的准确程度和实时性之间取得平衡,选择的颗粒状农作物检测评价标准包含精度和实时性指标。
交并比(Intersection over Union,
IoU
)的定义如式。它描述了
A 框和 B
框的重合程度,当它们完全重合时,交并比为
1
;当它们完全不重合时,交并比为 0

真实框(
Ground Truth
,
GT
)为人工给出的包围颗粒状农作物的矩形检测框,
预测框(Positives,
P
)为算法给出的可能包围颗粒状农作物的矩形检测框。
显性预测框(
Dominant Positives
,
DP
)为置信度大于或等于置信度阈值的预测框,隐性预测框(Recessive Positives
,
RP
)为置信度小于置信度阈值的预测框。
正确预测框(
True Positives
,
TP
)为与真实框交并比大于或等于
50%
并且预测分类与真实框一致的显性预测框,错误预测框(False Positives,FP
)为与真实框交并比大于或等于 50%
但预测类别不一致的显性预测框和与真实框交并比小于50%的显性预测框。
正确无框(
True Negatives
,
TN
)为图像中某处无真实框,且无显性预测框。 错误无框(False Negatives,FN
)为图像中某处有真实框,但无显性预测框。
以上描述中涉及到的各类框的韦恩图如图:

精准率(precision)的定义如式:
召回率(recall)的定义如:
由精准率和召回率的定义可知,只需计算正确预测框、显性预测框和真实框的数量即可获得精准率和召回率。为了获得颗粒状农作物各类别平均精准率的平均值 mAP,还需要绘制 PR 曲线,其中 P 代表精准率,R 代表召回率,制作 PR 曲线的流程图如图 :

单个类别颗粒状农作物的 PR 曲线制作结束之后,对 PR 曲线下的面积积分即可得到平均精准率(Average Precision,AP),如图:

基于 YOLO 的迁移学习策略
将 YOLO 网络在 MS COCO 数据集上学习到的权重迁移到颗粒状农作物检测任务,从先验框生成、颗粒状农作物检测任务分配和损失函数设计等 3 个方面制定迁移学习策略,完成 YOLO 迁移学习算法的设计
基于聚类算法的先验框生成
基于颗粒状农作物设计的
YOLO
迁移学习网络如图
。图中的主干网络为 Darknet-53
,由
53
个卷积和
23
个残差块组成,负责提取物体的多尺度特征。 主干网络的右侧为预测网络,采用特征金字塔(Feature Pyramid Networks,
FPN
)结构对多尺度特征进行整合。最终得到 3
个尺度的输出,分别对应检测小尺度、 中尺度和大尺度的颗粒状农作物。

基于颗粒状农作物设计的
YOLO
迁移学习网络在输出预测框的宽高时,并不是直接输出宽高的绝对值,而是输出相对某个先验框的相对值:
网格划分与颗粒状农作物检测任务分配
YOLO 迁移学习算法将颗粒状农作物检测视为一个回归问题,将输入图像分割为若干个网格,每个网格负责回归得到该网格所在区域中颗粒状农作物的位置、置信度及类别信息。在设计基于颗粒状农作物的 YOLO 迁移学习网络时,对输入图像使用了 3 种网格划分方式,

颗粒状农作物检测损失函数设计
为了对
YOLO
迁移学习网络进行训练,需要对输出层的所有网格设置损失函数,包括预测框宽高损失函数、中心坐标损失函数、置信度损失函数和分类损失函数。
由于真实框的置信度和分类概率是一个离散值,只有
0
和
1
两种取值情况。而预测框的置信度和分类概率的取值是一个连续值,取值区间为[0, 1]
。

基于 YOLO 的迁移学习算法训练
确定迁移学习策略后,采用预训练模型的权重初始化
YOLO
迁移学习算法,并在基于 Mist GPU
云计算的模型训练平台中,用颗粒状农作物数据集中的训练集完成训练。
热重启机制调整学习率
采用梯度下降法可以对
YOLO
迁移学习网络参数进行更新,如公式,当所有的网络参数沿着各自的偏导数方向下降时,YOLO
迁移学习网络的损失函数便能够沿着梯度方向下降。

为了使
YOLO
迁移学习网络的损失函数能够稳定下降,采用具备热重启的Adam 法实现
YOLO 迁移学习网络的参数更新。通过热重启机制控制学习率的变化,从而获得损失函数的最小值或局部最优解。
热启动阶段和余弦退火衰减阶段总的训练步数:

基于预训练模型实现迁移学习
将
YOLO
在
MS COCO
数据集上训练的结果作为预训练模型,采用其学习到的权重对基于颗粒状农作物设计的 YOLO
迁移学习算法初始化。
采用热重启机制进行训练时,对热重启过程中的峰值学习率
end
(即热启动后达到的最高学习率)进行了调整。

YOLO 迁移学习算法测试及分析
使用颗粒状农作物检测数据集中的测试集对
YOLO 迁移学习算法进行测试,获得的测试数据如表
所示:
测试集中部分图像的颗粒状农作物检测结果如图。图中预测框上方的标识 peanut、seed 和 jujube 分别代表花生、瓜子和红枣,标识右边的数字代表YOLO 迁移学习网络给出的预测框的置信度。

YOLO
迁移学习算法给出的对应图
上方图像的置信度特征图:
实现效果图样例
基于机器颗粒状的农作物检测:

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后