页面加载中,请稍候
来源:中国IC网发布时间:2021-11-201197浏览
询问 AI即便现在手机多镜头当道,但Google还是在Pixel手机上展现超越单镜头的实力,以硬件+软件+AI带来如HDR+、景深肖像模式、超高分辨率(Super Res Zoom)及夜视等几项要以多镜头才能完成的模式,相信大家也很好奇背后到底运用了哪些技术? Google先前特别邀请杰出工程师Marc Levoy来台,为大家一一解密,有的之前在Google AI Blog发表过,有的则多提到一些观念,这里也综合先前的采访,以及Google AI Blog上的文章,整理分享给大家。。
Macr Levoy是史丹佛大学计算机科学荣誉退休教授(该职由VMware创办人所支持),以及Google杰出工程师。Macr Levoy在史丹佛大学教授计算机绘图学、数位摄影学和艺术科学,目前他在Google带领的团队负责了Pixel手机的HDR+模式、肖像模式、夜视、Jump光场相机以及Halide图像处理语言程序,对计算摄影(Computational Photography)领域相当有研究。
Macr Levoy首先跟我们分享手机相机的趋势BYT60P-1000,硬件上画素/感光元件、镜头质量越来越好,光圈也越来越大,以及已成为主流的多镜头趋势,但一般人可能还没观察到,手机摄影的重心正从硬件往软件转移。
包含以计算摄影整合连拍帧数做多框合成,以及在及演算成像时导入机器学习,在训练机器学习的过程中,又得到更多可投入训练的信息,一环环来提升计算摄影的质量。

Macr Levoy也提到,好的手机相机程序,要遵守几项原则:
执行要迅速:
比方取景荧幕刷新率要高于15fps,快门延迟也要低于150毫秒,拍好之后照片成像时间也要少于5秒,且不能让手机在过程中感觉到发热。
预设模式绝不能失败:
过程要是可靠的,如有可靠的曝光、对焦、自动白平衡,且要避免拍到鬼影或残影。
要重视使用者在摄影时会遇到的特殊状况:
当然有可能遇到困难场景,预设模式也拍不好或侦测错误。Macr Levoy举例他们有套脸部侦测,准确率有96%,但有时遇到戴深色墨镜的人会侦测失准,导致测光参数也失准,后来他们用机器学习和更好的绘图数据来修正这个问题。
不过特殊模式下,若有偶发的幽默意外,结果是可以被接受的,比方拍全景时遇到狗狗走动中,可能会就拍到这种腊肠狗体...

手机因为感光元件小,又多半是手持拍,所以面临几个较大的问题是:低光噪声噪点、手持易晃动、动态范围小...等,所以可以发现很多算法都是在解决这些问题。
Pixel手机上有四个计算摄影带来的功能,可能有点烧脑,所以建议直接点击转跳,看完一个休息一下,不要连着看,比较不会累...
HDR+
人像模式
高解析变焦
夜视模式
HDR+
现在大家对HDR的原理应该都很清楚,典型的作法是以包围曝光拍摄多帧不同亮度的影像,短曝光的高光部位比较清楚,长曝光的则是暗部清楚,接着就取这些有细节的部分,合成出最后的影像。
但它的问题是,若是手持拍摄,可能因为晃动,或物体有移动,在合成时像素会难以对齐,
而且画面中若有过曝到一片白的地方,会让演算错误,最后画面出现鬼影、叠影、伪像等问题。

Google的解决办法是:连拍短曝光的多张影像,尽量让每一张的曝光都跟第一张一样,这些影像高光处有细节,也因为曝光相似,叠合时更容易对齐。
但你可能会想说:拍短曝光,那暗部不就偏暗吗?
HDR+的作法是采用色调映射(Tonemap)来增强暗部,降低亮部,牺牲一点整体的色调和对比度,来保留局部的对比,让画面里亮暗部可以呈现出细节。(左:单张拍摄 右:HDR+)

那增强的暗部不就会看到很多噪声?
有个公式是讯噪比(SNR)和连拍帧数的平方根成正比,连拍帧数越多,讯噪比越高,表示噪声越少,连拍多张后,有足够的画面做合成,就可以减少暗部的噪点。
也因为叠合多张画面做降噪,所以低光画质也会比较好。(左:单张拍摄 右:HDR+)

