インスタンスセグメンテーション用アノテーションツールとして使っているVGG Image Annotator (VIA)の使用法のメモ。この記事は、2019年度出村研究室所属の園田君が制作した資料をベースに作成した。
ソフトウェアのインストールと準備
- 以下のURLから、via-src-2.0.8.zipをダウンロードし、好きなディレクトリに解凍する。この例では~/srcに解凍する。
- 画像を読み込むディレクトリと、プロジェクトを保存するディレクトリを事前に用意し、画像読み込み用のディレクトリに、アノテーションする画像を入れておく。この例では「sample」という名前で作成しているが、名前は自由。
- 端末を開き以下のコマンドを実行して、画像読み込みようのディレクトリを作成する。
- $ cd ~/src/via-src-2.0.8/data
- $ mkdir sample
- $ cd sample
- $mkdir train val
- プロジェクト保存用ディレクトリを作成する。
- $ cd ~/via-src-2.0.8
- $ mkdir project
- $ cd project
- $ mkdir sample
- $ mkdir train val
- 端末を開き以下のコマンドを実行して、画像読み込みようのディレクトリを作成する。
アノテーション作業
- ファイルマネージャーを使って以下のファイルをダブルクリックして起動する。
- ~/src/via-src-2.0.8/dist/via.html
- 画像を読み込むには、左にあるバーのAdd Filesを左クリックした後に、画像読み込み用ディレクトリまで移動し、画像を選択する。選択に成功した場合、以下のような画面になる。
- Region Shapeの中の形状し、アノテーションする。右から3番目のPolygon region shape(多角形)を選択した場合は、多角形の頂点で左マウスボタンをクリックし、アノテーション終了時にはEnterキーを押す。
- AttributesのToggle Annotation Editorを左クリックすると、現在表示している画像におけるラベリング情報を見ることができる。また、そこでも固有の名前を入力できる。
- 現在、表示している画像のアノテーションが終われば、キーボードの「→」キーを入力し、次の画像をアノテーションする。このソフトウェアにおけるショートカットキーは、左のバーのなかにあるKeyboard Shortcutsの中に記載されている。他の例として、キーボードの「↑」「↓」キーを入力することで、以下の図のように、ラベリング情報の表示形式を変更できる。
JSONファイルの出力
アノテーションした情報を教師データとして使われるJSON(JavaScript Object Notation)フォーマットのファイルに出力する。JSONはウェブ等で良く使われる軽量のデータ交換フォーマットである。
- アノテーション作業が全て終了したら、その情報をJSONファイルに出力する。上のバーのAnnotationからExportAnnotations (as json)を左クリックする。
- 「via-export_json.json」というファイル名で保存される。このファイルは画像読み込み用ディレクトリに移動させておくとよい。この例ではtrainの中の画像をアノテーションしていると仮定。端末を開き以下のコマンドを実行する。
- $ cd ~/src/via-src-2.0.8
- $ mv via_export_json.json ~/via-src-2.8.0/data/sample/train
プロジェクトの保存
アノテーション情報をプロジェクトとして保存することで、そのファイルを読み込めば前回終了した画像の続きからアノテーションを再開できる。
- プロジェクトの保存の前に、読み込んでいる画像へのパスを指定する。上のバーのProjectからSettingsに移動。
- Default Pathに画像へのパスを入力する。この例で、trainのディレクトリから読み込んでいるので、パスは以下になる。
- ~/src/via-src-2.0.8/data/sample/train/
- 最後に、下の「Save」ボタンを左クリックして設定完了。
- 次に、プロジェクトを保存する。上のバーのProjectからSaveを選択。以下の画面になるのでProject Nameを好きな名前に変更してOKを左クリックすると本プロジェクトがJSONファイル形式で保存される。この例ではstar.json
- このファイルをプロジェクト保存用ディレクトリに移動する。
- $ cd download
- $ mv star.json ~/via-src-2.8.0/project/sample/train
プロジェクトの読み込み
- 上のバーのProjectからLoadを選択する。そこからプロジェクト(JSONファイル(jsonファイル)
以上