雷锋网 (公众号: 雷锋网) AI 科技评论按, 在挑选手机时, 手机摄像头往往是我们考虑的重要因素之一, 但目前很多手机拍出来的照片效果不尽如人意. 如何用深度学习的方法美化照片? George Seif 发表了一篇文章, 是关于如何自动增强低质量相机拍摄的照片, 大家快来实战吧~
照相是一项很棒的技术. 它让我们能够保存自己的记忆, 当看到照片中的景色时, 我们可以重新体验它们.
这项技术在过去的几年里取得了长足的进步. 随着 4K,HDR 和彩色增强等各种新功能的出现, 您可以拍摄出令人惊叹的照片.
但它确实是有代价的. 不是每个人都买得起最好的相机. DSLR 相机的价格从几百美元到几千美元不等. 不仅如此, 也不是每个人都能用这些相机拍出好的照片, 毕竟我们并不都是专业摄影师!
我们大多数人拍照用的是智能手机, 但与高端 DSLR 相比, 智能手机拍摄的照片通常非常平淡.
深度学习改变了这一切.
美化你的照片
来自苏黎世 ETH 计算机视觉实验室的研究展示了如何自动增强低质量相机拍摄的照片, 使它们看起来像是由专业摄影师用 DSLR 拍摄的. 他们是这样做的:
该团队首先收集了一组低质量 (来自手机) 和高质量 (来自 DSLR) 照片作为数据集, 您可以从项目页面下载这些照片. 这正是我们需要的用于这种增强任务的数据: 输入低质量的图像 (来自手机) 并让深度网络尝试预测高质量版本 (来自 DSLR) 的样子.
一个图像有几个我们可能想要增强的属性: 灯光, 颜色, 纹理, 对比度和清晰度. 深度网络经过训练, 可以利用四种不同的损失函数来描述所有这些属性:
颜色损失: 预测图像和目标图像模糊版本之间的欧几里得距离.
纹理损失: 基于生成对抗网络 (GAN) 的分类损失. GAN 被训练来预测灰度照片质量的高低. 由于使用了灰度图, 网络将很好地聚焦于图像的纹理, 而不是颜色.
内容损失: 预测图像的 VGG 特征与地面真像之间的差异. 这一损失确保了图像中的对象 (即图像语义) 和整体结构保持不变.
总变化损失: 图像中的垂直和水平总梯度. 这将增强图像的平滑度, 这样最终得到的图像就不会太粗糙或有噪音.
最后将这些损失加起来, 生成一个端到端的网络, 通过训练网络来做预测!
代码
感谢 AI 社区中开放源码, 我们在这里找到了一个公开的照片增强器项目! 以下是您使用它的方法.
Git 源码地址: https://github.com/aiff22/DPED
安装需要的库文件:
- pip install tensorflow-gpu
- pip install numpy
- pip install scipy
所有经过预先训练的模型都已经在 models_orig 文件夹中都有对应的库, 因此无需下载它们!
将要增强的照片放在以下目录中:
dped/iPhone/test_data/full_size_test_images/
这是「iPhone」的系统默认目录, 但是如果您想更改代码, 可以更改 test_model.py 脚本中的代码. 之所以说「iPhone」, 是因为作者使用 3 款智能手机 (iPhone,sony 和 blackberry) 拍摄的照片训练了 3 种不同的模型, 因此你有三个选择. 但是这个模型在大多数这三种手机拍摄的照片上都能很好地工作, 所以我们选择其中一个就好.
最后, 为了增强照片效果, 我们运行一个简单的脚本:
- python test_model.py model=iphone_orig \
- test_subset=full \
哇! 您的增强型和专业型照片将保存在「视觉效果」文件夹中!
你自己试试代码, 很有趣! 看看你的照片如何处理增强. 请在下面发布链接, 与社区共享您的照片. 同时, 这里是我自己测试的一些结果. 雷锋网
来源: http://www.tuicool.com/articles/fUnMvqU