見出し画像

Track-Anythingで動画のオブジェクトをトラッキングしよう(コード付き)

最近、Segment Anythingが出てきてから、画像から特定のターゲットをセグメント化するコードを多く見かけるようになってきています。

今回、紹介するのは、動画から特定の物体を選択し、セグメント化して動画をトラッキングするコードの紹介例となります。Google Colabで実行できます。

今回参考にさせて頂きましたサイトです。


まずは、Google ColabでGPUを選択します。

# Clone the repository:
!git clone https://github.com/gaomingqi/Track-Anything.git
%cd Track-Anything

# Install dependencies: 
!pip install -r requirements.txt


次に、/content/Track-Anythingにあるapp.pyの一番下の行のファイルを以下のように修正します。share=Trueを追加します。share=Trueを追加することによりPublicリンクが作成されます。


修正前:iface.launch(debug=True, enable_queue=True, server_port=args.port,, server_name="0.0.0.0")

修正後:
iface.launch(debug=True, enable_queue=True, server_port=args.port, share=True, server_name="0.0.0.0")


app.pyを修正しましたら、下記を実行します。

!python app.py --device cuda:0


実行すると、Running on public URL:と書かれたところにhttpsのURLが出てくるので、クリックします。


public URLをクリックする。


初期画面


では、これから動画内でオブジェクトを指定して、トラッキング作業を行っていきます。


まずは、動画を選択します。今回は用意されている動画を利用します。Examplesを選択します。


Examplesの一番左の動画を選びましたら、Get video Infoをクリックします。

下に追加で画面が出ますので、トラッキングするオブジェクトを選択しますと、選択したオブジェクトがセグメント化されます。


もう1個オブジェクトを選択してみます。


次に、右下のTrackingを選択しますと、トラッキング動画が作成されます。



使用した感じとしては、動画を自由にできたり、トレッキングするオブジェクトを複数選択することができたり、動画の途中からトレッキングすることが出来たりするので、利用用途は広い感じがします。


この記事が気に入ったらサポートをしてみませんか?