今天,谷歌发布了最新夜视(Night Sight)功能AI算法。
你觉得这张照片是在一天之内的什么时候拍的呢?
阴天的傍晚?
乌云蔽日的白天?
看看下面这张“原图”,你就知道了。
是的,这张照片拍摄于夜晚,用普通模式拍照只能拍出勉强看到的酒杯和水果,在谷歌的夜视模式下,就能像白天一样,所有物品细节一清二楚。
类似的例子还有很多:
即使是前置摄像头,也可以拍出不错的效果
每张样片中,天空的颜色多会由黑色转为阴郁的蓝色,可以说照片效果和白天几乎完全一样,比人眼看到的夜晚更为明亮多彩。
这是因为在非常昏暗的环境下,人类视网膜的视锥细胞停止工作,无法区分不同波长的光,因而只能看到灰暗的场景。
但这并不意味着夜晚只是漆黑一片,谷歌夜视功能一样能看到这些人眼看不到的色彩,也就把夜晚拍的像白天一样明亮。
如果你看到这些把夜晚拍成白天的照片,就觉得夜视只是一个“昼夜转换器”,那可大错特错了。
在照片的色泽和清晰度上,谷歌的夜视功能一样敌得过其他旗舰手机。
我们来看看打开夜视功能的谷歌Pixel 3和苹果的iPhone XS Max、华为Mate20,三星Galaxy Note 9拍摄同样景色的对比吧。
第一关,我们先让打开夜视功能的谷歌Pixel 3来和iPhone XS Max对决一下,拍摄晚上送来的披萨外卖。
额……明暗度完全不一样,Pixel 3拍出来色泽鲜亮,披萨上的肉粒清晰,令人食欲大开。
iPhone XS Max拍的披萨过于昏暗了,虽然也可以看到披萨上的肉粒,但受限于昏暗的效果,让人实在没有吃披萨的想法。
相比之下,如此惨状,苹果可以洗洗睡了。
接下来,我们来PK华为Mate 20 Pro。
我们分别用打开夜视功能的Pixel 3和华为Mate 20 Pro来拍摄城市景象。
Pixel 3虽然看起来有点过度锐化,天空处理的并不如Mate 20 Pro柔和,但近处的的光线处理还是更好一些,路灯照亮的部分看起来更亮一些。
接下来的对比对象是三星Galaxy Note 9,我们来拍摄酒吧的画面。
整体看起来差不太多,Galaxy Note 9在暗光下总是无法避免画面偏黄的问题,不过开了夜视功能的Pixel 3就不一样了。
不过,放大看细节,你就会发现Pixel 3拍摄的细节更清晰,酒吧右上角墙上的那个孕妇不要独自喝酒的告示牌上有几行小字,Pixel 3拍摄的照片上,这几行小字清清楚楚,但Note 9嘛,就模糊了很多。
总结来看,打开夜视功能的谷歌Pixel 3已经稳赢iPhone XS Max,小胜三星Galaxy Note 9,和华为Mate 20 Pro各有优劣。
重点是,Pixel 3可是只有一个摄像头啊,另外的三家不是双摄就是三摄,硬件堆的满满。
看来,在拍夜景这件事上,几个摄像头不是最重要的,还得看算法能力。
其实,谷歌早在2010年就开始研究手机图像的优化算法。在Pixel一代手机问世后,谷歌的拍照“黑科技”一发不可收拾。
都8102年了,谷歌居然还在使用着单摄像头,价格却不输iPhone,这是为什么?当然是对强大算法的自信。
即便是上一代的旗舰机Pixel 2,如今DxO Mark排名也稳居前十:
2014年,谷歌曾推出HDR+技术:通过捕获多帧照片,在软件中并将它们对齐并且合并在一起,拍摄画面明暗反差巨大的图片。
上个月,谷歌又针对Pixel 3手机推出了Super Res Zoom:通过叠加多帧获得超采样照片,可以降低噪点,还能让图像更清晰锐利。
现在谷歌要解决夜景问题当然也不在话下。
低光照条件下,相机面临两种噪点问题:由入射光线涨落导致的散粒噪点,和传感器转换电信号产生的读取噪点。这在镜头和传感器尺寸较小的手机上更为严重。
解决噪点问题有两种方法:合成多张短曝光照片、延长单张照片的曝光时间。
之前提到的HDR+合并多张图片,其主要目的是改善动态范围,用于解决拍照画面中明暗反差巨大的问题。
事实证明,HDR+还可以降低散粒噪点和读取噪点的影响,因此可以改善昏暗光线下的信噪比。
另外,延长曝光时间也是一种解决方案,但它存在两个问题:
首先,Pixel手机上的默认拍照模式使用的是零延时快门:当用户打开相机应用程序,手机就会开始拍摄图像帧并将其存储在缓冲区中,当按下快门时,相机会将最近的9帧或15帧发送到HDR+或Super Res Zoom进行处理。
由于需要在屏幕上实时显示图像以帮助拍照,因此无论场景多么暗淡,HDR+都会将曝光限制在最多66毫秒,从而使取景器能够保持至少每秒15帧的刷新率。
其次,长时间曝光会导致运动模糊,这是由于手抖或场景中物体的移动造成的。光学防抖(OIS)可以延长手持相机的曝光时间(最多约1/8秒),但对于长时间曝光或移动物体无效。
为了对抗光学防抖无法修复的运动模糊,Pixel 3的默认拍照模式使用“运动测量”,其中包括使用光流法(optical flow)测量最近的场景运动,并选择最小化模糊的曝光时间。
如果没有太大的运动,每帧曝光时间将增加到333毫秒。如果相机处于稳定状态,比如靠墙或使用三脚架,则每帧的曝光增加到一秒钟。
除了改变每帧的曝光时间外,谷歌还会改变拍摄的帧数,如果手机放在三脚架上则选取6帧,如果是手持拍摄则最多为15帧。
以下是检测到手持拍摄时的照片:
左图为相机捕获的15帧视频,中图为运动测量关闭时拍摄的图像,右图为开启运动测量拍摄的照片。由于曝光时间更短,所以右图看起来更清晰。
以下是检测到三脚架拍摄时的照片:
左图为手持拍摄,333毫秒曝光×15帧=5秒;右图为三脚架拍摄,1秒曝光×6帧=6秒。可以看出右边图像更清晰,而且能看到更多星星。
最后,谷歌手机会通过HDR+(Pixel一代和二代)或Super Res Zoom(Pixel三代),经过修改和重新调整,将多帧图像合成起来。
除了成像时的噪点和模糊问题,谷歌还面临两大挑战:
为了解决这些问题,谷歌开发了一种基于学习的自动白平衡(AWB)算法,该算法经过训练以区分白平衡准确或偏移的图像。
当捕获的图像白平衡不准时,算法可以建议如何改变颜色,使照明看起来更中性。
训练此算法需要使用Pixel手机拍摄各种场景,然后在彩色校准显示器上查看照片时手动校正其白平衡。
谷歌在夜视中借鉴了一些画师的技巧,通过S曲线增大夜间图像的对比度。下图展示了采用该方法的效果:
正是因为这些技术,谷歌才敢大胆在旗舰手机上使用单摄像头。不知道还在堆砌4摄的手机厂商感受如何?