当前位置:静雅生活网 > 数码百科 >

简单科普:计算摄影“算”的是什么?

导读:按下快门之后,手机在干什么?  手机摄影的硬件已经碰到天花板,等明年 1 英寸传感器满街跑之后,以后厂商的宣传重点可能会越来越偏向于 " 算法 " 和 " 计算摄影 "。这

  按下快门之后,手机在干什么?

  手机摄影的硬件已经碰到天花板,等明年 1 英寸传感器满街跑之后,以后厂商的宣传重点可能会越来越偏向于 " 算法 " 和 " 计算摄影 "。这里先立个 flag,帮大家预习 / 温习一下 " 计算摄影 " 相关内容。

  " 计算摄影 ",对于用户是个不明所以的黑箱,也是个很模糊的概念。从耳熟能详的 HDR、夜景模式、美颜与特效,到 " 摇摇乐 " 像素位移、超分、多摄融合,就连以前的人像虚化、超广角边缘校正也是 " 计算摄影 " 的一部分。

简单科普:计算摄影“算”的是什么?

  Google Pixel 7 ↑

  Google 有在 Google AI Blog 做技术分享的优良传统,所以本文以 Google 的视角,简单整理大家最关心的 HDR 和夜景模式等计算摄影算法的演变与特征,最后提几句苹果。

  像打怪一样,克服问题、改进和利用各种技术的过程,时常会让人忍不住大喊 " 妙啊 ",我们这就开波回顾历史。

  HDR 与 HDR+

  数码摄影最早遇到的问题之一,就是小底 CMOS 的动态范围完全不够用。

  数码多当年非常直观的原理说明↑

  为了让相机传感器几千比一的记录范围,能记录明暗对比度动辄几万比一的真实世界,工程师搞出了多帧接力的 " 曝光包围 ",用欠曝的短曝光照片去记录高光 + 过曝的长曝光照片记录暗部,然后合成明暗细节具备的高动态范围 HDR(High-Dynamic Range)图像,现在回看也是个非常妙的方法。

  2010 年的 9 月,苹果在 iOS 4.1 上为 iPhone 4(刚升级成 500 万像素,首次加入前置摄像头)引入 HDR。但 HDR 的大规模宣传,还得等 iPhone 4s (升级到 800 万像素,支持 1080P 录像)的发布会。

  而类似的功能,当时的移动摄影霸主诺基亚,要等 2013 年的 Lumia 1020 才有(这锅微软要背一半),而且其包围曝光功能,要把照片导到电脑手动合成。

简单科普:计算摄影“算”的是什么?

  下一个里程碑是 Google 的 HDR+。Google 从斯坦福挖来 Marc Levoy(马克 · 勒沃伊)教授,其研究成果,就是 2013 年 Nexus 5 搭载的 HDR+,后者要等到 2015 年的 Nexus 5X/6P 才大放异彩。

  Marc Levoy 教授在 2020 年跳槽到 Adobe 做副总裁,跳槽时他说会搞个通用的相机 app,大家以为无数算法一塌糊涂的手机会得到救赎,然而这 app 现在都没影。

  而下面是 HDR/HDR+ 遇到的一系列问题和很妙的解决方案。

  糊片和运动鬼影:

  HDR+ 的初衷,是要解决传统 HDR 容易糊片和运动鬼影(移动物体的 " 多重影分身 ")的问题。

简单科普:计算摄影“算”的是什么?

  传统 HDR 起码由长短 2 帧合成,长快门帧容易因手抖或被摄物移动而糊片,所以 HDR+ 改用多帧相同时长的短曝光(既然长快门不安全,那就全用短快门好了)。

  HDR+ 会拍下 2 到 15 帧快门时长相同的欠曝照片,然后对齐、选出基础帧、预留抖动的废片去做多帧降噪,然后合并输出 HDR+ 照片。

  快门延时:

  因为要等多帧拍摄完才能合成,所以当时做不到 " 零延时快门 ",点完快门还要等进度条转完圈才能拍下一张(现在的夜景模式也是这样)。

  Google 用了 " 预载快门前的图片 " 的方法,来做到 0 延时快门(Zero Shutter Lag,ZSL)。只要打开相机,手机就会开始拍摄图像帧并储在缓冲区,按快门时,相机会将最近 9 帧或 15 帧送去做 HDR+ 或 Super Res Zoom(超分辨率)处理。

  成像速度问题(算力):

  要对齐和合成多张照片,算力需求很大,真的是 " 计算摄影 "。

  当年 Nexus 6P 的骁龙 810 不降频时,拍 HDR+ 照片需要 2.5 到 4 秒(具体取决于多帧合成的帧数)。光线好的场景总耗时 2.5 秒,当中拍摄耗时 100 毫秒,对齐要 250 毫秒,合并要 580 毫秒。暗光场景的拍摄总时长 4 秒,包括 1 秒的拍摄,500 毫秒对齐,1200 毫秒用于合并。拍照时转圈圈的等待,依然会让你感觉时间凝固了。

