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

    文章

    4978

    浏览量

    102987
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84627
收藏 人收藏

    评论

    相关推荐

    云计算开发工具包括什么

    云计算开发工具种类繁多,包括IDE、虚拟化软件、容器化平台、自动化部署工具和云平台等。
    的头像 发表于 11-22 10:11 162次阅读

    卷积神经网络的实现工具与框架

    卷积神经网络因其在图像和视频处理任务中的卓越性能而广受欢迎。随着深度学习技术的快速发展,多种实现工具和框架应运而生,为研究人员和
    的头像 发表于 11-15 15:20 256次阅读

    FPGA仿真工具包软件EasyGo Vs Addon介绍

    EasyGo Vs Addon是一款领先的FPGA仿真工具包软件,它强大地连接了VeriStand软件与Matlab/Simulink,为实时测试和验证领域带来了前所未有的便利和效率,特别适用于汽车、航空航天和能源电力等实时测试和验证至关重要的行业。
    的头像 发表于 10-24 15:55 347次阅读
    FPGA仿真<b class='flag-5'>工具包</b>软件EasyGo Vs Addon介绍

    AI大模型与深度学习的关系

    人类的学习过程,实现对复杂数据的学习和识别。AI大模型则是指模型的参数数量巨大,需要庞大的计算资源来进行训练和推理。深度
    的头像 发表于 10-23 15:25 648次阅读

    瑞星微刷机工具开发工具

    瑞星微刷机工具开发工具
    发表于 10-09 11:14 1次下载

    采用德州仪器 (TI) 工具包进行模拟前端设计应用说明

    电子发烧友网站提供《采用德州仪器 (TI) 工具包进行模拟前端设计应用说明.pdf》资料免费下载
    发表于 09-09 11:21 0次下载
    采用德州仪器 (TI) <b class='flag-5'>工具包</b>进行模拟前端设计应用说明

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训
    的头像 发表于 07-14 14:21 2164次阅读

    深度学习中反卷积的原理和应用

    分割、图像重建和生成对抗网络(GANs)等,反卷积展现出了其独特的优势和广泛的应用前景。本文将详细探讨深度学习中的反卷积技术,包括其定义、原理、实现
    的头像 发表于 07-14 10:22 1572次阅读

    使用freeRTOS开发工具包时,在哪里可以找到freeRTOS的版本?

    作为主题,当我使用 freeRTOS 开发工具包时,在哪里可以找到 freeRTOS 的版本?
    发表于 07-09 07:17

    Diamond开发工具使用说明

    Diamond开发工具使用说明
    发表于 05-23 09:14 0次下载

    AI算力核心板:Core-1688JD4

    大模型私有化部署,提供一站式深度学习开发工具包SOPHONSDK,工具链完备易用度高,可轻松进行AI算法的本地化部署适用于智算服务器、边缘智
    的头像 发表于 05-15 08:02 1382次阅读
    <b class='flag-5'>AI</b>算力核心板:Core-1688JD4

    芯原股份:集成NPU IP的AI芯片出货量已破亿

    芯原的NPU IP设计独特,利用低功耗、可编程和可扩展的架构,打造了一款性能优越的AI硬件模块,满足多样化需求。配套丰富的软件开发工具包(SDK),支持所有知名深度学习框架,确保用户能
    的头像 发表于 02-29 09:24 882次阅读

    苹果准备推出AI软件开发工具

    近日,有知情人士透露,苹果公司正在全力加码人工智能,准备推出一款新的软件开发工具。这款工具将利用生成式人工智能技术,帮助开发者自动完成编码工作,预计将加剧与微软在人工智能方面的竞争。
    的头像 发表于 02-20 14:35 896次阅读

    QE for Motor V1.3.0:汽车开发辅助工具解决方案工具包

    电子发烧友网站提供《QE for Motor V1.3.0:汽车开发辅助工具解决方案工具包.pdf》资料免费下载
    发表于 02-19 10:44 0次下载
    QE for Motor V1.3.0:汽车<b class='flag-5'>开发</b>辅助<b class='flag-5'>工具</b>解决方案<b class='flag-5'>工具包</b>

    解决方案工具包QE显示[RX,RA]V3.2.0:用于显示应用程序的开发辅助工具

    电子发烧友网站提供《解决方案工具包QE显示[RX,RA]V3.2.0:用于显示应用程序的开发辅助工具.pdf》资料免费下载
    发表于 01-03 09:59 0次下载
    解决方案<b class='flag-5'>工具包</b>QE显示[RX,RA]V3.2.0:用于显示应用程序的<b class='flag-5'>开发</b>辅助<b class='flag-5'>工具</b>