NVIDIA Clara Holoscan 是醫(yī)療設(shè)備的人工智能計(jì)算平臺,它結(jié)合了用于低延遲傳感器和網(wǎng)絡(luò)連接的硬件系統(tǒng)、用于數(shù)據(jù)處理和人工智能的優(yōu)化庫,以及用于運(yùn)行從嵌入式到邊緣到云的流媒體、成像和其他應(yīng)用程序的核心微服務(wù)。

圖 1 NVIDIA Clara 全息掃描
NVIDIA Clara Holoscan 將智能儀器與數(shù)據(jù)中心無縫連接,支持軟件定義醫(yī)療設(shè)備的信號處理、 AI 推理和可視化工作流。用例涵蓋放射學(xué)、微創(chuàng)手術(shù)、機(jī)器人手術(shù)、患者監(jiān)控等領(lǐng)域。它是一個(gè)完全加速的框架,用于開發(fā)實(shí)時(shí)多模式應(yīng)用程序,使用優(yōu)化的微服務(wù)容器、無代碼設(shè)計(jì)工具和示例應(yīng)用程序。
NVIDIA Clara Holoscan 是一種可擴(kuò)展的體系結(jié)構(gòu),在數(shù)據(jù)中心或云中從嵌入式設(shè)備和NVIDIA-Certified edge servers擴(kuò)展到NVIDIA DGX systems。該平臺使您能夠根據(jù)需要在醫(yī)療設(shè)備中添加盡可能多或盡可能少的計(jì)算和輸入/輸出功能,并與延遲、成本、空間、電源和帶寬的需求相平衡。
放射治療
NVIDIA Clara 全息掃描的一個(gè)重要應(yīng)用案例是放射治療,在放射治療中,需要進(jìn)行圖像處理來分割被治療的器官和腫瘤。此外,單獨(dú)分割相鄰器官有助于識別腫瘤及其體積。它還使醫(yī)生能夠創(chuàng)建一個(gè)詳細(xì)和準(zhǔn)確的 3D 地圖,可以繪制出輻射束通過其他器官的最佳軌跡,并且影響最小。
通過 3D 模型,放射治療系統(tǒng)甚至可以實(shí)時(shí)調(diào)整患者解剖結(jié)構(gòu)的變化。手動進(jìn)行多器官分割非常耗時(shí),但使用人工智能可以大大加快分割速度。圖 2 顯示了使用 NVIDIA Clara Holoscan 的 3D 多器官分割應(yīng)用程序的部署架構(gòu)。

