最新相機文章

Image credit:

Google 解密机器学习在 Pixel 手机上的应用

简单的相机功能背后不简单的技术。

Andy Yang
2019 年 5 月 23 日, 下午 05:00

在近期手机持续向多镜头的方向前进,由不同的镜头担当望远、广角、大光圈夜拍、模拟浅景深等各功能的同时,Google 的 Pixel 系列绝对是当中的异类,意图靠着 AI 的智能演算能力,将唯一一颗的镜头的效益发挥到最大,让它在各种场景下都能发挥实力,与多镜头手机比相比,依然有一拼之力。

我们拍照只要按一下快门,就几乎都能拍出好照片来,然而究竟 Google 在背后做了些什么神奇的黑科技?今天 Google 延续了进行许久的 AI 系列研讨会,特地请来了 Google 的杰出工程师(Distinguished Engineer)、斯坦福大学荣誉退休教授 Marc Levoy,来介绍由他的团队所领导开发的 HDR+ 模式、肖像模式和最新的夜视功能等 Pixel 手机背后的各种强大系统与技术。

HDR+


Pixel 3 HDR+
首先,是早在 2014 年就已经推出,但老实说至今依然无人能敌的 HDR+。HDR(高动态范围)照片的处理真的是一门「艺术」--由于它在本质上是拉高阴影的亮度、并同时降低亮部的亮度,以达到展现更多细节的效果。传统的 HDR 的做法是拍摄几张不同曝光长度的照片,再将它们叠合在一起,并且视局部需要取用不同程度的曝光结果;但是 HDR+ 不一样 -- 它是一口气拍一大堆极短曝光的照片,然后视局路需要叠合足够数量的照片。这让 HDR+ 可以更精确地抓到边缘来对正影像,也可以减少长曝光的残影。

此外,如果只是将一条固定的曲线呆板地套用到照片上的话,会显得照片灰灰的,没有什么对比。对此,Pixel 3 的 HDR+ 的做法是针对亮暗的边缘处去做强化对比,但压缩非边缘的部份,让照片符合人类的视觉。这结果,就是 Pixel 3 总是能提供最「养眼」的照片来,虽然对于拍照的人来说会一眼就看出以「相机」的角度这样的照片几乎不可能做到,但以「人眼」的角度来说好像相去并不远呢。

肖像模式


Pixel 3 portrait
第二个介绍的,是肖像模式。Pixel 手机的肖像模式最早是在 Pixel 2 上推出,是 Pixel 2 的大卖点之一。和 iPhone 的一大差异,是 iPhone 仅能将肖像模式运用在人物上,而 Pixel 却是人像、近物皆可。据 Levoy 介绍,原来有人在画面中和没有人在画面中,Pixel 用的是完全不一样的技术来做深度图 —— 有人的时候,它是利用神经网络与机器学习的训练,来截取人的位置;而在没有人的时候,它则是利用「双像素」感光器(Dual-Pixel)来判断深度。由于肖像模式的虚化完全是人工的,Google 还帮一般拍摄者取了个巧,故意「扩大」人物前后的景深范围,让你不用太准确去对焦,就能拍出人物锐利的照片来。

在 Pixel 3 上,则是对双像素进行了进一步的优化,加入了机器学习,让它能由 R、G、B 三色的左右输入直接算出深度图来,而不用传统对比同一像素在左右两张图间的距离的方式,计算距离。

高解析变焦


Pixel 3
第三个,是用来取代长镜头的「Super Res Zoom」功能。传统上数码变焦似乎总是被瞧不起(其实小编也是),主要就是和光学变焦相比,数码变焦并不能真的变出原本不在的资料来。无论是受限于镜头的解像力、还是数码放大的算法,其极限就在那边。Google 的做法是利用「像素移位」的原理,将多张略微偏移的照片叠合,试图找出不同照片中可以还原的细节。这一点点的偏移可以靠握持手机时的抖动来达成,如果是架在三脚架上的话,Pixel 3 还会晃动自己的防抖机构,来自已制造偏移呢。

