回心誌

日々是回心

dataset-tag-editor-standalone と wd-v1-4-moat-tagger-v2 の利用

LoRA生成について記事を書いた。
A1111、WD14、Kohsya sd-scriptsでLoRAを生成する。 - 回心誌

そこでも書いたが、LoRAの生成では、前準備として以下の作業が必要になる。

  • 素材集め
  • 画像ファイルのリネーム
  • タグ付け
  • キャプションファイルの編集

dataset-tag-editor-standalone

このうち、キャプションファイルの編集を楽にする方法として、UIベースのツールを使用することができる。
そういったツールの一つに、dataset-tag-editor-standaloneがある
GitHub - toshiaki1729/dataset-tag-editor-standalone: WebUI to edit dataset captions for txt2img models

導入方法は以下が参考になる。
キャプションってどうやって作るの?【SDXLでLoRA追加学習】 - YouTube

動画でも言及されているが、12/10時点(以下のコミットハッシュ)ではバグがあってロードできないらしい。
GitHub - toshiaki1729/dataset-tag-editor-standalone at f13a919fabb71516c679493a488913f6d0723ea4

requirements.txtに以下を追記すると修正して、再度インストールバッチを実行しなおすことで解消される。

fastapi==0.95.2

dataset-tag-editor-standaloneの使用感

うーん・・・まだ慣れてないというのもあるけど、なかなか使い慣れない。

タグ編集でやりたいことは以下の2点。

  1. キャラクター固有の属性(目の色や髪型)を除去する
  2. 衣装の表現を統一する

一応操作としては上記のことができるんだけど、手戻りが発生したときに同じ作業を繰り返すのが辛い。
バッチ編集の履歴を保存しておいて繰り返し適用したい。

画像を見ながらどういう画像にどんなタグが付いてるとか、
フィルタリングの機能で特定のタグにどんなタグが共起しているかを確認する際は便利。

バッチ編集については使用感としても使いづらく、自前で置換処理のスクリプトを作ったほうがよさそう。

wd-v1-4-moat-tagger-v2

デフォルト状態では、WD系のインテロゲーターとしては以下のものしか使えない

WD_TAGGER_NAMES = [
    "wd-v1-4-vit-tagger",
    "wd-v1-4-convnext-tagger",
    "wd-v1-4-vit-tagger-v2",
    "wd-v1-4-convnext-tagger-v2",
    "wd-v1-4-swinv2-tagger-v2",
]

このリストはdataset-tag-editor-standalone\scripts\dataset_tag_editor\dte_logic.pyの30行目以降に書かれているものだ。

ここに、wd-v1-4-moat-tagger-v2を追加する。
同時に、thresholdsのリストにも追記する。
# thresholdsの値は以下のValidation resultsの項目を参照
SmilingWolf/wd-v1-4-moat-tagger-v2 · Hugging Face

WD_TAGGER_NAMES = [
    "wd-v1-4-vit-tagger",
    "wd-v1-4-convnext-tagger",
    "wd-v1-4-vit-tagger-v2",
    "wd-v1-4-convnext-tagger-v2",
    "wd-v1-4-swinv2-tagger-v2",
    "wd-v1-4-moat-tagger-v2",
]
WD_TAGGER_THRESHOLDS = [
    0.35,
    0.35,
    0.3537,
    0.3685,
    0.3771,
    0.3771,
]  # v1: idk if it's okay  v2: P=R thresholds on each repo https://huggingface.co/SmilingWolf

dte_logic.pyを保存したら、launch_user.batを起動。

これで、wd-v1-4-moat-tagger-v2が使えるようになる。
ログを見ると、起動時に自動でダウンロードしてくれていることも確認できる。

Downloading model.onnx: 100%|███████████████████████████████████████████████████████| 326M/326M [00:06<00:00, 53.1MB/s]


余談だけど、SmilingWolfのTaggerについてはモデルのURLで取得するような動きになっているっぽい。
なので、「wd-v1-4-moat-tagger-v2」と正確に書けば勝手にDLしてくれる。
当然だけど、タイプミスがあると動作しないので注意。


実際動かしてみた。
これがwd-v1-4-moat-tagger-v2で440枚の画像セットにタグ付けしたもの上位5つ。

animal ears, 440
1girl, 428
red hair, 388
solo, 387
virtual youtuber, 359

847種、総タグ数13,305

以下はwd-v1-4-vit-tagger-v2で試したもの上位5つ。

animal ears, 439
1girl, 428
red hair, 418
solo, 386
looking at viewer, 351

844種、総タグ数14,340

明確には差は無さそうだけど、wd-v1-4-moat-tagger-v2のほうが使ってる語の種類は多いが総タグ数は少ない。
若干語彙が増えてるっぽい感じはある。