ログインする ユーザー登録する

自力で2倍HiRes化 チュートリアル

使用したAI Custom Model
私は普段キャラクター画像を出力するときは640×960ピクセルを使っているのですが、GPUがRTX3060TiのVRAM 8GBモデルのため、HiRes Fix(1280×1920ピクセル)しようとしてもVRAM不足エラーになってしまうようです。

Tiled Diffusion拡張機能を使ってみたところ2倍解像度で出力することはできたのですが、ちょっとぼやけたような結果となり、思ったより画質が良くないと感じました。

試行錯誤の結果、本来出したい解像度の半分のサイズ(1280×960ピクセル)でのimg2imgであれば出力できることがわかったので、以下のような手順で強引に高解像度画像を作成してみました。

使用例画像は前投稿( https://www.chichi-pui.com/posts/c540dda9-bc0f-4957-9c25-b3433656d961/ )から2枚選んでいます。

■①
まず、元画像を単体動作する超解像エンジンで2倍に拡大します。今回はRealESRGANなどいくつかのエンジンを併用して合成出力しました。輪郭線付近はくっきりとさせ、平坦な部分は元の質感を残すようにしています。
実はこれだけでもキャラクター部分だけならけっこうキレイになるのですが(目など細部が気になるならinpaintで直せますし)、よく見ると背景がドロドロに溶けたようになってしまっています。img2imgならこのような部分も描き直せるはずです。

■②
超解像結果を上下半分(1280×960ピクセル)ずつ切り出し、それぞれをimg2img(ノイズ除去度0.5)に掛けて描き直します。
結果、やはりTiled Diffusionよりキレイになり、背景もきちんと描き直されています。

■③
②の結果を再接続します。当然ですが、別々にimg2imgしており結果が異なるため、継ぎ目はきれいには繋がりません。

■④
そこでinpaintの出番です。繋いだ画像から中央部分(1280×960ピクセル)を切り出し、継ぎ目部分を少し広めにマスクして、ノイズ除去度0.5でinpaint出力します。
これにより、継ぎ目の部分を周囲になじませながら描き直すことで自然に繋いでくれます。よく見ると若干違和感が残る場合もあるのですが、たいていの場合は言われなければ気付かないレベルです。

■⑤
④のinpaint出力結果を③の中央部分に貼り戻し、完成となりました。


なんだか拡張機能とかでこういう処理はすでにサポートされていそうな気もしますが…手動での画像編集はこれまでの経験で慣れているので、私にはこれが手っ取り早いのでした。

呪文

入力なし

十条 蛍さんの他の作品

十条 蛍さんの他の作品

すべてを見る

おすすめ

ユーザー主催投稿企画(PR)

Amazon

トレンド

すべてを見る

ユーザー主催投稿企画

すべてを見る

新着イラスト

すべてを見る

ちちぷいグッズ

ショップを見る