
今回は、「Region」について解説します。
これはいわゆるインペインティング機能でして、多くのユーザーから待望されていた機能となります。
作った画像の99%は素晴らしいのに、ほんの1%だけ納得のいかないところがあって没にする、というような経験をよくしていましたが、この機能を使うことでそれの解決策になると感じました。
使い勝手も今のところは良好で、素晴らしい機能ですので、その使い方と裏技までご紹介させていただきます。
Region の使い方
「Region」とは、領域・範囲などと言った意味があります。
読み方は「リージョン」です。
RemixモードをOnにしておく
この機能を使用する際にはリミックスモードをオンにしておきましょう。
そうすることで、「Region」機能を利用時に、プロンプトを編集することが出来るようになります。
ということで、「/settings」コマンドから、Remix modeボタンを緑色に点灯させるか、「/prefer remix 」コマンドを実行しておきましょう。
具体的な使い方
「Region」の使い方を以下で解説します。
まずはグリッド画像をアップスケール(Uボタン)しましょう。
Vary(Region)というボタンが出現しますので、そこからインペインティング機能を使用できます。
上図のような画面になります。
画面左下の四角のアイコンと、投げ縄のアイコンの2種類から選択範囲ツールを選べます。
基本的には投げ縄ツールがいいと思います。
投げ縄ツールは多少癖がありますが、選択したい輪郭に沿って動かしていくと、その通りに切り抜くことができて便利です。
上の画像の左指が意図したものと違っているため、この部分を選択して修正したいと思います。
指の部分を選択しました。
そして、画面中央下のプロンプトを「5本の指」と記入しました。
指がいい感じで修正されました。
この画像をそのまま使用して、髪の色を変えてみます。
やはり投げ縄ツールを使用して、プロンプトは「金髪」としました。
黒髪だったのが、金髪になりました。
この画像を使って、背景を変えてみます。
投げ縄ツールを使用して、背景を範囲選択し、「ジュラ紀」と入力します。
街中の風景だったのが、恐竜時代の風景に変わりました。
以上のように、簡単に部分修正できて素晴らしい機能だと思います。
MJに多発する画竜点睛を欠くような生成画像に、インペインティング機能(Region)はかなり有効だと感じました。
文字(ロゴなど)を修正する方法
ミッドジャーニー(Midjourney)の弱点のひとつに、文字が指示通りに描けないという点があります。
ロゴやポスターに表記される文字が謎の文字列になって残念に思った経験があると思います。
しかし、インペインティング(region)機能を使うと、それを解消することが可能です。
上図は、 Niji 5にて、「カフェのロゴ」というプロンプトで作成したものです。
コーヒーのスペルである「COFFEE」になって欲しいのですが、「COEOLE」という意味不明なスペルになっています。
これに対してインペインティング(region)を使用して修正していきます。
投げ縄ツールを使用して、「EOL」の部分を範囲選択します。
プロンプトはそのままでも良いですし、「F」「F」「E」のように、変わって欲しい文字を記入しても大丈夫です。
「COEOLE」→「COFELE」になりました。
正解である「COFFEE」に1文字近づきました。
次は「EL」の部分を範囲選択して修正します。
プロンプトは「F」「E」にしてみました。
「COFELE」→「COFFRE」になって、正解にまた1文字近づきました。
次に「R」が「E」に変われば完成となります。
「R」を範囲選択します。
プロンプトは「E」「E」「E」「E」「E」「E」 のように、変わって欲しい E に鉤括弧をつけて複数並べてみました。
このほうがちょっとだけ成功確率が上がるような気がします(個人の体感です)。
無事に「COFFEE」になりました。
ここまで通して、試行回数は数回程度で、それほど苦な作業ではありませんでした。
以上のように、今回は文字の背景がシンプルなもので試して上手くいきました。
しかし、文字の背景が複雑なものの場合等は、文字が変化しないことがあります。
また、文字が小さすぎるとインペインティング(region)機能の範囲選択の面積制限にひっかかることがあるため、文字を変えるのは困難になると思います(一応の対策方法は後述します)。
ということで、シンプルで大きめなロゴを正確に作りたい場合は、この方法を試してみるといいかもしれません。
選択範囲が狭すぎる場合の対処方法
インペインティング(region)を使用した場合、選択範囲が小さ過ぎると、 「For best results, you will need to select more the image to replace.」と表示されて、region機能を実行できません。
これの意味は「最良の結果を得るためには、置き換える画像をより多く選択する必要があります。」ということです。
これに対する対処法を、ふと思いついたので書き記しておきます。
画像の全体図です。
右下に小さく少女が描かれています。
少女のアップ画像です。
左手がうまく描写されていません。
インペインティング(region)機能を使用して、この手の部分だけを変更してみます。
しかし、手の部分を範囲選択すると、選択範囲が狭すぎるとして、regionが実行できません。
手の周りの部分を含めて広く範囲選択すると、衣装や持っている道具も変化する可能性があるため、躊躇してしまいます。
手の部分の他に、空の一部を範囲選択しました。
regionは飛び地で範囲選択することも可能なため、絵に影響が少なそうな場所を大きく範囲選択して、選択範囲の総面積を大きくしています。
インペインティング(region)機能が無事実行されました。
手はある程度改善されたと思います。
空の部分も特に変わりなく維持できています。
以上のように、変えたい部分が小さすぎる割に、その周りを変更したくない場合は、飛び地を利用してインペインティング(region)を実行することが出来ます。
ただし、MJから注意されたように、手の部分の選択範囲が狭すぎるため、ベストな変更結果は得られづらい印象です。
最良の結果を得られるまで何度も試すか、少し良い画像がでたら、それを親画像にして再び同じ作業を繰り返すなどの対応が必要かもしれません。
ということで、範囲選択制限に対しての対処法をご紹介させていただきました。
黒いフチを取り除く方法
Regionを使用して、画面端に生じる黒フチを取り除くことも出来ます。
ミッドジャーニー(Midjourney)で作成した画像は、画面端に黒いフチが多発してしまいますが、インペインティング(Region)機能は、それに対しても有効に作用します。
上の画像は、 画面の上下左右に黒いフチが出現しています。
Region機能を使用して、縁の部分を範囲選択します。
今回は四角形の選択ツールを使用しました。
プロンプトは元のまま(京都、ポスター)です。
大きな違和感なく画面端のフチが取り除かれました。
イメージプロンプトを使用する方法
Vary(Region)はイメージプロンプトにも対応しています。
Region使用中に、画像アドレスを貼り付けることで、選択範囲内の部分をその画像に似たものに置き換えることが可能です。
色々なことに応用できるとは思いますが、今回は顔移植のみについて解説したいと思います。
また、顔移植に関しては、「InsightFace」という便利なツールもありますが、botを導入したり、独特のコマンドを使用する必要があるため使いづらさもあります。
そして、動物の顔などには対応していません。
Regionで顔移植する方が楽な場合が多いと思いますので、以下でやり方について具体的に述べていきます。
上図の左側はアジア人風の女性の画像です。
その顔を、右側の欧米人風の顔に移植したいと思います。
移植元のアジア人風の顔の画像を左クリック→右クリック→「画像アドレスををコピー」をクリックします。
この画像はミッドジャーニーで作成していますが、自身のフォルダ等から画像をDiscordに貼り付けて、同様の操作で画像アドレスをコピーしても良いですし、ネットの画像アドレスをコピーしても良いです(法律の範囲内で行ってください)。
移植先の欧米人風の画像に対して、Vary(Region)を実行します。
顔の部分だけを投げ縄ツールで選択します。
プロンプト欄に元から書かれているプロンプトを全て削除します。
先ほどコピーしておいた画像アドレスを貼り付けます。 その直後にスペースを入れて、「girl」と記入して送信します。
移植元のアジア人風の顔が無事に移植されました。
以上の操作によって、顔移植をすることが可能です。
テキストプロンプトだけでRegionを使用しても、変化の幅が小さい場合があるのと、狙った画像が生成されないことがあります。
イメージプロンプトを使用することにより、意図した画像に置き換えやすくなります(限界はあります)。
続いて、横顔の移植と、動物の顔の移植についても解説します。
正面の画像を使って、横画像に適用できるかどうかを試してみました。
上図の左側がアジア人風の女性が正面を向いている画像です。
この画像を、右側の横を向いている画像に移植してみます。
さきほどと同様に、Region→顔の範囲を選択→画像アドレス貼り付け→「girl」を追記で送信しました。
移植元の少女の顔が、横顔にもある程度反映されていると思います。
続いて、動物の画像を移植してみます。
上図の左側は猫の画像です。 右側は女性の画像です。
今までと同様の操作で、猫の顔を移植しました。
完全に元画像と一致はしていませんが、何度かリロールするともっと近づけるかもしれません。
また、イメージプロンプトの直後のテキストプロンプトを「cat」にするか、「girl」にするかで猫の成分が変わります。
「girl」にした場合は、猫らしさがかなり消えます。 今回は「cat」で作成しています。
以上、Regionでイメージプロンプトを使用した顔移植についての解説でした。
過去の画像でRegion機能を使用する方法
2023年8月22日にRegion機能がアップデートされましたが、それ以前の画像に関しても、Region機能を使用することが可能です。
そのためには、過去の対象画像のJob IDが必要となります(※後日のアップデートにより、Uボタンで対応可能になりました)。
job ID というのは、各ジョブ(/imagine で作った画像)の識別コードのことです。
Job IDを確認する方法はいくつかあります。
封筒マークを送信して確認する方法
画像生成画面の右上の「…」マークをクリックします。
「リアクションを付ける」という項目→「もっと表示」を選択します。
そこから、封筒マークを探します。
封筒マークはオブジェクトカテゴリーの中にあります。
すると、DMに↓のような画像が送られてくるので確認します。
そこに、Job IDが記載されています。
Job ID「aa7d892d-085a-4a1b-b164-ee603d85f316」ですね。
これをコピーしておきます。
そして、メッセージ欄で「/show」コマンドを実施→「job id」に続けて、さきほどコピーしていた Job ID を貼り付けます。
そうすると、ジョブが新しく復活しますので、その画像に関してはRegion機能が使用できます。
他にもJob IDを確認する方法があります。
Web アプリでJob ID を確認する①
ミッドジャーニー(Midjourney)のWeb アプリにて、Job IDを確認することが可能です。
Web アプリに移動して、HOMEにて、自身の画像を選択します。
「…」マーク→ Copy → Job IDを押すと、Job ID をコピーすることが出来ます。
Web アプリでJob ID を確認する②
ミッドジャーニー(Midjourney)のWeb アプリにて、自身の画像を選択します。
そうすると、URLが表示されます。
そのURLにJob IDが表記されています。
上図の青背景になっている部分がJob IDということになります。
ファイル名でJob ID を確認する
画像を保存すると、そのファイル名にJob IDが記載されます。
たとえば、shake_hand_a28bbdfb-7519-4363-bda4-3790b85e5ada.png というファイル名だった場合、
shake_hand_a28bbdfb-7519-4363-bda4-3790b85e5ada.png
黄色の背景の部分がJob IDとなります。
Uボタンが2度押しに対応しました
先日のアップデートにより、V5/Niji5シリーズのUボタンを2回以上押しても、それぞれに反応してくれるようになりました。
今までは、Uボタンを1回押すと、同じUボタンを押しても反応しませんでした。
現在は、1回Uボタンを押して、30秒以上待つと、同じUボタンを押すことができるようになっています。
このことにより、Regionアップデート前のグリッド画像に対して、どのUボタンを押してもRegion機能を使うことが出来ます。
以上、ミッドジャーニー(Midjourney)の待望の新機能「Region」についての解説でした。