0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用NVIDIA Clara Holoscan加速多器官渲染

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-15 14:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

NVIDIA Clara Holoscan 是医疗设备的人工智能计算平台,它结合了用于低延迟传感器和网络连接的硬件系统、用于数据处理和人工智能的优化库,以及用于运行从嵌入式到边缘到云的流媒体、成像和其他应用程序的核心微服务。

pYYBAGJZEfiAeukLAACTwj2IIK0883.png

图 1 NVIDIA Clara 全息扫描

NVIDIA Clara Holoscan 将智能仪器与数据中心无缝连接,支持软件定义医疗设备的信号处理、 AI 推理和可视化工作流。用例涵盖放射学、微创手术、机器人手术、患者监控等领域。它是一个完全加速的框架,用于开发实时多模式应用程序,使用优化的微服务容器、无代码设计工具和示例应用程序。

NVIDIA Clara Holoscan 是一种可扩展的体系结构,在数据中心或云中从嵌入式设备和NVIDIA-Certified edge servers扩展到NVIDIA DGX systems。该平台使您能够根据需要在医疗设备中添加尽可能多或尽可能少的计算和输入/输出功能,并与延迟、成本、空间、电源和带宽的需求相平衡。

放射治疗

NVIDIA Clara 全息扫描的一个重要应用案例是放射治疗,在放射治疗中,需要进行图像处理来分割被治疗的器官和肿瘤。此外,单独分割相邻器官有助于识别肿瘤及其体积。它还使医生能够创建一个详细和准确的 3D 地图,可以绘制出辐射束通过其他器官的最佳轨迹,并且影响最小。

通过 3D 模型,放射治疗系统甚至可以实时调整患者解剖结构的变化。手动进行多器官分割非常耗时,但使用人工智能可以大大加快分割速度。图 2 显示了使用 NVIDIA Clara Holoscan 的 3D 多器官分割应用程序的部署架构。

poYBAGJZEiWAcobDAAGMNyVpB8U825.png

图 2 NVIDIA Clara Holoscan 三维多器官分割部署架构

以下部分介绍如何基于UNETR构建和部署一个基于 transformer 的三维分割模型的三维多器官分割应用程序。

MONAI 部署 UNETR 应用程序

UNEt transformer ( UNETR )模型体系结构的新颖之处在于基于 transformer 的编码器可以学习输入体积的序列表示,并有效地捕获全局多尺度信息。 transformer 编码器通过不同分辨率的跳过连接直接连接到解码器,以计算最终的语义分段输出。

在Multi-Atlas Labeling Beyond the Cranial Vault (BTCV) dataset上测试了 UNETR 模型的有效性,该模型由 30 名受试者组成,受试者进行腹部计算机断层扫描( CT ),其中 13 个器官在范德比尔特大学医学中心临床放射科医生的监督下由译员注释。将多器官分割问题描述为一个单通道输入的 13 类分割任务。

我们使用 MONAI Deploy App SDK 在NVIDIA Clara AGX developer kit上构建和部署 UNETR 模型,该模型结合了高效的 Jetson AGX Xavier 嵌入式 Arm SoC 、强大的 NVIDIA RTX 6000 GPU 和 ConnectX-6 SmartNIC 的 100 GbE 连接。

开发者工具包提供了一个易于使用的平台,用于开发软件定义、支持人工智能的实时医疗设备。 MONAI Deploy App SDK 提供了一个框架和相关工具,用于设计、验证和分析用于医疗保健应用程序的 AI 推理管道的性能。

以下重点介绍了构建和部署 UNETR 应用程序的步骤:

设置您的环境并安装MONAI Deploy App SDK package。

创建UNETR model specific segmentation operator。

通过添加 MONAI App Deploy SDK DICOM 域特定运算符创建应用程序类,并将其与 UNETR 运算符连接。

Package the UNETR app

为了可视化 MONAI 部署应用程序的分割输出,我们使用英伟达 Clara 渲染服务器应用程序容器,可以从 NGC 下载。

渲染服务由三个容器组成:渲染服务器、数据集服务和仪表板。

渲染服务器容器

渲染服务器容器处理数据集的实时流和渲染。

使用以下命令拉动渲染服务器容器:

docker pull nvcr.io/nvidia/clara/renderserver_ng:0.8.1-2108.1

使用以下命令运行渲染服务器容器:

nvidia-docker run -it --rm -d \--name renderserver \--network claranet \-p 2050:2050 \-v `pwd`/input:/app/datasets \nvcr.io/nvidia/clara-renderserver:linux-x86-0.8.1

