位置: IT常识 - 正文

【目标检测】YOLOV1详解(目标检测yolov5)

编辑:rootadmin
【目标检测】YOLOV1详解 前言

推荐整理分享【目标检测】YOLOV1详解(目标检测yolov5),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:目标检测算法yolo,目标检测算法yolo,目标检测tricks,目标检测 yolov3,目标检测怎么入门,目标检测yolov5,目标检测yolo,目标检测 yolov3,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在公司实习,看到其实很多落地的模型都是基于yolo来改进的。在闲暇之余又重新温故了一下yolo系列,并想着将它们进行一个总结。今天就从V1下手,接下来的几个系列也会分别进行详解。

相比起Faster R-CNN的两阶段算法,2015年诞生的YOLOv1创造性地使用端到端(end to end)结构完成了物体检测任务。直接预测物体的类别和位置,没有RPN网络,也没有Anchor的预选框,因此速度很快。 YOLOv1是YOLO系列的基准,虽然后面在工程上面大家都是直接使用YOLOV5的开源代码,但是还得需要直到这些原理,而不是像黑盒一样进行调用。后续的YOLOv3、YOLOv5都是在原来的基础上做的改进,因此完全掌握和理解YOLOv1是学好YOLO系列的关键。

1、实现方式

YOLOV1的思想就是将图像分成S*S的小网格,如果物体的中心点落在了某一个网格内,那么就由这个网格来进行预测这个物体。

 每一个网格预测B个bounding boxes,以及这些bounding boxes的得分:confidence score。confidence score反映了模型对于网格中预测是否含有物体,以及是这个物体的可能性是多少。confidence定义为:

 在这里需要区分开confidence score和confidence。上面公式的定义就是如果网格中不含有物体,则置信度为0,否则就是predicted box与ground truth之间的IOU。每一个bounding box由5个预测值组成:x,y,w,h,confidence。坐标(x,y)代表了bounding box的中心与grid cell边界的相对值。width,height则是相对于整幅图像的预测值(边框的宽和高),confidence就是预测框和真实框的IOU。每一个网格还要预测C个conditional class probability(条件类别概率):Pr(Class|Object),即在一个网格包含Object的前提下,它属于某个类的概率,只为每个网格预测一组(C个)类概率,而不考虑框B的数量,也就是说一个网格只能预测一个物体这也是YOLOV1的缺点之一。如果一个物体的中心点落在了某个网格内,具体是该网格的两个bounding box与真实物体框进行匹配,IoU更大的bounding box负责回归该真实物体。

【目标检测】YOLOV1详解(目标检测yolov5)

 对于PASCAL VOC数据集,图像输入为448×448,取S=7(即在经过神经网络之后的最终输出特征图大小为7*7),B=2(即每个grid cell中有两个bounding box负责预测落在这个gird cell中的物体),C=20(即一共有20个类别)。则输入图片经过网络的最终输出为一个7×7x30的tensor,如下图所示。且一张图片最多可以检测出49个对象,一共生成7×7×2=98个bounding box。

 以上是训练的时候需要的实现方式,在进行测试的时候,就涉及到了confidence score这个概念,具体来说在测试阶段,每个网格预测的class信息和bounding box预测的confidence信息相乘,就得到每个bounding box的class-specific confidence score:

得到每个bbox的confidence score以后,设置阈值,滤掉的得分低的bboxes,对保留的bboxes进行NMS处理,就得到最终的检测结果。 

2、backbone

YOLO的网络结构由24个卷积层和2个全连接层组成,网络结构借鉴了GoogLeNet分类网络结构,但是没有使用Inception module,使用的1×1卷积(交替的1×1卷积用来减少前几层的特征空间)和3×3卷积简单替代。网络输入的图片大小为448×448,最终输出为7×7×30的张量(在PASCAL VOC数据集上)。

在这里需要注意的是因为最后用到了两层全连接层,这就使得对网络的输入有一定的要求,不可以变换其余大小的输入。

3、训练预训练

YOLOV1会现在imagnet上面进行预训练一个分类网络,预训练的网络即为整个网络结构的前20个卷积层+池化层+全连接层。然后再去进行训练检测网络,在预训练网络的基础上添加4个卷积层和2个全连接层,随机初始化权重。最后一层预测类概率和bounding box坐标。通过图像宽度和高度对bounding box的宽度和高度进行归一化,使它们下降到[0,1]之间,同时将(x,y)坐标参数化为特定网格单元位置的偏移,因此它们也在[0,1]之间。

