Python + AI で古い写真をカラー化

王林
リリース: 2023-04-10 20:11:01
転載
1705 人が閲覧しました

###こんにちは、みんな。

今日も引き続き、興味深い AI プロジェクトを皆さんと共有していきます。

前回は、GAN (敵対的生成ネットワーク)

を使用して静止画像を動かすを共有しました。

今日は、NoGAN の画像強化テクノロジーを使用して古い写真をカラー化する方法を共有します。効果は次のとおりです。

Python + AI で古い写真をカラー化

元の画像

Python + AI で古い写真をカラー化

着色後

NoGAN は新しいものです。 GAN のタイプでは、GAN のトレーニングにかかる時間が最も短くなります。

今日共有するプロジェクトはすでに GitHub 上のオープンソース プロジェクトです。実行してみましょう。

1. 準備

まず、git clone コマンドを使用してソースコードをダウンロードします。

git clone https://github.com/jantic/DeOldify.git
ログイン後にコピー
プロジェクトのルート ディレクトリを入力し、Python の依存関係パッケージをインストールします。

pip3 install -r requirements.txt
ログイン後にコピー
プロジェクトを実行するコードを記述する前に、事前トレーニングされたモデルをダウンロードする必要があります。このプロジェクトは 3 つのモデルを提供します:

Python + AI で古い写真をカラー化

モデル

違いは次のとおりです:

    ColorizeArtistic_gen.pth: 興味深い詳細活力の点では、最高品質の画像着色効果が達成され、モデルは UNet 上のバックボーンとして resnet34 を使用し、NoGAN を通じて 5 回の批評家事前トレーニング/GAN サイクル繰り返しでトレーニングされています。
  • ColorizeStable_gen.pth: 風景とポートレートで最良の結果を達成するこのモデルは、バックボーンとして resnet101 を使用し、NoGAN を介した 3 回のクリティカル事前トレーニング/GAN ループ反復により UNet 上でトレーニングされました。
  • ColorizeVideo_gen.pth: スムーズなビデオ用に最適化されており、初期ジェネレーター/クリティカル事前トレーニング/GAN NoGAN トレーニングのみを使用します。スムーズな速度を追求したため、前2つよりも色数が少なくなっています。
  • ダウンロードしたモデル ファイルをプロジェクト ルート ディレクトリの models ディレクトリに置きます。
2. コードの記述

プロジェクトのルート ディレクトリと同じディレクトリに Python ファイルを作成し、ダウンロードしたモデル ファイルをロードするコードを記述します。

from DeOldify.deoldify.generators import gen_inference_wide
from DeOldify.deoldify.filters import MasterFilter, ColorizerFilter

# 指定模型文件
learn = gen_inference_wide(root_folder=Path('./DeOldify'), weights_name='ColorizeVideo_gen')

# 加载模型
deoldfly_model = MasterFilter([ColorizerFilter(learn=learn)], render_factor=10)
ログイン後にコピー
root_folder はプロジェクトのルート ディレクトリを指定し、weights_name は写真の色付けに次に使用されるモデルを指定します。

古い写真を読み取り、色を付けます。

import cv2
import numpy as np
from PIL import Image

img = cv2.imread('./images/origin.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
pil_img = Image.fromarray(img)

filtered_image = deoldfly_model.filter(
pil_img, pil_img, render_factor=35, post_process=True
)

result_img = np.asarray(filtered_image)
result_img = cv2.cvtColor(result_img, cv2.COLOR_RGB2BGR)
cv2.imwrite('deoldify.jpg', result_img)
ログイン後にコピー
cv2 を使用して古い写真を読み取り、PIL.Image モジュールを使用して写真をモデル入力に必要な形式に変換し、送信します。色付け用のモデル。完成したら色を付けて保存します。

上記のコードはプロジェクトのソース コードから抽出されたものですが、ご覧のとおり、コードの実行は非常に簡単です。

以上がPython + AI で古い写真をカラー化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!