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?

日本語でStable Diffusionを操作したい!Forge / ComfyUI向けフロントエンド「ForgeCompanion」を作ってみた

0
Posted at

はじめに

こんにちは。個人でAI画像生成関連のソフトウェアを開発しています。

普段Stable Diffusion系のローカル画像生成環境を使っているのですが、以前から少し気になっていたことがありました。

画像を生成するとき、

髪をもう少し長くしたい
服を黒っぽくしたい
もう少し夕方っぽい雰囲気にしたい
人物はそのままで背景だけ変えたい

という日本語としては簡単な指示でも、画像生成AIを操作しようとすると、タグやプロンプトに置き換える必要があります。

もちろん、プロンプトを書くこと自体を楽しんでいる方もたくさんいます。

一方で、

「画像を作りたいのであって、プロンプトを書くことを覚えたいわけではない」

という人もいるのではないかと思いました。

そこで、個人的に ForgeCompanion というWindows向けのローカルAI画像生成フロントエンドを開発しています。


ForgeCompanionとは

ForgeCompanionは、Stable Diffusion系のローカル画像生成環境を、日本語で会話するような感覚で操作するためのフロントエンドです。

現在は主に、

  • Stable Diffusion Forge
  • ComfyUI

などとの連携を想定しています。

例えば、

髪をもう少し長くして

と入力すると、内部のLLMがその意図を解釈して、画像生成側が扱えるタグや指示へ変換します。

同じように、

服を黒にして、背景を夕方の街にして

のような入力もできます。

イメージとしては、

ユーザー
  ↓
「髪をもう少し長くして」
  ↓
ForgeCompanion
  ↓
LLMによる意図解釈
  ↓
画像生成用のタグ・指示
  ↓
Forge / ComfyUI
  ↓
画像生成

という構成です。


なぜこんなものを作ったのか

Stable Diffusion系のローカル画像生成環境は、非常に自由度が高いです。

モデルを選べる。

LoRAを使える。

ControlNetを使える。

ComfyUIならノードを組み合わせて複雑な処理もできます。

一方で、その自由度の高さは、そのまま操作の難しさにもつながります。

特に初めて触った人からすると、

「この画像にしたい」

という目的は分かっていても、

「それをStable Diffusionが理解できる形にどう書けばいいの?」

という壁があります。

さらに、モデルによってタグの傾向が違ったり、同じ意味でも表現方法が変わったりします。

そこで、

「人間は人間の言葉で指示すればいいのでは?」

と考えました。


「プロンプト生成AI」とは少し違う

最初は自分でも、

「結局、LLMにプロンプトを書かせるだけでは?」

と思っていました。

確かに、それも一つの機能です。

ただ、実際に作っていくと、もう少し違うものになってきました。

例えばユーザーが、

髪を長くして

と言った場合、人間にとっては非常に曖昧な指示です。

「どのくらい?」

「現在の髪型は?」

「どの方向に長くする?」

など、画像の状態によって解釈が変わります。

つまり必要なのは単純な翻訳ではなく、

日本語
  ↓
ユーザーの意図
  ↓
現在の画像生成条件
  ↓
画像生成モデルが理解しやすい表現

という変換です。

この部分をどう設計するかが、現在の開発で面白いところです。


ローカルLLMを使う

ForgeCompanionでは、画像生成そのものだけでなく、日本語の指示を解釈する部分にもLLMを利用しています。

ここで個人的に重視しているのが「ローカルで動かせること」です。

画像生成をローカルで行っているのに、

画像生成 → ローカル
日本語解釈 → 外部API

となると、少しもったいないと感じました。

そこで、LLMによる指示解釈もローカル環境で行う方向で開発しています。

これには、

  • 外部APIへの依存を減らせる
  • API料金を気にせず試せる
  • 入力内容を外部サービスへ送らずに済む
  • ローカルAI環境との相性が良い

といったメリットがあります。

もちろん、その分PC側のスペックやモデルサイズなどの問題もあります。

このあたりも今後改善していきたいところです。


Forge / ComfyUIとの間に入る

ForgeCompanion自体が画像生成エンジンを置き換えるわけではありません。

むしろ、

既存のローカル画像生成環境を、そのまま使いやすくする

