Lecture 5: Introduction to Computer Vision (Part 3)
|Last edited: 2024-11-28
主题:Object Detection

Region Proposals

Find image regions that are likely contain objects (any object at all)

Selective Search

算法步骤
  1. 建立初始区域集
  1. 初始化相似度集合
  1. 对于每一对相邻的 region
    1. 计算相似度
  1. 时,循环
    1. 中找到最高的相似度
    2. 合并
    3. 删除与 相关的相似度
    4. 删除与 相关的相似度
    5. 计算与 相关的相似度集合
    6. 执行

RCNN

notion image
notion image
  1. 对输入 image 使用 selective search 选取 region proposals。
  1. 选择一个预训练的卷积神经网络。将每一个 region proposals 变形为网格需要的输入尺寸,并通过前向传播输出抽取的提议区域特征。
  1. 将每个提议区域的特征连同其标注的类别作为一个样本,训练多个 SVM 对目标分类。
  1. 将每个提议区域的特征连同其标注的类别作为一个样本,训练 Linear Regression 来预测真实边界框。
速度太慢!

Fast-RCNN

notion image
notion image

ROI Pooling

ROI Pooling 对于每个区域的输出形状是可以直接指定的。
例如,指定每个区域输出的高和宽分别为 。对于任何形状为 的 region proposals,该窗口将被划分为 子窗口网格,其中每个子窗口的大小约为 。在实践中,任何子窗口的高度和宽度向上取整
💡
由于取整操作引起的误差,对应在原本的图像上有可能是很大的误差。

ROI Align

可以做 bilinear interpolation!
notion image

Faster R-CNN

Region Proposal Network, RPN

notion image
  1. 使用卷积层变换 CNN 的输出,并将输出通道数记为
  1. 以 feature map 的每个像素为中心,生成多个不同大小和宽高比的锚框并标注它们。
  1. 使用锚框中心单元长度为 的特征,分别预测该锚框的类别(object or background)和边界框。
  1. 使用非极大值抑制,从预测类别为 object 的边界框中移除相似的结果。剩余的边界框即为 region proposals。
notion image

YOLO: You Only Look Once

notion image
  1. 给定 input image,先将 image 划分为 的格子。对于每个 grid cell,生成 个 base box。(在图示中, )。
  1. 在每个 grid cell 中
    1. 输出每一类的 score(把 background 也看成一类)。
    2. 对于每个 base box,再输出 (dx, dy, dh, dw, confidence) 5 个数字。
  1. 总共的输出:
其中,confidence 定义为

测试的时候,每个 box 属于某一类的概率即为

Focal Loss

  • 解决目标检测任务中类别不平衡的问题。
  • 通过调整困难样本和容易样本的权重,减小容易样本对总损失的影响,提升模型对困难样本的关注。
  • 是样本的真实类别标签。
  • 是模型对于真实类别 的预测概率,即
  • 是针对类别 的权重。
  • 是调节因子。
较小(较难预测的类别)时, 较大(接近 1),对 loss 的影响较大。

IoU 交并比

用于测量两个边界框的相似性。

GIoU

其中, 的最小外包围框。

YOLO Family

YOLO v2

  • Class Prediction for each BOX, not GRID
  • Pretrained Network
  • Batch Normalization
  • Anchor Box (using K-means)

YOLO v3

  • Multi-Scale Prediction
    • 在三个不同的尺度上(大、中、小目标)分别进行检测,特征图来自深度不同的网络层,提高的小物体的检测精度。

YOLO v4

  • CIoU Loss
    • notion image
notion image
 
Loading...