0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

物体認識系技術の勉強の備忘録①

Posted at

この記事について

物体認識系技術の勉強として学んだ内容のざっくりまとめ。
多くの画像はプロジェクトページの画像へのリンク。

Amodal Ground Truth and Completion in the Wild

Amodalデータセットに関する論文。

論文 プロジェクトページ
プロジェクトのトップ画像

概要情報

関連分野

セグメンテーション

主な成果

  • 3Dデータを使用したAmodalマスク決定自動パイプラインの提案
  • 新しい評価ベンチマークデータセット MD3D-Amodal の作成
  • Amodalマスク推論モデル2種の提案

Amodalとは

英単語 和訳 備考
modal 形式的な
amodal 非形式的な 否定の接頭辞 a + modal

上記の単語の意味直訳だと意味が取りづらい…。
ざっくりと意訳して 形のない非可視部分の と解釈。

Amodalマスク = 遮蔽された部分も補完したマスク。

例えば下の画像ではバイクやソファが別のバイクやテーブルによって部分的に遮蔽されている。
遮蔽された部分の形状を保管したマスクが欲しいというタスクがAmodalマスクの推定。
Amodalマスクの例

用語メモ

用語 説明
Occlusion ある物体が遮蔽された状態
Occluder 遮蔽物
ある物体を遮蔽している物体
Occluded 被遮蔽物
何らかの物体によって遮蔽されている物体

学ぶモチベーション

画像処理関連の業務を行っている中で
認識対象の物体が遮蔽物によって部分的に隠れていても、隠された部分も推定できれば...
というケースに遭遇したため。

  • 通常は遮蔽が発生しにくいカメラの位置にするが、諸般の都合でカメラは動かせない
  • 映像内の物体配置が頻繁に変わり、遮蔽の有無が刻々と変化する
  • 認識対象物体の着目したい部位が遮蔽されやすい
  • 着目するの座標のため見えない部分のテクスチャは不要

内容

Amodalデータ作成パイプライン

  1. 既存のデータセットMatterport3Dから3Dメッシュを取得
  2. 3Dメッシュを2Dに投影してマスク生成
    • modalマスク: 全ての物体を2Dへ投影
    • amodalマスク: 物体ごとに2Dへ投影
  3. 下記判定式でOccludedを特定
    $(amodalマスク面積) > 1.2 × (modalマスク面積)$
  4. 人による選定
    • 元となるデータセットMatterport3D自体にノイズがある

Matterport3Dデータセット

Matterport3Dのサンプル画像

  • データの内容
    • 建物90シーン
    • 194,400枚のRGB-D画像
    • 10,800枚のパノラマビューのRGB-D画像
  • Matterport: RGB-Dカメラを出していおり、デジタルツイン推しの企業

作成されたAmodalデータセット

サンプルデータ

ダウンロードしたデータの中身を抜粋。

画像
scene-1LXtFkjw3qL-img_name-03a8325e3b054e3fad7e1e7091f9d283_i1_1.jpg scene-1LXtFkjw3qL-img_name-3aba2bf1310e4a10918e4a5bc51d1979_i1_0.jpg scene-VLzqgDo317F-img_name-f4810f2f18cb497389628bd8738ba036_i2_0.jpg
アノテーション

アノテーションはpklファイルになっている。
以下はPythonのインタプリタモードで確認した結果。
(長すぎる内容は省略して記載)

形式はCOCOAデータセット(COCOをベースにAmodal対応したデータセット)。
COCOA形式の参考