人像模式
现在手机上的人像模式,都是演算而来的「合成景深」。
不像单眼,手机的光圈是固定的,而且镜头焦距偏广角,除非近拍,否则难以产生景深,但如果知道相机到画面上每个点之间的距离,就具备区分前景背景的基本条件,再透过演算,将背景作模糊效果达到「合成景深」。
那么手机怎么测量场景中每个点的距离呢?
最普遍的方法是用两颗镜头,在相似的焦点下捕捉视角相近的两个影像,找到两个影像匹配的像素后透过三角测量算出深度,这就是所谓的「立体算法」( stereo algorithm),然后将一个平面上的点保持清晰,平面外的点,就做模糊效果,这模糊效果采集邻近像素色彩的平均值,而程度则取决于这个点对焦和平面之间的距离,软件甚至可以控制散景的形状,虽然是用算的,但可以做到让大部分人看起来觉得和光学景深照一样。
这是手机产生景深照一个比较简单的概念,但Pixel系列都只有单镜头,怎么测量距离/ 深度,算出景深呢? 这里稍微仔细一点来说Pixel 2及Pixel 3上的作法,基本上有四个步骤。
第一步:先拍一张HDR+的照片
肖像模式照片以一张泛焦,什么都清楚的HDR+图像为基础,前面提到,HDR+有动态范围高、低噪点、细节清楚等优点,有了HDR+照片后,就可以进入下一步。
第二步:区分前后景
有了HDR+照片之后,就要决定哪些像素是前景,哪些是背景,这里利用了机器学习。
以前景拿着咖啡杯的人为例。

Google训练了一套以TensorFlow撰写的「卷积神经网络」(CNN),让它计算哪些像素是人,哪些不是,它分阶段先区别了颜色和边缘等简单特征,后段筛选脸部、身体等特征,结合两种阶段的过程很重要,因为不只要测量画面中有没有人,还要确实定义哪个像素也属于这个人物。
Google用超过百万张人物和配件照片训练出机器学习模型,包含了戴帽子、吃甜筒...等,这套神经网络系统辨识出手上的茶杯也属于前景。
这是神经网络辨识后区别出了人物、背景屏蔽,并利用数学计算中的「边缘感知双边求解器」(Edge-aware Bilateral Solver)让人物分割的边缘更锐利。
第三步:计算深度图
前面提到Pixel手机用机器学习区分出何为人物、何为背景,但如果拍的是物件呢?
非人物就无法用机器学习辨识,Google在这里用了Dual-Pixel 双像素技术(即PDAF相位对焦)来预估出深度图,一来解决Pixel手机单镜头问题,二来也藉此区分哪些物件是前景,哪些是背景。
PDAF像素可以在单张快照里,透过左侧和右侧的像素提供讯息(或是如果你正直拿手机,就是镜头的上侧跟下侧),透过很小,只约1mm的基线,让影像立体化,提供判断场景深度的线索。

第四步:结合上面分割图及深度图渲染出成品
最后就是将PDAF图像输入训练好的卷积神经网络,结合机器学习分割技术,将主体保持清晰,并根据主体和背景的距离,按比例模糊。
专业相机会依照和对焦平面的距离,产生渐进的散景,真实情况是,可能对焦在眼睛上,鼻子就会模糊。而机器学习算出的距离,则会保持主体一致的清晰,或许不符合物理真实,但可让一般人更容易就拍出带自然散景的照片。
训练辨识PDAF图像的神经网络,看来一句话轻描淡写,但训练过程并不简单,Google将Pixel 3的训练模型又做了优化。
要训练机器辨识PDAF图像的深度,就要提供大量的PDAF图像,Google用一套以五台Pixel 3组成的机器(五眼怪?),用WiFi控制他们能同步拍摄,拍出成千上万的照片后,透过机器学习中的Ground Truth来训练Dual-Pixel技术产生质量更好的深度图。

比方一些原本与基线平行的水平线,会因为较难察觉有距离的差异,在计算深度时被忽略,而没有模糊到,这在Pixel 3新的模型跟算法中就得以获得改善。
为了能让用户拍摄时无须等待太久,快速做完计算,Google用了TensorFlow Lite这个针对行动装置和嵌入式装置的模型,以及Pixel 3更强大的GPU一起工作,让模型可以快速运行。
但是前相机没有Dual Pixel,为何还是能拍出景深照呢?
前相机就没有使用Dual Pixel来计算深度图,而是使用机器学习辨识人物、背景。(可以发现用前相机+肖像模式拍非人的物体时没有景深)

