You Only Look Once:
Unified, Real-Time Object Detection
Joseph Redmon, Santosh Divvala,
Ross Girshick, Ali Farhadi, CVPR 2016
志水 秀熙(名工大玉木研)
2022/04/15
概要
◼物体検出モデルの提案 : YOLO (You Only Look Once)
• 検出と分類を一度に行う
• 検出 : バウンディングボックス (矩形)を特定
• 分類:矩形内の物体のクラス分類
◼これまでの課題
• 処理速度が遅い
• 精度が悪い
◼YOLOの利点
• 処理速度が速い
• 画像全体を見て分類を行える
• 汎化性能が高い
トレード
オフ
従来手法
◼DPM [Yan+, CVPR, 2011]
• スライディングウィンドウ方式により物体の検出
• クラス分類はその後
◼R-CNN [Girshick+, CVPR, 2014]
• Selective Researchにより物体の検出
入力画像 物体提案領域
出典:Qiita; 物体検出についての歴史まとめ
従来手法
◼DPM [Yan+, CVPR, 2011]
• スライディングウィンドウ方式により物体の検出
• クラス分類はその後
◼R-CNN [Girshick+, CVPR, 2014]
• Selective Researchにより物体の検出
入力画像 物体提案領域
出典:Qiita; 物体検出についての歴史まとめ
従来手法
◼DPM [Yan+, CVPR, 2011]
• スライディングウィンドウ方式により物体の検出
• クラス分類はその後
◼R-CNN [Girshick+, CVPR, 2014]
• Selective Researchにより物体の検出
入力画像 物体提案領域
提案領域のみを
畳み込み
出典:Qiita; 物体検出についての歴史まとめ
従来手法
◼DPM [Yan+, CVPR, 2011]
• スライディングウィンドウ方式により物体の検出
• クラス分類はその後
◼R-CNN [Girshick+, CVPR, 2014]
• Selective Researchにより物体の検出
入力画像 物体提案領域
提案領域の
クラス分類
出典:Qiita; 物体検出についての歴史まとめ
物体特定とクラス分類は二段階で行っていた
従来手法
◼DPM [Yan+, CVPR, 2011]
• スライディングウィンドウ方式により物体の検出
• クラス分類はその後
◼R-CNN [Girshick+, CVPR, 2014]
• Selective Researchにより物体の検出
入力画像 物体提案領域
出典:Qiita; 物体検出についての歴史まとめ
YOLO: You Only Look Once
◼一段階手法
入力画像
クラス分類
物体特定
物体検出
YOLO: 詳細
◼画像をS × Sのグリッドに分割し,CNNへ
◼各グリッドセルで𝐵個のバウンディングボックス, confidenceとクラス
確率 (クラス数𝐶個)を予測
• バウンディングボックス
• ボックスの中心座標(𝑥, 𝑦)と幅𝑤,高さℎを予測
• Confidence
• 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 = 𝑃𝑟(𝑂𝑏𝑗𝑒𝑐𝑡) × 𝐼𝑜𝑈
• 𝑃𝑟(𝑂𝑏𝑗𝑒𝑐𝑡) : セル内に物体がある確率
• 𝐼𝑜𝑈 : 予測ボックスと正解ボックスの重なり度合い
• クラス確率
• Pr 𝐶𝑖 𝑂𝑏𝑗𝑒𝑐𝑡 : 物体がクラスiである確率
◼𝑆, 𝐵, 𝐶はハイパーパラメータ
• 本論文では,𝑆 = 7, 𝐵 = 2, 𝐶 = 20
𝑤
ℎ
bbox
𝑥
𝑦
中心座標
・画像を7 × 7のセルに分割
・一つのセルで2個のbboxを予測
・クラス数 : 20
YOLO: ネットワーク構造
畳み込み層 : 24層
プーリング層 : 4層
全結合層 : 2層
YOLO: ネットワーク構造
畳み込み層 : 24層
プーリング層 : 4層
全結合層 : 2層
画像の特徴抽出
YOLO: ネットワーク構造
畳み込み層 : 24層
プーリング層 : 4層
全結合層 : 2層
画像の特徴抽出 物体のバウンディン
グボックスとクラス
確率を予測
YOLO: ネットワーク構造
畳み込み層 : 24層
プーリング層 : 4層
全結合層 : 2層
画像の特徴抽出 物体のバウンディン
グボックスとクラス
確率を予測
最終出力は7 × 7 × 30
一つのグリッドセルに対して
30個の予測値
ネットワーク構造 : 最終出力
・画像を7 × 7のグリッドに分割(𝑆 = 7)
・一つのセルで2個のbboxを予測(𝐵 = 2)
・予測クラス数 : 20(𝐶 = 20)
bbox1の予測 bbox2の予測
◼一つのセルでの予測
• 二つのbboxの予測
• Confidence
• 座標(x, y)
• Width
• Height
• クラス確率の予測
• 全20クラス
◼全セルでの予測
• 一つのセル
• 2 × 5 + 20 = 30
• 7 × 7 × 30
YOLO : 損失関数
YOLO :損失関数
YOLO :損失関数
bboxの中心座標の二乗誤差
YOLO :損失関数
bboxの大きさの二乗誤差
YOLO :損失関数
bboxのconfidenceの二乗誤差
YOLO :損失関数
クラス確率の二乗誤差
YOLO : 損失関数
損失に対する重み
• λ𝑐𝑜𝑜𝑟𝑑 = 5
• λ𝑛𝑜𝑜𝑏𝑗 = 0.5
グリッドセル内に物体を含むかのフラグ
• 𝑜𝑏𝑗 : 含む場合1
• 𝑛𝑜𝑜𝑏𝑗 : 含まない場合1
実験1: 他のリアルタイムシステムとの比較
◼他のリアルタイムシステム
• DPM : 100Hz DPM [Forsyth+, ECCV, 2014], 30Hz DPM [Forsyth+, ECCV, 2014],
Fastest DPM [Yan+, CVPR, 2014]
• R-CNN : R-CNN Minus R [Lenc+, BMVC, 2015], Fast R-CNN [Girshick+, ICCV, 2015],
Faster R-CNN VGG-16 [Ren+, NIPS, 2016], Faster R-CNN ZF[Ren+, ICCV, 2015]
◼計算速度, 精度を比較
• 計算速度 : fpsを計測
• 精度 : mAP (平均適合率)
◼データセット: PASCAL VOC 2007, 2012
• 物体認識用データセット
• 人, 動物, 乗り物, 家具を含む画像
• クラス数 : 20(人, 鳥, 自転車, 椅子など)
全クラスでのAPの平均
AP (適合率) : PrecisionとRecallの関係
にから算出
結果 : YOLOと他のリアルタイムシステムの比較
結果 : YOLOと他のリアルタイムシステムの比較
YOLOを使用したモデルは処理速度
が速い上,精度も他のシステムに引
けを取らない
実験2 : 予測結果の比較
◼YOLOとFast R-CNNの予測結果の内容比較
• 予測結果を以下の5つに分類
• Correct : クラス正解+”IoU > 0.5”
• Localization : クラス正解+”0.1 < IoU < 0.5”
• Similar : クラス正解に近い+”IoU > 0.1”
• Other : クラス不正解+”IoU > 0.1”
• Background : ”IoU < 0.1”
• データセット:PASCAL VOC 2007
◼各分類の意味
• Correct : 正解
• Similar : 惜しい間違い
• Localization : 物体の位置特定ができていない
• Other : 他4項目に該当しない
• Background : 物体を背景と間違えている
クラス IoU 分類
正解 0.5~1.0 Correct
正解 0.1~0.5 Localization
正解に近い 0.1~1.0 Similar
不正解 0.1~1.0 Other
不正解 0~0.1 Background
IoU : bboxの重なり度合いを表す
𝐼𝑜𝑈 =
共通部分の面積
全体の面積
結果 :YOLOとR-CNNの予測誤差の内容比較
結果 :YOLOとR-CNNの予測誤差の内容比較
結果 :YOLOとR-CNNの予測誤差の内容比較
物体の位置特定
が不得意
結果 :YOLOとR-CNNの予測誤差の内容比較
背景の間違い
が少ない
物体と背景の
区別が不得意
実世界での利用
まとめ
◼物体検出モデルYOLOの提案
• 一段階手法 :検出と分類を一度に行う
• 入力画像をグリッドセルに分割
• 各グリッドセルでバウンディングボックス, confidence, クラス確率の予測
◼YOLOの利点
• 計算速度が高速
• 画像全体の特徴を捉えて予測可能
• 汎化性能が高い
◼YOLOの今後の展望
• 処理速度を保ったまま,精度面の向上

文献紹介:You Only Look Once: Unified, Real-Time Object Detection