Python高级编程 期末大作业 用自建数据集进行目标检测(采用YOLO v3算法)

本文详细介绍了使用YOLO v3算法进行目标检测的期末大作业,包括实验原理、数据集标注、模型训练与优化、测试与心得。采用Python 3.7和Tensorflow 1.14,通过自建旺仔、浪味仙图片数据集,利用精灵标注助手进行标注,最终训练和测试模型。
摘要由CSDN通过智能技术生成

期末大作业要求如下↓
在这里插入图片描述
在这里插入图片描述
参考教程:https://www.cnblogs.com/gezhuangzhuang/p/10596545.html

https://zhuanlan.zhihu.com/p/46595846
实验环境及工具:Python 3.7+Tensorflow 1.14(cpu版)+keras 2.31+Pycharm+精灵标注助手软件;

实验原理

目标检测:目标检测即找出图像中所有感兴趣的物体,包含物体定位和物体分类两个子任务,同时确定物体的类别和位置。
在这里插入图片描述
传统目标检测的方法一般分为三个阶段:首先在给定的图像上选择一些候选的区域,然 后对这些区域提取特征,最后使用训练的分类器进行分类。
深度学习目标检测算法有两类:(1)One-Stage目标检测算法,这类检测算法不需要Region Proposal阶段,可以通过一个Stage直接产生物体的类别概率和位置坐标值,比较典型的算法有YOLO、SSD和CornerNet;(2)Two-Stage目标检测算法,这类检测算法将检测问题划分为两个阶段,第一个阶段首先产生候选区域(Region Proposals),包含目标大概的位置信息,然后第二个阶段对候选区域进行分类和位置精修,这类算法的典型代表有R-CNN,Fast R-CNN,Faster R-CNN等。
这里使用的是One-Stage中的YOLO v3算法。
YOLO系列算法:如下图所示,其中左图取自YOLOv1[8],右图取自YOLOv2[9],需要说明的是YOLOv1相比于YOLOv2在坐标回归的时候没有anchor的概念。YOLO系列算法在构建回归目标时一个主要的区别就是如果将图像划分成SxS的格子,每个格子只负责目标中心点落入该格子的物体的检测;如果没有任何目标的中心点落入该格子,则为负样本。

每个格子输出B个bounding box(包含物体的矩形区域)信息,以及C个物体属于某种类别的概率信息。

Bounding box信息包含5个数据值,分别是x,y,w,h,和confidence。其中x,y是指当前格子预测得到的物体的bounding box的中心位置的坐标。w,h是bounding box的宽度和高度。注意:实际训练过程中,w和h的值使用图像的宽度和高度进行归一化到[0,1]区间内;x,y是bounding box中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1]。
confidence反映当前bounding box是否包含物体以及物体位置的准确性&

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拔牙不打麻药

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值