CodeFormer 概要
CodeFormerは、南洋理工大学S-Labの研究チームによって開発され、NeurIPS 2022で発表された、頑健なブラインド顔修復のためのコードベースである。Codebook Lookup Transformer技術を使用し、特に低画質画像や破損した画像を扱う場合に、画像中の顔の修復を改善することを目的としている。CodeFormerは、様々な画像処理のニーズに対応するため、顔の修復、色付け、パッチを含む幅広い機能を提供する。さらに、このプロジェクトはビデオ入力をサポートし、使いやすいオンライン・デモ、事前学習済みモデル、詳細な使用説明書を提供しています。
使用上の注意をよく読まないと正しく機能しない。古い写真の修復として正式に市販される場合、単純なPSベースが必要であり、そうでなければオンラインで同じ効果は得られない。
CodeFormer 機能一覧
- 顔面修復コードブック・ルックアップ・コンバータ技術により、低画質または破損した顔画像の鮮明さとディテールを向上させます。
- 画像の着色白黒画像や色あせた画像に自然な色を加えます。
- 画像修復画像に欠けている部分を修復して、完全な画像にします。
- ビデオ加工ビデオの顔の修復と強調をサポートします。
- オンラインデモオンラインデモ機能があり、ユーザーはブラウザで直接復元を体験できます。
CodeFormer ヘルプ
設置プロセス
- コードベースのクローン::
ギット クローン https://github.com/sczhou/CodeFormer cd コードフォーマー
- 仮想環境の作成と起動::
conda create -n codeformer python=3.8 -y condaはcodeformerをアクティブにする
- 依存関係のインストール::
pip install -r requirements.txt python basicsr/setup.py develop conda install -c conda-forge dlib
- 訓練済みモデルのダウンロード::
python scripts/download_pretrained_models.py facelib python scripts/download_pretrained_models.py dlib python scripts/download_pretrained_models.py CodeFormer
使用プロセス
- テストデータの準備テスト画像を
input/TestWhole
フォルダーに入れることができます。トリミングされ整列された顔画像をテストする必要がある場合は、それらをinputs/cropped_faces(クロップド・フェイス
フォルダー - 推論コードを実行する::
python inference_codeformer.py --input_path inputs/TestWhole --output_path results
このコマンドは
input/TestWhole
フォルダに保存し、その結果を結果
フォルダー
機能 操作の流れ
- 顔面修復::
- 復元する画像を
input/TestWhole
フォルダー - 推論コードを実行し、修復された画像を生成する。
- 復元する画像を
- 画像の着色::
- 白黒画像を
input/TestWhole
フォルダー - 利用する
推論_colourization.py
彩色用スクリプト。
- 白黒画像を
- 画像修復::
- パッチする画像を
input/TestWhole
フォルダー - 利用する
推論_inpainting.py
パッチを当てるためのスクリプト。
- パッチする画像を
- ビデオ加工::
- 指定したフォルダに動画ファイルを配置します。
- 推論コードを実行して、ビデオ内の顔を処理する。
顔の修復(顔のトリミングと位置合わせ)
# トリミングおよび整列された顔用
python inference_codeformer.py -w 0.5 --has_aligned --input_path [入力フォルダ].
全体的なイメージの向上
# 画像全体
# '---bg_upsampler realesrgan'を追加し、Real-ESRGANで背景領域を拡張する。
# '--face_upsample' を追加し、Real-ESRGAN で復元された顔をさらにアップサンプルする。
python inference_codeformer.py -w 0.7 --input_path [画像フォルダ/画像パス].
ビデオエンハンスメント
# ビデオクリップ用
python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path
忠実度の重みwは[0, 1]の中にある。一般的に、wが小さいほど高品質な結果が得られる傾向があり、wが大きいほど忠実度の高い結果が得られます。
結果は結果フォルダに保存されます。