一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DeepStream容器執(zhí)行Python的開(kāi)發(fā)操作

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來(lái)源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 作者:NVIDIA英偉達(dá)企業(yè)解 ? 2022-08-17 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前面一篇文章已經(jīng)帶著大家將 DeepStream 容器配置 Python 使用環(huán)境,本文的重點(diǎn)就是繼續(xù)執(zhí)行實(shí)際的開(kāi)發(fā)操作。

由于前面開(kāi)啟容器時(shí),透過(guò) “-v” 指令將容器外路徑與容器內(nèi)形成映射,因此實(shí)際代碼文件是存放在主機(jī)上(容器外),我們可以在主機(jī)上使用 gedit 這個(gè)較為便利的編輯器去修改代碼,然后在容器內(nèi)執(zhí)行應(yīng)用,如此搭建起實(shí)用性更高的開(kāi)發(fā)環(huán)境。

在 DeepStream 范例中的test2是識(shí)別功能最豐富的經(jīng)典范例,不僅能識(shí)別對(duì) “Car” 與 “Person” 配置唯一的編號(hào)進(jìn)行跟蹤功能,還能為 “Car” 物體進(jìn)一步分析 “廠牌”、“顏色”、“車型” 等屬性,我們還可以將這些信息改成中文顯示。

另一個(gè)runtime_source_add_delete項(xiàng)目則是實(shí)現(xiàn) 動(dòng)態(tài)添加/刪減視頻 的功能,通常在面對(duì) “不均衡” 監(jiān)控的時(shí)候,會(huì)需要這項(xiàng)功能的輔助。

例如 “醫(yī)院的門診與急診” 的流量在正常工作時(shí)間是門診大于急診,下班之后的流量就剛好反轉(zhuǎn),如果能根據(jù)時(shí)間去調(diào)整輸入源的增減,就會(huì)有很高的實(shí)用性;都市中很多道路車流量在上下班高峰期是反轉(zhuǎn)的,如果中控室的監(jiān)控屏幕數(shù)量有限的時(shí)候,也可以根據(jù)不同狀態(tài)去調(diào)整視頻流的來(lái)源。

這并不意味著我們得去調(diào)整設(shè)備的數(shù)量,而是調(diào)整輸入源的 “接收開(kāi)關(guān)”,例如道路交通的監(jiān)控有 100 臺(tái)攝像頭,是保持 24 小時(shí)全年午休地拍攝并傳輸數(shù)據(jù),而中控室如果只有 50 個(gè)顯示屏幕,就只要切換接收輸入源的開(kāi)關(guān)就可以。

現(xiàn)在就用容器版 DeepStream 的 Python 環(huán)境,來(lái)執(zhí)行這兩個(gè)應(yīng)用。

1、DeepStream-test2 項(xiàng)目

這個(gè)項(xiàng)目將 DeepStream 關(guān)于物體識(shí)別的絕大部分人工智能功能都集于一身,包括以下三大類組件:

  • 1 個(gè)具備四類別的物體檢測(cè)器(object detector)作為一階段檢測(cè)器;

  • 1 個(gè)跟蹤器(tracker);

  • 3 個(gè)基于 “Car” 類別的圖像分類器(image classifier)作為二階段分類器。

三者的合作關(guān)系如下:

1)將讀入的圖像傳給一階段檢測(cè)器進(jìn)行物體檢測(cè)計(jì)算;

2)將識(shí)別出的物體傳送給跟蹤器去賦予唯一的編號(hào);

3)如果識(shí)別的類別為 “Car”,則將物體位置坐標(biāo)分別傳送給 3 個(gè)二階段分類器,對(duì)坐標(biāo)內(nèi)圖形進(jìn)行 “廠牌”、“顏色”、“車型” 等屬性識(shí)別;

4)最后將上面的信息合成回原始圖像,然后進(jìn)行輸出作業(yè)。

這里使用的檢測(cè)器與 3 個(gè)二階段分類器模型都在 samples / models 下,如以下的路徑名:

  • Primary_Detector:一階段監(jiān)測(cè)器

  • Secondary_CarColor:識(shí)別車輛顏色的二階段分類器

  • Secondary_CarMake:識(shí)別車輛廠牌的二階段分類器

  • Secondary_VehicleTypes:識(shí)別車輛種類的二階段分類器

如果前面建立的 Python 容器環(huán)境沒(méi)有刪除的話,現(xiàn)在就可以執(zhí)行以下指令進(jìn)入容器內(nèi)去執(zhí)行這個(gè)范例:

sudo  xhost  +si:localuser:rootdockerstartds_python&&dockerexec-itds_pythonbash

進(jìn)入容器后,執(zhí)行以下指令:

cd  sources/deepstream_python_apps/apps/deepstream-test2./deepstream_test_2.py../../../../samples/streams/sample_720p.h264

下圖就是執(zhí)行的效果,可以看到每個(gè)識(shí)別到的物體都有唯一的識(shí)別號(hào),在 “Car 3” 后面還有 “gray” 與 “nissan” 等顏色與廠牌的信息。

