日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

视频结构化编程模型

發布時間:2023/11/28 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 视频结构化编程模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

視頻結構化編程模型
概述
簡介
CNStream是面向寒武紀開發平臺的數據流處理SDK。用戶可以根據CNStream提供的接口,開發實現自己的組件。還可以通過組件之間的互連,靈活地實現自己的業務需求。CNStream能夠大大簡化寒武紀深度學習平臺提供的推理和其他處理,如視頻解碼、神經網絡圖像前處理的集成。也能夠在兼顧靈活性的同時,充分發揮寒武紀MLU(Machine Learning Unit 機器學習處理器)的硬件解碼和機器學習算法的運算性能。
CNStream基于模塊化和流水線的思想,提供了一套基于C++語言的接口來支持流處理多路并發的Pipeline框架。為用戶提供可自定義的模塊機制以及通過高度抽象的CNFrameInfo類型進行模塊間的數據傳輸,滿足用戶對性能和可伸縮性的需求。
CNStream支持在MLU270, MLU220 M.2和EDGE平臺上使用。
CNStream特點
CNStream構建了一整套寒武紀硬件平臺上的實時數據流分析框架。框架具有多個基于寒武紀思元處理器的硬件加速模塊,可將深層神經網絡和其他復雜處理任務帶入流處理管道。開發者只需專注于構建核心深度學習網絡和IP(Intellectual Property),并用寒武紀特定模型轉換器生成寒武紀平臺能執行的模型,無需再從頭開始設計端到端的解決方案。
CNStream具有以下幾個特點:
? 簡單易用的模塊化設計。內置模塊及正在擴充的模塊庫可以讓用戶快速構建自己的業務應用,無需關心實現細節。
? 高效的流水線設計。區別于Gstreamer等框架龐大的結構及傳統的視頻處理流水線結構,CNStream設計了一套伸縮靈活的流水線框架。每一個模塊的并行度及隊列深度可以根據時延要求及數據吞吐量而定制。根據業務需求,通過配置JSON文件就可以很方便地進行調整。
? 豐富的原生模塊。為提高推理效率,根據寒武紀神經網絡推理芯片設計特點,內置了從數據源解碼、前后處理及推理、追蹤等模塊。其中推理模塊、前后處理模塊、編解碼模塊和追蹤模塊充分利用了寒武紀芯片設計特點和內部IP核心間DMA的能力,使用后極大的提高了系統整體吞吐效率。
? 支持分布式架構,內置Kafka消息模塊,幫助客戶快速接入分布式系統。
? 支持常見分類以及常規目標檢測神經網絡,比如:YOLO、SSD、ResNet、VGG等。高效支持低位寬(INT8)和稀疏權值運算。
? 圖形化界面方式生成pipeline。整個框架支持圖形化拖拽方式生成pipeline,幫助用戶快速體驗寒武紀數據流分析框架。
? 靈活布署。使用標準C++ 11開發,可以將一份代碼根據設備能力,在云端和邊緣側集成。
針對常規視頻結構化分析(IVA)領域,使用CNStream開發應用可以帶來如下便捷:
? 數據流處理能力。具有少冗余、高效率的特點。
? 由于TensorFlow、Caffe等深度學習框架,強調框架算子的完整性及快速驗證深度學習模型的能力,在生產系統中無法利用硬件性能達到最高效率。然而,CNStream內置CNInfer模塊直接基于寒武紀運行時庫(CNRT)設計,能夠高效利用底層硬件能力,快速完成組件的開發。
? 內置Tracker模塊提供了經過寒武紀芯片加速優化后的FeatureMatch和KCF算法,使多路并行比運行在CPU上的效率更好。
? 良好的本地化支持團隊、持續的迭代開發能力以及內建開發者社區提供了快速的客戶響應服務。
CNStream應用框架
使用CNStream SDK開發一個應用的典型框架如下圖:

典型視頻結構化場景架構圖
本文重點介紹了CNStream在寒武紀軟件棧是如何工作的,也介紹了文件目錄以及如何快速開始使用內置模塊進行編程。
寒武紀軟件棧
CNStream作為寒武紀視頻結構化分析特定領域的框架,在整個寒武紀應用軟件棧中起著承上啟下的作用。CNStream能快速構建自己的視頻分析應用,并獲得比較高的執行效率。用戶無需花費精力在一些底層的細節上,從而有更多時間關注業務的發展。下圖展示了CNStream在軟件棧中的位置關系。

寒武紀軟件棧框圖
文件目錄
在CNStream源碼目錄下,主要由以下部分組成:
? 核心框架:在 framework/core 文件夾下,包含創建Pipeline,Module等基礎核心源碼。
? 內置模塊:在 modules 文件夾下,內置一套標準的視頻結構化模塊組件。
? 動態庫:編譯成功后,CNStream核心框架存放在 libcnstream_core.so 文件中,內置的視頻結構化模塊存放在 libcnstream_va.so 中。位于 lib 目錄下。
? 示例程序源碼:一系列示例程序存放在 samples 文件夾下。
? 樣例數據:示例程序和測試程序所用到的數據文件,包括圖片、短視頻等。另外程序運行過程中從Model Zoo下載的離線模型文件也會存放在該文件夾下。
CNStream倉庫主要目錄結構及功能如下圖所示:

CNStream文件目錄結構圖
編程指南
CNStream是典型的基于pipeline和模塊機制的編程模型。支持在pipeline注冊多個 內置模塊 或者 自定義模塊。這些模塊之間通過隱含的深度可控的隊列連接,使用一個JSON的文本描述組件間的連接關系。
應用開發的通用編程步驟如下:

  1. 創建一個pipeline對象。
  2. 讀入預先編排的JSON文件構建數據流pipeline。
  3. 創建消息監測模塊,并注冊到pipeline。
  4. 啟動pipeline。
  5. 動態增加數據源。

總結

以上是生活随笔為你收集整理的视频结构化编程模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。