当前位置:首页 >> 中医美容 >> 利用 NVIDIA Isaac Transport for ROS 大大提高自定义 ROS 图形性能

利用 NVIDIA Isaac Transport for ROS 大大提高自定义 ROS 图形性能

发布时间:2024-02-05

ROS 的 CUDA 还能借助越发的设计的软件管理系统。借助撤消基本型 NITROS 发布装置和订户装置,CUDA 原始数据流可以在由此可知之中的任何后方与 Isaac ROS 原始数据流和其他 CUDA 原始数据流独自一人可用,从而在每个原始数据流上赢取慢速计算的优势。

于是又深入一点来看,NITROS 是基于 NVIDIA 由此可知可执行构建(GXF)开发的,它是一个用于构建入门级计算由此可知的可拓展构建。NITROS 借助于 GXF 借助了高效的 ROS 管理系统设计由此可知。通过换装 NITROS 的 CUDA,Valve无只需认识到使其原始数据流反对 NITROS 的正因如此——GXF 的底层工作法则。GXF 层已被抽象化,其他用户只只需开展恰当的优化就能启用 NITROS,从而像往常一样轻松、愈来愈太快地编写 ROS 2 原始数据流。

回访网址进一步认识到换装 NITROS 的 CUDA 的内部概念:_with_nitros.html#core-concepts

以外,撤消基本型 NITROS 发布装置和订户装置仅与 Isaac ROS NitrosTensorList 立即一般来说接口。劝回访 isaac_ros_nitros_type,察看完整的 NITROS 原始数据一般来说一览表:_ros_nitros/tree/main/isaac_ros_nitros_type

可用换装 NITROS 的 CUDA

和 YOLOv8 开展实例侦测

Isaac ROS 提供者了一个 YOLOv8 实例:_ros_object_detection/tree/main/isaac_ros_yolov8,重现了如何可用撤消基本型 NITROS 实用程序和自订 ROS 解码装置来适当运用 NITROS。该实例可用来自 Isaac ROS DNN Inference 的API,通过 YOLOv8 来可执行 TensorRT 慢速的实例侦测。撤消基本型 NITROS 发布装置和订户装置可用 NITROS 一般来说的立即,以外只与 Isaac ROS NitrosTensorList 立即一般来说接口。这种立即一般来说用于在原始数据流和 Isaac ROS DNN Inference 原始数据流中间特别联矢量。

由此可知 5. 可用 Isaac ROS DNN Inference 侦测 YOLOv8 实例

假设您一心可用由 Isaac ROS DNN Inference 和 CUDA NITROS 慢速的自订实例侦测建模,侦测工序就其输出由此可知表编码、DNN 解谜以及输显露解码三个主要迭代。Isaac ROS DNN Inference 借助了前两个迭代。

在解码迭代之中,必须从解谜结果(即矢量)之中提取特别讯息。对于像 2D 物体侦测这样的战斗任务,特别讯息包括分界线侧边以及由此可知表之中每个侦测到的输显露的类别得分。

一个大让我们来详细认识到各个迭代。

第 1 步:编码

在输出各个方面,Isaac ROS 提供者了一个由 NITROS 慢速的 DNN 由此可知表编解码装置。它会对输出由此可知表开展函数调用,并将其反转为矢量,然后通过 isaac_ros_tensor_list 一般来说将矢量传递给 TensorRT 或 Triton 原始数据流开展解谜。

您可以为各种函数调用动态(如优化大小等)均须由此可知表大小和网络服务盼望的输出大小等表达式。都只,根据战斗任务的有所不同,您只必须可用有所不同的编解码装置。例如,由于网络服务盼望的输出编码有所不同,您不能在语言建模之中可用这种由此可知表编解码装置。

由此可知 6. Isaac ROS DNN 由此可知表编解码装置原始数据流除此以外

第 2 步:解谜

Isaac ROS 为 DNN 解谜提供者两个 ROS 原始数据流——TensorRT 原始数据流和 Triton 原始数据流。YOLOv8 取样以外可用其之中的 TensorRT 原始数据流。将训练好的建模提供者给 TensorRT 原始数据流,它就能可执行解谜并输显露包括侦测结果的矢量。

输显露的矢量一览表将传递给解码装置原始数据流。您可以均须网络服务所盼望的尺度和矢量名称等表达式,并且可以可用 Netron 等工具在 ONNX 建模之中轻松找到这些讯息。

由此可知 7. Isaac ROS TensorRT 解谜原始数据流除此以外

第 3 步:解码

从 TensorRT 或 Triton 原始数据流解谜显露的输显露矢量必须解析为所只需的分界线侧边和类讯息。比方说,您把建模的解码装置写了 ROS 2 原始数据流(而且还不反对 NITROS)。

解码装置原始数据流十分反对 NITROS 一般来说的讯息,而是盼望从解谜原始数据流赢取十分相似的 ROS 2 讯息。由于 NITROS 持续保持了与非 NITROS 原始数据流的接口性,因此这种方法即使如此有效。

不过在这种情况,解谜原始数据流(位于 GPU 闪存之中)输显露的 NITROS 一般来说立即会被反转成 ROS 2 立即,并被截取到 CPU 闪存之中供解码装置可用。这将造成了一些负担,因为原始数据现在位于 CPU 闪存之中,造成了在与中下游 ROS 原始数据流复用时只必须遗传物质 CPU 闪存。

