目录
前言
课题背景和意义
实现技术思路
相关基础理论与技术
1、人工神经网络
2、卷积神经网络
3、 基于卷积神经网络的目标检测识别模型
4、YOLO 系列算法
实现效果图样例
最后
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于机器油菜虫害图像识别方法研究 -YOLO
课题背景和意义
油菜的种植面积广,总产量高,具有很高的经济价值,是我国重要的经济作物。但是在油菜的种植过程中,频繁的虫害对我国油菜的产量造成了严重的威胁,直接影响着国民经济。因此,为了保证油菜的质量和国民经济发展,油菜虫害防治具有重要研究意义。传统的油菜虫害识别和诊断工作主要依赖于人工识别,这种方法耗时费力、效率低并且误判率高,难以满足现实需求。针对传统方法的不足,本文面向油菜虫害检测识别的实际需求,以菜蝽、菜粉蝶等十种常见的油菜虫害作为研究对象,提出了基于YOLO 的油菜虫害图像识别方法。随着机器学习的进一步发展,深度学习技术诞生了,其中卷积神经网络是深度学习领域的最重要的一种模型架构,广泛应用于各类图像识别与理解领域。卷积神经网络能够通过一系列的卷积滤波器,自动地学习图像特征提取,并完成图像的特征识别,比传统方法具有更强的特征提取能力、准确性和泛化性,因此,卷积神经网络也逐渐开始应用在农业上。
实现技术思路
相关基础理论与技术
1、人工神经网络
人工神经网络(
Artificial Neural Network
)是一种使用数学模型来对人类大脑中的神经元进行模拟的信息处理系统。人工神经网络的基本结构单元是神经元,常用的网络结构是多层感知机。
1)神经元
神经元在接收了网络中的若干个输入并进行加权求和后,可以被认为处在“激活状态”。神经元可以被分为两种,一种不具有激活函数,另一种具有激活函数,接下来将对这两种神经元进行详细介绍:
①不具有激活函数的神经元
假设神经元具有
n
个输入信息,分别被记为
x
1
,
x
2
,
…
,
x
n
,这
n
个输入信号组成了输入向量 X
。假设神经元的
n
个加权参数分别是
w
1
,
w
2
,
…
,
w
n
,这
n
个加权参数组成了神经元的权重向量 W
,如公式
:

②具有激活函数的神经元
同样假设某一个神经元的输入向量为
X
,权重向量为
W
,为了增强神经元的非线性建模能力,可以在原有的神经元输出后加一个非线性激活函数,设激活函数是 f
,则神经元的输出可由公式得到:

2)
多层感知机
多层感知机的结构中主要包含三个部分:输入层、隐藏层和输出层。而多层感知机相对于单个神经元感知器的最大不同是,多层感知机能够对非线性函数进行建模,而单层感知机不具备这种能力。一个复杂多层感知机能包含有很多个隐藏层,神经网络就是由大量的神经元堆砌而成。每一个神经元的输入都是上一层神经元的输出,信息流就依靠这种方式在网络中的神经元间传递。

2、卷积神经网络
1)
卷积神经网络的基本结构
传统的人工神经网络层数都比较浅,导致网络的非线性拟合能力较差。而卷积神经网络
作为深度神经网络的一种,具有更多的网络层数,在网络结构上也更贴近人类大脑的神经网络系统。
2)卷积层
卷积神经网络相对于传统的神经网络具有更快的计算速度,这主要得益于卷积神经网络的“权值共享”和“局部感知”机制,通过这两种机制能够大大减少卷积神经网络中的参数量
①权值共享机制
卷积神经网络在对图像进行卷积计算时,在图像上滑动的卷积核的参数是共享的,这样则可以通过共享卷积核在整张图像中提取某一形式的局部特征,而输入的特征被称为特征图。如果提取多种特征,则可以设置多个权重的不同的卷积核进行特征提取卷积操作。

具体来说,输入图像的值可以被表示为一个函数
f(x,y)
,而卷积核操作可以使用另
一个函数
g(x,y)
表示,则卷积操作的计算公式:

假设卷积操作使用的卷积核尺寸是
m×m
,则上式可进一步被表示为公式:

②局部感知机制
局部感知机制是卷积神经网络模仿人类大脑对外界输入的感知过程,人类大脑通过一系列的局部感知最后完成全局感知。
3)池化层
池化层是卷积神经网络重要的组件之一,它的主要功能就是对特征图进行下采样操作,去掉特征图中的部分冗余信息,使得特征图的特征更加凝练,尺寸更加小以减小卷积神经网络的计算开销,提升网络的计算效率,还能在一定程度上防止模型发生过拟合。
①最大池化操作
假设上一个卷积层计算得到的特征图的尺寸是
4×4
,使用一个窗口尺寸为
2×2
,步长为 2
的最大池化操作,则最大池化操作之后的计算结果如图:

②平均池化操作
假设上一个卷积层计算得到的特征图的尺寸是
4×4
,使用一个窗口尺寸为
2×2
,步长为 2
的平均池化操作,则平均池化操作之后的计算结果如图:

③随机池化操作
假设上一个卷积层计算得到的特征图的尺寸是
4×4
,使用一个窗口尺寸为
2×2
,步长为 2
的随机池化操作,则随机池化操作之后的计算结果如图 :

