YOLOv2简述

YOLO V2解析 YOLO V2是YOLO系列的第二版,在YOLO V1的基础上加以改进,改善了YOLO V1定位不准的问题,又保证了检测的速度,可谓集准确性与速度于一身(YOLO V2获得了CVPR2017的最佳论文提名)。YOLO V2的原文提出了两个模型:YOLO V2和YOLO9000,本文主要着重YOLO V2,下面让我们一同走进YOLO V2的世界。 Outlines: YOLO V2 vs V1;... 阅读详情

前些日子看了看YOLOv2算法,算是引领了本人在分类检测算法中的入门吧,综合了一下自己看论文和博客的收获,根据自己的理解简单说一下YOLOv2是怎么回事儿。

如果哪里表述有不妥当或者理解偏差欢迎各位大神批评指正。

好了那我们进入正题。


YOLOv2在原版本的基础上进行改进,在精度上有所提升。

为了精度的提升,YOLOv2使用了一些方法和技巧

图片中展示了各方法对模型性能的提高:

本文主要针对其中几项技术进行分析:

Batch Normalization
High Resolution Classifier
Convolutional With Anchor Boxes
Dimension Clusters
Direct Location Prediction
Fine-Grained Features
Multi-Scale Training


【Batch Normalization】
训练过程中,每层卷积神经网络的输入分布会向两极偏移,而Batch Normalization会调整输入分布,从而使得每层输入保持相同分布,减小训练难度,提高mAP。

(官方论文中的提升为2%)

对Batch Normalization这项技术不了解的朋友们可以参看本人的另外一篇博客:

机器学习中的一些基本概念(未完待续)


【High Resolution Classifier】

对于这项技术,本人的理解是:分辨率越高,单位面积内的像素越多,保留原图片的信息越完整,目标检测越容易也越准确。
YOLOv2首先对分类网络(darknet)进行fine tune,进行预训练,使训练后的网络适应高分辨率输入。然后,对检测网络也进行fine tune。
通过提升分辨率,提升了mAP。
(官方论文中的提升为4%)


【Convolutional With Anchor Boxes】

这项技术主要是在卷积过程中的feature map中使用anchor boxes,像这样:

(图片来自:YOLOv2论文笔记)

论文通过缩减网络,让图片分辨率为416*416,这是为了让后面产生的卷积feature map宽高都为奇数,以产生一个center box,位于图像中间。

以factor = 32进行降采样,得到13*13的的卷积特征图(上文中提到的宽高均为奇数的feature map)。
(注:降采样即为池化)
feature map中的每个cell预测一定数量的anchor boxes(官方论文中为9),加了anchor boxes之后,recall上升,precision下降。

为什么recall会上升,precision会下降呢?
由于对每个cell均进行anchor boxes生成,集合更多,选到该类物体的概率更大,故recall更大;

但可能对非该类的(类似)物体也生成anchor box并将其分类为该类,故precision下降。

对recall、precision不了解的朋友们同样可以参看本人的另外一篇博客:

机器学习中的一些基本概念(未完待续)


【Dimension Clusters】

在以往的算法中(例如SSD),anchor boxes的宽高比往往是提前确定的。如果事先确定的宽高维度不具有代表性,那么在训练中,网络将对其进行调整,最终得到准确的bounding boxes。这也就意味着,更好的先验boxes维度将使得网络预测的位置更加准确,学习速度也会更快。

所以,论文中使用了利用IoU(交并比)的K-means聚类方法训练bounding boxes,自动找到更具有代表性的宽高维度。
论文通过改进后的K-means方法(原来K-means方法利用欧式距离计算距离,而论文中利用IoU计算距离)对boxes进行聚类,最终认为k = 5时算法复杂度和IoU之间有较好的balance,选择5种不同大小的boxes维度进行预测。

有趣的是,进行聚类实验过后,boxes中瘦高的框较多,矮胖的框较少。

改进后的聚类函数:


聚类结果图:



这种聚类方法有效地提高了recall,如下图所示:

