以夜空的人马座为基准,Google 的天文摄影是怎么做的?
在今年 iPhone 的三摄系统以及国产的几台「拍照神仙」面前,一直靠着算法打天下的 Pixel 4 确实不再像以前那样抢眼了。
「祖传」的 IMX363 到今天规格只能沦为别人家的副摄,新增的两倍长焦在别人已经上到 3 倍 5 倍的情况下也不太够看,还缺失了实用性更高的超广角。
但是在发布会上有一个功能还是让人很惊艳——天文摄影。虽说「可以拍星星的手机」这种名号早已在国产手机上见过,但 Google 做出来就还是很让人好奇它们是怎么实现的,这其中 Google 都在算法上做了什么。
要挖掘这些秘密,Google 的博客是最好的资料馆,Google 在 Pixel 4 手机发布后已经在博客上发表过多篇功能详解的文章,而天文摄影功能就是最新的一篇。
自从 Night Sight(夜视)功能推出以来,Google 就在一直研究在室外暗光拍摄的目的。除了普通的景物之外,Google 意识到拍摄夜晚的天空可能也是一种拍摄场景,并为开发了天文摄影功能。
暗光拍摄有一个大敌就是噪点问题,在进光量不足的情况下,夜晚拍摄的照片会出现让人无法容忍的噪点。解决的方法当然是增加进光量,至于如何增加增加进光量,延长曝光时间是最直接和简单的方法,但随之而来的问题就是会因为场景中物体的运动和手持不稳定导致模糊。
克服这个问题的方法是使用多帧合成来进行提亮降噪,将连续曝光分为多个帧之后,每一帧通过较短的时间曝光,然后对齐帧并补偿场景内的物体运动和手持晃动,之后再通过算法仔细处理没有完美对齐的地方,尽管单个帧看起来可能非常粗糙,但经多帧合成之后亮度、清晰度和纯净度都会得到大幅提升。
暗光的拍摄的另一个问题是自动对焦会变得很不好用,失焦的状况时有发生。在正常的情况下,光线射入镜头到传感器,然后对焦系统会通过不同的对焦方式判断景物距离镜头有多远从而完成自动对焦,但是在暗光下画面通常会变得很暗且充满噪点,缺乏图像细节导致自动对焦系统无法正常判断的景物的距离从而对焦失败。如果发生这种状况,Pixel 4 上的 Night Sight 会转化到「先快门后对焦」的策略,在用户按下快门后相机将捕获两个自动对焦帧,曝光时间最长为一秒,即便在弱光下也能够捕捉到画面细节,但这两帧只负责进行对焦,并不参与最终成像。
长曝光对焦已经能够让比人眼还暗的环境下完成自动对焦,但偶尔的时候一秒的长曝光对焦出来的画面仍然太暗,在这种情况下相机将会对焦至无限远处,从而应对极暗的夜空这样的场景,同时 Night Sight 还支持手动对焦,使得用户能够在非常暗的环境下手动将焦点对到附近的物体之上。
上面这些就是现在绝大多数手机在暗光拍摄时会做的事,无论是 AI 自动判断的夜景还是手动切换夜景模式,本质上都是这一套流程,但是要天文摄影的话在需要更为精确的限制,比如限制总帧数要多少张,每一帧有最大曝光时间限制在多少秒。
为了在拍摄效果和拍摄体验中获得平衡,Google 进行了大量的曝光时间实验。就像 Night Sight 做的那样,夜间拍摄必须要考虑到场景中物体的运动情况,比如树木在风中摇曳,云朵在天空中飘荡,月亮和星星也会逐渐升起和落下。并且拍摄者也没有耐心等待太久时间。
最后 Google 决定将一次 Night Sight 的多帧合成限制为 15 帧,每帧的最大曝光时间为 16 秒,拍摄总时间最大限制为 4 分钟。
至于 CMOS 本身因为暗电流产生的热噪点,Google 通过比较帧序列中相邻像素的值筛查中这些异常的噪点,一旦检测到离群值,就用其邻域的平均值替换以将其隐藏,虽然会丢失一点点画面信息,但是最后生成的照片则会纯净很多。
为了让摄影师能够实时进行构图和判断,手机屏幕作为取景器一般至少会每秒更新 15 次画面,将曝光时间限制为 66 毫秒。但是在极为黑暗的环境下,这样的曝光时间根本不足以看清画面,取景器很可能变得漆黑一片,或者只有一点点模糊的影像。
为了帮助在暗光环境下构图,Night Sight 会将曝光的每一帧显示在取景器上,最高 16 秒的曝光可以清晰看到景物,摄影师可以以此来进行构图,并在完全调整好的情况下拍摄第二张照片。
夜空拍摄的还有另一个问题,有时候曝光时间太久,你在屏幕上看到的样张会比实际环境亮非常多,我们常说某些手机「把夜晚拍成白天」或者「夜视仪」就是如此,但是在天文摄影上天空并不需要过于明亮,而是和星光形成反差。为此 Google 使用了卷积神经网络和机器学习来训练,通过跟踪天空的轮廓并对超过 10 万张照片进行人工标记,从而将画面中的像素标记为「天空」或者「不是天空」。
之后算法会将天空的部分压暗,以便让天空不会过于明亮,减小与地面的亮度差,从而得出整体曝光和观感更加优秀的夜景照片。
通过以上一系列操作的结果,Pixel 4 能够在三脚架上获得非常不错的星空表现,或者借助远处的光源,比如月光和路灯拍出一张较为明亮清晰的照片。Google 团队还将人马座作为无月星空下的天空拍摄质量标准,最后得到比人眼所见更多的星空细节。这就是 Pixel 的天文摄影。
文章配图来源于 Google AI 博客。
题图来源:TechRadar