タグ: JSDXL

  • 日本語で画像を生成できる新技術「JSDXL」とは?和風画像を生成してみよう!

    日本語で画像を生成できる新技術「JSDXL」とは?和風画像を生成してみよう!

    この記事では、StabilityAI社が新たにリリースした「JSDXL」の概要、使い方、実際に生成できる画像を公式リリースに基づいて解説していきます。

    公式リリース

    2023年11月17日11時、StabilityAI社から「Japanese Stable Diffusion XL」(以下JSDXL)がリリースされました。

    🚀 新リリース 🚀
    「Japanese Stable Diffusion XL (JSDXL)」が登場!
    ✨ 日本特化の商用利用可能なtext-to-imageモデル ✨

    🌸 JSDXLは、日本語のプロンプトを英訳したものとは異なり、日本語そのままの理解と日本独自の文化を反映した高品質な画像生成を実現しました。

    公式リリースはこちら

    https://ja.stability.ai/blog/japanese-stable-diffusion-xl

    昨年8月に世界を一変させた画像生成AI「Stable Diffusion」をオープンモデルでリリースしたStabilityAI社は日本に拠点があり、日本でも特色ある開発を行っています。11月には数多くの日本語モデルがリリースされました。

    今回リリースされた『JSDXL』はどのような特徴を持っているのでしょうか。単なる翻訳とは異なるのでしょうか。公式リリースを読み解いてみましょう。

    「Japanese Stable Diffusion XL(JSDXL)」は、最新の英語版 text-to-image モデルSDXLに対して、日本語入力はもちろん、日本の文化やものが理解・反映された画像生成に特化させた日本向け text-to-image モデルです。
    昨今、SDXL を含む強力な text-to-image モデルが公開されております。これらと翻訳ツールを組み合わせることで日本語入力は可能ですが、日本特有の表現の認識が難しい点や開発コストがかかる点、モデルが認識できるテキスト最大文字数の制限などの課題があります。また、英語プロンプトをそのまま「呪文」として扱い画像生成することも可能ですが、大規模に学習されたモデルは西洋系の画像生成が得意であり日本スタイルの画像生成がまだまだ物足りないのが現実です。
    「JSDXL」は、Stable Diffusion の中で最高性能である SDXL の汎用性と高解像度の画像生成能力をできる限り維持したまま、以下の点を可能にした日本特化モデルです。
    ・日本語をモデルが直接扱うことができ、日本語特有の表現を認識可能
    ・日本の広範囲な文化やアート、伝統的なものから現代的なものまで含め、それらを反映した高解像度で質の高い画像を作成することが可能
    ・また、SDXL にはテキストエンコーダーが2つありますが、「JSDXL」には1つのみであるため、SDXL と比べ、より効率的な推論が可能になります。

    ■公式リリースより引用

    つまり、日本語を英語に翻訳して画像を生成するのではなく、日本語を学習することで日本特有のものを生成可能にしている、ということですね。

    StabilityAI日本の代表・Jerry Chiさんのツイート

    JSDXLの使い方

    それでは、実際にJSDXLを使って画像を生成してみましょう。
    今回のこの記事では、JSDXLを使う方法を3つ紹介します。

    (方法1) HuggingFace公式の「Spaces」を使う(最も簡単)

    様々な機械学習モデルが公開されているSNS「HuggingFace」の「Spaces」にてJSDXLが利用できるようになっています。

    https://huggingface.co/spaces/stabilityai/japanese-stable-diffusion-xl

    HuggingFaceの中の人のアカウントで、日本語を歓迎する発言が発信されています。

    Spacesでの運用は有料なので、どこかで費用を負担してくれている方がいらっしゃいます。ありがたいことです。

    (方法2) Google Colab Pro を使う(中上級者向け)

    上記の公開Spacesが使えない時、Google Colab Proのアカウントがある人は、自分でGradioのUIを立ち上げて利用できます。

    まずは HuggingFace上で公開されているJSDXLのライセンスを確認します。

    https://huggingface.co/stabilityai/japanese-stable-diffusion-xl

    このモデルは商用利用可能ですが、利用規約を読み、名前、在住国と所属、メールアドレス等を入力する必要があります。
    (これを行わないと、次のステップでモデルをダウンロードできません)

    利用規約
    > 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によるサンプルコードが共有されていますので、自分のアカウントで実行します。

    https://colab.research.google.com/github/Stability-AI/model-demo-notebooks/blob/main/japanese_stable_diffusion_xl.ipynb

    GPUを必要としますので、Colab ProのアカウントでGPUインスタンスを選んで実行してください。

    最後の段階まで進むと、GradioのURLが生成されますのでそちらから利用できます。

    Google ColabのV100でGradioを使った例

    (方法3) StabilityAI 社が提供しているテスト用Gradio環境を使用する(初心者向け・期間限定)

    https://discord.gg/stablejp

    初心者は 「Stable Community Japan」のDiscord で質問しながら、お試し環境で遊んでみることができます。
    discord招待リンク

    こちらのリンクで テスト用のWebサイト(Gradio)にアクセスできます

    https://discord.com/channels/1062784909191680120/1088440176398831729/1175022582655893535

    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でも試してみたところ、雰囲気を掴んだ画像が生成されました。

    https://forest.watch.impress.co.jp/docs/serial/aistream/1537430.html

    プロンプト「年賀状」

    他にも、「屏風絵」「渋谷」「原宿」なども効果的なようです。
    ぜひ試してみてください!

    Originally published at https://note.com on November 22, 2023.