yolo目標檢測算法1-3原理總結

news/2024/7/11 1:56:59 标签: yolo

轉自https://www.cnblogs.com/xbit/p/10036981.html

基本思想V1:

  • 将输入图像分成S*S个格子,每隔格子负责预测中心在此格子中的物体。
  • 每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率。
  • bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,均被归一化.
  • 置信度反映是否包含物体,以及包含物体情况下位置的准确性。定义为Pr(Object)×IoU,其中Pr(Object)∈{0,1}

 

改进的V2:

  YOLO v2主要改进是提高召回率和定位能力。

  • Batch Normalization: v1中也大量用了Batch Normalization,同时在定位层后边用了dropout,v2中取消了dropout,在卷积层全部使用Batch Normalization。
  • 高分辨率分类器:v1中使用224 × 224训练分类器网络,扩大到448用于检测网络。v2将ImageNet以448×448 的分辨率微调最初的分类网络,迭代10 epochs。
  • Anchor Boxes:v1中直接在卷积层之后使用全连接层预测bbox的坐标。v2借鉴Faster R-CNN的思想预测bbox的偏移,移除了全连接层,并且删掉了一个pooling层使特征的分辨率更大。调整了网络的输入(448->416),以使得位置坐标为奇数,这样就只有一个中心点。加上Anchor Boxes能预测超过1000个。检测结果从69.5mAP,81% recall变为69.2 mAP,88% recall.
  • YOLO v2对Faster R-CNN的首选先验框方法做了改进,采样k-means在训练集bbox上进行聚类产生合适的先验框。由于使用欧氏距离会使较大的bbox比小的bbox产生更大的误差,而IoU与bbox尺寸无关,因此使用IOU参与距离计算,使得通过这些anchor boxes获得好的IOU分值。
  • 细粒度特征(fine grain features):借鉴了Faster R-CNN 和 SSD使用的不同尺寸的feature map,以适应不同尺度大小的目标。YOLOv2使用了一种不同的方法,简单添加一个pass through layer,把浅层特征图连接到深层特征图。通过叠加浅层特征图相邻特征到不同通道(而非空间位置),类似于Resnet中的identity mapping。这个方法把26x26x512的特征图叠加成13x13x2048的特征图,与原生的深层特征图相连接,使模型有了细粒度特征。此方法使得模型的性能获得了1%的提升。
  • Multi-Scale Training: 和YOLOv1训练时网络输入的图像尺寸固定不变不同,YOLOv2(在cfg文件中random=1时)每隔几次迭代后就会微调网络的输入尺寸。训练时每迭代10次,就会随机选择新的输入图像尺寸。因为YOLOv2的网络使用的downsamples倍率为32,所以使用32的倍数调整输入图像尺寸{320,352,…,608}。训练使用的最小的图像尺寸为320 x 320,最大的图像尺寸为608 x 608。 这使得网络可以适应多种不同尺度的输入。
  • V2对V1的基础网络也做了修改。

 

改进的YOLO V3:

  • 多尺度预测 ,类似FPN(feature pyramid networks)
  • 更好的基础分类网络(类ResNet)和分类器

分类器:

  • YOLOv3不使用Softmax对每个框进行分类,而使用多个logistic分类器,因为Softmax不适用于多标签分类,用独立的多个logistic分类器准确率也不会下降。
  • 分类损失采用binary cross-entropy loss.

多尺度预测

  • 每种尺度预测3个box, anchor的设计方式仍然使用聚类,得到9个聚类中心,将其按照大小均分给3中尺度。
    • 尺度1: 在基础网络之后添加一些卷积层再输出box信息。
    • 尺度2: 从尺度1中的倒数第二层的卷积层上采样(x2)再与最后一个16x16大小的特征图相加,再次通过多个卷积后输出box信息.相比尺度1变大两倍。
    • 尺度3: 与尺度2类似,使用了32x32大小的特征图.


基础网络 Darknet-53:
  仿ResNet, 与ResNet-101或ResNet-152准确率接近。

  基础网络如下。

 


http://www.niftyadmin.cn/n/1186058.html

相关文章

SDUT-3924 疯狂的bLue

疯狂的bLueTime Limit: 1000MS Memory Limit: 65536KBProblem Description众所周知神秘的 ACM 实验室有一个史诗级的出题狂魔,名曰 bLue。最近 bLue 又露出了邪恶的笑,原来是 bLue 接了为校赛出题的单子。距离校赛开始还有 N 小时,由于各种奇…

Jetson Nano-- VNC server 远程连接

一、安装VIVO:VNC Server sudo apt update sudo apt install vino 二、设置VINO的登录选项 gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino require-encryption false 三、将网卡号加入到VINO服务 1、获取网卡号 nmcli co…

SDUT-3915 从零开始的异世界生活

从零开始的异世界生活Time Limit: 2000MS Memory Limit: 65536KBProblem Description486 作为有史以来最悲惨的男主,我们知道他需要经历一些无限次的死亡和轮回才能进行下一个关卡。现在给你 n 个连续的时间点,每个时间点 i 上都会有一个心理伤害值 hurt…

解决caffe训练target_blobs.size ==source_layer.blobs_size(2 vs.1)

说明:这是在caffe利用resnet网络训练二分类的问题遇到的,之所以采用caffe训练是因为使用的嵌入式设备只支持caffe和tensorflow的模型权重文件。 1、首先采用的resnet50训练,搭建网络并加载权重,参考https://blog.csdn.net/m0_373…

SDUT-3362 数据结构实验之图论六:村村通公路

数据结构实验之图论六:村村通公路Time Limit: 1000MS Memory Limit: 65536KBProblem Description当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间…

记录Jetson Nano(P3448-0020)B01使用刷机教程

jetson Nano分为两个版本,一个是用于开发的版本A02,其刷机教程也可以参考我之前写的博客,一个就是用于批量购买的B01版本了,两个版本的区别: 1、前者可以根据自己的需要配置不同配置的内存卡,我的配置的是…

SDUT-图结构练习——最小生成树

图结构练习——最小生成树Time Limit: 1000MS Memory Limit: 65536KBProblem Description有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在…

关于CV中对检测结果的评价指标TP、TN、FP、FN解释说明

转自:https://blog.csdn.net/guyubit/article/details/52276013 首先这几个术语会高频率得出现在论文的实验部分,它是对实验结果的描述,首先我想先解释这几个缩写的含义: precesion:查准率,即在检索后返回…