「Midjourneyを無料で使えたらいいのに・・・」
「Midjourney v4をローカル環境で動かしてみたい」
このような場合には、Midjourney v4 Diffusionがオススメです。
この記事では、Midjourney v4 Diffusionについて解説しています。
本記事の内容
- Midjourney v4 Diffusionとは?
- Midjourney v4 Diffusionの利用方法
- Midjourney v4 Diffusionの動作検証
それでは、上記に沿って解説していきます。
Midjourney v4 Diffusionとは?
Midjourney v4 Diffusionとは、Stable Diffusionのモデルになります。
このモデルは、Midjourney v4のスタイルをDreamBoothで学習しています。
DreamBoothについては、次の記事をご覧ください。
つまり、Midjourney v4 Diffusionを使うと無料でMidjourneyを利用できるのです。
このことをモデルの作成者が、以下のようにツイートしています。
このモデル作成者は、もともと次のサイトの運営者です。
PromptHero – Search prompts for Stable Diffusion, DALL-E & Midjourney
https://prompthero.com/
サイトの主なサービスとしては、以下の画像生成AIのプロンプト検索になります。
- Stable Diffusion
- DALL-E
- Midjourney
サイトのドメインは、2022年8月末に登録されています。
おそらく、サービス公開も同じ時期だと思われます。
Twitterの利用開始時期が、8月となっています。
画像生成AIのブームに合わせたということでしょう。
サイトアクセス解析で調べた結果は、次のようになっています。
サイト公開からたった2カ月で24万のアクセスがあったようです。
完全に画像生成AIのブームに乗れていますね。
凄いとしか言いようがありません。。。
そんな勢いに乗っているサイトの運営が作成したのが、Midjourney v4 Diffusionになります。
もちろん、Midjourneyについては知り尽くしているでしょう。
また、Midjourney v4は2022年11月初旬(5日ぐらい?)にアルファテストで公開されたばかりです。
そして、Midjourney v4 Diffusionは2022年11月8日にHugging Faceで公開されました。
このスピード感が、エグイです。
ただ、これだけの短期間だとMidjourney v4 Diffusionの質を疑ってしまいます。
しかし、我々はPromptHeroの凄さを知っています。
だから、Midjourney v4 Diffusionには期待しましょう!
以上、Midjourney v4 Diffusionについて説明しました。
次は、Midjourney v4 Diffusionの利用方法を説明します。
Midjourney v4 Diffusionの利用方法
Stable Diffusionを動かせる環境が、必要です。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。
とりあえず、Stable Diffusion 1.5vが動くようになればOKです。
上記記事より、動作確認用のコードを抜粋。
from diffusers import StableDiffusionPipeline import torch MODEL_ID = "runwayml/stable-diffusion-v1-5" DEVICE = "cuda" YOUR_TOKEN = "コピーしたアクセストークン" pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, torch_dtype=torch.float16, revision="fp16", use_auth_token=YOUR_TOKEN) pipe = pipe.to(DEVICE) prompt = "a photo of an astronaut riding a horse on mars" image = pipe(prompt).images[0] image.save("astronaut_rides_horse.png")
このコードを次のように変更します。
from diffusers import StableDiffusionPipeline import torch MODEL_ID = "prompthero/midjourney-v4-diffusion" DEVICE = "cuda" pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, torch_dtype=torch.float16) pipe = pipe.to(DEVICE) prompt = "mdjrny-v4 style,a photo of an astronaut riding a horse on mars" image = pipe(prompt).images[0] image.save("astronaut_rides_horse.png")
元のコードに加えたポイントは、以下の3つ。
- モデル指定を「prompthero/midjourney-v4-diffusion」に変更する
- use_auth_tokenが不要になる
- 「mdjrny-v4 style」をプロンプトの先頭に追加する
変更後のコードを実行した結果、次のような画像が生成されます。
astronaut_rides_horse.png
こ、こ、これは・・・
プロンプトには、「8k, highly detailed, digital painting,」などがない状態です。
それでいて、このレベルの画像を生成できるのはホンモノかもしれません。
以上、Midjourney v4 Diffusionの利用方法を説明しました。
次は、Midjourney v4 Diffusionの動作検証を説明します。
Midjourney v4 Diffusionの動作検証
すでに動作検証は、馬に乗る宇宙飛行士で行っています。
ただ、それだけではMidjourney v4をあまり認識できません。
Midjourney v4は、人物を描く質がかなり向上したと言われています。
アルファテストの段階であるため、どこまで本当かわかりませんけどね。
そこで、まずは人物を綺麗に描けるかどうかの検証から行いましょう。
参考にしたプロンプトは、以下。
https://prompthero.com/prompt/697d4e397c4
実写感は、v3よりも増しているような気がします。
ただ、私はMidjourneyユーザーではないため正確なところはわかりません。
このレベルを素のStable Diffusionだけで表現するのは難しいでしょう。
それがMidjourney v4 Diffusionを使えば、あっさりと表現できてしまいます。
次は、Stable Diffusion 1.5vとMidjourney v4 Diffusionを比較します。
利用するプロンプトは、以下。
dog, wearing short robe, standing on a tree, concept, ultra realistic, dynamic lighting, intricate details, highly detailed, photorealistic, octane render, 8 k, unreal engine. art by artgerm and greg rutkowski and alphonse mucha, pixiv and James Jean
このプロンプトは、Prompt Extendを利用して自動作成したモノです。
上記プロンプトによって生成された画像は、以下に並べます。
SEEDを固定しているため、それぞれ構図は似ています。
Stable Diffusion 1.5v(ネガティブプロンプトなし)
Stable Diffusion 1.5v(ネガティブプロンプトあり)
Midjourney v4 Diffusion(ネガティブプロンプトなし)
Midjourney v4 Diffusion(ネガティブプロンプトあり)
まず、Stable Diffusion 1.5vではネガティブプロンプトが必須だということです。
逆に、Midjourney v4 Diffusionではネガティブプロンプトは必須とは言えません。
リアル感を出したいなら、ネガティブプロンプトは必要でしょう。
Midjourneyのファンタジー感を出したいなら、ネガティブプロンプトは不要となります。
以上、Midjourney v4 Diffusionの動作検証を説明しました。