本記事では、rinna株式会社が提供する日本語版Stable Diffusionを用いて日本語のテキストから画像を生成する方法をご紹介します。
Stable Diffusion
概要
Stable Diffusionは、拡散モデルによる画像合成モデルです。
自然言語で入力されたテキスト(prompt)から画像を生成するText to
Imageタスクを実現します。
Latent Diffusionをベースとした本モデルは、非常に大規模なデータセットであるLAION-5Bを用いてトレーニングされています。
GoogleのImagenやOpenAIのGLIDE,
DALLE-2など最新の画像生成モデルは社会に与える影響が大きいことなどを理由に学習済みモデルの公開を控えるケースが目立っていましたが、
Stable
Diffusionでは、AIの平等な使用機会を与えることを目的に学習済みモデルの公開に踏み切っています。
なお、以下の記事では有償にはなりますが、Lattent
DiffusionやGLIDEの技術解説やデモを紹介しています。よろしければご参照ください。
技術解説までは、無料で参照可能です。
Latent Diffusion Modelsを用いてテキストから画像を生成するレシピ
GLIDEで様々な条件を指定したテキストから画像を生成するレシピ
過去に、日本語版CLIPを提供して話題となっていたrinna株式会社が、今回は、日本語版のStable
DiffusionをHugging Faceに公開しています。
本記事では日本語版Stable Diffusionを用いて、Text to ImageタスクをGoogle
Colaboratoryで実行していきます。
なお、画像とテキストから新たな画像を生成するImage to Imageタスク、特定の範囲の画像を修復するInpaintingタスクは以下をご参照ください。
[Stable Diffusion] AIでテキストと画像から新たな画像を生成する [img2img]
本記事では、機械学習手法Stable Diffusionを用いてテキストと画像から新たな画像を生成するimg2imgを実行する方法をご紹介しています。
[Stable Diffusion] AIでテキストに応じた画像修復 [inpainting]
本記事では、機械学習手法Stable Diffusionを用いて画像の特定の範囲をテキストに応じた画像に変更する画像修復を実行する方法をご紹介しています。
デモ(Colaboratory)
それでは、実際に動かしながらText to Imageタスクを実行していきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
初めにHuggingFaceのアカウントを作成します。
HuggingFaceにアクセスし画面右上のSignUpよりアカウントを作成します。
登録したメールアドレスに認証メールが届くのでメールに記載されたリンクにアクセスしてアカウント登録は完了です。
続いて、こちらのrinna/japanese-stable-diffusionにアクセスし記載の内容を確認の上承認します。
承認後、画面右上のアカウントのアイコンから[Settings]->[Access Tokens]に移動しNewTokenを発行し、メモしておきます。
以降の作業はGoogle Colaboratoryで行います。
それではGoogle Colaboratoryでセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
まずライブラリをインストールします。
最後にライブラリをインポートします。
以上で環境セットアップは完了です。
学習済みモデルのセットアップ
続いて、先ほど発行したアクセストークンを使用して、モデルをダウンロードします。
TextToImage
それでは、promptを設定し画像を生成していきます。
出力結果は以下の通りです。
その他の結果も見てみます。
「日本の伝統文化」
若干手が怖いことになっていますが、日本語のテキストから画像が生成されていることが確認できました。
まとめ
本記事では、日本語版Stable Diffusionを用いてText to
Imageを行う方法をご紹介しました。
かなり高精度なモデルのため悪用厳禁であることは言うまでもありません。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - High-Resolution Image Synthesis with Latent Diffusion Models
0 件のコメント :
コメントを投稿