杜克大学开源 AI 算法,让马赛克图片秒变高清!

2023-12-24 14:08

本文主要是介绍杜克大学开源 AI 算法,让马赛克图片秒变高清!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!

大家好,我是小 G。

在这个追求高清画质的时代,我们对渣画质的容忍度越来越低。

在知乎上搜索「低分辨率」、「渣画质」,会看到一大片诸如「如何补救清晰度低的照片」、「如何拯救渣画质」之类的问题。

那么,将渣到马赛克级别的画面秒变高清,是一种怎样的体验?杜克大学的研究人员用 AI 算法告诉你。

GitHub 链接:https://github.com/adamian98/pulse

 前所未有,「马赛克」瞬间变高清

杜克大学的研究人员提出了一种 AI 算法,称之为 PULSE(Photo Upsampling via Latent Space Exploration,通过潜在空间探索的照片上采样)。

该算法可以将模糊、无法识别的人脸图像转换成计算机生成的图像,其细节比之前任何时候都更加精细、逼真。

根据输入的低分辨率图片,系统会生成一系列高清图像

如果用以前的方法,想要把一张模糊的「大头照」变清晰,最多只能将这张照片缩放到原始分辨率的八倍。

但是杜克大学的团队提出了一种新的方法,仅在几秒钟内,就可以把 16x16 像素的低分辨率(Low Resolution,以下简称 LR)小图,放大 64 倍,变成 1024 x 1024 像素的高分辨率(High Resolution,以下简称 HR)图像

他们的 AI 工具会「想象」出一些原本不存在的特征,即使是原本 LR 照片中无法看到的细节,比如毛孔、细纹、睫毛、头发和胡茬等,经过其算法处理后,都能看得一清二楚。

来看一个具体示例:

左图为原始低分辨率图像,右图为系统创建的高清图像

领导该团队的杜克大学计算机科学家辛西娅・鲁丁(Cynthia Rudin)说:「以前从来没有像现在这样,能用这么少的像素,就创造出拥有大量细节的超分辨率图像。」

在实际应用方向上,论文的共同作者 Sachit Menon 介绍称:「在这些研究中,我们只是用面部作为概念验证。

但从理论上讲,该技术是通用的,从医学、显微镜学到天文学和卫星图像,都可以通过该技术改善画质。」

 打破传统操作,实现最佳效果

虽说此前已经有很多类似的低清变高清的方法,但能够达到像素放大 64 倍级别的,还是业界首次。

 传统方法:像素匹配,易出 bug

传统方法处理此类问题时,一般拿到 LR 图像后,会「猜测」需要多少额外的像素,然后试着将此前处理过的 HR 图像中相应的像素,匹配给 LR 图像。

而这种单纯匹配像素的结果是,像头发和皮肤的纹理这种区域,会出现像素匹配错位的现象。

而且该方法还会忽略了 HR 图像中,感光性等感知细节。所以最终在平滑度、感光度上出现问题,结果依然会显得模糊或者不真实。

之前的一些方法,部分生成结果有点诡异

 新方法:低清图像「连连看」 

杜克大学的团队则提出的新方法,可以说是开辟了新的思路。

在拿到一张 LR 图像后,PULSE 系统不会慢慢添加新的细节,而是遍历 AI 生成的 HR 图像,将这些 HR 图像对应的 LR 图像与原图对比,找到最接近的那张。

打个比方,相当于拿 LR 图片做个「连连看」,找到最相似的 LR 版本,那么再反推回去,这张 LR 图像所对应的 HR 图像,就是最终要输出的结果。

原始 LR 图片(上),PULSE 输出的 HR 图片(中)

HR 图片对应的 LR 图(下)

团队使用了生成对抗网络(简称 GAN ),它包括对同一张照片数据集进行训练的两个神经网络,即生成器与鉴别器。

其中,生成器模拟它所受过训练的人脸,提供 AI 创建的人脸,而鉴别器则获得了该输出,并确定它是否足以以假乱真。

随着经验的积累,生成器的经验会越来越好,直到鉴别器无法分辨出差异。

他们用一些真实图像进行试验,效果对比如下图所示:

上排为真实图片,中排为将真实图片下采样而来 LR 图像

下排为 PULSE 根据 LR 图像生成的 HR 图像

虽然生成的高分辨率图与原图仍有一些差距,但是这比以前的方法要清晰很多。

 评估:优于其它方法,得分接近真实照片

团队在著名的高分辨率人脸数据集 CelebA HQ 上评估了其算法,用 64×,32× 和 8× 的比例因子进行了这些实验。

研究人员要求 40 个人对通过 PULSE 和其他五种缩放方法生成的 1440 张图像进行 1 到 5 的评分,而 PULSE 的效果最佳,得分几乎与真实的高质量照片一样高。

HR 为实际的高清人像数据集,得分仅比 PULSE 高 0.14

团队成员表示,PULSE 可以从嘈杂、低质量的输入中,创建逼真的图像,即使原图连眼睛、嘴巴都无法辨认。这是其他方法无法做到的。

与其它方法对比,PULSE 将细节处理得更为逼真

不过,该系统还不能用于识别身份,研究人员表示:「它无法将安全摄像头拍摄的失焦、不能识别的照片,变成真人的清晰图像。它仅会生成不存在但看上去很真实的新面孔。」

在具体应用场景上,除了上文提到的,该技术未来可能应用在医学、天文学之外,对于大众来说,拥有这项黑科技之后,就可以把 N 年前的老照片变高清。对于编辑同志们来说,更是一大福音,再也不用为找高清配图而头大了。

从此告别「画质感人」

温馨提示:研究人员还会在正在举行的 CVPR 2020(计算机视觉和模式识别会议)上介绍他们的方法,大家可以关注一下:

http://cvpr2020.thecvf.com/program/tutorials

论文地址:

https://arxiv.org/pdf/2003.03808.pdf

参考资料:

https://www.sciencedaily.com/releases/2020/06/200612111409.htm

---由 GitHubDaily 原班人马打造的公众号:GitCube,现已正式上线!
接下来我们将会在该公众号上,为大家分享优质的计算机学习资源与开发者工具,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!

这篇关于杜克大学开源 AI 算法,让马赛克图片秒变高清!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/532021

相关文章

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,