CVATで画像のアノテーションをしてみた.
- UIがまぁまぁ使いやすい
- 既存モデルを使った自動アノテーションは一部動いた
- 既存モデルの読み込み?(CVAT上で選択できる)は成功
- モデルによってエラーを吐く
種類 |
モデル |
状態 |
Interactor |
DEXTR |
ok |
Interactor |
SAM |
building 終わらず |
Detector |
YOLOv5 |
読み込めるけど,使うとエラー |
Detector |
Mask RCNN |
読み込めるけど,使うとエラー |
Tracker |
SiamMask |
ok |
インストール
- dockerを使う
- この手順に従えば問題なくCVATを使える(はず)
- DLモデルを使った自動アノテーションやActive Learningはここに従えばOKっぽい
- 手順3で
up -d --build
にすると,コンテナを強制ビルドするから, up -d
でいいんじゃないかと思うけど,どうなんだろう?
# 手順1. dockerのインストール
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 手順2. cvatのレポジトリのコピー
git clone https://github.com/opencv/cvat
cd cvat
# 手順3. コンテナの作成・起動
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d --build
- CVAT上でモデルが表示されて,Magic wandツールでモデルを選択できるようになった
- tracker, detectorを選択すると,モデルの初期化エラーとかが表示される
- モデルによってエラーが異なる
- DEXTRはエラーなく使える
- Nuclio command line tool (nuctl)を使う
- builtin DL modesは
CVATROOT/serverless
に保存されている
- 例: YOLOv5:
CVATROOT/serverless/pytorch/ultralytics/yolov5/nuclio/
- 例: DEXTR:
CVATROOT/serverless/openvino/dextr/nuclio/
nuctlのインストール
# (オプション)既存コンテナの削除
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml down
# 手順1 nuctlのバイナリのダウンロード
wget https://github.com/nuclio/nuclio/releases/download/<version>/nuctl-<version>-linux-amd64
# 手順2 ダウンロードしたバイナリをOSにコピー
sudo chmod +x nuctl-<version>-linux-amd64
sudo ln -sf $(pwd)/nuctl-<version>-linux-amd64 /usr/local/bin/nuctl
- versionの確認は
CVATROOT/components/serverless/docker-compose.serverless.yml
を参照
services:
nuclio:
container_name: nuclio
image: quay.io/nuclio/dashboard:1.8.14-amd64
restart: always
既存モデルの利用
- 既存モデルを使用する前に,あらかじめdocker composeでCVATのコンテナを起動させておく
# 手順1 nuclio dashboard内でプロジェクトを作成
nuctl create project cvat
# 手順2 既存モデルのダウンロード
## 手順2.1 DEXTRを使う例
nuctl deploy --project-name cvat \
--path serverless/openvino/dextr/nuclio \
--volume `pwd`/serverless/common:/opt/nuclio/common \
--platform local
## 手順2.2 YOLOv3を使う例
nuctl deploy --project-name cvat \
--path serverless/openvino/omz/public/yolo-v3-tf/nuclio \
--volume `pwd`/serverless/common:/opt/nuclio/common \
--platform local