ROI align (関心領域アライン) [Mask R-CNNで提案]

1. ROI align (関心領域アライン)とは [概要]

ROI Align (関心領域アライン) とは「【画像上のROI - 特徴マップ上のROI 】間の座標系の位置合わせ(alignment)」がROI Poolingよりも正確にサブピクセル精度で実施できる「ROI 内の特徴の局所プーリング手法」である (図1).ROI AlignはMask R-CNNの研究で提案され,その後の「 2ステージ型 画像CNNネットワーク」でも使用されることになった.

この記事は「(Mask R-CNNにおける) ROI alignの処理内容 」(2節)と「従来のROI Poolingより良くなった点」(3節)について,手短にまとめる.

Faster R-CNNMask R-CNNなどの「2ステージ型 CNN画像認識向けCNNネットワーク」では,領域提案ROI矩形内での特徴マップの集約(局所プーリング)を,サビピクセル位置においてバイリニア補間で(アップサンプリング的に)集約する(2節). これにより「(ROI Poolingよりもよく)位置合わされたROI内特徴マップのプーリング結果」を,2ステージ目のヘッドへ渡せるようになった(3節)ことから,Mask R-CNNの目的であったインスタンスセグメンテーション人物姿勢推定 (しいては物体検出)などの画像認識タスクで,精度向上が見込めるようになった.

Faster R-CNNの拡張が,Mask R-CNNである.これら2者の違いは下記の比較記事2つでも整理している.

(ちかぢか執筆予定:)【Q&A記事】Mask R-CNN の Faster R-CNNからの改善点は?

(ちかぢか執筆予定:) 【Q&A記事】ROI Align の ROI pooling からの改善点は?

2.ROI Alignの処理

ROI align (関心領域アライン)
図1 ROI align (関心領域アライン)

ROI Align (もとい提案されたMask R-CNN [He et al., 2017] ) では, Spatial Transformer [Jaderberg et al., 2015] 層に習ったサブピクセル位置での「特徴量のアップサンプリング」を行なう (図1 左側①).サブピクセル精度で画像座標側から「特徴マップ座標系」の特徴量を元に,バイリニア補間で4近傍からプーリングする

※ 画像の画素値を補間(アップサンプリング)するのではでなく,特徴マップの特徴値をプーリング.

次に,補間で得たそれらの特徴値を,各ブロック内でMaxプーリング (※図1左の例では,2 x 2点単位で,補間した値maxプーリング)した,これにより「2ndステージ向けの固定サイズの特徴マップ」 (図1 右側②)を,毎回2ndステージのMask R-CNNのヘッド (物体検出/回帰ヘッド+ ROI内の2値マスク画像推定ヘッド)へと渡す.

※ 図1は,著者のICCV2017プレゼン動画の解説図に合わせている.領域候補ネットワークでは,(可変である)領域提案のROI領域が,プーリング後に 「2 x 2の空間サイズ」に毎回ROI Alignされる. (図中に表出していないが)ROI align後の空間チャンネル数Cは,左側の特徴マップと同じである.

こうしてROI Alignでは,「位置合わせが良い特徴のROI内局所プーリング」を行なうことで,領域提案内の「2値前後景マスク」の推定精度の向上が期待できる.

ここまで「ROI alignは ROI Pooling よりも位置合わせが正確に」と言ってきたが,3節では「ROI Pooling でのアバウトなROI 窓位置 (すなわちプーリング位置)の取り方」について具体化&図示化し,2者の違いがわかるよう整理する.

3. ROI pooling より良くなった位置合わせ

図2 ROI alignがROI poolingより良くなった位置合わせ

(Fast(er) R-CNNにおける) 従来のROIプーリング[Girshick, 2015] [Ren et al., 2015] では,特徴マップのグリッド座標に沿うように,ROI集約後の座標系も量子化していた点が,サブピクセル位置合わせ改善版であるROI alignとは異なる (図2).

図2のように,(RPNが出力した領域提案の)画像ROIを,特徴マップ上の画像に当てはめる場合に,小数点以下の座標値がずれていても,roundしたROIの座標値にROIをあてはめていた(図2-右).これでは,ROI align (図1, 図2右) のように「画像(W × H) - 特徴マップ (w ×h) 間でのサブブピクセル精度の位置合わせ」が考慮できていないまま,ROIプーリング「は量子化された特徴マップ上の位置の特徴」を,そのまま(max)プーリングして2ステージ目に渡してしまっていた(図2 左).

ROIプーリングはこういうアバウトな特徴量の取得&集約でも,物体検出タスクよううな物体クラス識別でなはんとかなっていたが,インスタンスセグメンテーション人物姿勢推定」のような「ROI内の物体の,ピクセル単位の出力(マスクやキーポイントの推定)を行なうタスク」では不十分であった.

よって, Mask R-CNNでは,「画像- 特徴マップ間のより正確なピクセル単位の位置合わせ(alignment)が正確に実施できる」 ROI alignにROIプーリングが差し替えられた(という流れである)(※).

※ 「画像- 特徴マップ間の位置合わせ」が向上したとはいえ,(アップサンプリングした)線形補間済みの特徴値を収集&Maxプーリング していくので,「そのROI align 特徴の値は近似的,みなしの値」であるゆえ,必ずしも正確な特徴値ではない事に注意.気になる人は,「ROI alignの更なる発展」を調べて,ROI alignの欠点や不十分さについても調べると良い.

ROI Alignは「画像空間から特徴空間への位置合わせが向上している」ゆえに,(以前はROI poolingで行なっていた )「物体検出」にも,当然ながら有効に機能する.そもあって,その後の 「(1) 物体検出(※しか学習しない) 2ステージ型CNN 」と (2) 「 (Mask R-CNNのような )インスタンスセグメンテーション人物姿勢推定などむけのマルチタスク型 2ステージ型CNN」,の両方で(2ステージ型では)ROI Align自体が採用されたり,ROI Alignの改善版のROI 領域プーリングも提案されていった.

References

  • [Girshick, 2015] Girshick, R. Fast r-cnn. In ICCV, 2015.
  • [He et al., 2017] K. He, G. Gkioxari, P. Doll ́ar, R. B. Girshick, Mask r-cnn, In ICCV, 2017.
  • [Jaderberg et al., 2015] Max Jaderberg, Karen Simonyan, Andrew Zisserman, et al. Spatial transformer networks. In NIPS, 2015.
  • [Ren et al., 2015] Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: towards real-time object detection with region proposal networks. In NIPS, 2015.
  • [Sengupta et al., 2021] Sengupta, A., Budvytis, I., & Cipolla, R. (2021). Hierarchical kinematic probability distributions for 3D human shape and pose estimation from images in the wild. In Proceedings of the IEEE/CVF international conference on computer vision (pp. 11219-11229).

参照記事