网易首页 > 网易号 > 正文 申请入驻

利用 NVIDIA VISTA-3D NIM 微服务实现计算机断层扫描器官和疾病分割

0
分享至

全球计算机断层扫描(CT)次数已突破 3 亿。放射科医生正在想方设法加快工作流并生成准确报告,因此拥有一个可对所有器官和疾病进行分割的基础模型会很有帮助,并且最好有一种经过优化的方法,能在生产中大规模运行这一模型。

NVIDIA Research 已经开发出一种新模型,用于分割全身 CT 图像,并将其封装到一个高度优化的容器中,该容器可以在部署时进行扩展。本文将讨论VISTA-3D 基础模型NVIDIA NIM 微服务,以及如何在数据上运行该模型。

VISTA-3D

视觉基础模型越来越受到关注。有两个基本特征使这些模型在医学图像分析领域特别实用:

  • 对常见任务的快速、精准推理
  • 对新任务的有效适应或零样本能力

NVIDIA 一直专注于研究 3D CT 分割,并在最近开发出了 VISTA-3D(多功能图像分割和注释)。该模型在超过 12,000 个数据卷上系统训练而成,这些数据卷涵盖了 127 种人体解剖结构和各种病变(包括肺结节、肝肿瘤、胰腺肿瘤、结肠肿瘤、骨病变和肾肿瘤)。

该模型提供了精准的框外分割与最先进的零样本交互式分割。这一新型模型设计和训练策略为开发多功能医学图像基础模型带来了希望。

VISTA-3D 是一种特定领域的交互式基础模型。通过将语义分割与交互性相结合,该模型在各个医学图像解剖领域具有高度的准确性和适应性。该模型的核心工作流如下:

  • 分割全身:实现全身探索,这对于了解影响多个器官的复杂疾病和制定整体治疗计划至关重要。
  • 按类分割:根据特定类别提供详细的切面视图,该视图对于有针对性的疾病分析或器官绘图(如关键器官的肿瘤识别等)必不可少。
  • 分割点提示:通过用户指示的点击选择提高分割精度。这种交互方法可加速创建进行医学图像分析所必需的准确基准真相数据。

图 1 显示了 VISTA-3D 架构的高层示意图,其中包括一个编码器层和两个并行的解码器层。一个解码器用于自动分割,另一个解码器用于点提示。

每个头接收相应的输入作为类提示或用户点击点来引导分割,每个头还会产生各自的分割结果,然后使用合并算法,将这些结果合并成最终的分割结果。

有关该架构的更多信息,请参见研究论文《VISTA3D:适用于 3D 计算机断层扫描的多功能图像分割和注释模型》:

https://arxiv.org/abs/2406.05285

图 1. VISTA-3D 的高层次网络架构

VISTA-3D NIM 微服务

所有 NVIDIA NIM 微服务都托管在 NVIDIA API 目录中,您可以测试不同的微服务并了解其功能。

在 Healthcare 下找到 VISTA-3D,并使用示例数据对其进行测试。以轴向和冠状或矢状视图查看测试数据集。VISTA-3D 可以分割 100 多个器官,您也可以选择感兴趣的特定类别。

使用 NVIDIA 托管的 NIM 微服务

您可以使用 NVIDIA 托管的 NIM 微服务在您的数据上运行 VISTA-3D。注册后即可获得个人密钥。NVIDIA 为用户提供 1,000 个免费兑换点数,供其试用任何 NIM 微型服务。

命名您的个人密钥并注明有效期。在包含的服务中加入AI Foundation 模型和端点。您可以使用此密钥调用所有 API。更多信息,请参见选择生成一个 NGC 密钥:

https://docs.nvidia.com/launchpad/ai/base-command-coe/latest/bc-coe-docker-basics-step-02.html#optionally-generate-an-ngc-key

如要查看您的兑换点数,请登录 NVIDIA API 目录并访问您的个人资料。您的兑换点数位于右上角。

如要测试您的首个 VISTA-3D NIM 微服务调用,请复制您最喜欢语言(shell 脚本、Python 或 Node.JS)的代码,并使用最近生成的 API_KEY 值在您在 NVIDIA AI 解决方案页面上使用的同一个样本上运行推理,类似于下面的 Python 示例。

