Lightroom Classic でのAI画像管理 Stable Diffusion
100万枚超のAI画像を管理したい方へ
EagleはAI画像管理に便利ですが大量の画像を整理するにはライブラリを切り替える必要があります。切り替えが手間なので自分はLightroom Classic も使っています。
Lightroom Classic でのAI画像管理
exiftoolを使用してメタデータの書き込み
exiftoolをダウンロード
注意: 実行する前に必ずファイルをバックアップしてください。
exiftoolを解凍したフォルダで ターミナルで開く (windows)
次の一文のコマンドを実行することでメタデータを更新します。
exiftool "-DateTimeDigitized<filemodifydate" "-Description<Parameters" -overwrite_original_in_place "画像のファイルパス"
"-DateTimeDigitized<filemodifydate"
Lightroom Classicで日付で並び替える際に使用
"-Description<Parameters"
pngのParametersの内容をDescription(説明)にコピー
-overwrite_original_in_place
ファイルを上書きする
他にも -r オプションを指定することで再帰的に処理することも可能です。
おまけ: PNGファイルを調べたい方へ
読み込み
基本的な使い方はLightroom Classicのチュートリアル等を調べてください。
Lightroom Classicには重複を除外する機能がありますが大量のファイルが含まれているディレクトリを一気に読み込もうとすると長時間かかる場合やフリーズすることがあります。
事前にすべてが新規のファイルだとわかっている場合はwindowsのsubstコマンドで仮想ドライブを作りそのドライブを読み取ることでディレクトリ構造を維持したまま高速で読み取れます。
例えば画像を日付でフォルダ分けするのではなくプロンプトで分けている場合は大量の重複ファイル判定が発生する可能性が高いです。
その場合 Lightroom Classicで管理する画像専用のフォルダを用意しておき
読み込み終わったらそのフォルダに移動するなどの方法が良いと思います。
Dドライブ stablediffusion\output\files
E ドライブ Lightroom\stablediffusion\files
読み込み時は subst P: D:\stablediffusion\output\files
読み込みが完了したら subst P: /d で仮想ドライブを切断
Dドライブの中身を robocopyやfastcopy などでEドライブに移動やコピー
閲覧時は subst P:\Lightroom\stablediffusion\files
Lightroom Classicは常にPドライブを見ることになります。
自動読み込み
自動読み込みにも対応していますがお勧めしません。
説明欄はメタデータを更新するタイミングで上書きされるので
レーティング(星)とキーワード(tag)が主な編集場所ですがexiftoolを使用する前に
Lightroom Classic側でメタデータを保存しておかないと消えてしまいます。
生成が停止している状態で自動読み込みのフォルダをexiftoolで指定してメタデータを書き込んだ後にLightroom Classicからの操作で "ファイルからメタデータを読み込む"を選択すれば読み込まれると思います。
注意:Lightroom Classic側でメタデータを書き換えた際にPNGinfoが消えるかもしれません。必ずバックアップをとり、試してから使用してください
スマートコレクション
キーワードも3単語程度なら素早く検索できます。
モデルをスマートコレクションにする場合はモデル名とハッシュ値がおすすめです。
スタック
Eagleのロードマップからいつの間にか消えていた機能
同一プロンプトやcannyなどで連続生成した画像をまとめるのに便利
最後に
私はsd 1.5の時点で満足いく画像が生成されるようになったのでそこからあまり進歩していませんが
すでに書きたいものが明確に決まっている人は自分で書いたほうが早いと思います。
私は偶然生成された刺さる画像を求めて生成を続けています。
(すでに未確認の画像が10万枚ほどたまっています..)
普段使わなくなった2060 3060 4070tiを msi afterburnerで低電圧化して
24時間生成しています。
StableDiffusionの画像管理ソフト EagleとLightroom Classic
画像生成aiで遊び始めて1年半ほどが過ぎ生成枚数が300万枚に近づく今日。
Eagleで管理できる画像枚数に限界があることを思い出しました。
昔(2020年6月)にEagleを使い始めたとき全ての写真などをEagleにまとめようとして
500万超のファイルをEagleに移行を試みた際に失敗して断念。
公式には25万ファイルと書いてありますが、実際には200万ファイル程なら問題なく動いていたと思います。
ライブラリに保存される素材のサイズは、ソフトウェアの性能に影響を与えますか? - ヘルプセンター | Eagle
失敗した原因としてはwindowsでは AppDataフォルダ下にlibrary-cachesが作成されますがキャッシュをクリアして再読み込みなどの際に4g以上のメモリを使用するとクラッシュするようです。(Electronの仕様のようですが詳しくは分かりません)
先日サポートに問い合わせましたが、ライブラリを分割してくださいとのことだったので大量のファイルはまだ厳しいようです。
Lightroom Classicへの移行
ライブラリを分割して管理することのできる方や不要なファイルを削除している方には必要ないと思います。
私は全ての生成ファイルを保持しておきたくライブラリを分けずに一覧で閲覧したかったためLightroom Classicを使っています。
普段から写真をLightroom Classicで整理していたのも理由の1つです。
Lightroom Classicのメリット
- 大量の画像管理(カタログファイルは肥大(50gb)しますが1000万枚も可能)
- レタッチ(仮想コピーやプリセットでの一括処理が便利)
- スタック機能(eagleもロードマップにあったはずだがいつの間にか消えていた)
- psdファイルの作成と管理(最近のバージョンで複数ファイルをスマートオフジェクトファイルとして開けるようになった)
Lightroom Classicのデメリット
- 有料 (フォトプランなら電気代より安い)
- 検索が貧弱,低速(大量のプロンプトや文章をスマートフォルダーで検索するのは実用的ではない)
- 手間(PNG Parametersに対応していないのでメタデータの書き込みが必要)
- ドラッグアンドドロップでpinginfoに送れない(macは可能だがwindowsは不可 adobeは対応する気がないらしい)
実践する方へ
まずは少ないファイルで試すことをお勧めします。
レーティングや3単語程であれば検索も問題ないですが文章のプロンプトなど長文の検索は非常に時間がかかります。
コレクション機能を使い自分で整理することもできますがEagleの検索速度に慣れている場合は遅く感じると思います。
Lightroom Classicの詳しい説明は次の記事にします。