AI

物体検出・セグメンテーション・姿勢推定

AI

画像認識のタスクは「写っているものを当てる」分類だけではありません。残る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台目を別物として扱います。

 

 

コメント