1. 定義と概要
Mask R-CNNとは、2017年にFacebook AI Research(FAIR。Meta社の研究部門)に所属していたKaiming He氏らが発表したモデルです。物体検出モデルのFaster R-CNN(物体の位置とクラスを四角い枠で示す代表的なモデル)の候補領域それぞれに対して、マスク(物体の輪郭に沿って画素単位で塗り分けた領域を表すデータ)を予測する分岐を並列に追加した構造を持ちます。
候補領域ごとにクラス分類と矩形の位置調整を行うFaster R-CNNの仕組みに、画素単位の領域を出力する処理を新たに組み合わせることで、物体の位置とクラスに加えて輪郭までを一度に求められるようになりました。
Faster R-CNNは、画像から物体が写っていそうな候補領域を提案する仕組みを使い、候補領域ごとにクラス分類と矩形の位置調整を行う2段階の物体検出モデルとして確立されていました。しかし物体の位置とクラスを矩形で示すだけでは、物体の正確な輪郭や画素単位の領域までは分かりませんでした。
Mask R-CNNは、Faster R-CNNの枠組みに候補領域ごとのマスク予測を並列に加えることで、矩形検出の精度を保ったまま画素単位の領域抽出まで一度に実現しました。これにより、インスタンスセグメンテーション(画像内の物体を個体ごとに区別しながら画素単位で領域を分けるタスク)の代表的な実装モデルとして確立されました。
2. 試験対策ポイント
まず整理したい論点の1つが、3つのタスクを1つのネットワークで並列に学習する構造です。クラス分類、バウンディングボックス(物体の位置を囲む四角形の枠)の位置を調整する矩形回帰、そしてマスク予測の3つを同時に学習します。この点で、Mask R-CNNはマルチタスク学習(関連する複数の処理を1つのモデルで同時に学習させる手法)の代表例にあたります。全体の損失関数(モデルの予測と正解のズレの大きさを数値で表す関数)は、この3つのタスクそれぞれの損失を組み合わせて構成されます。
もう1つの重要な論点が、RoIAlign(候補領域を一定サイズの特徴マップに変換する際、座標を丸めずに正確な位置を保つ処理)という層の導入です。Mask R-CNNで新たに導入されたRoIAlign層は、Faster R-CNNで使われていたRoIPooling(候補領域を一定サイズの特徴マップに変換する処理。座標を整数に丸めるため位置ずれが生じる)が抱えていた課題を解消する仕組みです。
RoIPooling側は、候補領域の座標を整数に丸める量子化を行うため、画素単位で見るとわずかな位置ずれが生じます。矩形の検出結果への影響はわずかでも、画素単位の精度が求められるマスク生成には無視できない誤差になります。
RoIAlign層は、この量子化を行わずバイリニア補間(周囲の値から間の位置の値を滑らかに計算する方法)によって座標をそのまま扱うことで、位置ずれを解消しています。RoIAlign層の導入は、Mask R-CNNの精度向上を支える中心的な変更点です。両者の違いは、座標の扱いとマスク生成への影響という2つの軸で整理できます。
| 層 | 候補領域の座標の扱い | マスク生成への影響 |
|---|---|---|
| RoIPooling(Faster R-CNN) | 整数に丸める量子化を行う | 画素単位のわずかな位置ずれが誤差として残る |
| RoIAlign(Mask R-CNN) | 量子化せずバイリニア補間で扱う | 位置ずれが解消され画素単位の精度が保たれる |
変更点は座標を丸めるかどうかという一点に集約されます。
姿勢推定(骨格検出)とは、人物の関節の位置を画像から推定する処理を指します。Mask R-CNNはこの姿勢推定にも拡張されており、関節ごとの位置を1つのマスクとして予測する仕組みで応用されている点も確認しておきたいところです。
3. 関連概念との比較・相違点
Mask R-CNNとFaster R-CNNの違いは、出力の内容にあります。Faster R-CNNは、候補領域ごとにクラスとバウンディングボックスのみを出力するのに対し、Mask R-CNNはこれにマスク予測の分岐を加えて、画素単位の領域まで出力します。矩形で位置を示すFaster R-CNNの出力に、画素単位の輪郭情報を上乗せした構造がMask R-CNNの実体です。関連する3つの考え方を、個体を区別するかどうかと出力の内容という軸で並べると、違いがはっきりします。
| 手法 | 個体ごとの区別 | 主な出力 |
|---|---|---|
| Faster R-CNN | する | クラスとバウンディングボックス |
| Mask R-CNN | する | クラスとバウンディングボックスに加えて画素単位のマスク |
| セマンティックセグメンテーション | しない | クラス単位でまとめて塗り分けた画素の領域 |
インスタンスセグメンテーションとの関係は、タスクと実装モデルの関係として整理できます。インスタンスセグメンテーションは、物体を個体ごとに画素単位で分離するタスクそのものを指す概念であり、Mask R-CNNはそのタスクを実現する代表的なモデルの1つという位置づけです。同じタスクを実現する手法は他にも存在するため、両者は目的(タスク)と手段(モデル)という異なる階層にある概念です。
セマンティックセグメンテーションとの最大の違いは、個体を区別するかどうかという点です。Mask R-CNNは物体検出の仕組みを内包するため、同じクラスの物体であっても個体ごとにマスクを分けて出力します。
一方セマンティックセグメンテーションは、クラス単位でまとめて画素を塗り分ける手法で、同じクラスに属する複数の物体を個別には区別しません。
例えば道路に3台の車が写っている場合、Mask R-CNNは3つの独立したマスクを出力しますが、セマンティックセグメンテーションは3台をまとめて「車」という1つの領域として塗り分けます。
4. ビジネス・実務での活用シナリオ
自動運転の分野では、Mask R-CNNのような仕組みを使い、歩行者や車両を個体ごとに矩形検出しながら、輪郭まで画素単位で把握します。隣接する歩行者同士や、駐車車両と走行車両の境界を画素単位で正確に見分けられれば、進路計画や衝突回避の判断により精緻な情報を反映できます。
矩形だけでは重なり合う物体の境界があいまいになりやすく、画素単位の輪郭情報が安全性を支える土台になります。
医療画像診断の分野では、CTやMRI画像から複数の病変や臓器を個体ごとに検出し、それぞれの輪郭を画素単位で計測する用途に応用されています。病変ごとの大きさや形状を個別に定量評価できれば、経過観察での進行度の把握や、治療方針の判断材料として活用できます。
矩形の枠だけでは病変の実際の大きさを正確に測れないため、画素単位のマスクが定量評価の精度を左右します。
製造業の外観検査では、製造ラインを流れる部品や欠陥を個体ごとに検出しつつ、欠陥領域の形状まで画素単位で捉える使い方があります。欠陥の位置だけでなく形状の情報まで得られれば、不良品の判定基準を「どのような形の欠陥か」という観点まで踏み込んで精緻化できます。
目視検査では見落としやすい微小な欠陥も、画素単位の検出によって一貫した基準で判定できます。
5. 要点まとめ
- Mask R-CNNは、Faster R-CNNにマスク予測の分岐を追加し、物体検出とインスタンスセグメンテーションを1つのモデルで同時に行う手法です。
- RoIAlign層は、RoIPooling層の量子化による位置ずれをバイリニア補間で解消し、画素単位の精度が求められるマスク生成の精度を高めます。
- クラス分類・矩形回帰・マスク予測の3タスクを並列に学習するマルチタスク学習の構造を持ち、姿勢推定(骨格検出)にも拡張されています。
6. 確認問題
問1Mask R-CNNは、物体検出モデルであるFaster R-CNNに、検出した各候補領域に対してマスクを予測する分岐を並列に追加した構造を持つ。
解答・解説をみる
○ 正しい
Mask R-CNNはFaster R-CNNの構造にマスク予測の分岐を並列に加えることで、物体検出とインスタンスセグメンテーションを同時に行います。矩形と画素単位の領域を1つのネットワークで同時に出力する点が構造上の特徴です。
問2Mask R-CNNで導入されたRoIAlign層は、候補領域の座標を整数に丸めることで計算を高速化する仕組みである。
解答・解説をみる
× 誤り
正しくは逆で、RoIAlign層は量子化を行わずバイリニア補間で座標をそのまま扱う層です。これによりFaster R-CNNのRoIPooling(候補領域を一定サイズの特徴マップに変換する処理)で生じていた画素単位の位置ずれを解消します。座標を整数に丸める量子化を行うのはRoIPooling側にあたります。
問3Mask R-CNNは、クラス分類・矩形回帰・マスク予測の3つのタスクを1つのネットワークで並列に学習する構造を持つ。
解答・解説をみる
○ 正しい
3つのタスクの損失を組み合わせた損失関数を用いて同時に学習する点が、Mask R-CNNのマルチタスク学習としての位置づけの核心にあたります。

