[論文筆記] YOLO (未完成)

在當時較新的目標檢測算法中,R-CNN 算是速度快表現又好的方法。但是仍存在幾個缺點 :

  1. 無法被端到端的訓練
  2. 仍然無法實時計算

本論文提出的 YOLO 不但可以被端到端的訓練,也能夠實時運算 (45 FPS on Titan X)。

YOLO設計

目標檢測流程

  • 輸入圖像被分成 S x S 個網格(grid)
  • 每個網格負責預測中心點落自己裡面的物件
  • 每個網格會預測以下這些東西:
    • B 個物件框信息,每個物件框都包含: 
      • x, y: 物件中心的位置 (相對於網格左上角點,並且使用網格大小正規化)
      • w, h: 物件框的大小 (使用輸入圖像大小正規化)
      • confidence: 物件框中存在物件的機率 x 物件框與物件位置的 IoU,可表示為:
    • 1 個類別信息 (你沒看錯,整個網格大家共用)
      • 信息中包含了 C 類物件的條件機率
      • 其意義為在網格存在物件條件下,物件所屬的類別機率,可表示為:
  • [物件框 confidence] x [物件類別條件機率],意義上為該物件框中存在某類物件的機率
  • 最後模型的輸出尺寸為 S x S x (B * 5 + C)

架構

  • 受到 GoogLeNet 啟發,但未使用 inception module
  • CNN + FC + CNN
  • 用了類似 NiN 概念,也就是 1x1卷積 + 3x3卷積

訓練

預訓練

  • 只取出模型的前 20 層卷積層
  • 接上 average-pooling layer 與 fully connected layer
  • 使用 ImageNet 的 1000 類物件分類資料集進行 pre-training
  • 模型訓練一周之後,在 ImageNet 2012 validation set 上達到了 88% 的 top-5 accuracy 

Fine-tuning

  • 將上面模型的卷積層部分(backbone)取出
  • 加上4層卷積層與2層全連接層 ( 隨機初始化 ),修改成用於 Detection 的架構
  • 因為目標檢測任務通常需要比較細緻的影像,因此將輸入尺寸提升至預訓練時的2倍 (448x448)

損失

Sum-Squared Error (SSE)

  • 這種方法雖然容易優化,卻無法最大化模型的 AP
  • 對於 localization error 與 classification error 給予相同的權重
  • 訓練數據大多數 grid 中不含物體,樣本類別不均產生的梯度不均,造成預測傾向於 conf=0
  • 將大物件與小物件產生的損失值視為相同 (同樣都是誤差 1px,小物件損失值應該要比較大)
  • 符號
    • x_i, y_i, w_i, h_i : 物件的位置、寬高
    • C_i : 物件存在的 confidence 
    • p_i(c) : 物件為 C 類物件的 probability 
    • \mathbb{I}^{obj}_i : 物件是否存在於第 i 個網格中
    • \mathbb{I}^{obj}_{ij} : 物件是否存在於第 i 個網格中,並且由第 j 個 bounding box 負責預測

優化後的 SSE

  • 藉由兩個參數,調整不同損失的權重
    •  \lambda_{coord}=5

    •  \lambda_{noobj} = 0.5

  • 全部損失中,位置損失權重 > Confidence損失權重
  • confidence 損失中,減弱負樣本 (不存在物件的物件框) 的權重
  • 使用BBox 寬高的平方根計算損失,降低大物件的損失權重

 其他細節

  • 只有當有物件存在該網格中,才會對分類損失懲罰
  • 只有當該 predictor 有被分配到 ground-true box 時,才會對位置與寬高損失懲罰。
  • ground true 的分配 :
    • 每個物件,只由一個 predictor 負責預測
    • 選取預測值與物件位置 IoU 最大的 predictor 負責預測
  • 激勵函數部分,除了模型最後一層使用了線性函數,其餘皆使用 Leaky ReLU

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值