- Fast R-CNNは画像全体の特徴を共有し、RoI poolingで各候補領域を固定サイズの特徴へ変える。
- VGG16の比較ではR-CNNの84時間に対し学習時間9.5時間だった。
- 213倍のテスト高速化は検出ネットワーク側の比較であり、別工程の候補生成まで含む倍率ではない。
何を確かめた研究か
Fast R-CNNの原論文は、R-CNNが候補領域ごとに画像を切り出して畳み込みを繰り返すため遅く、学習も段階に分かれていた問題を扱う。画像全体を一度畳み込み、候補領域に対応する特徴をRoI poolingで固定の大きさにする。分類と枠の補正を一つの損失で学ぶため、特徴の保存と個別の分類器学習を減らせる。
どう検証したか
PASCAL VOC 2007、2010、2012でR-CNNやSPPnetと検出精度を比較する。VGG16の条件では学習とテストの計算時間も表4で並べた。いずれも候補領域は外部のSelective Searchなどから与えられる。候補生成そのものをニューラルネットへ取り込んだのは、後続のFaster R-CNNの別の改良だ。
何が分かったか
表4ではVGG16の学習がR-CNNの84時間からFast R-CNNの9.5時間へ短縮した。テストの検出部分は、SVDによる圧縮を使う構成で213倍速い。VOC 2012では通常の訓練データでmAP 65.7%、追加データを使うと68.4%と報告する。精度と速度の両方を改善したが、速度倍率には測った段階と実装条件がある。
RoI poolingは候補領域を格子へ分け、各区画の最大値を取る。これにより候補ごとに異なる大きさの領域から同じ形の特徴を得られる。ただし座標を丸める処理は後の個体分割で位置ずれの原因にもなり、Mask R-CNNのRoIAlignはその点を改めた。
限界と仕事との接点
候補を作るSelective Searchの計算は別に必要で、全システムの遅延は検出器単体より長くなる。候補が対象を落とせば後段は取り戻せない。実務での比較は同じ画像サイズ、GPU、候補数で、候補生成・特徴計算・後処理それぞれの時間と見逃しを記録したい。これは論文の分割を踏まえたTRAIL編集部の提案である。