Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >目标检测 | YOLOv1,经典单阶段Anchor-Free目标检测模型

目标检测 | YOLOv1,经典单阶段Anchor-Free目标检测模型

作者头像
Justlovesmile
发布于 2022-03-30 07:30:55
发布于 2022-03-30 07:30:55
1.3K00
代码可运行
举报
文章被收录于专栏:云+分享云+分享
运行总次数:0
代码可运行

PS:参考YOLO官网的配色和logo做的封面图,感觉还挺好看的,hhhh

You Only Look Once: Unified, Real-Time Object Detection

论文发表:CVPR 2016 论文链接:You Only Look Once: Unified, Real-Time Object Detection (cv-foundation.org) 论文官网:YOLO: Real-Time Object Detection (pjreddie.com)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@inproceedings{redmon2016you,
  title={You only look once: Unified, real-time object detection},
  author={Redmon, Joseph and Divvala, Santosh and Girshick, Ross and Farhadi, Ali},
  booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
  pages={779--788},
  year={2016}
}

1. 归纳总结

标签

目的

方法

总结

#Anchor-Free

解决两阶段算法检测慢的问题

将目标检测(cls和reg)都视为回归问题

经典单阶段算法

2. 问题背景

随着深度学习的大火,在YOLO提出那一年,主流的目标检测算法框架主要分为两类:

  • 两阶段算法:基于Region Proposal的RCNN系列算法,先生成Proposal,再分类回归
  • 单阶段算法:直接预测不同目标的类别和位置 这两种算法各有优点,一般而言,两阶段算法准确度高,但速度慢;单阶段算法速度快,但准确度相对低。

作者认为人可以一眼看到目标在哪,并且能立即知道是什么,并且对于很多实际场景而言,如自动驾驶,实时性和准确性都是非常重要的。

3. 主要工作

针对上述问题,作者提出了经典的YOLO算法,它是一个统一的,端到端的单阶段目标检测算法。YOLO具体做法是,首先将输入图片缩放到448x448,然后送入CNN网络,最后使用NMS过滤网络预测结果得到检测的目标。

而在CNN网络里,它首先将图片划分为S×S大小的网格,然后每个单元格负责检测中心点落在该格子的目标,如下图,每个单元格会输出B个边界框(每个边界框输出5个预测值:x, y, w, h, confidence)以及边界框类别概率C,例如:作者在PASCAL VOC的检测实验里使用S=7,B=2,C=类别数量20,一共预测7×7×(2×5+20)个向量。同时这里的confidence代表边界框置信度,它的定义为:

其中边界框包含目标时,,否则为0。而C代表每个类别的置信度,即:

3.1 模型结构

YOLO采用卷积网络来提取特征,然后使用全连接层来得到预测值。网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数,但是最后一层却采用线性激活函数。

3.2 模型训练

在训练之前,先在ImageNet上进行了预训练,其预训练的分类模型采用图8中前20个卷积层,然后添加一个average-pool层和全连接层。预训练之后,在预训练得到的20层卷积层之上加上随机初始化的4个卷积层和2个全连接层。由于检测任务一般需要更高清的图片,所以将网络的输入从224x224增加到了448x448。

3.3 模型损失

Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。但是对不同的部分采用了不同的权重值。首先区分定位误差和分类误差。对于定位误差,即边界框坐标预测误差,采用较大的权重 。然后其区分不包含目标的边界框与含有目标的边界框的置信度,对于前者,采用较小的权重值 。其它权重值均设为1。然后采用均方误差,其同等对待大小不同的边界框,但是实际上较小的边界框的坐标误差应该要比较大的边界框要更敏感。为了保证这一点,将网络的边界框的宽与高预测改为对其平方根的预测,即预测值变为

损失函数中,第一项为边界框中心坐标的误差项, 是指第 i 个单元格存在目标,且该单元格中的第 j 个边界框负责预测该目标,第二项是边界框的高与宽的误差项。第三项是包含目标的边界框的置信度误差项。第四项是不包含目标的边界框的置信度误差项。最后一项是包含目标的单元格的分类误差项,值是指第 i 个单元格存在目标。

4. 实验结果

5. 参考文献

