本文来自微信公众号:爱范儿(ID:ifanr),作者:黄智健,题图来自:unsplash
1982 年上映的科幻电影《银翼杀手》构想了一个充满赛博朋克科技的 2019 年:漫天都是飞行汽车,人类可以使用一种大屏幕机器(Esper)完成许多不可思议的工作。
主角里克·戴卡德在追查复制人行踪时,就用了 Esper 来挖掘一些被肉眼忽略掉的线索。
里克将现场找到的一张可疑的照片塞进了 Esper 里面, 一遍又一遍地无损放大照片上的一角,最后在镜子的倒影找到了人造人朱拉。
科幻作品的想象力有时候确实会被当时的科技所局限,1982 年 PC 才刚开始流行,《银翼杀手》没有想象到互联网的出现改变了人类生活的方式,也没能想像出模拟技术会有一天被数字技术取代。
不过它对无损放大图像技术的想象却十分超前,这是一个至今都难以解决的难题。
你可能也遇到过这样的情境:聚会过后朋友们一起拍了一张合照,回去后放大合照想看看老同学的脸,或者当晚喝的饮料品牌,结果看到的却是模糊不清的马赛克。
这是因为当我们将照片放大到一定程度时,局部分辨率已经非常低,看到的都是像素点组成的图像。
我们有可能像 30 年前的幻想那样,从微不足道的“马赛克”提炼出额外的图像信息吗?
Google 的 AI 团队近日的发布的一篇博客里提到了一个新的图片算法,非常接近《银翼杀手》的设想。
一、不可思议的分辨率提升
一张 64 X 64 像素的照片有多大?以 iPhone 拍摄的 1200 万像素的照片为模版,大约只有其三千分之一的大小,显示在一块高清的屏幕上时,你只会看到满满的“马赛克”。
超高分辨率的照片
在数字时代,我们在屏幕里看到的每一个图像都是由密密麻麻的像素组成,单位面积组成图像的像素越多,分辨率就越高,图像也就相应得越清晰。
Google 的 AI 研究人员便在思考,有没有可能从低分辨率提取到足够多的图片信息,用机器学习尽可能还原图片的原貌,提高图片的分辨率,得到一张清晰的图片呢?
图片来自:Google
在其最近发表的博客 ,Google 展现了其最新的研究成果,从效果来看十分震撼——通过两种不同的算法,能将 64 X 64 像素的照片还原成 1024 X 1024 像素分辨率,并且细节效果非常逼真。
需要指出的是,Google 通过机器学习用算法还原出来的照片与原照片势必会存在一些偏差,但当我们无法获得原始景象(例如过去的老照片)时,一张尽可能贴近真实的“还原”照片确实难能可贵。
图片来自:Google
根据 Google 的介绍,修复一张“马赛克”照片由两个过程组成——“破坏”与“重组”。
首先,为了尽可能挖掘“马赛克”像素方块的图形细节,Google 的研究人员会先用高斯噪声算法处理试验样本,得到一张完全由噪点组成的“雪花图”,看起来有点像以前模拟电视无信号的画面。
第三列是 Google 的修复算法,第四列是原图参考 图片来自:Google
接着,研究人员再利用神经网络算法,逆转高斯噪声的破坏过程,通过反向复原的过程合成新的图像数据,将从纯噪声图尽可能地降噪,得到一张清晰的图片。
图片来自:Google
图片修复的原理并不复杂,但是其中涉及到的算法并不简单,为了修复出“一比一还原”的高清大图,Google 的研究人员提出了超分辨率算法 SR3 和级联扩散模型 CDM,通过大规模的图片比对学习提高还原的准确性。
值得一提的是,虽然我们一直用“马赛克”来称呼低分辨率的大像素低清图片,但这和真正经过打码的照片有着本质上的差异。
图片来自:Google
Google 的还原算法之所以能够将低清图片变清晰,本质上是根据图片本身所包含的正确图像信息,通过庞大的数据库里的无数图像进行比对、匹配,最后得到模拟出的近似像素填充。
而当照片被涂抹上马赛克时,图片所包含的图像信息就会发生变化。
马赛克算法简单来说去在一个区域内,按照固定间隔,随机选择像素点的颜色,然后把区域内所有像素的颜色取得平均值,变成新的颜色填在方格里。
经过打码后,原本的像素信息都以丢失,得到的只是随机算出的错误信息,这时再让机器学习去还原,就像是要求它对着一道题目完全出错的试卷做出正确答案,几乎不可能答得出来。
所以如果有人想用 Google 算法挖掘一些被抹掉的隐私信息,可以打消这个念头了。
二、你已经迈入了未来
图片来自:Google
Google 的高清修复算法最终很有可能应用到 Google 照片、Snapseed 等 Google 图像处理软件中,像 HDR、视角矫正等算法一样成为我们的修图工具之一。
回到《银翼杀手》电影上, Esper 其实是台很有趣的机器,它有点是模拟技术与数字技术的融合。
一方面它很先进,人们可以用语音控制它,并且实现无损放大;另一方面它又很老套,有着清晰的大屏幕却还是 CRT 结构,导入照片的过程还是从实体照片扫描。
根据电影的效果,Esper 有可能是定点照片的某一处坐标后,通过精密的镜片结构(显微镜)放大照片观察。现在来看,无损放大的想法很超前,但模拟技术显然不是属于现实的未来。
对于现代人来说,拿在手里的手机和电脑就是每个人的“Esper”。
如今照片早已完成了全数字化工作流的演变,用数字技术放大照片已经不是难事。换句话说,其实你已经迈入了《银翼杀手》所描绘的“未来”。
图像超分辨率一直是计算机视觉领域一个热门的研究主题,Adobe 等公司都在开拓相关的图像处理技术,在 Photoshop、Lightroom 等图形处理软件已经有所应用。
以 Photoshop 为例,在导入了 RAW 格式图片后,可以选择“增强”功能的“超分辨率”功能,软件会根据相似内容参照,丰富图片的纹理,将图片的分辨率发大 4 倍,整个过程大概需要一分钟。
对比增强前后的照片可以看到,分辨率提高后照片的锐度有了明显的提高,一些模糊不可辨认的细节也变得清晰。
Adobe 在今年 3 月发布的一篇技术博客中提到,其采用的超分辨率算法也是通过了大量的机器学习训练,不断地在完善和改进。
让图片分辨率爆炸式地提高有什么意义吗?也许在拍摄完照片后,你不会将之放大深究每一个细节,但是当你需要将这张照片打印出来时,照片成像的分辨率直接决定了打印的最大尺寸。
这对摄影师来说显得尤为重要,有时候在用广角镜头拍摄风光时天边飞过一只老鹰,用广角镜头抓拍往往不能拍摄到鹰身上的羽毛细节,这时用超分辨率放大后再裁切,很可能就能得到想要的画面。
Adobe 在博客里用了一张 250 万像素的照片作为例子,用超分辨率功能放大到了 1000 万像素,使之可以打印成“像样”的照片,Adobe 将这个过程形容为“数字变焦”。
对比 Adobe 和 Google 的算法,两者存在着一些差异,Adobe 需要保留了大量图片原始信息的 RAW 格式照片进行计算,而 Google 的算法可以基于一些非常粗糙的信息来还原照片。
Adobe 的算法经过大量机器学习不断进步的过程 图片来自:Adobe
目前来看,两种算法都仍未完全成熟,还需要大量的机器学习提高计算还原的准确度。
不过可以肯定的是,超分辨率技术会在不久的将来成为最流行的图像技术之一,帮助人们摆脱长焦镜头等器材的限制,记录下生活的每一个细节瞬间。为了看到更清晰的世界,我们仍未停止探索。
本文来自微信公众号:爱范儿(ID:ifanr),作者:黄智健