首页 收藏 QQ群
 网站导航
开启辅助访问

QQ登录

只需一步,快速开始

扫一扫,访问微社区

立即注册 找回密码
查看: 535|回复: 2
[交流讨论]

Google Camera的 HDR+算法有多厉害?

[复制链接]
发表于 2018-12-3 10:15 | 显示全部楼层 |阅读模式

上一篇:4K 144Hz HDR G-Sync显示器如何样?
下一篇:电视机机的机顶盒费电吗?
发表于 2018-12-3 10:23 | 显示全部楼层
本帖最后由 libaizibubai 于 2018-12-3 10:37 编辑

HDR+ 有多厉害,当然是超厉害啦~!
官方集锦 Photos and Videos from Pixel 2    (404 Not Found 注意)
文中部分配图:
https://photos.app.goo.gl/Ht0KGsYff7X46nMu2

(同样是 404 Not Found 注意,我不清楚在网页上放大是什么质量,但可以在菜单中点击下载原图)
可以直观地看到,Pixel 2 的 IMX362 CMOS 在 HDR+ 的加持下,照片的动态范围更强,高光过渡更好、暗部噪点更少,各种条件下都能保留很好的细节。另外,HDR+ 还能一定程度的去抖动、鬼影、优化肤色。
First Edition

由于 HDR+ 基于多帧单曝光堆栈,拍摄时需要花费 151643u8nrrmiz1rma44aj.jpg!0 倍快门的时间,为了能够抓拍,谷歌提供了零快门时滞( zero shutter lag, ZSL )的HDR+ 突发模式 ( 在现在的谷歌相机里称为 HDR+ on,默认开启 ),其原理是相机取景时后台就已经开始预拍,按下快门时取出这些照片进行处理,此模式下无论是否合焦都会立即拍摄,快门速度也会比较保守(最低 151644jdtgbaddzqsafm6r.jpg!0 )。而完整模式 ( HDR+ enhanced ) 则是按下快门后,完成对焦过程(无论成功与否)才开始拍摄。在 Pixel 2 上,此模式的最低快门速度是 151644es8j5hdz4mghhk3h.jpg!0
151645dmlmfzd16dugz9u2.jpg!0
Google HDR+ 完整管线
如果要说缺点的话,照片在高感下的噪点不均匀,不太好看。这应该是 RAW 转换为 JPEG 时的问题,以及一些色调映射上的小瑕疵。还有,拍分辨率一般的显示器的的时候有可能会出现奇怪的网格(在画面中是完美的方形,应该也是堆栈过程中的问题)。可以期待谷歌后期改进。


此前,经过不同开发者的努力,谷歌相机已经能够安装在部分其他品牌机型上使用 HDR+ 151645hgigfwgsu6w7fefx.jpg!0 ,并且拯救了不少机型原本糟糕的画质。但也有效果不明显,甚至变得更加糟糕的(比如 LG G5)。原因是谷歌只为自家机型做了优化配置,其他机型或多或少都会有瑕疵,无法发挥全部实力。来自乌克兰的开发者 B-S-G 率先在自己的移植版中加入了 HDR+ RAW 输出,经过在 Pixel 2 上的测试,带来了不少惊喜。
151646zx9e33zkba0uk3eg.jpg!0
Google Camera B-S-G Mod settings
以下是 Pixel 2 的实际体验,如未作说明,图片均为 RAW 拍摄并后期出图,调整可能有曝光、曲线与白平衡。


感谢评论区  @曦瓜  同学的提醒,我应该分享一份原图。另外,Waiting for Google is never fun. 对于暗光拍摄,大家可以尝试提高堆栈张数:将移植版相机设置里的 HDR+ parameters ( 或旧版的 Buffers size ) 调为更高级别。


嘟嘟噜~


首先,HDR+ JPEG 直出的效果已经非常好了,Pixel 2 在 DxOMark Mobile Photo 拿了99分(丢分在噪点与伪像。模拟虚化的实现不属于 HDR+ 的范畴),动态范围等等都是最优秀的。但使用 HDR+ RAW 后才发现,它原本更加优秀!


与直出 JPEG 相比,HDR+ RAW 还能提供更高的动态范围,同时噪点更少且十分均匀,是 Lossless JPEG Compressed DNG 格式,在 Pixel 2 的 12MP 每张约 10MB,不会占用过多空间。


在 JPEG 下过曝的高光,可以再期待一下 RAW 的表现,基本都能拉回来一档。


