我们在先前的ToF行业报告中提到过,光学测距有很多种方法,其中比较主流的三种是立体视觉(Stereoscopy)、结构光与ToF。作为“测距”的延伸,3D感知或者说3D视觉、3D成像,也是这些方案的价值体现[1]。网上探讨和对比比较多的是结构光与ToF,我们在报告中也提到,这两者都属于主动光学测距——这股主动3D感知的风潮是苹果带动的。

立体视觉则属于一种被动光学测距方案,其最直接的体现,在消费电子产品中应该就是手机后置的双摄或者多摄了(可能是相对深度)。似乎鲜有媒体和机构分析当前主流的双摄方案,是如何实现3D成像的。采用双摄做3D成像,其实不是近些年才有的事,兴起在2011年的HTC EVO 3D(HTC G17),那个年代就开始相继有手机采用双摄来实现3D视觉了。

说是3D成像,实际其近代的应用更体现在“摄影辅助”方面,或者说computational photography(计算摄影)。最典型的应用,是手机利用双摄这种立体视觉方案,来模拟原本只有单反才能拍出来的背景虚化效果(或浅景深效果)。在移动成像领域,computational photography做的最为大张旗鼓的应该就是谷歌了。

单反可达成的背景虚化效果

而且谷歌也愿意分享在手机拍照方面的一些研究细节和成果,这些成果也反映在了其自家的Google Pixel系列手机上。华为和一众Android厂商如今喜欢鼓吹的手机拍照,很大程度上也都受惠于谷歌的computational photography研究。

我们期望通过这篇文章,以谷歌的背景虚化模拟应用为例,来管中窥豹地谈一谈,立体视觉这种方案究竟是怎么实现3D成像的,以及如今3D成像在手机摄影上面,已经发展成什么样了——尤其现在还很流行配合AI,又是怎么回事。作为对3D感知的某种补充,也能更好地理解,立体视觉,相比结构光、ToF这些主动光学测距方案,又有着怎样的优势和劣势。

照片的背景虚化是怎么模拟出来的?

有关背景虚化(或者浅景深)的基础光学知识,这里不再赘述。总之背景虚化是一种光学特性,一张照片如果要有足够“模糊”的背景,抛开焦距、物距不谈,则要求成像设备的光圈足够大,或者图像传感器足够大。这对手机这种小身材的设备来说是不现实的,从单纯的光学层面来说,手机很难拍出单反那样背景那么虚的照片。

而背景“虚化”程度很多时候是一张照片有没有质感、冲击力的关键。数字技术发展这么多年了,如今还有AI加持,靠物理不成,能不能靠算力来模拟单反的这种虚化效果呢?这其实就是如今手机摄影模拟背景虚化的基础。

如果手机有能力自己感知照片中不同对象的深度…来源:诺基亚

如果我们用手机拍一张照片,然后用Photoshop把照片中的主体部分给抠出来,并针对除主体外的背景做一个虚化效果,是不是就可以模拟出单反的这种光学特性了?简单理解的确是这样。但问题是,抠图是个费时费力的事情,而且固然人类可以用Photoshop抠图,但机器有这个能力吗?怎样让机器去自动抠图,这实质上就成为模拟背景虚化的最大难点。

这个时候有很多现成的方案可以考虑,典型的比如AI——现在的机器学习可以做到视觉对象的“语义分割”,即理解画面中拍的是什么:这是个人,那是座山,是不是就能抠图了呢?这是个好主意,但如今AI所能做的“切割”还没有那么准确,它顶多就是个辅助方案。那么结构光和ToF呢?它们都属于距离检测技术,甚至能够对整个场景做3D建模,根据拍摄场景中,不同物体的深度(depth)不就能知道画面里哪个物体在前,哪个物体在后,并应用虚化效果了吗?

结构光构建的深度数据,来源:苹果

这些的确也是可行的方案,而且现有的部分系统也的确是这么做的。典型的比如iPhone上的TrueDepth系统(可以理解为 Face ID,一种结构光系统),我们用近两代的iPhone前置摄像头来拍照,在拍完以后可以应用各种后期光效,其实现依靠的就是结构光能够检测人脸不同位置的深度,构建起人脸的3D模型,并应用不同的光效和后期。

