借助算法(而不是镜头)进行数芓变焦可以说是一种较为粗陋的做法而这种方法在移动设备上已被广泛使用了多年。
和具备光学变焦能力的相机比起来数字变焦得来嘚照片画质往往会很差,因此人们一般也都认为光学结构和镜头尺寸上的「压制」是移动设备靠便携性和软件算法难以跨越的。
不过对穀歌相机团队的软件工程师和计算摄影团队的首席科学家而言借助算法挑战硬件几乎已经是家常便饭了。今年他们就借 Pixel 3 上的 Super Res Zoom 对移动设備上的数字变焦难题发起了挑战。
数字变焦的难度在于如何丢失的细节进行「重建」
一般而言,数字變焦会对原始图像进行裁剪并将裁剪出来的部分进行放大在这个放大过程中,传统的 法会创造出一些原图中并没有的画面要素导致最終生成的画面模糊严重,充满因质感和细节失真造成的「塑料感」
从某种程度上来说,这种细节丢失其实是不可避免的因为数字成像夲身就是一种对色彩信息的重建,这个重建过程也叫
在普通消费者的手机上,相机传感器元件一般只记录光线强度而不是色彩信息要將这些收集到的光线数据变成实实在在的色彩,还需要通过位于传感器前方的拜尔滤色镜(CFA)进行转化让红黄蓝三色得以在像素上正确排列。
也就是说,这种画面细节的丢失从我们按下快门后就已经开始了——收集到色彩信息后成像算法必须像扫雷那样根据捕获到的像素信息对周边缺失的像素进行推测,完成去马赛克的过程最终经过这种「猜测」重建而成的画面大约占一张照片的 2/3!
显然,这种通过邻近像素平均值进行细节重建嘚方法非常简陋带来的画面失真问题也很严重。虽然很多去马赛克手段都采用了更为复杂的算法但在色彩信息受限的大前提下,能够達成的实际效果难言完美就连那些能够借助大尺寸传感器和镜头获取到更多细节的单反相机也难逃其影响。
因此当我们在手机上手动缩放照片或通过裁剪进行放大时算法还需要借助线性插值对原本就已经有细节丢失的图像进行进一步「猜测」补全,最终得到的照片效果洎然也就更差
但正如上面所说,图像在数字变焦放大的过程中依然有部分原始色彩信息保留了下来这正是高速连拍与多帧合成手段排上用场的地方。而当单张图片难以满足我们的去马赛克需求时我们就需要借助多张图片来获取同一画面场景的哽多细节了——高速连拍恰好可以做到。
此前Google 已经在 Nexus 和 Pixel 手机上的 HDR+ 算法中运用了高速连拍,通过合成多张短曝光照片来生成一张高动态范圍、精细细节的合成照片但类似的方法可以用在提升数字变焦图像精度这件事情上吗?
在天文摄影学中DRIZZLE 是一种已经流行了数十年的常鼡拍摄技巧——通过捕捉并合成多张拍摄角度略有变化的照片来实现 2x 甚至 3x 的数字变焦效果。这个手法又叫做多帧超分辨率采样(超采样)基本理念是将多张低分辨率的连拍照片直接合并对齐到更高分辨率的像素网格中。具体的合并对其流程如下:
在上面这个例子中,我们捕获了四帧画面其中三帧都通过一个像素单位的平移(分别向右、下和右下)来进行色彩信息補全,补全后的图像完全无需进行任何的去马赛克操作事实上,一些单反相机早已支持这种名为「microstepping」的拍摄方式但一般都需要借助三腳架。
过去几年时间里这种「超采样」技术的实际应用一直受限于实验室,具体操作也大多对传感器和拍摄主体的位置和相对运动状态囿着诸多限制天文摄影中的固定射电望远镜就是个最好的例子。
但这个技术迟迟没能来到移动设备上——因为要在移动设备上完美地进荇「超采样」拍摄还必须满足几个基本条件这当中最为首要的,是如何让镜头比传感器更好地解析画面细节来避免混叠(aliasing)
图像混叠現象通常发生在相机传感器难以完美重现被拍摄场景中所有图案和细节的时候,最典型的呈现形式即那些常常出现在电子取景器中的 在實际拍摄的过程中,画面中某些物理边缘在画面抖动时也会扰动附近画面造成摩尔纹
对超级采样而言,那些不停扰动画面的烦人摩尔纹擾动却是一件好事:通过仔细纪录这些摩尔纹扰动数据我们其实可以从中获取到大量与当前画面有关的颜色和亮度数据,而正如上文所討论的那样这些数据是实现超采样的关键。
换句话说我们举着手机拍照时,不经意的「手抖」恰好能为超级采样提供必要的数据支持
不过想要在移动设备上实现手持拍摄的超级采样还有别的挑战。
上面提到很多单反相机需要借助特制的三腳架来进行超采样拍摄,这个拍摄过程中我们还必须保证相机本身在拍摄位置移动和变焦过程中的绝对稳定。
对手机而言这样的要求顯然不够实际——即便光学防抖(OIS)能够对那些抖动幅度较大的相邻两帧画面进行补偿,幅度较小的自然抖动不可避免因此当我们拿着擁有高分辨率的手机拍下一组连拍照片时,每张照片的拍摄位置都会因为抖动而存在几个像素值的差距
但利用拍摄时的手抖却恰好能够實现优劣转化,将手持移动设备的难点变成突破点
为了对这种「手抖」的优势进行进一步转化,Google 首先会在一组连拍照片中选定一帧作为參照帧(base frame)然后基于该帧画面对其他画面进行一一对齐。但这组连拍照片由于手抖的存在显然不能完全对齐每帧画面中的像素也不能按照我们需要的方式进行有规律的平移,因此在对齐后我们还需要在新的画面帧加入时对相邻两个像素进行插值,然后再进行对齐
当嘫,其实也存在不会「手抖」的情况比如当我们把手机固定在三脚架上的时候。在这种情况下Google 相机会强制光学防抖模块进行有规律的抖动来模拟「手抖」——如果你将手里的 Pixel 3 拿得足够稳,也许会发现这个「小秘密」
超采样的流程如上所述,原理听上去颇为简单但实際操作起来难度不小。为了应对超采样过程中可能会出现的问题我们还需要对算法进行大量的创新——这也是它至今没能被广泛应用在智能手机上的原因(Google:没错你们技术不过关)。具体的问题包括:
这些难题加在一起,幾乎让实现超采样成为了一件非三脚架不可的技术但 Google 相机团队还是通过以下路径对这些问题一一进行了攻关并最终实现了手持 Super Res Zoom 功能:
此外,Google 在 Super Res Zoom 中还采用了与线性插值截然不同的基于机器学习的现代单图像插值方法 尽管 RAISR 也难以对图像细节进行最为自然的高质量还原,但在进行图像变焦的过程中这种算法更注重对图像特质的学习和还原,甚至能够根据现有特质合成一些材质细节因此当我们借助 Super Res Zoom 拍摄 2-3x 变焦的画面时,Google 其实还会通过在多帧合成使用 RAISR 插值的方法来增强画面变焦后的细节质量
从 HDR+ 到去年的单摄人像,Google 一直在不断探索手机攝影的可能性而今年为我们带来的 Super Res Zoom,同样也算得上是利用计算摄影学(Computational Photography)缩小手机与单反差距的一小步
超分辨率概念先于智能手机出現至少十年,围绕这个话题的论文也有成百上千篇而现在,这些灵感创意和技术探索的结晶终于转化成了可以握在手里的产品
基于以仩理论和方法,Super Res Zoom 在画质结果上要优于以往任何一种数字变焦手段也正是在这个技术的帮助下,Pixel 3 才得以在 2x 变焦这个重量级上靠单摄实现媲媄市面上某些多摄机型才有的变焦效果换句话说,如果你在按下快门前手动缩放取景器进行变焦最终得到的画面细节要比拍完后再放夶进行裁剪好很多。