• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 人工智能/深度學習

    使用 NVIDIA Clara AGX 開發工具包開發端到端實時應用程序

    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 開發工具包開發超聲波、內窺鏡檢查和基因組學應用。

    The Clara AGX Developer Kit showing the inside of the case with key components highlighted, NVIDIA Jetson AGX Xavier, NVIDIA Mellanox ConnectX-6, and NVIDIA RTX 6000 GPU.
    圖 1 . Clara AGX 顯影劑套件

    us4R 和 NVIDIA Clara AGX

    A front-facing photo of the Ultrasound Research System
    圖 2 。 us4R lite 超聲研究系統

    us4us 有限公司提供兩種系統:

    • 高級 us4R ,最多支持 1024 個 TX / 256 個 RX 通道
    • 具有 256 個 TX / 64 個 RX 通道的便攜式 us4R lite

    兩者都使用 PCIe 流式體系結構進行低延遲數據傳輸,并使用 GPU 進行原始超聲回波信號的可擴展處理。 us4OEM 超聲波前端模塊支持 128TX / 32RX 模擬通道和高吞吐量 3GB / s PCIe Gen3 x4 數據接口(圖 2 )。

    A diagram showing the connections between four pieces of hardware. From left to right, the Ultrasound Probe Connector uses 128-ch tx/rx connections to the us4R-lite system. Next, the us4R-lite connections over PCIe Gen3 x4 to the NVIDIA Clara AGX. Last, the NVIDIA Clara AGX uses the dGPU to output to the display.
    圖 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 中預定義或用戶開發的深度學習模型的訪問。

    A diagram showing how the us4OEM Drivers and NVIDIA GPU Drivers interact with the US4US McCoy Docker container.
    圖 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 。除了加載權重外,您還實現了在下一步實現方案定義時所需的簡單normalizemimicknet_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 顯示了演示中比較傳統延遲和求和算法(左)和模擬網絡模型(右)的示例輸出。

    此演示的代碼可通過NGChttps://ngc.nvidia.com/catalog/containers/nvidia:clara-agx:agx-us4us-ultrasound下載 Docker 映像。

    結論

    Clara AGX 正在啟動軟件定義醫療儀器的時代,該儀器具有可重新配置的管道,而無需更改硬件。將 Clara AGX 開發工具包與 us4R 超聲波開發系統相連接,可以幫助您輕松快速地開發實時 AI 處理系統。憑借 RTX 6000 GPU 和 ARM CPU 的高性能,您可以充分利用嵌入式硬件生態系統來開發自己的最先進的特定于任務的算法。

    有關 us4R lite 系統的更多信息,請聯系us4us。 Clara AGX 開發工具包目前僅適用于 NVIDIA Clara 開發者合作伙伴計劃的成員。

    ?

    0

    標簽

    人人超碰97caoporen国产