画像の高解像度化ツール

概要

このモデルを使用すると、画素の粗い画像の解像度を 4 倍に増やすと同時に、写真のようにリアルな細部を生成できます。このニューラル・ネットワークを支えているのは、OpenImages V4 データセットの 600,000 点の画像でトレーニングされた 敵対的生成ネットワーク (GAN) です。

この GAN は SRGAN-tensorflow GitHub リポジトリーこのリンク先の研究論文をベースとしたものです。

モデルのメタデータ

ドメイン アプリケーション 業種 フレームワーク トレーニング・データ 入力データの形式
視覚 高解像度化 一般 TensorFlow OpenImages V4 画像 (RGB/HWC)

ベンチマーク

Set5 著者の SRGAN この SRGAN
PSNR 29.40 29.56
SSIM 0.85 0.85
Set14 著者の SRGAN この SRGAN
PSNR 26.02 26.25
SSIM 0.74 0.72
BSD100 著者の SRGAN この SRGAN
PSNR 25.16 24.4
SSIM 0.67 0.67

この実装のパフォーマンスを評価するために使用したデータセットは、Set5、Set14、BSD100 の 3 つです。 PSNR (ピーク信号対ノイズ比) と SSIM (構造的類似性指数) のメトリックを評価しましたが、上述の研究論文では 最も有益なメトリックとして MOS (平均オピニオン評点) を考察しています。本質的に、SRGAN 実装は見た目に優れた結果と引き換えに、高い PSNR スコアまたは SSIM スコアを達成します。これにより、出力される一連の画像はより鮮明で、細部がより現実的なものとなります。

注: 研究論文で取り上げられている SRGAN は ImageNet の 350,000 点のサンプルでトレーニングされていますが、この SRGAN のトレーニングに使用したのは OpenImages V4 の 600,000 点の画像です。

参考資料

ライセンス

コンポーネント ライセンス リンク
モデルの GitHub リポジトリー Apache 2.0 LICENSE
モデルの重み Apache 2.0 LICENSE
モデルのコード (サード・パーティー) MIT LICENSE
テスト・アセット CC BY 2.0 サンプルの README
CC0 サンプルの README

このモデルのデプロイ方法

このモデルは、以下のメカニズムを使用してデプロイできます。

  • Docker Hub からデプロイする場合:

    docker run -it -p 5000:5000 codait/max-image-resolution-enhancer
    
  • Red Hat OpenShift からデプロイする場合:

    Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify codait/max-image-resolution-enhancer as the image name.

  • Kubernetes 上にデプロイする場合:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Image-Resolution-Enhancer/master/max-image-resolution-enhancer.yaml
    
  • ローカルにデプロイする場合: GitHub 上のモデルの README に記載されている手順に従います。

使用例

このモデルは cURL を使用してテストまたは使用できます。

cURL を使用してモデルをテストする

高解像度の出力画像を取得するためには、model/predict エンドポイントを使用してテスト画像をロードしてください (assets/test_examples/low_resolution フォルダー内にあるいずれかのテスト画像を使用できます)。

モデルをデプロイしたら、コマンド・ラインからモデルをテストできます。以下に例を示します。

curl -F "image=@samples/test_examples/low_resolution/food.png" -XPOST http://localhost:5000/model/predict > food_high_res.png

上記のコマンドは、低解像度の woman.png ファイルをモデルに送信し、高解像度の出力画像をルート・ディレクトリー内の woman_high_res.png ファイルに保存します。

理想的な入力画像は、解像度が 100×100 から 500×500 の範囲で、できればキャプチャー後の処理も派手な色も使われていない PNG ファイルです。このモデルは画素の粗い画像 (低 DPI) から細部を生成できますが、「ぼやけた」画像を修正することはできません。

結果の例 左: 入力画像 (106 x 159)、右: 出力画像 (424 x 636)