技术门户
技术门户
零复制 GigE Vision 和 GPUDirect 以及带有 eCapture Pro 的 GPU 插件
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 Vision Technologies
以下是对 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 和更高速度的产品,但距离发布经批准的高性能产品还有很长的路要走。
图:Emergent Vision Technologies 是第一家基于 10GigE、25GigE、50GigE 和 100GigE 接口的相机供应商。