现在,假设您一心升级解码装置,以便通过 NITROS 与解谜原始数据流(以及其他 NITROS 慢速原始数据流)开展通信管理系统,而不只必须分担 CPU 闪存遗传物质的成本。在这种情况,所有原始数据都会保留在 GPU 闪存之中。

在解码装置原始数据流之中可用撤消基本型 NITROS 订户装置就能轻松借助这一只需求。该订户装置能够订户来自解谜原始数据流的 NITROS 一般来说输显露立即,并可用 NITROS 视由此可知获取包括侦测输显露的 CUDA 关键点。然后,您就可以对这些原始数据可执行解码语义,并通过适当的 ROS 立即一般来说发布结果。

YOLOv8 解码装置可设置 NMS 阻抗和易见阻抗等表达式以过滤候选侦测结果。可可用一个恰当的借助于计算机原始数据流订户诱发的 ROS 立即,并在输出由此可知表上绘制分界线侧边。都只,撤消基本型 NITROS 只能与 CPP ROS 2 原始数据流内嵌。

由此可知 8. YOLOv8 解码装置原始数据流除此以外

Isaac ROS NITROS 桥接装置

如果您的机装置人管理系统设计以外基于 ROS 1,仍可以可用新发布的 Isaac ROS NITROS 桥接装置来赢取慢速计算的分红。这对可用 ROS 2 版(Humble 之前的版)的Valve来说也很有希望,因为 ROS 2 版不提供者一般来说复用和谈判动态。

NITROS 桥接装置在 ROS 1 Noetic 和 NITROS API中间传输 1080p 由此可知表的反应速度比 ROS 1 桥接装置太快 2.5 倍,适当特别强调了所借助的广深铁路效果。

ROS 桥接装置会诱发基于 CPU 的闪存遗传物质成本,而 Isaac ROS NITROS 桥接装置通过将原始数据从 CPU 转移到 GPU 消除了这一成本。这些原始数据可以在 GPU 闪存之中就地可用。

NITROS 桥接装置由两个反转装置原始数据流分成。一个用于 ROS(例如 Noetic)之中间,另一个用于 ROS 2(例如 Humble)之中间。在不可用 NITROS 反转装置的情况,可用 ROS 桥接装置会造成了由此可知表从 Noetic 递送给 Humble,然后于是又通过 CPU 闪存之中的 ROS 意味着副本递送回来,从而减小过长。这个问题在递送大量原始数据(如再分点云)的原始数据流中间较为微小。

由此可知 9. 不可用 NITROS 反转装置情况的 ROS 桥接装置

NITROS 桥接装置的设计目标是减少跨 ROS 版的端到端过长。劝看同一个例子,这次可用的是 NITROS 反转装置。Noetic 之中间的反转装置(由此可知 10)将由此可知表迁至 GPU 闪存,避免了通过桥接装置遗传物质 CPU 闪存。Humble 内侧的反转装置(由此可知 10)将 GPU 闪存之中的由此可知表反转为 NITROS 由此可知表一般来说,该一般来说与其他 NITROS 慢速原始数据流接口。

反之亦然——由此可知表原始数据作为 NITROS 由此可知表通过两内侧之中任何之中间的反转装置从 Humble 递送给位于 Noetic 的 CPU 可回访闪存之中的由此可知表。

愈来愈多关于耐用性减小的讯息,劝回访 NITROS 桥接装置:_ros_benchmark/blob/main/scripts/isaac_ros_nitros_bridge.py 和 ros1 桥接装置的 Isaac ROS 基准:_and_packages/isaac_ros_benchmark/index.html。都只,Isaac ROS NITROS 桥接装置已为不反对 NVIDIA Jetson 和平台。

由此可知 10. NITROS 桥接装置除此以外

将 ROS 2 原始数据流与 NITROS 内嵌的好处

一个大总结了将 ROS 2 原始数据流与 NITROS 内嵌的诸多好处:

通过减少 CPU 闪存光盘以提入门级。与 RViz 等其他非 NITROS ROS 原始数据流接口。通过撤消基本型 NITROS 发布装置和订户装置,可轻松将自订的 ROS 2 原始数据流与管理系统设计程序慢速的 Isaac ROS 原始数据流内嵌。可用换装 NITROS 的 CUDA 开展的设计软件管理系统可用 NITROS 桥接装置减少基于现代 ROS 版的管理系统设计程序的耐用性。

尝试可用 Isaac ROS NITROS 和 YOLOv8 实例侦测取样,慢速您的 ROS 原始数据流吧!

回访 NVIDIA Isaac ROS 文档关键词认识到有关我们管理系统设计程序慢速API的愈来愈多讯息:

您还可以登陆Valve研讨会,认识到愈来愈多有关 Isaac ROS 的最新讯息:

儿童鼻窦炎用再林阿莫西林颗粒管用吗
抗病毒治疗
多维元素片可以增强抵抗力吗
盐酸坦洛新缓释片和必坦哪个见效快
哈萨克斯坦医院试管婴儿多少钱
标签:
友情链接: