MidjourneyでNSFWやビキニの女性のイラストを生成する方法【画像生成AI】

こんにちは、画像生成AIのプロンプトを研究している じょじお(@jojio‗illust)です。
MidjourneyでNSFWやエ〇いイラストを生成したいと考える人は多いでしょう。
結論から言いますが、MidjourneyでNSFW系のイラストを生成することはできません。Midjourneyはプロンプトの制約が比較的厳しいため、性的描写の可能性があるワードはNG登録されているため、ビキニ姿の女性ですら生成するのが難しいです(釣りタイトルで申し訳ありません)。NSFWのイラストを生成したい場合は、思い通りに画像生成できるStable Diffusionを使うべきです。
ただし、Midjourneyでも最近追加された新機能「インペインティング」を使えば、以前は難しかったイラストも生成できるようになりました。この記事では、その方法をご紹介したいと思います。

Midjourneyでビキニタイプの水着の女性が生成できない。
Midjourneyではビキニタイプの水着を生成することすることが難しいです。
この項では、本当にプロンプトだけで生成できないかを検証してみます。
MidjourneyのNGワードの例
ビキニタイプの水着を生成できない理由としては、NGワードとして登録されているためです。NGワードの例としては、次のようなものがあります。
- サウナ(sauna)
- ビキニを着た女性(bikini girl)
- シャワーを浴びる女性(woman taking a shower)
NGワードの中には、単語としてNGなものもあれば、例2と例3のように単語ではOKなものの、「girl」や「woman」と組み合わせるとNGというワードもあります。
NGワードでも形容詞などと組み合わせることで通ることがあります。例えば「girl, bikini」はリジェクトされますが、「girl, white-bikini」は通ることがあります。しかし、基本的には禁止されていることですから辞めといた方が無難でしょう。そしてプロンプトが通ったとしても、今後は下図のように生成された画像がアウトプットフィルターでリジェクトされることも多いです。

直接的な言葉がダメなら、普通に「水着:swimsuit」と指定すればいいのではないでしょうか。AIに対してプロンプトが通らなかったり、意図が通じなかったりする場合、言葉の言い換えは有効なアプローチです。
■水着のプロンプト
cute japanese idol Ryoko in beach, short bob, pure and innocent smile, happy smile, 30-years-old, looking at viewer, swimsuit, god ray, beautiful skin, high-end photo, award-winning photo, photo taken with a Leica, 32k, super cute, charming –ar 4:5
訳:キュートな日本のアイドル、涼子、ビーチで、ショートボブ、純粋無垢な笑顔、幸せそうな笑顔、30歳、見る人を見つめる、水着、神光線、美肌、高級写真、受賞写真、ライカで撮影、32K、超キュート、チャーミング –ar 4:5

▲生成結果です。女性の水着というとビキニタイプの方が一般的な気がしますが、何度か生成しても9割くらいワンピースタイプの衣装になります。というか、そもそも素材感的にも水着に見えないです。
では、プロンプトを改良してみます。ビキニタイプということは腹筋周辺が露出しているということですので腹筋周りのワードを足してみます。
それとちょっと気になったのですが、プロンプトでは30歳と指定したのですが、顔が幼く見えます。もしかして未成年のように受け取られ拒否されている可能性もあるかもしれません。そこで年齢も高く設定し直します。Midjourneyは年齢を若く生成しがちなので、イメージする年齢よりも高めである40歳と記述してみました。作ったプロンプトは下記です。
■水着のプロンプト2
cute japanese idol Ryoko in beach, short bob, pure and innocent smile, happy smile, 40-years-old, looking at viewer, swim suit, beautiful abs, beautiful belly, Oblique abdominal muscles, flanks, god ray, beautiful skin, high-end photo, award-winning photo, photo taken with a Leica, 32k, super cute, charming –ar 4:5
訳:ビーチでキュートなアイドル涼子、ショートボブ、純粋無垢な笑顔、幸せそうな笑顔、40歳、見る人を見つめる、水着、美腹筋、美腹、腹斜筋、脇腹、神光線、美肌、高級写真、受賞写真、ライカで撮影、32K、超キュート、チャーミング –ar 4:5