4 )
激活函数
线性的分类器在复杂的图像识别领域几乎起不到任何的作用,为有效地对图像数据进行建模和特征提取,需要在神经网络中引入强大的非线性建模能力,即在神经网络中引入非线性的激活函数。
sigmoid
激活函数,该激活函数是神经网络最早采用的激活函数形式,为了适应神经网络反向传播算法的需求,其在定义区间内处处可导。其函数表达式:
sigmoid 的函数图像如图所示,当输入值逐渐增大时,函数的输出会逐渐逼近 1;当输入值逐渐减小时,函数的输出会向 0 逼近。

Tanh 激活函数的函数图像如上图 所示,函数表达式如公式 :

Tanh 激活函数的函数图像关于原点中心对称,与 sigmoid 函数不同,当输入不断减小时,函数输出值逼近-1。
目前在图像识别领域应用最为广泛的是 ReLU 激活函数,它的函数图像如下图所示,函数表达式如公式 所示:

ReLU 激活函数在横轴的左半边的输出均为零,这虽然一定程度上使得神经元能被稀疏激活,另一方面也使得网络可能会丢失一部分的有用信息。因此,为了解决这个问题,ReLU 激活函数的改进版本 PReLU 被提了出来。PReLU 函数的表达式如公式:
为了解决 ReLU 函数的缺陷,还有一种 ELU 激活函数,ELU 函数的表达式如公式所示:

5 )
全连接层
全连接层与卷积层不同,每一个神经元都与前一层的神经元相连,以此来进行特
征提取。全连接层结构示意图如图:
全连接层的计算表达式如公式所示:

在上式中,f 表示激活函数,w 和 b 分别是全连接层的权重和偏置,x 是输入特征,全连接层的作用是完成最后的分类。
6)随机梯度下降法
随机梯度下降法是现在神经网络参数优化中最常用的方法,该方法的思想是沿着梯度下降的方向为神经网络参数的寻找最优解,那么神经网络的训练过程可简化为:

神经网络参数的最优解能使得关于输入 x 的预测 h(x)与真值 y 之间的差异最小,评价差异的函数被称为损失函数,目前应用最多的损失函数是平方误差损失函数,函数表达式如式:
3、 基于卷积神经网络的目标检测识别模型
1)
基于候选区域的目标检测识别
基于候选区域算法主要是
RCNN
(
Region Convolutional Neural Networks
)系列算法,包括RCNN
,
Fast-RCNN
,
Faster-RCNN
等
(
1
)
RCNN
RCNN
是一种较早的双阶段目标检测模型
,
能够对图像进行检测和分类。
RCNN
对目标进行检测分类首先需要划分候选区域,然后使用深度网络提取每个候选框的特征,最后采取 SVM
分类器进行分类回归。
(2)
Fast R-CNN
Fast R-CNN
针对
RCNN
,主要有
3
个改进:
1
、卷积层只需要对图像进行一次特征提取,不需要对每个候选区域框进行特征提取,减少了重复计算,从而训练速度得到了提升
(3)
Faster-RCNN
Faster-RCNN
算法在
Fast-RCNN
的基础上进行了改进,采用了
RPN
代替原来的选择性搜索方法,检测速率得到了一定的提升,并且提出和目标检测网络共用卷积神经网络,候选建议框的数量从 2000
减少到
300
,进一步提高了速度,但是检测速度慢依然是问题。
.2)
基于回归的目标检测识别
基于回归的目标检测算法不需要划分区域框,直接在卷积层中进行特征提取、分类以及边框回归。主要的算法为 SSD
和
YOLO
系列算法。
4、YOLO 系列算法
1) YOLO
YOLO
算法
与之
前以
Faster RCNN
为代表的两阶段目标检测算法不同,
YOLO
算法使用卷积神经网络
架构直接将目标检测问题视为一个带类别区分的回归问题,能实现端到端的目标检测
优化,检测速度更快。
详细的 YOLO 网络架构如图所示。网络首先使用一系列卷积层提取输入图像的特征,然后基于提取的特征使用全连接层对目标的类别概率与边界进行预测。网络中设计了大量的小尺寸卷积以减小计算开支,并增加网络深度。

2 )YOLO v2
对于
YOLO v2
算法
而言,是针对原始
YOLO
算法中所存在的问题进行了改进之后所提出的,以提高算法的定位和物体识别的准确率。
3)YOLO v3
对于
YOLO v2
算法而言,
YOLO v3
是当前
YOLO
系列算法的巅峰之作,该算法基于 YOLO v2
算法进行了非常大的改进,从而在检测精确度、速度、性能等方面都成为了非常优秀的一个目标检测算法。
在 YOLO v3 算法当中所使用的的 FPN 算法主要以多尺度融合多尺度预测的相关机制作为理念,从而使得 YOLO v3 算法在对小物体进行检测的效果得到了大幅度的提升。
同时,YOLO v3 算法通过结合 FPN 算法的经验采用了多尺度融合多尺度预测的相关机制,从而使 YOLO v3 算法在对小物体进行检测时的性能非常强大。
实现效果图样例
基于
YOLO v3
算法的油菜虫害识别检测结果,其中红框是网络的检测输出,而蓝框是没有检测出的虫害的原有真实标注。由可视化结果可以看出,对于大多数的油菜虫害图像,模型都能实现较为准确的检测。
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后