但不难发现,用iPhone的结构光来“抠图”,自拍时头部边缘似乎破绽还挺大的,并不靠谱。这主要是因为结构光的深度检测距离十分有限,将这种方案应用到后置摄像头的人像模式,那几乎就是不可用的状态。

这时,ToF是不是更靠谱呢?当代ToF的确有辅助“抠图”的价值,但其分辨率精度堪忧;而且手机上的ToF模组虽然深度检测范围要远大于同样应用于手机的结构光,但就摄影来看也远远不够。这个时候立体视觉就成为一个明显更有优势的方案可被应用到手机拍照的背景虚化效果上——而且其应用也比较早,至少远比iPhone 7 Plus应用双摄来做背景虚化模拟更早。

那么双摄是怎么实现3D视觉,或者“抠图”的呢?这里不再详细解释其原理,但就直觉来看也十分直观:即人眼就有左右之分,两只眼睛的位置有差异,左右眼观察到的世界是有区别的,包括场景中物体的遮挡、前后关系等。两眼一起发挥作用,我们才能观察到立体的世界,并且判断场景中物体的前后关系。

来源:Improve a 3D distance measurement accuracy in stereo vision systems using optimization methods’ approach[2]

用一张图来概括立体视觉如何实现光学测距,或者3D感知,其方法如上,这就是典型的Triangulation(三角测量法)。

如果以更符合直觉的方式来描述这种方法,像人眼那样,则两颗摄像头看到场景中的对象前后关系有差异,亦可实现这种“抠图”,并针对画面中的不同位置、不同对象应用不同的模糊算法,达成以假乱真的、用手机就拍出单反背景虚化的效果。如下图所示:

iPhone 7 Plus人像模式模拟的背景虚化,与单反光学系统的背景虚化,来源:DxOMark[3]

立体视觉不一定是双摄

模拟背景虚化,是这种立体视觉方案针对摄影效果强化的一个典型应用。某些手机不依赖双摄也能实现这种人像模式的背景虚化,其中有一部分依靠的是AI,或者深度学习——这部分我们后面再谈。还有一类,比如谷歌Pixel 2/3这样并没有双摄的手机,人像模式的实现就相对比较奇葩。

Dual Pixel CMOS 图像传感器,来源:佳能

实际上谷歌Pixel 2这样的单摄手机,依靠的也是立体视觉,只不过并不是双摄,而是一种叫“dual pixel(双像素)”的技术。我们在早前的文章中曾经提到过[4][5], 现在的图像传感器,很多像素与其上微透镜的关系并不是一一对应的,这原本是为了实现PDAF相位对焦所做的一种设定。即相邻的两个像素(或者可能是同一个像素的两个子像素),利用它们“看到”的场景中同一个对象的视角小差异,这种很小的“相位差”其实也可以用来判断场景中不同对象的前后位置关系(或距离)。

看起来其原理和“双摄”非常类似,或者说它很像是把一个摄像头一分为二,每一半像素观察到的世界和另一半像素观察到的有微小差异[6]。只不过像素尺寸何其之小,如今单像素尺寸下探到了0.7μm,相邻像素能够“观察”到的“相位差”,相比双摄的视差小得多;尤其在拍摄一些距离手机摄像头比较远的对象时,双像素的视角差异会非常小(如下图1图右)。所以这种方法实现的“抠图”准确性,在很多情况下都远弱于双摄。

图1,谷歌Pixel的双像素带来的视角差异,来源:Google AI Blog

 

图2,双像素与双摄的视角差异对比,来源:Google AI Blog

在相同距离下,双摄观察到的视角差异就会显著很多,如图2。谷歌在去年推出的Pixel 4手机上已经开始应用双摄。目前谷歌人像模式的背景虚化模拟,已经开始结合双摄和双像素两种技术。

双像素(dual pixel)和双摄(dual camera)的结合实际上也有助于规避一些原有的问题,而且双方可以取长补短。比如说在图2展示的状况中,如果单纯采用双摄方案,紧贴着人物右侧的像素,实际上在两个摄像头之间,是很难找到对应关系的(因为两者有不同的遮挡关系),在算法上会有难度(对象边缘虚化失误的原因之一)。