▲生成結果はこちら。年齢は上がったように見えますがやはりビキニにはなりませんでした。「美しい腹筋」といった言葉の効果がでませんでした。
代替として水着に近いウェアを試してみる。
水着がダメならそれに近いものを生成してみましょう。ChatGPTにヒントをもらって次の2つを生成してみました。
■ヨガウェア
Yoga wear/ Yoga suit

■陸上競技用ウェア
sprinters’ uniform

うーん、ビキニっぽいものはでません。プロンプトだけで生成することはとても難しそうです。
インペインティングで(vary(Region))でトップスを変更していく
プロンプトだけでは難しいということがわかりましたので、画像を修正して理想に近づけていきます。
使うのはMidjourneyの新機能『vary(Region)』です。『vary(Region)』は、いわゆるインペインティングと呼ばれる機能で、画像の一部を再描画して修正できる機能です。
今回は下記の画像をインペインティングしていきます。こちらの画像を選んだポイントとしては、トップスの首回りがビキニに近い形状をしているからです。衣装指定に使ったワードは「sprinters’ uniform」。

vary(Region)の使い方は次のとおりです。
まずアップスケールした画像の下に表示される『vary(Region)』ボタンをクリック。すると下図のような専用エディタが表示されます。ここで修正箇所を投げ縄ツールか選択ツールで囲み、プロンプトを入力します。

今回は服部分をすべて隠れるように選択し、下記のプロンプトを使いました。
■プロンプト
beautiful belly , beautiful skin, beautiful abs, beautiful abdomen, slim waist, fair skin –ar 4:5

とにかく美しい腹がみたいことを全力で伝えてみました。
- beautiful belly:美しい腹
- beautiful skin:美しい肌
- beautiful abs:美しい腹筋
- beautiful abdomen:美しい下腹部
- slim waist:くびれたウエスト
- Oblique abdominal muscles:腹斜筋
- fair skin:白い肌
▼お、腹がでてきました。プロンプトの意図は伝わっているようです。


ここでは左下の画像をアップスケールして使うことにします。
今度は選択範囲をもう一度トップスが隠れるように調整し、プロンプトは先ほどと同じのまま実行します。せっかく腹筋部分が露出したのでそこは修正領域に含めないようにしました。


▼生成結果です。先ほどよりも露出が増えたのがわかります。


アップスケールしました。


ここから先のプロセスは、画像の露出度が高いため公開することができないのですが、結果としては、今やった手順を3~4回繰り返すことで、実際にビキニの生成に成功しました。
具体的には、布で覆いたい部分は「swim suit」といった衣類系の言葉、肌を露出させたい部分は「fair skin」といった肌を連想させる言葉を使って、インペインティングを何度か繰り返していくだけです。
うまくいかない場合は、再描画領域を大きめに取ったり、パラメーターの値を調整してみると良さそうです。
完成した画像に興味のある方は、私のTwitterでご覧いただけます。
Midjourneyで水着女性を生成する別の手法
今回はインペインティングを使った方法を紹介しましたが、プロンプトだけで露出度の高いイラストを生成する方法はあります。
その方法は、Midjourneyが学習しているであろう水着女性モデルを専門に撮る写真家名や、それに似たアートスタイルを持つアーティスト名をプロンプトに使う方法です。この方法であれば、BANにならずに水着女性や露出度の高いイラストが生成できるようです。
ただし、システム上はOKでも、もし運営に見つかった場合はアカウントのBANになる可能性もあるかもしれません。試す場合は自己責任でお願いします。
まとめ
以上、インペインティングの使い方の一例を紹介しました!
次回もインペインティングのTIPSを紹介する予定です。また見てね。


コメント