Intel RealSense 背景分割技术应用指南

Intel RealSense 背景分割技术(BGS)是沉浸式协作和内容创造应用的关键产品差异化因素。这项技术允许用户实时分割背景,而无需特殊设备或后期处理,为现有的远程会议应用增加了吸引力。用户有很大的潜力基于BGS技术扩展现有用途或创造新的用途。例如,消费者可以通过视频聊天会话中的共享软件与朋友一起观看YouTube上的共享内容。同事可以在虚拟会议期间看到彼此叠加在共享工作空间上。开发者可以集成BGS中间件来创造新的用途,如更改背景图像或在运行基于相机或共享应用程序时添加视频到背景。

创建BGS示例应用程序

要创建一个BGS示例应用程序,需要满足以下先决条件:

  • 启用USB3.0根端口的Intel® Core™处理器平台
  • 内存:4 GB
  • Intel RealSense相机(F200)
  • Intel® RealSense™ SDK
  • Intel® Depth Camera Manager软件或OEM已安装此组件的系统
  • Microsoft Windows* 8.1 64位
  • 带有最新服务包的Microsoft Visual Studio* 2010-2013

本文将解释开发者如何将背景替换为视频或图像,并提供将图像输出与任何背景图像混合的代码片段,以及预期的性能。

背景分割中间件支持YUY2和RGB格式。RGB的分辨率范围从360p到720p,深度图像为480p。图3显示了BGS的高级流程。Intel RealSense相机捕获深度和彩色帧,并将其传递给核心SDK(即Intel RealSense SDK运行时)。根据应用程序的请求,将帧传递给用户提取块,这是分割的RGBA图像。此图像可以与任何基于RGB的背景图像进行alpha混合,以创建最终输出。开发者可以使用任何机制在屏幕上混合图像,但使用图形可以带来最佳性能。

以下是将3D分割集成到开发者应用程序的步骤:

  1. 安装Intel RealSense SDK的核心运行时和背景分割模块。
  2. 创建3D相机的实例。它创建了一个用于运行任何基于3D的算法的管道结构。
  3. 启用应用程序需要使用的中间件模块。建议只启用应用程序需要的模块。
  4. 确定应用程序需要哪个配置文件。以更高的分辨率和每秒帧数运行可能会影响性能。将配置文件传递以从相机获取特定流。
  5. 初始化相机的管道,并将第一帧传递给中间件。所有中间件都需要此阶段,以使管道工作。
  6. 从相机检索分割图像。中间件的图像输出为RGBA,仅包含分割部分。
  7. 将分割图像与自己的背景混合。

以下是混合和渲染的步骤:

  1. 捕获:从相机读取彩色和深度数据流。
  2. 分割:区分背景和前景像素。
  3. 将颜色和分割图像(深度掩模)复制到纹理中。
  4. 将分割图像(深度掩模)调整为与彩色图像相同的分辨率。
  5. (可选)将背景图像(如果替换)加载或更新到纹理中。
  6. 编译/加载着色器。
  7. 为着色器使用设置颜色、深度和(可选)背景纹理。
  8. 运行着色器并呈现。
  9. (对于视频会议应用程序)将混合图像复制到NV12或YUY2表面。
  10. (对于视频会议应用程序)将表面传递给Intel® Media SDK H.264 HW Encoder。

应用程序的行为受到三个因素的影响:FPS、混合和分辨率。下表显示了第5代Intel® Core™ i5处理器上的CPU利用率。

无渲染 CPU上渲染 GPU上渲染
720p/30fps 29.20% 43.49% 31.92%
360p/30fps 15.39% 25.29% 16.12%
720p/15fps 17.93% 28.29% 18.29%

要验证渲染对自己的机器的影响,请使用和不使用"-noRender"选项运行示例应用程序。

用户分割仍在不断发展,随着SDK的每个新版本,质量都在提高。在评估质量时,请记住以下几点:

  • 避免在身体上放置与背景图像颜色相似的黑色物体。例如,黑色衬衫与黑色背景。
  • 头顶上的高强度光线可能会影响头发质量。
  • 躺在沙发上或床上可能会导致糟糕的用户体验。坐姿更适合视频会议。
  • 半透明或透明物体(如玻璃杯)不会按预期工作。
  • 手部网状结构是一个问题;预计质量会有所不同。
  • 额头上的头发可能会出现分割问题。
  • 不要快速移动手或头部。相机限制会影响质量。

如何继续改进软件?最好的方法是提供反馈。在开发人员想要在新的Intel RealSense SDK版本上重新测试后,运行类似环境的场景可能会很困难。为了最小化运行间差异,最好捕获用于复制问题的输入相机序列,以查看质量是否有所提高。

Intel RealSense SDK附带了一个示例应用程序,可以帮助收集序列以与新版本一起回放;

  • 对于提供质量反馈很重要
  • 不适用于性能分析

在默认安装中,示例应用程序位于:

C:\Program Files (x86)\Intel\RSSDK\bin\win32\FF_3DSeg.cs.exe
  • 将看到自己背景被移除。
  • 播放序列
  • 如果选择录制模式,可以保存会话的副本。然后可以打开FF_3DSeg.cs.exe应用程序并选择回放模式以查看录制。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485