NVIDIA DeepStream 是一款功能強(qiáng)大的 SDK,能夠提供用于構(gòu)建端到端視覺 AI 管線的 GPU 加速構(gòu)建模塊。憑借 40 多個(gè)現(xiàn)成插件,您可以部署具備領(lǐng)先 AI 推理技術(shù)、對(duì)象追蹤功能,以及與常用的物聯(lián)網(wǎng)消息代理(如 EDIS、Kafka、MQTT 等)無(wú)縫集成的全面優(yōu)化的管線。
DeepStream 提供直觀的 REST API,無(wú)論部署在遠(yuǎn)端還是云端,都能控制您的 AI 管線。
圖 1. DeepStream SDK 工作流
最新發(fā)布的 DeepStream 7.0 是我們迄今為止最重要的版本之一,它將為您帶來(lái)生成式 AI 時(shí)代的突破性功能。該版本包含大量創(chuàng)新功能,可加速下一代應(yīng)用開發(fā)。
版本包含以下亮點(diǎn):
通過(guò) Python API 使用新的 DeepStream 庫(kù)的全新開發(fā)途徑
利用全新 Service Maker 來(lái)簡(jiǎn)化應(yīng)用開發(fā)
增強(qiáng)的單視角 3D 追蹤器功能
通過(guò) DeepStream 3D 框架支持傳感器融合模型 BEVFusion
支持適用于 Linux 的 Windows 子系統(tǒng)(WSL2)
利用 PipeTuner 來(lái)簡(jiǎn)化 AI 管線的優(yōu)化工作
DeepStream 庫(kù):拓展開發(fā)者視野
在構(gòu)建視覺 AI 應(yīng)用時(shí),首要任務(wù)是優(yōu)化 AI 管線以獲得一流的性能。無(wú)論您是經(jīng)驗(yàn)豐富的專家還是剛剛?cè)腴T的新手,都必須了解戰(zhàn)略全局。
大體上,有兩種主要方式可供選擇:
現(xiàn)有的開箱即用框架,如 GStreamer
在您自己的框架上加速關(guān)鍵構(gòu)建塊的功能性 API
圖 2. 視覺 AI 應(yīng)用工作流
圖 3 顯示了 DeepStream 插件的結(jié)構(gòu)。在其核心,每個(gè)插件都將其基本功能封裝在一個(gè)庫(kù)中,這個(gè)庫(kù)可通過(guò)符合 GStreamer 插件規(guī)范且定義明確的接口進(jìn)行訪問(wèn)。
這種標(biāo)準(zhǔn)化方法確保了 GStreamer 生態(tài)系統(tǒng)內(nèi)的無(wú)縫兼容和集成。DeepStream 通過(guò)在插件之間添加零內(nèi)存拷貝,實(shí)現(xiàn)了最先進(jìn)的性能。
圖 3. DeepStream 插件的高層架構(gòu)
隨著 DeepStream 7.0 的推出,NVIDIA 為開發(fā)者開辟了新的途徑,讓他們可以繼續(xù)靈活地使用 GStreamer 的強(qiáng)大功能,或者通過(guò)直觀的 Python API 去挖掘 DeepStream 庫(kù)的強(qiáng)大性能。這種雙管齊下的方法不僅拓寬了 Python 開發(fā)者使用 NVIDIA 加速功能的途徑,而且還能將這些功能無(wú)縫集成到現(xiàn)有的 AI 框架中。
圖 4. DeepStream 庫(kù)
由 NVIDIA CV-CUDA、NvImageCodec 和 PyNvVideoCodec 支持的 DeepStream 庫(kù)提供了一系列低層級(jí)的 GPU 加速操作,可輕松地直接替代在視覺 AI 管線預(yù)處理和后處理階段中受 CPU 瓶頸限制的相應(yīng)操作。
作為開源庫(kù),它們提供了完全的透明度和必要的工具,以實(shí)現(xiàn)庫(kù)與庫(kù)之間和庫(kù)與熱門深度學(xué)習(xí)框架之間的零內(nèi)存拷貝交互。通過(guò) pip 安裝命令即可完成設(shè)置,這簡(jiǎn)化了整個(gè)集成過(guò)程。
DeepStream 7.0 現(xiàn)在支持的兩種路徑有各自的優(yōu)勢(shì)和權(quán)衡:
易于學(xué)習(xí)和集成:DeepStream 庫(kù)簡(jiǎn)化了學(xué)習(xí)曲線,使您能夠快速集成 Python API 并見證 GPU 加速的直接優(yōu)勢(shì)。一個(gè)最好的例子就是與 DeepStream 庫(kù)編解碼器的集成,只需編寫幾行代碼,就能迅速看到圖像或視頻幀加速解碼/編碼的影響。
即用型解決方案:成熟的 DeepStream 插件在與 GStreamer 框架相結(jié)合后,能夠?yàn)閺牧汩_始或沒有現(xiàn)有管線框架的用戶,提供一條快速上市部署的路徑。這些插件內(nèi)置零內(nèi)存拷貝和先進(jìn)的資源管理功能,是實(shí)現(xiàn)高效應(yīng)用開發(fā)的理想選擇。
圖 5. DeepStream 庫(kù)和插件之間的取舍
NVIDIA 計(jì)劃在未來(lái)不斷擴(kuò)展 DeepStream 庫(kù)的支持范圍,并通過(guò)每次的新發(fā)布來(lái)進(jìn)一步豐富開發(fā)者的體驗(yàn)。
DeepStream Service Maker:
簡(jiǎn)化應(yīng)用開發(fā)
對(duì)于想要使用 GStreamer 的 DeepStream 開發(fā)者,我們還帶來(lái)了一個(gè)好消息:GStreamer 新手的學(xué)習(xí)速度將會(huì)很快。
NVIDIA 為 DeepStream 技術(shù)套件加入了一項(xiàng)突破性功能——DeepStream Service Maker。這項(xiàng)新功能通過(guò)將 GStreamer 的復(fù)雜性抽象化,大大簡(jiǎn)化了開發(fā)流程,使每個(gè)人都能快速高效地構(gòu)建面向?qū)ο蟮?C++ 應(yīng)用。
圖 6. DeepStream Service Maker 抽象層
您可以使用 DeepStream Service Maker 來(lái)快速構(gòu)建管線、集成所需的插件、無(wú)縫連接這些插件以及發(fā)布應(yīng)用,所有這些工作都只需幾分鐘時(shí)間。然后,您可以毫不費(fèi)力地將這些應(yīng)用打包到容器中,并通過(guò) REST API 進(jìn)行管理,從而打造一個(gè)大幅減少傳統(tǒng)編碼工作的精簡(jiǎn)工作流。
Pipeline pipeline("deepstream-test1"); pipeline.add("filesrc", "src", "location", argv[1]) .add("h264parse", "parser") .add("nvv4l2decoder", "decoder") .add("nvstreammux", "mux", "batch-size", 1, "width", 1280, "height", 720) .add("nvinfer", "infer", "config-file-path", CONFIG_FILE_PATH) .add("nvvideoconvert", "converter") .add("nvdsosd", "osd") .add(sink, "sink") .link("src", "parser", "decoder") .link({"decoder", "mux"}, {"", "sink_%u"}) .link("mux", "infer", "converter", "osd", "sink") .attach("infer", new BufferProbe("counter", new ObjectCounter)) .attach("infer", "sample_video_probe", "my probe", "src", "font-size", 20) .start() .wait();
考慮到那些不熟悉 GStreamer 的用戶,DeepStream Service Maker 讓開發(fā)過(guò)程變得更加直觀,同時(shí)它也為經(jīng)驗(yàn)豐富的開發(fā)者帶來(lái)了新的功能,完全支持自定義插件,如果您多年來(lái)一直投入時(shí)間創(chuàng)建自定義解決方案,這一點(diǎn)至關(guān)重要。
DeepStream Service Maker 將原來(lái)數(shù)百行的復(fù)雜編碼減少到幾行,徹底改變了處理和管理應(yīng)用開發(fā)的方式,使這項(xiàng)工作變得前所未有的簡(jiǎn)單和輕松。
DeepStream Service Maker 還能加速邊緣環(huán)境的應(yīng)用開發(fā),最適合用來(lái)為適用于 Jetson 的 Metropolis 微服務(wù)(MMJ)開發(fā)您自己的微服務(wù)。DeepStream Service Maker 還可作為微服務(wù)輕松部署到云端,并可通過(guò) REST-API 進(jìn)行控制。
視頻 1. 輕松構(gòu)建、部署和控制視覺 AI 應(yīng)用
使用 Service Maker 構(gòu)建應(yīng)用后,可將其輕松打包到容器中,然后通過(guò)直觀的 REST API 進(jìn)行管理和動(dòng)態(tài)控制,比如添加和刪除流,以及配置感興趣區(qū)域(ROI)等。
視頻 2. 使用 REST API 控制視覺 AI 應(yīng)用
DeepStream Service Maker 的第一個(gè)版本支持 C++。未來(lái)的版本將支持 Python,從而擴(kuò)大該工具的可訪問(wèn)性和多功能性。
DeepStream 單視角 3D
NVIDIA DeepStream 最新版本對(duì)單視角 3D 追蹤(SV3DT)的追蹤器進(jìn)行了重大改進(jìn)。這一先進(jìn)功能僅使用一個(gè)單攝像頭就能在 3D 空間內(nèi)精確追蹤物體,從而在 3D 世界地平面上對(duì)物體進(jìn)行精確定位。
SV3DT 的第一個(gè)版本將行人建模為地平面上的圓柱體。這種方法通過(guò)將腳部定位在圓柱體的底部來(lái)保證更加精確的定位,從而實(shí)現(xiàn)更加清晰、明確的運(yùn)動(dòng)呈現(xiàn),而且定位不受遮擋程度的影響。
圖 7. DeepStream 單視角 3D 追蹤使用單攝像頭創(chuàng)建圓柱體和腳部位置
通過(guò) DeepStream 3D 框架支持 BEVFusion
DeepStream 7.0 支持最令人興奮的傳感器融合 AI 模型之一——BEVFusion。DeepStream 7.0 增強(qiáng)了 DeepStream 3D(DS3D)框架,并增加了可與攝像頭輸入融合的激光雷達(dá)和雷達(dá)輸入。NVIDIA 正在致力于提供下一代環(huán)境感知解決方案。
通過(guò)以源代碼形式提供的底層庫(kù)精簡(jiǎn)了與各種傳感器的集成,從而簡(jiǎn)化了對(duì)不同傳感器廠商的支持。
通過(guò)與 DS3D 框架集成,BEVFusion 提供了一整套提高功能性和易用性的功能:
輕松實(shí)現(xiàn)可視化:在屏幕上渲染和旋轉(zhuǎn)激光雷達(dá)或 3D 數(shù)據(jù),將激光雷達(dá)數(shù)據(jù)投影到圖像中,并從多個(gè)視角顯示 3D 邊界框。
支持消息代理: 默認(rèn)與消息代理集成,以便快速高效地與其他子系統(tǒng)集成。
傳感器同步:強(qiáng)大的多傳感器數(shù)據(jù)(包括激光雷達(dá)、雷達(dá)和攝像頭)同步功能,支持文件輸入和實(shí)時(shí)流。該功能可適應(yīng)不同的幀率并管理幀丟失,這對(duì)于現(xiàn)實(shí)世界應(yīng)用的適應(yīng)性來(lái)說(shuō)至關(guān)重要。
對(duì)齊過(guò)濾器:根據(jù)不同傳感器的內(nèi)在和外在參數(shù)進(jìn)行數(shù)據(jù)對(duì)齊,實(shí)現(xiàn)適合各種傳感器數(shù)據(jù)對(duì)齊的精準(zhǔn)定制。
定制 3D 數(shù)據(jù)預(yù)處理:支持激光雷達(dá)和雷達(dá)數(shù)據(jù)的定制預(yù)處理需求,提高處理精度和靈活性。
通用數(shù)據(jù)地圖管理:通過(guò)鍵值系統(tǒng)管理傳感器和張量數(shù)據(jù)的綜合陣列,實(shí)現(xiàn)數(shù)據(jù)監(jiān)督和操作的精簡(jiǎn)化。
憑借這些功能,帶有 BEVFusion 的 DeepStream 7.0 站在了 3D AI 開發(fā)的最前沿,為可從邊緣部署到云端的傳感器融合技術(shù)帶來(lái)了全新的可能性。
圖 8. 通過(guò) BEVFusion 和 DS3D 框架實(shí)現(xiàn)應(yīng)用的傳感器融合
支持適用于 Linux 的Windows 子系統(tǒng)
現(xiàn)在可以使用適用于 Linux 的 Windows 子系統(tǒng)(WSL2)在 Windows 系統(tǒng)上開發(fā) DeepStream 應(yīng)用。該更新是一項(xiàng)重大進(jìn)步,也是在以 Windows 為標(biāo)準(zhǔn)的 IT 批準(zhǔn)系統(tǒng)上進(jìn)行開發(fā)的客戶經(jīng)常提出的一項(xiàng)要求。
通過(guò)在 WSL2 上集成 DeepStream,您無(wú)需遠(yuǎn)程訪問(wèn) Linux 系統(tǒng),就可以在一個(gè)系統(tǒng)上實(shí)現(xiàn)工作流的簡(jiǎn)化。這項(xiàng)新功能可讓您無(wú)需進(jìn)行復(fù)雜的雙系統(tǒng)設(shè)置就能使用 DeepStream 的強(qiáng)大功能,從而簡(jiǎn)化開發(fā)流程并提高生產(chǎn)力。
DeepStream 對(duì) WSL2 的支持,為直接在 Windows 上開發(fā)高級(jí)應(yīng)用提供了所需的靈活性和便利性。您既能享受到與 Windows 的輕松兼容,又能同時(shí)受益于 DeepStream 的強(qiáng)大功能。
圖 9. WSL2 架構(gòu)上的 DeepStream SDK
PipeTuner 1.0:簡(jiǎn)化 AI 管線優(yōu)化
PipeTuner 1.0 是一款全新的開發(fā)者工具,有望徹底改變 AI 管線的調(diào)整方式。AI 服務(wù)通常包含大量用于推理和追蹤的參數(shù),因此尋找能夠最大程度提高特定用例準(zhǔn)確性的最佳設(shè)置是一個(gè)復(fù)雜而關(guān)鍵的過(guò)程。
傳統(tǒng)的手動(dòng)調(diào)整需要對(duì)每個(gè)管線模塊有深入的了解,這在廣泛、高維的參數(shù)空間中變得不切實(shí)際,即便有數(shù)據(jù)集和用于準(zhǔn)確性分析的基準(zhǔn)實(shí)況標(biāo)簽的支持也是如此。
PipeTuner 就是為應(yīng)對(duì)這些挑戰(zhàn)而設(shè)計(jì)的。PipeTuner 能夠高效探索參數(shù)空間并自動(dòng)識(shí)別最佳參數(shù),根據(jù)用戶提供的數(shù)據(jù)集實(shí)現(xiàn)最高的關(guān)鍵性能指標(biāo)(KPI)。最重要的是,PipeTuner 簡(jiǎn)化了這一流程,使用戶無(wú)需掌握管線及其參數(shù)的技術(shù)知識(shí)。
PipeTuner 1.0 目前處于開發(fā)者預(yù)覽階段。
圖 10. PipeTuner 工作流
通過(guò)集成 PipeTuner,您可以加快產(chǎn)品上市時(shí)間,并為每個(gè)部署地點(diǎn)量身定制 DeepStream 管線參數(shù),確保在各種場(chǎng)景下都能實(shí)現(xiàn)最佳性能。讓每個(gè)人在所有用例和場(chǎng)景中都能獲得有效且先進(jìn)的 AI 管線優(yōu)化,這是朝著這一目標(biāo)所邁出的重要一步。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2557文章
51931瀏覽量
760202 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5162瀏覽量
105091 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2920文章
45494瀏覽量
382825 -
MQTT
+關(guān)注
關(guān)注
5文章
660瀏覽量
23195
原文標(biāo)題:NVIDIA 發(fā)布具有里程碑意義的 DeepStream 7.0,助力下一代視覺 AI 開發(fā)
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
通用汽車和NVIDIA合作構(gòu)建定制化AI系統(tǒng)
Banana Pi 發(fā)布 BPI-AI2N & BPI-AI2N Carrier,助力 AI 計(jì)算與嵌入式開發(fā)
NVIDIA推出面向RTX AI PC的AI基礎(chǔ)模型
NVIDIA助力輕威科技開發(fā)下一代多人實(shí)時(shí)運(yùn)動(dòng)捕捉系統(tǒng)
使用全新NVIDIA AI Blueprint開發(fā)視覺AI智能體
西門子EDA發(fā)布下一代電子系統(tǒng)設(shè)計(jì)平臺(tái)
下一代高功能新一代AI加速器(DRP-AI3):10x在高級(jí)AI系統(tǒng)高級(jí)AI中更快的嵌入處理

國(guó)科微AI首席科學(xué)家邢國(guó)良:打造全系邊端AI芯片,賦能下一代自動(dòng)駕駛

評(píng)論