卧槽!腾讯、微软在这一领域的开源工具,神了!
阿虚同学
读完需要
10分钟速读仅需 7 分钟
最近有些粉丝希望阿虚能写一下「老照片修复」这个话题
其实早在 10 多年甚至更久以前这个需求就很常见了,不过当时无一例外都是手动用 PS 修复,你现在也能轻松找到很多相关教程
而得益于近几年 AI 技术的迅猛发展,对于一些简单的老照片,我们其实利用 AI 就能轻松实现一键修复,解决这个问题的难度,骤降几个维度!
当然具体方法途径很多,阿虚这里介绍一些我觉得不错的免费服务
1
简单老照片清晰化
如果你的老照片并没有破损,仅是像素比较低、人物比较模糊,那修复起来其实并不算难
可能会有粉丝想到阿虚之前有专门介绍过不少提高图片清晰度的软件,但之前介绍的软件大多数并没有针对「黑白老照片」进行 AI 训练,得出来的算法用于修复老照片其实效果并不特别好
针对「老照片清晰化」这个问题,其实也有不少公司专门训练了 AI,处理效果就明显要好不少
1.1
腾讯ARC实验室
ARC 实验室是腾讯公司旗下探索挑战智能媒体相关前沿技术的一线团队,其研究人员受到 StyleGAN2 模型(一种生成对抗网络模型,能生成高质量的逼真图像)启发
就想到:“ 既然 GAN 已经能生成如假乱真的图片,那么它所包含的面部信息,是不是也能帮助人脸修复呢?”
于是乎,他们结合图片图像超分辨技术和 AI 人脸生成技术,开发了一种专门用于脸部修复的算法——GFPGAN
并且还非常良心的将其开源在了Gituhb,目前已获得超 3W 星标!
简单来说,这个算法特别适合修复那些有年代感的人像老照片,除了代码开源,项目团队还提供了 Replicate 在线使用地址::https://replicate.com/tencentarc/gfpgan
打开上述网站,在下方使用 Github 账号登录后即可上传图片使用
如果你没有 Github 账号,也可以访问腾讯 ARC 实验室的官网来进行体验地址:https://arc.tencent.com/zh/ai-demos/faceRestoration
缺点是官网的体验地址目前仅有 1.3 和 1.2 模型(replicate处则已经更新到 1.4 模型)
1.2 版本的锐化更明显,同时还带有一些美颜效果,所以在一些情况下会比较假面
1.3 明显解决了这一问题,使得输出更加自然,还能进行二次修复;不过弊端是人物面部特征有时会发生变化
1.4 则能生成更多细节和更好的原图一致性
如果一次修复的效果不理想,你还可以对一张照片进行依次迭代式多轮修复,这样你可以获得清晰度和锐化程度更优的效果
不过 Replicate 这个平台每天有次数限制,如果修复多张图片要分配好修复的次数和时间
1.2
智绘免费证件照制作
腾讯 ARC 实验室原本有对应的微信小程序,但由于其未设置过滤算法,导致被腾讯自己人噶了
不过早在免费证件照工具那期文章,阿虚就有介绍,腾讯其实有悄悄推出一款名为「智绘免费证件照制作」的微信小程序
而现在这个小程序又有悄悄上线「图片修复」这个功能,而在介绍中,这个功能就是由腾讯 ARC 实验室提供的技术支持。目前每日签到即可获取免费点数
试着修复了一下带有噪点的一张老照片,虽然无法去除折痕,但对人像的修复效果还是相当不错的
1.3
阿里巴巴达摩院
魔搭社区是阿里旗下汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一个网站
达摩院则是阿里旗下探索科技未知的的一个研究机构,借助魔搭社区搭建了一个在线老照片修复平台:https://modelscope.cn/studios/damo/old_photo_restoration/summary
无需注册,直接可以免费上传老照片进行修复,修复效果还是相当自然的
1.4
AI.Nero
AI.Nero 是德国的一个老照片修复网站,缺点就是打开非常之慢(可能视地区网络而定甚至会打不开):https://ai.nero.com/enhance
据网上介绍每个用户初始是有25左右的额度,每次修复会消耗1额度,但阿虚实测目前无需注册登录也可以直接上传图片进行处理(可能是现在改了规则)
总体而言,除了打开慢、处理速度慢,修复效果还是相当不错的。同时除了网站,也有 UWP 版和 iOS 版软件可以使用
1.5
美图秀秀
另外美图秀秀 APP 内也早就有上线免费的画质修复功能,「高清画质」修复不限次免费使用
▲超清修复免费限5次
美图秀秀这个算法的缺点大概就是人物容易出现明显的磨皮效果,可能会稍显美颜过度——不过女生可能会反倒觉得正好吧
夸克扫描王、醒图原来都有老照片图片修复功能,但不知出于什么原因,后来功能都被阉割了
1.6
JpgHD
地址:https://jpghd.com/
一个挺出名的个人开发者的免费老照片修复网站,之前在教大家如何提高图片分辨率那期文章就有推荐
虽然是个人网站,但可以看到,修复效果还是相当不错的(后续有算法揭秘)
另外这个网站还支持给老照片上色,付费之后还支持修复有破损/划痕的老照片
网站演示的修复效果下图,阿虚实测的确能达到这个效果,具体见下文揭秘
付费价格并不算便宜,不支持单独付费,仅提供了下面这几个付费梯度:50张¥30/132张¥72/270张¥108,实在有需要的粉丝可以自行尝试一下哈
1.7
Bringing Old Photo Back to life
最后再分享一个大招,也是今天要介绍的工具中使用起来最复杂的——由微软研究团队开发的旧照片修复工具 Bringing Old Photo Back to life
不得不说微软的技术是真的牛,这是阿虚发现少有支持修复破损、带划痕的旧照片的工具之一
你换市面上其他任何工具,可能都达不到上述效果,是不是觉得相当牛逼?
但实际想要使用这款工具那是相当无敌之麻烦,你首先电脑上必须有 NVIDIA 显卡才可以使用,其它显卡用不了
其次你需要去安装 Python(https://www.python.org/downloads/)并将其配置到系统环境(安装时勾选 add python.exe to path)
然后你需要打开项目主页将整个项目都下载下来并解压:https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life
接着你需要打开:https://github.com/vacancy/Synchronized-BatchNorm-PyTorch,再将这整个项目下载并解压出来,将 sync_batchnorm 文件夹复制到 Bringing Old Photo Back to life 中的 Face_Enhancement\models\networks 和 Global\detection_models 两个文件夹内
然后你需要下载件 shape_predictor_68_face_landmarks.dat.bz2 这个文,并解压后放大到 Face_Detection 文件夹内:http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
最后你还需要下载模型文件,将 face_checkpoints.zip 文件解压缩后放到 Face_Enhancement 文件夹内,将 global_checkpoints.zip 文件解压缩后放到 Global 文件夹内:https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases
然后由于项目用到了 dlib 库,而安装 dlib 前需要有依赖库 cmake。所以你需要先打开命令行输入:pip install cmake
同时在 Windows 上运行的话,不仅要安装 cmake,还要下载 Visual Studio 来安装 C++ 环境:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16
注意安装的时候除了「Python开发」一定还要勾选安装「使用C++的桌面开发」
上面也安装好之后,再打开命令行:pip install dlib,看到 Successfully 就说明安装成功了
以上外置文件下载并配置完之后,还需要根据项目的 requirements.txt 文件来配置依赖库,简单来说就是在项目文件目录下打开命令行工具输入:pip install -r requirements.txt
还没完,在阿虚实际跑程序的时候,发现原项目代码还有点儿问题(可能是依赖库版本更新导致的),你可能还需要找到 Face_Detection 文件夹下的 align_warp_back_multiple_dlib.py 文件
将 219行的 mask *= 255.0
代码修改为 mask = (mask * 255).astype(np.uint8)
225行的 mask_blur /= 255.0
代码修改为 mask_blur = (mask_blur / 255).astype(np.uint8)
到这里,我们终于是可以运行程序进行使用了,将需要处理的照片,放在 test_images\old 文件夹下:
然后先在软件所在文件夹资源管理器处,输入 cmd 并回车,即可快速进入当前目录的命令行界面
对于不带折痕的照片,说个最简单的调用方法,即输入:python run.py --GPU -1
这里的GPU,指定用到的 GPU 编号,可设定为 0 、 0,1或 0,1,2,设定 GPU 时需要确保配置的 Pytorch 是 GPU 版本,相对 CPU 的话,GPU 测试时间会更短;没有 GPU 配置时设为 -1 表示运行时只用 CPU,如果你不懂这些那就直接用 CPU 处理吧,也慢不了多少
对于普通,仅是低像素模糊的老照片,其实修复效果并没有腾讯的 GFPGAN 效果好
PS:如果提示修复过程中提示 CUDA out of memory,就表示是你的显存不够,请降低你要处理的图片分辨率
但对于带折痕、轻微破损的老照片,修复效果那就是杠杠滴,还是一样的,我们在资源管理器处输入 cmd 快速打开命令行界面
与不带折痕相比,修复带折痕照片要多加入一个参数 --with_scratch
,要处理的图片还是存放在old文件夹中,命令行中输入的命令如下:python run.py --GPU -1 --with_scratch
对于带折痕的老照片,修复效果如下可以说是相当优秀了(对比修复效果,阿虚猜测 JpgHD 大概率就是使用的微软的开源算法,然后收费)
如果你能运行 Bringing Old Photo Back to life,就没必要去付费 JpgHD 了
不过其实这个项目的相关文件、模型已经有几年没更新了,并且也不是频繁更新的项目——所以阿虚这里就替大家将所有需要的文件打包好了
你下载阿虚提供的文件之后,只需要解压出来,依次安装 Python环境、C++环境、cmake依赖库和dlib模块、其他第三方程序包之后,将你需要处理的图片放到 test_images 中的old文件夹下,再双击 5 或者 6 的批处理程序就能修复老照片啦
由于有人持续对公众号自动回复进行举报,遂暂时不再通过公众号自动回复提供软件下载,后续阿虚会把资源下载地址提供在文章置顶留言。若置顶留言也被和谐的话,请到储物间(axutongxue.com)右上角,搜索以下关键词获取资源:
“老照片修复
”
2
黑白照片上色
相对老照片修复,黑白照片上色其实不算非常复杂的问题,阿虚早在 2 年前就有介绍过不少网站、工具:
百度AI、Image Colorization、Colorize、Picture Colorizer Pro、白黒画像の自動色付け这几个工具阿虚就不重复介绍了,具体可以看上方的文章☝️
这里的话再补充几个能给黑白照片免费上色的网站
2.1
Palette.fm
地址:https://palette.fm/
Palette 在 YouTube上有 400W 的订阅用户,被誉为“当前世界上最棒的黑白照片上色神器,在首页登录后,点击右上角「Upload Photo」上传照片
网站有几十款色彩模型可供选择(模型均免费)。仅是限制了免费用户只能导出一次HD格式,但普通画质的 Download 下载是不限制的。基本上可以算作是能免费使用
你可以导出普通画质的图片,再用阿虚之前介绍的图片超分辨率软件来解决画质问题
2.2
Imagecolorizer
地址:https://imagecolorizer.com/colorize
国外的一个黑白图片免费上色网站,处理速度比较慢,但是能用
2.3
JpgHD
地址:https://jpghd.com/
上面提到的 JpgHD 也是支持老照片上色的
2.4
阿里巴巴达摩院
上面介绍过的阿里巴巴达摩院,其实在一键修复老照片的同时还可以对图片上色:https://modelscope.cn/studios/damo/old_photo_restoration/summary
2.5
美图秀秀
美图秀秀 APP 除了提供老照片画质修复,也有照片上色功能:https://pc.meitu.com/
不过阿虚上面也强调了,仅是一些简单的老照片(比如褪色、模糊、轻微破损)能靠 AI 一键修复,对于画面缺失、破损严重的老照片,就算是人工修复效果也不一定让人满意
▲比如这种照片(图源网络)
另外注意:就算你花钱找人工修复,也不存在什么初级、中级、高级修复之分,因为修复技术、步骤、软件其实都是一样的,最终能修复成啥样,大多都是依原片破损程度而定(你自己照片是哪种程度应该心里有数)
简单来说,如果你的照片破成上面那样,AI 修复是没用的,你只能花钱找人工修复,至于人工修复能修复成啥样,还要视修复师傅的手艺
一年一度京东官方的红包节不要错过了!
1月17-2月3日活动期间每日都有3️⃣次抽奖机会,可抽到 3、20.24、666、2024、9999 元等面额不等的随机红包
点击下方即可立即领取红包!完整活动详情则可以点击此处了解👈
除此之外拼多多1月12-1月28,百亿补贴年货节也在进行当中!
满减红包没有套路直接就送!扫描下方二维码即可领取👇