CS231N Lecture15 目标检测

Rongying Liu 课程

Lecture15 Object Detection

物体检测:Classification+Localization(分类+定位)

多任务损失:

image

滑动窗口

使用滑动窗口来检测物体(将窗口内图片进行分类,k种类别or背景)

image

R-CNN : Region-Based CNN

存在的问题:运行过慢

选择的区域(RoI : region of Interest)作为input,扭曲再进入Conv Net进行分类。

扭曲时使用四个参数:(超参数)

tx,ty对其大小进行改变;tw、th对其进行放缩。

image

测试时的步骤如下:

(第三步可以选择的策略:对背景/每个种类设置预设值,或者采用前k个提议;使用验证集来测试,并不包含在训练过程)

image

比较边界框:Intersection over Union(IoU)

得到比值(类似于交集/并集)

image

去除重叠边界框: Non-Max Suppression(NMS 非最大抑制)

一个简单的贪婪算法:将具有高重叠的框删去(例如高于0.7的IoU)

具体步骤:

1.选择次高分数的框

2.测定与该框IoU大于阈值的其他框,并删去

3.重复第一步

存在问题:当图片中确实有很多高重叠对象,无法识别

image

Fast R-CNN

存在的问题:主要花费时间在region proposal上

步骤:

  1. Run whole image through ConvNet 将图片通过卷积层(没有全连接层,被称为backbone network),得到卷积后的特征图(Image features map) ——主要的计算发生在backbone
  2. 使用 Region proposal method(如selective search),得到原始输入(image)上的区域,再对特征图对应区域裁剪&调整大小
  3. 在裁剪得到的区域上运行Pre-Region Network (轻量级CNN网络) , 输出分类分数和边界框变换(Class+bbox,可以由不同结构网络得到)

image

Cropping Features 裁剪特征

1.Rol Pool :RoI池化

例如:将 RoI 划分为2x2的网格,每个子区域相等;再对子区域进行最大池化;之后可以传入cnn进行前向or反向传播

image

2.Rol Align

使输入特征和输出特征更好地对齐。

步骤:1.对每个子区域用双线性插值采样

2.对随机点 (x,y) ,其特征是附近四个子区域单元的线性组合:(如图中公式)(可微操作)

3.对每个子区域进行最大池化

image

Faster R-CNN:Make CNN do proposals!

放弃选择性搜索的启发式算法,训练神经网络来proposal.

不同之处:将特征图传入RPN中,来获取proposals

image

Region Proposal Network(RPN)

1.对每个点使用固定尺寸的anchor box,predict 这个anchor box是否包含一个物体(通过binary classification

2.对于positive的方框,还要预测从锚点到ground truth方框的修正(每像素回归4个数字)

3.在实践中,使用k个不同大小的锚框,根据“objectness”得分对 Kx20x15 个框进行排序取前 300 个作为我们的提案

image

loss

这个模型有四个loss;

image

忽略的细节

如何确定锚点?

如何采样正样本?

image

fast R-CNN分为两个阶段

image

Single-Stage Object Detection

在每个网格单元内:

- 从每个 B个基本框回归到具有5 个数字的最终框:(dx、dy、dh、dw、confidence)

- 预测每个 C类的分数(包括背景作为一个类)

- 看起来很像 RPN,但是特定于类别的!

image

YOLO

输出:一组边界框(bounding boxes),每个框都有一个置信度值和与之对应的类标签。

主要步骤:

1.首先将输入图像划分成一个S x S的网格。每个网格单元负责检测该区域内的物体。

2.每个网格单元预测多个边界框(通常是B个),每个框包含以下信息:

  • 物体的位置(通过边界框的中心坐标、宽度和高度表示)
  • 置信度(表示该框包含物体的概率,且与框的准确性相关)

3.每个网格单元还预测类概率:每个框与特定类别的匹配程度

损失:YOLO采用复合损失函数进行训练,主要包括:

  • 定位损失:用于衡量预测边界框与真实边界框之间的差距(通常采用均方误差来计算)。
  • 置信度损失:用于衡量预测的置信度与实际框是否包含物体的差异。
  • 类别损失:用于衡量预测的类别概率与实际类别之间的差距。

image

衡量模型指标

1.Mean Average Precision (mAP 平均精度)

对精度和召回率都有权衡

计算步骤:

1.在测试集上使用模型

2.对每个类别,计算AP(Average Precision):

​ a. 对每次检测:

​ 1.如果与GT box的IoU值>0.5,认为positive,否则negative

​ 2.在PR曲线上画点

​ b.AP = PR曲线下的面积

3.计算AP平均值,得到mAP

4.“COCO mAP”:对不同值的IoU(0.5,0.55,0.6…,0.95)计算mAP,最终取平均

image

  • Title: CS231N Lecture15 目标检测
  • Author: Rongying Liu
  • Created at : 2025-03-05 19:32:28
  • Updated at : 2025-03-05 20:01:03
  • Link: https://github.com/Roinnnn11/Roinnnn11.github.io/2025/03/05/CS231N/15 目标检测/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments