在浏览器中使用ML模糊Google Meet中的背景

视频会议在人们的工作和个人生活中变得越来越重要。在视频处理和隐私方面,流程组织得越好,一个人的注意力从会议本身上分散的注意力就越少。作为这项挑战的一部分,我们最近Google Meet中开发了模糊背景替换滤镜... 他们使用机器学习(ML)来更好地区分参与者,而不管他们的环境如何。其他解决方案需要安装其他软件,而Meet功能则基于MediaPipe内置的高级Web ML技术,可直接在您的浏览器中运行-无需其他步骤。开发这些功能的主要目标之一是在几乎所有现代设备上提供实时浏览器性能,这是通过使用XNNPACKTFLite将设备上的有效ML模型,基于WebGL的呈现以及在Web堆栈上的ML呈现相结合实现的





根据MediaPipe模糊和替换背景



我们的Web ML解决方案概述



Meet的新功能由Google的开源流媒体平台MediaPipe提供支持。其他ML解决方案都基于此框架,例如实时跟踪虹膜身体位置



任何移动技术的主要要求是实现高性能。为此,MediaPipe Web管道使用低级二进制格式WebAssembly。专为Web浏览器设计,以加快复杂的计算任务。在运行时,浏览器将WebAssembly指令转换为机器代码,其运行速度比传统JavaScript快得多。此外,Chrome 84最近实现了WebAssembly SIMD支持,其中每个指令处理多个数据点,使性能提高了一倍以上。



我们的解决方案首先使用ML输出来计算低分辨率蒙版,然后处理每个视频帧,将用户与背景分离(请参见下文中的细分模型)。如有必要,我们进一步优化蒙版以使其与图像边界对齐。然后使用遮罩渲染通过WebGL2,背景模糊或被替换。





WebML管道:所有计算操作都在C ++ / OpenGL中实现,并通过WebAssembly



浏览器中执行。在当前版本中,计算是在功耗最低,设备覆盖范围最广的客户端CPU上执行的。为了实时实现高性能,我们使用XNNPACK库开发了高效的ML模型,以加快计算速度。它是第一个专门为新的WebAssembly SIMD规范设计的视频输出引擎。通过加速XNNPACK和SIMD,分段模型可以在Internet上实时工作。



得益于MediaPipe的灵活配置,背景模糊/替换解决方案可根据设备的功能调整其处理方式。在高端设备上,它运行完整的流水线以确保最高的视觉质量,而在低端设备上,它切换为轻量级ML计算模型,而无需指定掩码。



细分模型



设备上的ML模型应超轻巧,以实现快速计算,低功耗和小占位空间。对于浏览器中的模型,输入分辨率强烈影响处理每个帧所需的浮点运算(FLOPS)的数量,因此,输入分辨率也应很小。在将图像输入模型之前,我们先缩小它。从低分辨率图像中恢复最精确的蒙版会使模型设计复杂化。



通用分段网络具有对称的编码/解码结构。解码器层(浅绿色)与编码器层(浅蓝色)对称。特别是渠道关注编码器和解码器块中都使用了具有全局平均池的(基于通道的注意),这减少了CPU的负载。





带有MobileNetV3编码器(浅蓝色)和对称解码器(浅绿色)的模型的架构



对于编码器,我们修改了MobileNetV3-小型神经网络,通过搜索网络架构自动设计其设计,以在弱硬件上实现最佳性能。为了将模型的大小减半,我们将其通过float16量化导出到TFLite,这导致精度略有下降,但对质量没有明显影响。生成的模型具有19.3万个参数,大小仅为400 KB。



渲染效果



分割后,我们使用OpenGL着色器进行视频处理和渲染效果。挑战是要有效地渲染而没有伪影。在细化步骤中,双边关节滤镜会平滑低分辨率蒙版。





抑制渲染伪像。左:一个联合的双面滤镜可以平滑分割蒙版。中:单独的过滤器可消除重影伪影。右:通过光包装



着色器更改背景模糊模拟散景的效果,每个像素的模糊调整能力与分段蒙版的值成正比,例如点散射在光学方面。像素通过点半径加权,这样前景像素就不会融合到背景中。我们实现了加权模糊分裂滤镜,而不是流行的高斯金字塔,因为它们消除了人类周围的光晕伪影。为了提高性能,请在低分辨率下进行模糊处理-并以原始分辨率将其与输入帧混合。





背景模糊示例



替换背景时,将使用一种称为光环绕的技术(轻包装)以在自定义背景上覆盖细分的面孔。浅色环绕有助于柔化分割的边缘,使背景光照亮前景元素,使构图更加逼真。当前景和背景之间有很多对比时,它还有助于最大程度地减少光晕伪影。





后台替换示例



性能



为了优化不同设备上的性能,我们提供了具有多个输入图像大小的模型选项(例如,当前版本为256x144和160x96),并根据可用的硬件资源自动选择最佳选项。



我们评估了两种流行设备上的模型推理速度和端到端流水线:配备2.2GHz六核Intel Core i7处理器的MacBook Pro 2018和配备Intel Celeron N3060处理器的Acer Chromebook 11。对于720p输入,MacBook Pro可以在120 fps下运行更高质量的模型,在70 fps下运行直通管道,而在Chromebook上,模型在62 fps下运行,而较低质量的模型可以运行直通管道33 FPS。



 模型 

 跳板 

 设备 

 模型输出 

 输送带 

 256x144 

 6400万 

 MacBook Pro 18 

 8.3毫秒(120帧/秒) 

 14.3毫秒(70 FPS) 

 160x96 

 2700万 

 宏cer Chromebook 11 

 16.1毫秒(62 FPS) 

 30毫秒(33帧/秒) 

输出速率模型以及高笔记本电脑(MacBook Pro)和低等级笔记本电脑(Chromebook)上的直通输送机



为了量化模型使用的常用度量的准确性,系数为Zhakar(工会上交集,IOU )边界F度量(边界F分数) ... 两种模型都表现良好,尤其是在这样的轻量级网络上:



  模型  

  借条  

  边界  

  F测度  


  256x144  

  93.58%  

  0.9024  

  160x96  

  90.79%  

  0.8542  



我们还公开提供了该模型细分图,其中详细说明了评估的规范。估算值包括来自世界17个地理区域的图像,并标注了肤色和性别。分析表明,该模型在不同地区,肤色和性别方面均显示出始终如一的高结果,IOU分数略有差异。



结论



因此,我们引入了新的基于ML浏览器的解决方案来模糊和替换Google Meet中的背景。借助此解决方案,ML模型和OpenGL着色器在Internet上显示出高效的性能。所开发的功能即使在低功耗设备上也能以低功耗提供实时性能。



All Articles