经过 RawDigger 查看,Pixel 2 的 HDR+ RAW 的数据范围是 0~16368 ,也就是   151648dsshn3u3hx5j3s00.jpg!0 ,并且无跳值(关联阅读:索尼相机的raw是有损的,究竟和无损的raw 差多少?),其他手机的 RAW 多数为 151649i0oyhzjxknzokiz9.jpg!0 ,于是调整余地就非常大了。尽管没有严谨测试,但它至少有 13 EV 的动态范围,拉曝光的时候,会给你一种全画幅 RAW 的错觉……
以下是一个大光比场景:
151651x9cw70b60dj9mi70.jpg!0
HDR+ RAW -4 EV / +3 EV 效果对比
151653phcz1f9gsxh1ttzg.jpg!0
HDR+ RAW 直方图 (13.9 bit)
151654puuc960too066ctu.jpg!0
JPEG 直出效果
(这张照片的 JPEG 与 RAW 的快门速度不一样,以各自的EXIF为准了)
同样场景下,多数算法不够好的手机的效果已经是一片惨白或死黑了。
151654w8hjj9899x274h7w.jpg!0
HDR+ RAW 调整后效果
经过了调整,还能获得更好的效果。


151655t9429cvsauew454a.jpg!0
早上撸猫
151656f1iz4ecus90oseoa.jpg!0
中午撸猫
151657jlslsj44555vlyv5.jpg!0
下午撸猫(JPEG 直出)
151659etad8mdkkk6m8m6k.jpg!0
晚上撸猫(轻微降噪)
优秀的手机拍照,是能够从早到晚高清撸猫的~
无论何时都能够提供惊人的锐度,特别是晚上,极其优秀的表现(注意这张的曝光参数)。
作为对比,请来了退休在家的LG G5:
151700y6pfpbyb1b3fy6k6.jpg!0
LG G5 RAW / Google Pixel 2 HDR+ RAW 效果对比 (1:1裁剪 无调整)
151701gpgp6n2ip5t6t33z.jpg!0
LG G5 RAW 直方图 (9.8 bit)
151704iszjvvwq9mx2vvbg.jpg!0
Google Pixel 2 HDR+ RAW 直方图 (12.5 bit)
没有多帧算法的 LG G5 惨败。噪点非常多,16MP 没有带来更多的细节,远景近景区分已经不明显,黑位偏移,几乎丢失了天空的颜色。


151706fpk9m0amr5pdkgym.jpg!0
151707re33f9kf3v339snv.jpg!0
城市夜景
在城市夜景的通常亮度下,快门速度还非常充裕,不用担心出片问题。
151708uiwg25bszxuzm442.jpg!0
更加黑暗的环境,噪点开始变得明显(上传的图片本身还有 JPEG 压缩过多造成的伪像)。
HDR+ RAW 完整模式的最高曝光值为  ,可能需要通过对画面暗部对焦同时手动调整曝光补偿才能达到(此时对焦本身可能不太容易)。
151709s1p1b0ttd1iibo1o.jpg!0
151711mb6c658hkbz8cco6.jpg!0
HDR+ RAW 下 Pixel 2 的极限水平
即使在这种曝光下,HDR+ RAW 也能提供不错的细节,噪点是比较容易后期抹去的,而此时的 JPEG 直出效果就不尽如人意了。
补上一些日景:
151712d5h4zrblyiccicha.jpg!0
151712nktdjjdj1zsj2qot.jpg!0
151714j6u6dllzlj5g6l8g.jpg!0
151715re77hy227e1l51ye.jpg!0
151716dbmzbbdbkdgl1yy3.jpg!0
表现动态范围的一张 (JPEG 直出效果)
自从加入 HDR+ 大法,我带相机出门的次数更少了……
其实 Pixel 2 的视频录像和闪光灯质量也非常好,不过不是问题的讨论范围,正文里就没有提相关部分。现有的 HDR+ 在高光与暗部交界处的光环( ringing )略明显,据朋友说比曾经的版本更明显。Google 真正厉害的地方是把堆栈的过程高效地实现了(如果你的机型支持 Adobe Photoshop Lightroom Mobile 的 HDR 拍摄,可以去感受一下从按下快门到成图的时间相比之下有多漫长)。
另外,Google HDR+ 并不依赖于Pixel Visual Core。在 Pixel 2 的 Android 8.1 上,它能使其他 app 拍照(例如 QQ 内置的拍照)也有 HDR+ 突发模式的效果,处理速度还快了很多。总之大家不用担心以后没有移植版用~
补充:
Adobe 已经为 Pixel 2 系列做好了 Camera RAW Profile,包括 Camera Profile  和 Lens Profile,可以用于色彩与镜头畸变校正。但官方版本仅适用于使用 Camera2 API 拍摄的单帧 RAW,并不能适用于 mod 拍摄的 HDR+ RAW(其实 Lens Profile 可以,但需要每次手动选择镜头),我已经做好了修改,以及一个添加了配置文件的 Lightroom Mobile 数据包,非 root 用户需要需要配合 AppCloner(付费app)导入应用数据。挖坑睡觉,改天来填~
(考虑到实际需求太少,宣布弃坑……挖一个新坑,几个月过去,谷歌相机魔改达到新高度,会上传一组新照片)已填:
Second Edition

