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

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

3天内不再提示

使用Clara AGX开发工具包实现深度学习和AI图像重建和推断

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

扫码添加小助手

加入工程师交流群

NVIDIA Clara AGX 开发工具包与 us4R 超声波开发系统一起,可以快速开发和测试用于超声成像的实时 AI 处理系统。 Clara AGX 开发套件具有 ARM CPU 和高性能 RTX 6000 GPU 。 us4R 团队为超声系统设计师提供了开发、原型化和测试端到端软件定义超声系统的能力。 Clara AGX 正在启动软件定义医疗仪器的时代,该仪器具有可重构管道,而无需改变硬件。

us4us 硬件和 SDK 提供端到端的超声算法开发和射频处理平台,高端 Clara AGX GPU 实现实时深度学习和 AI 图像重建和推断。通过这种方法,整个系统工程团队受益:波束形成专家可以创建最佳波束策略,人工智能专家可以设计和部署下一代实时算法。

这种硬件和软件相结合的平台使研究实验室和商业供应商的超声波开发民主化,以开发新的功能。设计、原型和测试功能硬件不再需要巨额资金预算。设备管道的每个阶段都可以修改。数据采集、数据处理、图像重建、图像处理、 AI 分析和可视化都在软件中定义,并以低延迟性能实时执行。该系统是完全可配置的,可以使用 AI 或传统方法创建新的射频传输波形和波束形成算法。

通过 NVIDIA 将 X-6 SmartNIC 100Gb / s 以太网和 RDMA 数据传输到 GPU ,可以实现超快、低延迟的端到端数据传输。 NVIDIA 增压式 GPU 可以围绕现有的传统高级成本系统运行。它能够改进图像重建、去噪和管道中高度先进和复杂算法的信噪比和实时处理。

GPU 具有足够的净空,可同时运行多个实时临床推断预测,包括测量、操作员指导、图像解释、组织和器官识别、高级可视化和临床覆盖。

Clara AGX 硬件的临床应用商业化将与第三方供应商提供的医疗级硬件一起提供,其结构紧凑且节能 CPU + GPU SoC 形状因数与自动驾驶汽车应用中的形状因数相似。

Clara AGX 开发工具包是一款高端性能工作站,专为开发医疗应用而设计。该系统包括一个 NVIDIA RTX 6000 GPU ,在峰值性能下提供 200 多个 INT8 AI TOP 和 16. 3 FP32 TFLOP ,并具有 24 GB 的 VRAM 。这为运行多个模型留下了足够的空间。使用 100G 以太网 Mellanox ConnectX-6 网络接口卡( NIC ),可以与传感器进行高带宽 I / O 通信

NVIDIA 合作伙伴目前正在使用 Clara AGX 开发工具包开发超声波、内窥镜检查和基因组学应用。

us4R 和 NVIDIA Clara AGX

us4us 有限公司提供两种系统:

高级 us4R ,最多支持 1024 个 TX / 256 个 RX 通道

具有 256 个 TX / 64 个 RX 通道的便携式 us4R lite

两者都使用 PCIe 流式体系结构进行低延迟数据传输,并使用 GPU 进行原始超声回波信号的可扩展处理。 us4OEM 超声波前端模块支持 128TX / 32RX 模拟通道和高吞吐量 3GB / s PCIe Gen3 x4 数据接口(图 2 )。

poYBAGJeet-AN-WUAACAr9XUSiQ365.png

图 3 Us4r lite 和 Clara AGX 平台

端到端,软件定义的超声波设计

ARRUS 包是用于提供一个高级硬件抽象层的 US4R 的 SDK ,它使系统编程Python 、 C ++或 MATLAB 中。硬件编程通过定义射频模块来执行,包括以下内容:

有源发射( TX )探头元件

传输参数,如发送电压、发送波形和发送延迟

接收( RX )孔径和采集参数,如增益、滤波器和时间增益补偿

常用的 TX / RX 序列,如经典线性扫描、平面波成像( PWI )和合成发射孔径( STA )是预配置的,可以快速实现。自定义序列配置有用户定义的低级参数,如 TX / RX 孔径掩模和 TX 延迟。

ARRUS 包还包括用于图像重建的许多标准超声处理算法的 Python 实现,包括原始射频数据、射频数据预处理(数据滤波、正交解调等)、波束形成( PWI 、 STA 和经典方案)以及 B 模式图像的后处理。

