GoogleResearchは2日前に、最新の画像生成(補完)モデル「RealFill」を公開しました。
これは複数枚の参考画像を使って、不完全な画像を補完するモデルです。精度は驚くほど高いです。
画像補完はこれまであまり進化されていない分野で、従来のやり方はCNNモデルを使用して、不完全な画像から完全な画像へのマッピングを直接学習する感じで補完してます。
処理時間短いですが、複雑な画像の補完には向いていませんでした。イメージとしては以下の画像のようなシンプルなタスクに使われていす。
去年からDiffusionモデルが流行し、ノイズを加えた後で元の状態に予測して復元する方法なので、難しいタスクにも対応できるようになりました。ですが、復元する際のランダム性が高いために、この部分のチューニングが難しいです。生成された画像が元の画像とかなり異なることも少なくないです。(よくあるのはStable DiffusionのInpaintingです)
RealFillは微調整したDiffusionモデルで、復元の品質が大幅によくなりました。
一番変わったところは、Seedの選び方です。出力画像と参照画像間の特徴関係を、Googleが定義した指標(Correspondence-Based Seed Selection)で数値化しました。
具体的には、まず複数枚の出力画像を生成し、それらを{lout}という集合にまとめて、その後各loutの生成画像と元の参考画像間の特徴関係をLoFTRというツールを使ってSeedごとの指標を計算します。(Google独自のアルゴリズムで)
最終的には、Seedの指標を高い順に並んで、最も良いSeedで出力画像を選択します。
⇩に載せた画像は、左から順に参考画像、正解となる画像、RealFillで生成した画像、PaintbyExampleで生成した画像、StableDiffusionInpaintingで生成した画像を並べたものです。モヤがかかっていない部分が生成された部分です。例を見ると、RealFillでは位置関係などもかなり正確に生成できていることが分かります。
興味ある方は下の記事を参考してください
https://gigazine.net/news/20231001-realfill-photo-fill-ai/
https://arxiv.org/abs/2309.16668
https://realfill.github.io/