利用Cluster IoU生成9个anchor boxes的平均IoU(67.2)要明显高于先验anchor boxes的效果(60.9)。


【Direct Location Prediction】

直接使用anchor box导致模型不稳定(原公式不对横纵坐标进行约束,所以anchor可能会检测很远的目标box,效率很低)。

所以,使用预测相对于grid cell(grid cell就是feature map中的cell)坐标位置的方法:

相应cell距离整张图(feature map)的左上角边距为c(x),c(y),利用sigmoid函数将函数值约束到[0,1],预测相对于该cell中心的偏移。

该方法主要解决的问题是:使得anchor box只对相应cell内的目标进行检测,以解决模型不稳定的问题。

具体的公式在该博客中有详细给出说明和解释:

YOLOv2论文笔记


【Fine-Grained Features】

利用转移层(passthrough layer)把26*26*512的特征图连接到了13*13*2048的特征图(前者进行细粒度检测,后者进行粗粒度检测),有利于检测小目标。

这样,就提高了物体检测的包容度,进而提升了模型的性能。

(官方论文中获得了1%的性能提升)


【Multi-Scale Training】
网络输入的图片为416*416,而论文作者需要YOLOv2对不同尺寸的图片具有鲁棒性,因此进行Multi-Scale Training(多尺度训练)。

在之前的介绍中有提到,YOLO网络使用的降采样 factor = 32。

所以利用32的倍数进行池化(官方论文中利用320,352,……,608进行池化)。处理过后,最小的尺寸为320*320,最大的尺寸为608*608。

在10个epoch过后,对网络进行fine tune,随机选择新的图片尺寸,然后按照输入尺寸进行训练。

实验表明,Multi-Scale Training使得同一个网络对不同分辨率的图片都可以进行检测,提高了网络性能。

下为YOLOv2与其他网络在某数据集上进行的对比表、图:



除精度外,YOLOv2在分类种类上也有了一个飞跃:

【交叉数据集训练】

利用ImageNet训练分类,COCO和VOC数据集训练检测。
但问题在于:ImageNet对应分类有9000种,COCO只提供80种目标检测,这该怎么办?

论文中提出了一种新方法:利用multi-label模型,假定一张图片可以有多个label,且不要求label间独立(即,不要求mutual exclusion——相互排斥)。

交叉数据集训练图(很震撼):



分级分类
ImageNet的label提取自WordNet,WordNet是一个表明语言(我的理解是单词)结构概念和其间关系的数据库。
用一段论文中的原文可能会加强对语言关系的理解:

In WordNet, “Norfolk terrier” and “Yorkshire terrier” are both hyponyms of “terrier” which is a type of “hunting dog”, which is a type of “dog”, which is a “canine”, etc.


WordNet结构是一个有向图,根据该有向图构造分级树WordTree。

先将所有到WordNet的原点(称为physical object)只有单路径的词语的该路径加入分级树,再将剩余其他词汇相对原点的最短路径加入分级树,得到WordTree。

下图表述了WordTree和ImageNet在预测上的区别:



分类:
ground truth label沿着树向根节点传播,所以,如果image被label成 'norfolk terrier',那么它也会获取到 'dog' 和 'mammal' 标签。
检测:
预测bounding box和概率树,将树由上向下遍历,在每个分支找到最高的confidence直到它小于事先设定的某阈值。

通过交叉数据集训练以及WordTree,可以得到9000+种分类。


参考博客:

YOLOv2论文笔记

深度学习算法之YOLOv2

官方论文下载地址:

YOLO9000: Better, Faster, Stronger
YOLOv2 论文笔记 论文地址:YOLO9000: Better, Faster, Stronger 项目主页:YOLO: Real-Time Object Detection (最近博客下很多人请求Caffe 代码,受人所托,已经不再提供,且关闭本文评论,望请见谅) 概述 时隔一年,YOLO(You Only Look Once: Unified, Real-Time Object Detection)从v... 阅读详情

相关推荐

【目标检测】YOLOV2详解

