最新モデルの登場で非常に盛り上がりを見せている「Midjourney」

誰もがテキストをプロンプトとして入力するだけで、とても高品質な画像を生成できる為さまざまな分野での活用が見込まれています。
さて、プロンプトといえばテキストで入力するものばかりでは無いことはご存知でしたか?
今回はMidjourneyで画像そのものをプロンプトとして使う方法を解説していきます。
Midjourneyで画像からAI画像を生成できる機能
画像生成AIでは”テキストをプロンプトとして入力すると画像が生成される”というのは既にみなさんご承知の事だと思います。
その他画像の生成方法として、テキストの代わりに”画像そのものをプロンプトとして入力”して新たに画像を生成することも可能です。
具体的にはテキストでは表現しにくい全体の雰囲気や、構図、あるいは特定の作風に寄せたい場合などに有効に作用します。
Img2img(イメージ・トゥー・イメージ)と呼ばれるこの生成手法はMidjourneyでも使う事ができますので、今回はMidjourney内でのImg2imgの使い方について解説していきます。
Midjourneyで画像からAI画像を生成する方法
MidjourneyでImg2imgを行う場合、プロンプトとして使いたい画像を準備してDiscord内にアップロードする必要があります。
そしてそのURLをプロンプトとして入力すればOKです。
画像のURLだけでなく、テキストもプロンプトとして新たな画像を生成していきます。
それでは一つずつ手順を確認していきましょう。
①元にする画像を用意する
最初にプロンプトとして使いたい画像を用意します。
今回はこの女性の画像を使ってみます。

参照する画像は拡張子 .png, .gif, .webp, .jpg, .jpeg であればどれでも使う事ができます。
②元にする画像をアップロードする
この画像をDiscordの任意のサーバーにアップロードします。
ただビギナー用のNEWCOMER ROOMSに画像をアップロードするのは不特定多数に見られてしまいますので、あまりお勧めできません。
ですので自分で新たにサーバーを建て、画像をアップロードすると良いでしょう。
左端のプラスボタンから新たにサーバーを作成できますので、作成してください。

そしてサーバーを作成したら、そこに画像をアップロードします。
一番簡単な方法はドラック&ドロップです。

そうするとこのようにDiscord内に画像がアップロードされます。
ドラッグ&ドロップでうまくいかない場合は、下の+マークから画像を選択するとアップロードできます。
③画像のURLをコピーする
アップロードした画像を一度選択して拡大させます。
そして右クリックから「画像のアドレスをコピー」を選択します。

これでアドレスがコピーできました。
④URLを入れたプロンプトを入力する
/ imagineを呼び出してプロンプトを入力していきます。
この時にプロンプの入力には順番があります。

イメージプロンプト、テキストプロンプト、パラメーターの順番に入力します。
/imagine prompt https://media.discordapp.net/attachments/1207241510597173270/1209759197185581116/hai_83345_Japanese_mature_woman_famous_brand_of_glasses_e9372a81-5a80-4e3c-8a3b-844b8b065e07.png?ex=65e8170c&is=65d5a20c&hm=23d758890e647933be71bfe3010ee5e0bdaa7cdacb34109187d8084370d75d2b&000= ,20-year-old woman black hair
するとこんな感じになります。
イメージプロンプトのURLが長くなっていますが、特別問題はありません。
その後ろにテキストプロンプトを「20-year-old woman black hair」として参照画像を若返らせてみようと思います。
⑤画像を生成する
チャット欄にプロンプトを全て入力したら、Enter keyでプロンプトを送ります。
生成された物がこちらです。

