目录
前言
课题背景和意义
实现技术思路
一、相关技术介绍
二、系统需求分析
三、改进的 YOLOv4 目标检测算法研究
实现效果图样例
最后
大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
毕业设计-基于深度学习的生活垃圾分类识别系统
近年来,随着国家的经济高速发展,工业化与城市化的进程不断向前推进,我国人 民的衣、食、住、行等各个方面的生活水平提升显著,与此同时人们的日常生活的物质 需要也在不断提高,我国生活垃圾的总量近些年来逐年递增。截止到 2021 年,我国的 垃圾堆存量已经超过了 65 亿吨并保持上涨趋势,通过对全国 600 多个城市进行调查发 现一多半的大中城市都已被垃圾包围。目前,我国对于大多数生活垃圾的处理方式还 比较传统,主要有三种:卫生填埋、垃圾堆肥以及垃圾焚烧。其中卫生填埋不仅对环 境造成严重污染,而且垃圾中的有害物质还可能对人们的健康造成威胁,垃圾堆肥需要 对垃圾进行分类再处理,难度较高,而垃圾焚烧不会对人们的健康产生威胁,并且易于 实现,而且通过回收其中产生的热量,可以使得垃圾成为可利用资源,但是对于环境还 是会造成严重污染。要想真正解决“垃圾围城”这一问题,将垃圾进行合理的分类处理 才是关键。
微擎框架
微擎框架中使用已经封装好的 PDO 兼容方 式,对数据库信息进行增删改查,并且通过 SQL 参数绑定防止在进行数据库相关操作 时 SQL 注入,保证安全,并且可以对界面以及数据库进行实时刷新。微擎使用 UTF-8 为编辑器的文件编码,项目中没有回车只有换行。微擎框架中可以通过 getCodeLimit() 函数来生成永久的小程序码。
uni-app 框架
uni-app 通过#ifdef、#ifndef 的方式进行条件编译,以此实现了在同一个项目中针对 不同平台的特性可以调用与发布的平台相应的特色 API。在小程序中通过 setStorage() 对数据进行本地存储,通过 getStprage()来接收数据,支持 onLoad()等生命周期函 数。
卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)与人工神经网络非常相似, 都有着非线性、并发性、鲁棒性的特点。卷积神经网络与人工神经网络区别较大的地方 是卷积神经网络主要针对的是图像识别领域[40]。
目标检测算法
目标检测的任务主要分为两类:预测目标位置以及预测目标类别。预测目标位置是 预测图片中包含有目标检测训练任务中的特定目标的位置,预测目标类别是对于图片预 测目标位置处的特定目标进行识别并分类。
系统需求可以划分为用户信息管理、新闻资讯、垃圾分类、知识竞赛、积分兑换、 系统管理 6 个需求模块。
(1)用户信息管理需求
用户信息管理需求主要涉及的角色是普通用户与管理员,普通用户可以进行用户登 录,查看信息与联系客服,管理员可以对用户信息进行管理、查看会员积分记录以及设 置核销人员。用户信息管理用例图如图所示。
(2)新闻资讯需求
新闻资讯需求主要涉及的角色是管理员和普通用户。新闻资讯需求中,管理员角色 承担新闻资讯的管理与发布,普通用户可以查看新闻资讯的概览页和详情页,并且对新 闻资讯进行收藏。 新闻资讯用例图如图所示。
(3)垃圾分类需求
垃圾分类功能主要涉及的角色是普通用户和管理员。普通用户可以通过拍照识别垃 圾类别,也可以通过语音、文本输入并进行搜索来获取垃圾类别。管理员可以对用户使 用拍照识别的记录进行查看与统计,并根据统计信息更新系统公告。 垃圾分类用例图如图所示。
(4)知识竞赛需求
知识竞赛需求主要涉及的角色是普通用户和管理员。普通用户通过点击知识竞赛可 以进行垃圾分类相关知识的考试,并且对于考试结果信息进行查看。管理员可以对用户 的答题记录进行管理并且可以对考试相关内容进行设置。 知识竞赛用例图如图所示
(5)积分兑换需求
积分兑换需求主要涉及的角色是管理员与普通用户。用户可以查看积分说明、积分 记录,并且可以在积分兑换页面通过个人积分兑换积分商品,其中居民兑换商品后会生 成商品二维码,居民可以携带该二维码前往商品领取地址,通过核销人员对商品二维码 进行核销并领取商品。管理员可以在后台对积分兑换进行管理,并且设置积分获得方式。 积分兑换用例图如图所示。
(6)系统管理需求
系统管理需求主要涉及的角色是管理员。管理员可以通过系统设置对小程序的名称、 积分、版权、系统公告进行设置,并且可以通过广告管理对主页以及积分兑换页的轮播 图片进行管理。
本文针对 YOLOv4 目标检测算法中对于小目标的检测效果不好及训练时正负样本不 平衡的问题,采用基于空间自适应特征融合以及损失函数的方法进行改进。
YOLOv4 目标检测
1、YOLOv4 网络结构
YOLOv4 网络主要分为 4 层,分别为输入端、网络结构(Backbone)、颈部(Neck)、 预测(Prediction)。输入端主要负责对输入图像进行处理,网络结构主要负责对处理后 的图像进行特征提取,颈部介于网络结构与预测之间,主要负责对提取的特征进行进一 步的处理,更好的利用网络结构提取好的特征,预测主要负责对输入图像中的各个目标 进行分类并且对图像中各个目标进行定位。
其中 CBM 与 CBL 结构相同,均由卷积层、BN 层、激活函数共同构成,两者均可 以看作为整体网络结构中不可拆分的基础组件。CBM、CBL 具体结构如图所示。
YOLOv4 通 过使用改进的 CBN:CMBN 来解决该问题,具体做法为:将训练中的 4 个 Batch 看作为 一个大的 Batch 进行梯度累加以及均值、方差的计算,并对这个大的 Batch 中的输入数 据进行归一化,在大的 Batch 中的最后一个 Batch 进行参数更新。
Resunit 组件主要由两个基础组件 CBM 构成,具体结构如图。
在图中,可以看到该组件利用两个 CBM 通过 Shortcut 与初始的输入通过 add 操 作直接执行恒等映射,这种结构主要是为了解决随着卷积神经网络的层数逐步加深,更 深层次的网络在训练中逐步收敛时发现网络的准确率饱和后,出现迅速退化的现象。 SPP 组件通过四个分支的最大池化,具体结构如图所示。
从上图可以看出,在 SPP 组件中一个分支是直接输出,另外三个分别采用池化核 为 1*1,5*5,9*9,13*13,步长为 1 进行最大池化,最后通过 Concat 方式使得特征图 尺寸大小和深度不变,实现了不同尺度的特征融合,增强了网络对于小物体的检测能力。
CSPX 组件中 X 代表着 1、2、4、8 的集合,指的是该组件中 Resunit 组件的数量, 具体结构如图所示。
2、Neck 结构
在目标检测领域中颈部非常关键,通常位于网络结构与预测层之间,主要负责对输 入图像中提取的特征进行融合,YOLOv4 的颈部结构主要采用了 SPP 组件以及特征金字 CBM CBM Resunit = add CBL Maxpool 5*5 Maxpool 9*9 Maxpool 13*13 Concat 1*1 SPP = - 21 - 塔网络(FPN)和路径聚合网络(PAN)融合的方式。
在 SPP 组件中,将不同尺度的特征图进行 Concat 操作。SPP 组件、PANet 是 YOLOv4 中新增的组件,图为 PANet 在 YOLOv4 中的主要结构。
3、损失函数
YOLOv4 的损失函数在 YOLOv3 的基础上进行改进而来。在 YOLOv3 中使用预测 框和真实框的中心点坐标以及宽高信息设定 MSE(均方误差)损失函数和类别预测则 使用的是 BCE 损失函数。YOLOv3 主要由三部分构成:边界框导致的坐标误差、置信 度误差以及分类误差,如公式所示。
综合考虑每种损失的贡献率和相对误差的因素,YOLOv3 算法在训练过程中损失的 计算如公式所示。
YOLOv4 目标检测的局限性
虽然 YOLOv4 在对于小目标检测效率和精度上相比于 YOLO 前几个系列的版本都 有很大提高,但由于一方面 YOLOv4 中使用了 PANet(即特征金字塔网络和路径聚合网 络融合)进行特征融合用于解决目标检测中由于尺度变化使得模型准确率下降的问题
基于空间自适应特征融合的 YOLOv4 改进算法
1、空间自适应特征融合
空间自适应特征融合的基本思想为在特征图的空间维度上对冲突信息进行过滤, 对其余有用的信息进行组合,从而缓解尺度不一致性导致影响到训练时的梯度下降、模 型准确率下降的问题。如图为空间自适应特征融合的网络示意图。
2、模型结构设计
采用空间自适应特征融合对 PANet 结构进行改进,通过学习到的加权参数对不 同尺度的特征图进行融合来对不同尺度的特征进行过滤,提升对小目标的检测率。图为改进后的 YOLOv4 网络结构图。
基于焦点损失函数的 YOLOv4 改进算法
引入焦点损失(Focal Loss)代替原本损失函数中的分类的交叉熵损失。 Focal Loss 的基本思想为通过在训练过程调节正负样本损失值的比重来缓解正负样本不 平衡的问题。Focal Loss 的公式如公式所示。
生活垃圾分类识别系统:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!