这些算法是用于构建任意成像管道的构建块,可以处理 us4R 系统产生的射频数据流。 GPU cuPy 提供了加速的数值例程。 DLPack 指定了一种通用的内存张量结构,可实现机器学习框架和 GPU 之间的数据共享在使用 RDMA 处理库的同时,在它们之间复制数据不需要额外的开销。 DLPack 界面提供对 TensorFlow 、 PyTorch 、 Chainer 和 MXNet 中预定义或用户开发的深度学习模型的访问。

pYYBAGJeet-AFNCwAACsij1hXpA882.png

图 4 此版本的 NGC 容器软件示意图

US4US 超声波演示

通过结合软件和硬件堆栈,您可以在不到一页易读的 Python 代码中快速实现具有可配置参数的超声工作流程。在本节中,我们将向您展示如何使用 ARRUS API 、 us4R lite 平台和 Clara AGX DevKit 在几分钟内创建您自己的超声成像管道。

下面的代码示例应适用于适当的环境。但是,我们建议直接通过NGC使用 Docker 容器。在/ us4us _ examples / mimicknet-example 。 ipynb 的容器中,有一个交互式 Jupyter 笔记本可以帮助您完成此演示。

首先导入相关库,包括 ARRUS 、 NumPy 、 TensorFlow 和 CuPy :

# Imports for ARRUS, Numpy, TensorFlow and CuPy
 import arrus
 import arrus.session
 import arrus.utils.imaging
 import arrus.utils.us4r
 import numpy as np
 from arrus.ops.us4r import (Scheme, Pulse, DataBufferSpec)
 from arrus.utils.imaging import ( Pipeline, Transpose,  BandpassFilter,  Decimation,  QuadratureDemodulation, EnvelopeDetection, LogCompression, Enqueue,  RxBeamformingImg,  ReconstructLri,  Sum,  Lambda,  Squeeze)
 from arrus.ops.imaging import ( PwiSequence )
 from arrus.utils.us4r import ( RemapToLogicalOrder )
 from arrus.utils.gui import ( Display2D )
 from utilities import RunForDlPackCapsule, Reshape
 import TensorFlow as tf
 import cupy as cp 

接下来,实例化 PWI Tx 和 Rx 序列。在PwiSequence函数中定义从 US4US 超声系统提取的数据的参数。

seq = PwiSequence(
     angles=np.linspace(-5, 5, 7)*np.pi/180,# np.asarray([0])*np.pi/180,
     pulse=Pulse(center_frequency=6e6, n_periods=2, inverse=False),
     rx_sample_range=(0, 2048),
     downsampling_factor=2,
     speed_of_sound=1450,
     pri=200e-6,
     sri=20e-3,
     tgc_start=14,
     tgc_slope=2e2) 

定义序列后,加载深度学习模型参数。为此,您有两个不同的深度神经网络选项,用于提高 B 模式图像输出质量,都可通过 NGC 下载。

斯坦福大学研究人员的NN _模式利用波束形成低分辨率图像( LRI )的神经网络生成去斑图像。 LRI 是在单个合成孔径传输之后创建的;在这种情况下,一个平面波将不均匀化。通过将 LRI 序列相干地相加,可以将其合成为高分辨率图像( HRI )。

生成对抗网络( GANs )模型用于模拟商业超声系统中的 B 模式图像后处理。该算法使用标准延迟和求和( DAS )重建和 B 模式后处理管道,并使用 MimickNet CycleGAN 。有关更多信息,请参阅模仿网络,模仿黑箱约束下的临床图像后处理。

对于本例,您将加载 MimickNet CycleGAN 。除了加载权重外,您还实现了在下一步实现方案定义时所需的简单normalize和mimicknet_predict包装函数。

# Load MimickNet model weights
 model = tf.keras.models.load_model(model_weights)
 model.predict(np.zeros((1, z_size, x_size, 1), dtype=np.float32))
 
 def normalize(img):
     data = img-cp.min(img)
     data = data/cp.max(data)
     return data

 def mimicknet_predict(capsule):
     data = tf.experimental.dlpack.from_dlpack(capsule)
     result = model.predict_on_batch(data)
  
# Compensate a large variance of the image mean brightness.
     result = result-np.mean(result)
     result = result-np.min(result)
     result = result/np.max(result)
     return result 