圖 2 NVIDIA Clara Holoscan 三維多器官分割部署架構(gòu)
以下部分介紹如何基于UNETR構(gòu)建和部署一個(gè)基于 transformer 的三維分割模型的三維多器官分割應(yīng)用程序。
MONAI 部署 UNETR 應(yīng)用程序
UNEt transformer ( UNETR )模型體系結(jié)構(gòu)的新穎之處在于基于 transformer 的編碼器可以學(xué)習(xí)輸入體積的序列表示,并有效地捕獲全局多尺度信息。 transformer 編碼器通過不同分辨率的跳過連接直接連接到解碼器,以計(jì)算最終的語義分段輸出。
在Multi-Atlas Labeling Beyond the Cranial Vault (BTCV) dataset上測試了 UNETR 模型的有效性,該模型由 30 名受試者組成,受試者進(jìn)行腹部計(jì)算機(jī)斷層掃描( CT ),其中 13 個(gè)器官在范德比爾特大學(xué)醫(yī)學(xué)中心臨床放射科醫(yī)生的監(jiān)督下由譯員注釋。將多器官分割問題描述為一個(gè)單通道輸入的 13 類分割任務(wù)。
我們使用 MONAI Deploy App SDK 在NVIDIA Clara AGX developer kit上構(gòu)建和部署 UNETR 模型,該模型結(jié)合了高效的 Jetson AGX Xavier 嵌入式 Arm SoC 、強(qiáng)大的 NVIDIA RTX 6000 GPU 和 ConnectX-6 SmartNIC 的 100 GbE 連接。
開發(fā)者工具包提供了一個(gè)易于使用的平臺,用于開發(fā)軟件定義、支持人工智能的實(shí)時(shí)醫(yī)療設(shè)備。 MONAI Deploy App SDK 提供了一個(gè)框架和相關(guān)工具,用于設(shè)計(jì)、驗(yàn)證和分析用于醫(yī)療保健應(yīng)用程序的 AI 推理管道的性能。
以下重點(diǎn)介紹了構(gòu)建和部署 UNETR 應(yīng)用程序的步驟:
設(shè)置您的環(huán)境并安裝MONAI Deploy App SDK package。
創(chuàng)建UNETR model specific segmentation operator。
通過添加 MONAI App Deploy SDK DICOM 域特定運(yùn)算符創(chuàng)建應(yīng)用程序類,并將其與 UNETR 運(yùn)算符連接。
Package the UNETR app
為了可視化 MONAI 部署應(yīng)用程序的分割輸出,我們使用英偉達(dá) Clara 渲染服務(wù)器應(yīng)用程序容器,可以從 NGC 下載。
渲染服務(wù)由三個(gè)容器組成:渲染服務(wù)器、數(shù)據(jù)集服務(wù)和儀表板。
渲染服務(wù)器容器
渲染服務(wù)器容器處理數(shù)據(jù)集的實(shí)時(shí)流和渲染。
使用以下命令拉動渲染服務(wù)器容器:
docker pull nvcr.io/nvidia/clara/renderserver_ng:0.8.1-2108.1
使用以下命令運(yùn)行渲染服務(wù)器容器:
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
數(shù)據(jù)集服務(wù)容器
數(shù)據(jù)集服務(wù)容器處理數(shù)據(jù)集。它目前只支持 MHD 、 RAW 、 JSON 和元文件。
使用以下命令拉入數(shù)據(jù)集服務(wù)容器:
docker pull nvcr.io/nvidia/clara/clara-datasetservice:0.8.1-2108.1
每個(gè)數(shù)據(jù)集所需的文件位于文件夾/datasets下,由 UNETR 應(yīng)用程序生成。以下是生成的文件列表:
config.meta config_render.json img0066.nii.gz img0066.output.mhd img0066.output.raw
- config . meta– 定義數(shù)據(jù)集應(yīng)使用的基本信息和配置。
- config _ render . json– 定義加載時(shí)數(shù)據(jù)集與渲染服務(wù)器一起使用的默認(rèn)渲染設(shè)置(燈光、攝影機(jī)、傳遞函數(shù)等)。
- img0066 . gz– 從 DICOM 轉(zhuǎn)換的原始圖像。
- img0066 . output . mhd-MHD 格式的遮罩圖像。這個(gè)未經(jīng)加工的文件包含實(shí)際像素。
使用以下命令啟動數(shù)據(jù)集服務(wù)容器:
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
儀表板容器
儀表板容器是一個(gè) web 應(yīng)用程序和 API 服務(wù)器。這些組件是用 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:
要啟動實(shí)時(shí)交互流,請從 Render Service 應(yīng)用程序菜單中的 dataset 列表中選擇一項(xiàng)
要上載渲染設(shè)置中的更改,請選擇數(shù)據(jù)集名稱旁邊的更新圖標(biāo)。首次加載數(shù)據(jù)集時(shí),該圖標(biāo)處于非活動狀態(tài),但在對渲染設(shè)置進(jìn)行任何后續(xù)更改(例如,更改視圖位置、攝影機(jī)設(shè)置或傳遞函數(shù)設(shè)置)后,該圖標(biāo)將啟用。更新時(shí),數(shù)據(jù)集渲染設(shè)置將上載到數(shù)據(jù)集服務(wù)數(shù)據(jù)庫。
向 NVIDIA Clara 渲染服務(wù)器添加語音命令
您可以使用語音命令和文本查詢與英偉達(dá) Clara 渲染服務(wù)器進(jìn)行交互。通過集成 Riva 語音服務(wù)器和零快照對話管理器服務(wù)器來實(shí)現(xiàn)這一點(diǎn),該服務(wù)器可以通過 HTTP 上的 REST API 調(diào)用為客戶端提供服務(wù)。有關(guān)更多信息,請參閱NVIDIA Riva Speech Skills。
安裝三個(gè)容器(儀表板、渲染服務(wù)器和數(shù)據(jù)集服務(wù))后,必須在啟用自動語音識別( ASR )和文本到語音( TTS )服務(wù)的情況下訪問 Riva 服務(wù)器。 Zero shot Dialog Manager 服務(wù)器應(yīng)該在邊緣服務(wù)器上運(yùn)行(圖 2 )。
您可以為實(shí)時(shí)流交互添加不同的語音命令,如“放大/縮小”和“向左/向右平移”或更復(fù)雜的語音命令,如“移除肋骨”
將 Zero-shot Dialog Manager 服務(wù)器與 NVIDIA Clara 儀表板集成
要將零炮對話管理器與 NVIDIA Clara 集成,請執(zhí)行以下步驟:
添加用戶界面字段以從用戶處獲取文本命令。
在儀表板中添加代碼,以使用用戶文本向 Zero shot Dialog Manager 服務(wù)器發(fā)送 HTTP GET 請求。 Zero shot GET 請求必須采用以下格式:http://《Zero Shot Server IP》:《PORT》/《Project Name》/process_query?query=《user entered text》
在儀表板中添加代碼以處理來自 Zero shot 服務(wù)器的響應(yīng)。
確定特定意圖(例如:“放大/縮小”)后,儀表板必須實(shí)現(xiàn)請求儀表板后端執(zhí)行相應(yīng)操作的方法。儀表板通過調(diào)用適當(dāng)?shù)?gRPC API 到達(dá)渲染服務(wù)器和數(shù)據(jù)集服務(wù)。
Riva ASR 和 TTS 服務(wù)與英偉達(dá) Clara 儀表板的集成
要通過 Riva 添加可用的 ASR 服務(wù),請執(zhí)行以下步驟:
向儀表板用戶界面添加代碼以請求麥克風(fēng)訪問。
參考 Riva ASR 示例,實(shí)現(xiàn)用戶音頻輸入到儀表板后端的流媒體功能。您可以使用Web Audio API和 Socket 。 IO 。
修改儀表板后端,以便當(dāng)您從用戶界面收到請求時(shí),對 Riva 服務(wù)器進(jìn)行適當(dāng)?shù)恼{(diào)用并返回響應(yīng)。這主要涉及導(dǎo)入 Riva proto 文件。
儀表板用戶界面從儀表板后端接收到轉(zhuǎn)錄的響應(yīng)后,將其轉(zhuǎn)發(fā)到 Zero-shot Dialog Manager 服務(wù)器,該服務(wù)器返回相應(yīng)的響應(yīng)。儀表板執(zhí)行適當(dāng)?shù)牟襟E,并使用 Zero shot Dialog manager 響應(yīng)調(diào)用 Riva TTS ,以便用戶界面獲得可作為響應(yīng)播放的音頻。
類似地,將 Riva TTS 服務(wù)與英偉達(dá) Clara 儀表板集成如下步驟:
在用戶界面中實(shí)現(xiàn)一種方式,以播放從 Riva TTS 接收到的音頻。
向儀表板用戶界面添加代碼,以將零炮響應(yīng)文本發(fā)送到儀表板后端。
將所有 gRPC 客戶端邏輯添加到儀表板后端,以便它可以連接到 Riva TTS 服務(wù)器。成功后,將語音響應(yīng)發(fā)送回儀表板用戶界面進(jìn)行播放。
圖 5 依次顯示了 NVIDIA Clara 儀表板和 Riva 以及 Zero-shot 對話框管理器之間的 API 調(diào)用。

