国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

NVIDIA nvdsanalytics視頻分析插件

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 作者:NVIDIA英偉達 ? 2021-10-28 15:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

nvdsanalytics 視頻分析插件是 DeepStream 5.0 添加的功能,對 nvinfer(主檢測器)和 nvtracker 附加的元數據執行分析,目前主要針對涉及感興趣區域(ROI)的過濾、過度擁擠檢測、方向檢測和跨線統計等四大功能,如下表:

功能說明

ROI 過濾此功能檢測 ROI 中是否存在目標類別的對象,結果作為每個對象的元數據附加,以及每幀 ROI 中的對象總數。

擁擠檢測在“ROI 過濾”的前提下,檢測每幀對象總數是否處于過度擁擠的狀態,就是檢測 ROI 中的對象數量是否超過預先配置的閾值。

方向檢測使用對象位置歷史記錄和當前幀信息檢查對象是否遵循預配置的方向。結果作為每個對象的元數據附加。

跨線統計此功能檢查對象是否遵循虛擬線的預配置方向,以及是否已越過虛擬線。當測線交叉時,結果將附加到對象上,同時還會附加幀元,其中累積計數與測線交叉的每幀計數一起附加。

可以看出這是 NVIDIA 經過實際項目的要求所增加的功能插件,主要就是針對視頻內的我們所指定的“某個區塊(興趣區,ROI)”或“某條線(跨越線)”范圍中的標的物件,進行“物件動向”的分析與統計(如下圖)。大部分的使用場景是在道路流量分析的應用,但這也可以應用在營建工地、生產工廠、樓宇、校園、消防設施的危險區(danger zone)監控,實用性非常之高。

有經驗的開發人員就會很清楚,如果缺少 nvdsanalytics 這個插件的時候,則開發者需要自行從 nvtracker 里面抽取相關數據,然后與興趣區或跨越線進行持續比對,確認是否屬于要列入統計數據的物件,至于“動向分析”功能,更需要大量的“前后幀”位置比對去進行判斷,這些開發的工作量是相當艱辛、計算量是非常巨大的,如今在 DeepStream 里面只要輕松調用 nvdsanalytics 插件,就能輕松地完成很復雜的工作。

在 DeepStream 開發套件里的 deepstream-nvdsanalytics-test 是 C/C++版本的范例代碼,先前文章里帶著大家安裝過的 deepstream_python_apps 范例中,也提供 Python 版本的代碼,在范例路徑下面的 deepstream-nvdsanalytics 里面。

Gst-nvdsanalytics 工作原理

DeepStream 一直令人贊賞的一個特色,就是將插件的接口做得十分簡單,因此在開始執行范例代碼之前,我們需要先對這個插件有個初步了解,請參考下面鏈接的原廠說明:https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvdsanalytics.html

下圖是 Gst-nvdsanalytics 的基本工作原理圖:

整個執行流程其實就是很簡單的四個步驟:

接受上游(左邊)的 nvinfer 與 nvtracker 元件發送的批處理緩沖區(GstBuffer + NvDsBatchMeta),并從中提取元數據;

將元數據傳遞到低階 nvds_analytics 接口(上圖下方)進行處理;

低階接口根據為每個流的所制定配置(前面所列的四項功能)的規則去執行分析;

然后返回添加了分析元數據的作為輸出,這是每個跟蹤對象以及整個幀的分析結果。

這個插件伴隨著 NvDsAnalyticsFrameMeta 與 NvDsAnalyticsObjInfo 兩組元數據,可以在 DeepStream 開發包的sources/includes/nvds_analytics_meta.h 找到完整的定義,也可以在https://docs.nvidia.com/metropolis/deepstream/sdk-api/Meta/analytics.html 找到使用說明。這里也簡單說明一下,對于后面說明代碼時會有幫助:

NvDsAnalyticsFrameMeta:定義“幀級(frame level)”的數據內容,配合所提供的四項功能,主要結構如下:

ocStatus(數據類型:bool):在給定的ROI 區域內

objInROIcnt(數據類型:unit32_t):在ROI 區域內檢測到的物件總數

objLCCurrCnt(數據類型:unit64_t):保存當前幀中跨線物件的數量objLCCumCnt(數據類型:unit64_t):保存已配置線條的累計跨線物件數量