高解析变焦
Google在Pixel 3上提出了「Super Res Zoom」高解析变焦这功能。当大家都以多搭载一颗长焦镜来拍清晰变焦时,Google仍想尝试能否用一颗镜头,搭配计算摄影技术来做到一样的事。
最后Pixel 3上形成的高解析变焦功能,虽然背后并没有搭载人工智能或机器学习技术,而是将多层影响合成高解析照片,提升了照片的细节,但结果与很多搭载2x光学变焦镜头的手机不相上下。
放大图像中某部份产生的数位变焦,一定会损失细节,因此如何重建出好的,清晰的细节,是高解析变焦最要克服的事情。
同学们应该听过,现在的感光元件滤色片,都是这样的拜尔阵列(Bayer filter array),并不是每颗像素上都有三原色,而是以2x2像素为一组,这两个像素是绿色、那个是红色,那个是蓝色,排列而成。
如此下图中问号部份的像素(缺失的信息),实际上是什么色彩、什么细节,就要做重建,这过程称为「去马赛克」(Demosaicing),一种用邻近像素的信息,重建缺失色彩的过程,Macr Levoy跟我们提到,一张影像中,可能有2/3的信息,是透过插值重建出来的。

所以如果像素上的讯息不够完整,那重建出来的质量就不会太好,手机感光元件小,像素纪录的细节本就比单眼少,如果又是用补插值后的像素,再补插值算一次,那质量会更糟糕,细节更不清晰。
这时候,多张合成就是一种神救援的技术。
前面提到HDR+就是利用多张合成后,产生一张亮暗部的像素细节都很好的照片。高解析变焦也用了同样的原理。
当我们手持拍照时,即使你没发现,还是会有些细微的晃动,而让连拍的每张画面,会有些微的位置差异,这些不同位置的差异,刚好就可以填补缺失的画素,就不用执行去马赛克,用猜的来重建缺失。
最理想的状况是想这样,四张各向上下左右偏移一像素的画面,合成后刚好填补上缺失的讯息。

但现实状况是,手机多半是手持拍照,在拍高解析变焦时,就可把手持的小晃动连拍,转成补上缺失像素的优势(超出OIS可补偿的大晃动就没办法了)。过程中要将连拍的画面,以其中一张为参考做对齐,对齐之后,就形成一张大致的图像。
但手震通常不会偏移得那么刚好,要将这单镜头高解析变焦方案用在手机上,还是有点挑战,且还需要开发特别的算法。
比方连拍的每个单张仍会包含噪点,算法需要辨识出来,并正确做降噪,另外场景中移动的物件(风吹的树叶、走动的人们等),也会影响画面对齐质量。
为了有效合并连拍画面,Google在Pixel 3上开发了一套连拍分辨率增强模式,去注意到画面上属于「边缘」的部份,沿着边缘的方向融合像素,让照片在降噪导致画面失去锐利感,以及增加细节和解析度间做权衡。