当然,尝试叠加多张照片的算法也已经存在多年,但现实上的挑战并不少,例如单张照片的噪点容易被判读错误、不同画格间物体的相对位置可能有移动等,都是传统单纯计算每个像素时难以避免的挑战。这就是轮到 Google 的 AI 登场的时候了。在噪点误判的方面,Google 用的是「寻找边缘」的方法,先将边缘定下来后,在其附近减少降噪,确保边缘的锐利,其他地方就能用较激进的方式去做柔化,来减小噪点造成的冲突。而在移动中物体的部份,则是要靠 AI 来找到画面中的「特征物」,将不同画格中相同的特征物对齐,而不是全画面的对齐,以求达到更锐利的效果。

只是要了解毕竟物理上的限制摆在那边,数码强化能做到的终究还是有其极限,以 Pixel 的技术来说大约到 2x 变焦都能有接近光学变焦的效果,但如果再放大的话,就是光学变焦的天下啰。

夜视模式


Pixel 3
最后,是在 Pixel 3 世代首度推出,取代大光圈镜头的「夜间模式」。手机的小镜头一般来说进光量就有了先天的限制,高密度的感光器又是个后天的限制,两者相加之下的结果,就是夜拍效果经常惨不忍睹。一个简单的解决方法就是从硬件上着手,装上大光圈、低像素的夜拍专用镜头,但这势必要增加成本;而另一个比较常见的替代方案就是从软件上想办法,用更多张的照片来「叠合」出足够的亮度,但一般来说你很难确保画面在长快门的期间都不晃动,另一方面这样的照片噪点也很多,如果要把噪点抹平的话,照片上的细节也就没了,相当难用啊!

Pixel 3 新推出的夜视模式(Night Sight)试图用 AI 的辅助,来强化软件夜拍的方案。因为在操作上的本质的不同,夜视模式是一个独立的模式在「其他」里,不像 Super Res Zoom 是只要有数码放大就会启用。它和普通拍照最大的不同,就是普通拍照其实是从相机启动开始,便持续地将镜头看到的影像存在一个循环式的缓冲区里,在你按下快门键的瞬间,就会将缓冲区中最近的几个画格送进影像处理单元,达到「无延迟」的效果。但用这方式的话,在夜拍时最多就只能取得 1/15 秒的影像,也就是说快门无法长于 1/15 秒。在夜视模式下则会像一般照相机一样,在按下快门后才开始依曝光需求收光,所以就没有这个限制了。

Pixel 3
第二个不同,是运用了一种名为「光流法」(Optical Flow)的技术,让夜视模式可以即时地判断目前的画面有没有抖动的风险。如果说你的镜头有光学防抖(例如 Pixel 3),那夜视模式就会开放更长一点的快门;如果手机是放在一个稳定的平台上(例如三脚架、甚至是靠在墙上)的话,夜视模式甚至可以将曝光时间延长至 1 秒。

拍完多张照片之后,下一步当然就是将它们叠合在一起了。在 Pixel 1 和 Pixel 2 上,夜视模式用的是 HDR+ 的叠合技术,而在 Pixel 3 上则是改用了前面的 Super Res Zoom 的叠合技术。后者自然是更先进,但也更费运算资源,所以只有 Pixel 3 才能使用。

Pixel 3 night sight
最后,Google 还有最后的大绝招「AI」可以使用,为夜拍的照片带来更自然的白平衡,以及更适当的光照曲线。白平衡向来是夜间拍摄的一个极为头痛的问题,特别是在频率单一的光线之下,很多物体根本分辨不出颜色来。Google 的 AI 会通过机器学习尽量削除掉一些人造光的影响,试图还原一些物体本来的颜色,但小编也碰到过在很个别的情况下,Night Sight 会很用力地去矫正颜色,结果反而和原本的场景天差地远了。

整体来说,Night Sight 是这次 Pixel 相机的各种 AI 新功能中,最为让人惊艳的一个。虽然说 Pixel 1 和 Pixel 2 也都能安装,但前者没有光学防抖、后者也没有 Pixel 3 的运算力,因此论最终效果,还是 Pixel 3 最棒呢。