見出し画像

建築ビジュアルCG AI活用法③ AIレタッチ~人物を変える~

こんにちは。STUDIO55技術統括の入江です。
前回に続き、建築ビジュアルCG制作におけるAI活用法として、今回は、『AIを使ったレタッチ』を紹介します。

※生成AIのカテゴリ分けについては、前のコラム記事をご覧ください。

Adobe Generative AIのFireflyなどもそれに当たりますが、一口に “レタッチ” と言ってもさまざまな用途で使い分けます。
例えば、シーンに点景を追加する。風景を変える。素材を変える。部分的にデザインを変える。画のクォリティを上げる、等々…。それによって使用するAIのプラットフォームを変えます。
1つのジェネレーティブAIで全ての用途をこなすこともできますが、それぞれのAIの得意分野に合わせて使い分けた方が、より効率的にイテレーションを高められます。

今回は、Stable Diffusion Web UI AUTOMATIC1111を使って建築CGパースの人物のクォリティを上げます。

AIレタッチは通常のレタッチとは異なり、まさに“魔法のレタッチ”です。




建築CGで必須とされるのが、“人物入れ”です。
もちろん、用途によっては人を入れないこともありますが、基本的には人物を配置することが前提です。

人物入れについては、これまではPhotoshopなどの画像系ソフトで2Dの画像合成を行うのが一般的でした。しかし、最近では3Dデータを用いて直接レンダリングする手法も増えています。
CG制作で主に使用されるレンダラーとして、V-RayCorona がありますが、いずれも3DデータアセットのChaos Cosmosから、人物データを簡単にシーン配置できるようになっています。

※V-Ray for 3dsMax のChaos Cosmos画面

また、LumionTwinmotionD5 Renderといった建築系ソフトにおいても、同様のアセットがあります。

3Dの人物モデルは確かに便利ですが、静止画では満足のいくクォリティを得られない場合があります。動画制作の作業効率を考えた「切り出し」としての静止画制作では仕方ないといった面もあるかと思いますが、それでも制作者としては高いクォリティを維持したいものです。

昨年(2023年)7月、AIの活用方法を模索する中で、人物のクォリティを向上させるための試行錯誤を行い、その結果を社内で共有しました。

その際の内容をご紹介します。


人物のクォリティを上げる

テスト用に3dsMaxで簡単な空間シーンを作成し、Chaos Cosmosの人物データを配置します。

※Chaos Cosmos 1079 Alexis 002 Standing データ
※3dsMax UI

V-Rayでレンダリングしたのがこの画像です。

※3dsMax V-Rayでレンダリングした画像

CG空間にそのまま配置していることから、人物にあたる光や影はリアルです。人物画像で合成レタッチする場合とは異なり、ごく自然に馴染んでおり、画処理で馴染ませる作業がない分、間違いなく効率的でもあります。
コーヒーカップ片手に立つポーズはキッチン空間に適当かと思いますが、やはり人物としてはもう少し違うタイプにしたいと思います。

そこで、AIを使って人物を調整します。

SD-A 1111を使って、プロンプトで人物をレタッチ生成したのが、こちらの画像です。

かなり良い感じです。笑顔がさわやかで、思った以上の結果です。

ちなみに “プロンプト”“呪文” と呼ばれ、入力するテキストのことで、生成したい内容をテキストで指示するためのものです。また、生成したくない要素は “ネガティブプロンプト” にテキストを打ち込みます。
画像生成AIでは、このプロンプトが肝になります。
例えば、“もっと笑う, スタイルが良い, カジュアルでスリッパを履いて…” 等と、呪文を唱えて指示した内容を生成させます。
こう言うと簡単なようですが、これがなかなか思い通りにいかないので、それなりのコツが必要になります。
現在ではプロンプト(呪文)を専門に作成・研究する 『プロンプトエンジニアリング』 と呼ばれる仕事まで登場しているぐらいです。

改めて画像を比較して見ると(下画像参照)、人物の基本的な形状は維持したまま。光の当たり具合や影の調子も変わっていません。元のCGモデルで配置したまま空間に馴染んでいる、というのが分かります。

左:元画像 右:AI 生成画像


違う人物にしてポーズを指定する

次に、元とはまったく違う人物に変化させ、こちらで指定したポーズをとらせます。

ControlNetOpen pose Editorを使います。

Inpaintで範囲指定。

ジェネレートを繰り返します。

1回目
2回目
3回目
 4回目