f2894182-1dd1-11ed-ba43-dac502259ad0.png

不過(guò)這個(gè)容器版有個(gè)還未解決的問(wèn)題,就是 “中文顯示” 的部分,如果有更精通操作系統(tǒng)的朋友可以試著解決這個(gè)中文顯示問(wèn)題。

2、runtime_source_add_delete 項(xiàng)目

這個(gè)項(xiàng)目也是基于 deepstream-test2神經(jīng)網(wǎng)絡(luò)組合識(shí)別項(xiàng)目基礎(chǔ)上,使用以下的動(dòng)態(tài)處理函數(shù),因此沒(méi)有固定的通道結(jié)構(gòu):

1)create_uridecode_bin:作為 “多輸入源路徑解析” 功能;

2)stop_release_source:停止指定編號(hào)數(shù)據(jù)源,并釋放相關(guān)資源的內(nèi)存空間;

3)delete_sources:首先刪除現(xiàn)有 stream 中已經(jīng) End of Stream 的數(shù)據(jù)源,如果沒(méi)有隨機(jī)刪除一個(gè)視頻源。如果全部視頻源都被刪除時(shí),就結(jié)束應(yīng)用;

4)add_sources:隨機(jī)增加數(shù)據(jù)源,如果數(shù)量達(dá)到 MAX_NUM_SOURCES,10s 后刪除一個(gè)視頻源;

5)bus_call:總線管理機(jī)制,作為觸發(fā)事件的管理機(jī)制。

為了簡(jiǎn)化運(yùn)行,這個(gè)示例只接收 1 個(gè) H.264 視頻文件當(dāng)作 4 個(gè)輸入源使用,每 10 秒添加的視頻都會(huì)從頭開(kāi)始播放,系統(tǒng)就是為每個(gè)輸入源設(shè)置唯一的編號(hào),作為新增與刪除的依據(jù)。

cd  sources/deepstream_python_apps/apps/runtime_source_add_deleteexport  DS_ROOT=/opt/nvidia/deepstream/deepstream/./deepstream_rt_src_add_del.pyfile://$DS_ROOT/samples/streams/sample_720p.mp4

接下去就會(huì)執(zhí)行以下的 7 個(gè)畫(huà)面變化:

1)顯示第一個(gè)輸入源的檢測(cè)結(jié)果:

f2a408f0-1dd1-11ed-ba43-dac502259ad0.png

2)10 秒后添加第二個(gè)輸入源的檢測(cè)結(jié)果:

f2c7cdb2-1dd1-11ed-ba43-dac502259ad0.png

3)再 10 秒后添加第三個(gè)輸入源的檢測(cè)結(jié)果:

f2db8082-1dd1-11ed-ba43-dac502259ad0.png

4)再 10 秒后添加第四個(gè)輸入源的檢測(cè)結(jié)果:

f2f8bb8e-1dd1-11ed-ba43-dac502259ad0.png

5)再 10 秒后隨機(jī)刪除一個(gè)輸入源:

f312f206-1dd1-11ed-ba43-dac502259ad0.png

6)再 10 秒后又隨機(jī)刪除一個(gè)輸入源:

f3350aa8-1dd1-11ed-ba43-dac502259ad0.png

7)再 10 秒后又隨機(jī)刪除一個(gè)輸入源:

f3492cea-1dd1-11ed-ba43-dac502259ad0.png

8)再 10 秒后刪除最后一個(gè)輸入源。

可以修改 deepstream_rt_src_add_del.py 文件的以下兩個(gè)粗體下劃線的參數(shù),調(diào)整輸出總數(shù)量與間隔時(shí)間:

  • 第 48 行:MAX_NUM_SOURCES = 4

  • 第 278 行:GLib.timeout_add_seconds(10, delete_sources, g_source_bin_list)

之后請(qǐng)自行嘗試修改的結(jié)果。

審核編輯:湯梓紅


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

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106423
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22458
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86766

