画像認識のタスクは「写っているものを当てる」分類だけではありません。残る3つを整理します。
こんにちは、zawato(@zawato7)です!
本記事はディープラーニング入門ロードマップの第18回です。
- 画像分類・物体検出・セグメンテーション・姿勢推定の違い
- 2段階モデルと1段階モデル、IoU・mAPという評価指標
- セグメンテーション3種類の違いと、アノテーションの負担
画像認識のタスクは分類だけではない
画像分類・物体検出・セグメンテーション・姿勢推定は、出力の形がそれぞれ違います。画像分類は画像1枚にラベルを返すだけで、位置は答えません。求める出力が変わればモデルも変わります。
| タスク | 出力の形 | 代表モデル |
|---|---|---|
| 画像分類 | 画像全体に1つのラベル | VGG・ResNet |
| 物体検出 | 矩形の座標+クラス | Faster R-CNN・YOLO・SSD |
| セマンティックセグメンテーション | ピクセルごとのクラス | FCN・U-Net |
| インスタンスセグメンテーション | 個体ごとの領域 | Mask R-CNN |
| 姿勢推定 | キーポイントの座標 | Keypoint R-CNN |
物体検出は2段階モデルと1段階モデルに分かれる
物体検出は矩形で位置とクラスを示すタスクで、処理を2段階に分けるか1回で済ませるかで2系統に分かれます。2段階モデルの代表がFaster R-CNNです。領域提案ネットワーク(RPN)で物体らしい候補領域を洗い出し、RoIプーリングでサイズをそろえてからクラスと座標を出力します。この2段構えが名前の由来です。対してYOLOとSSDは1回で行う1段階モデルで、YOLOは高速化、SSDは精度向上に主眼があります。
評価も分類とは異なり、予測した矩形と正解の矩形の重なり具合をIoU(Intersection over Union)で測ります。基準値を超えたものを正解とみなし、クラスごとの平均精度をまとめたmAPで総合評価します。
セグメンテーションは3種類の違いが問われる
ピクセル単位でラベルを付けるセグメンテーションには、扱える範囲が異なる3つの種類があります。
| 種類 | できること | できないこと |
|---|---|---|
| セマンティック | ピクセルごとのクラス判定。背景も塗れる | 車1台1台の区別 |
| インスタンス | 物体を検出してから塗るため個体を区別できる | 背景の判定 |
| パノプティック | 両者の良いとこ取り。個体も背景も扱える | — |
インスタンスの代表はMask R-CNNで、物体検出にマスク出力を足した構造です。FCN・U-Net・PSPNet・DeepLabはセマンティックで、「Mask R-CNNだけインスタンス」と覚えると取り違えません。
姿勢推定とアノテーションの負担
姿勢推定は関節や目・鼻・口をキーポイントとして特定するタスクです。Keypoint R-CNNはMask R-CNNと同じ流れで、マスクの代わりに関節の位置を出力します。OpenPoseやPoseNetも代表例です。骨格を座標で追えるため、熟練者と初心者のフォーム比較に使えます。
学習には正解データが必要で、人手で作る作業をアノテーションと呼びます。画像分類はラベルを1つ付ければ済みますが、物体検出は矩形を1つずつ引き、セグメンテーションはピクセル単位で塗り分けます。タスクが細かいほど負担は跳ね上がります。
まとめ
- 画像認識には分類のほか、矩形で囲む物体検出、ピクセル単位のセグメンテーション、点を特定する姿勢推定がある
- 物体検出は2段階モデル(Faster R-CNN)と1段階モデル(YOLO・SSD)に分かれ、評価にはIoUとmAPを使う
- セグメンテーションは3種類。インスタンスの代表がMask R-CNN、姿勢推定の代表がKeypoint R-CNN
よくある質問
Q. 物体検出とセグメンテーションはどちらが優れているのですか?
A. 優劣ではなく用途の違いです。位置と個数がわかれば十分なら物体検出、輪郭まで必要ならセグメンテーションを使います。
Q. 1段階モデルと2段階モデルはどちらを使うのですか?
A. 一般に1段階モデルは高速、2段階モデルは精度が出やすいとされます。リアルタイム処理には1段階が向いています。
Q. セマンティックとインスタンスのセグメンテーションは何が違うのですか?
A. 同じクラスの物体を1つずつ区別するかどうかです。セマンティックは「このピクセルは車」までで、インスタンスは1台目と2台目を別物として扱います。



コメント