【独家解读】谷歌会议app背景模糊和替换技术解析

“独家解读,听听他人的声音”,聆听他人的学术成长经历,对科研问题独到的见解,了解产业界的最新进展,相互学习、相互借鉴、集思广益、共同进步。为此,我们特别开辟“独家解读”专栏,让你在科研道路上与时俱进,打开新世界的大门,敬请关注。

视频会议在人们日常工作和学习中的作用越来越重要。通过对用户隐私更好地保护和有趣的视觉体验,可以大幅提高用户体验,从而帮助我们把注意力集中在会议本身上。谷歌最近宣布了在自家会议app中对背景进行模糊和替换的方法,主要是使用机器学习方法来更好地突出会议的参与者,而不是他们周围的环境。目前,针对背景建模已经有了一些解决方法,但是基本上都需要安装额外的软件,而谷歌提供的背景建模技术使用了由MediaPipe构建的web ML技术,可以直接在用户个人的浏览器中使用,没有额外其他的步骤。开发这些特性的关键目标是在几乎所有现代设备(PC、移动端、服务器、嵌入式设备等)上提供实时的、浏览器内嵌入的背景模糊和替换功能。这项技术是通过结合高效的设备端的ML模型、基于we-GL的渲染技术以及通过XNNPACK和TFLite实现的基于web的机器学习推断(inference)来实现的。

01

Web ML技术方案概览

这项新特性是由MediaPipe开发的,MediaPipe是谷歌的开源框架,用于实时和流媒体的跨平台定制机器学习解决方案,它还支持诸如设备上实时手、虹膜和身体姿势跟踪等机器学习解决方案。

任何终端设备上解决方案的核心需求都是实现高性能。为此,MediaPipe的web管道利用了WebAssembly,这是一种专门为web浏览器设计的底层(low-level)二进制代码格式,可以提高大计算量任务的速度。在运行时,浏览器将WebAssembly指令转换为本地机器码,执行速度比传统的JavaScript代码快得多。此外,Chrome 84最近引入了对WebAssembly SIMD的支持,可以用每条指令处理多个数据点,这使得性能提升了2倍以上。

谷歌背景建模的解决方案,首先利用算法处理每个视频帧,计算一个低分辨率掩膜(mask),将用户从背景中分割出来。然后,进一步对掩膜进行优化,使其与图像边界保持一致。然后通过WebGL2使用这个掩膜渲染输出的视频,从而达到背景模糊或替换的目标。

谷歌目前版本中,模型推断是在客户端的CPU上执行的,以实现低功耗和最广泛的设备覆盖。为了实现实时性能,设计了使用XNNPACK库加速推理的高效机器学习模型,XNNPACK库是第一个专门为新型WebAssembly SIMD规范设计的推理引擎。在XNNPACK和SIMD的加速下,分割模型可以在web上实时运行。

通过MediaPipe灵活的配置,谷歌的背景模糊/替换技术解决方案可以根据设备计算能力调整其处理。在高端设备上,它运行完整的流程以提供最高的视觉质量,而在低端设备上,它通过切换到轻量级模型并不再进行掩膜优化以达到实时。

02

分割模型的技术细节

终端设备上的机器学习模型需要超轻量级,以实现快速推理、低功耗和较小的模型存储。对于在浏览器中运行的模型,输入分辨率会极大地影响处理每一帧所需的FLOPs,因此也需要很小。在将图像输入到模型之前,将其下采样到较小的尺寸。如何从低分辨率图像中恢复尽可能精细的分割掩膜,是模型设计的最大挑战。

整体分割网络在编码器和解码器方面具有对称结构,解码器模块与编码器块模块共享对称层结构(MobileNetV3结构)。具体来说,在编码器和解码器块中都应用了通道注意力机制(channel-wise attention)和全局平均池化(global average pooling),这有利于高效的CPU推理。

谷歌在这里修改了MobileNetV3-small作为编码器,为了将模型尺寸减少50%,使用float16量化将模型导出到TFLite,结果精度略有下降,但对质量没有明显影响,得到的模型有193K个参数,大小只有400KB。

03

渲染效果

一旦分割完成,使用OpenGL着色器进行视频处理和渲染,其中的挑战是在不引入光晕效应产生的伪影(artifact)的情况下高效渲染。在细化阶段,使用联合双边滤波器来平滑低分辨率的掩模。

模糊着色器通过分割掩膜中的值按比例调整每个像素的模糊强度来模拟背景虚化效果(bokeh effect),类似于光学成像中的混淆圆(circle-of-confusion,CoC)。像素按其CoC半径进行加权,这样前景像素就不会渗入到背景中。谷歌为加权模糊设计了可分离滤波器(separable filters),而不是流行的高斯金字塔(Gaussian pyramid),因为它可以消除人周围的晕影。为了提高效率,模糊是在低分辨率下进行的,并在原始分辨率下与输入帧混合。

对于背景替换,谷歌采用了一种light wrapping的合成技术,将分割的人物和自定义的背景图像混合到会议视频画面中。这项技术通过允许背景光溢出到前景元素上,柔化分割边缘,使合成的视频更加身临其境。当前景和被取代的背景之间对比度很大,它也有助于减少光晕效应的伪影。

04

性能指标

为了优化不同设备的体验,谷歌提供了多种输入尺寸的模型变体(当前放出的版本中为256x144和160x96),根据可用的硬件资源自动选择最佳的模型。

谷歌在两种常见设备上评估了模型推断和端到端管道的速度:搭载2.2 GHz 6核Intel Core i7的MacBook Pro 2018,以及搭载Intel Celeron N3060的宏基Chromebook 11。对于720p的输入,MacBook Pro高质量分割模型的运行速度为120帧/秒,端到端运行速度为70帧/秒,Chromebook低质量模型的运行速度为62帧/秒,端到端运行速度为33帧/秒。

为了定量评价模型的精度,采用了常见的IoU和边界的F-measure,对于这样一个轻量级的网络,两种模型都达到了较好的性能。

谷歌还为发布的分割模型附带了模型卡(Model Card,https://mediapipe.page.link/meet-mc ),其中详细说明了公平性评估的问题。其中,评估数据包含了来自全球17个地理分区的图像,并附有肤色和性别的标注。实验分析表明,该模型在不同地区、肤色和性别的表现是一致的,IoU指标只有很小的偏差。

05

总结

谷歌引入了一种新的浏览器内机器学习解决方案,用于在谷歌会议app中实现背景模糊和替换功能,机器学习模型和OpenGL着色器可以在网络上高效运行,所开发的功能实现了低功耗的实时性能,即使是在低功耗终端设备上。

技术资料来源:Google AI Blog

直播预告

独家解读”历史文章

更多独家解读专栏文章

请点击文章底部“阅读原文”查看

分享、点赞、在看,给个三连击呗!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值