一般来说,这里的baseline越远,则在某个摄像头中可见的更多像素,在另一个摄像头中就无法找到对应的像素。如此一来,仅通过双摄来计算这部分像素的深度,就会有相当大的难度。但因为同时有双像素和双摄方案在,对于这部分区域的像素深度,双像素方案就能提供分析参考。

另外单独应用以上的某一种技术,还面临一个叫做aperture problem的问题(应该可以翻译成遮罩问题,而非光圈问题)。如前所述,两颗摄像头(或两个像素)观察到的两个世界,在画面每一个点上需要有对应的像素关系,这样才有计算深度的依据,但在某些情况下,这种对应关系会非常难找。

来源:Google AI Blog

如果我们通过一个小光阑来观察场景,一旦立体视觉系统的基线(即两颗摄像头或双像素相连构成的直线),与画面中某个拍摄对象的线条平行,则无法再找到这一区域的像素对应关系[7]。比如说上图中人物背后的横条纹,通过双像素观察到的“视差”在这一区域几乎是不存在的——因为在此例中双像素也是横置的,与画面中的横向条纹平行。

Pixel 4实际上能够天然地解决这个问题,因为它结合了双摄和双像素两者。其中双摄的基线是横向的(两颗摄像头的摆位是左右关系,而非上下关系),而双像素的基线则是竖向的。那么针对场景中某一个方向的平行线条,就可规避这个所谓的aperture problem。

在Pixel 2时代,摄像头模拟背景虚化的aperture problem问题是比较大的,因为Pixel 2只是个单摄,在模拟背景虚化时只能采用双像素方案,遭遇这个问题也不足为奇。但到了Pixel 3时代,谷歌却已经很大程度能够规避这个问题了,可Pixel 3也没有双摄。所以这个问题是怎么解决的?

背景虚化的AI加强

针对这个问题的辅助解决方案还有不少,比如说分析画面,越远离焦平面的点就越虚;另外根据画面中对象所占像素的多少,也能够了对象离摄像头多远——这还是需要AI做语义理解的。

前文已经提到,AI是能够帮助实现视觉影像的语义分割的。或者说它能够识别出手机正在拍人,并且将人的轮廓大致地描摹出来。不过单纯的对象识别并没有PS抠图那样的准确性。所以谷歌对此专门训练了一个卷积神经网络,当然是用TensorFlow写的。这个网络就用于预测深度。Pixel 3的人像模式即开始利用这种AI技术。

具体到训练这个网络,所需的是大量的PDAF图像(所谓的PDAF图像,即是指图1那样的双像素获得的不同视角的两张照片),及对应的“高质量”深度图(depth map)。谷歌是亲自上阵拍了一大堆PDAF照片,以及生成的深度图,如下图所示:

来源:Google AI Blog

谷歌当时手动打造了一台“五摄”装备(上图左),实际上就是把五台Pixel 3按照摄像头上下左右中(可规避aperture problem),以及相隔一定距离(baseline)的方式固定在一起。与此同时开发一个基于WiFi的同步系统,让五台手机能够几乎同时按下快门拍照。这样一来就能生成比较准确的深度图了(上图最右)。

那么在拍摄很多场景的情况下,就有足够的训练数据了。获得的并非绝对深度,而是场景对象的相对深度,起码在应对人像模式时是有价值的。这种方案部分解决了单摄的aperture problem。

不过从谷歌的AI Blog来看,Pixel 4在人像模式的机器学习技术上又与过去不大一样。因为这次又多了双摄这个资源。所以谷歌又利用Tensorflow训练了一个卷积神经网络。这次的网络首先分别单独处理双像素(dual pixel)和双摄(dual camera)的输入数据。分别有两个不同的编码器——编码器本身就是一种神经网络,将输入信息编码为IR(intermediate representation);然后再经过一个解码器,完成最终的深度计算。

来源:Google AI Blog

如此,我们就大致说清楚了当代手机实现背景虚化的基本方案:当然不同OEM厂商在实施方案上还是会有差别,但谷歌应该是在手机的computational photography技术上走得相对激进的一个。至于具体的效果怎么样,那就是另外一个问题了。