unique_id(數據類型:guint):保存 nvdsanalytics 實例的唯一標識符objCnt(數據類型:unit64_t):保存每幀里面每個類 ID 的對象總數

NvDsAnalyticsObjInfo:定義“對象(object level)”的數據內容,配合所提供的四項功能,主要結構如下:

roiStatus(數據類型:字符串數組):保存對象所在的 ROI 標簽數組

ocStatus(數據類型:字符串數組):保存對象所在的 ROI 標簽數組保存對象所在的過度擁擠標簽數組

lcStatus(數據類型:字符串數組):保存對象已跨越的線交叉標簽數組

dirStatus(數據類型:字符串):保存跟蹤對象的方向字符串

unique_id(數據類型:guint):保存 nvdsanalytics 實例的唯一標識符

前面工作流最右邊的輸出,是以幀級的 NvDsAnalyticsFrameMeta 結構進行封裝,想要調用時就定義一個用戶元,將 meta_type 設置為NVDS_USER_FRAME_META_NVDSANALYTICS。然后將用戶元添加到 NvDsFrameMeta 的 frame_user_meta_list 成員。

分析(每個檢測到的對象)的輸出結果封裝在 NvDsAnalyticsObjInfo 結構中,同樣再定義定義一個用戶元,將類型設置為 NVDS_USER_OBJ_META_NVDSANALYTICS,然后將這個用戶元添加到 NvDsObjectMeta 的 obj_user_meta_list 成員中。

上述步驟與數據結構,已經將大部分 nvdsanalytics 插件的工作都部署的差不多了,剩下就是啟動并監聽交互信息的部分。

項目配置文件說明

這個范例的代碼與前面幾個范例的工作流程是一致的,只是這里接受多個輸入源,包括 H264/H265 視頻文件與 RTSP 視頻流,因此需要建立多個隊列(queue)作為緩沖來處理,至于 nvanalytics_src_pad_buffer_probe 部分與 test1 的 osd_sink_pad_buffer_probe 代碼結構的邏輯也是相近的,因此請自行根據先前代碼內容進行類比,這里就不花力氣再重復那些冗余的內容。

不過這個項目里面的配置文件與前面的項目有比較大的不同之處,因此這里就花點時間探索這部分的細節。范例的配置文件為 config_nvdsanalytics.txt,一共有 5 個配置組。

這個插件一共有以下的 5 個配置組:

[property]:配置插件的一般行為,這是唯一的強制(必須有的)組

[roi-filtering-stream-《n》]:為第《n》個流配置 roi 篩選規則參數,無數量限制

[overcrowding-stream《n》]:為第《n》個流配置過度擁擠參數的閾值

[direction-detection-stream-《n》]:為第《n》個流配置方向檢測參數

[line-crossing-stream-《n》]:為第《n》個流配置跨線參數

在[property]組里面的參數是大家比較熟悉的,其他組里面有幾個用法比較特殊的參數,在這里挑出來說明:

roi-《label》:用在[roi-filtering-stream-《n》]與[overcrowding-stream-《n》]這兩個組,可自行配置《label》名稱,例如“RF”、“OC”、“DangerZone”等,后面設定一組“多(3 以上)邊形”坐標,使用“;”作為間隔,坐標順序為“x1;y1;x2;y2;x3; y3;。..”,例如“roi-DangerZone=295;643;579;634;642;913;56;828”、“roi-OC=295;643;579; 634;642;913;56;828”等,可以為每個視頻源指定多個的興趣區。

direction-《label》:用在[direction-detection-stream-《n》]組,可自行配置《label》內容,例如“South”、“East”、“Forward”等等,后面給定一組(x1;y1;x2;y2)坐標來表示方向,當對象沿這個方向移動時,前面設定的標簽將作為用戶元數據附加到對象里,可以為每個視頻源指定多個方向。

line-crossing-《label》:用在[line-crossing-stream-《n》]組里面,同樣可自行設定《label》內容,例如“Entry”、“Exit”、“Start”等,后面的設定值定義兩組線的四個坐標,依序為(x1d;y1d;x2d;y2d;x1c;y1c;x2c;y2c),其中第一組(x1d;y1d;x2d;y2d)代表移動的方向,如下圖“向下方的黃色箭頭”所表示;第二組(x1c;y1c;x2c;y2c)標示“跨越線”的坐標,如下圖與黃色箭頭所交叉的“橫向線”。

