99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用NVIDIA DeepStream對特定幀區(qū)域應用推理

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-10-10 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在高分辨率輸入中檢測物體是計算機視覺中的一個眾所周知的問題。當感興趣的是框架的某個區(qū)域時,不需要對整個框架進行推理。解決這個問題有兩種方法:

使用具有高輸入分辨率的大型模型。

將大圖像分為塊,并將較小的模型應用于每個塊。

在許多方面,第一種方法是困難的。訓練輸入量大的模型通常需要更大的主干,使整個模型更笨重。訓練或部署這樣的模型也需要更多的計算資源。較大的模型被認為不適合在較小的設備上部署邊緣。

第二種方法,將整個圖像劃分為塊,并對每個塊應用較小的模型,具有明顯的優(yōu)勢。使用較小的模型,因此在訓練和推理中需要較小的計算能力。將模型應用于高分辨率輸入不需要再培訓。較小的模型也被認為有利于邊緣部署。

在這篇文章中,我們將討論如何 NVIDIA DeepStream 可以幫助將較小的模型應用于高分辨率輸入,以檢測特定的幀區(qū)域。

視頻監(jiān)控系統(tǒng)概述

視頻監(jiān)控系統(tǒng)用于解決各種問題,例如識別行人、車輛和汽車。如今, 4K 和 8K 攝像機用于捕捉場景細節(jié)。軍方將航空攝影用于各種目的,這也涵蓋了大片區(qū)域。

隨著分辨率的增加,像素數(shù)呈指數(shù)增長。處理如此大量的像素需要大量的計算能力,尤其是使用深度神經網絡。

基于在建模過程中選擇的輸入維數(shù),深度神經網絡對固定形狀的輸入進行操作。這種固定大小的輸入也稱為感受野模型的。通常,在檢測和分割網絡中,感受野從 256 × 256 到 1280 × 1280 不等。

您可能會發(fā)現(xiàn)感興趣的區(qū)域是一個小區(qū)域,而不是整個幀。在這種情況下,如果檢測應用于整個幀,則不必要地使用計算資源。 DeepStream NvDsPreprocess 插件使您能夠在框架的特定區(qū)域上進行計算。

DeepStream NvDsPreprocessing 插件

然而,當平鋪應用于圖像或幀時,尤其是在視頻饋送上,您需要在推理管道中增加一個元素。這樣的元素預計將執(zhí)行可按流配置的分塊機制、分塊推理以及將多個分塊的推理組合到單個幀上。

有趣的是, DeepStream 中提供了所有這些功能 Gst-NvDsPreprocess 可自定義插件。它提供了一個用于預處理輸入流的自定義庫接口。每個流都有自己的預處理要求。

默認插件實現(xiàn)提供以下功能:

具有預定義感興趣區(qū)域( ROI )或分片的流根據推理的網絡要求進行縮放和格式轉換。每流 ROI 在配置文件中指定。

它從縮放和轉換的 ROI 中準備一個原始張量,并通過用戶元數(shù)據傳遞給下游插件。下游插件可以訪問該張量進行推理。

DeepStream NvDsPreprocessing 插件

下一步是修改現(xiàn)有代碼以支持平鋪。

使用 NvdsPreprocessing 插件

定義管道內的預處理元素:

preprocess = Gst.ElementFactory.make("nvdspreprocess", "preprocess-plugin")

NvDsPreprocess需要一個配置文件作為輸入:

preprocess.set_property("config-file", "config_preprocess.txt")

將預處理元素添加到管道:

pipeline.add(preprocess)

將元素鏈接到管道:

streammux.link(preprocess)
preprocess.link(pgie)

讓 NvdsPreprocess 插件進行預處理

推斷是通過NvDsInfer插件完成的,該插件具有幀預處理功能。

當您在NvDsInfer之前使用NvdsPreprocess插件時,您希望預處理(縮放或格式轉換)由 NvdsPreprocess而不是NvDsInfer完成。為此,請將NvDsInfer的input-tensor-meta屬性設置為 true 。這使得NvdsPreprocess可以進行預處理,并使用附加為元數(shù)據的預處理輸入張量,而不是NvDsInfer本身內部的預處理。

將Gst-nvdspreprocess功能合并到現(xiàn)有管道中需要以下步驟。

定義nvdspreprocess插件并將其添加到管道:

preprocess = Gst.ElementFactory.make("nvdspreprocess", "preprocess-plugin")
pipeline.add(preprocess)