您可以使用Scheme功能将所有部件组合在一起。Scheme功能获取 tx / rx 序列定义的参数:输出数据缓冲区、超声波设备工作模式和数据处理管道。这些参数定义了数据采集、数据处理和显示推断结果的工作流。

下面的代码示例显示了Scheme定义,其中包括前面定义的序列、 MimickNet 预处理和推理包装函数。 placement 参数表示处理管道在 Clara : 0 上运行,它在 GPU AGX 开发工具包上提供 GPU 加速。

scheme = Scheme(
     tx_rx_sequence=seq,
     rx_buffer_size=2,
     output_buffer=DataBufferSpec(type="FIFO", n_elements=4),
     work_mode="HOST",
     processing=Pipeline(
         steps=(
             ...
             ReconstructLri(x_grid=x_grid, z_grid=z_grid),
             # Image preprocessing
             Lambda(normalize),
             Reshape(shape=(1, z_size, x_size, 1)),
             # Deep Learning inference wrapper
             RunForDlPackCapsule(mimicknet_predict)
             ...
             Enqueue(display_input_queue, block=False, ignore_full=True)
         ),
         placement="/GPU:0"
     )
 ) 

连接到 US4US 设备,上载方案序列,然后启动显示队列。

     us4r = sess.get_device("/Us4R:0")
     us4r.set_hv_voltage(30)
 
     # Upload sequence on the us4r-lite device.
     buffer, const_metadata = sess.upload(scheme)
     display = Display2D(const_metadata, cmap="gray", value_range=(0.3, 0.9),
                         title="NNBmode", xlabel="Azimuth (mm)", ylabel="Depth (mm)",
                         show_colorbar=True, extent=extent)
     sess.start_scheme()
     display.start(display_input_queue)
     print("Display closed, stopping the script.") 

您的设备现在显示超声成像管道的结果。您还可以轻松地修改此管道,以实现自己最先进的深度学习算法。图 5 显示了演示中比较传统延迟和求和算法(左)和模拟网络模型(右)的示例输出。

结论

Clara AGX 正在启动软件定义医疗仪器的时代,该仪器具有可重新配置的管道,而无需更改硬件。将 Clara AGX 开发工具包与 us4R 超声波开发系统相连接,可以帮助您轻松快速地开发实时 AI 处理系统。凭借 RTX 6000 GPU 和 ARM CPU 的高性能,您可以充分利用嵌入式硬件生态系统来开发自己的最先进的特定于任务的算法。

关于作者

Marc Edgar 是 NVIDIA 的医疗设备高级联盟经理,帮助各种规模的医疗保健公司发展,以提高质量、可负担性和获得医疗保健的机会。在加入 NVIDIA 之前,他在 General Ele CTR ic 工作了超过 25 年。他开发并商业化了许多 AI / ML 算法,并在医疗保健和工业领域拥有 16 项专利。

Sean Huver 博士是 NVIDIA Clara AGX 团队的高级机器学习工程师,致力于在医疗初创企业、研究人员和制造商中采用人工智能。此前,肖恩是计算机视觉领域的初创公司创始人,也是国防部高级研究计划局和其他国防部项目的研究科学家。肖恩拥有路易斯安那州立大学的量子光学物理学博士学位和加州大学洛杉矶分校的物理学学士学位。

Piotr Jarosik 在华沙工业大学 Eel CTR 电子学和信息技术学院获得了计算机科学学士学位和硕士学位。目前,他是 us4us 的软件工程师和 IPPT PAN 的博士生。他的研究兴趣包括机器学习和超声数据处理。

Marcin Lewandowski 在研发、商业产品设计以及医疗器械开发和认证方面领导了许多项目。他获得了物理学硕士学位和电子工程博士学位。他还在科学期刊上发表了大量关于超声波的医学和工业应用的文章。在从事超声波、电子和软件开发的25年多时间里,Marcin一直致力于将其研究专业知识应用于具有强大创新和商业化潜力的项目。今天,他在us4us有限公司(us4us Ltd.)担任首席执行官,为研究、生物医学和工业应用生产原始超声波平台,同时兼顾了他在科学领域的持续工作。