除此之外,在更具体的背景虚化模拟上,仍有一些细节可以谈。比如在最新的Pixel 4之上,谷歌开始进一步考虑背景中弥散圆的真实性问题:因为以前的背景模糊流程是放在tone mapping之后的(tone mapping就是照片不同亮度区间的像素,应用相应的曲线,包括让暗部更亮、压缩动态范围之类的操作),这会导致场景中明亮对象信息损失,也就很难出现漂亮的高对比度弥散圆。谷歌的解决方案是,先对HDR+融合的原始图像做模糊处理,然后再应用tone mapping,这样背景虚化看起来会更自然,如下图。

将模糊放到tone mapping步骤之前,能够营造看起来更真实的浅景深效果,来源:Google AI Blog

这篇文章我们只谈到了手机拍照中背景虚化的一个点,实际上计算摄影方案还体现在手机拍照的方方面面,比如自动白平衡,谷歌也应用了机器学习技术;视频拍摄的防抖补偿方案也有类似的实现。谷歌与华为这类厂商的明确差别即在于,后者更倾向于利用光学、成像相关硬件来提升手机拍照能力,而前者则主要倚仗数据处理能力出众——这也是符合谷歌自身定位的发展方向。

谷歌在Pixel 2中已经加入了一个名为Visual Core的专用芯片。这颗芯片是专门用于手机拍照的影像处理的。它本质上是一系列SiP图像处理器,全可编程的图像、视觉、AI多核专用架构(在Pixel 4之上已经升级为Pixel Neural Core)。

谷歌似乎有这种针对一个具体的应用,做专用硬件的传统(典型如TPU)。谷歌宣称Pixel Visual Core在保证完整可编程性的同时,能效又远高于同期的高通骁龙835(7-16倍)。

来源:Wikipedia

这种硬件的核心是IPU(image processing unit),另外还有个Arm核用于调度。每一个IPU核心都包含一个STP(stencil processor)、LBP(line buffer pool)和NoC(Network on a Chip)。STP处理器主要是2D SIMD处理单元PE阵列(具体应该是256个PE,16x16的2D阵列),执行定制的VLIW ISA;每个PE都有2个16位ALU,1个MAC乘法累加单元。看起来其实和脉动阵列(systolic array,TPU的实现)很像,只不过STP另外还有软件控制数据流。[8]

这部分实际上是题外话了,Pixel 3a作为一款定位中端的机型就不带Visual Core,但仍然支持谷歌在影像处理上的几乎所有功能。这表明Visual Core单纯就是硬件加速,不存在什么独有技术。不过看起来,谷歌在computational photography方面,还是有相当发展意图的,或者对其AI技术来说,本身就是重要积累。而谷歌在这方面的着力,其实也并不难发现,Pixel手机的拍照发展方向,并不同于华为、苹果这些手机拍照重在用户体验,而更着眼于技术实验。

Pixel 4的uDepth系统包含了两颗红外摄像头,不同于一般的3D感知系统,来源:Google AI Blog

到此,我们基本也可以说,相比ToF、结构光这些3D感知技术,立体视觉的算力要求明显更高,而且毕竟仍然是建立在常规成像技术之上的,它受限于拍摄场景,比如对于纹理不多的场景或者暗光场景,就会显得无能为力。

最后值得一提的是,Pixel 4在3D感知方面,另外还应用了所谓的uDepth深度感知系统以及Soli雷达。uDepth这个系统与传统的结构光并不一样(但又似乎有结构光的一些特性,谷歌官方文档中提到“采用主动立体设定,将红外图案投射到场景中,并被立体红外摄像头捕捉到”),它是个主动测距技术,所以包含了红外点阵投射器,但又有两颗红外摄像头(传统的ToF和结构光都不是这样)。

Pixel 4前置光学组件实现的3D照片,是前置RGB摄像头、uDepth系统与机器学习共同实现的效果,来源:Google AI Blog

谷歌在博客中提到,这是dense local stereo匹配技术家族中的一员,计算每个像素的视差[9]。这种技术估测其中一颗摄像头拍到的每个像素周围的区域,然后去找第二颗摄像头拍下的对应相似区域。后续似乎有一套比较独特的技术手法,来做红外双摄的匹配工作。这套方案在谷歌的应用中,有与前置摄像头配合实现真正的3D照片、模拟虚化功能,其中当然也有应用机器学习相关技术——这应该算是深度数据与RGB数据做配合的一个真正实例。

