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

简介: 不是每个人都能买得起最好的相机,但我们可以用深度学习来得到高质量的照片

雷锋网(公众号:雷锋网) AI 科技评论按,在挑选手机时,手机摄像头往往是我们考虑的重要因素之一,但目前很多手机拍出来的照片效果不尽如人意。如何用深度学习的方法美化照片? George Seif 发表了一篇文章,是关于如何自动增强低质量相机拍摄的照片,大家快来实战吧~

TB1WsluAFzqK1RjSZFvXXcB7VXa.png

照相是一项很棒的技术。它让我们能够保存自己的记忆,当看到照片中的景色时,我们可以重新体验它们。

这项技术在过去的几年里取得了长足的进步。随着 4K、HDR 和彩色增强等各种新功能的出现,您可以拍摄出令人惊叹的照片。

但它确实是有代价的。不是每个人都买得起最好的相机。DSLR 相机的价格从几百美元到几千美元不等。不仅如此,也不是每个人都能用这些相机拍出好的照片,毕竟我们并不都是专业摄影师!

我们大多数人拍照用的是智能手机,但与高端 DSLR 相比,智能手机拍摄的照片通常非常平淡。

深度学习改变了这一切。

美化你的照片

来自苏黎世 ETH 计算机视觉实验室的研究展示了如何自动增强低质量相机拍摄的照片,使它们看起来像是由专业摄影师用 DSLR 拍摄的。他们是这样做的:

该团队首先收集了一组低质量(来自手机)和高质量(来自 DSLR)照片作为数据集,您可以从项目页面下载这些照片。这正是我们需要的用于这种增强任务的数据:输入低质量的图像(来自手机)并让深度网络尝试预测高质量版本(来自 DSLR)的样子。

一个图像有几个我们可能想要增强的属性:灯光、颜色、纹理、对比度和清晰度。深度网络经过训练,可以利用四种不同的损失函数来描述所有这些属性:

颜色损失:预测图像和目标图像模糊版本之间的欧几里得距离。

纹理损失:基于生成对抗网络(GAN)的分类损失。GAN 被训练来预测灰度照片质量的高低。由于使用了灰度图,网络将很好地聚焦于图像的纹理,而不是颜色。

内容损失:预测图像的 VGG 特征与地面真像之间的差异。这一损失确保了图像中的对象(即图像语义)和整体结构保持不变。

总变化损失:图像中的垂直和水平总梯度。这将增强图像的平滑度,这样最终得到的图像就不会太粗糙或有噪音。

最后将这些损失加起来,生成一个端到端的网络,通过训练网络来做预测!

TB10spyAMHqK1RjSZFPXXcwapXa.png

代码

感谢 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 \

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

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

TB1mThoAMDqK1RjSZSyXXaxEVXa.png TB1mz8RANnaK1RjSZFBXXcW7VXa.png TB1GUJsAPTpK1RjSZKPXXa3UpXa.png TB1g2hwAFzqK1RjSZSgXXcpAVXa.png TB1tDpwASzqK1RjSZFpXXakSXXa.png TB1au8zAQzoK1RjSZFlXXai4VXa.png TB1yddzAMHqK1RjSZJnXXbNLpXa.png TB19rJvAQvoK1RjSZFNXXcxMVXa.png

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

雷锋网

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

目录
相关文章
|
2月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
85 3
|
3月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
138 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
71 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
117 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
3月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
101 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
2月前
|
机器学习/深度学习 算法框架/工具 Python
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
88 0
|
4月前
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
56 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
3月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
65 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
139 1
|
4月前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
118 1