概論&全体的な研究トレンドの概観③(FPN、RetinaNet、M2Det)|物体検出(Object Detection)の研究トレンドを俯瞰する #3

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

物体検出の研究については以前に論文読解で、FasterRCNNやYOLO、SSD、RetinaNetについて取り扱ったのですが、改めて研究トレンドや考え方の推移についてまとめられればということで新規でシリーズを作成させていただきました。
#1ではHOG(Histograms of Oriented Gradient)[2005]からR-CNN[2013]までについて、#2ではFast R-CNN、FasterRCNN、YOLO、SSDについて取り扱いました。

#3では2016年以降の取り組みとして、FPN、RetinaNet、M2Detについてまとめていきます。
以下目次になります。
1. Feature Pyramid Networks[2016]
2. RetinaNet[2017]とFocal Loss
3. M2Det[2018]とMulti-Level Feature Pyramid Network
4. まとめ


1. Feature Pyramid Networks[2016]
1節では2016年12月の研究である"Feature Pyramid Networks for Object Detection"[2016]について取り扱います。

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

[1612.03144] Feature Pyramid Networks for Object Detection

R-CNNやFaster R-CNNのAuthorである、Ross Girshick氏が関わっている研究で、全体の研究トレンドに影響を与えているであろうことも伺えます。概要を掴むにあたって、まずは簡単にAbstractを要約します。

f:id:lib-arts:20190618234426p:plain
要約:『ピラミッド型の特徴量の利用(Feature pyramids)はスケールの違う物体の検出における認識システムの基本的な構成要素である一方で、Deep Learningの物体検出器は計算量やメモリ消費などの理由でpyramid型の表現は避けてきた。この論文においてはこれまでのDeepLearningの検出器に反してmulti-scaleでピラミッド型の特徴量の階層を用いており、この構造をFeature Pyramid Network(FPN)と呼ぶ。FPNをベーシックなFaster R-CNNのシステムに用いることでCOCOのdetection benchmarkでSOTAを実現した。それに加えてGPUで6FPSを実現し、マルチスケールを用いた物体検出の実用的な実現方法として示すことができた。』
上記で大体の概要を掴むことができます。物体の検出にあたってはマルチスケールのFeatureを用いることが昔からあった一方で、DeepLearningではなかなかそれを組み込めないでいたところに対して、Feature Pyramid Networkを提案したというのが主な論旨になります。Feature Pyramid Networkとその他のDeepLearningの手法との比較については、下記のFigure1に詳しくまとまっています。

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

(a)~(d)をそれぞれ見た際に、(a)は遅い、(b)と(c)は(b)はFast R-CNNやFaster R-CNNで用いられ、(c)はSSD(Single Shot Detector)で用いられています。(d)は(b)や(c)のように速い一方でより正確だとされています。また、この図において青い枠(blue outlines)で囲ったところがfeature mapsだとされており、太い線(thicker outline)は意味的に強い特徴量であるということを示しています。
詳細の処理についてはSection3でFeature Pyramid Networksの詳細についてまとまっており、"Bottom-up pathway"で"backbone ConvNet"とあるようにVGGやResNetなどのベースのCNNのアーキテクチャを示唆しています。また"Top-down pathway and lateral connections."でupsamplingについての話がまとまっています。"spatially coarser, but semantically stronger(空間的には疎だけれど、意味的には強い)"と表現されているのがなかなか興味深いところです。

f:id:lib-arts:20190619002709p:plain
Upsamplingに関してはFigure3でも図示されています。


2. RetinaNet[2017]とFocal Loss
2節では2017年8月の研究である"Focal Loss for Dense Object Detection(RetinaNet)"について取り扱います。

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

[1708.02002] Focal Loss for Dense Object Detection

こちらもRoss Girshick氏がAuthorになっているのと、SPPNetのFirst AuthorのKaiming He氏もAuthorになっています。概要を掴むにあたって、Abstractを簡単に要約していきます。

f:id:lib-arts:20190619004414p:plain
要約:『近年の最も高い精度を出している物体検出器(object detectors)はR-CNNに代表されるtwo-stageのアプローチで、分類器が物体の候補領域の疎な集合に適用される。それに比較してone-stageの検出器はより速くシンプルであるというポテンシャルを持つ一方で精度の面ではtwo-stageの検出器の後追いになってしまっている。我々はその理由としてのclass imbalanceに着目し、標準のクロスエントロピー誤差をカスタマイズすることで問題に取り組んだ。この新しいFocal Lossは膨大な数のeasy negativesが誤差関数を圧迫することを防いでくれる。このFocal Lossを導入したシンプルな検出器を我々はRetinaNetと名付けた。Focal Lossを導入することでSOTAのtwo-stageの検出器の精度を上回りつつ、one-stage検出器のスピードを実現した。
one-stageの検出器の問題に取り組んだとあり、その点を意識しながら新しく導入したFocal LossとRetinaNetについて確認していくと良さそうです。

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

(中略)