CFG Scale、Denoising strength、Steps、Control Weightなどのパラメータ調整を繰り返しながら、最適なSeed値で追い込みをかけます。

テストを重ねた最終結果が、次の画像です。

元画像からは想像もできない別人物になりました。思い通りのポーズにすることもできています。


Generation Data
a beautiful woman leaning, (put on slippers:1.2), smiling, (((blue jeans)))++, (white dress shirt)+++, photo, real, hight detail, gray marble floor.Negative prompt: cartoon, 3d, ((disfigured)), ((bad art)), ((deformed)),((extra limbs)),((close up)),((b&w)), weird colors, blurry, (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck))), Photoshop, video game, ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, mutation, mutated, extra limbs, extra legs, extra arms, disfigured, deformed, cross-eye, body out of frame, blurry, bad art, bad anatomy, 3d render Steps: 120, Sampler: DPM++ 2M SDE Karras, CFG scale: 5, Seed: 2028783029, Size: 1024x1024, Model hash: aa78bfa99c, Model: epicrealism_newEra, Denoising strength: 0.75, Mask blur: 4, ControlNet 0: "preprocessor: none, model: control_v11p_sd15_openpose [cab727d4], weight: 0.75, starting/ending: (0.02, 0.4), resize mode: Crop and Resize, pixel perfect: False, control mode: ControlNet is more important, preprocessor params: (512, -1, -1)", Version: v1.4.0


Lumion人物データのリアル変換

Lumionのアセット人物データは、特にローポリのものが多い印象なので、より違いがハッキリ分かるかと思います。また、Lumionでの動画制作と合わせての静止画切り出し制作で有効活用ができます。

Lumionの人物アセットをSD調整したテスト例を挙げておきますので、比較してご覧ください。

洋服のシワ感、人物の表情、髪の毛に至るまで、非常にリアルになっているのが分かります。
また、老人2人の画像では、木漏れ日の表現まで、より繊細でリアルになっています。


Stable Diffusionについて

使用したStable Diffusionについて少し解説しておきます。

Stable Diffusionは、Stability AI社が開発した無料で使える画像生成AIサービスです。

“Stable Diffusion”といってもいくつか種類があり(Stable Diffusion XLStable Diffusion Online等)、使う方法で、大きくWeb版ローカル版の2種類に分かれます。
また、Stable Diffusion Web UIは、Automatic1111版Forge版があります。
画像生成AIは膨大な計算処理を行うので、ローカルマシーンで使用する場合、ハイスペックなGPUパワーが必須となります。VRAMも8GBクラスでは生成エラーになりますのでご注意ください。
※GPUスペックによって、生成にかかる時間差が顕著になります。

Forge版はVRAMを節約できるといったものになりますので、VRAM、GPUメモリ不足の場合にオススメな使用となります。
※6GB~8BG以上のVRAMではあまり効果がないようですので注意が必要です。

Stable Diffusion Web UIをローカル使用するには、現在は色々な方法もありますが、基本的にはPythonをインストールし、コマンドでローカル構築します。デスクトップアイコンなどは作られませんので、使用には、Cドライブフォルダのバッチ(.bat)起動になります。

どれだけ生成しても無料で利用ができるメリットはもちろん、オープンソースである事から、多くのユーザーがGitHubにアップしているExtensionを使って拡張機能を加える等、独自の使用用途に合わせてファインチューニングできる魅力があるので、AIを限りなくコントロールして使いたい場合や、画像生成AIそのものの仕組みを理解するにも、出来合いのシステムを使用するより理解が深まるといった特徴があります。

現在は、SDXLに加え、ComfyUIバージョンもあり、特徴的なノードベースUIと、VAEデコードからREFINERの自動クォリティ処理をセットにして、1024×1024のネイティブ解像度使用で画像生成します。

ComfyUI画面
ComfyUI - REFINER比較

人物と車の破綻修正、洋服のシワ感等、クォリティが変わっているのが分かります。

ComfyUI - REFINER比較

髪の毛の光の反射を始め、全体のディテールが上がっているのが分かります。

ローカル設定によるマシーンスペックの問題や、ComfyUIに限ってはノードベースUIが使いやすいかどうか等、個人差によるところがありますが、Stable Diffusionは業界トップクラスの画像生成AIプラットフォームです。

他にも、MidjourneyLeonardo.AIDALL・E-3など、代表格のジェネレーティブAIはたくさんありますので、自分に合ったプラットフォームを選ぶのが賢明な使い方になると思います。

参考にしてください!