1. ホーム
  2. スクリプト・コラム
  3. パイソン

Python 人工知能 古い写真 修復 アルゴリズム 学習

2022-01-27 17:07:19

前書き

古い写真や壊れた写真を修復する方法は?この記事は主に、非常に優れた写真修復オープンソースプロジェクトを使用した後のブロガーを共有しています。古い写真を生き返らせる。

プロジェクトのGithubアドレスです。 プロジェクトのアドレス

まず、公式レンダリングから見てみましょう。

今見ても、この画像はすごいと思います。以下、プロジェクトの環境をインストールし、デプロイし、最後に使用する様子を紹介します。

プロジェクト環境設定

プロジェクト環境の構築は少し複雑なので、少しお話します。

conda仮想環境作成

プロジェクトのREADME.mdファイルにpythonバージョン3.6以降が必要です。

anacondaで仮想環境boblを作成します。

conda create -n bobl python=3.6

 環境の活性化

conda activate bobl

Pycharmプロジェクトのインタープリタを設定し、pythonのbobl環境下のcondaディレクトリenvsに設定します。

Pytorchのインストール

公式プロジェクトのrequirements.txtにはpytorchが含まれていますが、念のため、Pytorchの公式サイトへ行き、インストールしてください。 PyTorch

ローカルにグラフィックカードが挿さっていないため、cpu版がインストールされています。

対応するコマンドを選択して、Pytorch ライブラリをインストールします。

Synchronized-BatchNorm-PyTorchリポジトリのインストール

 公式のインストール手順では、Synchronized-BatchNorm-PyTorch プロジェクトをデプロイする必要性を説いています。

ここで一つ注意点ですが、Synchronized-BatchNorm-PyTorchプロジェクトのsync_batchnormを親ディレクトリにコピーしておく必要があります。ディレクトリの完全なインターフェイスについては、次の画像を参照してください。

グローバルカタログ同期-バッチノルム-PyTorchプロジェクトデプロイメント

また、公式の説明書では、Synchronized-BatchNorm-PyTorch プロジェクトを Global 内にデプロイすることが要求されています。

sync_batchnormを親ディレクトリにコピーするのも同じです。構造は以下の通りです。

検出前処理モデルダウンロード

主に写真の顔部分を認識するために、検出用の前処理モデルが必要です。

 解凍された場所に注目すると、次のような構造になっている。

顔面強調モデルファイルのダウンロード

公式の説明です。

2つのモデルのzipをダウンロードし、以下の構造で対応するディレクトリに解凍します。

依存関係のダウンロード

なお、ここでは既にインストールされていたpytorchの依存関係のインストールを削除しました。

dlib
scikit-image
easydict
PyYAML
dominate>=2.3.1
dill
tensorboardX
scipy
opencv-python
einops
PySimpleGUI

インストールコマンドです。

pip install -r requirements.txt -i https://pypi.douban.com/simple

フルデプロイ後のプロジェクト構成

全構造は以下の通りです。

このプロジェクトでは

公式で渡された図は使わない、意味がない。自分で1面用と複数面用の2種類の図を用意しました。

では、正式に与えられたコマンドを実行してみましょう。

傷の除去と高さの削減を含む、このコマンドを直接底面で使ってみましょう。実行の様子を見てみましょう。

(bobl) D:\spyder\Bringing-Old-Photos-Back-to-Life>python run.py --input_folder E:\csdn\old_photos --output_folder result1/ --GPU -1 --with_ scratch --HR
Running Stage 1: Overall restoration
initializing the dataloader
model weights loaded
directory of testing image: E:\csdn\旧照片
processing 1.jpg
processing 2.jpg
Mapping: You are using multi-scale patch attention, conv combine + mask input
Now you are processing 1.png
C:\ProgramData\Anaconda3\envs\bobl\lib\site-packages\torch\nn\functional.py:3635: UserWarning: Default upsampling behavior when mode= bilinear is changed to align_corners=False since 0.4.
.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.
  "See the documentation of nn.Upsample for details.".format(mode)
Now you are processing 2.png
Finish Stage 1 ...
 
 
Running Stage 2: Face Detection
12
Finish Stage 1
Finish Stage 2 ...
 
 
Running Stage 3: Face Enhancement
dataset [FaceTestDataset] of size 13 was created
The size of the latent vector size is [16,16]
Network [SPADEGenerator] was created. total number of parameters: 92.1 million. to see the architecture, do print(network).
Hi :)
Finish Stage 3 ...
 
 
Running Stage 4: Blending
Finish Stage 4 ...
 
 
All the processing is done. please check the results.
 
(bobl) D:\spyder\Bringing-Old-Photos-Back-to-Life>

出力ファイルには、最終結果だけでなく、検出された各顔の処理前と処理後の結果も含まれています。結果は以下のような構成になっています。

を検証してください。

1. 最終的な多人数撮影の結果を検証します。下の上画像が出力結果画像、下画像が元画像です。傷が消えているものもあれば、まだ残っているものもありますが、全体的に立体的でシャープなタスクになっていることが分かります。

2、一人写真最終効果検証、下の上の写真は結果写真、下の写真は元の写真です。一人の人物は非常に明白で、傷がなくなるだけでなく、人物もより鮮明で立体的になり、効果は本当に良いものです。

3. また、モデルは複数人画像のすべての顔を認識し、その結果を実行するので、それらを比較して、細部がどの程度修正されているかを確認することができます。

概要

他にも公式のコマンドが出されているので、全て検証することはしません。全体的には非常に良い仕上がりです。ただ、マルチプレイヤーのグラフに少し欠点があります。欠点はありますが、圧倒的なものではありません。

これは、Pythonの人工知能古い写真の復元アルゴリズムの学習についてのこの記事の終わりです、より関連するPythonの人工知能の内容は、スクリプトの家の前の記事を検索してくださいまたは次の関連記事を閲覧し続けるあなたは、将来的に多くのスクリプトハウスをサポートして願っています!.