在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    5026

    瀏覽量

    103288
  • 分析
    +關注

    關注

    2

    文章

    134

    瀏覽量

    33323

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

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

收藏 人收藏

    評論

    相關推薦

    NVIDIA推出可分析視頻的AI智能體藍圖

    由 Metropolis 驅動的全新 NVIDIA AI Blueprint 可助力企業和個人提高生產力、增強安全性,甚至還能幫助 NVIDIA 首席執行官提升快球投球水平。
    的頭像 發表于 01-09 11:10 ?211次閱讀

    NVIDIA Cosmos世界基礎模型平臺發布

    NVIDIA 宣布推出NVIDIA Cosmos,該平臺由先進的生成式世界基礎模型、高級 tokenizer、護欄和加速視頻處理管線組成,將推動自動駕駛汽車(AV)和機器人等物理 AI 系統的發展。
    的頭像 發表于 01-08 10:39 ?117次閱讀

    松下MPS媒體制作平臺第八篇:視頻混合器插件(第三部分)

    ? 歡迎?????大家觀看松下操作教程 MPS媒體制作平臺????? 第八篇:視頻混合器插件(第三部分) 視頻混合器(Video Mixer)插件可以輕松進行主體鍵控,不受拍攝地點的局
    的頭像 發表于 01-08 10:10 ?51次閱讀
    松下MPS媒體制作平臺第八篇:<b class='flag-5'>視頻</b>混合器<b class='flag-5'>插件</b>(第三部分)

    環球儀器Omni插件機的優勢

    由于傳統插件機引腳歪斜,導致拋料率高,減低插件成功率,提高了拋料率。環球儀器的Omni 插件機,則采用兩項技術,提高插件成功率,減低拋料率。
    的頭像 發表于 01-07 09:12 ?172次閱讀
    環球儀器Omni<b class='flag-5'>插件</b>機的優勢

    松下MPS媒體制作平臺第七篇:視頻混合器插件(第二部分)

    第七篇:視頻混合器插件(第二部分) 視頻混合器(Video Mixer)插件可以輕松進行主體鍵控,不受拍攝地點的局限,同時便于將多種視頻素材
    的頭像 發表于 12-19 13:38 ?146次閱讀
    松下MPS媒體制作平臺第七篇:<b class='flag-5'>視頻</b>混合器<b class='flag-5'>插件</b>(第二部分)

    寫一個Chrome瀏覽器插件

    一、什么是瀏覽器插件 瀏覽器插件是依附于瀏覽器,用來拓展網頁能力的程序。插件具有監聽瀏覽器事件、獲取和修改網頁元素、攔截網絡請求、添加快捷菜單等功能。使用瀏覽器插件可以實現很多有趣的功
    的頭像 發表于 11-18 17:12 ?437次閱讀
    寫一個Chrome瀏覽器<b class='flag-5'>插件</b>

    KiCad插件大全

    感謝Hayden同學的整理! 插件使用方式 1. 解壓縮插件包到KICAD插件目錄。例如,在Windows上可能是:C:Program
    的頭像 發表于 11-12 12:24 ?566次閱讀

    使用NVIDIA JetPack 6.0和YOLOv8構建智能交通應用

    本文將介紹如何使用 NVIDIA JetPack 6.0 中的全新 Jetson 平臺服務,來構建一個適用于邊緣的端到端交通分析解決方案。該系統集成了多個功能:使用視頻存儲工具包 (VST) 服務
    的頭像 發表于 08-23 16:49 ?510次閱讀
    使用<b class='flag-5'>NVIDIA</b> JetPack 6.0和YOLOv8構建智能交通應用

    在 KiCad 中使用華秋 DFM 插件

    所有圖層,可以通過單擊或 Ctrl單擊的方式進行調整:還有個小細節,插件默認只顯示報錯或警告的內容,如果您想查看某個類別中所有的檢測結果,可以選擇對話框中左側的“顯示所有”。這樣也可以對分析結果進行查看
    發表于 08-18 22:15

    基于DMAIC的SMT TX插件撞傷不良改善

    在快速發展的電子制造領域,SMT(表面貼裝技術)已經成為電子產品組裝的核心技術之一。然而,SMT TX插件撞傷不良問題一直是制約生產效率與產品質量的瓶頸。本文將基于DMAIC(定義、測量、分析、改進
    的頭像 發表于 06-19 14:47 ?372次閱讀

    谷景分析插件繞線電感測試有異響的常見原因

    谷景分析插件繞線電感測試有異響的常見原因 編輯:谷景電子 插件繞線電感作為一種應用比較普遍的電感產品,很多人在使用的時候可能會遇到一些問題,比如:異響的問題。異響的確是一個比較高發的問題,特別是電感
    的頭像 發表于 06-11 11:22 ?305次閱讀

    利用NVIDIA的nvJPEG2000庫分析DICOM醫學影像的解碼功能

    本文將深入分析 DICOM 醫學影像的解碼功能。AWS HealthImaging 利用 NVIDIA 的 nvJPEG2000 庫來實現此功能。
    的頭像 發表于 05-28 14:27 ?832次閱讀
    利用<b class='flag-5'>NVIDIA</b>的nvJPEG2000庫<b class='flag-5'>分析</b>DICOM醫學影像的解碼功能

    【線路板設計】詳解pcb插件特點

    ~ 以下是關于PCB插件的主要特點: 1.功能豐富:PCB插件提供了各種功能,包括自定義布局、RF設計、信號完整性分析、3D模型創建等。這些功能使得設計師能夠更靈活地進行設計,并解決復雜問題。 2.自動化:許多
    的頭像 發表于 05-21 17:51 ?791次閱讀

    鴻蒙實戰開發學習:【HiView插件開發】

    Hiview是一個跨平臺的終端設備維測服務集,其中是由插件管理平臺和插件實現的各自功能構成整套系統。 本文描述了hiview插件開發的全部流程。
    的頭像 發表于 03-12 11:52 ?1362次閱讀
    鴻蒙實戰開發學習:【HiView<b class='flag-5'>插件</b>開發】

    視頻光纖矩陣與傳統視頻傳輸方式的比較分析

    傳統視頻傳輸方式和視頻光纖矩陣進行比較分析。 傳統視頻傳輸方式 : 優勢 : 成本較低 :傳統的視頻傳輸方式,如同軸電纜、雙絞線等,其材料成
    的頭像 發表于 02-19 14:58 ?578次閱讀
    主站蜘蛛池模板: 国产精品三级a三级三级午夜| 特黄aa级毛片免费视频播放| 午夜传媒| 性欧美一级| 伊人网大| 四虎在线永久视频观看| av手机在线播放| 正在播放国产乱子伦视频| 免费啪视频| 久久影视免费观看网址| 午夜影视剧场| 播放一级毛片| 在线好吊色视频98gao| 国产三级日本三级在线播放| 日本a在线看| 色综合激情| 兔费看全黄三级| 亚洲成人网在线| 在线天堂中文有限公司| 亚洲成人自拍| 欧美色天使| 高清国产一区二区三区| 国产婷婷色一区二区三区| 中文字幕在线永久在线视频2020| 天天曰夜夜操| 天天干天天操天天爱| 黄网地址| 日本一区二区在线不卡| 天堂社区在线视频| 四虎中文| 免费观看理论片毛片| 农村妇女野外一级毛片| 人人澡人| 国产成年美女毛片80s| 天天看片天天干| 啪啪免费看视频| 亚洲综合资源| 亚洲天堂bt| 特级a毛片| 国模私拍一区二区三区| 色视频亚洲|