数据集服务容器

数据集服务容器处理数据集。它目前只支持 MHD 、 RAW 、 JSON 和元文件。

使用以下命令拉入数据集服务容器:

docker pull nvcr.io/nvidia/clara/clara-datasetservice:0.8.1-2108.1

每个数据集所需的文件位于文件夹/datasets下,由 UNETR 应用程序生成。以下是生成的文件列表:

config.meta config_render.json img0066.nii.gz img0066.output.mhd img0066.output.raw
  • config . meta– 定义数据集应使用的基本信息和配置。
  • config _ render . json– 定义加载时数据集与渲染服务器一起使用的默认渲染设置(灯光、摄影机、传递函数等)。
  • img0066 . gz– 从 DICOM 转换的原始图像。
  • img0066 . output . mhd-MHD 格式的遮罩图像。这个未经加工的文件包含实际像素。

使用以下命令启动数据集服务容器:

export ARGS_SERVICE_RSDS_PORT=50055 # Port number of Dataset Service

export ARGS_SERVICE_RSNG_IP=xxx.xxx.xxx.xxx # IP address of Render Service

export ARGS_SERVICE_RSNG_PORT=2050 # Port number of Render Service

export ARGS_SERVICE_RSUI_IP=xxx.xxx.xxx.xxx # IP address of Dashboard

export ARGS_SERVICE_RSUI_PORT=8080 # Port number of Dashboard

docker run -it --rm -d \-v `pwd`:/app/datasets \-p ${ARGS_SERVICE_RSDS_PORT:-50055}:50055 \-e SERVICE_RSNG_IP=${ARGS_SERVICE_RSNG_IP:-renderserver} \-e SERVICE_RSNG_PORT=${ARGS_SERVICE_RSNG_PORT:-2050} \-e SERVICE_RSUI_IP=${ARGS_SERVICE_RSUI_IP:-dashboard} \-e SERVICE_RSUI_PORT=${ARGS_SERVICE_RSUI_PORT:-8080} \--name clara-datasetservice \nvcr.io/clara/clara-datasetservice:0.8.1
_RSNG_IP=xxx.xxx.xxx.xxx # IP address of Render Service

仪表板容器

仪表板容器是一个 web 应用程序和 API 服务器。这些组件是用 JavaScript 编写的,使用 React 和 Node 。 js ,并支持用 Angular 编写的遗留 WebUI 的向后兼容性。

使用以下命令拉动仪表板容器:

docker pull nvcr.io/nvidia/clara/clara-dashboard:0.8.1-2108.1

使用以下命令启动仪表板容器:

 docker run -it --rm -d
-p ${ARGS_SERVICE_RSUI_PORT:-8080}:8080
-e SERVICE_RSDS_IP=${ARGS_SERVICE_RSDS_IP:-datasetservice}
-e SERVICE_RSDS_PORT=${ARGS_SERVICE_RSDS_PORT:-50055}
-e SERVICE_RSNG_IP=${ARGS_SERVICE_RSNG_IP:-renderserver}
-e SERVICE_RSNG_PORT=${ARGS_SERVICE_RSNG_PORT:-2050}
-e NODE_ENV=${ARGS_NODE_ENV:-standalone}
--name clara-dashboard
nvcr.io/clara/clara-dashboard:

要启动实时交互流,请从 Render Service 应用程序菜单中的 dataset 列表中选择一项

要上载渲染设置中的更改,请选择数据集名称旁边的更新图标。首次加载数据集时,该图标处于非活动状态,但在对渲染设置进行任何后续更改(例如,更改视图位置、摄影机设置或传递函数设置)后,该图标将启用。更新时,数据集渲染设置将上载到数据集服务数据库。

向 NVIDIA Clara 渲染服务器添加语音命令

您可以使用语音命令和文本查询与英伟达 Clara 渲染服务器进行交互。通过集成 Riva 语音服务器和零快照对话管理器服务器来实现这一点,该服务器可以通过 HTTP 上的 REST API 调用为客户端提供服务。有关更多信息,请参阅NVIDIA Riva Speech Skills。

安装三个容器(仪表板、渲染服务器和数据集服务)后,必须在启用自动语音识别( ASR )和文本到语音( TTS )服务的情况下访问 Riva 服务器。 Zero shot Dialog Manager 服务器应该在边缘服务器上运行(图 2 )。

