Detectron2 0.3: Tutorials : 組込みデータセットの利用 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 03/04/2021 (0.3)
* 本ページは、Detectron2 ドキュメントの以下のページを翻訳した上で適宜、補足説明したものです:
- Tutorials : Use Builtin Datasets
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
- Windows PC のブラウザからご参加が可能です。スマートデバイスもご利用可能です。
人工知能研究開発支援 | 人工知能研修サービス | テレワーク & オンライン授業を支援 |
PoC(概念実証)を失敗させないための支援 (本支援はセミナーに参加しアンケートに回答した方を対象としています。) |
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/ |
Facebook: https://www.facebook.com/ClassCatJP/ |
Detectron2 : Tutorials : 組込みデータセットの利用
データセットはそのデータのために DatasetCatalog、あるいはメタデータ (クラス名等) のために MetadataCatalog にアクセスすることにより利用できます。このドキュメントは組込みデータセットをどのようにセットアップするか説明しますので、それらは上の API により利用できます。Use Custom Datasets は DatasetCatalog と MetadataCatalog をどのように使用するか、そしてそれらに新しいデータセットをどのように追加するかについて深いダイブを与えます。
Detectron2 は幾つかのデータセットのための組込みサポートを持ちます。データセットは環境変数 DETECTRON2_DATASETS により指定されるディレクトリに存在することが仮定されます。このディレクトリ下で、detectron2 は必要であれば、下で記述される構造のデータセットを探します。
$DETECTRON2_DATASETS/
coco/
lvis/
cityscapes/
VOC20{07,12}/
export DETECTRON2_DATASETS=/path/to/datasets により組込みデータセットのための位置を設定できます。未設定のままの場合、デフォルトは現在の作業ディレクトリに相対的に ./datasets です。
モデル zoo はこれらの組込みデータセットを利用する config とモデルを含みます。
COCO インスタンス/キーポイント検出 のために想定されるデータセット構造
coco/
annotations/
instances_{train,val}2017.json
person_keypoints_{train,val}2017.json
{train,val}2017/
# image files that are mentioned in the corresponding json
データセットの 2014 バージョンもまた利用できます。
組込みテスト (dev/run_*_tests.sh) の幾つかは COCO データセットの tiny バージョンを使用します、これは ./datasets/prepare_for_tests.sh でダウンロードできます。
PanopticFPN のために想定されるデータセット構造
COCO web サイト から panoptic アノテーションを次の構造に展開します :
coco/
annotations/
panoptic_{train,val}2017.json
panoptic_{train,val}2017/ # png annotations
panoptic_stuff_{train,val}2017/ # generated by the script mentioned below
Install panopticapi by:
pip install git+https://github.com/cocodataset/panopticapi.git
それから、panoptic アノテーションからセマンティック・アノテーションを抽出するために python datasets/prepare_panoptic_fpn.py を実行します。
LVIS インスタンス・セグメンテーション のために想定されるデータセット構造
coco/
{train,val,test}2017/
lvis/
lvis_v0.5_{train,val}.json
lvis_v0.5_image_info_test.json
lvis_v1_{train,val}.json
lvis_v1_image_info_test{,_challenge}.json
Install lvis-api by:
pip install git+https://github.com/lvis-dataset/lvis-api.git
LVIS アノテーションを使用して COCO データセット上で訓練されたモデルを評価するには、“cocofied” LVIS アノテーションを準備するために python datasets/prepare_cocofied_lvis.py を実行します。
cityscapes のために想定されるデータセット構造
cityscapes/
gtFine/
train/
aachen/
color.png, instanceIds.png, labelIds.png, polygons.json,
labelTrainIds.png
...
val/
test/
# below are generated Cityscapes panoptic annotation
cityscapes_panoptic_train.json
cityscapes_panoptic_train/
cityscapes_panoptic_val.json
cityscapes_panoptic_val/
cityscapes_panoptic_test.json
cityscapes_panoptic_test/
leftImg8bit/
train/
val/
test/
Install cityscapes scripts by:
pip install git+https://github.com/mcordts/cityscapesScripts.git
Note: labelTrainIds.png を作成するために、最初に上の構造を準備してから、次で cityscapesescript を実行します :
CITYSCAPES_DATASET=/path/to/abovementioned/cityscapes python cityscapesscripts/preparation/createTrainIdLabelImgs.py
これらのファイルはインスタンス・セグメンテーションのためには必要とされません。
Note: Cityscapes panoptic データセットを生成するには、次で cityscapesescript を実行します :
CITYSCAPES_DATASET=/path/to/abovementioned/cityscapes python cityscapesscripts/preparation/createPanopticImgs.py
これらのファイルはセマンティックとインスタンス・セグメンテーションのために必要とされません。
Pascal VOC のために想定されるデータセット構造
VOC20{07,12}/
Annotations/
ImageSets/
Main/
trainval.txt
test.txt
# train.txt or val.txt, if you use these splits
JPEGImages/
ADE20k Scene Parsing のために想定されるデータセット構造
ADEChallengeData2016/
annotations/
annotations_detectron2/
images/
objectInfo150.txt
ディレクトリ annotations_detectron2 は python datasets/prepare_ade20k_sem_seg.py の実行により生成されます。
以上