物体のセグメンテーションと追跡をおこないます。
ex. cars
次の環境で行っています。
ubuntu 22.04
cuda 12.4
cudNN 9.1.1
Docker 26.1.3
segment-and-track-anything の動かし方
githubよりダウンロードし、ディレクトリを移動しておきます。
git clone https://github.com/eijwat/Segment_and_Track_Anything_with_Minor_Modification
cd Segment_and_Track_Anything_with_Minor_Modification
コンテナの作成と起動
docker compose up -d
docker compose exec segment-and-track-anything /bin/bash
pythonパッケージのインストール
bash ./script/install.sh
モデルのダウンロード
mkdir ckpt
bash script/download_ckpt.sh
プログラムの実行
サンプルとして入っているcar.mp4を使い、cars でセグメント&追跡をします
python3 demo.py car.mp4 --prompt cars
ビルド済のイメージを使う場合は、こちらを続いて行ってみてください。
exit
docker compose -f docker-compose.prebuild.yml up -d
docker compose -f docker-compose.prebuild.yml exec segment-and-track-anything /bin/bash
python3 demo.py car.mp4 --prompt cars
保存されるデータ
assets/cars_pos/<frame-no>.json
# 各フレームでの検出したオブジェクトのIDと中心位置
assets/cars_masks/<frame-no>.png
# 各フレームでのマスク画像
assets/cars_seg.mp4
# マスク結果を描画した動画