技术门户

技术门户

零复制 GigE Vision 和 GPUDirect 以及带有 eCapture Pro 的 GPU 插件

使用 gpu direct 和 fpga 卡 ecapture 1@3x 的高速 gigevision 多相机真实世界示例
视觉中国深圳2023中国形象7

eSDK 和 eCapture Pro

我们的全球洞察力 eSDK 是低级软件程序员选项,可实现完整的自定义应用程序灵活性。它具有可运行的源代码示例,可以执行所有关键功能,例如有效抓取帧、PTP 同步、 GPU直连、多播、IO 触发等等。

我们的全球洞察力 eCapture Pro 软件 更多的是基于应用程序,重点是系统部署、快速原型设计,并包括定制 GPU 和 FPGA 卡处理的选项。我们负责处理与将图像引入处理资源相关的所有繁重工作,并以最佳性能完成此任务。您专注于您的应用程序代码。

让我们在以下演示中观看 eCapture Pro 的实际操作。眼见为实。

偏正(Polarization)

第一个演示有一个摄像头,使用 GPU直连 至 NVIDIA RTXA6000 GPU。我们有一个 极化 加载到 GPU 的插件。使用插件参数,我们首先选择基于IMX253偏振传感器的正常观看 10GigE 相机。然后我们选择偏振方向插件选项。色调是偏振光角度的量度。然后,我们选择偏振度插件选项,当反射光更加偏振时,它允许我们在更亮的区域看到。

看另一个主体我们首先选择正常观看。请注意挡风玻璃和引擎盖的强烈反射。使用偏振消除插件选项,我们现在可以提高挡风玻璃和引擎盖的可见度。使用偏振度插件选项,我们可以看到挡风玻璃和引擎盖上较亮的区域,这表明这些区域存在强偏振光,因此是偏振去除的良好候选区域。让我们看看这个主题的两极分化方向。

最后,我们观察一下具有几乎无法辨别的表面缺陷的镜头盖。使用偏振度插件选项,我们可以更清楚地了解这一缺陷。

自定义插件

让我们看看如何创建自己的自定义插件以在 eCapture Pro 中使用,充分利用零复制、零丢失、GPUDirect 功能,同时仅编写插件代码。我们首先为 NVIDIA GPU 编写基于 cuda 的代码。通过 eCapture Pro,我们提供了许多工作示例,例如您刚刚目睹的偏振插件。然后我们编译代码,创建插件 DLL,稍后将其加载到 eCapture 中。我们现在加载插件 DLL。然后,我们在选定的 GPU 上实例化该插件,并设置插件选项以进行初始查看。将所需的相机连接到该 GPU 后,我们运行插件来查看结果输出。

推理插件

下一个示例展示了一个非常通用的 OTS 推理检测插件。我们加载插件。我们在所需的 GPU 上实例化插件。我们将相机连接到该 GPU。最后,我们运行插件并观察插件对场景中的杯子进行检测和分类,并注意到它会在物体移动时对其进行跟踪。

模式匹配插件

下一个示例显示了一个非常通用的模式匹配插件。图案模板是预先创建的。和以前一样,我们加载插件。我们在所需的 GPU 上实例化插件。我们指定模式模板的路径。我们将相机连接到该 GPU。最后,我们运行插件来观察如何在移动电路板上跟踪图案。

插件路由的灵活性

现在让我们展示一下在 eCapture Pro 中重新安排 21 个处理的分布是多么容易 10GigE 相机经验 具有 3 个 RTXA4000 GPU,使用非常简单的亮度插件。我们首先将所有 21 个摄像机输出定向到 GPU 1。然后运行该插件。请注意,此处我们使用 PTP 来实现 1us 同步精度。接下来,我们通过简单的单击禁用 GPUDirect,以说明我们如何轻松支持 GPU 或不支持 GPUDirect 的环境。我们执行高性能复制,将图像从系统内存移动到 GPU。

让我们重复之前的测试,但这次我们将 7 个摄像头输出定向到每个 GPU,以实现平衡的处理分配。

我们再次展示如何在没有 GPUDirect 的情况下进行配置。我们注意到,如果没有 GPUDirect,无论高性能内存传输如何,我们都会使用 2 倍的系统内存带宽,因此 GPUDirect 绝对是首选。

H.265/RTMP 插件

现在让我们看看一个高摄像机数量的系统,看看如何在此类系统中利用此插件功能,并具有令人难以置信的易用性。