只有當物件“以符合要求的方向通過跨越線”,才算符合這里的統計要求,才會納入這個視頻分析的計數之中,這個功能定義的十分完善。

同樣的,我們可以為每個視頻流提供多組這種跨越線的配置。

extended:用在[line-crossing-stream-《n》]組,這個開關設定值是為了將上一個參數做個擴展,當設置為“0(關閉)”的時候,則計算物件通過的參考依據就僅止于“兩條線的交叉點”,如果設置為“1(開啟)”時,就會以(x1c;y1c;x2c;y2c)整條線作為參考依據。

mode:用在[line-crossing-stream-《n》]與[direction-detection-stream-《n》]這兩個組,設定“檢測方向”與“配置方向”一致性的嚴格程度,有“loose(寬松)”、“strict(嚴格)”、“balance(平衡)”三種選項,例如“loose”只檢查物體是否已越過線,并且該物體保持同一方向行進即可,公差可能會很高。

以上是比較復雜的參數與用法的簡單說明,如果需要所有參數的完整說明,請直接參考https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvdsanalytics.html下方的“Configuration File Parameters”內容。

接下來就開始執行這個很有用處的范例,透過修改參數值來感受用途。

范例執行

由于 deepstream_nvdsanalytics.py 這個代碼可以接受多個視頻輸入,因此需要使用“file:///”格式給定輸入文件完整路徑,為了簡化指令長度,我們在工作目錄下使用軟鏈接來提供視頻文件路徑:

ln -s 。./。./。./。./samples/streams/sample_720p.h264 ~/test.h264python3 deepstream_nvdsanalytics.py file:///home/nvidia/test.h264

下面是這個范例的執行畫面:

接下去看看所顯現的數據代表什么意思,下面是我們截取第 649 幀圖像的檢測結果:

##################################################Object 503 moving in direction: NorthObject 499 moving in direction: NorthObject 526 roi status: [‘RF’]Objs in ROI: {‘RF’: 1}Linecrossing Cumulative: {‘Exit’: 20}Linecrossing Current Frame: {‘Exit’: 0}Frame Number= 649 stream id= 0 Number of Objects= 7 Vehicle_count= 5 Person_count= 2

最上面兩行表示物件編號 503 與 499 行進方向為“North”

第 3 行在 RF 興趣區檢測到編號 526 物件(圖左方站立的人)

第 4 行顯示興趣區 RF 目前檢測到“1”個物件

第 5 行統計出“累積通過”右方黃色線的物件數量為“20”

第 6 行顯示“正在通過”右方黃色線的物件數量為“0”

第 7 行顯示這是“第 649 幀”,檢測到“7”個物件,其中有“5”輛車與“2”個人

如何?這個插件的功能很棒吧,可以讓你自由地設定要監控的區域,并且非常有效率地按照你所設定的要求,反饋對應的統計數據。

責任編輯:haq

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

    關注

    14

    文章

    5594

    瀏覽量

    109781
  • 分析
    +關注

    關注

    2

    文章

    134

    瀏覽量

    33957