import requests   invoke_url = "https://health.api.nvidia.com/v1/medicalimaging/nvidia/vista-3d"headers = {"Authorization": "Bearer  ",}   filename="example-1"payload = {     "image": f"https://assets.ngc.nvidia.com/products/api-catalog/vista3d/{filename}.nii.gz",     "output": {"extension": ".nii.gz","dtype": "uint8"}} session = requests.Session() response = session.post(invoke_url, headers=headers, json=payload)   response.raise_for_status() file_name=f"{filename}_seg.nii.gz"with open(file_name, "wb") as file:     file.write(response.content) print("File downloaded successfully!")

您由此在样本数据上运行了第一个 VISTA-3D NIM 微服务调用,这也证实了您的 API_KEY 值有效,而且您有足够的兑换点数,所以您现在可以使用自己的数据进行测试了。

每次推理调用消耗一个兑换点数,所有 NIM 微服务共享您的兑换点数。

使用您的数据运行 VISTA-3D

要在自己的数据上查看 VISTA-3D 推理,您必须设置一个 FTP 服务器来提供您的医学图像。

LLM 模型采用可压缩的小文本有效载荷,而医学图像通常都很大。您不必在 API 有效载荷中发送大图像,而是可以将图像 URL 发送到 FTP 服务器。然后,VISTA-3D NIM 微服务会从 FTP 服务器下载图像并运行推理,再将推理结果发送回来(图 2)。

图 2. LLM 与 VISTA-3D NIM 微服务的区别

在 GitHub 上共享文件

共享示例数据最简便快捷的方法是使用 GitHub:

  1. 登录您的 GitHub 帐户。
  2. 创建一个新项目,并确保它是公开的。
  3. 选择上传文件,上传一些带有 .nii 或 .nii.gz 的 NIfTI 文件。确保每个文件小于 25 MB。
  4. 选择 NIfTI 文件,右键单击Raw,然后选择复制链接地址

生成的 URL 应与下面的示例相似:

https://github.com//Nifti_samples/raw/main/filename.nii.gz

现在您可以更改先前代码示例中的 URL,使其指向您的文件,然后 VISTA-3D 就会下载它。

payload = {     "image": f"https://github.com//Nifti_samples/raw/main/filename.nii.gz",     "output": {"extension": ".nii.gz","dtype": "uint8"}}

在云中共享您的示例数据

如果云中已有一些数据,则可以公开少量 NIfTI 图像来测试 VISTA-3D。在这种情况下,可以从本地文件系统目录启动一个简单的 NGINX 服务器或简单的 Python HTTP 服务器。这必须是一个可公开访问的服务器或端口,以便 NVIDIA 托管的 VISTA-3D 微服务可以下载数据。

首先,使用 SSH 连接到服务器,移动一些示例数据,然后启动一个简单的 Python HTTP 文件服务器:

python -m http.server 

您可以通过浏览器使用 htttp://serverIP:port/ 来访问文件。

连接到之前创建的 FTP 服务器,并修改行以指向 HTTP 服务器。

filename="


您应该会看到 HTTP 文件服务器响应 NIM 请求并下载图像文件,然后就会得到推理结果。


在本地运行 NIM 微服务


要开始在本地运行 NIM 微服务,请先申请 NVIDIA NIM 访问权限。申请后,NVIDIA 将与您联系并安排新用户引导会议。您需要一个 NVAIE 许可证或试用许可证,但务必在申请许可证前等待说明。


在完成这些步骤并获得批准后,您就可以访问 VISTA-3D NIM 微服务 Docker 容器,并在首选的本地或云端硬件上运行微服务。


在下面的章节中,我们将向您展示一个使用 Docker Compose 进行设置的示例,以帮助您快速启动和运行。


前提条件


您应该先已安装 Docker、Docker Compose 和 NVIDIA 驱动程序。如要进行检查,请运行以下命令,该命令会提取最新 CUDA 版本的小型镜像。启动 Docker 容器,然后检查是否可以从容器内访问 GPU。


docker run --rm --gpus all nvidia/cuda: 12.5.0-base-ubuntu20.04 nvidia-smi


您将会看到一个输出结果,显示您的系统上所搭载的 GPU。


Docker Compose 文件


Docker Compose 代码示例启动了两个容器:


  • 用于运行推理的 nim-vista
  • 用于提供图像的 nim-nginx