元画像の年配女性に雰囲気の似た若い女性が生成されました。
以上がMidjourneyで画像をもとに新たに画像を生成する基本的な方法になります。
ただ今回の生成結果はテキストプロンプトとして渡した「black hair」と元画像の白髪が混じってしまっていますので、もう少しプロンプトのバランスを調整する必要がありそうです。
それではプロンプトの強度を調整する方法も見ていきましょう。
Midjourneyでプロンプトに強度をつける方法
イメージプロンプトとテキストプロンプトでは強度の付け方が違います。
イメージプロンプトに強度をつける場合は専用のパラメーター
イメージウェイエイト =— iw を使います。
イメージウェイエイト(–iw)とは
イメージプロンプトの重みを変更するパラメーターです。
イメージプロンプトの重みパラメータ–iwを使用して、プロンプトの画像部分とテキスト部分の重要性を調整します。より高い–iw値は、画像プロンプトが完成した画像に大きな影響を与えることを意味します。
イメージウェイエイトを何も設定せずに画像を生成した場合は、自動的にデフォルト値が採用されています。
異なるミッドジャーニーバージョンモデルは、異なる画像のウエイトレンジを持っています。
Version 6 | Version 5 | Version 4 | niji 6 | niji 5 | |
イメージウェイトデフォルト | 1 | 1 | NA | 1 | 1 |
イメージウェイトrange | 0〜3 | 0〜2 | NA | 0〜3 | 0〜2 |
最新のMidjourney V6では0〜3とかなり幅広い範囲で重量を選択可能となっています。
またMidjourney V4以前のモデルではイメージプロンプト自体が機能しませんので注意してください。
それでは具体的にイメージウェイト(–iw)の使い方を見ていきましょう。
イメージウェイトの使い方
イメージプロンプトを入力し、イメージウェイト「– iw 値」を与えればOKです。
特段難しいことはなさそうですが、ここに1点落とし穴があります。
プロンプトの入力順は決まっていて
[ イメージプロンプト 、テキストプロンプト 、パラメーター }
の順番でしたね。
イメージウェイエイト(–iw)はパラメーターに属しますので、後ろの方に書かなくてはいけません。
くれぐれもイメージプロンプト、– iw 2, テキストプロンプト のようには書かないでください。
イメージプロンプト、テキストプロンプト、–iw 値
この書き方が正解です。
イメージウェイト(–iw)の使用例
では先ほどの使い方で説明した画像を使ってイメージウエイトを変更した画像を生成してみます。
プロンプトはこんな感じになりました。
/imagine prompt https://media.discordapp.net/attachments/1207241510597173270/1209759197185581116/hai_83345_Japanese_mature_woman_famous_brand_of_glasses_e9372a81-5a80-4e3c-8a3b-844b8b065e07.png?ex=65e8170c&is=65d5a20c&hm=23d758890e647933be71bfe3010ee5e0bdaa7cdacb34109187d8084370d75d2b&000=,20-year-old woman black hair ,–iw 値
最後の値のところにイメージプロンプトの強さを数字で入れてください。
では数パターン生成してみたので、イメージウエイトの値がどの程度の影響になるか参考としてください。
・イメージウェイト0.5 –iw .5(0以下の少数の場合は最初の0が省略可能です!)

髪の毛が全て黒くなり、メガネの人物がいなくなりました。
顔立ちもより若々しくてなっていますし、服装も今までにないバリエーションが出てきました。
イメージプロンプトの強度を下げると相対的にテキストプロンプトの効果が高くなり、また元画像に寄せられない分生成画像の自由度が上がるようです。
・イメージウェイト2 –iw 2

全員メガネとなり明らかに元画像の影響が強くなっています。
テキストプロンプトとして与えた「20歳の日本人女性、黒髪」の効果があまりみられなくなりました。
また顔の造形などもかなり元画像に近くなっています。
・イメージウェイト3 –iw 3

若干生え際に黒い髪の毛がみられるものの、ほぼ参照画像のバージョン違いのようになりました。
今回の生成ではイメージウエイト2と3ではそこまで大きな差は無い感じですが、テキストプロンプトの情報が多い場合などは、イメージウエイトが高ければ高いほど相対的にテキストプロンプトの効果が下がることに注意しなくてはいけません。
同一キャラクターで色々な画像を生成する際にはテキストプロンプトをどの程度与えたかによってイメージウエイトを微調整する必要がありそうです。
では次にテキストプロンプトの強度を調整する方も確認しておきましょう。
テキストプロンプトの重みを調整する方法
テキストプロンプトの効果を調整したい場合には::でテキストプロンプトを区切ってその後に値を入力します。
テキストプロンプトの重みをウエイト5「20-years-old Japanese woman black hair::5」として生成したものがこちらです。

顔立ちはより日本人っぽくなり若さも感じます。また髪の毛も黒い部分が増えています。
イメージプロンプトを使用して画像を生成する際にはイメージプロンプトの重みとテキストプロンプトの重みをバランスよく調整する必要がありそうですね。
複数のイメージプロンプトを利用することも可能!
イメージプロンプトは複数枚数を使用することもできます。
プロンプトの入力方法は
イメージプロンプト1、イメージプロンプト2、テキストプロンプト、パラメーター
イメージプロンプトはカンマ , で区切って複数渡してください。


試しにこの2枚の画像をイメージプロンプトとして入力して画像を生成してみます。

2つの元画像の影響が上手いこと混じり合って、新しい画像が誕生しました。
映画のラストシーンかラスボス登場感のある仕上がりです。
テキストプロンプトは大したものは与えていません。「woman is grin」のみです。
複数の画像を使うことでどんな画像が生成されるかは正直やってみないとわからない部分が多いです。
今回のように複数の画像をイメージプロンプトとして与える事で思いもよらないような新しい画像が生成されることもあります。
まずは一旦生成してみて、自分の目的に合うようにプロンプトの重みを調整していってください。
まとめ
いかがでしたでしょうか?
【Midjourney】画像を元にAI画像を生成する方法!について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 任意の画像をDiscordにアップロードする
- 画像のURLをイメージプロンプトとして入力する
- パラメータ –iw を使って重みを調整する
- 複数のイメージプロンプトを使うこともできる
今回の記事の中では最新モデルMidjourney V6を使用しています。
とてもクォリティーの高い画像を生成できる事は知ってはいましたが、複数のイメージプロンプトを与えた際の画像の出来にはとても驚かされました。
他の画像生成AIではまだこのレベルでイメージを融合させることはできていません。
興味のある方はMidjourneyをぜひ触ってみてください。
スマートフォンからでも使えるのでとてもお手軽に楽しめますよ。