YOLO(You Only Look Once)|DeepLearning論文の原文を読む #19

f:id:lib-arts:20190307173555p:plain

#18はRetinaNetについて取り扱いました。
https://lib-arts.hatenablog.com/entry/paper18_RetinaNet
#19では同じ物体検出のモデルかつRetinaNet[2017]よりも2年ほど前のYOLO[2015]について取り扱います。(必要以上に固く書きたくなく90%〜95%程度の確信度で書きますので、もし間違いなどがあれば気軽にご指摘いただけたらと思います。)

[1506.02640] You Only Look Once: Unified, Real-Time Object Detection
以下論文の目次です。基本的な書き方の流れとしてはAbstractは和訳&補足、それ以外の章に関しては要約を中心にまとめます(省く章もあるかもしれません)

0. Abstract
1. Introduction
2. Unified Detection
3. Comparison to Other Detection Systems
4. Experiments
5. Real-Time Detection In The Wild
6. Conclusion

 

0 Abstract
Abstractは論文の要旨がまとまっているので一文ずつ精読していければと思います。

We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabilities.

和訳:『我々はYOLOという物体検出における新しい手法を提案する。物体検出の先行研究においては分類器が検出の役割を果たすように問題を再設定しているが、代わりに我々は物体検出を空間的に離れたバウンディングBOXやそれに紐づくクラス確率を回帰する問題として再定義した。』
#18のRetinaNetでも言及されていましたが、物体検出器はOne-stageとTwo-stageにわけることができ、YOLOはOne-stageの手法の有名例として考えることができます。2015年時だとTwo-stageな手法では、領域提案にSelective Searchを用いたりRPN(Region Proposal Network)を用いたりといった手法が色々と提案されていた形です。

A single neural network predicts bounding boxes and class probabilities directly from full images in one evaluation. Since the whole detection pipeline is a single network, it can be optimized end-to-end directly on detection performance.

和訳:『単一のニューラルネットワークを用いることで一回の推論において画像全体から直接的にバウンディングBOXやクラス確率を予測する。物体検出全体のパイプラインが単一のネットワークのため、検出のパフォーマンスを用いて直接的にend-to-endで最適化が行われる。』
前述と基本的には論旨は同じと思われます。画像から直接バウンディングBOX(検出した物体を囲む四角の枠)やクラスの確率などを一回の処理で行うことを強調するために、YOLO(You Only Look Once)と名付けられています。

Our unified architecture is extremely fast. Our base YOLO model processes images in real-time at 45 frames per second. A smaller version of the network, Fast YOLO, processes an astounding 155 frames per second while still achieving double the mAP of other real-time detectors.

和訳:『我々の統一されたアーキテクチャーはとても速く、YOLOのベースのモデルは45FPSで画像を推論している。小さいネットワークのバージョンであるFast YOLOは他のリアルタイム検出器の2倍のmAPを実現しながら155FPSを実現している。』
YOLOの実現された速度について言及されています。ベースモデルの45FPSとFast YOLOの155FPSは2015年時点だと画期的な数字で、この影響を受けてSSDやRetinaNetなどOne-stageのモデルが出てきたと考えても良いかと思います。

Compared to state-of-the-art detection systems, YOLO makes more localization errors but is less likely to predict false positives on background. Finally, YOLO learns very general representations of objects. It outperforms other detection methods, including DPM and R-CNN, when generalizing from natural images to other domains like artwork.

和訳:『他のSOTAの検出器と比較して、YOLOはローカライズのエラーは多いものの、背景にFalse Positiveを予測する可能性は低い。最終的にはYOLOはとても汎用的な物体の表現を学習する。YOLOはartworkのような通常の画像から他のドメインの画像に変換する際において、DPMやR-CNNを含む他の検出手法を上回っている。』
YOLOの予測や表現の学習などについて言及されています。

 