而Pixel 4的Soli短距离雷达传感器则利用微波做动作检测,已经脱离了光学测距范畴[10]。上面这两种技术已经超出本文探讨的范畴,未来我们或许会有机会再行深挖——尤其是uDepth,可能是谷歌着力的一个重点。但很显然,在一台设备上搭载多种3D感知技术也并不是什么新鲜事。

参考来源:

[1] 手机的3D感知能力——消费电子ToF技术与市场分析报告 - EE Times China

https://www.eet-china.com/news/2005012.html

[2] Improve a 3D distance measurement accuracy in stereo vision systems using optimization methods’ approach - Volume 25, Issue 1, May 2017, Pages 24-32, Opto-Electronics Review

https://doi.org/10.1016/j.opelre.2017.03.001

[3]Shoot-out: Apple iPhone 7 versus the Apple iPhone 7 Plus using our new test protocol - DxOMark

https://www.dxomark.com/shoot-apple-iphone-7-versus-apple-iphone-7-plus-using-new-test-protocols

[4] 小米1亿像素拍照手机是噱头吗?高像素技术探秘 - EE Times China

https://www.eet-china.com/news/201908150930.html

[5] 索尼为什么还不出1亿像素CIS?华为该着急了! - EE Times China

https://www.eet-china.com/news/202003131007.html

[6] Improvements to Portrait Mode on the Google Pixel 4 and Pixel 4 XL - Google AI Blog

https://ai.googleblog.com/2019/12/improvements-to-portrait-mode-on-google.html

[7] Learning to Predict Depth on the Pixel 3 Phones

https://ai.googleblog.com/2018/11/learning-to-predict-depth-on-pixel-3.html

[8] Pixel Visual Core - Wikipedia

https://en.wikipedia.org/wiki/Pixel_Visual_Core

[9] uDepth: Real-time 3D Depth Sensing on the Pixel 4

https://ai.googleblog.com/2020/04/udepth-real-time-3d-depth-sensing-on.html

[10] Soli Radar-Based Perception and Interaction in Pixel 4 - Google AI Blog

https://ai.googleblog.com/2020/03/soli-radar-based-perception-and.html

本文为EET电子工程专辑原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 虚化的需求有这么大吗?浪费好多电。
  • 特地注册了账号给你评论。
