github地址/microsoft/Bringing-Old-Photos-Back-to-Life
下载源码
git clone /microsoft/Bringing-Old-Photos-Back-to-Life.git
下载组件
cd Face_Enhancement/models/networks/git clone /vacancy/Synchronized-BatchNorm-PyTorchcp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .cd ../../../
cd Global/detection_modelsgit clone /vacancy/Synchronized-BatchNorm-PyTorchcp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .cd ../../
下载训练模型
cd Face_Detection/wget /files/shape_predictor_68_face_landmarks.dat.bz2bzip2 -d shape_predictor_68_face_landmarks.dat.bz2cd ../
cd Face_Enhancement/wget /microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zipunzip face_checkpoints.zipcd ../cd Global/wget /microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/global_checkpoints.zipunzip global_checkpoints.zipcd ../
资料包
1.shape_predictor_68_face_landmarks.dat.bz2
链接:/s/1Aa5KnBATUIusuKJ4SBiS8w
提取码:6nwl
2.face_checkpoints.zip
链接:/s/13CU_pj1n8D17uN7BsDG0GA
提取码:b7j1
3.global_checkpoints.zip
链接:/s/1xub_9z3jyqMEZNqZwg7LEA
提取码:505v
4.python-3.7.4-amd64.exe
链接:/s/1bq2skp0GtUo4WAeIPrCJvw
提取码:5yt7
安装依赖
pip install -r requirements.txt
修改代码
run.py,加入一行代码:
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
.\global\detection_models\networks.py,修改:
from .sync_batchnorm.replicate import DataParallelWithCallbackfrom .antialiasing import Downsample
.\Face_Enhancement\models\networks\normalization.py,修改:
from .sync_batchnorm import SynchronizedBatchNorm2d
将待修复的带划痕/有破损的老照片放到:.\test_images\old_w_scratch 目录下,将不带划痕需要改进色彩或清晰度的老照片放到:.\test_images\old 目录下,运行以下命令行
python run.py --input_folder D:\\learn_project\\Bringing-Old-Photos-Back-to-Life\\test_images\\old_w_scratch --output_folder D:\\learn_project\\Bringing-Old-Photos-Back-to-Life\\output --GPU -1 --with_scratchpython run.py --input_folder D:\\learn_project\\Bringing-Old-Photos-Back-to-Life\\test_images\\old --output_folder D:\\learn_project\\Bringing-Old-Photos-Back-to-Life\\output --GPU -1
注意
1. GPU can be set 0 or 0,1,2 or 0,2; use -1 for CPU
使用GPU需要下载GPU版本的torch
下载链接/get-started/previous-versions/
查看NVIDIA支持的CUDA版本
NVIDIA控制面板 --> 帮助 --> 系统信息 --> 组件
2.CUDA out of memory
主要问题是内存不够.
对于处理没有裂痕的图片的操作,我们可以将Global \ test.py中的data_transforms函数中的
h = int(round(oh / 4)*4)w = int(round(ow / 4)*4)
直接修改为我们想要输入的图片缩放成能处理的像素大小,比如我这里就修改为
w = 450h = 450
对于处理有裂痕的图片,我们可以将Global \ detection.py中ata_transforms函数中if full_size == "full_size"
中的
h = int(round(oh / 16) * 16)w = int(round(ow / 16) * 16)
改为
h = 256w = 256
3.c++环境
Visual Studio下载地址/zh-hans/vs/
4.安装dlib库
pip install cmakepip install dlib
如果觉得《老照片修复Bringing Old Photos Back to Life实践》对你有帮助,请点赞、收藏,并留下你的观点哦!