您可以为实时流交互添加不同的语音命令,如“放大/缩小”和“向左/向右平移”或更复杂的语音命令,如“移除肋骨”

将 Zero-shot Dialog Manager 服务器与 NVIDIA Clara 仪表板集成

要将零炮对话管理器与 NVIDIA Clara 集成,请执行以下步骤:

添加用户界面字段以从用户处获取文本命令。

在仪表板中添加代码,以使用用户文本向 Zero shot Dialog Manager 服务器发送 HTTP GET 请求。 Zero shot GET 请求必须采用以下格式:http://《Zero Shot Server IP》:《PORT》/《Project Name》/process_query?query=《user entered text》

在仪表板中添加代码以处理来自 Zero shot 服务器的响应。

确定特定意图(例如:“放大/缩小”)后,仪表板必须实现请求仪表板后端执行相应操作的方法。仪表板通过调用适当的 gRPC API 到达渲染服务器和数据集服务。

Riva ASR 和 TTS 服务与英伟达 Clara 仪表板的集成

要通过 Riva 添加可用的 ASR 服务,请执行以下步骤:

向仪表板用户界面添加代码以请求麦克风访问。

参考 Riva ASR 示例,实现用户音频输入到仪表板后端的流媒体功能。您可以使用Web Audio API和 Socket 。 IO 。

修改仪表板后端,以便当您从用户界面收到请求时,对 Riva 服务器进行适当的调用并返回响应。这主要涉及导入 Riva proto 文件。

仪表板用户界面从仪表板后端接收到转录的响应后,将其转发到 Zero-shot Dialog Manager 服务器,该服务器返回相应的响应。仪表板执行适当的步骤,并使用 Zero shot Dialog manager 响应调用 Riva TTS ,以便用户界面获得可作为响应播放的音频。

类似地,将 Riva TTS 服务与英伟达 Clara 仪表板集成如下步骤:

在用户界面中实现一种方式,以播放从 Riva TTS 接收到的音频。

向仪表板用户界面添加代码,以将零炮响应文本发送到仪表板后端。

将所有 gRPC 客户端逻辑添加到仪表板后端,以便它可以连接到 Riva TTS 服务器。成功后,将语音响应发送回仪表板用户界面进行播放。

图 5 依次显示了 NVIDIA Clara 仪表板和 Riva 以及 Zero-shot 对话框管理器之间的 API 调用。



图 5 NVIDIA Clara 仪表板 Riva 和零炮对话框管理器之间的交互

使用 NVIDIA 舰队命令进行部署

NVIDIA 舰队司令部为任何规模的企业带来安全边缘 AI 。通过云,您可以部署和管理 NGC 目录或 NGC P Riva te 注册表中的应用程序,通过无线方式更新系统软件,并通过浏览器和互联网连接远程管理系统。有关更多信息,请参阅Developing Your Application for Fleet Command。

要使用英伟达命令部署 NVIDIA Clara HORSOCAN 应用程序,可以为应用程序创建一个头盔图。 Helm 是一个包管理器,用于在 Kubernetes 中部署容器化应用程序,这与 Debian / RPM 用于 Linux 或 Jar / War 用于基于 Java 的应用程序非常相似。

舵手世界中的一个包称为图表,特定目录树中的文件集合,用于描述一组相关模板。目录名是没有版本控制信息的图表的名称。当图表打包为档案,这些图表目录被打包到一个 TGZ 文件中,其文件名包含其版本,使用 SemVer2 版本控制格式。以下是 NVIDIA Clara 存档名称的示例格式:

clara-renderserver {semVer2}.tgz

可以使用以下命令创建新的舵图:

helm create clara-renderserver

此命令创建 Clara -renderserver 图表目录以及图表中使用的常用文件和目录。具体来说,这是图表目录的树形结构:

|-- Chart.yaml # A YAML file containing information about the chart
|-- templates # A directory of templates that, when combined with values ,will generate valid Kubernetes manifest files.
|   |-- _helpers.tpl 
|   |-- cache-volume-claim.yaml
|   |-- cache-volume.yaml
|   |-- deployment.yaml
|   |-- svc.yaml
|   |-- volume-claim.yaml
|   `-- volume.yaml
`-- values.yaml # The default configuration values for this chart
# A YAML file containing information about the chart

