2つの画像が似ているか、SSIMとPSNRを計算するには

2つの画像がどれくらい似ているかを客観的に比較したいことがあります。よく使われているSSIM指標とPSNR指標の計算方法について説明します。

SSIM指標の範囲は、0.0〜1.0です。1.0に近いほど似ています。また、0.98以上で、目視で見分けがつかないぐらい同じだそうです。

PSNR指標の範囲は、0〜無限大です。大きいほど似ています。

http://www.jiima.or.jp/pdf/5_JIIMA_guideline.pdf によると、

PSNRSSIM主観評価
40〜0.98以上元画像と区別がつかない
30〜400.90〜0.98拡大すると劣化がわかる
〜30〜0.90明らかに劣化がわかる

ImageMagick同梱のcompareコマンドでSSIM計算できます。

$ compare -metric SSIM  a.jpg  b.jpg  NULL:
0.354226Code language: Bash (bash)

PSNR計算もできます。

$ compare -metric PSNR  a.jpg  b.jpg  NULL:
16.8201Code language: Bash (bash)

計算できる指標の一覧を表示します。

Ubuntu 18.04のImageMagickは6.9.xなので、SSIM計算できませんでした。

$ compare -version
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
...Code language: Bash (bash)
$ compare -list Metric
AE
Fuzz
MAE
MEPP
MSE
NCC
PAE
PHASH
PSNR
RMSECode language: Bash (bash)

macOSにインストールしたImageMagickは、7.0.8でした。SSIM計算できました。

$ compare -version
Version: ImageMagick 7.0.8-47 Q16 x86_64 2019-05-30 https://imagemagick.org
Code language: Bash (bash)
$ compare -list Metric
AE
DSSIM
Fuzz
MAE
MEPP
MSE
NCC
PAE
PHASH
PSNR
RMSE
SSIM
Code language: Bash (bash)
タイトルとURLをコピーしました