ネットでいろんな人が美女の画像を作っているのをみて
おお、こんなの自分でも作ってみたい!
と思い、0からやってみたのでみなさんの参考になればと思います。
ネットやSNSでは、
- ここからは有料
- RT、いいねでプロンプト送ります
的な手法であふれていますが、個人的には
いいプロンプトは共有して進化の速度を速めようぜ!
と思っているので、この記事がみなさんのお役に立って、その後何か発見などがあればぜひみんなに共有いただければと思います。
この先説明する手順で完成したのはこちら!なかなかリアルですね。
事前準備
利用するのはStable diffusionです。
ChatGPTのでもサイトのように
ここにプロンプトを入力すればいい感じに作るよ!
という感じではなく、自分で環境から準備する必要があるので準備していこうと思います。
とは言っても準備には10分くらいしかかかりません。
必要なのはGoogleアカウントだけですが、とその前に、
どんな画像を作りたいかによって必要になるモデルが変わるのでまずはイメージに近い画像を探しましょう。
こちらのサイトにAIで作成されたイラストがまとめてあるので確認してみます。
まずはCGとわかる程度のリアルなイラストを作ってみたかったのでこちらを選びました。
パッとみた感じで気づくかと思いますが、こちらのサイトは画像を作成したプロンプトを表示してくれているのでとても参考になりそうです。
まずは「Model name」という部分に注目してください。
この画像で言うと、
chilloutmix-Ni.safetensorsとなっています。
これが学習済みのモデル名です。
モデルとは、ざっくり言うと
例えば「girl」と入力した時にアニメ風になるのか実写風になるのかなどの方向性を決めてくれるもの
だという理解で差し支えないと思います。
1. 必要なモデルをダウンロードしてくる
今回選択した画像のモデル「chilloutmix」は偶然にもメジャーなものらしく、とりあえずこれを使っておけば良い系のもののようなので早速「chilloutmix」をダウンロードしてきます。
よく見ると上記は「chiloutmix-Ni」となっており、「Ni」とはバージョン2のことのようです。
「Ni」の方は公式ページからダウンロードできるようなのですが登録が必要のようなので、一旦かんたんにダウンロードできる「Ni」じゃない方で試したいと思います。
こちらのGithubからzipファイルをダウンロードしてきます。
ZIPファイルを展開すると中にたくさんのファイルが含まれているのですが、その中の
chilloutmix.ipynb
をこのあと使います。
GoogleのColaboratoryでモデルを動かす
さて、ダウンロードしてきたモデルをGoogleのColaboratoryというページで動かそうと思います。
Googleのアカウントが必要なのでログインした上でこちらにアクセスします。
するといかにも何だかよくわかんなそうなページが開きますが、
見た目の小難しさに立ち向かい、アップロードのタブの「ファイルを選択」から先ほどの「chilloutmix.ipynb」を選択します。
↓の図では黒い画面ですが、環境によっては白ベースのページの場合があります。
また、図の中心のモーダルが表示されていない場合は「ファイル」の「ノートブックをアップロード」から同じステップが踏めます。
すると、さらに輪をかけてよくわからない画面が出てきて思わず画面を閉じそうになるのですが、一旦処理が終わるまで我慢して待ちます。
いつまで待てばいいかというと、赤枠のような「Running on public URL」というリンクが表示されるまでです。
僕が試したところ、5分くらいかかったので気長に待ちましょう。
リンクが表示されたら「Runnning on public URL」のリンクをクリックしましょう。
これで準備は完了です!
いよいよ作成
上記のリンクをクリックすると下記のような画面が表示されたと思います。
この画面の中に2箇所、プロンプトを入れる場所があります。
それぞれに先ほどのページに記載があったプロンプトを入力します。
↓の画像の赤枠の部分です。
一旦これで作成してみます。
意外とそれっぽくできています。
少しパラメータを変更してみましょう。
「Sampling steps」の値を20から60にしてみました。
おお!結構完成度高いですね!
一旦ここまでできれば、あとはパラメータやプロンプトをいじって好きなように変更できそうです。
実際のやり方に関してはプロンプトをコピペさせてもらったページを参考にすれば良さそうですね!
もっとリアルなのを試してみた
続いてもっとリアルな画像生成も試してみました。
先ほどのプロンプトまとめページからこの画像を選び、下記のプロンプトを使わせてもらっています。
プロンプト
best quality, masterpiece, (realistic:1.2), 1 girl, brown hair, brown eyes,Front, detailed face, beautiful eyes,
She is wearing a white T-Shirt and having fun on the beach. She looks very happy playing on the beach in her t-shirt . She accessorized with a small, silver bracelet on her wrist. While playing, the girl was drawn in by the colorful and glittering scenery of the sea. She is wearing cute heart-shaped earrings and a matching necklace and smiling in the bright sun.
プロンプト(negative)
(low quality:1.4),(worst quality:1.4),(bad_prompt:0.8)
結果はこちら
だいぶリアルに仕上がりました!
さて、ここまで全く気にしてませんでしたがプロンプトにはどんなことが書いてあるのでしょう?
そのまま日本語に翻訳してみます。
プロンプト
最高品質、傑作、(リアルさ:1.2)、女の子 1 人、茶色の髪、茶色の目、正面、詳細な顔、美しい目、
彼女は白い T シャツを着て、ビーチで楽しんでいます。彼女はTシャツを着てビーチで遊んでとても幸せそうです。彼女は手首に小さなシルバーのブレスレットを付けました.遊んでいるうちに、女の子は海のカラフルできらびやかな景色に引き込まれました。彼女はキュートなハート型のイヤリングとお揃いのネックレスを身に着け、明るい太陽の下で微笑んでいます。
こうしてみると特に難しいことは書いてないですね。
おそらくこの中にコツが隠されているのだと思いますが(例えば「最高品質」「傑作」など)それは触りながら見つけていければいいと思います。
せっかくなのでちょっとだけプロンプトを変えてみます。
プロンプト
best quality, masterpiece, (realistic:1.2), 1 girl, brown short hair, brown eyes,Front, detailed face, beautiful eyes,
She is wearing a white T-Shirt and having fun on the beach. She looks very happy playing on the beach in her t-shirt . She accessorized with a small, silver bracelet on her wrist. While playing, the girl was drawn in by the colorful and glittering scenery of the sea. She is wearing cute heart-shaped earrings and a matching necklace and smiling in the bright sun.
もとのプロンプトは「brown hair」だったのですが、「brown short hair」にしてみました。
ポーズも変わったのですがこちらもいい感じですね。
微妙なニュアンスの条件を加えてみましょう。
プロンプト
best quality, masterpiece, (realistic:1.2), 1 girl, brown short hair, brown eyes,Front, detailed face, beautiful eyes,
She is wearing a white T-Shirt and having fun on the beach. She looks very happy playing on the beach in her t-shirt . She accessorized with a small, silver bracelet on her wrist. While playing, the girl was drawn in by the colorful and glittering scenery of the sea. She is wearing cute heart-shaped earrings and a matching necklace and smiling in the bright sun, but she looks a little bit sad because she was broke up with her boyfriend yesterday.
「でも、昨日彼氏と別れたから少しだけ悲しい」
という一文を加えてみました。
そう言われてみればそうかも的な表情になりました。
ということで、いろんなパターンが作れそうですね!
ぜひいろんなパターンを試してみてください👍