开发 | GitHub 项目推荐:用深度学习让你的照片变得美丽

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 \

哇!您的增强型和专业型照片将保存在「视觉效果」文件夹中!

你自己试试代码,很有趣!看看你的照片如何处理增强。请在下面发布链接,与社区共享您的照片。同时,这里是我自己测试的一些结果。雷锋网

来源:https://towardsdatascience.com/make-your-pictures-beautiful-with-a-touch-of-machine-learning-magic-31672daa3032

本文分享自微信公众号 - AI科技评论(aitechtalk)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏APP自动化测试

函数响应式编程及ReactiveObjC学习笔记 (二)

之前我们初步认识了RAC的设计思路跟实现方式, 现在我们再来看看如果使用它以及它能帮我们做什么

7710
来自专栏APP自动化测试

UIImage 图片处理:截图,缩放,设定大小,存储

图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)

11260
来自专栏APP自动化测试

Objective-C 工厂模式(上) -- 简单工厂模式

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对...

10410
来自专栏APP自动化测试

App自动化测试探索(一)借助Appium实现APP的自动化测试

从同时支持Android / iOS这个条件来看, 只有Appium和Calabash能胜任, 但Appium作为后起之秀比Calabash要更为优秀一些

12370
来自专栏APP自动化测试

iOS实现UICollectionViewDataSource与Controller的分离

之前每次用到UICollectionView的时候都会都需要在Controller里面去实现DataSource & Delegate方法

11710
来自专栏APP自动化测试

Android自动化测试探索(五)代码覆盖率统计

同样如果以上说的几个都不懂也行, 让开发帮忙做这些然后编个代码覆盖率统计的包给你测试, 测完把手机给开发取数据生成报告。 注意每次测试完先返回手机桌面把程序退到...

7240
来自专栏APP自动化测试

iOS上new Date异常解决办法

最近有一个项目要实现使用Angluar写一个简历模板, 用户输入姓名/生日/简介...等内容, 然后生成一份在线的简历

10320
来自专栏APP自动化测试

Android自动化测试探索(二)常用自动化工具

UIAutomator是android的自动化测试框架,可跨APP。与instrumentation框架不同,UIAutomator不需要测试对象源码,因此,为...

20460
来自专栏APP自动化测试

iOS Crash常规跟踪方法及Bugly集成运用

通过xcode日志可以看到是数组访问越界, 发生越界的方式名为print 针对这个demo我们当然很清楚是刚才列的array[1]发生越界, 但对于一个完整的...

9920
来自专栏大话swift

iPadOS上启动黑屏翻车问题分析(二)

昨天我们说了旧的项目在iOS 13下完全启动之后黑屏的问题,然后紧跟问题通过UI图层分析方式一步步的分析基本找到了问题的根源---iPadOS的底层以及操作思路...

29910

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励