简单科普:计算摄影“算”的是什么?

  2016 年后的 Pixel 系列,即便连高通骁龙的 Hexagon DSP 都拉进来帮忙处理,但算力还是完全不够用(其实现在也不够用)。

  为此,在 2017 年的 Pixel 2,Google 和英特尔合作设计了专门的 Pixel Visual Core 芯片来硬件加速,帮忙处理 HDR+ 照片并让第三方 app 也能调用 HDR+。其宣称运行 HDR+ 只需要 1/5 的时间和 1/10 的功耗。接近时代的,还有华为海思的 NPU、增加 " 仿生后缀 " 的苹果 A 系列芯片,多年后的 vivo V1+、OPPO 马里亚纳 X,初始核心用途也是搞计算摄影。

  白平衡:

  除传统的白平衡算法需求,在把 12bit 甚至 14bit 的 HDR 照片映射到 8bit jpg 图像时,也容易出现伪影、光晕、梯度反转或局部对比度损失等多种问题。部分用户可能还记得早期 Google Nexus/Pixel 机型,甚至用 Google 相机的部分第三方机型,HDR+ 会有白平衡漂移、高光处会出现特殊纹理等多种问题。

简单科普:计算摄影“算”的是什么?

  而后来,Pixel 4 把 Pixel 3 上仅用于夜景的机器学习白平衡普及到所有模式,让 HDR+ 的白平衡问题有了大的改观。

  暗部噪点问题:

  讲白话,HDR+ 就是用 " 多次短快门 " 来规避传统 HDR 长曝光帧易糊片和运动鬼影问题。但短快门的欠曝样张,注定会损失暗部细节。因为 HDR+ 的每次短快门都会引入新的读取噪声,所以它注定也无法超越同样时长的长曝光。

简单科普:计算摄影“算”的是什么?

  所以 Google 在 2021 年,重新为 HDR+ 加入长曝光帧(兜兜转转又回来了,而苹果 2018 年的 Smart HDR 就保留了长曝光)。这次 " 妙 " 的地方是,Google 继续沿用 " 开相机就开始缓冲短曝光帧 " 的策略,新加入的长曝光帧,放在按下快门之后,这样就能兼顾零延时快门和暗部效果。

  夜景与天文摄影模式

  Google 的 Night Sight 是在 2018 年底引入 Pixel 系列的新算法,翻译就是要等上好几秒、但又可以手持成片 " 慢快门 " 自动夜景模式,对应华为在 2018 年初 P20 系列的手持超级夜景模式。

  Night Sight 是快门速度更慢 + 正延迟快门(PSL)的 HDR+ 强化版。HDR+ 是大部分帧都在按快门前拍下的,而 Night Sight 的所有帧,都是按快门后拍摄的(所以会有取景卡顿还长时间的进度条转圈圈)。

  HDR 和夜景模式都对手持情况敏感,Google 自然也给 Night Sight 加了自适应的快门和帧数策略。

  2018 年的 Pixel 3 在默认拍照模式就用了光流法(optical flow)测量场景运动,然后自动选择曝光时间来降低糊片几率,同时会用短帧作为对齐参考帧,用类似 Super Res Zoom 的算法决定每个像素是否应该参与合成。

简单科普:计算摄影“算”的是什么?

  如没太大的运动,Night Sight 的每帧曝光时间最多拉长到 1/3 秒并连拍 15 张(5 秒总时长)。如果处于使用靠墙或三脚架等物理稳定方法,单帧时长会增加到 1 秒并连拍 6 张(6 秒总时长)

简单科普:计算摄影“算”的是什么?

  而 2021 年在 HDR+ 里引入长曝光时,Night Sight 也引入更多的长曝光帧,手持极限的 15 帧里,前 6 帧会梅花间竹地做了 3 次长曝光,而以前会被舍弃的照片帧,现在也能加以利用来进行降噪。

简单科普:计算摄影“算”的是什么?

  左侧是长时间曝光产生的热噪声,右侧是算法消除效果↑

  Night Sight 的极限版本是天文摄影模式,在长达 4 分钟的长曝光中,包括 15 张单帧短于 16 秒的照片。此外,Google 用经过 10 万张天空夜景图像 " 训练过 " 的神经网络,区分天地相交的天际线,然后对天空、陆地风景做针对性降噪或对比度处理,并完成热噪点去除(因传感器的长时间曝光而产生)。

  

  Super Res Zoom 超分辨率变焦

  同样是在 2018 年引入的 Super Res Zoom(超分辨率变焦),也被称作 " 摇摇乐 " 算法。现在不少厂商在 1.5 到 3 倍的低倍率,用的是就是像素位移叠加 AI 超分辨率。