损失函数

YOLOV1的损失函数算是比较经典的了,后面的也是基于这个损失函数进行梯度下降的。 YOLOv1的Loss一共由5个部分组成,均使用均方误差(sum-square error,MSE)损失,如下图所示:

 在这里需要注意的是第三点的值是0.5,而不是5。

4、优劣

YOLOV1是采用回归的思想,并没有提前设计好锚框,使用轻量型的网络对物体进行定位和分类,处理速度很快。但是不足也很明显: ● 由于每一个区域默认只有两个bounding box做预测,并且只有一个类别,因此YOLOv1有这天然的检测限制。这种限制会导致模型对于小物体,以及靠得特别近的物体检测效果不好(一个网格只能预测一个物体)。 ● 由于没有类似于Anchor的先验框,模型对于新的或者不常见宽高比例的物体检测效果不好。另外,由于下采样率较大,边框的检测精度不高。

参考:【目标检测】单阶段算法--YOLOv1详解

本文链接地址:https://www.jiuchutong.com/zhishi/298650.html 转载请保留说明!

上一篇:小程序和H5页面的相互跳转(小程序和h5页面的区别)

下一篇:Angular快速入门(angular 初学者快速上手教程)

  • qq别人把我删了备注会消失吗(qq别人把我删了我知道吗)

    qq别人把我删了备注会消失吗(qq别人把我删了我知道吗)

  • 拼多多安全设置在哪(拼多多安全设置有哪些)

    拼多多安全设置在哪(拼多多安全设置有哪些)

  • 华为键盘声音怎么弄(华为键盘声音怎么关掉)

    华为键盘声音怎么弄(华为键盘声音怎么关掉)

  • 正在使用已用过的耗材什么意思(正在使用已用过的耗材怎么处理win10)

    正在使用已用过的耗材什么意思(正在使用已用过的耗材怎么处理win10)

  • 华为荣耀手机怎么强行设置呼叫转移(华为荣耀手机怎么取卡)

    华为荣耀手机怎么强行设置呼叫转移(华为荣耀手机怎么取卡)

  • 微信刷脸登录怎么开启(微信刷脸怎么解除)

    微信刷脸登录怎么开启(微信刷脸怎么解除)

  • 苹果一般几月发布新品(苹果一般几月发布新品ipad)

    苹果一般几月发布新品(苹果一般几月发布新品ipad)

  • 快手换头像会不会影响上热门(快手换头像不显示)

    快手换头像会不会影响上热门(快手换头像不显示)

  • 什么是蓝v认证(蓝v认证是什么意思)

    什么是蓝v认证(蓝v认证是什么意思)

  • qq的创始人是谁人(qq的创始人是马化腾吗)

    qq的创始人是谁人(qq的创始人是马化腾吗)

  • osi系统是什么意思

    osi系统是什么意思

  • 世界上第一台计算机的电子元器件是什么(世界上第一台计算机的电子元器件主要是)

    世界上第一台计算机的电子元器件是什么(世界上第一台计算机的电子元器件主要是)

  • a1533可以用移动卡吗(iphone5 a1533可以用移动卡吗)

    a1533可以用移动卡吗(iphone5 a1533可以用移动卡吗)

  • ipad不激活可以查序列号吗(ipad不激活可以连接爱思助手吗)

    ipad不激活可以查序列号吗(ipad不激活可以连接爱思助手吗)

  • 怎么把快手名字弄成空白名字(怎么把快手名字改成带颜色的)

    怎么把快手名字弄成空白名字(怎么把快手名字改成带颜色的)

  • 怎么把大视频发给别人(怎么把大视频发给qq好友)

    怎么把大视频发给别人(怎么把大视频发给qq好友)

  • 微信充值和提现的区别(微信充值和提现哪个要手续费)

    微信充值和提现的区别(微信充值和提现哪个要手续费)

  • 显卡插在主板哪个位置(显卡插在主板哪个槽视频)

    显卡插在主板哪个位置(显卡插在主板哪个槽视频)

  • iphone xr设置隐藏刘海(苹果xr如何隐藏)

    iphone xr设置隐藏刘海(苹果xr如何隐藏)

  • 手机三个摄像头有什么作用(手机三个摄像头为什么只有一个有用)

    手机三个摄像头有什么作用(手机三个摄像头为什么只有一个有用)

  • 算法时间复杂度与什么有关(算法时间复杂度指的是)

    算法时间复杂度与什么有关(算法时间复杂度指的是)

  • 文件全选是ctrl加什么(文件全选的快捷方式)

    文件全选是ctrl加什么(文件全选的快捷方式)

  • 华为在美国有多少家工厂(华为在美国有多少资产)

    华为在美国有多少家工厂(华为在美国有多少资产)

  • 小米8数据线接口类型(小米数据线接口叫什么)

    小米8数据线接口类型(小米数据线接口叫什么)

  • 如何在Excel中进行减法(如何在Excel中进行数据筛选)

    如何在Excel中进行减法(如何在Excel中进行数据筛选)

  • 第09章_异常处理(异常处理流程为哪几个部分)

    第09章_异常处理(异常处理流程为哪几个部分)

  • 2019年的个税现在还可以退吗
  • 自来水水费增值税发票票样
  • 申报表货物及劳务是什么
  • 增值税进项税额加计抵减政策
  • 预包装食品销售流程图
  • 运输服务属于生产劳务吗
  • 分公司以前年度能弥补亏损吗
  • 企业为职工购买的商业保险属于职工薪酬吗
  • 通行费进项抵扣政策
  • 不动产入股需要交哪些税
  • 外借资质收取的税费会计处理
  • 购进货物取得
  • 地方教育费附加的会计分录
  • 分摊长期待摊费用的会计分录
  • 营改增怎么还有机打发票吗
  • 物业费增值税是什么意思
  • 个体工商户上月开发票超额了 ,定额改查账征收了
  • 退回所得税怎么处理
  • 加计扣除10%进项税账务处理 如何填表
  • 汽车保险费里的钱能退吗
  • 预收账款的科目属性
  • 2019年基金市场
  • 采购的增值税
  • 会计人员需要承担的责任
  • 外贸过程中的银行是什么
  • 询证函是什么文书
  • win11笔记本如何让电池充电到100%
  • pddocument.load
  • 普通发票主营业务收入销项负数发票怎么做账
  • 最小的3g无线路由器型号
  • php数组函数题目
  • 对方公司开收据盖什么章
  • 坏账准备计提范围包括
  • redis的
  • phpcms api
  • 无偿提供房屋使用证明有什么后果
  • 清理扬声器
  • sqlserver2005 master与msdb数据库备份恢复过程
  • sql命令语句
  • 营改增之后建筑业预收账款是否需要预交税款
  • 存货成本核算方式
  • 开具发票涉及到哪些会计科目?
  • 预付账款年底怎么调账
  • 合并资产负债表少数股东权益怎么计算
  • 汇票与本票有何不同
  • 购买办公室家具
  • 固定资产转为投资性房地产的账务处理公允价值
  • 红字发票是干什么的
  • 专利年费计入什么科目没有研发费用
  • 凭证过账的步骤
  • 排污费主要用于哪些方面
  • 公司运营成本如何计算
  • 赠送的产品怎么算成本
  • 企业进行长期投资的意义
  • 企业收到的应收票据应按什么作为入账金额
  • sql group by语句
  • win8旗舰版和专业版区别
  • windows server vista
  • windows8安装程序
  • 滑动关闭电脑功能按键在哪找
  • ubuntu photoshop
  • linux ftp用户存在哪个文件中
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • win8隐藏任务栏怎么恢复
  • win7怎么更改用户名和密码
  • 怎么删除listview条目
  • JavaScript中的变量名不区分大小写
  • Extjs EditorGridPanel中ComboBox列的显示问题
  • 一键修复ie
  • 3d图形学原理
  • shell脚本mysql
  • shell中的-n
  • md5加密python
  • setBackgroundDrawable和setBackgroundColor的用法
  • 新疆省国税局
  • 去哪儿网客服电话怎么转人工
  • ca锁使用
  • 新沂恩华大药房会员日
  • 江西税务客服电话
  • 襄阳市疫情防控中心电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设