9月1日目标检测学习笔记——通用物体检测


前言

本文为9月1日目标检测学习笔记——通用物体检测,分为四个章节:

  • YOLO v1;
  • YOLO v2;
  • YOLO v3;
  • 物体检测实战。

一、YOLO v1

  • 图像被分成 s×s 个格子;
  • 包含 GT 物体中心的格子负责检测相应的物体;
  • 每个格子预测 B 个检测框及其置信度,以及 C 个类别概率;
  • bbox 信息 (x, y, w, h) 为物体的中心位置相对格子位置的偏移、宽度和高度,均被归一化;
  • 置信度反映是否包含物体以及包含物体情况下的准确度。

1

  • 网络结构:

    • 小卷积:1×1 和 3×3;
    • FC 输出为:S×S×(B×5+C).
  • 损失函数:

    • Loss 函数:均方和误差;
    • 坐标误差、IoU 误差和分类误差。

二、YOLO v2

2

  • 改进:

  • 引入 Anchor box:

    • 预测 bbox 的偏移;
    • 输入尺度:416;
    • max pooling 下采样。
  • 输出层:卷积层代替全连接层;

  • 联合使用 coco 和 imagenet 物体分类标注数据;

  • 取消了 dropout,均使用 Batch Normalization;

  • 高分辨率分类器;

  • Anchor boxes;

  • 细粒度特征:

    • 添加 pass through layer,把浅层特征图连接到深层特征图。
  • Multi-scale Training:

    • 每隔几次迭代后,微调网络的输入尺寸。
  • 主干网络: Darknet-19:

    • 卷积:3×3;
    • global average pooling。

三、YOLO v3

  • 改进:
    • 多尺度预测(类 FPN);
    • 更好的分类器:binary cross-entropy loss;

四、物体检测实战

  • 场景:

3

1、COCO 数据集

  • annotation数据格式:

4
5

2、YOLO v3 环境搭建

6

  • DarkNet 特性:
    • C语言实现;
    • 支持 CPU 与 GPU(CUDA/cuDNN);
    • 轻量、灵活,适合用来研究底层;
    • 与 Caffe 的实现存在相似的地方。

(1)、配置文件

  • Makefile.cfg:
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0

(2)、训练

  • yolov3.cfg:
batch=64
subdivisions=16
width=608
height=608
channels=3
  • coco.data:
classes= 80
train  = /home/pjreddie/data/coco/trainvalno5k.txt
valid  = coco_testdev
#valid = data/coco_val_5k.list
names = data/coco.names
backup = /home/pjreddie/backup/
eval=coco

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值