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つのトレンド

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

Transformerの本質的欠陥を解決する:復旦大学らが提案した線形複雑性SOFT

[[437909]] Visual Transformer (ViT) は、パッチ単位の画像トーク...

アプリケーション管理における AI/ML のユースケース

[[320826]]概要人工知能ベースの運用 (AIOps) は、人工知能と従来の AM/IM 運用...

人工知能はますますあらゆる分野に浸透しつつある

近年、人工知能技術は急速に発展し、ますます多くの分野でその急速な発展の勢いと大きな可能性を発揮してい...

...

機械学習アルゴリズムの基礎知識

利用できるアルゴリズムは多数あります。難しいのは、さまざまな種類の方法があり、それらの方法に拡張もあ...

Googleは大規模モデルをより「インテリジェント」にし、GPT-4タスクの精度が大幅に向上しました。

Google といくつかの大学による最近の研究により、大規模なモデルが人間の「心」を持ち始めること...

...

「水中ドローン」が登場?柔らかいロボット魚が世界最深の海溝を探索

「陸地が3つ、海が7つ」。広大な海には数え切れないほどの謎が隠されている。深海探査は工学技術分野で常...

AI インテリジェント音声認識アルゴリズム パート 1

[[397592]] 1. 音源定位1. 電子走査アレイシステムが出力信号のパワーが最大となる点ま...

...

アメリカの企業は単純なタスクを処理するためにAIを活用することに熱心だが、若者にはトレーニングや開発の機会が不足している

7月18日のニュース、Businessinsiderによると、米国の若い労働者はキャリア危機に直面し...

RSAは暗号化アルゴリズムへのバックドアの追加を否定

米国のセキュリティサービスプロバイダーRSAは昨日、同社が米国国家安全保障局(NSA)と協力して暗号...

マイクロマシンラーニングは、マイクロプロセッサにディープラーニングを組み込むことを約束する

翻訳者 | 朱 仙中校正 | 梁哲、孫淑娟ディープラーニング モデルの初期の成功は、大量のメモリと ...

ショック! Google がショウジョウバエの脳全体を自動で再構築: 40 兆ピクセルの画像が初めて公開されました。

昨日、Google はハワード・ヒューズ医学研究所 (HHMI) およびケンブリッジ大学と共同で、シ...