見出し画像

生成画像の類似度を評価する#1

こんにちは!Hi君です。
画像生成AIを触っていると、生成画像の選抜が必要になる時があります。
reference only を使っても、人の望む類似画像が出力されず似ているものだけを選んだり、ピックアップしてLoraに与える事もあると思います。また、寝る前に始めの数枚がうまくいったので、仕掛けて寝て起きたら割とボツが多かったという経験もあるかもしれません。

今回から4回に分けて人に替わって画像類似度を人のように評価するプログラムを検討してみます。


ニーズと概要


・ニーズはどんなものか
 ▶大量のランダム性のある画像生成成果物について、選定の助けになるような情報を付与したい。質の良い画像類似度指標を何かしら設定し、ベース画像に似ているかどうかの選定作業を省力的に行えるようにしたい。
 ▶大量の生成画像について、ベース画像と形状と色情報に着目した形で画像類似度指標を作成して欲しい。また指標値を元にしてスコアリング・ランキングする方法を開発し、作業効率改善に繋げたい。

・大事なポイントはどこか
 ▶目の色、目の形など領域的には限定的な細部は後から手を加えやすいので優先度は比較的低い。
 └大枠似ているかどうかが重要。
 ▶NGの例: 髪型がまったく異なる。色付きが全然違うなど。

画像類似度設定


・一旦以下の2種類の特徴量をハイブリッドに使う形を念頭に置き、コンセプトの確認や検証作業を行ってみた。
 ▶俯瞰的・抽象的な情報(輪郭や意味論的な情報)に重みを置いた画像特徴量 (画像処理用深層学習モデルのembedding vectorベースの特徴量

■メリット
・ふんわりとした概観ベースでの類似度設定を行いやすい

■デメリット
・可解釈性が少ない(どの領域にどこがどの程度類似度に寄与しているのか、を確かめるためには工夫が必要)
・人間の類似度感覚と多少乖離する可能性がある

・色情報に重みを置いた画像特徴量(色相ヒストグラムベースの特徴量)

■メリット
・ピクセル領域毎の重みを考慮しやすい(ヒストグラムベースの特徴量だったら、bin値にピクセル領域ごとの重みを適用できる等)

■デメリット
ノイズに弱い(弱そう)

・ツールとしては、例えば上の2つの指標について、更に顔領域・全体領域等RoIを設定しながら特徴量計算を行い、手設定でそれらの重みを決定し、類似度計算を行うような形が良いのではないか?

・実際性を検証するためにはどのような対象について、行うのがよいか。
 ▶ひとまず、"大枠似ているかどうかが重要。"というモチベーションに着目して、embedding vectorベースの特徴量で画像の類似度尺度を生成し、類似度マッピングしてみた。
 ▶類似度マッピング: 類似度を距離関係の形で表現したもの。2画像間の類似度が高ければサムネイル画像間の距離が小さくなるような可視化マップ。

可視化マップの生成結果


・赤がベース画像(類似度の基準となる画像)。輪郭の形状的には + 大枠としては各画像セット毎にクラスタができている(画像セットの違いを反映した類似度を設定出来ている)ように見える。

各画像セットの詳細

・赤枠画像: ベース画像

・緑枠画像セット: ベース画像を用いて低めのDenoise Strength設定(0.3)でimg2img画像生成を行い生成した画像セット
 ▶ベース画像に輪郭も色味も似ているデータセット

・紫枠画像セット: ベース画像を用いて低めのDenoise Strength設定(0.3)で、かつプロンプトに"random color hair, random color eyes"を追加した形でimg2img画像生成を行い生成した画像セット
 ▶輪郭はベース画像と似ているが、色味は微妙に違う画像セット

・青枠画像セット: ベース画像を用いて高めのDenoise Strength設定(0.5)でimg2img画像生成を行い生成した画像セット
 ▶色はベース画像に近いが輪郭的には比較的乖離している画像セット

可視化結果から分かる事

・類似度の基準としているベース画像に輪郭が明確に似ている画像セット(Denoise Strength低めで画像生成を行っている ≒ ベース画像からの変形量が少ない画像セット、緑枠画像セット)は、ベース画像に対して類似度が高くなるような形になっている。

・類似度の基準としているベース画像に輪郭が比較的乖離している画像セット(Denoise Strength高めで画像生成を行っている ≒ ベース画像からの変形量が大きい画像セット、青枠画像セット)は、ベース画像に対して類似度が低くなるような形になっている。

・紫枠画像セットのように、Denoise Strengthの値が緑枠画像セットと同程度(変形量的には同程度ともとれる設定)場合、つまりベース画像と色味が多少異なる場合は、ベース画像に対して類似度が低くなるような形になっている。

・トイプロブレム上は程度意図した形で可視化マップが出力されている ≒ 輪郭についての類似度尺度の一つが得られた。

今回は以上です。
embedding vectorベースの類似度尺度生成方法では、分類できないケースも見つかりました。次回#2ではその対応方法について検討していきます。

文:Hi君
協力:inaho株式会社


この記事が気に入ったらサポートをしてみませんか?