在苹果iPhone 11发布会上,苹果高级副总裁Phil Schiller将新的iPhone相机称之为“It is computational photography mad-science.(这是一个计算摄影的疯狂科学实践)”,仿佛在宣告手机摄影一个新的时代的到来,它就叫做“计算摄影”。
计算摄影:是指用数学计算而不是光学处理的数字图像捕获和处理技术。
iPhone的手机影像系统
计算摄影在如今的智能手机上,究竟是怎么应用的呢?我们从“用iPhone 11 Pro拍摄一张照片”时手机内部发生的全过程事件来说起:
- 打开iPhone相机,后置三颗摄像头同时开始持续采集影像数据,并始终保持统一的曝光、对焦、白平衡等参数设定。
- iPhone会实时分析画面中的景深信息,识别各种人和物体以及它们的前后关系,并且根据镜头进光量的大小、画面里物体的运动情况、手持手机抖动的程度来自动调整连续曝光的时长。
- 按下快门时,iPhone就会保存至少8张不同曝光程度的照片。
- ISP对这些照片进行一系列白平衡、降噪、色彩映射等处理。神经网络引擎也同时对这些照片进行像素级别的对比和融合。整个逻辑运算单元统一协作,识别出画面中的人脸、天空、建筑等区域,并对每一个区域进行针对性的优化。
- 当所有算法处理完成之后,输出一张照片。同时,如果iPhone检测到用户所拍摄的是一张风景或建筑题材的照片,就会保存另外一张更广角的照片(这张照片也经过了以上所有处理过程),以备后期有更广泛的照片调整空间。
没想到用iPhone拍摄一张照片,会经过那么多复杂的算法处理过程,我们在按下快门时,却根本感知不到这些计算的存在。就像一句话说的“要想人前显贵,必得人后受罪”,要想给用户尽可能操作简单同时成片优秀的拍照体验,就必须在手机相机系统的软硬件上做足大量的工作。
苹果的计算摄影技术主要包括三种不同曝光的多张合成算法和一种语义渲染算法。
1)智能HDR
当环境亮度大于600lux时,iPhone启用智能HDR算法,利用ISP将4张正常曝光的照片、4张欠曝的照片和1张过曝的照片进行堆栈合成,相当于数码相机上的包围曝光。
2)Deep Fusion
当环境亮度在10lux-600lux之间时,iPhone启用Deep Fusion算法:
- 它首先将按下快门前持续采集的4张正常曝光的照片和4张中等程度曝光的照片合成为一张;
- 然后将这张照片与按下快门后的一张长曝光照片进行像素级别的比对分析,整合出一张细节、色彩、噪点控制最好的照片。
这个算法的运算量十分庞大,ISP无法承担,主要交由A13芯片的神经网络引擎Neural Engine来完成。
3)夜景模式
当环境亮度低于10lux时,iPhone启用夜景模式:
- 采取更长的单帧曝光时间;
- 为了消除长时间曝光带来的画面模糊和抖动等问题,将许多帧照片进行像素级别的比对和融合;
- 根据手机抖动的程度,自动调节最大的曝光时长。
4)Semantic Rendering(语义渲染)
语义渲染是指在图像语义分割算法的基础上,针对分割出的每个语义区域,根据识别出的语义类别的不同,进行针对性的图像调优。比如对人的毛发进行锐化、对天空部分进行降噪和高光压制、在暗光或逆光条件下对人的脸部进行提亮。
语义渲染技术让手机仿佛成为了一个后期调教大师,它明确地知道照片中的每一个部分是什么,并基于丰富的图像处理知识对每一个区域画面进行针对性的精细修图,来让照片更讨好人的眼球。——什么是AI?这就是AI!
iPhone 11 Pro如何通过软硬件设计实现优秀的变焦体验?
iPhone 11 Pro的三颗摄像头分别是13mm超广角、26mm广角主摄、52mm长焦。在用户进行13-52mm全焦段的变焦操作过程中,取景器中的画面曝光、白平衡、焦点、视角一直非常稳定,给人一种平滑顺畅的变焦体验,就像在拧一个相机的变焦镜头一样,很难察觉到它其实是三个定焦镜头在切换。
首先,在镜头排布上,iPhone 11 Pro把三颗摄像头进行等边三角形的排列方式。这是因为变焦切换的顺滑度由主要摄像头的间距决定。如果是拍照预览时变焦,可以选择将中间焦段的26mm主摄放在中间,另两个镜头在两侧进行横向或纵向排布,也能得到不错的平滑变焦体验。但是为了在视频录像时,变焦后的视觉差异也能尽可能小,则任意两镜头都不能距离太远。所以苹果最终选择等边三角形而不是可能视觉上更加美观的横向或纵向一字排列。这也体现了苹果一直以来的“设计服务功能”的产品理念。
其次,为了保持三摄的曝光、色温、焦点高度统一,苹果的做法是将26mm主摄作为整个三摄系统的基准,利用主摄为另外两个摄像头提高测光、对焦和白平衡数据。这是因为这颗主摄的CMOS感光面积最大,并且拥有100%的PDAF相位对焦点。就像三个学生考试时,另外两个学生抄最好的那个学生的答案一样,三个人的答案都保持一致,并且能得到最高的分数。
正如史蒂夫·乔布斯所说:“设计不只是外观和感觉,设计是关乎工作原理。”通过以上两种设计,苹果真正把iPhone的三摄有机地结合成了一套相机系统,而不是三个不同焦段的摄像头在分别工作。
谷歌的相机算法
说完苹果,我们再看看“手机计算摄影牌桌上的另一大玩家”——谷歌。谷歌曾经在Pixel 3XL手机上,只靠着一颗IMX363摄像头,就吊打一众采用双摄的安卓手机。它的两大秘诀就是谷歌的图像、视觉和AI处理的芯片Pixel Visual Core,以及独步天下的相机图像算法。芯片我们暂且不表,主要来聊聊算法的强大之处。
我们还是从谷歌Pixel 3XL拍下一张照片的全过程来说起:
- 启动Pixel的相机,手机立即以15FPS的帧率连续不断地采集照片。
- 按下快门的一瞬间,Pixel Visual Core就通过MIPI通道,直接从CMOS中获取按下快门前后9-15张原始照片。
- Pixel优选一张解析力最好的照片作为参考图像,通过卷积算法,把这张照片和其他照片进行精细比对,快速从其他照片中抓取有用的细节添加到这张照片中。并使用一个滤波器算法进行降噪处理。
- 再对图像中的边缘进行处理:算法沿着图像中高对比度的边缘去查找像素,把它附近的像素色度替换为不太可能受色差影响的像素,使物体边缘更加锐利,提高照片的解析力。
- 颜色调优算法把照片分成若干区域,计算出每个区域里所有像素的颜色平均值,再将区域中低于平均值的像素由平均值进行替换。Super Res Zoom算法进一步提高照片的解析力。基于深度学习的景深算法识别出主体及其前后景的位置关系,虚化背景。
- 最终合成一张高信噪比、高动态范围的照片。
谷歌的相机技术主要包括Super Res Zoom、基于深度学习的景深算法、Night Sight、HDR+等先进算法,值得广大安卓手机厂商学习和借鉴。
1)Super Res Zoom
Super Res Zoom超采样算法特别巧妙地利用了人们手持手机拍照过程中产生的随机抖动,来进行超采样,然后用这些超采样数据,对CMOS没有采集到的数据进行填充,以提升相机的解析力和数码变焦能力。
2)基于深度学习的景深算法
Pixel 3XL只用一颗摄像头,就能得到照片的景深信息。它所采用的技术,其实就是基于深度学习的CNN模型。为了训练出这个景深识别模型:
- 谷歌的工程师们将五个Pixel手机叠在一起绑住,用这个奇葩的设备在全球各地到处拍摄样张,共采集了上亿张照片;
- 五台手机在从不同角度同时拍摄同一个场景,得到一张由多个角度照片立体算法合成的动态深度图;
- 算法工程师们将这些照片和深度图送到CNN网络中进行训练,最终得到了一个景深识别模型。
有了这个景深识别模型,每个Pixel 3XL手机虽然只用一个摄像头,但它获取景深的能力等同于多个手机摄像头。并且因为这个景深数据库里的景深信息非常细致,分为很多层,这让Pixel手机能够最大程度地模拟光学景深的虚化效果,背景物体越接近主体越清晰,越远离主体越模糊,实现“渐变式虚化”。
这个算法与人类判别视野内的物体前后位置关系也十分类似:不仅利用双眼的相位差,还根据阴影、纹理、遮挡等信息,以及自身的先验知识,来综合判断物体的位置。什么是人工智能?这就是人工智能!
3)Night Sight
为了解决夜间拍照白平衡偏离的问题,谷歌的工程师们又去到世界各地去采集夜晚的照片,然后手动校准每一张照片的白平衡,用修正后的照片训练出一个模型,这个AI模型达到的效果是能够以之前顶尖色彩算法三千倍的速度,把色彩还原的错误率降低20%。
计算摄影的魅力
计算摄影把手机的相机从一个简单的影像记录工具,变成了一个有感知、有判断的摄影助手。手机开始以人类的方式来观察和理解这个世界,它拥有人眼一样的深度感知能力,拥有人脑一样的画面识别和渲染能力。它不只是在客观地记录眼前的画面——那些对它来说毫无意义的RGB数值,而是学会主动去关注取景器中的主体、关注细节、关注拍摄者的创作意图,努力去还原出人眼想要看到的画面,参与到人们的创作中,成为一个伙伴。它通过自己的知识和能力来帮助你把照片和视频拍得更好,让你的生活也变得更加美好。
我相信,机器学习和计算摄影将是手机影像技术发展的必然趋势。虽然目前还存在各种各样的难题需要解决,比如多帧合成的像素级拼接导致的画面纯净度下降,比如图像处理巨大的算力需求对手机硬件性能和功耗的挑战。但是我坚信未来是更加美好的,我也愿意为了到达这个美好的未来而贡献出自己的一份力量!