简单科普:计算摄影“算”的是什么?

  Super Res Zoom 算法的思路类似单反的 " 像素偏移多重拍摄 " 技术,通过精确控制像素偏移来补全缺损的像素信息。其在 1.2 倍以上放大就会自动触发,拍摄并对齐多帧画面并跳过去马赛克算法。

简单科普:计算摄影“算”的是什么?

  图片深度信息↑

  虚化上的操作,是 Google" 单摄能搞定的事情绝不用多摄 " 的最佳例证之一。最早的虚化是靠双摄视差完成距离检测,而 Google 在 Pixel 系列用祖传 IMX363 的年代,其用的是全像素双核对焦的绿色子像素(红蓝像素都没用)做距离检测,又是一个妙手。

简单科普:计算摄影“算”的是什么?

  但子像素比起同行的双摄,间距实在是小太多了,深度信息精度不足(弱光时更惨),所以 Google 加了立体算法。实际操作,先搞 HDR+,用经过 100 万张照片训练出来的卷积神经网络去分辨人形区域,综合人物识别和深度信息,对每个像素的模糊程度进行计算。而前置镜头没有双核对焦,全靠人物识别。

  为了提高效果,Google 当年也玩了些小技巧。例如早期的人像虚化中,前置默认 1.2 倍放大,后置则是 1.5 倍放大,让用户自然地离远一点来减少透视畸变。

  时至今日,所有厂商都能用最普通的单摄完成虚化,甚至给虚化的光斑自定义形状。但用神经网络虚化的弱点,依然是过于 " 依靠常识 ",非常见物体会识别不出来,例如人和鳄鱼亲吻的照片中,鳄鱼可能会被当做背景模糊掉。遇到理工男格子衫、空白墙面 / 严重过曝样张等,重复纹理甚至无纹理区域也容易翻车。

简单科普:计算摄影“算”的是什么?

  而多摄融合,典型的用途就是主摄到 3 到 5 倍长焦之间的变焦区间:主摄数码变焦中间叠加长焦的画面(从画面边缘到中间的过程中,会发现画质突然出现跃变)。又

  或者像荣耀 Magic3 系列主推的多摄融合那样,在超广角画面中间叠加主摄的画面。如果恰巧设备的算力雄厚,甚至还能在超广角中间套主摄,然后再套长焦画面。

  苹果

  经过这些年的发展,像是 Google HDR+ 后来引入了苹果 Smart HDR 中的长曝光帧、Google 和苹果都跟进了和华为类似的手持超级夜景模式,不同厂商的算法经常会殊途同归。这里简要说一下苹果最常用的是 Smart HDR 和 Deep Fusion(深度融合)算法。

  Smart HDR 算法在 2018 年的 iPhone Xs 系列首发,顾名思义就是应对大光比场景用的,一开始就有传统的长短帧设定,算法目标主要是提高画面宽容度,画质增强的效果不明显。苹果默认是连拍 9 张合成,而 Google 则是 2-8 帧合成,后者会为了画面自然而降低合成数量,明亮场景最低只会用 2 帧合成。

简单科普:计算摄影“算”的是什么?

  Deep Fusion 算法在 iPhone 11 那代引入,同样是 9 合 1,但核心用途是提升画质,它是苹果从以前的 " 真实、还原、淡雅 " 变成 " 艳丽的锐化爱好者 " 的元凶之一。

  Deep Fusion 无开关,只能通过 Metapho 等第三方 App 查看那些样张触发了算法,主摄会在中弱光场景时触发,而对于苹果素质孱弱的长焦和超广角,无论白天黑夜几乎都是默认触发的。不喜欢锐化的塑料感,可用 NOMO 等 App 规避,但代价是糊片几率提升。

  算法供应商

简单科普:计算摄影“算”的是什么?

  移动摄影最早是虹软这些传统算法供应商的天下,除了一直搞自研路线的苹果和曾经的计算摄影领头羊 Google,其他厂商都在用它的算法。像旷视、商汤也是现在很重要的第三方算法供应商。

  现在华为、小米、vivo、OPPO、荣耀都有自己的自研算法,但三星和 vivo 依然是虹软算法爱好者。此外,很多厂商会用同一家,甚至同一套算法(像荣耀 Magic3 系列的多摄融合,和小米 11 Ultra 的长焦用的都是旷视的同代算法),也有过同时搭载几家算法的机型。

版权声明:本文部分来自互联网,由小编精心所写,本文地址:http://www.zhubian88.cn/smbk/62154.html,如需转载,请注明出处!

联系我们

在线咨询:点击这里给我发消息

微信号:weixin888

工作日:9:30-18:30,节假日休息