我们从在单个中端服务器上运行的基于 24 个摄像头的系统开始,我们首先将其扩展到 48 个摄像头。我们向系统添加了几个额外的网络端口,并通过同一个 48 端口交换机连接摄像机。然后我们添加另一个 GPU 来处理额外的工作负载。

在数据流视图中,我们加载并实例化了一个H.265压缩插件。请注意,我们在这台服务器中拥有多个 GPU,并且我们需要将其他 24 个摄像头定向到第二个 GPU。虽然所有摄像机图像都被压缩并存储在单个本地 m.2 驱动器上,但我们还配置了一台摄像机以流式传输到 YouTube 等 RTMP 客户端。

最后,我们可以通过将 h265 文件转换为 mp4 来播放它们。

SSD录音插件

以类似的方式,我们有许多具有大量摄像机的系统,使用 eCapture 和适用于体积捕获应用程序的插件。

该特定系统采用 48 x 25GigE 25MP 60fps 设计,将所有图像存储到 SSD。我们在此展示所有摄像机如何通过 48 端口交换机连接到 NIC。

在数据流视图中,我们展示了如何将摄像机路由到特定的 SSD。我们可以编辑一台摄像机的参数,然后将设置广播到系统中的所有其他摄像机。然后,我们使用 PTP 同步模式以 1us 精度开始简短的测试记录。

在录制时,我们会查看“系统”选项卡,以说明录制过程中没有出现任何问题,例如丢帧、PTP 同步丢失或由于驱动器已满事件而错过保存等。录音完成后,我们可以回顾一下项目总结。

Q&A

1. 所示演示的 GPU 插件源代码是免费的吗?

当然,它是免费的,就像 eCapture Pro 一样,最多可连接 2 个摄像头。您可以采用这些示例之一并快速构建您自己的示例。

2. GPUDirect 和零复制支持哪些 GPU?

例如,RTXA6000、A5000、A4000、RTX6000 ADA 等等。

3.插件可以在不支持GPUDirect的GPU上使用吗?

当然,我们有一个选项,可以在收到帧后从系统内存向 GPU 进行高性能复制。这相当于 2 倍内存带宽,可在大多数系统上使用,具体取决于相机系统的整体吞吐量。

4. AI/推理/深度学习计算能否跟上高性能多摄像头单服务器应用?

当然,我们正在研究最佳的训练模型来说明这一点,但我们注意到,我们的客户已经在使用 GPUDirect 运行此类推理模型的单个服务器上运行了超过 10 个 10GigE 摄像机。

5. 你们的技术更专注于体育和虚拟现实应用吗?

绝对不。正如本演示所示,我们开发的技术同样适用于机器视觉和其他应用。我们超过 50% 的市场属于机器视觉应用。

Emergent 是 NVidia 的合作伙伴,自 2015 年以来一直与 NVidia 和 Mellanox 技术合作

关于Emergent Vision Technologies

徽标紧急视觉技术 300x110

以下是对 Emergent 的概述……

  • 10+ 创新和高速先锋奖 GigE视觉 成像运动
  • 10 年以上销售 10GigE 超过 140 种型号的相机
  • 5 年以上销售 25GigE 超过 55 种型号的相机
  • 2 年以上销售 100GigE 超过 16 种型号的相机
  • 相机技术性能领先
  • 专注于高速以太网/GigE Vision
  • 专注于实现高速图像数据的处理
  • 区域扫描线扫描 模型
  • 用于多光谱应用的 UV、NIR、偏振、彩色、单色模型
  • Emergent eSDK 实现全面的应用灵活性
  • 应急 eCapture Pro 高度综合的软件解决方案
  • 最全面的产品范围和对高速成像应用的支持
  • 任何速度、任何分辨率、任何电缆长度
  • 现在有空!

我们是一家屡获殊荣的公司,专注于高速 GigE Vision 产品。

我们有多年的产品运输速度,从 10GigE 高达 100GigE.

我们非常注重为客户的应用程序提供端到端技术和支持。

我们可以满足大多数应用需求。

最后,展示的产品现已上市。

采用 10GigE Vision 及更高版本

以下是 GigE Vision 产品采用的快速快照,速度范围为 10GigE 高达 100GigE. Emergent 展示了如何实现顶级性能,并开辟了许多市场,包括使用此类技术的机器视觉。 一些公司刚刚开始利用我们的努力来发布 25G 和更高速度的产品,但距离发布经批准的高性能产品还有很长的路要走。

采用 10GigEVision 及更高版本

图:Emergent Vision Technologies 是第一家基于 10GigE、25GigE、50GigE 和 100GigE 接口的相机供应商。