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?

label studioでvideo annotationで、export to yoloができない話

Last updated at Posted at 2024-05-05

label studio

LabelImgが開発終了し、label studioを使えとあったので、、、( https://github.com/HumanSignal/labelImg )
label-studioをinstalしてvideo annotationする話です

install

brew tap humansignal/tap
brew install humansignal/tap/label-studio
brew install label-studio-converter

label-studio-converterは、optionalですが.

多分全員がやらないといけない設定: 環境変数の設定

label-studio

なぜか、立ち上げると、accountを作成みたいにしなければいけません。local hostなのに。。。

で、いきなり使おうとしたいところですが、罠があります。起動できるけれど、local fileをdrag&dropしても、使えないんです。。。(.mp4でで試しました)

local fileを使うときに、毎回、local fileをsourceとして登録しないとだめみたいなんです。なんじゃそれ。(後述)

で、local fileを使う場合は以下の環境変数の設定が必要です。

.zprofile
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/User/xxxx/dataset

のように、local file sourceで利用するためのパスとフラグを環境変数を設定もしておく必要があります。。。。。。
(設定してからlabel-studioを立ち上げましょう)

起動

注意!:上の環境変数を設定しておくこと!

label-studio

でbrowserがたちあがるはず

Create Project

で、その上で、create projectをするのですが、ここでも注意が必要です。

Videoを使うときは、

image.png

のように、Labelling Setupで、Videos以下を使わないと、.mp4のvideo timelineが出てきません!(面倒・・・)

ComputerVision以下でやっても、.mp4では、アクセスできないとかのエラーで使えないのです。でも、アクセスできないじゃなくて、このLabelling SetupでVideoを選ばないと使えないんです。

で、 https://labelstud.io/videos/label-studio-video-annotation-feature-overview/のtutorial でも、ここふれられずにさらっとすぎていくのです(笑)

Projectの設定: さらなる設定 (これがlocal fileの追加)

image.png

Projectを開いたときに、Settingsがあり、そこの「Cloud Storage」でlocal sourceの追加という感じです。

  1. Add source storageをクリックします (in Project/Settings/Cloud Storage)
  2. 一番上のawsとかの部分のコンボボックスの中にlocal fileを選択
  3. pathは、 LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT よりも1階層下にしないといけない (例: ...dataset/hoge)
  4. .*mp4のようなregexpを追加して、認識したいファイルを登録
  5. Check connectionでsuccessになることを確認しましょう。

なお、Add後、その下に、sourceが出ていると思いますので、"Sync"を押してみてください。
その後、projectに戻ると、認識したファイルが出てくると思います。

Video annotation

これ、動画のframe毎にannotation (label付け)していけるんですが、やりかたも少し独特で、

(labelに番号が振られているので、その番号のキーを押します。ここでは1)
1キーを押して、そのlabelがactiveになっている(box -> boxfillになる)のを確認後、video状のobjectにrect指定します。

で、frameを">"で1 frameずらしてから (video上でRectはactiveのままで、inactiveにしないこと)、再生をして、そのobjectが消える直前のframeまでにします。

image.png

で、◆-みたいになっているアイコン (上で左から2番目)を押すと、そこまでinterpolateしてobjectの動きを補完してくれます。

そして、この動作をしないと、最初のframeからそのframeまで、そのobjectがいる、ということをtimeline上で示すことができません。

消えたframe上でrectをdelすると、そのobject自体が消えてしまうので注意!!!!

もう一度同じobjectの開始位置から再生して、annotationしたobjectの移動とRectのずれがあれば、ずらすと、適宜interpolateを調整してくれます。

Export

Projectのところで、annotateしたvideoをチェックして、exportボタンを押すと、

image.png

このように、exportできません。

なんと、2022年に、issueでrequestされているのに、放置なんです。。。

見かねた人が

のように変換scriptを作っています。。。。

なんで、一番メジャーなユースケースの、exportをサポートしていないのかわかりませんが、、、そういう感じです。

特に、個別のmodelが出ていないんだったら、わかるんですが・・・・出ているのにグレーって、皆同じissueあげることになります。。。

ここまでの感想

label-studioはちょっと癖があります。video annotationのeditorは、これこれ、これがほしかったという感じなのですが、あと今一歩でした。特に、.jpgなどへの変換exportは、video annotationがあるのであれば、標準で用意してくれるとうれしいですね・・・

slackで問い合わせたら、github見ろ。自分でscriptで変換しろ、と言う感じなのでしたが、より発展して皆が使いやすいツールに育つのを期待です・・・

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?