2026年10月へ

ComfyUIとOllamaの組み合わせの可能性

公開日:

開発

AI自動要約

ComfyUIのワークフローは難解なため、Codexを使ったJSON生成と画像評価による改善手法を試行。さらにOllamaに評価を置き換えたプログラムを作成し、効率化を実現。画像の生成と評価を繰り返しながらワークフローを改善し、AIの判断も参考にしつつ最終的な人間のチェックが必要と結論づけている。

  • ComfyUI
  • Ollama
  • 生成AI
  • Codex
  • ワークフロー

ComfyUI のワークフローは難しい。

そのため,CodexでJSONをつくることは前回書いた。
期待する画像を生成することはなかなか難しい。

じゃあ,生成した画像を生成AIに判断させるのはいかが,
ということで,ComfyUIで生成された画像をCodexでジャッジして,
再度ワークフローを改善するという処理を入れた。
これにより,かなりワークフローは改善された。

そうすると,このCodexによる画像評価とワークフロー・プロンプト改善を,
Ollamaに置き換えることもできるのではないか。
ということで,Ollamaで画像をジャッジし,
改善を繰り返すようにするプログラムを(Codexで)つくった。
PythonのGUI画面をあわせて作ったので,かなり分かりやすい。
結果,ワークフローの改善がかなり効率化されたように感じる。

「単純な画像の生成なら,ComfyUIを使う必要はない。ChatGPTで生成したので十分」

そのとおりである。しかし,それだと「面白くない」のも一方である。
何ができるのか,AI越しにでも知っておきたい。

実行例

成人男性が3人描かれている
1人は少年,もう1人は中年,もう1人は老人である
全身と両足が画面内に収まっている
髪は黒または茶色、長さは自由
服装は冬服とし自由。
陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
背景は単純な暖灰色で緑色ではない

試行1

不一致: 成人男性が3人描かれている
1girl, adult woman, soloと記述されており、実際にも女性1人のみである

不一致: 1人は少年,もう1人は中年,もう1人は老人である
人物が1人のため、年齢構成が成立していない

一致: 全身と両足が画面内に収まっている
足先まで完全にフレーム内に収まっている

一致: 髪は黒または茶色、長さは自由
auburn hair (赤茶色) が描かれている

一致: 服装は冬服とし自由。
ジャケットとブーツを着用しており冬服として妥当

一致: 陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
衣服のベースカラーは緑・クリーム・茶であり、灰色ではない。ハイライトは明度が高い白系で処理されている

不一致: 背景は単純な暖灰色で緑色ではない
背景に緑色の色相が含まれており、暖灰色とは言い難い

不確実性: 手はポケットに入っており不可視であるため、状態はunknownである。

1回目の試行に関しては,明らかに「別の」プロンプトが入っている。
ComfyUIのモデルの初期値だろうか。

試行2

不一致: 成人男性が3人描かれている
画面内には2人の人物しか存在しない

不一致: 1人は少年,もう1人は中年,もう1人は老人である
少年と青年/中年の2人のみで、老人が描かれていない

一致: 全身と両足が画面内に収まっている
2人とも足先まで完全にフレーム内に収まっている

一致: 髪は黒または茶色、長さは自由
2人とも茶系の髪色である

一致: 服装は冬服とし自由。
厚手のコートを着用しており冬服として妥当

一致: 陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
ズボンとインナーが灰色である。ハイライトは白系で描かれており、ベースの灰色とは明度差で区別可能である

一致: 背景は単純な暖灰色で緑色ではない
均一な暖灰色であり、緑色の混入は見られない

不確実性: 大人の男性の手はポケットに入っており不可視であるため、状態はunknownである。

試行3

不一致: 成人男性が3人描かれている
完成された人物は2名。1名は線画(スケッチ)状態であり、実質的に3人の構成として成立していない。

不一致: 1人は少年,もう1人は中年,もう1人は老人である
少年と中年の描き分けはできているが、老人が線画状態であり、完成したキャラクターとして存在していない。

一致: 全身と両足が画面内に収まっている
3人(線画含む)とも足先まで画面内に収まっている。

一致: 髪は黒または茶色、長さは自由
少年と中年の髪は茶色である。老人の髪は白/灰色だが、基準の「黒または茶色」は少年・中年に適用され、老人は年齢相応と判断できる。

一致: 服装は冬服とし自由。
厚手のダウンジャケット等を着用しており、冬服として妥当である。

一致: 陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
中年のパンツと少年のインナーが灰色。ハイライトはほぼ白 (#FFFFFFに近い) であり、ベースの灰色 (#808080付近) とは明度で区別されている。

一致: 背景は単純な暖灰色で緑色ではない
均一な暖灰色であり、緑色の混入は見られない。

不確実性: 3人とも手がポケットに入っているか、線画状態であるため、指の数や形状はunknownである。

試行4

不一致: 成人男性が3人描かれている
右側の人物が女性(長い髪、顔立ち)であり、男性3人となっていない。

不一致: 1人は少年,もう1人は中年,もう1人は老人である
少年と中年の描き分けはできているが、老人が不在で代わりに女性が描かれている。

一致: 全身と両足が画面内に収まっている
3人とも足先まで完全にフレーム内に収まっている。

一致: 髪は黒または茶色、長さは自由
全員が茶色系の髪色である。

一致: 服装は冬服とし自由。
全員が厚手のコートを着用しており、冬服として妥当である。

一致: 陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
右側のコートと中央のパンツが灰色。ハイライトは白に近い明度で描かれており、ベースの灰色とは明確に区別できる。

一致: 背景は単純な暖灰色で緑色ではない
均一な暖灰色であり、緑色の混入は見られない。

不確実性: 3人とも手がポケットに入っているか、衣服に隠れているため、手の状態はunknownである。

試行5

一致: 成人男性が3人描かれている
老人、中年、少年の3人の男性が描かれている。

一致: 1人は少年,もう1人は中年,もう1人は老人である
左に老人(白髪・しわ)、中央に中年、右に少年が明確に描き分けられている。

一致: 全身と両足が画面内に収まっている
3人とも靴の先まで完全にフレーム内に収まっている。

一致: 髪は黒または茶色、長さは自由
少年と中年の髪は茶色である。老人は白髪だが、年齢相応であり許容範囲内である。

一致: 服装は冬服とし自由。
厚手のコート、マフラー、ダウンジャケットを着用しており、冬服として妥当である。

一致: 陰影やハイライトは許容するが、灰色衣服との判断根拠を述べる
老人のパンツと少年のコートが灰色系である。ハイライトは白に近い明度で描かれており、ベースの灰色とは明度差で明確に区別されている。

一致: 背景は単純な暖灰色で緑色ではない
均一な暖灰色であり、緑色の混入は見られない。

不確実性: 3人とも手がポケットに入っているため、指の数や形状はunknownである。

実行後に見直すと,条件設定は,「少年」を入れた以上,「成人男性3人」としたのはマズかった。
また,ollamaによる画像評価も概ね良いと思うが,当然,完璧ではない。

AIの判断も(ローカルというのはあるかもしれないが)完璧でない以上,まだ人のジャッジは必要になるのだろう。

©Hiroshi Nagayama