目标检测|YOLO原理与实现 - 知乎 (zhihu.com)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
yolov1 模型理解
yolov1 直接采用 regression(回归)的方法进行坐标框的检测以及分类,使用一个end-to-end的简单网络,直接实现坐标回归与分类。Yolo的CNN网络将输入的\(448*448\)图片分割成 S∗S 网格,然后每个单元格负责去检测那些中心点落在该格子内的目标,如图下图所示,可以看到狗这个目标的中心落在左下角一个单元格内,那么该单元格负责预测这个狗。每个单元格会预测 B 个边界框(bounding box)以及边界框的置信度(confidence score)。 
嵌入式视觉
2022/09/05
6610
yolov1 模型理解
【目标检测系列】个人整理目标检测框架yolo v1深入剖析
faster-RCNN在目标检测精度上已经能够达到一个很高的水准,但是作为RCNN系列的最巅峰,它提出了RPN网络产生推荐性区域,但是它依旧有着一些缺点,这些区域里面有大面积是重合的,影响了计算效率。为了更好地提升目标检测的计算效率,从DPM检测中获得了相关的灵感,于是yolo网络应运而生,现在yolo网络已经有了很多的版本,yolo v1、yolo v2、yolo v3、fast yolo 等系列算法,本文针对最原始的yolo v1算法。
小草AI
2019/05/31
1.7K0
【目标检测系列】个人整理目标检测框架yolo v1深入剖析
目标检测(object detection)系列(五)YOLO:目标检测的另一种打开方式
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
chaibubble
2019/08/14
8030
深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)
本系列为 斯坦福CS231n 《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频可以在 这里 查看。更多资料获取方式见文末。
ShowMeAI
2022/06/09
1.8K0
深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)
一文看尽目标检测:从 YOLO v1 到 v3 的进化之路
http://www.mamicode.com/info-detail-2314392.html
小小詹同学
2019/05/15
8020
一文看尽目标检测:从 YOLO v1 到 v3 的进化之路
YOLO算法的原理与实现
作者:叶 虎 编辑:祝鑫泉 前言 1 当我们谈起计算机视觉时,首先想到的就是图像分类,没错,图像分类是计算机视觉最基本的任务之一,但是在图像分类的基础上,还有更复杂和有意思的任务,如目标检测,物体定位,图像分割等,见图1所示。其中目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。目标检测的一个实际应用场景就是无人驾驶,如果能够在
机器学习算法工程师
2018/03/06
7.5K0
YOLO算法的原理与实现
目标检测:Anchor-Free时代
自从2018年8月CornerNet开始,Anchor-Free的目标检测模型层出不穷,最近达到了井喷的状态,宣告着目标检测迈入了Anchor-Free时代。
计算机视觉
2020/11/11
6800
目标检测:Anchor-Free时代
YOLOv1/v2/v3简述 | 目标检测
  YOLO十分简单,一个网络同时对多个物体进行分类和定位,没有proposal的概念,是one-stage实时检测网络的里程碑,标准版在TitanX达到45 fps,快速版达到150fps,但精度不及当时的SOTA网络