ことを狙っています。

イメージとしては、

                 ┌──────────────┐
                 │    Forge     │
                 │              │
                 └──────▲───────┘
                        │
                 ┌──────┴───────┐
                 │ForgeCompanion│
                 │              │
日本語 ─────────→│ LLM / 指示変換 │
                 │              │
                 └──────┬───────┘
                        │
                 ┌──────▼───────┐
                 │   ComfyUI    │
                 │              │
                 └──────────────┘

というイメージです。

既にForgeやComfyUIを使っている人にも、

「今までの環境を捨てずに、日本語で操作する入口を追加する」

という使い方をしてもらえればと思っています。


実際にどんな操作になるのか

例えば従来なら、

1girl, long hair, black dress,
standing, city street, sunset,
...

のようにプロンプトを編集していたところを、

髪をもう少し長くして、服を黒にして、背景を夕方の街にして

というように指示します。

もちろん、最終的にどんなタグ・指示へ変換されるかは、モデルや設定によって結果が変わります。

そのため、現在はこの**「日本語 → 画像生成用指示」変換の精度そのものを改善している段階**です。


まだまだ問題もある

ここが個人開発の面白いところでもあり、難しいところでもあります。

例えば、

「もうちょっと自然にして」

という指示。

人間同士なら前後の文脈から何となく分かります。

しかしAI画像生成では、

  • ポーズ?
  • 表情?
  • 色?
  • ライティング?
  • 背景?
  • 構図?
  • 画風?

のどれを変更したいのか分かりません。

また、

「髪を短くして」

という指示でも、現在の画像がロングヘアなのか、肩までなのか、ショートなのかによって必要な変更量は違います。

こうした自然言語特有の曖昧さをどう扱うかは、今後かなり掘り下げたい部分です。


UIもまだ発展途上

ForgeCompanionは個人開発なので、UIについてもまだ改善途中です。

特に、

  • どこまで自動化するか
  • どこからユーザーが編集できるようにするか
  • LLMが何を解釈したのかをどう見せるか
  • 生成用タグを直接編集する必要があるのか
  • Forge / ComfyUI側の設定をどこまで隠すか

などは、実際に使ってもらわないと分からない部分が多いと感じています。

個人的には、

「AIが勝手に全部やる」

というより、

「AIに面倒な部分を任せつつ、人間は結果を見ながら自然な言葉で修正していく」

くらいのバランスが良いのではないかと思っています。


現在、無料体験版を公開しています

現在、ForgeCompanionの無料体験版を公開しています。

Windows向けで、ローカル環境で画像生成を行うことを前提としています。

無料体験版では、実際に触って、

  • 日本語からの変換が自然か
  • UIが分かりやすいか
  • Forge / ComfyUIとの連携は使いやすいか
  • 指示した内容と違う変換にならないか
  • 「こういう機能が欲しい」というものがあるか

などを試してもらえると非常に助かります。

特に、

「ここが分からない」

「この操作めんどくさい」

「こういう指示をしたら変なタグになった」

みたいな容赦のないフィードバックを歓迎しています。

個人開発なので、むしろそういう情報の方がありがたいです。

無料体験版

ForgeCompanion 無料体験版(BOOTH)


まとめ

Stable Diffusion系のローカル画像生成環境は、非常に強力です。

ただ、その自由度の高さゆえに、

「画像を作りたい人」と「画像生成AIを操作するための知識」

の間に、まだ少し距離があるように感じています。

ForgeCompanionでは、その間に

日本語による自然な指示

というレイヤーを入れることで、その距離を縮められないか試しています。

まだ開発途中なので、これが最終的にどこまで使いやすくなるのか、自分でも楽しみながら開発しています。

もし興味があれば、ぜひ実際に触ってみてください。

ForgeCompanion 無料体験版


おわりに

個人開発なので、まだまだ改善するところがたくさんあります。

特に、

「日本語でこう言ったら、画像生成AIにはこう伝わってほしい」

という部分については、実際に使っている方の意見を聞きながら改善していきたいと思っています。

Forge / ComfyUIを使っている方、ローカル画像生成環境を触っている方からのフィードバックをお待ちしています。


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?