日本語で画像を生成できる新技術「JSDXL」とは?和風画像を生成してみよう!
この記事では、StabilityAI社が新たにリリースした「JSDXL」の概要、使い方、実際に生成できる画像を公式リリースに基づいて解説していきます。
公式リリース
2023年11月17日11時、StabilityAI社から「Japanese Stable Diffusion XL」(以下JSDXL)がリリースされました。
🚀 新リリース 🚀
「Japanese Stable Diffusion XL (JSDXL)」が登場!
✨ 日本特化の商用利用可能なtext-to-imageモデル ✨
🌸 JSDXLは、日本語のプロンプトを英訳したものとは異なり、日本語そのままの理解と日本独自の文化を反映した高品質な画像生成を実現しました。
公式リリースはこちら
昨年8月に世界を一変させた画像生成AI「Stable Diffusion」をオープンモデルでリリースしたStabilityAI社は日本に拠点があり、日本でも特色ある開発を行っています。11月には数多くの日本語モデルがリリースされました。
今回リリースされた『JSDXL』はどのような特徴を持っているのでしょうか。単なる翻訳とは異なるのでしょうか。公式リリースを読み解いてみましょう。
つまり、日本語を英語に翻訳して画像を生成するのではなく、日本語を学習することで日本特有のものを生成可能にしている、ということですね。
StabilityAI日本の代表・Jerry Chiさんのツイート
JSDXLの使い方
それでは、実際にJSDXLを使って画像を生成してみましょう。
今回のこの記事では、JSDXLを使う方法を3つ紹介します。
(方法1) HuggingFace公式の「Spaces」を使う(最も簡単)
様々な機械学習モデルが公開されているSNS「HuggingFace」の「Spaces」にてJSDXLが利用できるようになっています。
HuggingFaceの中の人のアカウントで、日本語を歓迎する発言が発信されています。
Spacesでの運用は有料なので、どこかで費用を負担してくれている方がいらっしゃいます。ありがたいことです。
(方法2) Google Colab Pro を使う(中上級者向け)
上記の公開Spacesが使えない時、Google Colab Proのアカウントがある人は、自分でGradioのUIを立ち上げて利用できます。
まずは HuggingFace上で公開されているJSDXLのライセンスを確認します。
このモデルは商用利用可能ですが、利用規約を読み、名前、在住国と所属、メールアドレス等を入力する必要があります。
(これを行わないと、次のステップでモデルをダウンロードできません)
利用規約
> By downloading, using, or distributing any portion or element of this model, you agree to be bound by the agreement described in the LICENSE file.
(意訳)このモデルのいかなる部分または要素をダウンロード、使用、または配布することにより、あなたはライセンスファイルに記載されている契約に拘束されることに同意するものとします。
実際のライセンスファイルはこちらにあり、合意後に読むことができます。
https://huggingface.co/stabilityai/japanese-stable-diffusion-xl/blob/main/LICENSE
続いてこちらのURLでGoogle Colabによるサンプルコードが共有されていますので、自分のアカウントで実行します。
GPUを必要としますので、Colab ProのアカウントでGPUインスタンスを選んで実行してください。
最後の段階まで進むと、GradioのURLが生成されますのでそちらから利用できます。
(方法3) StabilityAI 社が提供しているテスト用Gradio環境を使用する(初心者向け・期間限定)
初心者は 「Stable Community Japan」のDiscord で質問しながら、お試し環境で遊んでみることができます。
discord招待リンク
こちらのリンクで テスト用のWebサイト(Gradio)にアクセスできます
https://____.gradio.live/
というURLが期間限定で無料で試せるように公開されていますので、試してみてください。
今回は、②の方法で画像を生成していきます。
実際に生成してみよう
では、実際にプロンプトを入力して画像を生成してみましょう。
各パラメーター、枠に数値やプロンプトを指定し、『Run』を押すだけで生成することができます。
prompt ここに生成したいものを記述します。
cfg_scale 画像がプロンプトに従う程度を指定します。デフォルトの7.5で問題ありません。
steps 画像からノイズを除去するステップ数を指定します。こちらもデフォルトの40で問題ありません。
width,height 生成する画像の縦横の大きさを指定します。
n_samples 一度に生成する画像の数を指定します。
seed (integer or 'random') 画像を生成する乱数です。最初は「random」にしておきましょう。値を固定することで、同じ条件でプロンプトや他の数値の比較ができます。
negative prompt 生成したくないものを記述します。
※実際に試してみた印象ですが、cfg_scaleもNPも絶対ではなく、だいたい1/3(10回中3回)といった印象です。気長にたくさん生成してみることをおすすめします。
美味しい和食の生成
それでは、さっそく日本独自の文化を生成してみましょう。
「幕の内弁当、使い捨て弁当箱」
プロンプト「日本、板前、寿司職人」
ネガティブプロンプト「無人」
しっかり日本文化が再現されています!
これは個人的な感覚ですが、「寿司職人」など「モノ+人」の単語を指定すると、「モノ」の方が強く出てしまいがちです。人物が出力されない場合、ネガティブプロンプトに「無人」と記述すると上手くいくことが多いです。
掛け軸の生成
また、縦横比を工夫することで、掛け軸や巻物が良い感じに生成されました。
「掛け軸」「水墨画」「松竹梅」「鯉」などが良いキーワードになりそうです。
年賀状の生成に便利
弊社CEO白井が以前リリースした記事にて、「年賀状」というキーワードを使って年賀状を生成したのですが、JSDXLでも試してみたところ、雰囲気を掴んだ画像が生成されました。
他にも、「屏風絵」「渋谷」「原宿」なども効果的なようです。
ぜひ試してみてください!