1. Introduction
1stパラグラフでは話の前振りとして人間における物体検出が速くて正確なことを言及しつつ、計算機上で実現できたときの応用可能性について言及されています。2ndパラグラフでは執筆近年での物体検出システムとしてDPM[2010]などについて述べられています。3rdパラグラフではさらに最近のアプローチとしてR-CNN[2013]について言及し、領域提案系のアルゴリズムは複雑でそれぞれのコンポーネントが独立で学習するため遅いかつ最適化が難しいと指摘されています。
4thパラグラフでは3rdパラグラフの内容を受けて単一の回帰問題に物体検出を落とすにあたって提案手法であるYOLOを紹介しています。5thパラグラフでは、YOLOの詳細と統一されたモデルはいくつかの利点があると述べています。
6th〜8thパラグラフではそれぞれ1つずつで計3つの利点についてまとめています。6thは1つ目の速度の点について言及されています。7thではYOLOがFast R-CNNよりも背景のエラーの数が半分くらいだとされています。8thでは3つ目の利点としてオブジェクトの汎用的な表現を学習するとされています。
9thパラグラフでは、YOLOはスピード的に速いと同時にSOTAに少々劣る程度の精度を実現していることについて言及されています。10thパラグラフでは学習&検証用のコードの公開について言及されています。

 

2. Unified Detection
2節ではYOLOの詳細について諸々まとまっています。まず最初に掴むと良いのがFigure2とそこで言及されているS×S×(B*5+C)の計算式の意味です。

f:id:lib-arts:20190308181525p:plain
上図がFigure2とそのちょうど下の本文なのですが、ここがつかめるとYOLOの概観について見えてきます。要は画像の全体をS×Sのグリッドで考え、バウンディングBOXの抽出とグリッドのクラスの確率の予測を別々に行い、それを組み合わせて推論結果を出しています。話がやや抽象的でややこしいのでYOLOをPASCAL VOCを用いて評価する話をベースに具体化すると、グリッドをS=7、グリッド単位でのバウンディングBOXの候補数をB=2、クラスのラベル数をC=20とすることで、最終的な予測が7×7×30になるとされています。

2.1ではニューラルネットワークの構造についてまとめられています。画像分類におけるGoogLeNetモデルを概ね踏襲して構築したとされており、全体で24層の畳み込み層と2層の全結合層からなるとされています。ネットワークの模式図はFigure3にまとまっています。

f:id:lib-arts:20190308183029p:plain
前述のように最終アウトプットは7×7×30のTensorのため、一番右のアウトプットが7×7×30となっています。

2.2では学習にあたっての情報が色々とまとまっています。下記のlossを元に学習を進めていきます。

f:id:lib-arts:20190308183530p:plain
上の二つが座標の中心とサイズに関する誤差、3番目と5番目がバウンディングBOXの確実性とクラスの予測に関する誤差、4つ目がバウンディングBOXに選ばれなかったものの誤差をそれぞれ意味しています。

2.3では推論についてまとめられており、98個のバウンディングBOXを抽出するとしています。また、単一のネットワークのため処理スピードが速いとされています。2.4ではYOLOの課題として(1)一つのグリッドから二つのバウンディングBOXしか抽出できないので、密接したオブジェクトに弱い、(2)学習データに用いていないアスペクト比や設定の画像に対する汎化が大変、(3)誤差関数の設定の欠点などが指摘されています。

 

 

3. Comparison to Other Detection Systems
物体検出の関連研究として、Haar[1998]、SIFT[1999]、HOG[2005]、DPM[2010]、R-CNN[2013]、Fast R-CNN[2015]、Faster R-CNN[2015]、OverFeat[2013]などについて言及されています。


4. Experiments

f:id:lib-arts:20190308185104p:plain
他モデルとの比較として上記のようにまとめられています。


5. Real-Time Detection In The Wild
リアルタイムでの実運用にあたってまとめられています。


6. Conclusion
省略します。