Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話

yu4u
July 11, 2021

You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話

第7回全日本コンピュータビジョン勉強会「CVPR2021読み会」(前編)の発表資料です
https://kantocv.connpass.com/event/216701/
You Only Look One-level Featureの解説と、YOLO系の雑談や、物体検出における関連する手法等を広く説明しています

yu4u

July 11, 2021
Tweet

More Decks by yu4u

Other Decks in Technology

Transcript

  1. Mobility Technologies Co., Ltd. You Only Look One-level Feature の解説と⾒せかけた物体検出のよもやま話

    株式会社Mobility Technologies 内⽥ 祐介 第7回全⽇本コンピュータビジョン勉強会 「CVPR2021読み会」(前編)
  2. Mobility Technologies Co., Ltd. nYusuke Uchida • -2017年 ︓通信キャリアの研究所で画像認識・検索の研究に従事 •

    -2016年 ︓社会⼈学⽣として博⼠号を取得(情報理⼯学) • 2017年- ︓DeNA中途⼊社、深層学習を中⼼とした コンピュータビジョン技術の研究開発に従事 • 2019年- ︓ Mobility Technologiesへ移籍 ⾃⼰紹介 2 Twi$er: h$ps://twi$er.com/yu4u GitHub: h$ps://github.com/yu4u Qiita: h$ps://qiita.com/yu4u SlideShare: h$ps://www.slideshare.net/ren4yu/ Kaggle: h$ps://www.kaggle.com/ren4yu
  3. Mobility Technologies Co., Ltd. nYOLO: Single shot object detectioの⽕付け役 •

    J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” in Proc. Of CVPR, 2016. nYOLOv2: FCN化、k-meansにより作成されたアンカーベースの検出 • J. Redmon and A. Farhadi, “YOLO9000: Better, Faster, Stronger,” in Proc. Of CVPR, 2017. nYOLOv3: より強⼒なバックボーン、FPN的構造、複数解像度の特徴からの検出 • J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” in arXiv, 2018. nYOLOv4: ベストプラクティス全部⼊りみたいなやつ • A. Bochkovskiy, C. Wang, and H. Liao, “YOLOv4: Optimal Speed and Accuracy of Object Detection,” in arXiv, 2020. • https://github.com/AlexeyAB/darknet nYOLOv5: Ultralytics社のOSS実装。最早⼿法とかではなくて学習・推論を含め たフレームワークと⾔ったほうが良い。何故かKagglerが⼤好き • https://github.com/ultralytics/yolov5 YOLO*? 4
  4. Mobility Technologies Co., Ltd. nYOLO: Single shot object detectioの⽕付け役 •

    J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” in Proc. Of CVPR, 2016. nYOLOv2: FCN化、k-meansにより作成されたアンカーベースの検出 • J. Redmon and A. Farhadi, “YOLO9000: Better, Faster, Stronger,” in Proc. Of CVPR, 2017. nYOLOv3: より強⼒なバックボーン、FPN的構造、複数解像度の特徴からの検出 • J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” in arXiv, 2018. nYOLOv4: ベストプラクティス全部⼊りみたいなやつ • A. Bochkovskiy, C. Wang, and H. Liao, “YOLOv4: Optimal Speed and Accuracy of Object Detection,” in arXiv, 2020. • https://github.com/AlexeyAB/darknet nYOLOv5: Ultralytics社のOSS実装。最早⼿法とかではなくて学習・推論を含め たフレームワークと⾔ったほうが良い。何故かKagglerが⼤好き • https://github.com/ultralytics/yolov5 YOLO*? 5
  5. Mobility Technologies Co., Ltd. nYOLO: Single shot object detectioの⽕付け役 •

    J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” in Proc. Of CVPR, 2016. nYOLOv2: FCN化、k-meansにより作成されたアンカーベースの検出 • J. Redmon and A. Farhadi, “YOLO9000: Better, Faster, Stronger,” in Proc. Of CVPR, 2017. nYOLOv3: より強⼒なバックボーン、FPN的構造、複数解像度の特徴からの検出 • J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” in arXiv, 2018. nYOLOv4: ベストプラクティス全部⼊りみたいなやつ • A. Bochkovskiy, C. Wang, and H. Liao, “YOLOv4: Optimal Speed and Accuracy of Object Detection,” in arXiv, 2020. • https://github.com/AlexeyAB/darknet nYOLOv5: Ultralytics社のOSS実装。最早⼿法とかではなくて学習・推論を含め たフレームワークと⾔ったほうが良い。何故かKagglerが⼤好き • https://github.com/ultralytics/yolov5 YOLO*? 6
  6. Mobility Technologies Co., Ltd. nYOLO: Single shot object detectioの⽕付け役 •

    J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” in Proc. Of CVPR, 2016. nYOLOv2: FCN化、k-meansにより作成されたアンカーベースの検出 • J. Redmon and A. Farhadi, “YOLO9000: Better, Faster, Stronger,” in Proc. Of CVPR, 2017. nYOLOv3: より強⼒なバックボーン、FPN的構造、複数解像度の特徴からの検出 • J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” in arXiv, 2018. nYOLOv4: ベストプラクティス全部⼊りみたいなやつ • A. Bochkovskiy, C. Wang, and H. Liao, “YOLOv4: Optimal Speed and Accuracy of Object Detection,” in arXiv, 2020. • https://github.com/AlexeyAB/darknet nYOLOv5: Ultralytics社のOSS実装。最早⼿法とかではなくて学習・推論を含め たフレームワークと⾔ったほうが良い。何故かKagglerが⼤好き • https://github.com/ultralytics/yolov5 YOLO*? 7 ↓Ultralytics CEO v4論⽂ AlexeyAB/darknet の issue
  7. Mobility Technologies Co., Ltd. nPP-YOLO: PaddlePaddle版YOLO • X. Long, et

    al., "PP-YOLO: An Effective and Efficient Implementation of Object Detector," in arXiv, 2020. • X. Huang, et al., "PP-YOLOv2: A Practical Object Detector," in arXiv, 2021. nScaled-YOLOv4 • C. Wang, A. Bochkovskiy, and H. Liao, "Scaled-YOLOv4: Scaling Cross Stage Partial Network," in Proc. of CVPR, 2021. • https://github.com/WongKinYiu/ScaledYOLOv4 nYOLOR • C. Wang, I. Yeh, and H. Liao, "You Only Learn One Representation: Unified Network for Multiple Tasks," in arXiv, 2021. • https://github.com/WongKinYiu/yolor YOLO*? 9
  8. Mobility Technologies Co., Ltd. そういえばYOLOFでした 11 Q. Chen, et al.,

    "You Only Look One-level Feature," in Proc. of CVPR, 2021.
  9. Mobility Technologies Co., Ltd. nFeature Pyramids Networks (FPN) はマルチスケールの特徴を融 合することにより性能が向上していると思われているがポイントは

    そこやないで n物体検出における最適化問題を(multi-scaleのアンカーを使うこと で)分割統治的に解いているところが⼀番ポイントやで nでもマルチスケールの特徴を使った検出は複雑かつ低速なので、 single-scaleでmulti-scaleに匹敵する検出器をつくるお︕ 論⽂の主張 12
  10. Mobility Technologies Co., Ltd. nYOLOFはYOLOではありません︕ • これまでの前フリは… nこいつはRetinaNetです • ちなみに何を持ってYOLOだ、RetinaNetだというのは個⼈的に好きな議論

    • 意味はないけど • BackboneがDarknetならYOLO? • 後述のアンカーがkmeansで作られていたらYOLO? • Headにクラス毎の確率ではなくてbboxの信頼度もあったらYOLOで bboxとclass分類が別々のbranchになってたらRetinaNet? • Loss? 後述のAnchor matchingの⼿法︖ ちなみに 15
  11. Mobility Technologies Co., Ltd. nBackbone, Neck, Headの組み合わせで物体検出モデルは表現できる 物体検出モデルの汎⽤的な表現 17 A.

    Bochkovskiy, C. Wang, and H. Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in arXiv, 2020. Backbone: ベースとなるクラス分類モ デル。Multi-scaleの特徴 マップを出⼒ (e.g. ResNet, Darknet) Neck: Multi-scaleの特徴マップを ⼊⼒してコネコネして出⼒ (e.g. FPN, BiFPN) Head: Multi-scaleの特徴マップを ⼊⼒して検出結果を出⼒ (e.g. YOLO/Retina head)
  12. Mobility Technologies Co., Ltd. nBackbone, Neck, Headの組み合わせで物体検出モデルは表現できる 物体検出モデルの汎⽤的な表現 18 A.

    Bochkovskiy, C. Wang, and H. Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in arXiv, 2020. Backbone: ベースとなるクラス分類モ デル。Multi-scaleの特徴 マップを出⼒ (e.g. ResNet, Darknet) Neck: Multi-scaleの特徴マップを ⼊⼒してコネコネして出⼒ (e.g. FPN, BiFPN) Head: Multi-scaleの特徴マップを ⼊⼒して検出結果を出⼒ (e.g. YOLO/Retina head)
  13. Mobility Technologies Co., Ltd. n出⼒層付近の特徴を⼊⼒層付近の特徴へと徐々に統合することで 特徴の強さと特徴マップの解像度を両⽴ Feature Pyramid Network (FPN)

    19 T. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie, "Feature Pyramid Networks for Object Detection," in Proc. of CVPR, 2017. 特徴の強さ︓強 解像度︓低 e.g. Faster R- CNN, YOLO 特徴の強さ︓弱 解像度︓⾼ e.g. SSD 特徴の強さ︓強 解像度︓⾼ FPN Nearest neighbor で解像度調整 1x1でチャネル数調整
  14. Mobility Technologies Co., Ltd. nエッジ等のlow-levelの情報をネットワーク全体に伝播させる Path Aggregation Network (PANet) 20

    S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR, 2018. Backbone FPN Bottom-up path low-levelの特徴の伝播に 100 layerくらい必要 ʻshort cutʼ path を作ってあげる
  15. Mobility Technologies Co., Ltd. nエッジ等のlow-levelの情報をネットワーク全体に伝播させる Path Aggregation Network (PANet) 21

    S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia, "Path Aggregation Network for Instance Segmentation," in Proc. of CVPR, 2018. Backbone FPN Bottom-up path low-levelの特徴の伝播に 100 layerくらい必要 ʻshort cutʼ path を作ってあげる 3x3 conv stride=2 3x3 conv
  16. Mobility Technologies Co., Ltd. nBackbone, Neck, Headの組み合わせで物体検出モデルは表現できる 物体検出モデルの汎⽤的な表現 24 A.

    Bochkovskiy, C. Wang, and H. Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in arXiv, 2020. Backbone: ベースとなるクラス分類モ デル。Multi-scaleの特徴 マップを出⼒ (e.g. ResNet, Darknet) Neck: Multi-scaleの特徴マップを ⼊⼒してコネコネして出⼒ (e.g. FPN, BiFPN) Head: Multi-scaleの特徴マップを ⼊⼒して検出結果を出⼒ (e.g. YOLO/Retina head)
  17. Mobility Technologies Co., Ltd. n各スケールのHeadの特徴マップの座標毎にA個の「Anchor」が定義されている • Anchor: 特定の条件の物体のみを検出する部品 • Bounding

    box (bbox) のサイズで定義される。YOLOv3はA=3, RetinaNetはA=9 nAnchorのbboxとmatchingルールによって「各Anchorの守備範囲」が決まる • 各Anchorがどういうサイズの物体を検出すべきか(&検出すべきでないか) Anchor 25 Anchor1の クラス信頼度 (K channels) Anchor1の 検出したbbox (x, y, w, h) RetinaNetのHead AnchorAの 検出したbbox (x, y, w, h) AnchorAの クラス信頼度 (K channels) … …
  18. Mobility Technologies Co., Ltd. nAnchorとのmatchingとは、ground truth (GT) の各objectを どのAnchorが検出すべき(&すべきでない)かを決めるプロセス •

    これにより特徴マップのどこにどういうロスをかけるかが決まる nRetinaNetでは… • IoUが0.5以上のAnchorが検出すべき(positive Anchor) • IoUが0.4以下のAnchorは検出すべきではない(negative Anchor) • どちらでもないAnchorを残すことは重要(個⼈的意⾒) • ギリギリのAnchorにはどちら側のロスをかけることも不適切 n⼿法によってmatching⼿法にかなり細かい違いがある • Digging into Sample Assignment Methods for Object Detection • https://speakerdeck.com/hirotohonda/digging-into-sample- assignment-methods-for-object-detection • The devil is in the details… Anchorとのmatching 26
  19. Mobility Technologies Co., Ltd. nFeature Pyramids Networks (FPN) はマルチスケールの特徴を融 合することにより性能が向上していると思われているがポイントは

    そこやないで n物体検出における最適化問題を(multi-scaleのアンカーを使うこと で)分割統治的に解いているところが⼀番ポイントやで nでもマルチスケールの特徴を使った検出は複雑かつ低速なので、 single-scaleでmulti-scaleに匹敵する検出器をつくるお︕ 論⽂の主張 27
  20. Mobility Technologies Co., Ltd. n(a) と (b) を⽐較すると、マルチスケールの特徴を融合することによる影響は そこまで⼤きくない n(a)

    と (c)、(b) と (d) を⽐較するとsingle outputによる性能低下が著しい ⾊々なNeckを⽐較 28 FPN 単⼀スケール から無理やり 複数スケール の特徴を出⼒ 複数スケー ルを統合し 単⼀スケー ルの特徴を 出⼒ 単⼀スケー ルの特徴を そのまま出 ⼒
  21. Mobility Technologies Co., Ltd. ⾊々なNeckを⽐較 30 FPN 単⼀スケール から無理やり 複数スケール

    の特徴を出⼒ 複数スケー ルを統合し 単⼀スケー ルの特徴を 出⼒ 単⼀スケー ルの特徴を そのまま出 ⼒
  22. Mobility Technologies Co., Ltd. nMultiple outputは計算量が⼤きい じゃあmultiple outputでええやん︖ 31 (Neck)

    (Head) Multiple output はHeadが重い Single outputにすると 精度が下がる Single outputでも精度 が維持できる⼿法を 提案するお
  23. Mobility Technologies Co., Ltd. 他の論⽂でも 32 C. Yang, Z. Huang,

    and N. Wang, "QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection," in arXiv, 2021. https://speakerdeck.com/keiku/querydet-cascaded-sparse-query-for-accelerating-high-resolution-small-object- detection
  24. Mobility Technologies Co., Ltd. Multiple outputのHeadが何故重いかというと 34 Neck Head Backbone

    複数スケール間で重み 共有のhead channel数256 ResNetのC3特徴の channel数は128 (計算量は4倍)
  25. Mobility Technologies Co., Ltd. nRetinaNetではstride-2のconvで作成されたreceptive fieldの⼤き な特徴マップP6, P7を利⽤している n複数の特徴マップを使いたくない病のYOLOFではdilated convolutionでreceptive

    fieldを拡⼤することを提案 nResidual構造とすることで⼩さい物体⽤も引き続きカバー n単にNW深くしてるだけでは︖ C5特徴が対応できる物体の⼤きさが限られている 36 C5特徴 C5特徴にdilated conv C5特徴にdilated conv + skip
  26. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n64サイズのアンカーはこんな感じ Positive anchorの不均衡問題 38 32 … …
  27. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n64サイズのアンカーはこんな感じ Positive anchorの不均衡問題 39 32 … … この辺にGTの 物体があったと すると…
  28. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n64サイズのアンカーはこんな感じ Positive anchorの不均衡問題 40 32 … … この辺にGTの 物体があったと すると… この辺のアン カーがpositive になる
  29. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n256サイズのアンカーはこんな感じ Positive anchorの不均衡問題 41 32 … …
  30. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n256サイズのアンカーはこんな感じ Positive anchorの不均衡問題 42 32 … … この辺にGTの 物体があったと すると…
  31. Mobility Technologies Co., Ltd. nYOLOFではP5特徴に32, 64, 128, 256, 512サイズのアンカーが存 在(アスペクト⽐は固定)

    n256サイズのアンカーはこんな感じ Positive anchorの不均衡問題 43 32 … この辺にGTの 物体があったと すると… この辺のアン カー全部が positiveになる
  32. Mobility Technologies Co., Ltd. nということが⾔いたいのが論⽂のこの図 • 横軸が1GTあたりの異なる物体サイズ毎のpositive Anchor数 • 縦軸で異なるmatching⼿法を⽐較している

    nこの問題に対応するためYOLOFでは固定のtop-k (k=4) をpositive とすることを提案 Positive anchorの不均衡問題 44 RetinaNet YOLOF ⼤きい物体ばっかり 優先的に学習される
  33. Mobility Technologies Co., Ltd. n“we set IoU thresholds in Uniform

    Matching to ignore large IoU (>0.7) negative anchors and small IoU (<0.15) positive anchors.” n特に⼤きなアンカーはIoUが⼤きくなるアンカーが⼤量に出る • これらに対してnegativeなlossをかけるのはよろしくない nRetinaNet等、複数スケールの特徴を利⽤する場合、⼤きな物体を 担当する特徴マップは低解像度で、アンカーは前述のように細かく 配置されていないためこの問題は顕著ではない ちなみに 45
  34. Mobility Technologies Co., Ltd. nAdaptive Training Sample Selection (ATSS) •

    Anchor-basedな⼿法とAnchor-freeな⼿法のパフォーマンスの差は (⾊々な細かい改善⼿法と)positive, negative Anchorを定義する matchingアルゴリズムの差であることを指摘 • 各GT毎に、近傍アンカーとのIoUとの統計量を基に適応的にpositive, negativeへアサインするためのしきい値を決定する⼿法を提案 関連⼿法 46 S. Zhang, C. Chi, Y. Yao, Z. Lei, and S. Li, "Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection," in Proc. of CVPR, 2020.
  35. Mobility Technologies Co., Ltd. nYOLO, YOLOv2はpositiveはbest matchの1件のみ nDETRはハンガリアンアルゴリズムでglobalかつ暗黙的なAnchorと のmatchingを最適化している nYOLOFはpositiveの個数に着⽬してバランスすることを⽬的にして

    いる(というexcuse n他にもCVPRʼ21で、GTとAnchorのassignを最適化する⼿法が出て いる 関連⼿法 47 J. Wang, L. Song, Z. Li, H. Sun, J. Sun, and N. Zheng, "End-to-End Object Detection with Fully Convolutional Network," in Proc. of CVPR, 2021. Zheng Ge, Songtao Liu, Zeming Li, Osamu Yoshie, Jian Sun, "OTA: Optimal Transport Assignment for Object Detection," in Proc. of CVPR, 2021.
  36. Mobility Technologies Co., Ltd. nC5特徴でも⼩さい物体を検出できる部分は⾯⽩い n精度速度のトレードオフを追い求めるという観点では、複数スケー ルの特徴を使って重くなるのはstride=8, 16のところなので、そこ だけ使わずにP5-7は使うでよいのではないか •

    複数スケール使いたくない病なら仕⽅がない nYOLOv3~はstride=8の特徴マップを使っているがweight shared の重いHeadを使っていないので問題ない nAnchorの定義、Anchor matching, NMSあたりはまだまだ綺麗な⼿ 法があるのでは︖ • ⾼解像度特徴まで効率的に⾒るようなDETRが全てを解決する︖ 所感 54