CityScapesからPanopticSegmentation用データセットを作成

以下からgit cloneしてくる

git clone https://github.com/mcordts/cityscapesScripts

環境変数`CITYSCAPES_DATASET`にcityscapesのパスを登録.Cityscapesは登録制のため,公式ホームページにメールアドレスを登録してからダウンロードしていることが前提.Panoptic segmentation用のデータセットを作成する場合は,登録したパス(フォルダ)の中にgtFineとleftImg8bitフォルダが配置されていればOK.

CITYSCAPES_DATASET = "/path/to/your/cityscapes"

データセットを配置後,以下を実行

python cityscapesscripts/preparation/createPanopticImgs.py

パスの読み込みがうまくいかない場合は,createPanopticImgs.pyの35~39行目にあるパス指定部分を編集し,コードに直接パスを打ち込むとうまくいくはずだ.

実行後,/path/to/your/cityscapes/gtFine/cityscapes_panoptic_trainと/path/to/your/cityscapes/gtFine/cityscapes_panoptic_valと/path/to/your/cityscapes/gtFine/cityscapes_panoptic_testが作成され,その中にpngとしてpanoptic segmentation用の画像が入っている.

Panoptic segmentation用の画像では,車や歩行者など,それぞれのクラスに属するInstanceそれぞれにIDが付与される形になっているため,車と車の重なりを分離したりすることが可能となる.アノテーションは,png画像に色(R,G,B)として付けられており,Rがあるクラスに属するインスタンス(物体)に対して個別に割り振られたIDを表し,GがクラスIDを表している.なおBは0に設定されていて特に情報は埋め込まれていない.

筆者が把握している範囲でインスタンスに対するアノテーション情報を記述する.

  • car: ([ID], 101, 0)
  • person: ([ID], 93, 0)
  • rider: ([ID], 97, 0)
  • bicycle: ([ID], 125, 0)
  • motorcycle: ([ID], 128, 0)
  • truck: ([ID], 109, 0)

Cityscapes

Posted by vastee