f:id:lib-arts:20190619010357p:plain
Focal LossについてはSection3のFocal Lossで解説されています。(2)でp_{t}の定義が正解した(物体を物体とあてるに加えて背景を背景とあてるのも正解となるようにされています)際の確信度に実質なるように定義していることに注意です。通常のクロスエントロピー(cross-entropy)誤差関数がCE(p,y)=CE(p_{t})=-log(p_{t})で定義されている一方で、Focal LossではFL(p_{t})=-(1-p_{t})^{\gamma}log(p_{t})という風に定義されています。ここで新しく付け加わった(1-p_{t})^{\gamma}に着目します。\gammaの定義域としては論文内で\gamma \in [0,5]とされているのでこの範囲について考えます。まず\gamma=0のとき、全てのp_{t}に関して(1-p_{t})^0=1となるのでFocal LossはCross Entropyに一致します。また、\gamma=1のとき、(1-p_{t})^1=-p_{t}+1となるので、y=-x+1のような直線で表すことができます。同様に\gamma=5まで考えると長くなるので、下記で可視化してみました。

f:id:lib-arts:20190619152652p:plain
注目は\gammaの値が大きくなればなるほど、p_{t}の値が1に近づくにつれて小さい倍率がかかるということです。

f:id:lib-arts:20190619153050p:plain
論文内で上記のように具体的な値を出して説明しており、デフォルトで用いられている\gamma=2において簡単に計算してみると下記のようになります。

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

このようにFocal Lossはうまく分類できている(p_{t})の値が大きいケースに大きな補正がかかるようになっています。一方で、言及があるように、p_{t}が0.5より小さいケースでは最大でも補正は4倍であり、0.9の値とは大きな違いを見せています。

f:id:lib-arts:20190619153925p:plain
補正項を誤差関数に組み込むことによって、上記のFigure1で示されたようなクロスエントロピーの補正が行われています。
また、このFocal Lossを組み込んだRetinaNetについてはSection4で記載されており、ネットワークのアーキテクチャとしては1節でまとめたFeature Pyramid Networksが用いられています。

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


3. M2Det[2018]とMulti-Level Feature Pyramid Network
3節では2018年11月のAlibaba Groupなどが行なった研究である"M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network"についてご紹介します。

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

[1811.04533] M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network

f:id:lib-arts:20190619155304p:plain
上図のようにスピード面と精度面の両方で高いパフォーマンスが実現されています。まずは概要を掴むにあたってAbstractを要約していきます。

f:id:lib-arts:20190619155336p:plain
要約:『Feature pyramidsは物体間でを通したスケールの違いのために生じる問題に取り組むために、SOTAのレベルでone-stage(DSSD,RetinaNet,RefineNet)、two-stage(Mask R-CNN,DetNet)の双方の検出器で広く用いられている。このFeature Pyramidsの構造は頼もしい成果を出している一方で、マルチスケールの計算の箇所が一つしかないことで限界を生じさせていると思われる。そこで新しくM2Detの研究では、Multi-LevelのFeature Pyramid Network(MLFPN)を提案する。MLFPNではThinned U-shape Modules(TUM)や、Feature Fusion Module(FFM)などのモジュールを用いている。このMLFPNの効率性を評価するために我々はSSDにMLFPNを組み込むことでend-to-endのパワフルなone-stageの検出器であるM2Detを提案し、SOTAのone-stage検出器の精度を上回った。』
上記が簡単な要約になります。RetinaNetの際のone-stageとtwo-stageの議論やFeature Pyramid Network(FPN)の構造を受け継いだ上で、FPNの構造をMulti-Levelにしたというのが注目のポイントです。したがって、MLFPNにおけるMulti-Levelの部分が一番気になる部分であり、以下そちらを確認していければと思います。

f:id:lib-arts:20190619161240p:plain
MLFPN(Multi-level Feature Pyramid Network)の概要については上記のFigure2でまとまっています。まず、入力画像をVGGやResNetのようなbackboneのネットワークで処理したのちにFFMv1を用いて混ぜ合わせ、ベースの特徴量(base feature)を作成しています。次にこのBase featureを入力としてTUM(Thinned U-shape Modules)を用いてmulti-scaleの特徴量のグループを生成しています。またこのアウトプットをFFMv2で混ぜ合わせmulti-scaleだけでなくmulti-levelも実現したとされています。multi-levelにおけるlevelはここでは層の深さを表しており、それぞれ図ではshallow、medium、deepとされています。最後にSFAM(Scale-wise Feature Aggregation)を用いてMulti-Level Feature Pyramidを作成しているとされています。
また、FFM、TUM、SFAMのそれぞれのモジュールの処理については、Figure4とFigure3でそれぞれ図解されています。
・FFMv1、FFMv2、TUM

f:id:lib-arts:20190619162713p:plain
・SFAM

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


4. まとめ
#3では2016年後半以後の話題として、FPN、RetinaNet、M2Detなどについて取り扱いました。
ここまでで大体の研究トレンドの俯瞰はできたので、#4以降では論文や実装の詳細を元にそれぞれをより詳しく取り扱っていければと思います。

 

↓下記でテキスト化していますので、よろしければこちらもご検討ください!!