Skip to content

Latest commit

 

History

History
63 lines (56 loc) · 2.51 KB

README.md

File metadata and controls

63 lines (56 loc) · 2.51 KB

1. 概要

  • アノテーションツールVOTTで出力したPascal VOC形式のXMLファイルをCOCO形式のJSONファイルへ変換するコード
  • VOTTで定義されたtrainとvalに分割を考慮して、COCO形式のデータセットに変換する。

2. 引用

3. 環境構築

3.1 pip install

  • tqdm
  • natsort
pip install tqdm natsort

3.2 実行時のファイル構成

  • convert_vott_voc2coco.pyのファイル構成は以下のようにします。
  • 以下以外でも動くかもしれませんが、動作確認していません。
├─convert_vott_voc2coco.py
│  
└─{you setting name}-PascalVOC-export
    ├─Annotations
    ├─ImageSets
    │  └─Main
    └─JPEGImages
  • Annotationsにはxmlファイル(@@@.xml...)、ImageSets/Mainにはtxtファイル(@@@_train.txt, @@@_val.txt)、JPEGImagesには画像ファイル(@@@.jpg...)を格納

4. 実行

  • 以下のコマンドで実行します。
python convert_vott_voc2coco.py {yo setting name}-PascalVOC-export

# ex)
python convert_vott_voc2coco.py yolox_test-PascalVOC-export

なお、デフォルトではクラス名がソートされますので、abc順になります。 クラス名の順番を指定したい場合は下記のように引数-cnの後にスペースで区切って指定の順番でクラス名を記載してください。

# ex)
python convert_vott_voc2coco.py yolox_test-PascalVOC-export -cn person car motorcycle
  • 実行後、以下のフォルダが生成されます。{YYYYMMDD_HHMMSS}は日付・時刻です。
  • annotationsフォルダに変換後のtrain、valのCOCO形式のjsonファイル(instances_train2017.json、instances_val2017.json)、train2017フォルダにtrain画像、val2017フォルダにval画像が保存されます。
─{YYYYMMDD_HHMMSS}_COCO_format
   ├─annotations
   |  ├─instances_train2017.json
   |  └─instances_val2017.json
   ├─train2017
   |  └─@@@.jpg
   └─val2017
      └─@@@.jpg

5. 活用

YOLOXのdatasetsに格納して、学習に活用することができます。

6. 紹介

ブログ

Youtube