Faster R-CNN (G検定)

Faster R-CNN

1. 定義と概要

Faster R-CNNとは、2015年にMicrosoft Research所属のShaoqing Ren、Kaiming He、Ross Girshick、Jian Sunらが発表した物体検出モデルです。物体検出とは、画像の中から物体の位置と種類を特定する画像認識の一分野です。

それまでのR-CNN・Fast R-CNNは、物体の候補領域(物体が写っていそうな範囲)の提案にSelective Search(色や質感の近さなどをもとに領域をまとめていく、ニューラルネットワークを使わない古典的な手法)を用いていました。これに対しFaster R-CNNは、候補領域の提案自体をRPN(Region Proposal Network)と呼ぶニューラルネットワークで行う点が最大の特徴です。

Fast R-CNNは、候補領域の提案にSelective Search法を使う、Faster R-CNNの一つ前の物体検出モデルです。CNN(畳み込みニューラルネットワーク)で画像全体の特徴を一度に計算する仕組みにより、Fast R-CNNはR-CNNより高速化を実現していました。しかし候補領域の提案には依然としてSelective Search法を使っており、この工程がCPU上で1枚あたり数秒かかるボトルネックとして残っていました。

Faster R-CNNは、この候補領域の提案をRPNに置き換え、しかもRPNと後段の分類ネットワークとで特徴マップ(画像をCNNに通して得られる、物体の特徴を数値として圧縮したデータ)を作る畳み込み層を共有する設計にしました。この設計により、候補領域の提案がほぼ追加コストなしで行えるようになりました。

論文では、VGG-16(画像認識でよく使われる代表的なCNNのモデルの一つ)使用時に1秒あたり5フレーム前後というほぼリアルタイムに近い速度が報告されています。あわせてPASCAL VOC 2007と2012の学習データを併用した条件で73.2%のmAP(物体検出モデルの精度を測る代表的な指標)を記録し、当時最高水準の精度を両立させたとされています。

2. 試験対策ポイント

理解するうえで中心になるのは、RPNが候補領域を提案する具体的な仕組みです。RPNは、CNNで得た特徴マップの上をスライディングウィンドウ(特徴マップの上を小さな窓でずらしながら順番に調べていく処理)で走査します。各位置では、あらかじめ用意したアンカーボックス(あらかじめ用意しておく、複数の縦横比・大きさの基準となる枠)をもとに判定を行います。

この判定では、その枠に物体が写っているかどうかを示すobjectnessスコア(その枠の中に物体が写っているかどうかを表す数値)を予測します。同時に、枠の位置・大きさを正解に近づける微調整であるバウンディングボックス回帰(候補領域の枠の位置や大きさを正解に近づけるよう微調整する処理)も行います。

アンカーボックスは、Faster R-CNNの原論文では3種類のスケール(大きさ)と3種類のアスペクト比(縦横比)を組み合わせた9種類が各位置に用意される、と紹介されます。複数のスケール・アスペクト比の基準枠をあらかじめ用意しておくことで、画像を何段階にも拡大縮小して調べ直す処理を省ける点がRPNの利点です。

RPNと後段の分類・矩形調整を行うネットワークは、畳み込み層を共有する設計になっています。この設計により、候補領域の提案から分類・位置調整までの一連の処理を、ほぼ1つのネットワークで完結できます。物体検出は、この仕組みによって2段階検出器(候補領域の提案と、その領域の分類・位置調整を別々の工程で行う物体検出の方式)の枠組みを保ったまま高速化を達成しました。

3. 関連概念との比較・相違点

Fast R-CNNとの最大の違いは、候補領域の提案方法にあります。Fast R-CNNはSelective Search(ニューラルネットワークの外側で動く古典的な手法)に依存しており、この工程が速度のボトルネックになっていました。

これに対しFaster R-CNNは、候補領域の提案自体をRPNというニューラルネットワークに置き換え、畳み込み層を共有することでほぼ追加コストなしに候補領域を得られる設計になっています。

YOLO・SSDとの違いは、検出方式の段階数にあります。どこで処理を区切るかによって、得意な場面が次のように分かれます。

検出方式 検出の進め方 優位になりやすい場面
2段階検出器(Faster R-CNN) 候補領域の提案と、その領域の分類・位置調整を別々の工程で行う 小さい物体の検出精度
1段階検出器(YOLO・SSD) 候補領域の提案を経ずに、1回の処理で検出をまとめて行う リアルタイム性

Faster R-CNNは工程を分ける分だけ高精度を狙える設計で、YOLO・SSDは工程をまとめる分だけ速度を優先した設計です。どちらが優れているというより、精度と速度のどちらを取るかというトレードオフの関係にあります。

4. ビジネス・実務での活用シナリオ

自動運転の分野では、遠方の歩行者や小さな標識など、見逃しが事故に直結しかねない対象の検出にFaster R-CNNが使われます。2段階検出器としての高い精度を優先する設計であるため、リアルタイム性を多少犠牲にしてでも見逃しを減らしたい用途と相性がよいといえます。

医療画像診断の分野では、CTやX線画像から病変の候補領域を高精度に検出する用途にFaster R-CNNが用いられます。診断支援では、病変の見逃し(偽陰性)を避けることが速度よりも優先されるため、高精度な2段階検出器の特性が活かされます。

製造業の外観検査では、基板や部品表面の微細な欠陥を検出する工程にFaster R-CNNが組み込まれます。出荷前の最終チェックではリアルタイム性より精度が優先されるため、欠陥の見逃しを最小限に抑える検出能力が重視されます。

5. 要点まとめ

  • Faster R-CNNは、候補領域の提案をSelective Search法からRPN(Region Proposal Network)というニューラルネットワークに置き換えたモデルです。この変更によって、Fast R-CNNの速度上のボトルネックを解消しました。
  • RPNは、特徴マップ上を走査しながら複数スケール・複数アスペクト比のアンカーボックスをもとにobjectnessスコアとバウンディングボックス回帰を予測する仕組みを持ちます。
  • RPNと分類ネットワークが畳み込み層を共有することで、2段階検出器の枠組みを保ったままほぼ1つのネットワークとして学習できる点と、1段階検出器のYOLO・SSDとの速度・精度のトレードオフも、あわせて押さえておきたい点です。

6. 確認問題

問1Faster R-CNNは、Fast R-CNNが抱えていた候補領域の提案処理の遅さという課題を解決したモデルである。具体的には、候補領域の提案手法をSelective Search法からRPN(Region Proposal Network)というニューラルネットワークに置き換えた。

解答・解説をみる

○ 正しい

Fast R-CNNまではSelective Search法という古典的な手法に依存しており、この工程がボトルネックになっていました。Faster R-CNNは、この提案処理自体をRPNに置き換えることでこの課題を解決しています。

問2RPNが候補領域の判定に用いるアンカーボックスは、画像全体に対して1種類の縦横比・大きさのみを用いる。

解答・解説をみる

× 誤り

正しくは、原論文では3種類のスケールと3種類のアスペクト比を組み合わせた9種類のアンカーボックスが各位置に用意されます。複数の形状を用意しておくことで、画像を拡大縮小して調べ直す処理を省いています。

問3Faster R-CNNは、RPNと候補領域を分類するネットワークが畳み込み層を共有しており、候補領域の提案から分類・位置調整までの一連の処理をほぼ1つのネットワークで学習できる。

解答・解説をみる

○ 正しい

RPNと後段のネットワークが畳み込み層を共有する設計により、候補領域の提案がほぼ追加コストなしで行えるようになりました。2段階検出器の枠組みを保ったまま高速化を達成した点が特徴です。