前面我们已经讲解过了YOLOV1,因此在这里我会接着前几天的讲解,进一步写一下YOLOV2的基本思想和改进。YOLOv2的论文全名为YOLO9000: Better, Faster, Stronger,它斩获了CVPR 2017 Best Paper Honorable Mention。在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集和ImageNet分类数据集上训练出了YOLO9000模型,其可以检测超过9

qq_38375203的博客 7861

目标检测|YOLOv2原理与实现(附YOLOv3)

转发:https://zhuanlan.zhihu.com/p/35325884前言在前面的一篇文章中,我们详细介绍了YOLOv1的原理以及实现过程。这篇文章接着介绍YOLOv2的原理以及实现,YOLOv2的论文全名为YOLO9000: Better, Faster, Stronger,它斩获了CVPR 2017 Best Paper Honorable Mention。在这篇文章中,作者首先在Y...

何进的博客 1万+

【目标检测】yolo系列:从yolov1到yolov5之YOLOv2详解及复现

YOLO v2 Yolov2论文链接:YOLO9000: Better, Faster, Stronger yolov2的改进 从Yolov2论文的标题可以直观看到就是Better、Faster、Stronger。Yolov1发表之后,计算机视觉领域出现了很多trick,例如批归一化、多尺度训练等等,v2也尝试借鉴了R-CNN体系中的anchor box,所有的改进提升,下面逐一介绍。 1. Batch Normalization(批归一化)* 检测系列的网络结构中,BN逐渐变成了标配。在Yolo的每个卷积

qq_42368281的博客 3667

深度学习之学习(3-3)YOLOV2

参见:【目标检测论文阅读】YOLOv2 - 知乎 二、更快更准:YOLOv2 2.1 简介 2017年,作者 Joseph Redmon 和 Ali Farhadi 在 YOLOv1 的基础上,进行了大量改进,提出了 YOLOv2 和 YOLO9000。重点解决YOLOv1召回率和定位精度方面的不足。 YOLOv2 是一个先进的目标检测算法,比其它的检测器检测速度更快。除此之外,该网络可以适应多种尺寸的图片输入,并且能在检测精度和速度之间进行很好的权衡。 相比于YOLOv1是利用全连接层直接预测B

light169的专栏 4192

YOLOv2 YOLOv3 如何选择先验框(priors anchor)(自用)

在YOLOv2论文中,作者有对Dimension Cluster做一个介绍,这个cluster的目的就是寻找出anchor的先验(简称为先验框)。什么是先验框呢,简单来说,在YOLOv1中,作者遇到了一个问题,虽然我们通过实验知道要选两个boxes是最优的,但是如何这两个boxes的尺寸如何决定呢?网络自身可以学着不断调节box的大小,但是我们能够提前给定一个/多个尺寸作为备选不是更好吗?所以作者...

Pattorio的博客 3万+

yolov2论文翻译

YOLO9000:Better, Faster, Stronger

HMW的博客 1万+

YOLOv1,YOLOv2,YOLOv3解读

单阶段 YOLO 推荐论文翻译:https://www.jianshu.com/p/a2a22b0c4742 (md格式) 名字解释:You Only Look Once: Unified, Real-Time Object Detection You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Tim...

努力充实,远方可期 8562

【目标检测】单阶段算法--YOLOv2详解

论文题目:《YOLO9000: Better, Faster, Stronger》 论文地址:https://arxiv.org/pdf/1612.08242.pdf 1. 前言        在前面的一篇文章中,我们详细介绍了YOLOv1的原理以及实现过程。这篇文章接着介绍YOLOv2的,YOLOv2的论文全名为YOLO9000: Better, Faster, Stronger,它斩获了CVPR 2017 Best Paper Hon

Roaddd的博客 4883

YOLOv1 、YOLOv2

简介-

2302_76976255的博客 1635

YOLOv2目标检测算法——通俗易懂的解析

YOLOv2目标检测算法——通俗易懂的解析

chase 6761

新疆地形数据下载:30米、12.5米、5米DEM地形数据

