SapianF - Nude Men & Women for Flux (Now De-Distilled!)
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
男性と女性の裸を同時に生成可能!初のFluxモデル!
KohyaのSD3-Scripts の SD3 ブランチを用いて、ローカルで 3090 上で学習!
Ponyなどのモデルと比べればまだプロトタイプ段階ですが、設計された目的を(多くの場合)十分に達成しています!
V2.5 更新
このバージョンは、Flux De-Distill と Flux Dev2Pro の学習結果をマージしたもので、両モデルともFlux Devからディスティレーションを除去することを目的としています。マージ比率は Dev2Pro:De-Distill = 0.7:0.3 です。データセットはv2と変更していないため、v3ではなくv2.5としました。
その結果、画像品質が大幅に向上し、プロンプトの忠実度も全体的に向上しましたが、生成時間が長くなるという代償があります。例示した画像は、DynamicThresholdingFull Node の改良版を使用して、より精密なThreshold Percentile値を適用して生成しています。これは、dynthres_comfyui.py の11行目の step に0を1つ追加することで実現できます。
初期のQ8 GGUF版はFP16版とほぼ区別できない品質を実現しており、ほとんどのハードウェアで動作します。ComfyUI GGUFカスタムノードが必要です。FP16版は今週末にアップロード予定です。FP8版は需要次第でアップロードされる可能性があります。
注意点:
デフォルトのFluxガイドランス3.5とCFG 1でも動作はしますが、Flux Guidanceノードを完全に削除し、CFGを1以上に設定することを強く推奨します。
以前のバージョンと比べて画像生成に2〜3倍の時間がかかりますが、品質の大幅な向上によりこの時間は価値があると私は考えます。
ステップ数は40〜60の範囲での使用を推奨します。
v2と同じデータセットを使用しているため、以下の問題が引き継がれています:
女性の性器が十分に学習されていないように見えます。
NSFWポーズは一切含まれていません。
除外を指定しても陰毛や体毛が頻繁に生成されます。
包皮有無の区別が依然として困難です。
複雑なプロンプトや複数の男性キャラクターを含む画像生成時に、陰茎の勃起/弛緩状態の解釈が不正確な場合があります。これらの問題はv3で改善されることを期待しています。
V2 更新
プロンプト忠実度と解剖学的精度の向上!
このバージョンは、元のSapianFモデルに、データセットを3倍に拡大し、より積極的なマスクとプロンプティング、さらに低い学習率(22e-6 と 25e-6)で学習させたものです。その結果、勃起 vs 弛緩、濃い陰毛 vs 剃った陰毛といった概念への理解が深まり、特に男性キャラクターの性器解剖学的精度が全体的に向上しました!
男性用データセットは175枚、女性用は75枚となり、ポーズ・角度・概念の多様性が大幅に増加しています。
画像のマスク処理はより厳密に行い、非マスク領域の値を低く設定することで、モデルが性器部分に特化して学習するよう強制しました。新しい画像のキャプションも、対象に特化した内容に集中させています。
また、学習率を下げることで、モデルがより長時間トレーニングされ、前述の概念をより深く学習できるようにしました。
モデルは6エポック学習させ、そのうちエポック4が最も安定した結果を出しました。このモデルのブロックは、元のモデルと手動でマージされ、一貫性を保ちつつ、新たに学習された概念を移行することを目的としています。
注意点:
全体的に大きな改善ですが、まだ完璧ではありません。プロンプトやシードによっては依然として望ましくない結果が出ることがありますが、その頻度は大幅に低下しています。
- この問題を完全に解消するには、さらに低い学習率、より長い学習時間、さらに大きなデータセット、そしてトレーニング時のバッチサイズの増加が必要ですが、現時点では私のハードウェアでは実現が難しいです。
本モデルは、zer0int1が数日前に公開した改善版CLIP-Lモデル と LongCLIPモデル と一緒に使用することを推奨します。LongCLIP用のComfyUIノードはこちらで入手できます。
について
現在、男性と女性の裸を生成可能なFluxチェックポイントは多数存在しますが、1つの重大な制約があります…
これらのモデルは、どちらか一方の性別だけのデータで学習されています。つまり、男性の裸で学習されたモデルに女性の裸を生成させようとすると、無意識のうちに男性の性器が付加されます。逆に、女性の裸で学習されたモデルで男性の裸を生成しようとすると、女性の性器が付加されてしまいます。
そこで私は、単純なタスクだと考えたことから始めました:男性と女性の裸の両方を生成できるLoRAまたはチェックポイントを訓練する。
LoRA訓練は一貫して不十分な結果を出していたため、すぐに見送りました。しかし、フルチェックポイント訓練を試したところ、明らかに優れた結果が得られました!
学習/データセット
データセットは、男性の裸画像45枚、女性の裸画像30枚、男女両方の裸が一緒に写った(品よく)画像15枚、および私の正則化ワークフローで生成した50枚の正則化画像から構成されています。主な画像は正面・横顔で、さまざまな角度からの立ち姿・座り姿が中心でした。データセットはマルチレゾリューション学習のために1024、768、512にリサイズされました。マスク学習では、性器部分に手動で白いマスクを描き、マスク領域の残りを30%に設定しました。
正則化画像以外の画像の60%はJoy Captionを用いてキャプション化し、必要に応じて修正しました。残りの40%は自然言語による手動キャプションを施しました。
私のテストでは、女性の解剖学的特徴は男性のそれよりもはるかに速く学習されることが確認されたため、男性と男女混合の画像の繰り返し回数は、女性および正則化画像の2倍に設定しました。
学習率は25e-6、合計約7,500ステップで学習しました。3090で10時間かかりました! 学習は通常のDevモデルと、学習前に女性向けNSFW LoRAを適用したDevモデルの両方で実施し、その後ComfyUI上でマージしました。
考慮事項
前述の通り、これはまだプロトタイプ段階です。FluxでのNSFW学習は非常に困難であり、限られたデータセットのため、シード検索が必要になる場合があります。
現在のモデルは、陰毛、勃起/弛緩、包皮有無といったサブ概念についてごく基本的な理解しか持っておらず、結果はしばしば不確実です。ガイドランス設定やシードの変更によって、これらのサブ概念を強制的に実現することは可能ですが、より集中した学習が必要になるでしょう。
特定の性別の画像のみを生成したい場合は、その性別専用で学習されたモデルの方が通常、より高品質な結果を出します。



