CVATに既存のアノテーションをインポートする

2021.11.01

データアナリティクス事業本部の鈴木です。 以前、画像アノテーションツールのComputer Vision Annotation Tool(以降、CVAT)を紹介しました。

CVATでバウンディングボックスをアノテーションしてみる | DevelopersIO

今回はCVATに既存のアノテーションをインポートする方法を紹介します。

検証の説明

確認したいこと

CVATで、既存のアノテーションデータをインポートする方法を確認します。

例えば、別のネットワークにあるCVATでほかの人がアノテーションを行い、結果を送付してくれたとします。手元のネットワークにあるCVATにインポートし、その結果を確認したり、追加でアノテーションを付けたりしたいケースを考えています。

CVATは以前の記事と同様、ローカルにコンテナを起動する想定です。また、CVATはタスク自体をエクスポートする機能がありますが、今回はデータセットやアノテーションデータのみを受領したケースを想定します。

やってみる

0. アノテーション結果のエクスポート

まず、別プロジェクトからアノテーションデータをエクスポートする方法から確認します。

例えば、以下のようなアノテーション結果があるとします(画像は以前の記事と同じものです)。

別プロジェクトのアノテーションデータ

以下のように、Export task datasetからPASCAL VOC 1.1形式でデータをエクスポートします。

OKを押すと、データセットをzipにしたものがダウンロードされます。

エクスポート方法

Save imagesをチェックすると、エクスポート結果に画像を含めることができます。チェックしない場合はアノテーションのみ出力されます。

このようにして、別のネットワークにあるCVATからエクスポートされた結果が、共有されたとします。

1. プロジェクトの作成

手元のCVATには、エクスポートしたデータを取り込むためのプロジェクトとタスクがないので、まずプロジェクトを作成します。

Projectsをクリックし、Create new projectからプロジェクトを作成します。

プロジェクト作成

このとき、labelはインポートするアノテーションデータに含まれるものを全て作成しておきます。

プロジェクト作成結果

2. タスクの作成

次に先ほど作成したプロジェクトに、タスクを作成します。

タスクの作成

アノテーション対象の画像をselect filesのセクションからアップロードします。

3. アノテーションのインポート

タスクを開き、Upload annotationsからアノテーションデータの形式をクリックします。

クリックすると、アップロードするファイルを聞かれます。もし別のCVATでエクスポートした際のzipファイルがあればそれを選択します。

アノテーションのインポート

もし、アノテーションデータしかない場合も、zip圧縮することでアップロードが可能でした。

例えばMacだと、アップロードしたいアノテーションデータをまとめて選択し、下の画像のように圧縮します。

作成したzipファイルを上記のファイル選択で選択します。 アノテーションの圧縮

アップロード時には、既に付けられているアノテーションが消えてしまって問題ないか確認されるので、問題なければUpdateを押します。

アップロード時の確認事項

無事にインポートできると、アノテーションを確認することができます。

インポート結果

最後に

今回はCVATに既存のアノテーションをインポートする方法を確認しました。Pythonなどで画像とアノテーション結果を表示して確認するのは結構手間なので、CVATにインポートしてUIから確認できるのはとてもよいですね。