NVIDIA Clara AGX 開發(fā)工具包與 us4R 超聲波開發(fā)系統(tǒng)一起,可以快速開發(fā)和測試用于超聲成像的實時 AI 處理系統(tǒng)。 Clara AGX 開發(fā)套件具有 ARM CPU 和高性能 RTX 6000 GPU 。 us4R 團隊為超聲系統(tǒng)設計師提供了開發(fā)、原型化和測試端到端軟件定義超聲系統(tǒng)的能力。 Clara AGX 正在啟動軟件定義醫(yī)療儀器的時代,該儀器具有可重構管道,而無需改變硬件。
us4us 硬件和 SDK 提供端到端的超聲算法開發(fā)和射頻處理平臺,高端 Clara AGX GPU 實現(xiàn)實時深度學習和 AI 圖像重建和推斷。通過這種方法,整個系統(tǒng)工程團隊受益:波束形成專家可以創(chuàng)建最佳波束策略,人工智能專家可以設計和部署下一代實時算法。
這種硬件和軟件相結合的平臺使研究實驗室和商業(yè)供應商的超聲波開發(fā)民主化,以開發(fā)新的功能。設計、原型和測試功能硬件不再需要巨額資金預算。設備管道的每個階段都可以修改。數(shù)據(jù)采集、數(shù)據(jù)處理、圖像重建、圖像處理、 AI 分析和可視化都在軟件中定義,并以低延遲性能實時執(zhí)行。該系統(tǒng)是完全可配置的,可以使用 AI 或傳統(tǒng)方法創(chuàng)建新的射頻傳輸波形和波束形成算法。
通過 NVIDIA 將 X-6 SmartNIC 100Gb / s 以太網(wǎng)和 RDMA 數(shù)據(jù)傳輸?shù)?GPU ,可以實現(xiàn)超快、低延遲的端到端數(shù)據(jù)傳輸。 NVIDIA 增壓式 GPU 可以圍繞現(xiàn)有的傳統(tǒng)高級成本系統(tǒng)運行。它能夠改進圖像重建、去噪和管道中高度先進和復雜算法的信噪比和實時處理。
GPU 具有足夠的凈空,可同時運行多個實時臨床推斷預測,包括測量、操作員指導、圖像解釋、組織和器官識別、高級可視化和臨床覆蓋。
Clara AGX 硬件的臨床應用商業(yè)化將與第三方供應商提供的醫(yī)療級硬件一起提供,其結構緊湊且節(jié)能 CPU + GPU SoC 形狀因數(shù)與自動駕駛汽車應用中的形狀因數(shù)相似。
Clara AGX 開發(fā)工具包是一款高端性能工作站,專為開發(fā)醫(yī)療應用而設計。該系統(tǒng)包括一個 NVIDIA RTX 6000 GPU ,在峰值性能下提供 200 多個 INT8 AI TOP 和 16. 3 FP32 TFLOP ,并具有 24 GB 的 VRAM 。這為運行多個模型留下了足夠的空間。使用 100G 以太網(wǎng) Mellanox ConnectX-6 網(wǎng)絡接口卡( NIC ),可以與傳感器進行高帶寬 I / O 通信。
NVIDIA 合作伙伴目前正在使用 Clara AGX 開發(fā)工具包開發(fā)超聲波、內(nèi)窺鏡檢查和基因組學應用。
us4R 和 NVIDIA Clara AGX
us4us 有限公司提供兩種系統(tǒng):
高級 us4R ,最多支持 1024 個 TX / 256 個 RX 通道
具有 256 個 TX / 64 個 RX 通道的便攜式 us4R lite
兩者都使用 PCIe 流式體系結構進行低延遲數(shù)據(jù)傳輸,并使用 GPU 進行原始超聲回波信號的可擴展處理。 us4OEM 超聲波前端模塊支持 128TX / 32RX 模擬通道和高吞吐量 3GB / s PCIe Gen3 x4 數(shù)據(jù)接口(圖 2 )。
圖 3 Us4r lite 和 Clara AGX 平臺
端到端,軟件定義的超聲波設計
ARRUS 包是用于提供一個高級硬件抽象層的 US4R 的 SDK ,它使系統(tǒng)編程在 Python 、 C ++或 MATLAB 中。硬件編程通過定義射頻模塊來執(zhí)行,包括以下內(nèi)容:
有源發(fā)射( TX )探頭元件
傳輸參數(shù),如發(fā)送電壓、發(fā)送波形和發(fā)送延遲
接收( RX )孔徑和采集參數(shù),如增益、濾波器和時間增益補償
常用的 TX / RX 序列,如經(jīng)典線性掃描、平面波成像( PWI )和合成發(fā)射孔徑( STA )是預配置的,可以快速實現(xiàn)。自定義序列配置有用戶定義的低級參數(shù),如 TX / RX 孔徑掩模和 TX 延遲。
ARRUS 包還包括用于圖像重建的許多標準超聲處理算法的 Python 實現(xiàn),包括原始射頻數(shù)據(jù)、射頻數(shù)據(jù)預處理(數(shù)據(jù)濾波、正交解調等)、波束形成( PWI 、 STA 和經(jīng)典方案)以及 B 模式圖像的后處理。
這些算法是用于構建任意成像管道的構建塊,可以處理 us4R 系統(tǒng)產(chǎn)生的射頻數(shù)據(jù)流。 GPU cuPy 提供了加速的數(shù)值例程。 DLPack 指定了一種通用的內(nèi)存張量結構,可實現(xiàn)機器學習框架和 GPU 之間的數(shù)據(jù)共享在使用 RDMA 處理庫的同時,在它們之間復制數(shù)據(jù)不需要額外的開銷。 DLPack 界面提供對 TensorFlow 、 PyTorch 、 Chainer 和 MXNet 中預定義或用戶開發(fā)的深度學習模型的訪問。
圖 4 此版本的 NGC 容器軟件示意圖
US4US 超聲波演示
通過結合軟件和硬件堆棧,您可以在不到一頁易讀的 Python 代碼中快速實現(xiàn)具有可配置參數(shù)的超聲工作流程。在本節(jié)中,我們將向您展示如何使用 ARRUS API 、 us4R lite 平臺和 Clara AGX DevKit 在幾分鐘內(nèi)創(chuàng)建您自己的超聲成像管道。
下面的代碼示例應適用于適當?shù)沫h(huán)境。但是,我們建議直接通過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
函數(shù)中定義從 US4US 超聲系統(tǒng)提取的數(shù)據(jù)的參數(shù)。
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)
定義序列后,加載深度學習模型參數(shù)。為此,您有兩個不同的深度神經(jīng)網(wǎng)絡選項,用于提高 B 模式圖像輸出質量,都可通過 NGC 下載。
斯坦福大學研究人員的NN _模式利用波束形成低分辨率圖像( LRI )的神經(jīng)網(wǎng)絡生成去斑圖像。 LRI 是在單個合成孔徑傳輸之后創(chuàng)建的;在這種情況下,一個平面波將不均勻化。通過將 LRI 序列相干地相加,可以將其合成為高分辨率圖像( HRI )。
生成對抗網(wǎng)絡( GANs )模型用于模擬商業(yè)超聲系統(tǒng)中的 B 模式圖像后處理。該算法使用標準延遲和求和( DAS )重建和 B 模式后處理管道,并使用 MimickNet CycleGAN 。有關更多信息,請參閱模仿網(wǎng)絡,模仿黑箱約束下的臨床圖像后處理。
對于本例,您將加載 MimickNet CycleGAN 。除了加載權重外,您還實現(xiàn)了在下一步實現(xiàn)方案定義時所需的簡單normalize和mimicknet_predict包裝函數(shù)。
# 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 序列定義的參數(shù):輸出數(shù)據(jù)緩沖區(qū)、超聲波設備工作模式和數(shù)據(jù)處理管道。這些參數(shù)定義了數(shù)據(jù)采集、數(shù)據(jù)處理和顯示推斷結果的工作流。
下面的代碼示例顯示了Scheme定義,其中包括前面定義的序列、 MimickNet 預處理和推理包裝函數(shù)。 placement 參數(shù)表示處理管道在 Clara : 0 上運行,它在 GPU AGX 開發(fā)工具包上提供 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.")
您的設備現(xiàn)在顯示超聲成像管道的結果。您還可以輕松地修改此管道,以實現(xiàn)自己最先進的深度學習算法。圖 5 顯示了演示中比較傳統(tǒng)延遲和求和算法(左)和模擬網(wǎng)絡模型(右)的示例輸出。
結論
Clara AGX 正在啟動軟件定義醫(yī)療儀器的時代,該儀器具有可重新配置的管道,而無需更改硬件。將 Clara AGX 開發(fā)工具包與 us4R 超聲波開發(fā)系統(tǒng)相連接,可以幫助您輕松快速地開發(fā)實時 AI 處理系統(tǒng)。憑借 RTX 6000 GPU 和 ARM CPU 的高性能,您可以充分利用嵌入式硬件生態(tài)系統(tǒng)來開發(fā)自己的最先進的特定于任務的算法。
關于作者
Marc Edgar 是 NVIDIA 的醫(yī)療設備高級聯(lián)盟經(jīng)理,幫助各種規(guī)模的醫(yī)療保健公司發(fā)展,以提高質量、可負擔性和獲得醫(yī)療保健的機會。在加入 NVIDIA 之前,他在 General Ele CTR ic 工作了超過 25 年。他開發(fā)并商業(yè)化了許多 AI / ML 算法,并在醫(yī)療保健和工業(yè)領域擁有 16 項專利。
Sean Huver 博士是 NVIDIA Clara AGX 團隊的高級機器學習工程師,致力于在醫(yī)療初創(chuàng)企業(yè)、研究人員和制造商中采用人工智能。此前,肖恩是計算機視覺領域的初創(chuàng)公司創(chuàng)始人,也是國防部高級研究計劃局和其他國防部項目的研究科學家。肖恩擁有路易斯安那州立大學的量子光學物理學博士學位和加州大學洛杉磯分校的物理學學士學位。
Piotr Jarosik 在華沙工業(yè)大學 Eel CTR 電子學和信息技術學院獲得了計算機科學學士學位和碩士學位。目前,他是 us4us 的軟件工程師和 IPPT PAN 的博士生。他的研究興趣包括機器學習和超聲數(shù)據(jù)處理。
Marcin Lewandowski 在研發(fā)、商業(yè)產(chǎn)品設計以及醫(yī)療器械開發(fā)和認證方面領導了許多項目。他獲得了物理學碩士學位和電子工程博士學位。他還在科學期刊上發(fā)表了大量關于超聲波的醫(yī)學和工業(yè)應用的文章。在從事超聲波、電子和軟件開發(fā)的25年多時間里,Marcin一直致力于將其研究專業(yè)知識應用于具有強大創(chuàng)新和商業(yè)化潛力的項目。今天,他在us4us有限公司(us4us Ltd.)擔任首席執(zhí)行官,為研究、生物醫(yī)學和工業(yè)應用生產(chǎn)原始超聲波平臺,同時兼顧了他在科學領域的持續(xù)工作。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
4994瀏覽量
103166 -
python
+關注
關注
56文章
4797瀏覽量
84760
發(fā)布評論請先 登錄
相關推薦
評論