原文標題:NVIDIA Jetson Nano 2GB 系列文章(38):nvdsanalytics視頻分析插件

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    超擎數智為您深度解析NVIDIA Quantum-X800 InfiniBand平臺

    NVIDIA
    專精特新
    發布于 :2026年01月08日 19:47:03

    視頻卡頓分析流程

    視頻卡頓分析流程
    發表于 11-10 16:55 ?0次下載

    TE Connectivity HDC HMN EMC模塊插件技術分析

    TE Connectivity (TE) HDC HMN EMC模塊插件設計用于在模塊化系統中提供EMC保護解決方案。HDC HMN EMC模塊插件使設計人員能夠在一個模塊化系統中整合信號和電源。該解決方案可節省空間、提高成本效益,并避免額外電源噪聲。
    的頭像 發表于 11-09 14:21 ?1012次閱讀

    NVIDIA助力樞途科技突破視頻提取具身數據技術鴻溝

    樞途科技(Synapath AI)基于 NVIDIA GPU、Jetson AGX Orin 等算力底座、成熟的 AI 加速生態、NVIDIA Isaac Sim、Omniverse 平臺的仿真合成
    的頭像 發表于 08-30 16:11 ?1831次閱讀

    NVIDIA RTX PRO 4500 Blackwell GPU測試分析

    今天我們帶來全新 NVIDIA Blackwell 架構 GPU —— NVIDIA RTX PRO 4500 Blackwell 的測試,對比上一代產品 NVIDIA RTX 4500 Ada Generation 具體有哪些
    的頭像 發表于 08-28 11:02 ?4012次閱讀
    <b class='flag-5'>NVIDIA</b> RTX PRO 4500 Blackwell GPU測試<b class='flag-5'>分析</b>

    AI視頻分析系統

    方案背景人工智能大時代背景下,視頻應用領域相關的行業應用方式已經發生了深刻的變化,各論安防監控還是各類垂直行業視頻應用,都需要AI視覺分析與識別技術助力,而且需求廣泛而迫切。在應用層面,以AI
    的頭像 發表于 08-06 14:39 ?943次閱讀
    AI<b class='flag-5'>視頻</b><b class='flag-5'>分析</b>系統

    KiCad-Parasitics:KiCad 寄生參數分析插件

    “ ? 這是一款用于分析 PCB 編輯器中走線(wires)寄生參數的插件。 ? ” ? ? 要使用該插件,您必須在電路板上標記兩個點。通常情況下,最好是選擇由同一根走線連接的兩個焊盤。標記后,該
    的頭像 發表于 06-25 11:14 ?2061次閱讀
    KiCad-Parasitics:KiCad 寄生參數<b class='flag-5'>分析</b><b class='flag-5'>插件</b>

    用 VSCode 編寫自己的 KiCad 插件(下)

    “ ?很多小伙伴都想自己開發 KiCad 插件,但不知從何入手。本文由華秋電子的另一位 KiCad 開發者波波同學撰寫,分享了如何快速搭建環境,并開發一個簡單的插件。? ” ? ? ? 所有環境配置
    的頭像 發表于 06-19 11:44 ?2874次閱讀
    用 VSCode 編寫自己的 KiCad <b class='flag-5'>插件</b>(下)

    NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了機器人仿真參考應用 NVIDIA Isaac Sim 和機器人學習框架 NVIDIA Isaac Lab 的更新,以加速各種形態機器人的開發。
    的頭像 發表于 05-28 10:06 ?2131次閱讀

    NVIDIA打造用于視頻搜索和總結的AI Blueprint

    視頻是現代數字行業的標志性特征之一,占全球數據流量的 50% 以上。它不僅在媒體行業占據主導地位,對各行業的企業也日趨重要,是全球規模最大、最普遍的數據源之一。然而,其中只有不到 1% 的視頻數據會被用于深入分析
    的頭像 發表于 05-22 10:05 ?749次閱讀

    貼片電阻和插件電阻可以替換嗎?

    貼片電阻和插件電阻在特定條件下可以相互替換,但替換時需要考慮多個因素以確保電路的性能和穩定性。以下是對貼片電阻和插件電阻替換性的詳細分析: 一、可替換性分析 電路設計要求: 替換前需明
    的頭像 發表于 04-30 15:32 ?1410次閱讀
    貼片電阻和<b class='flag-5'>插件</b>電阻可以替換嗎?

    XFreRDP(2.8.1 或更高版本)使用VPU需要哪些插件

    XFreRDP(2.8.1 或更高版本)使用 VPU 需要哪些插件 在 IMX8MP 上用于解碼傳入的 H.264 視頻幀?
    發表于 03-27 07:04

    NVIDIA Blackwell白皮書:NVIDIA Blackwell Architecture Technical Brief

    NVIDIA Blackwell白皮書:NVIDIA Blackwell Architecture Technical Brief
    的頭像 發表于 03-20 18:35 ?3063次閱讀

    NVIDIA Blackwell數據手冊與NVIDIA Blackwell架構技術解析

    NVIDIA Blackwell數據手冊與NVIDIA Blackwell 架構技術解析
    的頭像 發表于 03-20 17:19 ?2474次閱讀

    PREEvision插件使用場景介紹

    PREEvision插件中心(Add-in House)是Vector中國PREEvision團隊針對中國用戶開發的插件網站。用戶可以在這里找到各種場景的擴展插件,包括以太網與SOA設計、軟件及通信設計、硬件設計、變更管理等領域
    的頭像 發表于 03-14 13:50 ?1250次閱讀
    PREEvision<b class='flag-5'>插件</b>使用場景介紹