圖 5 NVIDIA Clara 儀表板 Riva 和零炮對話框管理器之間的交互
使用 NVIDIA 艦隊(duì)命令進(jìn)行部署
NVIDIA 艦隊(duì)司令部為任何規(guī)模的企業(yè)帶來安全邊緣 AI 。通過云,您可以部署和管理 NGC 目錄或 NGC P Riva te 注冊表中的應(yīng)用程序,通過無線方式更新系統(tǒng)軟件,并通過瀏覽器和互聯(lián)網(wǎng)連接遠(yuǎn)程管理系統(tǒng)。有關(guān)更多信息,請參閱Developing Your Application for Fleet Command。
要使用英偉達(dá)命令部署 NVIDIA Clara HORSOCAN 應(yīng)用程序,可以為應(yīng)用程序創(chuàng)建一個(gè)頭盔圖。 Helm 是一個(gè)包管理器,用于在 Kubernetes 中部署容器化應(yīng)用程序,這與 Debian / RPM 用于 Linux 或 Jar / War 用于基于 Java 的應(yīng)用程序非常相似。
舵手世界中的一個(gè)包稱為圖表,特定目錄樹中的文件集合,用于描述一組相關(guān)模板。目錄名是沒有版本控制信息的圖表的名稱。當(dāng)圖表打包為檔案,這些圖表目錄被打包到一個(gè) TGZ 文件中,其文件名包含其版本,使用 SemVer2 版本控制格式。以下是 NVIDIA Clara 存檔名稱的示例格式:
clara-renderserver {semVer2}.tgz
可以使用以下命令創(chuàng)建新的舵圖:
helm create clara-renderserver
此命令創(chuàng)建 Clara -renderserver 圖表目錄以及圖表中使用的常用文件和目錄。具體來說,這是圖表目錄的樹形結(jié)構(gòu):
|-- 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 中部署對象的結(jié)構(gòu):
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]
要驗(yàn)證舵圖,請運(yùn)行以下命令:
helm lint clara-renderserver
接下來,打包舵圖:
helm package clara-renderserver
要使用 NVIDIA Fleet 命令部署,請根據(jù)您創(chuàng)建的頭盔圖表創(chuàng)建應(yīng)用程序:

圖 6 在 Fleet 命令中添加應(yīng)用程序
下一步是為應(yīng)用程序添加部署:

圖 7 在艦隊(duì)司令部中創(chuàng)建部署
創(chuàng)建部署時(shí),應(yīng)用程序?qū)⒉渴鹪?Fleet 命令中的配對邊緣站點(diǎn)上。要更改應(yīng)用程序的配置,請使用 Helm upgrade 命令。
某些系統(tǒng)更新可能需要重新啟動。如果需要重新啟動, Fleet 命令堆棧會在系統(tǒng)運(yùn)行后自動重新啟動應(yīng)用程序。您的 NVIDIA Clara Holoscan 應(yīng)用程序應(yīng)該能夠通過系統(tǒng)更新或系統(tǒng)重新啟動進(jìn)行正?;謴?fù)和持久化。
關(guān)于作者
Cristiana Dinea 是 NVIDIA 的應(yīng)用工程師,她專注于基于 NVIDIA Clara Guardian 為智能醫(yī)院開發(fā)應(yīng)用程序。
Yaniv Lazmy 是 NVIDIA 醫(yī)療團(tuán)隊(duì)的技術(shù)產(chǎn)品經(jīng)理,專注于醫(yī)療設(shè)備的加速計(jì)算和連接解決方案。在加入 NVIDIA 之前, Yaniv 是 NeuWave Medical 和 Johnson and Johnson 的嵌入式系統(tǒng)工程師。
Raghav Mani 是 NVIDIA 醫(yī)療 AI 的產(chǎn)品經(jīng)理,專注于為醫(yī)療和生命科學(xué)領(lǐng)域的醫(yī)療成像和 NLP 研究人員以及智能醫(yī)院應(yīng)用程序的開發(fā)人員構(gòu)建工具。Ming Qin 是 NVIDIA 醫(yī)療團(tuán)隊(duì)的獨(dú)立貢獻(xiàn)者,專注于開發(fā) AI 推理應(yīng)用框架和平臺,將 AI 引入醫(yī)療成像工作流程。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5513瀏覽量
109200 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
10117瀏覽量
91038 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3342瀏覽量
60011
發(fā)布評論請先 登錄
利用NVIDIA Cosmos開放世界基礎(chǔ)模型加速物理AI開發(fā)
NVIDIA技術(shù)推動化學(xué)和材料科學(xué)發(fā)展
NVIDIA Clara開放模型加速科學(xué)與醫(yī)療行業(yè)變革
NVIDIA Omniverse Extension開發(fā)秘籍
NVIDIA RTX AI加速FLUX.1 Kontext現(xiàn)已開放下載
NVIDIA全棧加速代理式AI應(yīng)用落地
NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新
NVIDIA Cosmos加速機(jī)器人和自動駕駛汽車物理AI發(fā)展
NVIDIA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能
2D圖形渲染緩慢怎么加快?
NVIDIA加速的Apache Spark助力企業(yè)節(jié)省大量成本
英偉達(dá)GTC2025亮點(diǎn):Oracle與NVIDIA合作助力企業(yè)加速代理式AI推理
Oracle 與 NVIDIA 合作助力企業(yè)加速代理式 AI 推理
利用NVIDIA DPF引領(lǐng)DPU加速云計(jì)算的未來
簡述NVIDIA Isaac的重要更新

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