NvDsInferinput-tensor-meta屬性設置為 true :

pgie.set_property("input-tensor-meta", True)

定義nvdspreprocess插件的配置文件屬性:

preprocess.set_property("config-file", "config_preprocess.txt")

將預處理插件鏈接到主推理機(pgie)之前:

streammux.link(preprocess)
preprocess.link(pgie)

創(chuàng)建配置文件

Gst-nvdspreprocess配置文件使用密鑰文件格式。有關更多信息,請參閱 Python 和 C 源代碼中的config_preprocess.txt。

[property]組配置插件的一般行為。

[group-《id》]組使用自定義庫中的src-id值和custom-input-transformation-function為一組流配置 ROI 、 TILE 和 ull 幀。

[user-configs]組配置自定義庫所需的參數(shù),自定義庫通過《string, string》的映射作為鍵值對傳遞給自定義庫。然后,自定義庫必須相應地解析這些值。

所需的最小值config_preprocess.txt類似于以下代碼示例:

[property]
enable=1
target-unique-ids=1 # 0=NCHW, 1=NHWC, 2=CUSTOM
network-input-order=0 network-input-order=0
processing-width=960
processing-height=544
scaling-buf-pool-size=6
tensor-buf-pool-size=6 # tensor shape based on network-input-order
network-input-shape=12;3;544;960 # 0=RGB, 1=BGR, 2=GRAY network-color-format=0 # 0=FP32, 1=UINT8, 2=INT8, 3=UINT32, 4=INT32, 5=FP16
tensor-data-type=0
tensor-name=input_1 # 0=NVBUF_MEM_DEFAULT 1=NVBUF_MEM_CUDA_PINNED 2=NVBUF_MEM_CUDA_DEVICE 3=NVBUF_MEM_CUDA_UNIFIED
scaling-pool-memory-type=0 # 0=NvBufSurfTransformCompute_Default 1=NvBufSurfTransformCompute_GPU 2=NvBufSurfTransformCompute_VIC
scaling-pool-compute-hw=0 # Scaling Interpolation method # 0=NvBufSurfTransformInter_Nearest 1=NvBufSurfTransformInter_Bilinear 2=NvBufSurfTransformInter_Algo1 # 3=NvBufSurfTransformInter_Algo2 4=NvBufSurfTransformInter_Algo3 5=NvBufSurfTransformInter_Algo4 # 6=NvBufSurfTransformInter_Default
scaling-filter=0
custom-lib-path=/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libcustom2d_preprocess.so
custom-tensor-preparation-function=CustomTensorPreparation [user-configs]
pixel-normalization-factor=0.003921568
#mean-file=
#offsets= [group-0]
src-ids=0;1;2;3
custom-input-transformation-function=CustomAsyncTransformation
process-on-roi=1
roi-params-src-0=0;540;900;500;960;0;900;500;0;0;540;900;
roi-params-src-1=0;540;900;500;960;0;900;500;0;0;540;900;
roi-params-src-2=0;540;900;500;960;0;900;500;0;0;540;900;
roi-params-src-3=0;540;900;500;960;0;900;500;0;0;540;900;

Processing-width和processing-height是指切片在整個幀上的寬度和高度。

對于network-input-shape,當前配置文件配置為最多運行 12 個 ROI 。要增加 ROI 計數(shù),請將第一維度增加到所需數(shù)量,例如network-input-shape=12;3;544;960。

在當前配置文件config-preprocess.txt中,每個源有三個 ROI ,所有四個源總共有 12 個 ROI 。所有源的總 ROI 不得超過network-input-shape參數(shù)中指定的第一個維度。

Roi-params-src-《id》表示source-《id》的 III 坐標。如果啟用了process-on-roi,則為每個 ROI 指定定義 ROI 的left;top;width;height。Gst-nvdspreprocess沒有將重疊塊中的對象檢測和計數(shù)結合起來。

密碼

C 代碼可從/ opt / NVIDIA / deepstream / deepstream-6.0 / source / app / sample _ app / deepstream-preprocess-test 下載。

Python 代碼可從 NVIDIA-AI-IOT/deepstream_python_apps github 回購。

后果

Gst-nvdspreprocess允許對視頻的特定部分(磁貼或感興趣區(qū)域)應用推理。使用Gst-nvdspreprocess,可以在單個幀上指定一個或多個平鋪。