新疆是我国陆地面积最大的省级行政区,总面积达166万平方公里。新疆的地形也十分的复杂,新疆的地形呈山脉与盆地相间排列,盆地被高山环抱,,俗称“三山夹两盆”。三山指阿尔泰山、昆仑山、天山,两盆是指塔里木盆地和准噶尔盆地。 对精度要求不高的话,可以直接使用图新地球下载 新疆30米地形数据 大小:9.26GB 来自ASTER v3的新疆30米地形数据 30米地形数据下载 新疆12.5米地形数据 12.5米DEM数据由于精度比较高,一般不会用到全省的数据,通常用的是一个地区的,因此,可以单独分

LocaSpace的博客 3494

浅谈YOLOV2与YOLOV3

YOLOv1:YOLOv1论文理解 最近要做目标跟踪,经过调研发现,YOLOv3的速度与精度喜人,超过了同时代的(Faster-R-cnn、SSD、YOLOv2),达到了 art-to-state水平,但是在阅读过程中,尽管我曾经看过v1和v2但是在了解v3的时候还是有点困难,因此重新进行了梳理。 YOLOv2: 不得不说,作者的"分而治之"的策略的确很好,在提高速度的同时,...

xiaomifanhxx的博客 1万+

接地设计的本质:按电流类型选择物理连接方式

接地是电子系统中实现电位参考、噪声抑制与安全保护的基础技术,其核心原理在于为不同性质的电流提供可控的低阻抗返回路径。从直流到GHz频段,电流的频率特性、能量等级和持续时间决定了接地的物理实现方式——工频安全电流依赖低电阻导体,高频噪声需低感平面或磁珠衰减,ESD脉冲要求受控泄放电阻,浪涌能量则必须通过独立短路径导入大地。这种‘目的决定方式’的设计逻辑,直接关联EMC合规性、信号完整性与系统可靠性。本文聚焦PCB级与设备级工程实践,详解安全地、功能地、浪涌地与静电地的判据差异及六种典型连接策略,帮助硬件工程师

weixin_36369848的博客 258

YOLOv2 与 YOLOv3

在 YOLO 出现之前,许多物体检测算法都是基于区域建议(region proposal)的方法,如 RCNN、Fast RCNN 和 Faster RCNN。这些方法通过先生成大量的候选框,再对每个候选框进行分类,尽管精度较高,但计算复杂度较大,难以实现实时性。YOLO 的出现改变了这种局面,它通过将物体检测问题转化为一个回归问题,直接预测边界框和类别。YOLO 的创新之处在于它将整个图像作为输入,一次性输出所有物体的类别和位置,不需要额外的候选框生成步骤,大大提高了检测速度。

2402_85799538的博客 860

反激电源反馈环路设计:UC3842的FB脚与COMP脚接法对比与选型

在开关电源设计中,PWM控制器与光耦的反馈环路接法直接影响系统稳定性与动态响应。UC3842作为经典电流模式控制器,其FB脚和COMP脚分别对应内部误差放大器的输入与输出,决定了环路补偿由内部还是外部承担。FB脚接法利用内部基准和运放,设计简单、成本低,适合小功率适配器;COMP脚接法旁路内部运放,补偿网络外置,动态响应快、精度高,适合中大功率工业电源。理解两种接法的原理与差异,有助于在反激电源设计中优化环路补偿,提升负载调整率和批量一致性。

weixin_31887307的博客 315

MCGS触摸屏数据记录与U盘导出配置全解析

在工业自动化现场,数据记录是设备运行状态分析与故障追溯的基础。HMI触摸屏作为人机交互核心,不仅承担实时监控任务,还负责过程数据的存储与导出。理解数据采集周期、存盘机制与存储介质的匹配原理,能帮助工程师高效配置数据记录功能。合理运用定时存盘、存盘组与U盘导出,可支撑设备趋势分析、报表生成及事故排查。本文以MCGS触摸屏为例,详解数据记录的完整组态流程,并汇总常见配置陷阱与排查思路,为现场调试与长期运维提供可落地的技术参考。

weixin_34253126的博客 459

YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX

YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX

weixin_43662553的博客 1万+

双目立体匹配算法:SGBM

SGBM(Semi-Global Block Matching)是一种用于计算双目视觉中视差(disparity)的半全局匹配算法,在OpenCV中的实现为semi-global block matching(SGBM)。它是基于全局匹配算法和局部匹配算法的优缺点,提出了一种折中的方法,既能保证视差图的质量,又能降低计算复杂度。

weixin_45303602的博客 9402

YOLOV2详解

yolov2详解笔记

weixin_43566977的博客 6592

Qt C++ HTTP 调用通义千问大模型 X 学术论文润色工具(SCI 格式适配)

请求地址:`https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation`;| Windows | 打包时携带 `Qt6Network.dll`/`libcrypto-1_1-x64.dll` 等依赖;| Linux | 安装 `libssl-dev` 和 `libcurl4-openssl-dev`;| API 调用失败 | 检查 API-KEY 是否有效;

寒寒豆豆软件公司的博客 104

国科大学习资料--模式识别与机器学习(黄庆明)--期末复习题2(含答案)

国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) ...

无名何许人的博客 1万+

TensorFlow2—YOLOv2

学习yolo也有一段时间了,一直在死磕yolov3,最后想想还是先把yolov2先好好捋一遍吧,原理搞懂不难,代码实现对于我这种基础比较差的人,还是有一点难度。好了废话不多说,我们先看看yolo算法的相关原理吧。 Tensorflow-YoloV21、YOLOv2论文解读2、tf2-yolov2代码实现2.1 训练数据预处理2.1.1 统一改变输入图片尺寸2.1.2 解析XML文件2.1.3 读取图片(图片数据预处理)2.1.4 真实标签格式处理(单张图片)2.1.5 真实标签格式处理(批量图片) 1、YO

weixin_45392405的博客 1081

番外篇 | 复现HIC-YOLOv5,助力小目标物体的检测

在本文中提出了一种改进的YOLOv5算法:HIC-YOLOv5,用于小目标检测,具有更好的性能和较低的计算成本。🌈

小哥谈 1129

从YOLOv1到YOLOv2

对比维度YOLOv1YOLOv2输入尺寸448×448416×416(支持多尺度320~608)输出特征图尺寸7×713×13输出维度7×7×30(2个框+20类)13×13×125(5个Anchor+20类)预测方式直接预测绝对坐标、宽高预测相对于先验框的偏移量先验框/预测框2个预测框(无先验,固定初始形状)5个先验框(K-means聚类生成)类别预测机制网格单元共享20个类别概率(1个网格1类)每个Anchor独立预测20个类别概率(1个网格多类)基础网络。

sunxuehai1的博客 1124

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【学习笔记】一文搞懂YOLOv1和YOLOv2【万字总结】

本文介绍了YOLOv1和YOLOv2的原理结构,阐明了YOLOv1是如何对物体进行标注和YOLOv1的输出,以及训练阶段和推理阶段的处理,YOLOv2在YOLOv1的基础上修改卷积网络结构为Darknet-19,采用了细粒度的提取,高分辨率分类器和多尺度训练,并讲解了训练阶段和推理阶段的处理

m0_62969865的博客 2250

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

YOLOv2

关于YOLOv2的个人理解 背景 首先此文是YOLOv1的进阶版,作者运用了多种不同的手段来提高模型预测的精确度,但我只会对其中核心的部分进行讲解,清楚YOLOv2与YOLOv1在整个核心算法流程上有什么不同,以及它的输入和输出分别是什么含义,怎么得到的。我认为这才是我们阅读一篇文章,具体要弄懂的东西。如有的地方解释存在纰漏,敬请指正,谢谢! 思想 核心思想与YOLOv1相同,仍然是将图片划分为S*S个grid(默认S=13),每个grid预测B个bounding box(默认B=5),但对于boundi

hu_Mrs的博客 1371

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 机器学习中的一些基本概念
下一篇: 新手初识Tensorflow
echoKangYL
博客等级 码龄9年 432粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值