距离本回答发出的时间已经三个月了,尽管谷歌在这段时间并没有对 HDR+ 进行优化,可是网络上的一众开发者可没闲着,他们继续为移植版 Google Camera 添加更多可调参数,让更多手机使用 HDR+ 有更好的效果。当然,也包括了 Pixel 2。
这段时间内最有用的改进莫过于加入了曝光参数调整。前文提到过 Google Camera 最高会使用  曝光。现在我们可以加倍曝光时间,同时降低感光度。目前的移植版可以调节至 8 倍曝光,即最高 151717p2t4zytm4mz4nvu9.jpg!0
当然了,这时候你就需要足够稳定的机身了(不一定上架,因地制宜选择支撑 / 手持都可行)。由于感光度大幅下降,画质也肉眼可见地提升了。在此补充一组照片,拍摄于这三个月期间,部分照片使用了加倍曝光,可以从曝光参数来分辨。
151718admxqggqgm1g1pdb.jpg!0
151719pgw0p6r7hsj04se4.jpg!0
151720jje31p3jb3cbtv31.jpg!0
151721bzv3oxddxcv8qvcn.jpg!0
151722ffy050igzy5dtdht.jpg!0
151723iftwwwdjkawardfj.jpg!0
151724lz0jeyj210z9zeg3.jpg!0
拍摄于当地时间凌晨1点

Pixel 2 依旧是目前最强呀……
关联阅读:DxOMark Mobile  分数的回归和再解读
开头已提到谷歌 HDR+ 基于单曝光堆栈,目前为止谷歌并没有为 Google Camera 开启 Pixel Visual Core 加速。而苹果 / 三星 / Vivo SuperHDR 等均使用包围曝光来提升动态范围,但为何 Pixel 2 依旧效果优秀呢,只能说 Google 真的强吧…… 因此非常期待多曝光 HDR+ 的出现,而 Pixel Visual Core 提供的加速完全能够胜任可能因为多曝光而增加的运算量,甚至可能最终比现在处理速度更快且更省电……
参考:
[1] raw .DNG from Huawei P10 Plus, Kodak Ektra, Lumia 950 XL. And: Google Snapseed!
文中关于其他机型的 RAW 位深,使用了这里的文件作为参考。这三款都是  。
[2] Google Camera Port with HDR+, 60fps video and slow motion
这里收集了不同开发者的 Google Camera mod,大家可以下载适合自己的版本。
回复 支持 反对

使用道具 举报