# docker-compose.yml version: "3.9"services: nim: container_name: nim-vista image: nvcr.io/nvidia/nim/medical_imaging_vista3d:24.03 ports: - 8008:8008############################## nginx: container_name: nim-nginx image: nginx:1.19-alpine-perl volumes: - ./nginx.conf:/etc/nginx/nginx.conf - :/files ports: - 8009:8009 


将目录改为 。


Nginx 基本配置


在同个文件夹中创建 nginx.conf 文件:


worker_processes auto; pid /etc/nginx/.nginx.pid; events { worker_connections 768; } http { server { listen 8009; # internal port root /files; # Static file directory autoindex on; # Enable directory listing location / { try_files $uri $uri/ = 404; } } }


运行推理调用


要确认您的设置正确与否,请运行以下 curl 命令:


curl http://localhost:8008/health/ready


此命令应返回 true,表明 VISTA-3D NIM 微服务已启动并运行。


要确认 nginx 是否正在正常提供数据,可使用浏览器访问 http://localhost:8009,查看您正在共享的文件夹和文件。


现在,您可以重复使用之前的代码来进行推理,只需稍作改动,即从指向 NVIDIA 示例数据或 GitHub 上的示例文件改为指向 nginx 来提供数据。


import requests invoke_url = “http://localhost:8008/vista3d/inference” headers = {} filename="test_w_nginx"payload = { "image": f"https://localhost:8809/.nii.gz", "output": {"extension": ".nii.gz","dtype": "uint8"}} session = requests.Session() response = session.post(invoke_url, headers=headers, json=payload) response.raise_for_status() file_name=f"{filename}_seg.nii.gz"with open(file_name, "wb") as file: file.write(response.content) print("File downloaded successfully!")


invoke_url 值现在指向您的主机,并且由于您不需要使用 NGC 密钥进行身份验证,因此头信息为空。


该运行完成后,您就可以得到带有所有标签的器官分割文件了。


安全提示


运行此程序后,您可能不希望 NGINX 端口向任何可以访问主机的人开放数据。


您可能反而希望限制对 VISTA-3D NIM 微服务的访问。编辑 docker-compose.yml 文件,删除 nginx 的端口映射,删除端口的行数:ports: - 8009:8009。


接下来,将推理调用改为使用 nim-nginx,而不是已经无法访问的 localhost。


"image":fhttps://nim-nginx:8809/{filename}.nii.gz


由于 Docker Compose 将所有服务都放在同一个网络中,因此 NIM 可以访问内部名称 nim-nginx 。


总结


本文介绍了全新 NVIDIA AI Foundation模型 VISTA-3D,该模型可以对 CT 图像中的 100 多个器官和多种疾病进行分割。本文还展示了 NVIDIA NIM 如何简化该模型的使用。


想要增强您的 CT 图像分析能力吗?请先申请 VISTA-3D NIM 微服务的访问权限。获得批准后,您就可以在自己的硬件上运行这个功能强大的模型,提高分割准确性并简化工作流。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
湖底惊现39年前失踪的运钞车,钞箱毫发无损,撬开后却傻眼了

湖底惊现39年前失踪的运钞车,钞箱毫发无损,撬开后却傻眼了

青青会讲故事
2025-09-17 11:32:38
中国周边局势变化,东盟11国选边站队,缅甸菲律宾权力交接

中国周边局势变化,东盟11国选边站队,缅甸菲律宾权力交接

轻拂两袖风尘终
2026-05-21 21:31:42
特朗普儿媳:中国太震撼了,强烈安利长城

特朗普儿媳:中国太震撼了,强烈安利长城

澎湃新闻
2026-05-22 17:42:06
一个冰冷现实:中印冲突正全方位升级,中国越避让,印度越对抗

一个冰冷现实:中印冲突正全方位升级,中国越避让,印度越对抗

末蓝星星
2026-05-21 18:40:40
许家印钱多没地方花!干了两件大事:270亿买万科股票 空手套白狼

许家印钱多没地方花!干了两件大事:270亿买万科股票 空手套白狼

凉羽亭
2026-05-01 18:41:49
北京主场崩盘无缘总决赛引热议!记者:谁在为球队拼命球迷有答案

北京主场崩盘无缘总决赛引热议!记者:谁在为球队拼命球迷有答案

狼叔评论
2026-05-22 22:42:47
哈登骑士生涯已不明朗!三战场均14投14分 骑媒认为阿帅正毁掉他

哈登骑士生涯已不明朗!三战场均14投14分 骑媒认为阿帅正毁掉他

颜小白的篮球梦
2026-05-22 16:55:14
太吓人!事发上海早高峰!10岁女童“开门杀”,电瓶车上两人瞬间被“撞飞”,头部受伤!警方紧急提醒

太吓人!事发上海早高峰!10岁女童“开门杀”,电瓶车上两人瞬间被“撞飞”,头部受伤!警方紧急提醒

环球网资讯
2026-05-22 17:04:07
人活多久,看喝酒就知道?寿命短的人,喝酒一般有这6个特征

人活多久,看喝酒就知道?寿命短的人,喝酒一般有这6个特征

芹姐说生活
2026-05-14 23:38:55
高三老师面相吓到网友,堪称“骨灰级别”,就算这样也舍不得化妆

高三老师面相吓到网友,堪称“骨灰级别”,就算这样也舍不得化妆

泽泽先生
2026-05-12 18:55:50
知名品牌宣布:将重返中国内地市场!网友:终于等到你

知名品牌宣布:将重返中国内地市场!网友:终于等到你

新浪财经
2026-05-19 15:31:31
成都警方:一男子在车尾悬挂低俗标语,被行政处罚

成都警方:一男子在车尾悬挂低俗标语,被行政处罚

澎湃新闻
2026-05-22 23:14:16
家里若有这三个属相的孩子,天生就是小福星,日子越过越富裕

家里若有这三个属相的孩子,天生就是小福星,日子越过越富裕

晓艾故事汇
2026-05-21 11:27:33
1942年绝境翻盘!八路军子弹不足,靠两套土办法,一战全员换装

1942年绝境翻盘!八路军子弹不足,靠两套土办法,一战全员换装

云端小院
2026-05-22 06:54:00
《成长的烦恼》老戏骨揭内幕:童星们早有矛盾

《成长的烦恼》老戏骨揭内幕:童星们早有矛盾

影视情报室
2026-05-23 01:18:07
6年住家保姆因打孩子被炒 雇主拒付剩余工资 保姆当场持刀自伤威胁雇主 警方介入

6年住家保姆因打孩子被炒 雇主拒付剩余工资 保姆当场持刀自伤威胁雇主 警方介入

闪电新闻
2026-05-22 16:56:21
俄军数千台星链被关,乌克兰夺回400平方公里土地

俄军数千台星链被关,乌克兰夺回400平方公里土地

桂系007
2026-05-22 09:12:32
巴克利回击批评:我们让观众开心,不是来画战术板的

巴克利回击批评:我们让观众开心,不是来画战术板的

赛场速报局
2026-05-23 00:56:55
阿尔特塔揭秘:3月闭眼预见夺冠 22年首冠终圆梦

阿尔特塔揭秘:3月闭眼预见夺冠 22年首冠终圆梦

甜份超标的我
2026-05-23 01:10:07
小米YU7 GT纽北拿第一后,荒诞的一幕出现了

小米YU7 GT纽北拿第一后,荒诞的一幕出现了

互联网.乱侃秀
2026-05-22 10:30:54
2026-05-23 03:52:49
NVIDIA英伟达中国 incentive-icons
NVIDIA英伟达中国
英伟达(中国)官方账号
3528文章数 1451关注度
往期回顾 全部

科技要闻

雷军:输给特斯拉不丢人

头条要闻

伊朗前总统内贾德被指是"最大内鬼" 其目前下落不明

头条要闻

伊朗前总统内贾德被指是"最大内鬼" 其目前下落不明

体育要闻

最糟糕裁判?他想要退役当市长

娱乐要闻

周也恋情曝光!对象身份不简单

财经要闻

富途拟被罚18.5亿元 老虎 长桥也回应了

汽车要闻

11万级直接上四驱 银河星耀7限时权益价9.88万起

态度原创

游戏
亲子
时尚
手机
数码

《黑旗重制》确认支持PS5 Pro神技!画质性能要起飞

亲子要闻

幼儿园入学报名时间定了!福田区教育局发布最新通知

中年男人特供,害惨年轻女性

手机要闻

性能王炸!iQOO 16蓄势待发:首批搭载2nm芯片骁龙8E6 Pro

数码要闻

OPPO Enco Air5s耳机规格公布,5月25日发布

无障碍浏览 进入关怀版