夜视模式
当初设计夜视模式,是为了改善0.3 lux~3 lux亮度下手持、不需闪光灯的拍照质量,3 lux大概是晚上只有路灯照亮的人行道,0.3 lux则是不开灯,已经找不到地上钥匙的那种亮度了。
我们知道低光下手持拍摄时,快门时间越长,就越能捕捉光线,但也越会手震,Pixel手机上也是利用多张合成来解决这两种矛盾。
手持+夜视模式,就运用到前面提到的HDR+技术,以及Pixel 3还有加上高解析变焦的技术来提高清晰度、以及对齐/ 融合像素。
针对晃动问题,Pixel手机还会搭配移动测量技术,看是手持还是上脚架,若侦测到手机稳定,拍摄张数就会少一点,但每张曝光时间长一点,手持、或是侦测到画面中有移动的东西,则是拍摄张数较多,每张的曝光时间变短。根据Google AI Blog的文章提到,拍摄多少张及多长的曝光时间,会视不同型号的Pixel手机,以及手持、移动场景而定,可能会介于快门1/15秒(或更短)连拍15张,以及快门1秒连拍6张之间。
不过夜视模式还会遇到低光时白平衡以及色调失真的问题。
改善低光时的白平衡
人在彩色的照明,或是戴着墨镜看东西时,还是能正确感知色彩,但当我们在一种光线下拍照,在另一种不同的光线下浏览时,照片通常像被染过色一样,我们就很难判断物件实际的颜色,为了纠正这种状况,相机通常会用自动白平衡来校正,就是部份或全局校正色温,让颜色看起来象是在自然光(通常是白光)照明下呈现的样子。
虽然自动白平衡在非夜视模式里做得还不错,但在非常暗,或是强烈色彩的照明下,就很难侦测光源到底是什么颜色。
为了解决这问题,Google开发了「学习式白平衡」,训练模型区别好的白平衡,以及不好的白平衡,当我们拍照遇到不好的白平衡时,算法会建议怎么调整成更自然的色调。
要训练这个算法,需要用Pixel手机拍摄各种场景,然后在色彩校准荧幕上查看照片时,手动校正白平衡。从下面的例子可以看到在低光时,学习式白平衡修正的差别:
左边是以Pixel 3+预设模式拍的,右边则是Pixel 3+夜视模式拍的,预设模式下,相机不知道这海滨小木屋的光源有多黄,右边则是学习式白平衡算过之后,还原出一个较自然的白平衡。

正确表达夜间调性
前面提到夜视模式是为了改善0.3 lux~3 lux亮度下手持、不需闪光灯的拍照质量。
但在很低光时,人眼都看不到场景里的颜色了,相机又如何捕捉并漂亮的呈现呢?
拍摄低光夜景时,不管是单眼或手机,多半会用长曝光,或是多张合成,拍出这样的照片,有对的颜色、有细节,以及因为月光照成的阴影,而且有星星,效果很不错,但它看起来太像白天了,会造成读者的困惑,不觉得这是要表达夜晚场景,也可能这并不是拍摄者想要的样子。

Google从古典画作得到灵感,他们发现画家利用强化对比度、深色包围场景,以及把阴影部份描绘成黑色三种方法,来表现这是低光场景。于是在夜视模式的算法里,也采用了一样的技巧来表现低光场景。不过要用夜视模式拍出亮度跟细节,同时还让观赏的人知道这照片是夜间场景,还是有点困难的,这张是还不错的成果。

夜视模式这样的好物,会开放让其他手机也能安装下载吗?
关于这问题Macr Levoy提到,目前还是优先放在Pixel手机上,开放与否除了技术外,还有很多复杂的因素,未来会不会有计划,他也不能予以置评。
关于计算摄影的一些QA
上面这些计算摄影技术,目前都还是作用在静态照片上,Macr Levoy表示,若要将这些软件技术用在影片上,需要更好的硬件加速来支撑,未来还是可以考虑作用在影片上。(不过Pixel 3的录像时防手震倒是有用到算法)
目前的计算摄影仍面临一些限制,硬件方面,也是每一家厂商都会面临到的,比方想要更长的焦距,机身就会更厚,尽管现在厂商有很多创新技术,但还是无法避免会遇到这些物理限制。软件上,也有运算能力及存储器的天花板有待突破,比方更进阶的机器学习模型,需要更大的存储器...等。
Macr Levoy也提到,虽然计算摄影的运算变得更复杂,但这也意味着他们可以透过一次次的更新,取得更好的拍摄功能(或体验),他们也希望每次更新都可以扩及到历代Pixel手机上,对团队来说,这是一项持续工作,但优点是,不用等到新硬件出来,就可以推出更进阶的功能。
就算是单眼相机,也多少有多张合成、软件演算在运作,只是看起来没有现代手机那么全面跟深入。
对于在拍摄时套用很多算法,有人会觉得不要过多修饰镜头跟感光元件纪录的当下,才是真实的拍摄行为(纪录影像);
也有人觉得透过软件还原眼睛能看到,但镜头无法好好纪录的样子,是必要的(比方很多摄影师还是会修图后再拿出成品),
也有人觉得用AI演算让画面更漂亮更稳定更讨喜,解决手机硬件的限制,也无不可,
不仅是你我,每家厂商对计算摄影也都有不同的喜好跟品味,算法要多用力干涉成像这件事,我想没有答案,各位同学觉得呢?
新闻来源:中国IC网,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-07-15