1行定義
Mask R-CNNとは、Faster R-CNNに物体ごとのマスクを予測する分岐を加え、物体検出とインスタンスセグメンテーションを同時に行うモデルのことです。
くわしく
Mask R-CNNは、2017年にKaiming Heらが発表した、インスタンスセグメンテーションの代表的なモデルです。物体検出のFaster R-CNNを土台にして、物体を1つずつ見つけたうえで、それぞれの形を画素単位で切り出します。
しくみ
Faster R-CNNは、画像から物体がありそうな候補領域を見つけ、領域ごとに「何の物体か(クラス)」と「正確な枠」を出力します。Mask R-CNNは、これにマスクを予測する分岐を並列に加えました。マスクは、候補領域の中の各画素が物体に属するかどうかを表す、2値の地図です。
マスクはクラスごとに別々に予測し、分類の分岐が選んだクラスのマスクを使います。各画素は「その物体か、そうでないか」だけを判断すればよいので、学習しやすくなります。
RoIAlign
Faster R-CNNのRoIPoolは、候補領域の座標を整数に丸めてから特徴を取り出していました。枠を出すだけならこのずれは小さな問題ですが、画素単位のマスクでは形がずれてしまいます。Mask R-CNNは、座標を丸めずに双線形補間で値を求めるRoIAlignを導入し、マスクの精度を大きく高めました。
特徴と応用
Faster R-CNNへの追加はわずかで、論文では毎秒5枚ほどの速さで動くと報告されています。また、人の関節の位置を、1か所だけが1になるマスクとして予測すれば、同じ枠組みで姿勢推定も行えます。
セマンティックセグメンテーションのモデルと違い、同じクラスの物体も1つずつ区別できます。背景まで含めて全画素を塗り分けるパノプティックセグメンテーションでも、Mask R-CNNにセマンティックセグメンテーションの分岐を加えたPanoptic FPNなどが使われています。
覚え方
「Faster R-CNN+マスク(形)=Mask R-CNN」と覚えます。
G検定での出題
出題のされ方
Faster R-CNNにマスクを予測する分岐を加えた構造、RoIPoolの位置ずれを抑えるRoIAlign、セマンティックセグメンテーションとの違い、姿勢推定への応用が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Mask R-CNNこのページの用語 | Faster R-CNNに物体ごとのマスクを予測する分岐を加え、物体検出とインスタンスセグメンテーションを同時に行うモデル |
| Faster R-CNN | 候補領域の抽出もニューラルネットワーク(RPN)で行うようにして、検出を高速にした2段階型の物体検出モデル |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Mask R-CNNのマスクを予測する分岐は、クラスの分類と枠の推定を行う分岐と並列に置かれている。
答えを見る
答え ◯ 正しい
候補領域ごとに、クラス・枠・マスクの3つを並行して出力します。この単純な拡張で、物体検出とインスタンスセグメンテーションを同時に行えます。
-
RoIAlignは、候補領域の座標を整数に丸めてから特徴を取り出すことで、計算を速くするしくみである。
答えを見る
答え × 誤り
座標を丸めるのは、Faster R-CNNで使われるRoIPoolのほうです。RoIAlignは丸めずに、双線形補間で正確な位置の値を求めます。画素単位の位置が大切なマスクで、ずれを防ぐためです。
-
Mask R-CNNは、候補領域ごとにクラスの数だけ2値のマスクを予測し、分類の分岐が選んだクラスのマスクを使う。
答えを見る
答え ◯ 正しい
各マスクは、画素ごとに物体かどうかだけを判断します。どのクラスかの判断は分類の分岐に任せるので、マスクの上でクラスどうしが競合せず、学習しやすくなります。