Skip to content

コンピュータビジョンのフォーマット

インポート 15 種類、エクスポート 29 種類、うち 11 種類は往復可能です。RLE と crowd 領域つきの COCO、YOLO、Pascal VOC、CVAT、双方向の Darwin、KITTI、MOT、DAVIS、Cityscapes など。

Potato はコンピュータビジョンのフォーマットを 15 種類読み、29 種類書き、うち 11 種類は往復できます。 データセットを移行するか判断するとき、問題になるのはたいていラベルを持ち込めるかどうかではなく、持ち出せるかどうかです。

インポート

bash
potato import --format coco path/to/annotations.json
potato import path/to/dataset/          # auto-detects by signature file

potato import はディレクトリや zip を受け取り、名前を指定させる代わりにシグネチャファイルからフォーマットを判定します。

インポートできるフォーマット:COCO(ポリゴン、RLE、crowd 領域、パノプティック、キーポイント)、YOLO、Pascal VOC、CVAT XML、Darwin(V7)、LabelMe、KITTI、MOT、DAVIS、Cityscapes、Labelbox、Open Images、VIA、WebDataset、HuggingFace。

COCO はそのままインポートされます。ポリゴンと RLE のセグメンテーション、iscrowd の crowd 領域も含め、前処理の工程は要りません。既存のアノテーションやモデル出力は、作り直さずに修正できます。

移行という問題

インポート専用の経路では、チームは一度プラットフォームを離れられても、作業を返すことはできません。ツールを決める前に、この非対称性は確認しておく価値があります。

Potato では Darwin が双方向です。V7 のデータセットを取り込み、作業し、戻せます。この面について言えることの中で、これが最も強い一点です。

マトリクスは生成され、テストされている

フォーマットマトリクスはレジストリから生成され、テストで固定されています。そのテストは、表に名前のあるフォーマットが実際に登録されていること、登録済みのフォーマットが表から漏れていないこと、そして一方向の経路が双方向とも一方向として記されていることを検査します。

コードから乖離しうるマトリクスは、マトリクスがないより悪いものです。うまくいかない移行をうまくいくと伝えてしまいますし、できることを過小に書けば、成功したはずの移行から人を遠ざけます。

各フォーマットが運べるもの

どのジオメトリが生き残るかはフォーマットによって異なり、失われるものが常に明らかとは限りません。

  • Pascal VOC と KITTI はボックスだけを運びます。どちらかに書き出したポリゴンはそのバウンディングボックスになります。
  • YOLO はボックスとポリゴンを運び、マスクは運びません。
  • DAVIS はインスタンスごとのマスクだけを運びます。
  • Cityscapes はポリゴンを運び、ボックスは運びません。
  • KITTI 3D はヨーを一つだけ運ぶため、ピッチとロールは捨てられます。そしてエクスポート側が、どれだけの姿勢情報を落としたかを報告します。点群を参照してください。

損失のあるフォーマットを経由する往復は、当然ながら損失を伴います。Potato は、どちらの向きで何が失われるかを自分で発見させるのではなく明示します。

関連ページ