0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】CVATで自動物体追跡を活用してアノテーションする

Posted at

CVATでAI自動追跡を使ったアノテーション完全ガイド

はじめに

コンピュータビジョンのプロジェクトで動画の物体追跡アノテーションを行う際,手動でのフレーム毎のアノテーションは非常に時間がかかります.CVAT(Computer Vision Annotation Tool)にAI自動追跡機能を組み込むことで,この作業を大幅に効率化できます.

本記事では,CVATにTransTトラッカーを導入し,AI補助による半自動アノテーションを実現する手順を詳しく解説します.

前提条件

  • Docker,Docker Composeがインストールされていること
  • Windowsユーザーの場合は,WSL2の利用を推奨

手順

1. CVATリポジトリの取得

まず,CVATの公式リポジトリから指定バージョンをクローンします.

git clone https://github.com/cvat-ai/cvat -b v2.12.1 --depth 1
cd cvat

2. Nuclioコマンドラインツールの導入

サーバーレス機能を管理するためのNuclioツールをインストールします.

# Nuclioバイナリをダウンロード
curl -LO https://github.com/nuclio/nuclio/releases/download/1.11.24/nuctl-1.11.24-linux-amd64

# 実行権限を付与
chmod +x nuctl-1.11.24-linux-amd64

# システムパスに移動
sudo mv nuctl-1.11.24-linux-amd64 /usr/local/bin/nuctl

3. サーバーレス機能付きでCVAT起動

通常のCVATに加えて,サーバーレス機能も同時に起動します.

docker-compose -f docker-compose.yml \
               -f components/serverless/docker-compose.serverless.yml up -d

起動完了後,http://localhost:8080でCVATにアクセス可能になります.

4. TransTトラッカーモジュールの追加

AI物体追跡機能として,高精度なTransTトラッカーをデプロイします.

./serverless/deploy_gpu.sh serverless/pytorch/dschoerk/transt/nuclio

デプロイが成功すると,CVATのUI上で自動追跡機能が利用可能になります.

5. 自動物体追跡の使用方法

  1. CVATでプロジェクトを作成し,動画をアップロード
  2. ジョブを開いて,左側のツールパネルから「AI Tools」を選択
  3. 追跡したい物体の初期フレームでバウンディングボックスを描画
  4. 「Track」ボタンをクリックして自動追跡を開始

CVAT自動追跡UI

システムが自動的に後続フレームでの物体位置とサイズを予測し,バウンディングボックスを調整していきます.
ただ,オクルージョンが発生する箇所では手動修正が必要になることが多いです.
とはいえ,かなり作業量は減るので楽になります.

トラブルシューティング

エラー: "Tracker initialization error"

以下のようなエラーが発生することがあります:

Tracker initialization error
HTTPConnectionPool(host='host.docker.internal', port=65227): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7b3b33a69d20>: Failed to establish a new connection: [Errno 111] Connection refused'))

解決方法:

  1. 実行中のコンテナのポート番号を確認

    docker ps | grep nuclio-nuclio-pth-dschoerk-transt
    
  2. serverless/pytorch/dschoerk/transt/nuclio/function-gpu.yamlを編集

    triggers:
      myHttpTrigger:
        port: 65224  # エラーメッセージのポート番号に合わせる
    

まとめ

CVATにTransTトラッカーを組み込むことで,動画アノテーション作業を大幅に効率化できます.完全な自動化は困難ですが,AI補助により人間の作業負荷を大幅に削減できます.

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?