The English version is here.
概要
画像または動画データから密度マップを作成するGUIのアノテーションツール、DensityAnnotatorを作成しました。DensityAnnotatorでは、画像を読み込み対象となる個体をマウスの左クリックでタグ付けしていきます。
アノテーション作業の一例を以下の図1に示します。まず、アノテーション対象の画像を読み込みます (図1内左)。その後、GUIのウィンドウが立ち上がるので対象の個体をマウスの左クリックでタグ付けをしていきます。タグは画像内の赤い点で表されます (図1内中央)。全ての個体に対してタグがつけ終わったらキーボードのsキーを押し、読み込んだ画像に対する作業を保存し、終了します。保存時にはタグ付けされた個体の座標情報をもとに密度マップが描かれ、numpyのArrayとして.npy形式で保存されます (図1内右)。動画データの場合は、ツール内でpキーを押し、任意のタイミングでフレームに切り出すことで画像と同じ作業を繰り返し行います。
ツールの利用方法
依存ライブラリのバージョンはPoetryで管理しています。そのため、利用には事前にPoetry自体のインストールが必要となります。こちらの公式ドキュメントを参考にpipなどを用いて簡単にインストールすることができます。その後、cloneしたDensityAnnotatorのルートディレクトリでpoetry installコマンドを実行し、依存ライブラリをインストールしてください。
依存ライブラリをインストール後は、scripts/run_annotator.shを実行することでGUIツールが立ち上がります。GUIツール上で利用できるキー操作は以下の4つとなっています。
キー操作
- qキー:アノテーション作業を終了し、GUIツールを閉じる。
- pキー:動画を一時停止し、アノテーション作業を始める。
- dキー:一つ前のタグ付け結果を削除する。
- sキー:アノテーション作業を保存する。
読み込むデータの設定などは、conf/annotator.yamlファイルで定義することができます。主に設定する必要があるのは以下の5つです。アノテーションされた画像、座標情報、密度マップはそれぞれsave_annotated_dir/image、save_annotated_dir/coord、save_annotated_dir/densに保存されます。
configのパラメータ
- sigma_pow:密度マップを計算する際に利用する標準偏差
- input_file_path:読み込む画像または動画のファイルパス
- save_raw_image_dir:動画から切り出した画像を保存するディレクトリ
- save_annotated_dir:アノテーション結果を保存するディレクトリ
- save_image_extension:保存する画像のフォーマット