IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 论文:YOLOv2 -> 正文阅读

[人工智能]论文:YOLOv2

YOLO9000: Better, Faster, Stronger

论文:https://arxiv.org/abs/1612.08242
代码:https://pjreddie.com/darknet/yolo/


mAPrecall
批归一化 BN超 +2%
分辨率提高到 448×448近 +4%
使用锚框-0.3%+7%

使用锚框问题1:框的尺寸

当在YOLO中使用锚框时,作者遇到两个问题。第一个是框的尺寸是手工挑选的。网络可以学习适当地调整框,但如果为网络选择更好的先验(锚框),可以使网络更容易学习预测好的检测。

Dimension Clusters

作者不再手工选择先验值(锚框),而是在训练集边界框上运行 k-means聚类 来自动找到好的先验。如果使用带有欧氏距离的标准k-均值较大的框较小的框产生更多的误差。然而,真正想要的是能够获得良好IOU分数的优先权,这与框的大小无关。因此,对于距离度量,使用:
d(box,centroid)?=?1???IOU(box,centroid) \text{d(box,centroid) = 1 ? IOU(box,centroid)} d(box,centroid)?=?1???IOU(box,centroid)

作者对 k 的各个值运行 k-均值,并以最接近的中心绘制平均IOU,见下图。选择 k = 5 (5个相邻)作为模型复杂性和高召回率之间的一个很好的权衡。聚类中心与人工选择的锚框有显著不同。短而宽的框更少,高而薄的框更多。

在这里插入图片描述


使用锚框问题2:模型不稳定

在使用YOLO锚框时,作者遇到了第二个问题:模型不稳定,特别是在前期迭代期间。大多数不稳定性来自于预测盒子的(x, y)位置。在区域提议网络中,网络预测值 t x t_x tx? t y t_y ty?, (x, y)中心坐标计算如下:
x = ( t x ? w a ) + x a y = ( t y ? h a ) + y a x = (t_x ? w_a) + x_a\\ y = (t_y ? h_a) + y_a x=(tx??wa?)+xa?y=(ty??ha?)+ya?

例如, t x = 1 t_x=1 tx?=1 的预测将使盒子向右移动锚盒的宽度, t x = ? 1 t_x=-1 tx?=?1 的预测将使它向左移动相同的宽度。这个公式是不受约束的,所以任何锚框都可以在图像中的任何点结束,不管预测框的位置是什么。随机初始化的模型需要很长时间才能稳定到预测合理的偏移量。

直接位置预测

作者采用YOLO方法来预测相对于网格单元位置的位置坐标,而不是预测偏移量。这将ground truth限制在0和1之间。使用逻辑激活来约束网络的预测落在这个范围内。

该网络预测在输出特征图的每个单元处有5个边界框。网络预测每个边界框 t x 、 t y 、 t w 、 t h t_x、t_y、t_w、t_h tx?ty?tw?th? t o t_o to? 的5个坐标。如果单元格从图像的左上角偏移( c x , c y c_x, c_y cx?,cy?),并且边界框之前的宽度和高度为 p w , p h p_w, p_h pw?,ph?,则预测结果对应于:
b x = σ ( t x ) + c x b y = σ ( t y ) + c y b w = p w e t w b h = p h e t h Pr(object)???IOU(b,object)? = σ ( t o ) \begin{array}{l}b_x= σ(t_x) + c_x\\ b_y= σ(t_y) + c_y\\ b_w= p_w e^{t_w}\\ b_h= p_h e^{t_h} \end{array}\\ \text{Pr(object) ? IOU(b,object) }= σ(t_o) bx?=σ(tx?)+cx?by?=σ(ty?)+cy?bw?=pw?etw?bh?=ph?eth??Pr(object)???IOU(b,object)?=σ(to?)

由于作者对位置预测进行了约束,使得参数化更容易学习,使得网络更稳定。使用维度集群并直接预测包围框的中心位置,使YOLO比使用锚框的版本提高了近5%。


细粒度特征

改进后的YOLO预测了一个13 × 13的特征图。虽然这对于大型对象来说已经足够了,但局部较小目标的细粒度特性可能会使它受益。Faster R-CNN 和 SSD 都在网络中的各种特征图上运行他们的提议网络,以获得一系列的分辨率。作者采用了不同的方法,简单地添加一个透传层,以26 × 26的分辨率将之前层的功能引入。

直通层通过将相邻的特征叠加到不同的通道而不是空间位置,将高分辨率特征与低分辨率特征连接起来,类似于ResNet中的恒等映射。这样,26 × 26 × 512的特征图就变成了13 × 13 × 2048的特征图,可以和原有的特征连接起来。作者的检测器在这个扩展的功能图上运行,这样它就可以访问细粒度的功能。这使性能提高了1%。


多尺度的训练

原始的YOLO使用448 × 448的输入分辨率。通过添加锚框,将分辨率更改为416×416。然而,由于模型只使用卷积和池层,它可以动态地调整大小。作者希望YOLOv2能够健壮地运行在不同尺寸的图像上,因此将其训练到模型中。

每隔几次迭代就改变网络,而不是固定输入图像的大小。每10批,网络随机选择一个新的图像尺寸。由于模型将样本降低了32倍,作者从下列32的倍数中得出:{320,352,…,608}。因此最小的选项是320 × 320,最大的选项是608 × 608。将网络调整到那个维度,并继续训练。

这种机制迫使网络学会跨各种输入维度很好地预测。这意味着同一个网络可以以不同的分辨率预测探测结果。网络在较小的尺寸下运行得更快,所以YOLOv2可以在速度和准确性之间轻松地进行权衡。

在低分辨率时,YOLOv2是一种便宜的、相当精确的探测器。在288×288上,它的运行速度超过90帧/秒,mAP几乎和Fast R-CNN一样好。这使得它成为小型gpu、高帧率视频或多视频流的理想选择。


结果

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:38:10  更:2021-07-29 11:38:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 13:08:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码