博舍

照片修复 老照片修复ai技术是什么意思啊

照片修复

项目地址

github项目地址:https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life

环境搭建

1、下载Bringing-Old-Photos-Back-to-Life的github项目直接下载压缩包解压,或者clone下载都可以。clone指令:gitclonehttps://github.com/microsoft/Bringing-Old-Photos-Back-to-Life

2、下载工程依赖的其他github项目依次执行就可以了

cdFace_Enhancement/models/networks/gitclonehttps://github.com/vacancy/Synchronized-BatchNorm-PyTorchcp-rfSynchronized-BatchNorm-PyTorch/sync_batchnorm.cd../../../cdGlobal/detection_modelsgitclonehttps://github.com/vacancy/Synchronized-BatchNorm-PyTorchcp-rfSynchronized-BatchNorm-PyTorch/sync_batchnorm.cd../../

3、下载预训练模型人脸识别预训练模型:

cdFace_Detection/wgethttp://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2bzip2-dshape_predictor_68_face_landmarks.dat.bz2cd../

Face_Enhancement和Global的checkpoints模型:

cdFace_Enhancement/wgethttps://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Face_Enhancement/checkpoints.zipunzipcheckpoints.zipcd../cdGlobal/wgethttps://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Global/checkpoints.zipunzipcheckpoints.zipcd../

由于两个checkpoints下载的速度很慢,可以先下载,然后把下载链接复制到迅雷下载,速度可以达到10M。我将下好的上传到了百度云,地址:https://pan.baidu.com/s/1aZOrp7OF3rt9b8B4UZxTAw,提取码:g1wj下载完分别放到对应文件夹然后解压。

4、安装环境所需模块按照github项目下面的说明,直接执行:pip3install-rrequirements.txt就行了。但是问题就来了!cuda、torch、torchvision版本一定要对应,直接pip安装torch和torchvision的话安装的都是最新的,执行修复图片时就会出现下面列举的错误。所以最好的方法就是打开requirements.txt然后将这些包手动pip安装,除了torch和torchvision要指定版本,其他的都可以直接pip安装。

我的环境是:cuda-8.0、torch-1.0.0、torchvision-0.2.2三者对应关系参考:https://blog.csdn.net/jonado13/article/details/108281688

修复图片

使用时,假设输入路径为/home/jcy/source/source/old_w_scratch(待修复的图片放在这里),输出路径为/home/jcy/source/source/output_images,那么执行指令为:图片没有裂痕:

python3run.py--input_folder/home/jcy/source/source/old_w_scratch--output_folder/home/jcy/source/source/output_images--GPU0

图片有裂痕

python3run.py--input_folder/home/jcy/source/source/old_w_scratch--output_folder/home/jcy/source/source/output_images--GPU0--with_scratch

执行完毕,修复完的图片就会出现在output_images/final_output中。

注:修复的图片不要太大,比较大的照片还是别想了,大概率带不动的,大图可以把人身体区域截图下来修复,或者将图片切割或裁剪。

报错:1、incompatiblefunctionarguments.Thefollowingargumenttypesaresupported:1.(arg0:object,arg1:torch._C._jit_tree_views.SourceRange,arg2:Callable[[str],function])->torch._C.Type错误原因:torch版本和torchvision版本不匹配

2、AssertionError:TheNVIDIAdriveronyoursystemistooold(foundversion9000).错误原因:torch版本太高,与cuda不匹配,比如我cuda-8.0装了torch-1.5报错了,重新安装torch1.0.0解决。

运行结果

效果还阔以,但是只生成了这两张,因为这两张图片尺寸比较小,其他找的几张图片比较大,在生成修复图片的时候把我1080ti顶爆了,等啥时候有钱了整个3080ti试试了。。。。硬要修复大的图片,可以裁剪成多份,多次修复以后拼接成一张图片即可,但为了提高拟合度,最好每张图片中都有一块大小适中的重叠区域,而且看了一部分源码,这个项目中似乎对人脸还是挺敏感的,所以最好裁剪的每个部分都把人物包括在里面,以人物为基准向四周拓展。修复完一次以后注意清理一下,最好的办法就是把输出图片的文件夹中的所有内容删除(包括图片和文件夹),否则下次修复就会出现重复。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