LoginSignup
9
10

More than 3 years have passed since last update.

学習データ作成ツールCVATによるオートアノテーションとトラッキング

Posted at

概要

物体検出モデルの学習データを作成するツール「CVAT」について、その機能であるTensorFlowモデルによるオートアノテーションと、OpenVINOのRe-IDモデルによるトラッキングデータの作成について述べる。

あらまし

ディープ・ラーニングモデルを用いた物体検出等の精度は年々向上しており、各種アプリケーションでの利用が期待されている。
一方で、各タスクに応じてモデルの学習データを作成する必要があり人的コストを要する。
(ABEJA等の学習データの作成を行うビジネスがあるほど。)

本稿では物体検出向け学習データの作成を支援するツール「CVAT」について、その機能の一つであるTensorFlow連携によるオートアノテーションとOpenVINOのRe-IDモデルによるトラッキングデータの作成について述べる。

やること

CVATのインストールから基本的な使い方はこちらの記事に詳しい。
本稿ではオートアノテーションとRe-ID機能に焦点を当てて述べる。

環境

項目 内容
OS Ubuntu 16.04 64ビット
プロセッサ Intel Core i7-7700HQ CPU @ 2.8GHz 2.81GHz
RAM 16GB
GPU GTX1060 (6GB)

OpenVINOの準備

こちらの事前準備にしたがって、OpenVINOツールキットをダウンロードし、
CVATのディレクトリ内にあるcomponents/openvinoに格納する。(圧縮したままで良い)
※ 現在のOpenVINOのバージョンは上記記事の内容と異なっているため、適宜選択してダウンロードする。

CVATの起動

今回はGPU(CUDA)、OpenVINO、TensorFlowを使用するため、以下のオプションを使用する。

ビルド

docker-compose -f docker-compose.yml -f components/cuda/docker-compose.cuda.yml -f components/openvino/docker-compose.openvino.yml -f components/tf_annotation/docker-compose.tf_annotation.yml build

起動

docker-compose -f docker-compose.yml -f components/cuda/docker-compose.cuda.yml -f components/openvino/docker-compose.openvino.yml -f components/tf_annotation/docker-compose.tf_annotation.yml up -d --build

CVATの利用

Chromiumブラウザでhttp://localhost:8080にアクセスする。

本稿ではサンプルデータとしてCAVIARデータセットから動画を拝借した。

なお、CVATは画像または動画ファイルを読み込むことができ、
動画ファイルを読み込んだ場合はアノテーション結果をトラッキングデータとして保存することができる。

オートアノテーションの実行と結果

大まかな流れは動画の通り。

Create Taskからタスクを作成画面がポップアップし、タスク名とラベル等を設定、Select Filesからアノテーションしたいデータを読み込ませSubmit

Run TF annotationからauto annotationが始まる。

私の環境ではGPUが貧弱なため短い動画の入力であったがそれなりに時間を要した。  

auto annotation終了後、jobsのURLからjobページに移動することでアノテーションの結果を見ることができる。

アノテーションの結果を以下に示す。

Screenshot from CVAT.mp4 - 1.png

見たところ高精度で人の位置に枠を付けている。 
一方で、人が重なっているところでは精度が悪い。

Screenshot from CVAT.mp4 - 2.png

Re-IDの実行と結果

次に、さきほどアノテーションした結果に対して、同一人物のIDをを統合するRe-IDを行う。

Open MenuからRun ReID Mergeを実行する。

Re-IDの結果を示す。

無題 1.jpg

ゆっくり歩いている人については同一の人物としてIDをが振られている。
一方で、人が重なるところや、振り向いた瞬間にIDの割り振りが変わっている。

このような誤ったアノテーションはパラメータを調整して再度Re-IDを行うか、手動で修正する必要がある。

おわりに

アノテーション作業の低減を目指し、CVATによるオートアノテーションとトラッキング紹介した。
現状では有効な場合と手作業による修正のいる場合があり、
データの状況を見て判断する必要がある。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10