阅读全文,请先
您可能感兴趣
近日,印度vivo被指控在印度进行非法转移资金的案件,已经有了调查结果。印度执法局已经对vivo和其他几家公司,提出了第一份与洗钱调查有关的指控书。据外媒消息,印度检方已根据《防止洗钱法》刑事条款于 12 月 6 日向印度首都新德里特别法庭提起诉讼,除该案被捕者外,vivo-India 已被列为被告。
所谓多模态大模型,就是和市面上现有大模型相比,可以归纳并流畅地理解、操作以及组合不同类型的信息,包括文本、代码、音频、图像和视频。在灵活度上,从数据中心到移动设备上,它都能够运行,而不需要额外的专门处理或转换。
折叠屏一定是显示技术未来重要发展趋势之一。这种形态的创新必将带来更新颖的创新设计,仅因目前技术受限,在体验性、功能性做了诸多技术妥协。不过,要说明的是,目前小折叠手机似乎是“伪需求中的伪需求”,毕竟它没有显得更具便携性,也不能展现更大显示屏幕的优越性。
韩国网站Naver称,苹果公司在多次尝试完善自研5G调制解调器(Modem)芯片失败后,决定停止开发该芯片。对此分析师Dylan Patel表示,苹果实际上并未取消5G基带研发项目,但相关项目推进困难,因此遭遇多次延迟……
根据一份在中国台湾的安全备案文件中显示,富士康将在印度建设项目投资超过15亿美元。该投资是通过富士康子公司鸿海科技印度大型开发公司进行的,该公司在2015年起就在印度马哈拉施特拉邦注册。同时提交的一份文件称,该子公司将为一个建设项目提供等值的印度卢比预算,以满足“运营需求”。
联发科技(MediaTek)近日在加利福尼亚州拉古纳尼盖尔(Laguna Niguel)举行了年度高管峰会。峰会上强调了其以人工智能(AI)为驱动的高端定制 SoC(ASIC)战略;从 Wi-Fi 7 芯片到 5G 和 5G RedCap 瘦调制解调器的全新连接解决方案,凸显了其物联网战略和发展势头。
根据TrendForce集邦咨询最新OLED技术及市场发展分析报告统计,在近期发表的摺叠新机中,UTG的市场渗透率已逾九成,随着摺叠手机规模持续成长,预估2023年UTG产值将达3.6亿美元;2024年可望挑战6亿美元。
随着终端及IC客户库存陆续消化至较为健康的水位,及下半年iPhone、Android阵营推出新机等有利因素,带动第三季智能手机、笔电相关零部件急单涌现,但高通胀风险仍在,短期市况依旧不明朗,故此波备货仅以急单方式进行。此外,台积电(TSMC)、三星(Samsung)3nm高价制程贡献营收亦对产值带来正面效益,带动2023年第三季前十大晶圆代工业者产值为282.9亿美元,环比增长7.9%。
治精微推出具过压保护OVP、低功耗、高精度运放ZJA3018
无线技术每天都在拯救生命,有些非常方式是人们意想不到的。在美国加利福尼亚州Scotts Valley,一名路过的慢跑者发现一处住宅冒出火焰后,按响了门铃,试图通知屋主。屋主不在家中,但无线门铃连接到了智能家居中枢,提醒屋主慢跑者试图联系。屋主立即向他提供了安全密码,让他跑进房子,从火场中救出了宠物。
来看看,你需不需要这门接收机设计课程吧(已更新八次)。如有需要,现在仍然可以报名。(1)前几天,号友发来她的听课笔记,我真的是泪流满面。感觉,自己这么长时间的备课,总算没白费。说实话,我备课的时候,真
点击左上角“锂电联盟会长”,即可关注!锂离子电池是一种二次电池(充电电池),它主要依靠Li+ 在两个电极之间往返嵌入和脱嵌来工作。随着能源汽车等下游产业不断发展,锂离子电池的生产规模正在不断扩大。本文
英伟达(Nvidia)CEO黄仁勋11日表示,将扩大与越南高科技业者的伙伴关系,支持在当地训练研发人工智能(AI)与数字化基础建设领域的人才。黄仁勋还透露在越南设立芯片中心的构想。根据白宫今年9月提升
自从集成电路发明以后,人类的电子信息技术开始腾飞,60年多年来,在摩尔定律的指导下,半导体集成电路的高速发展彻底改变了电子产品。以计算机为例,1946年诞生的世界第一台数字计算机重30吨,占地约140
点击左上角“锂电联盟会长”,即可关注!有需要联系,王经理:18058289318相关阅读:锂离子电池制备材料/压力测试!锂电池自放电测量方法:静态与动态测量法!软包电池关键工艺问题!一文搞懂锂离子电池
为加强智慧应急能力建设,以新安全格局服务新发展格局,由中国科学院大学、全国安全职业教育教学指导委员会共同主办的“2023智慧应急发展论坛”于2023年12月10日在京召开。本次论坛主题是“加强智慧应急
01 项目简介该项目是使用ESP32模块复刻的Nokia1110,可运行NES游戏模拟器和LVGL,主要功能包括彩屏显示,ADC按键,Type-C充电,USB转串口,DAC音乐播放,SD卡读写,WS2
点击左上角“锂电联盟会长”,即可关注!文 章 信 息干法改性工艺新认识,助力锂离子电池高镍正极材料实现高结构稳定和热稳定性能第一作者:吴锋通讯作者:苏岳锋*,陈来*通讯单位:北京理工大学,北京理工大学
芝能汽车出品11月,我国动力和储能电池合计产量为87.7GWh,实际拆解估算动力电池约为70.7GWh,同比上升11.5%,环比上升8.4%装车量44.9GWh,同比增长31.0%,环比增长14.5%
 /记得星标我/比大部分人早一步看见未来乡村振兴,产业兴旺是重点。今年是加快建设农业强国的起步之年,在陕西,陕西移动依托自身信息技术优势,在电子商务、养殖业、农业等方面注智赋能,推动特色产业稳步发展,