编注:本文首发于摄影应用 Halide 官方博客,原名《iPhone SE: The One-Eyed King?》。作者是应用开发者 Ben Sandofsky,少数派经授权翻译转载。


时隔四年,我们又迎来了一款平价版 iPhone。和上一代一样,新款 iPhone SE 采用新老硬件结合的方式控制了售价。iFixit 在拆解时还发现 这一代 iPhone SE 的后置镜头模组是可以与 iPhone 8 的互换使用的。

iPhone 8 和 iPhone SE 拆解对比(图/ iFixit)

如果只是从硬件参数层面评价 iPhone SE 的镜头,我们直接让你去读 iPhone 8 的评测就好了。简单来说,尽管是三年前的镜头,我们认为它仍然很优秀。Sebastiaan1  最近用它拍了不少 RAW 格式的照片来测试它的实际效果。

但 iPhone SE 相机的重点是在系统上,这款 iPhone 利用「单幅图像深度估测」(Single Image Monocular Depth Estimation)技术做到了其他 iPhone 没做到的事情。翻译成大白话就是,这是第一款仅用一张平面图像就能生成「人像」效果的 iPhone。

用最新升级的 Halide 拍摄,系统相机只能在拍摄人物时开启「人像模式」

你可能会说,「难道 iPhone XR 不是这样吗?它也只有一颗摄像头呀!」但正如我们 此前在文章中提到的 一样,尽管 iPhone XR 也是后置单摄,但是它还是利用硬件来获取景深信息的。iPhone XR 会从传感器的相位对焦像素点中获取信息,你可以将其理解为辅助对焦的一双双小眼睛,它会利用不同眼睛观测到的轻微区别来生成一张粗略的景深图。

但在新款 iPhone SE 上这个方法却不可用,这是因为它的传感器尺寸比较小,所以没有足够多的相位对焦像素点可以使用,所以 iPhone SE 完全是通过机器学习来生成景深数据的。你自己就可以做一个简单的测试:对着一张照片拍照就行。

(我们推荐你使用 Halide 相机并不完全因为这款应用是我们开发的,更多是因为系统相机只在拍摄人物时开启人像模式。我们会在后面的部分讨论这一问题。)

我们来把这张图片放大到全屏,再用 iPhone SE 拍张照:

Lux Optics 公司的吉祥物 June

一台 iPhone XR 会看到近乎纯平的表面——也就是电脑的显示器。它似乎是凭借着图片上的色彩来调整景深图的,并且猜测中间的这一块要比其他部分稍稍靠前。

iPhone XR 生成的景深数据

iPhone SE 则会生成一张完全不同的景深图。虽然是错的,却令人啧啧称奇!

iPhone SE 生成的景深数据

下面这张是在收拾我爸房子的时候,翻出来多一张有着 50 年历史的我祖母的胶片……

真是令人惊叹。这招确实很厉害,但毕竟这都是经过设计的实验场景。要是换到真实世界中去试试会怎么样呢?

实战测试:偶有瑕疵

为什么苹果只允许系统相机在拍摄人物时开启人像模式?这是因为在处理图片是苹果有一项额外的步骤:如果拍摄主体是人,那么效果相当不错;但如果拍摄主体不是人,那么有时就会出点小问题。

在这个例子中,神经网络没能分清 June 的头和后面的树。也许是把树当成头上的角了?

而且,似乎景深图在分区(指切分一张图片的不同部分)方面非常出色,但在判断实际距离时却时好时坏。这里我们以一张 June 的惊恐脸为例:

「2020 年无论对谁来说都不好过」

我同时用 iPhone 11 Pro 和 iPhone SE 拍摄,明显可以看出更多的镜头可以得到更好的数据。iPhone 11 捕捉到了过道的全部景深信息,而 iPhone SE 在逐渐延伸到远处的地板上出现了判断失误。

左:iPhone 11 Pro;右:iPhone SE

这在现实生活中会有什么影响?我们就拿这一株多肉作为对象来说明吧,因为这张照片有着不错的层次感。

在 iPhone 11 Pro 的景深图中我们能看到明显的边缘,而 iPhone SE 仅仅是抓住了一个大概。也许是因为神经元网络学习了不少狗的图片,没怎么学习如何辨别植物?

那最终的结果呢?正常来说,处于前景的物体和处于背景的物体的模糊强度应该有所区别,然而 iPhone SE 的模糊效果全都混在一起了。

左:iPhone 11 Pro;右:iPhone SE

需要说明的是,为了让效果更为显著,我加强了人像效果的强度。如果你喜欢 iPhone SE 的效果的话,你是可以在 iPhone 11 Pro 上复制的,反之则不行——你没办法在 iPhone SE 上复制 iPhone 11 Pro 上那种层次分明的效果。

