邊緣人工智能應用程序,無論是在機場、汽車、軍事行動還是醫院,都依賴于能夠實現實時處理和決策的高性能傳感器流應用程序。憑借其最新的 v0 . 5 版本NVIDIA Holoscan SDK為邊緣的下一代人工智能應用帶來了新一波傳感器處理能力。
此次發布也與HoloHub,一個 GitHub 存儲庫,供 Holoscan 開發人員與可重用組件和示例應用程序共享和協作。 HoloHub 現在提供了一系列新的參考應用程序和操作程序,旨在促進數據處理管道的創建和修改。
通過 HoloHub ,我們打算為處于原型設計、設計、開發和測試 AI 流算法各個階段的開發人員提供一系列運營商和應用程序,從 I / O 支持到圖像分割和對象檢測。 HoloHub 由 NVIDIA 所有,由一個開放的開發者社區驅動,該社區共享他們用于構建行業領先的人工智能應用程序的構建塊。
Holoscan v0 . 5 版本的亮點:
- HoloHub 中的新操作員和參考應用程序,包括手術工具檢測和內窺鏡工具分割。
- 支持 H . 264 編碼器和解碼器,可捕獲、處理和存檔視頻流
- X86 _ 64 物理 I / O 支持
- 深度貼圖渲染
- 與 GXF 應用程序的互操作性
- 支持 NVIDIA 開發套件上的集成和分立 GPU
- NVIDIA IGX Orin 的部署堆棧
- 全息掃描測試套件實用程序,用于制造或驗證和驗證
HoloHub 中的新運營商和參考應用程序
HoloHub 提供的新參考應用程序包括SSD手術刀具檢測應用和MONAI 內窺鏡工具分割應用。
MONAI 內窺鏡工具分割應用程序已經在 GI Genius 沙盒上進行了驗證,目前可部署到GI Genius Intelligent Endoscopy Modules, Cosmo Pharmaceutical 的人工智能內鏡系統。 Cosmo 的實現展示了 Holohub 應用程序在 NVIDIA Holoscan 上運行的產品/平臺上的快速無縫部署。
這個SSD手術刀具檢測應用開發用于演示在 Holoscan SDK 中部署對象檢測模型的過程以及自定義的后處理步驟。它包含一個教程導出經過訓練的 PyTorch 模型檢查點,修改導出的 ONNX 模型,在 Holoscan SDK 中的 Python 或 C ++中創建您自己的后處理邏輯,使用 Holoviz 可視化邊界框和文本,并將其整合到 Holoscan 應用程序中。
為了保持 Holoscan SDK 的核心優化和領域不可知,所有 Holoscan 的 SDK 示例應用程序都遷移到HoloHub并且構建系統被優化以使得能夠針對預先安裝的 SDK 版本構建每個應用程序。
我們開發了一個新的基礎網絡運營及其關聯應用。此基本網絡運營商使您能夠通過標準 Linux 套接字發送和接收 UDP 消息。提供了獨立的發射和接收運營商,以便它們能夠獨立運行,更好地滿足應用的需要。示例應用程序采用了在 Holoscan 端口上運行的現有 ping 示例,而是使用基本網絡運營商在 UDP 套接字上運行。
外部的貢獻歡迎并鼓勵 HoloHub 。
DELTACAST
DELTACAST,是一家為一系列廣播、工業和醫療應用提供專業視頻解決方案的開發商,是首批為 HoloHub 提供 Holoscan 視頻處理應用的公司之一。
此應用程序支持 DELTACAST . TV 12G SDI 密鑰捕獲卡,該卡可以將覆蓋層合成到傳入和傳出卡的視頻饋送上。這需要在修改現有輸入運算符的基礎上開發新的輸出運算符。
由此產生的樣本應用程序可以捕獲視頻源流,并使用 GPU Direct RDMA 將數據直接傳輸到 GPU 存儲器中,在那里可以通過內窺鏡檢查參考管道進行處理。然后,它使用 RDMA 將管道的輸出直接傳遞回捕獲卡,在那里它可以與低延遲源視頻混合。
為人工智能應用程序捕獲、處理和歸檔視頻流
現在 HoloHub 中提供了四個新的本地運營商,用于通過基本流寫入/讀取執行 H . 264 硬件加速編碼和解碼。這些運營商使用基于 NV V4L2 的 GXF 擴展來支持 H . 264 。
H . 264 支持基于人工智能的用例,用于捕獲、處理和歸檔視頻流。它還增加了使用標準視頻格式的能力,而不是使用專有的 GXF 張量格式作為 Holoscan 應用程序的輸入。當輸入是 H . 264 基本流時,樣本 Holoscan 應用程序包的大小急劇減小。
HoloHub 現在提供了兩個 C ++應用程序,以展示新的 H . 264 編碼和解碼功能:
- 這個h264_video_decode應用程序演示了由VideoReadBitream 和VideoDecoder用于從指定的輸入文件讀取 H . 264 基本流并將其解碼為原始視頻幀的運算符。
- 這個h264_endoscopy_tool_tracking應用程序是的修改版本endoscopy_tool_tracking將 GXF 張量格式輸入替換為 H . 264 基本流的應用程序。它還顯示了VideoEncoder和VideoWriteBitstream操作員將原始視頻幀編碼為 H . 264 ,并將 H . 264 基本流直接寫入磁盤。
x86_64 物理 I/O 支持
這個新版本的 Holoscan SDK 為 x86 平臺提供了對物理 I / O 的支持。
這個high-speed endoscopy application用作benchmark for low-latency4K 視頻,幀速率為 240 Hz ,使用高速以太網攝像頭。它現在可以在 x86 _ 64 桌面上運行。它已經用 Rivermax 14 . 1 . 1310 、 GPUDirect RDMA ( OFED 5 . 8 . 1 )和 Emergent Technologies 的相機進行了測試。
深度貼圖渲染
在這個新版本中,添加了對深度圖渲染的支持HoloViz, Holoscan 的可視化組件。深度圖被描述為 2D 矩形陣列,其中每個元素表示一個深度值。然后使用點、線或三角形將數據渲染為三維對象。
在當前的實現中,還可以指定元素的顏色。深度貼圖以 3D 方式渲染,并支持相機移動。圖 1 顯示了具有單個幀的彩色紋理的深度圖的可視化。
與 GXF 應用程序的互操作性
雖然 Holoscan SDK 可以將現有的 GXF 擴展封裝到 Holoscan 運算符中,但也可以方便地將用 Holoscan 編寫的本機運算符導出到 GXF 中,以便在現有 GXF 應用程序中使用它們。或者,您可以使用NVIDIA graph composer無代碼體驗。
Holoscan SDK v0 . 5 提供了一個助手 CMake 函數,用于將 Holoscan 運算符包裝為 GXF 代碼集。有關詳細信息,請參閱Using Holoscan Operators in GXF Applications.
支持 Holoscan 開發套件上的集成和離散 GPU
這個NVIDIA Clara AGX和NVIDIA IGX Orin顯影劑試劑盒由集成的 GPU ( iGPU )以及一個或多個離散的 GPU ( dGPU )組成。但是,由于nvgpu
用于 iGPU 的驅動程序,以及用于 Linux 的開源 NVIDIA 內核模塊( OpenRM )驅動程序 dGPU,此時需要額外的步驟才能并行使用它們。
從 Holoscan SDK v0 . 5 開始,我們在 NGC 上提供了一個實用工具容器:L4T Compute Assist它被設計為在為 dGPU 配置的開發堆棧( Holopack )上啟用 iGPU 計算訪問。此容器僅允許將 iGPU 用于計算功能,不適用于渲染。
為了展示 L4T Compute Assist 容器的功能,我們發布了一個新的應用程序out-of-body detection在 HoloHub 。該應用程序不需要顯示器,并且在終端中報告推斷的結果。此應用程序可以在 i GPU 容器內運行,同時在 dGPU 上運行其他應用程序。
下圖顯示了正在運行的體外檢測應用程序和未在應用程序中顯示的輸入框。