审核编辑:郭婷

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

    关注

    14

    文章

    5496

    浏览量

    109045
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PYQT 应用程序框架及开发工具

    特点,已成为嵌入式领域的重要开发工具 PyQt 是一个创建 GUI 应用程序的工具包。它是 Python 编程语言和 Qt 库的成功融合。因为可用的类有很多,他们被分成几个模块。QtCore 模块
    发表于 10-29 07:15

    华大电子支持的主流开发工具有哪些

    华大电子支持的主流开发工具
    的头像 发表于 09-28 10:43 305次阅读
    华大电子支持的主流<b class='flag-5'>开发工具</b>有哪些

    三种开发工具的功能和优势

    您喜欢捣鼓电子设备并自己动手制作项目吗?如果是,您可能会对Raspberry Pi、Arduino、ROCK及其他能帮助实现DIY目标的开发工具感兴趣。Raspberry Pi在全球已售出约3000万台,这一令人瞩目的成绩说明这类开发工
    的头像 发表于 09-25 16:45 674次阅读

    eForce无线通信软件开发工具包兼容WLAN模块WKR612AA1

    近期,eForce株式会社宣布,其面向嵌入式设备的无线通信软件开发工具包(μC3-WLAN SDK)现已兼容 KAGA FEI 生产的无线局域网(WLAN)模块"WKR612AA1"。
    的头像 发表于 09-24 15:16 713次阅读

    【Sipeed MaixCAM Pro开发板试用体验】基于MaixCAM-Pro的AI生成图像鉴别系统

    1. 项目概述 本项目旨在开发并部署一个高精度的深度学习模型,用于自动鉴别一张图片是由AI生成(如Stable Diffusion, DALL-E, Midjourney等
    发表于 08-21 13:59

    IQM 宣布 Resonance 量子云平台重大升级,推出全新软件开发工具包

    进程,并为终端用户带来性能强大的新一代量子系统。 此次升级将 Qrisp——一个源自德国弗劳恩霍夫 FOKUS 研究所的项目——设为平台新的默认软件开发工具包 (SDK)。Qrisp 为量子开发
    的头像 发表于 07-11 11:03 441次阅读

    DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升

    HarmonyOS应用的AI智能辅助开发助手——CodeGenie,该AI助手深度集成在DevEco Studio中,提供鸿蒙知识智能问答、鸿蒙ArkTS代码补全/生成和万能卡片生成等
    发表于 04-18 14:43

    rk3568开发工具

    rk3568开发工具
    发表于 04-16 17:03 7次下载

    AI开发工具分类与功能

    当下,AI开发工具不仅简化了AI开发的复杂流程,还提高了开发效率,推动了AI技术的广泛应用。下面
    的头像 发表于 04-12 10:12 1038次阅读

    可智能深度学习AI摄像机模组方案

    50mmx50mm 软件资源 提供完整的软硬件开发资源,包括驱动程序、开发工具、示例代码等。 支持定制开发,满足客户个性化需求。 产品支持支持CGI、HTTP、HTTPS、GB28181、SIP
    发表于 03-21 11:28

    AI Agent 应用与项目实战》----- 学习如何开发视频应用

    再次感谢发烧友提供的阅读体验活动。本期跟随《AI Agent 应用与项目实战》这本书学习如何构建开发一个视频应用。AI Agent是一种智能应用,能够根据用户需求和环境变化做出相应响应
    发表于 03-05 19:52

    慧视图像处理板+VizSDK 为你拓展丰富的应用场景

    。VizvisionSoftSDK包含了一系列为图像采集、图像处理、图像编解码、图像输出、目标检测、目标跟踪等应用程序提供支持的开发工具包
    的头像 发表于 03-04 17:45 751次阅读
    慧视<b class='flag-5'>图像</b>处理板+VizSDK   为你拓展丰富的应用场景

    云计算开发工具包的功能

    随着云计算技术的不断成熟,越来越多的企业开始将应用和服务迁移到云端,以享受弹性计算资源、高可用性和成本效益等优势。为了加速这一进程,云计算服务提供商推出了各种开发工具包。下面,AI部落小编带您了解云计算开发工具包的主要功能。
    的头像 发表于 02-21 11:02 549次阅读

    Labview声音和振动工具包示例文件Sound Level

    Labview 声音和振动工具包示例文件,声压测试,有模拟和DAQ两个文件。
    发表于 01-05 09:15 5次下载

    最新Simplicity SDK软件开发工具包发布

    最新的SimplicitySDK软件开发工具包已经发布!此次更新针对SiliconLabs(芯科科技)第二代无线开发平台带来了包括蓝牙6.0的信道探测(Channel Sounding
    的头像 发表于 12-24 09:47 1462次阅读