はじめに
"Bringing Old Photos Back to Life "は、マイクロソフトの研究者チームによって開発されたオープンソースプロジェクトで、AI技術を使った古い写真の復元に焦点を当てている。ディープラーニングのアプローチに基づいており、傷やぼかし、色あせといった写真の深刻な劣化問題に対処し、歴史的な画像をよみがえらせることができる。このプロジェクトはCVPR 2020(Conference on Computer Vision and Pattern Recognition)で口頭発表され、広く注目を集めた。ユーザーはGitHubを通じてコードと事前に訓練されたモデルにアクセスすることができ、研究や個人的な写真復元のニーズに適している。このプロジェクトは技術的な実装を提供するだけでなく、開発者やホビイストのための詳細なドキュメントやサンプルも含んでいる。
https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing でのオンライン体験
機能一覧
- 古い写真の品質が全体的に向上AIアルゴリズムで写真の鮮明さ、コントラスト、色彩を向上させます。
- 自動キズ修理写真の物理的な傷を検出して修復し、元の画像の詳細を復元します。
- フェイスエリア強化顔の特徴をより鮮明にするために、顔の部分を微調整します。
- 高解像度対応プロフェッショナルな修復ニーズに応える高解像度写真の処理に対応。
- ユーザーインターフェイス操作写真のアップロードと復元プロセスを簡素化するGUIインターフェースを提供します。
- カスタマイズされたトレーニングモデル特定のデータセットをオンデマンドで学習させ、適用可能なシナリオを拡張することができます。
ヘルプの使用
設置プロセス
古い写真を蘇らせる」を使用するには、環境設定とコードのインストールを完了する必要があります。以下はUbuntuの場合の手順です(Windowsの方は環境に合わせてください):
1.環境を整える
- システム要件Nvidia GPUとCUDAをサポートするUbuntu(推奨)。
- パイソン版Python 3.6以上がインストールされていることを確認してください。
- 依存するインストール::
- ターミナルを開き、以下のコマンドを入力して必要なライブラリをインストールする:
pip install torch torchvision numpy opencv-python PySimpleGUI
- GPUサポートが必要な場合は、CUDAと対応するバージョンのPyTorchがインストールされていることを確認してください。
- ターミナルを開き、以下のコマンドを入力して必要なライブラリをインストールする:
2.コードとモデルのダウンロード
- クローン倉庫::
git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git cd 古い写真を復活させる
- 同期バッチ標準化モジュール::
- 入る
Face_Enhancement/models/networks/(フェイス・エンハンスメント・モデルズ・ネットワークス
カタログcd Face_Enhancement/models/networks/ git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm ./ cd .../.../.../
- 入る
グローバル/検出モデル
カタログも同様だ:cd Global/detection_models/ git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm ./ cd .../../
- 入る
- 訓練済みモデルのダウンロード::
- 入る
フェイス・エンハンスメント
カタログ、顔面強化モデルのダウンロード:cd Face_Enhancement/ wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip face_checkpoints.zipを解凍する。 cd .../
- 入る
グローバル
カタログ、ダウンロード Global Repair Model:cd Global/ wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/global_checkpoints.zip global_checkpoints.zip を解凍する。 cd .../
- 入る
- 顔検出モデル::
- 入る
顔検出
カタログからテストファイルをダウンロードしてください:cd Face_Detection/ wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 bzip2 -d shape_predictor_68_face_landmarks.dat.bz2 cd ./
- 入る
3.設置テスト
- サンプル・コマンドを実行し、環境が正しいことを確認する:
python run.py --input_folder ./test_images --output_folder ./出力 --GPU 0
- 成功すると、復元された写真は
./output/final_output/
カタログ
使用方法
コマンドラインからの操作
- 入力フォルダの準備復元したい古い写真をフォルダ(例えば
test_images/
). - 修復コマンドを実行する::
- 傷の修復はなし:
python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0
- スクラッチリペアを含む:
python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --with_scratch
- 傷の修復はなし:
- 結果を見る復元された写真は、指定された出力フォルダに自動的に保存されます。
/path/to/output/final_output/。
).
GUIインターフェースによる操作
- GUIの起動::
python GUI.py
- 手続き::
- 写真を選択」ボタンをクリックして、復元する古い写真をアップロードします。
- 写真の修正」ボタンをクリックし、処理が完了するまで待ちます(時間は写真のサイズとハードウェアの性能によって異なります)。
- 処理が完了すると、結果はインターフェイスに表示され、次のように保存される。
./出力
フォルダー - Exit Window "をクリックしてプログラムを終了する。
注目機能 操作手順
1.傷の修理
- 適用シナリオ写真には明らかな物理的傷があります。
- 操作方法::
- コマンドラインに
--with_scratch
パラメータを指定するか、GUIで該当するオプションにチェックを入れる(サポートされている場合)。 - システムは自動的に傷のある部分を検出し、修復しますが、処理には少し時間がかかる場合があります。
- 傷のある部分は滑らかに塗りつぶされているはずだ。
- コマンドラインに
2.顔の強化
- 適用シナリオ写真の顔がぼやけたり、細部が欠けている。
- 操作方法::
- セキュア
フェイス・エンハンスメント
ディレクトリ内のモデルは正しくロードされます。 - 走行中、システムは自動的に顔領域を認識し、微調整を行う。
- 出力された写真では、顔の細部(目や口角など)がより鮮明になります。
- セキュア
3.高解像度処理
- 適用シナリオ高解像度のスキャン写真を修正する必要があります。
- 操作方法::
- コマンドラインに
--HR
パラメーターpython run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --HR
- 注意:モデルはデフォルトで256x256の解像度で学習されるため、解像度が高くなるとより多くの計算リソースが必要になる場合があります。
- コマンドラインに
ほら
- 経路問題絶対パスを使用することをお勧めします。
/ホーム/ユーザー/test_images
ミスを避けるため)。 - パフォーマンス最適化プロジェクトの動作速度は最適化されておらず、大きな写真は処理に時間がかかる可能性があります。
- 解像度の限界256x256ピクセルが最良の結果で、それ以上の解像度の場合はチャンクする必要があります。
以上の手順で、個人的な思い出であれ、研究目的であれ、ユーザーは簡単に古い写真の復元を始めることができ、満足のいく結果を得ることができる。