以下是在整個幀上應用yolov4與在磁貼上應用yolov4時的性能指標。通過將流的數(shù)量增加到解碼器或計算飽和點來收集性能指標,并且進一步增加流不會顯示性能增益。

1080p 的視頻分辨率用于 NVIDIA V100 GPU 的性能基準。考慮性能和磁貼數(shù)量之間的權衡,因為放置太多的磁貼會增加計算需求。

使用NvDsPreprocess平鋪有助于對視頻中需要的部分進行選擇性推斷。例如,在圖 1 中,推理只能在人行道上使用,而不能在整個框架上使用。

GST-NVDSAnalytics 對nvinfer(主檢測器)和nvtracker附加的元數(shù)據執(zhí)行分析。Gst-nvdsanalytics可應用于瓷磚,用于 ROI 過濾、過度擁擠檢測、方向檢測和線交叉。

關于作者

Sunil Patel 作為一名深入學習的數(shù)據科學家為 NVIDIA 工作。他的專長包括開發(fā)NVIDIA 平臺上的智能視頻分析和會話人工智能的高度可擴展的人工智能解決方案。 Sunil 主要關注應用程序擴展和性能優(yōu)化。他畢業(yè)于印度阿拉哈巴德信息技術學院,獲得技術碩士學位。

Alvin Clark 是 DeepStream 的產品營銷經理。阿爾文的職業(yè)生涯始于設計工程師,然后轉向技術銷售和市場營銷。他曾與多個行業(yè)的客戶合作,應用范圍從衛(wèi)星系統(tǒng)、外科機器人到深海潛水器。阿爾文持有圣地亞哥加利福尼亞大學的工程學學位,目前正在喬治亞理工大學攻讀碩士學位。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5309

    瀏覽量

    106459
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4949

    瀏覽量

    131304
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86815
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    英偉達GTC2025亮點:Oracle與NVIDIA合作助力企業(yè)加速代理式AI推理

    Oracle 數(shù)據庫與 NVIDIA AI 相集成,使企業(yè)能夠更輕松、快捷地采用代理式 AI Oracle 和 NVIDIA 宣布,NVIDIA 加速計算和推理軟件與 Oracle 的
    的頭像 發(fā)表于 03-21 12:01 ?717次閱讀
    英偉達GTC2025亮點:Oracle與<b class='flag-5'>NVIDIA</b>合作助力企業(yè)加速代理式AI<b class='flag-5'>推理</b>

    英偉達GTC25亮點:NVIDIA Blackwell Ultra 開啟 AI 推理新時代

    英偉達GTC25亮點:NVIDIA Blackwell Ultra 開啟 AI 推理新時代
    的頭像 發(fā)表于 03-20 15:35 ?736次閱讀

    英偉達GTC25亮點:NVIDIA Dynamo開源庫加速并擴展AI推理模型

    NVIDIA Dynamo 提高了推理性能,同時降低了擴展測試時計算 (Scaling Test-Time Compute) 的成本;在 NVIDIA Blackwell 上的推理優(yōu)化
    的頭像 發(fā)表于 03-20 15:03 ?655次閱讀

    Oracle 與 NVIDIA 合作助力企業(yè)加速代理式 AI 推理

    ——Oracle 和 NVIDIA 今日宣布,NVIDIA 加速計算和推理軟件與 Oracle 的 AI 基礎設施以及生成式 AI 服務首次實現(xiàn)集成,以幫助全球企業(yè)組織加速創(chuàng)建代理式 AI 應用。 ? 此次
    發(fā)表于 03-19 15:24 ?358次閱讀
    Oracle 與 <b class='flag-5'>NVIDIA</b> 合作助力企業(yè)加速代理式 AI <b class='flag-5'>推理</b>

    如何在特定區(qū)域設置線寬、線距規(guī)則

    “ ?今天偷個懶,分享一個 Hayden 大佬提供的自定義規(guī)則,非常實用??梢栽?b class='flag-5'>特定區(qū)域(如BGA器件范圍內)定義特殊的線寬、線距規(guī)則。? ” 就是下面這段自定義規(guī)則,表示 U10
    的頭像 發(fā)表于 03-19 11:20 ?606次閱讀
    如何在<b class='flag-5'>特定</b><b class='flag-5'>區(qū)域</b>設置線寬、線距規(guī)則

    NVIDIA 推出開放推理 AI 模型系列,助力開發(fā)者和企業(yè)構建代理式 AI 平臺

    NVIDIA 后訓練的全新 Llama Nemotron 推理模型,為代理式 AI 提供業(yè)務就緒型基礎 埃森哲、Amdocs、Atlassian、Box、Cadence、CrowdStrike
    發(fā)表于 03-19 09:31 ?238次閱讀
    <b class='flag-5'>NVIDIA</b> 推出開放<b class='flag-5'>推理</b> AI 模型系列,助力開發(fā)者和企業(yè)構建代理式 AI 平臺

    使用NVIDIA推理平臺提高AI推理性能

    NVIDIA推理平臺提高了 AI 推理性能,為零售、電信等行業(yè)節(jié)省了數(shù)百萬美元。
    的頭像 發(fā)表于 02-08 09:59 ?725次閱讀
    使用<b class='flag-5'>NVIDIA</b><b class='flag-5'>推理</b>平臺提高AI<b class='flag-5'>推理</b>性能

    NVIDIA發(fā)布DLSS 4技術:多生成技術革新游戲體驗

    在1月23日,NVIDIA隨著RTX 50系列顯卡的問世,同步推出了全新的DLSS 4技術。這一技術憑借先進的多生成(MFG)功能,顯著提升了游戲的幀率,為玩家?guī)砹烁鼮榱鲿车挠螒蝮w驗。
    的頭像 發(fā)表于 01-24 15:29 ?739次閱讀

    NVIDIA助力麗蟾科技打造AI訓練與推理加速解決方案

    麗蟾科技通過 Leaper 資源管理平臺集成 NVIDIA AI Enterprise,為企業(yè)和科研機構提供了一套高效、靈活的 AI 訓練與推理加速解決方案。無論是在復雜的 AI 開發(fā)任務中,還是在高并發(fā)推理場景下,都能夠確保項
    的頭像 發(fā)表于 10-27 10:03 ?834次閱讀
    <b class='flag-5'>NVIDIA</b>助力麗蟾科技打造AI訓練與<b class='flag-5'>推理</b>加速解決方案

    NVIDIA與思科合作打造企業(yè)級生成式AI基礎設施

    NVIDIA 加速計算平臺、NVIDIA AI Enterprise 軟件和 NVIDIA NIM 推理微服務加持的思科 Nexus HyperFabric AI 集群解決方案在
    的頭像 發(fā)表于 10-10 09:35 ?848次閱讀

    魔搭社區(qū)借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社區(qū)是中國最具影響力的模型開源社區(qū),致力給開發(fā)者提供模型即服務的體驗。魔搭社區(qū)利用NVIDIA TensorRT-LLM,大大提高了大語言模型的推理性能,方便了模型應用部署,提高了大模型產業(yè)應用效率,更大規(guī)模地釋放大模型的應用價值?!?/div>
    的頭像 發(fā)表于 08-23 15:48 ?1146次閱讀

    英偉達推出全新NVIDIA AI Foundry服務和NVIDIA NIM推理微服務

    NVIDIA 宣布推出全新 NVIDIA AI Foundry 服務和 NVIDIA NIM 推理微服務,與同樣剛推出的 Llama 3.1 系列開源模型一起,為全球企業(yè)的生成式 AI
    的頭像 發(fā)表于 07-25 09:48 ?1065次閱讀

    can標準和擴展的區(qū)別

    CAN(Controller Area Network)是一種用于汽車和工業(yè)領域的通信協(xié)議,它允許多個設備在同一總線上進行通信。CAN協(xié)議有兩種類型:標準和擴展。這兩種類型在結
    的頭像 發(fā)表于 07-24 15:20 ?3542次閱讀

    CAN數(shù)據的各個域及其作用

    CAN數(shù)據由多個域組成,包括起始、仲裁域、控制域、數(shù)據域和結束。每個域都有其特定的作用,共同構成了一個完整的數(shù)據。下面將詳細介紹這
    的頭像 發(fā)表于 07-24 15:10 ?2867次閱讀

    LLM大模型推理加速的關鍵技術

    LLM(大型語言模型)大模型推理加速是當前人工智能領域的一個研究熱點,旨在提高模型在處理復雜任務時的效率和響應速度。以下是對LLM大模型推理加速關鍵技術的詳細探討,內容將涵蓋模型壓縮、解碼方法優(yōu)化、底層優(yōu)化、分布式并行推理以及
    的頭像 發(fā)表于 07-24 11:38 ?1830次閱讀