グラビアカメラマンでありソフトウェアエンジニアでもある西川和久氏が、プロカメラマンの目線から画像生成AIによる実写風ポートレートを作成する連載の第二回をお届けします。第一回はこちら(編集部)
BRAV6登場!
1回目に「AI生成画像は大きく分けて2種類あり、一つはイラスト系、もう一つはリアル系」と書いたが、そのリアル系で絶大な人気を誇るモデル Beautiful Realistic Asians V6 (以降BRAV6)が2023年7月7日にリリースされた。BRAV5のリリースが同年5月6日なので約2ヶ月。その前のBRAV4が4月21日なのでかなりハイペースでの開発と言える。
筆者もBRAV4からのファンであり、BRAV5を経てBRAV6の仕上がり具合に興味津々。もちろん今回掲載した写真は全てBRAV6で作られている。早速作例4点をご覧いただきたい(細かな調整を追加する顔系LoRAは不使用。一部、第一回にご紹介したsiitake-eyeだけ入っている)。
なお、掲載した写真も後処理で色味などを若干修正し、ノイズを加えている。また扉の写真はほうれい線が目立ったので、アプリのSNOWを使い(ほどほどに)消した。1回目に自分で否定した悪しき習慣であるが、気になるものは仕方ない(笑)。
BRAV6作例1 | BRAV6作例2 |
BRAV6作例3 | BRAV6作例4 |
「ん?」と思われた方は正解。1枚目2枚目は狙った感があるものの、3枚目4枚目は普通の何処にでもありそうなスナップ写真だ。そしてBRAV6の真骨頂はここにある。BRAV5までのアジア系美女でキメキメの絵はもちろんだが、「普通っぽい子で普通の絵」も作れるようになったのだ。「普通の絵」の意味には自然な光と影も含まれる。
実はAI生成画像において、この「普通」や「自然」が意外と難しい。というのも Checkpoint (AIモデル)を作る際には、開発者の目指すテーマに沿って、顔や表情、ポーズなどが簡単に出力されるよう学習 / チューニングすることが一般的だ。出来上がったCheckpointは、プロンプトに「1girl」と書くだけでポン!と綺麗 or 可愛い子がキメ顔で出てくる。
ところがこのBRAV6は、作者のPleaseBanKai氏 がベータ版の画像をいろいろ掲載していた時にも感じていたのだが、何か何処にでもありそうな「普通の画」が結構混じっていた。そして正式版を使ったところやはり…と言う感じだ。
では前バージョンのBRAV5とどの程度違うのかをx/y plotで確認してみたい。横軸にCheckpoint (生成の元となる学習済モデル)を配置。左側が最新のBRAV6、中央が前バージョンのBRAV5。右側にはBRAをベースにした別のリアル系Checkpointである yayoi_mix v2.0も併記した。
縦軸にはseed値。原則として、seedが同じであれば似た絵柄になる。
如何だろうか。これだけでは分かりにくいと思うが、他に確認した画像も含め、BRAV6は普通(の美人)、BRAV5の方は少し作ったくらいに整った美人の傾向が感じられる。yayoi_mix v2.0はBRAV6をベースに可愛くした雰囲気だ(v1.3x系はBRAV5ベース)。
まだ使いだして短いのでまた評価が変わってくる可能性もあるが、第一印象はこんな感じだ。従来通りの整った美人 and キメキメな絵を狙うならBRAV5、スナップ写真っぽいの「も」狙うならBRAV6と使い分けるのもありだろう。この時、パラメータのCFG Scaleは一般的に7だが、5(~6)に調整するとコントラスト浅めで雰囲気の違う絵が出るので試して欲しい。
いずれにしてもこの「普通と美人」のさじ加減、作者はかなり苦労されたのではないだろうか。
実は重要なNagative Prompt
言葉だけで画像が得られると話題になった画像生成AIでは、どんな絵を出したいか指示する Prompt、いわゆる「呪文」に注目が集まる。背景は、ポーズは、顔は、衣装は、スタイルは…唱える呪文は山のようにあり、興味の対象となるのは当然だろう。
一方Stable DiffusionにはNegative Promptもある。ここはPromptとは逆で「出したくない」ものを入力するところだ。筆者は始めのころ訳も分からず、ネットにあったNegative Promptをコピペしていた。中にはもの凄く長いのもあり、その方が効果があると信じていた。
ところがある程度慣れてくるとPromptと同じでシンプルイズベストと気づく。どちらも長いと各Promptの効力が弱まったする。そこでここではPromptや設定は同じで、Negative Promptを変えるとどれだけ絵に影響するかを確認してみたい。
Promptと設定はこの通り。BRAV6を使える環境があれば、これらを設定すれば同じ絵が出るはずだ。
best quality,masterpiece,ultra high res,(photorealistic:1.4),RAW photo,
a beautiful japanese woman,20yo,portrait,standing,looking at viewer,smile,
t-shirt,
in garden
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 3955280644, Size: 512x768
以下、Negative Promptだけ変えた作例4つ。
パターン1 | パターン2 |
パターン3 | パターン4 |
使用したNegative Promptは、「1.無し」、「2.ほぼ最小限」、「3.筆者標準」、「4.embeddingsを使う」の4つパターン。
4番目だけ他と違い別途ファイルが必要となり、ダウンロードしたファイルを[Stable Diffusionのホームディレクトリ]/embeddingsへコピーする。Negative PromptでEasyNegativeなどをよく見かけるがそれだ。ここではng_deepnegative_v1_75tとbadhandv4が該当する。Promptで書く替わりに、特別に学習したModelで同じ効果を得られるようになっている。
無し
(worst quality:2),illustration, 3d, painting, cartoons, sketch,
illustration, 3d, sepia, (painting), cartoons, sketch, (worst quality:2), (backlight:1.2), bad anatomy, bad hands, double navel, collapsed eyeshadow, multiple eyebrows, freckles, signature, logo, 2faces,
ng_deepnegative_v1_75t, (badhandv4:1.2), (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, ((monochrome)), ((grayscale)), watermark,
このNegative Promptに書かれている内容をザックリ並べると、低いクオリティ、塗り絵、3D、変な手、変なメイク、ヘソ2つ、顔2つ、文字やロゴ、モノクロやセピア調(但しこれを出したい時には外す)など。
ヘソ2つ、顔2つからも分かるように、標準的な人体の構造から外れる部分をこのNegative Promptに書き止める。更に手、腕、脚が3本(以上)だったりする場合もあり、Negative Promptに3hands、3arms、3legsなどが必要になる事もある。
なお、このPrompt中にある()や:2などはweight / 重みと呼ばれ、カッコの数が多いほど(通常は2つまで)、数字は大きいほど(0.1など小数点も可。通常は2まで)、強調される。
書いてる時に気がついたのだが、冒頭のほうれい線の件、(laugh line)と入れれば消える。あまり重みを加えると変になるのでほどほどに。絵柄も少し変わるため今回はSNOW修正版で行くが、筆者標準のNegative Promptへ追加したいと思う。BRAV6作例1はこのパターンで少し消している。
ご覧のように生成した画像はかなり違う。1は論外として、他は顔や絵柄など好みで使い分けることになるが、顔系のLoRAを使うと同じレベルで変わる事がお分かり頂けたと思う。普段使うテンプレがあるのなら一度見直してみるのも面白いかも知れない。このようにNegative PromptはStable Diffusionにおいて重要な機能となる。
余談になるが、実際の撮影では作例のような緑に囲まれた場所でレフ板などを使わないと確実に緑被りする。それが見事に再現しているのはなかなか面白い。4のみ色が違うが、これはng_deepnegative_v1_75tの影響だ。embeddingsを使った場合、大きく絵柄に影響するケースもあるため要注意と言ったところ。
そして2と3は指が4本。Negative Prompt の効果を比較するためのサンプル出力なので敢えて修正はしていない。頻度はCheckpointにもよるが、指問題はStable Diffusionの弱点の一つだ。
本数だけなく、5本あっても形が不自然だったりする。これをNegative Promptを含むPromptで工夫したり、各パラメータを細かく変えて様子を見る、場合によってはInpaint(該当部分だけ別途書き換える)する技もある。また4の様に腕を下ろして構図的に手(指)を見えなくする方法もある。同じく足の指も苦手。靴下や靴をPromptへ入れてごまかしたりする(笑)。
いずれにしても、指に関しては現状簡単な解決策は無く、運任せか後から手間を掛けるしかない。解剖学的に正しい手や望みのポーズをつけるための技術も次々と登場しているが、イラスト系はともかく情報量の多いリアル系ではまだ課題が多い状態だ。
掲載する写真もこの関係で必要枚数の10倍以上はガチャっている。それでも微妙な時は死角で見えないことにして…と言う感じだ。あまり気にし過ぎると(良いのに限って指が変)いい感じの写真を掲載できなくなってしまう。
最後、締めの縦位置グラビア1点。18回ほどガチャり、好きな顔が出たのでこれにした。Negative Promptは3に近いパターンを使い、指が4本だったので4fingersを加えている(それでも微妙だが)。AIっぽさは残っているものの、それはそれ。カメラマンとして、久々に現実でこんなの撮りたいな…と言う願望も込めて。
実際のグラビア撮影の経験から言えば、夕景バックのこの手の写真は天候だったり、撮影時間など、いろいろな条件がうまく合わないとなかなか撮れない1枚。仮に条件が整っても、周囲の落ち込み具合と、銀レフに未だ反射するだけの光量が夕日に残ってて、うまくバランスする時間は短く15分ほどだったりする。
以上、BRAV6のご紹介とNegative Promptの重要性に関しての話をした。次回は次世代Stable Diffusion XL(SDXL)の話になるのか(VRAM 12GBでは厳しそう)、何かのHow Toなのか…今のところ未定だ。
¥52,580
(価格・在庫状況は記事公開時点のものです)