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

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

こんにちは、みんな。

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

前回は、GAN (Generative Adversarial Network) を使用して静止画像をアニメーション化する方法を紹介しました。

今日は、古い写真をカラー化する NoGAN の画像強化技術を紹介します。効果は以下のとおりです。

オリジナル画像

着色後

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

今日共有したプロジェクトは GitHub でオープンソース化されました。実行してみましょう。

1. 準備

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

 git クローンhttps://github.com/jantic/DeOldify.git

プロジェクトのルート ディレクトリに入り、Python 依存パッケージをインストールします。

 pip3 インストール-r要件.txt

コードを記述してプロジェクトを実行する前に、事前トレーニング済みのモデルをダウンロードする必要があります。このプロジェクトでは、次の 3 つのモデルが提供されます。

モデル

違いは次のとおりです。

  • ColorizeArtistic_gen.pth: 興味深いディテールと鮮やかさを備えた最高品質の画像カラー化を実現します。このモデルは、UNet のバックボーンとして resnet34 を使用し、NoGAN を介して 5 回の批評事前トレーニング/GAN サイクルで再トレーニングされます。
  • ColorizeStable_gen.pth: 横向きと縦向きで最高の結果を達成します。このモデルは、UNet のバックボーンとして resnet101 を使用し、NoGAN を介して 3 つの批評的事前トレーニング/GAN サイクルで再トレーニングされます。
  • ColorizeVideo_gen.pth: スムーズなビデオ用に最適化されており、Inception Generator/Critic Pretrained/GAN NoGAN トレーニングのみを使用します。スムーズなスピードを追求したため、前2作よりもカラー数が少なくなっています。
  • ダウンロードしたモデル ファイルをプロジェクト ルート ディレクトリの models ディレクトリに配置します。

2. コードを書く

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

 DeOldify .deoldify .generators からgen_inference_wide をインポートします
DeOldify.deoldify.filters から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 は次に写真をカラー化するために使用するモデルを指定します。

古い写真を読み取ってカラー化します。

 cv2をインポート
numpyをnp としてインポートする
PIL インポート画像から

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

フィルターされた画像= deoldfly_model .filter (
pil_img pil_img render_factor = 35 post_process = True


result_img = np .asarray (フィルターされた画像)
結果画像= cv2.cvtColor (結果画像, cv2.COLOR_RGB2BGR )
cv2 .imwrite ( 'deoldify.jpg' result_img )

cv2 を使用して古い写真を読み取り、PIL.Image モジュールを使用して写真をモデル入力に必要な形式に変換し、モデルに送信して色付けし、完了したら保存します。

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

<<:  液体ロボットはマーケティングの策略か、それとも自動化の未来か?

>>:  セマンティックAIとデータ管理の5つのトレンド

ブログ    
ブログ    

推薦する

...

...

浙江大学がSFロボットの群れを作り上げました!自主的に考え、自律的に移動してターゲットを追跡できる

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

データ構造とアルゴリズムの比較 バックスペースを含む文字列!

[[441739]]バックスペースで文字列を比較するLeetCode の問題へのリンク: http...

15歳の少女が農場の収穫機にヒントを得てピンポン球を拾うロボットを発明

最近、上海の15歳の中学生が卓球ボールを拾うロボットを発明した。体育館の床に散らばった卓球ボールを自...

中国の独立知的財産TianyuanディープラーニングエンジンとTensorFlowおよびPyTorchの比較を体験

[51CTO.com からのオリジナル記事] ディープラーニングを軸に早くから事業を開始した中国の ...

...

9 つのディープラーニング アルゴリズム、ご存知ですか?

[[439436]] 1フェーズまたは2フェーズのアルゴリズム2 段階アルゴリズムには、候補ボック...

Daguan Data: ナレッジグラフと Neo4j の簡単な分析

現在のビッグデータ業界では、アルゴリズムのアップグレード、特に機械学習の導入により、「パターン発見」...

製造業における人工知能の8つの応用シナリオ

人工知能の概念は、60年以上前の1950年代に初めて提案されました。しかし、モノのインターネット、ビ...

ヘルスケアにおけるロボット工学の新展開

ロボット工学は考えられるあらゆる分野に応用できます。教育、旅行、防衛など、あらゆる分野でロボット工学...

わが国には「人工知能」関連企業が43万社以上あり、2021年上半期には前年比150.8%増加した。

IT Homeは7月5日、統計によると、現在わが国には43万9000社の「人工知能」関連企業がある...

...

...