发表于 2018-12-3 10:42 | 显示全部楼层
HDR+ 的基本原理在楼上的回答内已经解释的相当清晰了,一句话解释就是拍一打照片(Burst),然后把各张的噪声平均掉,包括读出噪声和散粒噪声都可以相当程度的降低,理论上无法逾越的界限就是传感器本身的 fixed-pattern 噪声。算法本身的原理其实天文摄影中用了很久了,真正厉害的地方是在于整个 software-defined 的管线在 Nexus 6 上都能顺溜的跑,而且是从开始拍摄最开始就着手为画质优化了。由于数码传感器的原理,clip 掉的高光是怎么都救不回来的,所以测光阶段,HDR+ 就会直接读 RAW 来计算曝光值,跟一般的中央重点、分区测光等都不同,它是直接用整张 RAW 的数据来计算,通过 ETTR 来防止高光溢出。于此同时,它也密切的监视着手震,在手按下快门的一瞬间后会等手稳定再开始拍摄,拍摄那一打照片期间依然会根据机身的抖动放弃并重拍模糊的张。通过完整的一套拍摄管线来从采集阶段之初就保障曝光的健全,HDR+ 才能正确合并结果并 tone map 出好看的结果。
整套管线由于对硬件的依赖并不强,最基础的版本基本上只需要支持 Neon 就能运行,所以才能被 port 得遍地开花。不过由于第三方设备缺少对应的 profile 适配(例如 noise model 校准不对等)等,还无法达到最佳的效果,比如会被涂抹得一塌糊涂、画面某些部分有诡异的偏色等等。目前可以代表这个管线最佳效果的设备应该是 Pixel 2 系列了。Pixel 2 堆栈后的数据质量好到内置的 tone mapping 已经开始拖后腿了,如果想要发挥该设备的潜力,推荐使用第三方修改版的 Google Camera,改高连拍张数的同时启用 HDR+ RAW+JPEG,这个 RAW 是货真价实的堆栈 14 bit。
最佳效果有多好呢?我拿出了我这里有的三款设备在都输出 DNG 的情况下对比了一下,处理软件均为 Lightroom Classic CC 7.1。
151725dh9s62zdl4o2k57f.jpg!0
Pixel 2 XL, 1/5s ISO 4800, f/1.8
151726effbf3rfa8rydzam.jpg!0
Pixel XL, 1/5s ISO 4800, f/2.0
151726jg71qzaazjummf5i.jpg!0
Galaxy S7 Edge, 1/7s ISO 1430, f/1.7
关于作为对比的 Galaxy S7 Edge 为什么是 1/7s,因为第三方软件拍 RAW 快门速度已经放不慢了。至于选择 ISO 1430 的原因,这里是出于高光档位的考虑,请看下图
151727hv7o7ru44or9v7wd.jpg!0
151727qil8lkbjzzlwbhl3.jpg!0
方便对比较低的数值,这边Y轴设成了对数坐标系。可以看到实际上 Pixel 2 XL 在这个 ISO rating 下 clip 的像素已经比 S7 Edge 少了不少了,真的要一样的话 S7 Edge 的 ISO 还得降降。出图的时候通过 Lightroom 拉成了类似的亮度,说实话不同 Exposure Index (或者说 EV0 定义不同)的设备在比较 RAW 数据的时候 ISO 是没有任何意义的,它一般只代表 jpeg 直出的亮度,设备内部对应的增益完全不同。
颜色不同?对,颜色不同,暗部偏色导致的。Pixel XL 初代的高感辉光已经导致整张图都有点偏色了,S7 Edge 也歪,只有 Pixel 2 XL 毫无压力……
Pixel 2 XL 的 HDR+ 同初代还有一个区别就是,零延迟快门模式(现在叫 HDR+ On,原完整管线改称 HDR+ Enhanced)下依然是完整的测光管线,初代是完全依赖 ISP 的返回值的,会造成高光炸成一片。
Emmmm 然后我就开始好奇这玩意在极限情况下到底有多强,于是跑进了半夜一片漆黑的人民公园。
151728tizragyrotyqtqff.jpg!0
现场的肉眼亮度差不多是这个样子的,可能还要暗一些?然后我对着 RAW 猛力拉了一气:
151729u5d9pddtt9h99h5n.jpg!0
Pixel 2 XL, 1/5s ISO 4538, f/1.8
151732j50gbov4dw0uahu4.jpg!0
HDR+ 直出JPEG
对比一下这张 HDR+ 直接机内直出的 jpeg,可以看到浪费了不少高光档位,另外 RAW 在处理的时候也根据记忆调整了一下白平衡。在日间大光比场景下,HDR+ 直出的 tone mapping 容易弄出边缘假亮,主要是因为原本 HDR+ 的算法是为了性能优化的,这次 Pixel 2 系列用的参数比较激进,容易出问题,让整张照片看起来非常不自然,而且高光依然是硬 clip,并没有做高光混合,在一个及以上通道溢出的时候会出现色相偏移(皮肤高光焦黄、天空亮的地方变成青色等)。
151733ryjmzy38jz844ys4.jpg!0
Pixel 2 XL, 1/5s ISO 4800, f/1.8
看起来挺惨的……不过等一下
151733w9s7sz2gnrs0s2s0.jpg!0
猛力拉低曝光一看,我靠……它到底保留了多少高光信息
以下是样张时间:
151734n752o7b220po510c.jpg!0
151735r6bf1bn4fph6pp1d.jpg!0
151736x7z2x4lie8rez278.jpg!0
151737oie4r662xewuf4qz.jpg!0
151739jbz7w6wrdirworwv.jpg!0
151739mtusddddqiduobdu.jpg!0
又一张1/5s ISO 4800
151740wg00ghthwscf388g.jpg!0
来 放肆吸猫
我还真没在白天拍到什么好的样张,再加上近期上海空气质量一般……下次再更新吧
期待一下在不久的将来 Pixel Visual Core 被 Google Camera 用来加速的时候,先前对处理速度妥协的地方能有较大的提升吧,目前版本的 Google Camera 依然是 HVX 加速。
顺便,求全景能上 HDR+ 和 optical flow 啊!!!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐应用 上一条 /6 下一条

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 浙ICP备14000780号 )

增值电信业务经营许可证:浙B2-20150411 丨 浙公网安备 33010802006145号

浙网文(2016)6491-366号 | GMT+8, 2018-12-11 05:32 , Processed in 0.150713 second(s), 35 queries .

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2018 ZNDS.Com

快速回复 返回顶部 返回列表