deployment . yaml 文件位于/ templates 目录中,用于定义 Kubernetes 中部署对象的结构:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "clara-renderer.fullname" . }}
  labels:
{{ include "clara-renderer.labels" . | indent 4 }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app.kubernetes.io/name: {{ include "clara-renderer.name" . }}
      app.kubernetes.io/instance: {{ .Release.Name }}
  template:
    metadata:
     [metadata info]
      spec:
    {{- with .Values.images.pullSecrets }}
      imagePullSecrets:
        {{- toYaml . | nindent 8 }}
    {{- end }}
      containers:
      - name: ui-{{ .Chart.Name }}
        image: "{{ .Values.images.namespace }}/{{ .Values.images.renderui }}:{{ .Values.images.tag }}"
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        env:
        - name: SERVICE_RSDS_IP
          value: "0.0.0.0"
        - [more env variable assignment]
        ports:
          - name: "{{ .Values.ui.portName }}"
            containerPort: {{ .Values.ui.port }}
            hostPort: {{ .Values.ui.hostPort }}
            protocol: TCP
      - name: renderer-{{ .Chart.Name }}
        image: "{{ .Values.images.namespace }}/{{ .Values.images.renderserver }}:{{ .Values.images.tag }}"
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        ports:
          - name: "{{ .Values.rsng.portName }}"
            containerPort: {{ .Values.rsng.port }}
            protocol: TCP
        env:
        - name: CUDA_CACHE_PATH
          value: "/cache/CudaCache"
        - name: OPTIX_CACHE_PATH
          value: "/cache/OptixCache"
        volumeMounts:
        [volume mount information]
      - name: dataset-service-{{ .Chart.Name }}
        image: "{{ .Values.images.namespace }}/{{ .Values.images.datasetservice }}:{{ .Values.images.tag }}"
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        env:
        - name: DATASET_REPO_PATH
          value: "/datasets"
        -[dataset env variable assignment]

要验证舵图,请运行以下命令:

helm lint clara-renderserver

接下来,打包舵图:

helm package clara-renderserver

要使用 NVIDIA Fleet 命令部署,请根据您创建的头盔图表创建应用程序:

图 6 在 Fleet 命令中添加应用程序

下一步是为应用程序添加部署:

图 7 在舰队司令部中创建部署

创建部署时,应用程序将部署在 Fleet 命令中的配对边缘站点上。要更改应用程序的配置,请使用 Helm upgrade 命令。

某些系统更新可能需要重新启动。如果需要重新启动, Fleet 命令堆栈会在系统运行后自动重新启动应用程序。您的 NVIDIA Clara Holoscan 应用程序应该能够通过系统更新或系统重新启动进行正常恢复和持久化。

关于作者

Cristiana Dinea 是 NVIDIA 的应用工程师,她专注于基于 NVIDIA Clara Guardian 为智能医院开发应用程序。

Yaniv Lazmy 是 NVIDIA 医疗团队的技术产品经理,专注于医疗设备的加速计算和连接解决方案。在加入 NVIDIA 之前, Yaniv 是 NeuWave Medical 和 Johnson and Johnson 的嵌入式系统工程师。

Raghav Mani 是 NVIDIA 医疗 AI 的产品经理,专注于为医疗和生命科学领域的医疗成像和 NLP 研究人员以及智能医院应用程序的开发人员构建工具。Ming Qin 是 NVIDIA 医疗团队的独立贡献者,专注于开发 AI 推理应用框架和平台,将 AI 引入医疗成像工作流程。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109117
  • 服务器
    +关注

    关注

    13

    文章

    10097

    浏览量

    90907
  • 应用程序
    +关注

    关注

    38

    文章

    3342

    浏览量

    59935
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用NVIDIA Cosmos开放世界基础模型加速物理AI开发

    NVIDIA 最近发布了 NVIDIA Cosmos 开放世界基础模型(WFM)的更新,旨在加速物理 AI 模型的测试与验证数据生成。借助 NVIDIA Omniverse 库和 Co
    的头像 发表于 12-01 09:25 546次阅读

    NVIDIA技术推动化学和材料科学发展

    NVIDIA Holoscan 推动实时纳米成像技术取得突破性进展,NVIDIA ALCHEMI 促进先进材料和冷却技术的发现。
    的头像 发表于 11-25 10:45 427次阅读

    NVIDIA Clara开放模型加速科学与医疗行业变革

    Clara 为从预测蛋白质结构到设计可在实验室合成的分子的整个早期药物发现流程提供支持。
    的头像 发表于 11-06 11:42 614次阅读

    NVIDIA RTX AI加速FLUX.1 Kontext现已开放下载

    NVIDIA RTX 与 NVIDIA TensorRT 现已加速 Black Forest Labs 的最新图像生成和编辑模型;此外,Gemma 3n 现可借助 RTX 和 NVIDIA
    的头像 发表于 07-16 09:16 1869次阅读

    NVIDIA Isaac Sim与NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了机器人仿真参考应用 NVIDIA Isaac Sim 和机器人学习框架 NVIDIA Isaac Lab 的更新,以加速各种形态
    的头像 发表于 05-28 10:06 1759次阅读

    NVIDIA Cosmos加速机器人和自动驾驶汽车物理AI发展

    NVIDIA Cosmos 通过可预测未来世界状态的世界基础模型加速物理 AI 的发展。
    的头像 发表于 04-24 11:01 946次阅读
    <b class='flag-5'>NVIDIA</b> Cosmos<b class='flag-5'>加速</b>机器人和自动驾驶汽车物理AI发展

    NVIDIA实现神经网络渲染技术的突破性增强功能

    发者能使用 NVIDIA GeForce RTX GPU 中的 AI Tensor Cores,在游戏的图形渲染管线内加速神经网络渲染
    的头像 发表于 04-07 11:33 880次阅读

    2D图形渲染缓慢怎么加快?

    我有一个图形应用程序,它似乎渲染屏幕的速度很慢。按下屏幕后,通常需要相当长的时间来更新,大约 50 或 100 毫秒。 在应用程序启动时,我看到一条错误消息“GDK 无法创建 GL 上下文,回退
    发表于 04-02 06:46

    NVIDIA加速的Apache Spark助力企业节省大量成本

    随着 NVIDIA 推出 Aether 项目,通过采用 NVIDIA 加速的 Apache Spark 企业得以自动加速其数据中心规模的分析工作负载,从而节省数百万美元。
    的头像 发表于 03-25 15:09 911次阅读
    <b class='flag-5'>NVIDIA</b><b class='flag-5'>加速</b>的Apache Spark助力企业节省大量成本

    英伟达GTC2025亮点:Oracle与NVIDIA合作助力企业加速代理式AI推理

    Oracle 数据库与 NVIDIA AI 相集成,使企业能够更轻松、快捷地采用代理式 AI Oracle 和 NVIDIA 宣布,NVIDIA 加速计算和推理软件与 Oracle 的
    的头像 发表于 03-21 12:01 1193次阅读
    英伟达GTC2025亮点:Oracle与<b class='flag-5'>NVIDIA</b>合作助力企业<b class='flag-5'>加速</b>代理式AI推理

    Oracle 与 NVIDIA 合作助力企业加速代理式 AI 推理

    ——Oracle 和 NVIDIA 今日宣布,NVIDIA 加速计算和推理软件与 Oracle 的 AI 基础设施以及生成式 AI 服务首次实现集成,以帮助全球企业组织加速创建代理式
    发表于 03-19 15:24 471次阅读
    Oracle 与 <b class='flag-5'>NVIDIA</b> 合作助力企业<b class='flag-5'>加速</b>代理式 AI 推理

    利用NVIDIA DPF引领DPU加速云计算的未来

    越来越多的企业开始采用加速计算,从而满足生成式 AI、5G 电信和主权云的需求。NVIDIA 推出了 DOCA 平台框架(DPF),该框架提供了基础构建模块来释放 NVIDIA BlueField
    的头像 发表于 01-24 09:29 1289次阅读
    利用<b class='flag-5'>NVIDIA</b> DPF引领DPU<b class='flag-5'>加速</b>云计算的未来

    简述NVIDIA Isaac的重要更新

    在 2025 CES,NVIDIA 宣布了对NVIDIA Isaac的重要更新。NVIDIA Isaac 是一个由加速库、应用框架和 AI 模型组成的平台,可
    的头像 发表于 01-17 09:57 1764次阅读
    简述<b class='flag-5'>NVIDIA</b> Isaac的重要更新

    NVIDIA预测2025年AI行业发展

    NVIDIA 加速计算、数据科学和研究领域专家预测,模态模型将推动行业创新和效率提升。
    的头像 发表于 12-18 13:49 1713次阅读

    《CST Studio Suite 2024 GPU加速计算指南》

    监控/利用率、选择可用GPU卡子集等内容。 6. 故障排除:针对NVIDIA驱动安装、GPU设置、GPU模式、硬件识别、CUDA错误、TCC模式等问题给出了相应的解决方法。
    发表于 12-16 14:25