見出し画像

【Flask】画像を高解像度化するWebアプリケーションを実装する手順

この記事では、「Flask」および「Real-ESRGAN」を用いて、画像を高解像度化(画質を向上)するWebアプリケーションを実装します。


<概要>

はじめに

この記事では「Flask」および「Real-ESRGAN」を用いて、画像を高解像度化(画質を向上)するWebアプリケーションを実装します。

以下のようなWebアプリケーションを作成していきます。

完成イメージ
  • 大まかな流れ
    ① 画面左側の枠内に画像ファイルをアップロード
    ② 送信ボタンをクリック
    ③ 高解像度化処理
    ④ 画面右側の枠内に高解像度化した画像を表示

Real-ESRGANとは?

「Real-ESRGAN」は、画像を高解像度化するAI(機械学習)技術です。
高解像度化の精度が高く、高速、さらに無料で使用可能であることから、画像の高解像度化を行うアプリケーション開発時に頻繁に使用されております。

  • Real-ESRGANの特徴
    ① 高解像度化の精度が高く、高速
    ② 使用方法が簡易
    ③ 無料

① 高解像度化の精度が高く、高速
高解像度化を行うAIとしては、他に「waifu2x」や「Real-CUGAN」がありますが、「Real-ESRGAN」は他のAIよりノイズが少なくシャープな画像を生成する上に、処理速度も高速と言われております。
出典1, 出典2, 出典3

② 使用方法が簡易
「Real-ESRGAN」では3種類の使用方法があります。
    ・ オンラインインタフェース
    ・ 実行ファイルの提供
    ・ Phythonスクリプト

いずれの方法でも複雑なコーディングは不要であり、簡易に使用可能です。この記事では、Webアプリケーションに「Real-ESRGAN」を組み込むため、2番目の実行ファイルをダウンロードして使用します。
出典

③ 無料
「Real-ESRGAN」は「BSD 3-Clause "New" or "Revised"」ライセンスであり、個人利用、商用利用含めて無料で使用可能です。

Flaskとは?

Flask(フラスク)は、最小限の機能に絞ったPythonのウェブアプリケーションフレームワークです。「マイクロフレームワーク」と呼ばれております。

Flaskは「Netflix」,「reddit」,「CRED」などの有名なサービスでも使用されている非常に人気のあるフレームワークです。

「BSD-3-Clause」ライセンスであり、個人利用、商用利用含めて無料で使用可能です。

出典: 公式サイト , Who uses Flask? , ライセンス

この記事で学べること

  • 「Flask」によるWebアプリケーションの実装方法

  • 「Real-ESRGAN」の簡単な使い方

  • 「GET」「POST」を使用したサーバ〜クライアントアプリケーションの作り方

実務活用例

  • 画像処理系Webアプリケーションの開発

  • AIを組み込んだWebアプリケーションの開発

  • サーバ〜クライアント型Webアプリケーションの開発

タイトル画の出典
Stable Diffusion により生成したものを加工


<実装準備>

環境

この記事では、以下のような開発環境、ツールを使用します。

  • 開発環境
    お好きなターミナル、エディタをご使用下さい。

    また、著者のPythonのバージョンは以下となります。
    Python 3.9.12

  • ツール

    • AI
      Real-ESRGAN

    • Pythonのライブラリ

      • Flask

      • numpy

      • OpenCV

      • schedule

環境構築

事前準備が必要なツール類をインストールします。
(「Real-ESRGAN」はChapter4の中で説明します。)

  • Pythonのライブラリ
    ターミナル(コマンドプロンプトなど)上で以下のコマンドを実行し、インストールします。

pip install flask numpy opencv-python schedule

ここから先は

14,896字 / 21画像

¥ 500

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