Fast R-CNN
物体検出タスクとは
物体検出タスクとは、入力画像内の物体のクラスを識別し、その位置を特定するタスクです。物体の位置は通常、物体を囲む矩形領域(バウンディングボックス)で表現され、その左上と右下の座標が出力されます。物体検出では、まず物体の大まかな位置を特定し、その後その領域のクラスを識別する2段階モデルと、位置特定とクラス識別を同時に行う1段階モデルがあります。1段階モデルは処理が単純なため高速ですが、2段階モデルは精度が高いという特徴があります。
R-CNNからFast R-CNNへ
2段階モデルの代表例であるR-CNNは、画像からSelective Searchという手法で物体候補領域を抽出し、その領域を一定サイズにリサイズしてCNNに入力します。CNNの出力特徴ベクトルを用いてSVMでクラス識別を行います。しかし、候補領域ごとにCNNを適用するため処理時間がかかるという問題がありました。
Fast R-CNNはこの問題を解決するため、画像全体をCNNに入力して得られる特徴マップ上で、物体候補領域に相当する部分を切り出して識別を行います。これにより大幅な高速化が実現されました。
その後の発展
Fast R-CNNの後継であるFaster R-CNNでは、候補領域抽出にRegion Proposal Network(RPN)というCNNモデルを用いることでさらなる高速化を達成しています。
一方、1段階モデルの代表例としては、グリッド領域ごとに物体の有無と矩形領域を直接出力するYOLOや、CNNの途中の特徴マップからも矩形領域を出力するSSDなどがあります。これらは高速性を重視したモデルで、多くの場面で利用されています。