NVIDIA IGX Orin 的部署堆棧
與以前的 Holoscan 版本一樣,此 SDK 版本附帶了OpenEmbedded/Yocto layer for NVIDIA Holoscan該層提供了一個參考部署平臺,支持 Holoscan 開發工具包、 Holoscan SDK 和 HoloHub 參考應用程序。
除了支持新的 NVIDIA IGX Orin 開發套件外,此次對部署堆棧的更新還包括對核心組件的更新:
- 底層 L4T 平臺和內核
- 離散 GPU ( dGPU )驅動器
- CUDA
- cuDNN
- Mellanox OFED
- TensorRT
我們還增加了對 dGPU 容器運行時的支持、 PREEMPT_RT 補丁支持和 Emergent 高速 GigE 相機。
本機調試和應用程序評測對于準備就緒的生產部署至關重要。為了便于實現這一點,此次對部署堆棧的更新還包括通過 GDB 對本地和遠程調試的額外支持,以及使用 NVIDIA Nsight 系統 的 dGPU 應用程序評測。
部署堆棧在meta-tegra-holoscanGitHub,以及完整的build container托管在 NGC 上,它包括所有的依賴項和腳本,使您能夠使用幾個命令構建圖像并將其閃存到 Holoscan devkit 。
有關此部署堆棧版本引入的更改的完整列表的更多信息,請參閱 Holoscan OpenEmbedded / Yocto 層README和changelog.
全息掃描測試套件實用程序
的用戶NVIDIA IGX Orin衍生設計需要測試支持,既要在制造時驗證組裝系統的正確操作,也要在硬件或軟件發生變化時驗證開發過程中的正確操作。穩健的系統需要進行徹底的測試,以證明系統的要求和規范得到了滿足。需要提交給監管機構的應用程序不僅必須提供測試結果,還必須提供配置數據,以便能夠完全重建被測系統。
這個holoscan-test-suite該實用程序提供了一個框架和一組基本的系統驗證腳本,這些腳本在制造過程中以及驗證和驗證時都很容易使用,并且易于擴展。
測試套件從一組用 Python 或 shell 腳本編寫的測試開始,添加了一個用于生成配置報告的工具,并用一個簡單的 web 界面將其封裝起來。
Python 和 shell 腳本被封裝到由pytest framework,因此在命令行或 CI 環境中運行測試非常簡單。測試套件生成測試結果的 YAML 版本,使其易于包含在與每個制造系統相關的記錄中。您可以通過克隆/ holoscan 測試套件 repo 來修改現有的測試并添加新的測試,從而使將來從 NVIDIA 進行測試變得容易
有關詳細信息,請參閱README項目中包含的文件。
開始使用 Holoscan SDK
開始使用 Holoscan SDK v0 . 5 的最快方法是運行Holoscan container并啟動exploring the examples.
對于 Python 開發人員來說, Holoscan SDK 是available using PyPiHoloscan SDK 也可作為Debian package.
?