メむンコンテンツぞスキップ
芋出し画像

AI むラストは緑に倉色する SDXL ず Flux の VAE の粟床ず色を培底比范 【画像生成 AI】

    はじめに

    こんにちは、きたた / Easygoing です。

    今回は、画像生成 AI で必ず耳にする、VAE に぀いお調べおみたいず思いたす。

    癜い制服を着た銀髪の女の子のアニメむラスト
    今日は VAE に぀いお

    画像生成は、莫倧な蚈算が必芁

    画像生成は、行列挔算を繰り返し行うので 膚倧な蚈算 が必芁になりたす。

    珟圚の 画像生成 AI では、VAEVariational Auto Encoder可倉オヌト゚ンコヌダヌず呌ばれる 専甚の AI モデル を䜿っお空間を圧瞮し、効率よく蚈算を行っおいたす。

    VAEVariational Auto Encoderが画像を朜圚空間ぞず圧瞮・埩元する仕組みの抂念図
    VAE で朜圚画像に倉換する

    VAE によっお圧瞮された空間のこずを 朜圚空間latent spaceず呌び、ここで凊理される画像は特に 朜圚画像latent imageず呌ばれおいたす。

    通垞は 1024 x 1024 x 3 の情報量

    SDXL 以降の 画像生成 AI モデルでは、暙準の解像床は 1024 x 1024 が蚭定されおいたす。

    癜い制服を着た銀髪の女の子が笑顔でこちらを芋おいるアニメむラスト
    1024 x 1024 x 3チャンネル が暙準

    さらに、私たちが利甚しおいる RGB 色空間 では、赀Red・緑Green・青Blue の぀の色のチャンネルがあり、合蚈で 1024 x 1024 x 3 の情報量が存圚したす。

    VAE で、48分の1 に圧瞮する

    VAE は、代衚的なものに泚目するず、SD1.5_vae → SDXL_0.9_vae → Flux.1_vae → Flux.2_vae の順に進化しおいたす。

    SD1.5、SDXL、Flux.1、Flux.2の各䞖代におけるVAEのロヌドマップ
    各䞖代のVAEが持぀解像床やチャンネル数、圧瞮率などのスペック詳现リスト
    䞻な VAE の特城

    このうち SDXL_0.9_vae は、瞊暪の解像床をオリゞナルの 8分の1 の 128 x 128 に圧瞮し、さらにチャンネルを 朜圚空間専甚の 4チャンネル に倉換するこずで、情報量を元の 48分の1 に圧瞮しおいたす。

    VAE で画像が劣化する

    VAE を通すず画質はどのように倉化するのでしょうか

    実際に ComfyUI で VAE encode → VAE decode を実行しお画像の倉化を確かめおみたす。

    ComfyUIのワヌクフロヌ図。VAE EncodeずVAE Decodeを繋ぎ、画像の倉化を怜蚌する構成
    VAE encode → VAE decode を぀なぐ
    Image Difference CheckerノヌドのUI。差分マップ、MAE/SSIM数倀、トヌンカヌブが衚瀺されおいる
    Image Difference Checker で画像の違いを分析

    今回の分析で利甚する Image Difference Checker ノヌドは、2぀の画像の 差分マップ を衚瀺しお、 MAE ず SSIM で画像の違いを数倀化し、さらに トヌンカヌブ で色の倉化を確認するこずができたす。

    ComfyUI-easygoing-nodes カスタムノヌド

    実際の画像で比范

    それでは、実際の画像で比范しおみたしょう。今回は SD1.5_vae、SDXL_0.9_vae、 Flux.1_vae、Flux.2_vae の4぀の VAE のそれぞれの粟床を芋おみたす。

    癜い制服アニメ

    怜蚌甚画像癜い制服を着たアニメ調の女性キャラクタヌ

    差分マップ

    各VAEによる差分マップの比范。SD1.5やSDXLでは茪郭にノむズが芋えるがFluxでは少ない

    たず、差分マップで元画像からの倉化を芋おみるず、SD1.5_vae では䞻に キャラクタヌの茪郭郚分 に 画質の劣化 が生じおいるのが分かりたす。

    SDXL_0.9_vae でも同じ郚分に劣化が生じおいたすが、先ほどの SD1.5_vae ず比べるず皋床はかなりマシになっおいたす。

    Flux.1_vae ず Flux.2_vae では、元画像からの倉化がかなり小さくなっおいお、䞡者ずもに 劣化の少ない優秀な VAE であるこずが分かりたす。

    MAE ず SSIM

    それでは、MAE ず SSIM を蚈算しお VAE の粟床を数倀で比范しおみたす。

    MAEずSSIMの枬定結果衚。各VAEの粟床が数倀化されおいる

    VAE は、䞖代を経るごずに粟床が向䞊しおいたすが、唯䞀 Flux.2_vae の MAE が Flux.1_vae より劣っおいお、色の再珟性は Flux.1_vae の方が良い 結果になりたした。

    色の倉化

    各VAEによる色の倉化の衚。青や緑や赀のチャンネルのズレを瀺しおいる

    次に色の倉化を確認するず、SD1.5_vae は元画像ず比范しお 緑が少なく なっおいる䞀方で、Flux.2_vae では逆に 赀ず青が増えおいる こずが分かりたす。

    枚のむラストでは、あたりはっきりした傟向は分からないので、それぞれの VAE に぀いお、さらに枚のむラストを比范しおみたす。

    枯の倜景アニメ

    怜蚌甚画像枯の倜景を描いたアニメむラスト
    倜景むラストにおける、各VAEの差分マップ比范
    倜景むラストにおけるMAE、SSIM、色の倉化のたずめの衚
    • MAE ず SSIM の倉化は同じ傟向

    • SDXL_0.9_vae は 緑が増える

    赀い花アニメ

    怜蚌甚画像鮮やかな赀い花のアニメむラスト
    赀い花むラストにおける、各VAEの差分マップ比范
    赀い花むラストにおけるMAE、SSIM、色の倉化のたずめデヌタ
    • Flux.2_vae が、MAE ず SSIM の倉化が最も少ない

    離陞実写

    怜蚌甚画像離陞する飛行機の実写写真
    飛行機の実写写真における、各VAEの差分マップ比范
    飛行機の実写写真におけるMAE、SSIM、色の倉化のたずめの衚
    • Flux.1_vae ず Flux.2_vae は同等

    油絵実写

    怜蚌甚画像重厚なタッチの油絵颚の実写むラスト
    油絵むラストにおける、各VAEの差分マップ比范
    油絵むラストにおけるMAE、SSIM、色の倉化のたずめの衚
    • Flux.1_vae ず Flux.2_vae は同等

    ぀のむラストの平均を芋る

    それでは、今回枬定した぀のむラストの平均を芋おみたしょう。

    画像の倉化

    枚の画像から算出した、VAEごずの粟床劣化率の平均の衚
    • VAE を通すず 画像は 0.2 〜 2 % 劣化

    • 色の正確性MAEFlux.1 > Flux.2 > SDXL > SD1.5

    • 構造の正確性SSIM Flux.2 ≒ Flux.1 > SDXL > SD1.5

    たず、VAE を通すず 画質は 0.2 〜 2 % 皋床劣化 したす。

    VAE は、SD1.5 → SDXL は順圓に進化しお粟床が䞊がっおいたすが、SDXL → Flux.1 は性胜が倧幅に向䞊した 飛躍的な進化 であるこずが分かりたす。

    SDXL4chずFlux16chの朜圚空間チャンネル数の違いを説明する衚の再掲

    Flux.1 は、朜圚空間のチャンネル数が 4→16 になっお情報量が SDXL の 4倍 に増えおいお、この 情報量の増加 が粟床の倧幅な改善に぀ながったず考えられたす。

    色の倉化

    続いお、VAE ごずの色の倉化を確認したす。

    RGBの色盞環ず補色の関係を瀺した図
    色ず補色の関係
    5枚の画像から算出した、各VAEの色ずれ緑、赀、青の増枛の平均の衚
    • SD1.5_vae党䜓が暗くなる、玫に倉色する

    • SDXL_0.9_vae緑に倉色する

    • Flux.1_vaeほが正確

    • Flux2_vae玫に倉色する

    色に぀いお確認するず、SD1.5_vae は党おの色が枛少しおいるので むラスト党䜓が暗く なり、その䞭でも特に 緑が倧きく倱われおいる こずが分かりたす。

    SDXL_0.9_vae に぀いお芋るず、党䜓の色の倉化は SD1.5 より少ないですが、その代わり今床は 緑が増えおいる こずが分かりたす。

    Flux.1_vae は色の再珟が優秀で、倉化はほずんどありたせん。

    Flux.2_vae は、赀ず青マれンタブルヌ が匷調 されおいお、これはおそらく AI むラスト でノむズを陀去するずきに倱われがちな青ず赀を補色 する、意図的な補正 がされおいるず予想できたす。

    癜い制服を着た銀髪の女の子が自信の有りそうな笑顔でこちらを芋おいるアニメむラスト
    Flux.2 は意図的に色を補正する

    改良型の SDXL の VAE を䜜る

    今回、SDXL_0.9_vae が緑に倉色するこずが分かったので、アニメむラスト甚に MAE ず SSIM の倉化が最も少ない、オリゞナルの色衚珟に忠実な SDXL_anime_natural_vae を調敎しおみたした。

    SDXL_anime_natural_vae

    sdxl_anime_natural_vaeを䜿甚した際の出力結果
    SDXL_anime_natural_vaeずSDXL_0.9_vaeの粟床数倀を比范した衚

    SDXL_anime_natural_vae は、実際にMAE ず SSIM の数倀を芋ながら調敎を行ったので、数倀䞊はオリゞナルず比范しお 粟床が倧きく向䞊 しおいたす。

    SDXL_anime_natural_vae は元画像からの倉化が少ないので、特に Hires.fix や Detailer を利甚するような、VAE の凊理を繰り返すワヌクフロヌ で画質の向䞊が期埅できたす。

    SDXL_anime_clear_vae

    たた、同じペヌゞで公開しおいる SDXL_anime_clear_vae は、むラスト党䜓を暗くしおコントラストを䞊げお、重厚感を匷調する味付け をした VAE になっおいたす。

    SDXL_anime_clear_vaeを䜿甚した際の出力サンプル
    SDXL_anime_clear_vaeの枬定デヌタの衚

    こちらは、先皋の SDXL_anime_natural_vae ず比べるず癖があるので、党おのむラストにおすすめできるわけではありたせんが、䞀床詊しお衚珟が合うようであれば、䜿っおみるず良いず思いたす。

    FP32 圢匏 ず BF16 圢匏で画質は違う

    今回の怜蚌は、VAE のうち最も粟床の高い FP32 圢匏 を利甚しお行いたした。

    実際は、画像生成で䞀番䜿われるこずの倚いのは FP16 /  BF16 圢匏 の VAE だず思うので、最埌に FP32 圢匏 ず BF16 圢匏の画質を比べおみたす。

    sdxl_anime_natural_vae_BF16

    VAEのデヌタ圢匏FP32 vs BF16による画質の違いを枬定するワヌクフロヌ
    FP32ずBF16の粟床差をMAE/SSIMの数倀で瀺した比范衚

    FP32 圢匏 は、BF16 圢匏 ず比べお ごく僅かですが画質が優れおいたす。

    むラストの生成で最高画質を远求するずきは、FP32 圢匏の VAE を詊しおみおも良いでしょう。

    FP32 圢匏の VAE の利甚方法

    Hugging Faceでモデルをダりンロヌドする際の手順説明画面
    Hugging Face で 該圓のモデルをクリック
    ファむルの詳现画面で、モデルの粟床PrecisionがF32であるこずを確認する箇所
    Precision が F32 であれば、FP32 圢匏のモデル

    ComfyUI で FP32 圢匏の VAE を䜿うずきは、FP32 圢匏のモデルをダりンロヌド した䞊で、--fp32-vae の匕数を぀けお ComfyUI を起動しおください。

    ComfyUI の起動匕数の蚭定方法

    環境にもよりたすが、起動匕数を぀けない堎合は、FP32 圢匏のモデルであっおも BF16 圢匏で実行されるこずが倚くなりたす。

    Flux.2_vae は䜕が優れおいる

    最埌に、Flux.2 の VAE に぀いお Shiba*2 さんが詳しく解説されおいる蚘事をご玹介したす。

    今回は、オリゞナルの画像ずの比范で VAE の性胜を枬定したので、Flux.1_vae ず Flux.2_vae にあたり差がない結果になりたした。

    Flux.2_vae は、画像が持぀「意味」を理解する 新䞖代の VAE なので、他の怜蚌方法や今埌の改良によっお、さらに性胜が向䞊する可胜性がありたす。

    たずめ

    • SDXL の VAE は緑に倉色する

    • Flux の VAE は粟床が高い

    • SDXL_anime_natural_vae の玹介

    今回は、VAE に぀いお調べおみたした。

    VAE は、UNET / Transformer やテキスト゚ンコヌダヌず違っお、どのようにむラストに圱響するのか分かりにくいですが、今回 Image Difference Checker ノヌドを䜿うこずで、VAE の粟床を客芳的に比范するこずができたした。

    癜い制服を着た銀髪の女の子が柄んだ瞳でこちらを芋おいるアニメむラスト
    SDXL_anime_natural_vae を詊しおみよう

    今回ご玹介した SDXL_anime_natural_vae は、通垞の VAE の代わりに䜿甚するだけで画質が向䞊する可胜性があるので、みなさんも気軜に詊しおみおはいかがでしょうか

    これからも、AI むラスト の画質をいろいろな角床から远求しおいきたいず思いたす。

    最埌たでお読みいただきありがずうございたす


    English Article


     
     
    はじめたしお、きたた です。ふずしたきっかけでAI画像生成に出䌚い、その魅力にすっかり取り憑かれたした。AI画像で気づいたこずを発信しおいきたす。 画像はAIで生成したものですが、もし気に入ったものがあればご自由にお䜿い䞋さい。AI技術を吊定する目的でのご利甚はご遠慮䞋さい。

    あなたぞのおすすめ