>>> import pickle
>>> with open(r"MP3D_seleted_eval_10.29.pkl", "rb") as f:
...     loaded_data = pickle.load(f)
...
>>>
>>> type(loaded_data)
<class 'dict'>
>>>
>>> loaded_data.keys()
dict_keys(['images', 'annotations'])
>>> type(loaded_data["images"])
<class 'list'>
>>> len(loaded_data["images"])
11441
>>> loaded_data["images"][0]
{
    'data_captured': '?', 
    'coco_url': 'http://mscoco.org/images/27', 
    'flickr_url': '?', 
    'license': 2, 
    'height': 1024, 
    'id': 1, 
    'width': 1280, 
    'file_name': 'scene-VLzqgDo317F-img_name-f4810f2f18cb497389628bd8738ba036_i2_0.jpg'
}
>>> type(loaded_data["annotations"])
<class 'list'>
>>> len(loaded_data["annotations"])
11441
>>> loaded_data["annotations"][0]
{
    'depth_constraint': '', 
    'url': 'https://s3-us-west-1.amazonaws.com/coco-ann/coco-test/COCO_test2014_000000000027.jpg', 
    'size': 1, 'author': 'upwork26', 'image_id': 1, 'id': 1, 
    'regions': [
        {
            'isStuff': 0, 'order': 1, 'category_id': 1, 'area': 323593, 
            'name': 'mp3d_obj', 'occlusion_rate': 0.3892120740813445, 'image_id': 1, 
            'visible_mask': {'size': [1024, 1280], 'counts': b']Zcg04mo05(略)'}, 
            'segmentation': {'size': [1024, 1280], 'counts': b'^Pcb0i0in0(略)'}
        }
    ]
}
  • pklを読み込むと 'images', 'annotations' のキーを持つ辞書になっている
  • 'images', 'annotations' の値は辞書のリストになっている
  • 'images' の各辞書には画像のファイル名やサイズが含まれている
  • 'annotations' の各辞書には 'occlusion_rate' のようなメタ情報やマスク情報が含まれている

用語メモ
「thing」と「stuff」はどちらもモノを指す単語だが「thing」は可算名詞で「stuff」は不可算名詞という違いがある。

用語 説明
thing (things) 1つ1つ数えやすい物体 人 犬 椅子 車 コップ
stuff 明確な形状がないものや広がりのある領域など
インスタンスセグメンテーションでは対象外
空 道路 水 壁 道路植栽

詳細情報

他データセットとの比較
  • 合成データでないリアル画像
  • AmodalなGT
  • 対象カテゴリ(クラス)が多い
  • 主に屋内画像

他データセットとの比較表

データ分割
  • 評価ベンチマークなため、学習用データは少なく評価用データが多い
  • 学習用データはモデルのドメイン適応させるためで、根本的な推論能力の獲得は別のデータセットで行う必要がありそう
  • 1画像当たり約1.17インスタンス

データ分割の表

データ分布
  • 屋内データのため壁や家具類が多い
    • トップ画像にあるバイクは無い…?
  • Occlusion Rate 20~30%がボリュームゾーン

データ分布の表

サンプル画像

サンプル画像

Amodalセグメンテーションモデル

2ステップモデル

  • Occluder推定とAmodalマスク推定の2段構成

2ステップモデルアーキテクチャ図

1ステップモデル

  • Stable Diffusionを使用した1段階構成(Occluder推定部無し)
  • Stable Diffusionパワーで2ステップモデルより高精度

1ステップモデルアーキテクチャ図

実験結果

他モデルとの比較

他モデルとの比較表

学習データを変えて提案モデルの比較

学習データを変えて提案モデルの比較表

定性的な比較

定性的比較

まとめ

  • 研究の主な成果
    • Amodalマスク決定自動パイプラインの提案
    • 評価ベンチマークデータセットの作成
    • Amodalマスク推論モデル2種の提案
  • 成果物のデータセット
    • 評価用ベンチマーク
    • Amodalマスクの数は限定的(1画像1マスク程度)

所感

  • Amodalというワードを知ることができたため、ネットで更なる情報収集が可能になった
  • Amodalマスクが得られれば様々な応用ができそう
    • Amodalな姿勢推定など

関連情報

Amodal Panoptic Segmentation

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?