VincentLee
2020/03/12
1.1K0
专栏 | 目标检测算法之YOLOv1
今天开始分享一下 YOLO 系列的目标检测算法,前面介绍了 SSD 算法和 Faster-RCNN,现在公司用 Faster-RCNN 的似乎不是很多,主要集中在 YOLO,SSD 以及 CenterNet 等。我们的检测和宇宙和分割宇宙刚刚开始,之后会更新一些这些算法的代码实战等,敬请期待吧。
AI研习社
2019/11/29
7000
【目标检测】从YOLOv1到YOLOX(理论梳理)
YOLO系列应该是目标领域知名度最高的算法,其凭借出色的实时检测性能在不同的领域均有广泛应用。 目前,YOLO共有6个版本,YOLOv1-v5和YOLOX,除了YOLOv5外,其它都有相应的论文,5篇论文我已上传到资源中,可自行下载:https://www.aliyundrive.com/s/ofcnrxjzsFE 工程上使用最多的版本是YOLOv3和YOLOv5,Pytorch版本均由ultralytics公司开发,YOLOv5仍在进行维护,截至目前,已经更新到YOLOv5-6.1版本。 项目地址:https://github.com/ultralytics/yolov5 在上篇博文中,详细记录了如何用YOLOv5来跑通VOC2007数据集,本篇博文旨在对YOLO系列算法的演化进行简单梳理,更多详细的内容可以看文末的参考资料。
zstar
2022/09/08
2.4K0
最全综述 | 图像目标检测
图片分类任务我们已经熟悉了,就是算法对其中的对象进行分类。而今天我们要了解构建神经网络的另一个问题,即目标检测问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车, 还要在图片中标记出它的位置, 用边框或红色方框把汽车圈起来, 这就是目标检测问题。其中“定位”的意思是判断汽车在图片中的具体位置。
AI算法与图像处理
2019/07/11
1.6K0
最全综述 | 图像目标检测
Anchor-free目标检测 | 工业应用更友好的新网络(附大量相关论文下载)
随着 CVPR 2020和ICCV 2020的结束,一大批目标检测的论文在arXiv上争先恐后地露面,更多的论文都可以直接下载。
计算机视觉研究院
2020/12/29
1K0
Anchor-free目标检测 | 工业应用更友好的新网络(附大量相关论文下载)
理解 YOLO 目标检测
这篇文章从它的角度解释了YOLO目标检测结构。它将不会描述网络的优缺点以及每个网络设计如何选择的原因。相反的,它关注的是网络是如何工作的。在你阅读之前,你应该对神经网络有一个基本的了解,尤其是CNNS。
AI研习社
2018/12/07
1K0
YOLO,You Only Look Once论文翻译——中英文对照
You Only Look Once: Unified, Real-Time Object Detection Abstract We present YOLO, a new approach to
Tyan
2017/12/28
1.8K0
YOLO,You Only Look Once论文翻译——中英文对照
从YOLOv1到YOLOv3,目标检测的进化之路
这是继 RCNN,fast-RCNN 和 faster-RCNN之后,Ross Girshick 针对 DL 目标检测速度问题提出的另外一种框架。YOLO V1 其增强版本在 GPU 上能跑45fps,简化版本155fps。
AI科技大本营
2018/07/23
1.3K0
从YOLOv1到YOLOv3,目标检测的进化之路
目标检测之YOLO-You Only Look Once(一)
简单流程图 YOLO检测的流程十分简单,如论文中的这张图所示: 1、将图像resize到448×448作为神经网络的输入 2、用卷积神经网络得到一些bounding box坐标、box中包含物体的置信度和class probabilities 3、进行nms(非极大值抑制),筛选Boxes
CristianoC
2020/06/02
2K0
基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测
对于一张图片,R-CNN基于selective search方法大约生成2000个候选区域,然后每个候选区域被resize成固定大小(227×227)并送入一个CNN模型中,使用AlexNet来提取图像特征,最后得到一个4096维的特征向量。然后这个特征向量被送入一个多类别SVM分类器中,预测出候选区域中所含物体的属于每个类的概率值。每个类别训练一个SVM分类器,从特征向量中推断其属于该类别的概率大小。为了提升定位准确性,R-CNN最后又训练了一个边界框回归模型。训练样本为(P,G),其中P=(Px,Py,Pw,Ph)为候选区域,而G=(Gx,Gy,Gw,Gh)为真实框的位置和大小。G的选择是与P的IoU最大的真实框,回归器的目标值定义为:
机器学习AI算法工程
2019/10/29
5K0
基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测
YOLO v1
Joseph Redmon和Ali Farhadi在2015年提出了YOLO目标检测深度网络,并在2017年和2018年进行了改进,这三个工作都发表在了当年的CVPR上。Joseph Redmon是华盛顿大学的博士,主要研究就方向为计算机视觉,这是Joseph Redmon的个人主页,Ali Farhadi是华盛顿大学的副教授,也是Joseph Redmon的导师,这是AIi Farhadi的个人主页。
狼啸风云
2019/01/18
1.1K0
目标检测 | SSD,经典单阶段Anchor-Based目标检测模型
SSD算法,其英文全名是Single Shot MultiBox Detector, SSD的优势在于消除了bounding box proposal和pixel or feature resampling,并使用了multi-scale,因此达到了比faster rcnn和yolo更高的检测精度和更快的检测速度。
Justlovesmile
2022/03/30
1.6K0
目标检测 | SSD,经典单阶段Anchor-Based目标检测模型
目标检测
图片分类任务我们已经熟悉了,就是算法对其中的对象进行分类。而今天我们要了解构建神经网络的另一个问题,即目标检测问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车, 还要在图片中标记出它的位置, 用边框或红色方框把汽车圈起来, 这就是目标检测问题。 其中“定位”的意思是判断汽车在图片中的具体位置。
用户1150922
2019/07/10
1.5K0
相关推荐
yolov1 模型理解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验