苹果的机器学习的第二步在区分层次上起到了至关重要的作用。苹果在推出 iPhone XR 时引入了一个叫做「人像模式遮罩」(Portrait Effects Matte)的 API,它可以检测照片中的人像,并为其创建一个拥有丰富细节的遮罩。实际上,这个遮罩比照片中包含的景深信息的分辨率还要高。

在 2018 年用 iPhone XS 拍摄,分辨率缩放到原图到四分之一

只要前景的物体对上了焦,成像锐利,多数人永远也不会知道你没怎么在背景模糊上下功夫。

所以还是回到这个问题:为什么苹果只允许在人物上开启人像模式呢?

苹果倾向于「做的比说的多(under-promise and over-deliver)」。想让你使用人像模式拍一切不是不行,但相对于一个不甚稳定的成像效果来说,他们宁愿让用户觉得「人像模式只能拍人」。不过作为开发者,我们还是很高兴苹果允许我们自由查看这些景深数据。

下一个问题:机器学习会不会好到不需要多摄像头设备?

机器学习测算景深的挑战

我们的大脑非常不可思议。与新款 iPad Pro 不一样,我们的眼中没有 LiDAR 来提供景深信息。我们的大脑是从一系列信息源来获取这一信息的。

最佳方法就是比较我们两只眼看到的不同图像。我们的大脑会将两张图的信息串联对比,差别越大物体就离得越远,拥有两颗摄像头的 iPhone 采集景深信息的原理就和这个差不多。

另一种方法是通过运动。在你走路的时候,远处的物体要比近处的物体运动得慢一些。

场景来自游戏《Sonic Dodger

这种方法和 AR 应用判断你在现实世界中的位置时采用的方法类似。对于摄影师来说,这种方法并不理想:因为要是在拍照之前总得让人们在空中挥舞一会他们的手机的话,可就太麻烦了。

于是我们只剩下了这最后一招:那就是从一张单镜头拍摄的静止图片中取得景深信息。如果你碰巧认识只有一只眼能看到东西的人,你就会知道他们的生活和其他正常人别无二致;只不过可能在开车的时候要多费点功夫。这是因为我们需要依赖其他线索来判断距离,比如说已知物体的相对大小之类。

举个例子,你知道一部电话一般来说有多大。如果你看到一部非常大的电话,你的大脑就会猜测它离你很近,尽管你之前从没看见过这部电话。大多数时间来说,这种判断方法都是对的。

《笑破铁幕(Top Secret)》是一部被低估的电影

那就很简单啦。只要训练神经网络来检测这些细节线索就行了,对吧?不幸的是,这其实是一个「不适定问题(Ill Posed problem)」。在「适定性问题(Well Posed problem)」中,问题有且存在唯一解,就像「一列火车从 A 地以 60mph 的速度开出,另一辆火车从 B 地以 80mph 的速度开出……」一样。

但在猜测景深方面,一张图片可以得出多种结论。看看下面这段爆火的抖音视频,视频中的这个人到底是在面对拍摄者,还是在背对拍摄者呢?

有些图片是没办法处理的,要么是因为辅助信息不够,要么是因为图片本身便不可解。

Waterfall》M·C·埃舍尔

所以总的来说,神经网络看起来非常神奇,但是它们同样无法突破人类智能所遭遇的限制。在某些情境下,一张图片根本不够。机器学习模型可能会生成一张合理的景深图,但是这并不意味着这就一定是真实的情况。

如果说你只想轻松地拍一张好看的人像照片的话,这算不上是什么问题。但如果你想要准确地记录一幅画面,保留尽可能多的信息以供后期编辑的话,你就需要一个额外视角(比如双摄系统)或其他传感器(比如 LiDAR)。

机器学习会超越多摄手机吗?答案是否定的,因为无论是何种系统,能获取更多信息通常都是更好的,这也是为什么我们进化出了两只眼睛。

问题在于,若是某一天景深测算和实际情况相当接近,鲜有失手情况的话,就算是专业摄影师也会思考,要不要掏更多的钱买额外的硬件。我们觉得这个愿景在今年还没法实现,但是看现在机器学习的发展速度的话,或许几年之后我们就会迎来这一技术的应用,而不必寄希望于数十载之后的未来了。

现在的这个时代对于摄影来说真可谓激动人心。

自己动手试试吧

如果你在看完这篇文章之后,对现在景深捕捉领域感到好奇的话,可以试试我们刚刚更新的 Halide 相机。

如果你手上有任何一部支持人像模式的 iPhone,你都可以用 Halide 的「景深」模式拍摄,看看生成的景深图是什么样子的。看看你的 iPhone 是用什么样的方式来看这个美丽的三维世界,还真的挺有意思。

最后,感谢你的阅读。如果你还有更多关于 iPhone SE 的问题,欢迎在 Twitter 上 联系我们。祝拍照愉快!