原文標(biāo)題:NVIDIA Jetson 系列文章(8):用DS容器執(zhí)行Python范例

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    四大Python執(zhí)行系統(tǒng)命令方法

    Python是一款操作簡(jiǎn)單的編程語(yǔ)言,內(nèi)置豐富的庫(kù),能夠很容易的實(shí)現(xiàn)強(qiáng)大的功能,在使用Python進(jìn)行框架搭建時(shí),往往需要用到Python執(zhí)行
    發(fā)表于 04-09 17:44

    Linux應(yīng)用開(kāi)發(fā)手冊(cè)之Python開(kāi)發(fā)案例

    執(zhí)行文件,案例src目錄存放源碼。python-demos目錄存放Python開(kāi)發(fā)案例,案例腳本文件無(wú)需編譯,可直接運(yùn)行。如需重新編譯Linux常用
    發(fā)表于 05-11 10:21

    如何在 IIS 中執(zhí)行 Python 腳本

    如何在 IIS 中執(zhí)行 Python 腳本 Python 是一種解釋腳本語(yǔ)言,概念類似 Microsoft Visual Basic Scripting Edition (VBScript)、 MicrosoftJScrip
    發(fā)表于 02-23 15:13 ?1361次閱讀

    [資料分享]4412開(kāi)發(fā)板移植Python 教程

    ?Python 如何移植到 ARM 開(kāi)發(fā)板上,并有幾個(gè)簡(jiǎn)單的測(cè)試?yán)淘谘笧橘Y料里下載的分享給大家學(xué)習(xí)~1 源碼包和文檔在一起的源碼包有:“python-2.7.3 源碼和補(bǔ)丁.zip
    發(fā)表于 09-21 17:17 ?647次閱讀

    你們知道DeepStream可以開(kāi)發(fā)出什么應(yīng)用嗎

    前一篇文章為大家講述了 DeepStream 的應(yīng)用定位、單機(jī)工作流、實(shí)際部署圖,以及完整的軟件棧的內(nèi)容,可以對(duì)其有一個(gè)框架性的了解。接下來(lái)大家可以思考一下,DeepStream 可以開(kāi)發(fā)
    的頭像 發(fā)表于 08-02 15:44 ?2128次閱讀
    你們知道<b class='flag-5'>DeepStream</b>可以<b class='flag-5'>開(kāi)發(fā)</b>出什么應(yīng)用嗎

    Python版test1實(shí)戰(zhàn)說(shuō)明

    上一篇文章已經(jīng)帶著大家安裝 DeepStreamPython 開(kāi)發(fā)環(huán)境,并且執(zhí)行最簡(jiǎn)單的 deepstream-test1.py,讓大
    的頭像 發(fā)表于 10-09 14:28 ?2078次閱讀

    NVIDIA DeepStream SDK是什么 有哪些特性

    快速開(kāi)發(fā)和部署視覺(jué) AI 應(yīng)用和服務(wù)。DeepStream 提供多平臺(tái)、可擴(kuò)展、TLS 加密的安全性,可以部署在本地、邊緣和云端。
    的頭像 發(fā)表于 06-30 10:55 ?2470次閱讀

    DeepStream智能分析套件的安裝方法

    前面安裝 Jetson Orin 開(kāi)發(fā)套件的開(kāi)發(fā)環(huán)境過(guò)程,并沒(méi)有將 DeepStream 智能分析套件安裝進(jìn)去,因此需要獨(dú)立的安裝過(guò)程,這里提供三種安裝方式給使用者參考。
    的頭像 發(fā)表于 07-20 09:52 ?2270次閱讀

    DeepStream Samples版的操作環(huán)境調(diào)試過(guò)程

    NVIDIA 的 DeepStream 是目前業(yè)界最好開(kāi)發(fā)而且功能強(qiáng)大的 AI 視頻分析工具,在 NGC 上 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstrea
    的頭像 發(fā)表于 08-03 10:18 ?1885次閱讀

    配置Python開(kāi)發(fā)環(huán)境的DeepStream容器

    對(duì)于熟悉 C++ 的開(kāi)發(fā)人員來(lái)說(shuō),前一篇文章將 DeepStreamSamples 版容器的范例搬到本機(jī)上,再搭配 Docker 路徑映射方式就能輕松搭建開(kāi)發(fā)環(huán)境。但這種方式只適用于 C / C++
    的頭像 發(fā)表于 08-12 11:05 ?1957次閱讀

    Python】如何將Python腳本打包成exe可執(zhí)行文件

    Python實(shí)用技巧】如何將Python腳本打包成exe可執(zhí)行文件?
    的頭像 發(fā)表于 08-18 12:40 ?1.9w次閱讀
    【<b class='flag-5'>Python</b>】如何將<b class='flag-5'>Python</b>腳本打包成exe可<b class='flag-5'>執(zhí)行</b>文件

    Python對(duì)txt進(jìn)行讀寫(xiě)操作

    Python對(duì)txt進(jìn)行讀寫(xiě)操作
    的頭像 發(fā)表于 01-11 15:16 ?1062次閱讀

    python列表序列操作教程

    python列表也是序列對(duì)象,可以進(jìn)行序列通用的操作,類似字符串序列的操作。
    的頭像 發(fā)表于 02-23 15:04 ?884次閱讀

    NVIDIA DeepStream SDK 6.3 版本發(fā)布

    概述 DeepStream 是一款基于 GStreamer 的 SDK,用于創(chuàng)建圖像處理和物體檢測(cè)方面的 AI 視覺(jué)應(yīng)用程序。DeepStream 6.3 引入了圖形執(zhí)行格式(Graph
    的頭像 發(fā)表于 08-31 13:05 ?1078次閱讀

    怎么讓python執(zhí)行完后再執(zhí)行

    Python中,可以使用一些技術(shù)來(lái)確保程序執(zhí)行完畢后再執(zhí)行其他任務(wù)。下面將詳細(xì)介紹幾種方法。 一、使用阻塞方式執(zhí)行程序 阻塞方式是最簡(jiǎn)單的方法之一,它要求程序在
    的頭像 發(fā)表于 11-29 15:09 ?4541次閱讀