5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム(類似度の改善)

Last updated at Posted at 2024-02-15

はじめに

画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲームでは、SSIMを使用しており、似ていない画像でも優勝してしまうことがありました。下記は、おそらく一致する輝度が多かった例。

image.png

他の手法を用いて改善していきます。

開発環境

  • Windows 11 PC
  • Python 3.11

LPIPS

LPIPSは、AlexNetやVGGなどの学習済み画像分類ネットワークの畳み込み層が出力する特徴量を基に類似度を算出する手法です

こちらを参考に実装します

1.ライブラリをインストール

$ pip install lpips==0.1.3

2.プログラムを作成

.py
import lpips
import torch
import torchvision.transforms.functional as TF
from PIL import Image

loss_fn_alex = lpips.LPIPS(net='alex') # best forward scores
#loss_fn_vgg = lpips.LPIPS(net='vgg') # closer to "traditional" perceptual loss, when used for optimization

path_img0 = "groundtruth.png"
path_img1 = "1.png"

# Variables im0, im1 is a PyTorch Tensor/Variable with shape Nx3xHxW
# (N patches of size HxW, RGB images scaled in [-1,+1])
img0 = Image.open(path_img0)
img0 = img0.convert("RGB")
img0 = (TF.to_tensor(img0) - 0.5) * 2
img0.unsqueeze(0)

img1 = Image.open(path_img1)
img1 = img1.convert("RGB")
img1 = (TF.to_tensor(img1) - 0.5) * 2
img1.unsqueeze(0)

# Higher means further/more different. Lower means more similar.
d = loss_fn_alex(img0, img1)
print("Perceptual loss",1-d.item()) # 1に近づくほど似ているように変更

※RGBAの画像があったため、convert("RGB")で変換しています

実行

エンジニアの輪@福岡

お題 1 2 3 4 5
groundtruth.png 浮島にお城が立っている_ドラゴンが飛び交.png 7つの小さな島が宙に浮いている_島には尖.png 雲の上の空が舞台_複数の島が空に浮いてい.png 空に浮かんだ島に_城が立っていて_ドラゴ.png 夕陽が見える空中都市に複数のドラゴンが飛.png
SSIM 0.153 0.367 0.360 0.391 0.305
LPIPS 0.228 0.200 0.221 0.179 0.185
6 7 8 9 10
空に島が浮かんでいて_島にはお城が浮かん.png ファンタジーの国である_翼の生えたドラゴ.png 雲海の上にお城が建築されている島がたくさ.png 7つの島_ドラゴンが大量に飛んでいる_虹.png 雲の上に浮かぶ王国の風景です_6つの島が.png
SSIM 0.364 0.268 0.297 0.322 0.295
LPIPS 0.160 0.232 0.235 0.174 0.222

AIミーティング

お題 1 2 3 4 5
groundtruth.png 01.png 02.png 03.png 04.png 05.png
SSIM 0.165 0.175 0.121 0.111 0.164
LPIPS 0.182 0.189 0.227 0.222 0.190
6 7 8 9 10
06.png 07.png 08.png 09.png 10.png
SSIM 0.192 0.156 0.265 0.162 0.171
LPIPS 0.187 0.204 0.096 0.251 0.235

個人的には7番の画像が一番近いと思ったのですが、、いかがでしょうか?

お題 7
groundtruth.png 07.png

特徴点のマッチングやセグメンテーションされた領域同士の比較、配置の近さなどを考慮してみたいです。

お疲れ様でした。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?