国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ffmpeg tensorrt c++多拉流硬解碼yolov5 yolov7 bytetrack 人流追蹤統(tǒng)計 硬件編碼推流直播

這篇具有很好參考價值的文章主要介紹了ffmpeg tensorrt c++多拉流硬解碼yolov5 yolov7 bytetrack 人流追蹤統(tǒng)計 硬件編碼推流直播。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

ffmpeg拉流硬解碼yolov5 bytetrack 人流追蹤統(tǒng)計 硬件編碼推流直播
編程語言C++,所以環(huán)境搭建可能比較復(fù)雜,需要有耐心。

我的機(jī)器配置

CPU:I5 12490F
GPU:RTX2060 6GB
RAM:16x2 GB雙通道
我測試運(yùn)行可以25路(很極限了),20路比較穩(wěn),不會爆顯存。
多路編碼推流有個問題,就是NVIDIA對消費(fèi)級顯卡編碼有限制一般是3路吧,但是這個可以破解的,很簡單。照著readme做就好了。
https://github.com/keylase/nvidia-patch

效果

榨干顯卡
..ny,.,nx,c++,計算機(jī)視覺,目標(biāo)跟蹤,深度學(xué)習(xí),人工智能
如果不推流的話3080TI可以跑60路。
..ny,.,nx,c++,計算機(jī)視覺,目標(biāo)跟蹤,深度學(xué)習(xí),人工智能
..ny,.,nx,c++,計算機(jī)視覺,目標(biāo)跟蹤,深度學(xué)習(xí),人工智能
..ny,.,nx,c++,計算機(jī)視覺,目標(biāo)跟蹤,深度學(xué)習(xí),人工智能

環(huán)境變量大家參考一下

..ny,.,nx,c++,計算機(jī)視覺,目標(biāo)跟蹤,深度學(xué)習(xí),人工智能
PS:cuda\bin 是cudnn的目錄。

重要的事情說三遍

感謝杜老
感謝杜老
感謝杜老

一:整體架構(gòu):

(1) ffmpeg拉流RTSP,RTMP,硬解碼,如果有nvidia顯卡會根據(jù)流的編碼格式選擇對應(yīng)的硬件解碼器。
(2)推理框架使用的TensorRT8,所以第一次使用的時候,程序會building 模型,因?yàn)門ensorRT的模型是一卡一模型的。
(3)ffmpeg推流,拿到推理和追蹤之后的結(jié)果,opencv畫框,然后丟給ffmpeg來找對應(yīng)的編碼器編碼推流出去。
(4)Nginx服務(wù)器配置和flv.js插件。

二:所需的環(huán)境及對應(yīng)庫的版本

(1)系統(tǒng)Windows 11,顯卡RTX 2060 6GB顯存,驅(qū)動版本 471.11 cuda版本 11.4 ,VS2022(這里其實(shí)建議安裝19,22的話nvidia的tenosrrt不支持22,所以到時候需要改一下nvidia對vs的版本判斷,都是小問題)。PS:(先裝vs再裝cuda)
(2)
OpenCV 4.6.0(這個其實(shí)問題不大)
TensorRT 8.2.4 (這個很重要 自己看著來吧)
Protobuf 3.11.4 (嚴(yán)格一致)
eigen 3.4.0 (盡量一樣)
ffmpeg 4.4 (最好保持一致。不要用5.0以上的API已經(jīng)變了)

PS:其實(shí)Protobuf ,如果你裝有Python的TensorFlow會自帶Protobuf 的庫,這個時候避免沖突你可以把Protobuf 3.11.4的庫在環(huán)境變量里面提前一點(diǎn)

四:Nginx

代碼目錄壓縮包解壓運(yùn)行即可。
推拉流的地址,但是這個地址不能用瀏覽器直接播放,可以用VLC media player,PotPlayer(這個更強(qiáng)大) 等軟件驗(yàn)證框架是否搭建成功。
rtmp://你本機(jī)的IP:1936/live/home
這里說一下為什么用1936 本來rtmp默認(rèn)是1935但是拉流也是rtmp使用1935,為避免端口堵塞,改用1936。
如果手頭沒有攝像頭流的話 安卓手機(jī)可以下載一個APP IP攝像頭可以來充當(dāng)攝像頭流測試

五:yolov5 6.0模型導(dǎo)出修改

line 55 forward function in yolov5/models/yolo.py

bs, _, ny, nx = x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85)

x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()

modified into:

bs, _, ny, nx = x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85)
bs = -1
ny = int(ny)
nx = int(nx)
x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()

line 70 in yolov5/models/yolo.py

z.append(y.view(bs, -1, self.no))

modified into:

z.append(y.view(bs, self.na * ny * nx, self.no))

############# for yolov5-6.0 #####################

line 65 in yolov5/models/yolo.py

if self.grid[i].shape[2:4] != x[i].shape[2:4] or self.onnx_dynamic:

self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)

modified into:

if self.grid[i].shape[2:4] != x[i].shape[2:4] or self.onnx_dynamic:
self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i)

disconnect for pytorch trace

anchor_grid = (self.anchors[i].clone() * self.stride[i]).view(1, -1, 1, 1, 2)

line 70 in yolov5/models/yolo.py

y[…, 2:4] = (y[…, 2:4] * 2) ** 2 * self.anchor_grid[i] # wh

modified into:

y[…, 2:4] = (y[…, 2:4] * 2) ** 2 * anchor_grid # wh

line 73 in yolov5/models/yolo.py

wh = (y[…, 2:4] * 2) ** 2 * self.anchor_grid[i] # wh

modified into:

wh = (y[…, 2:4] * 2) ** 2 * anchor_grid # wh
############# for yolov5-6.0 #####################

line 52 in yolov5/export.py

torch.onnx.export(dynamic_axes={‘images’: {0: ‘batch’, 2: ‘height’, 3: ‘width’}, # shape(1,3,640,640)

‘output’: {0: ‘batch’, 1: ‘a(chǎn)nchors’} # shape(1,25200,85) 修改為

modified into:

torch.onnx.export(dynamic_axes={‘images’: {0: ‘batch’}, # shape(1,3,640,640)
‘output’: {0: ‘batch’} # shape(1,25200,85)

瀏覽器直接播放的插件:

https://github.com/bilibili/flv.js文章來源地址http://www.zghlxwxcb.cn/news/detail-630361.html

到了這里,關(guān)于ffmpeg tensorrt c++多拉流硬解碼yolov5 yolov7 bytetrack 人流追蹤統(tǒng)計 硬件編碼推流直播的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • TensorRT量化實(shí)戰(zhàn)課YOLOv7量化:YOLOv7-PTQ量化(一)

    TensorRT量化實(shí)戰(zhàn)課YOLOv7量化:YOLOv7-PTQ量化(一)

    新增手動插入 QDQ 節(jié)點(diǎn)以及手動 initialize 手寫 AI 推出的全新 TensorRT 模型量化實(shí)戰(zhàn)課程,鏈接。記錄下個人學(xué)習(xí)筆記,僅供自己參考。 該實(shí)戰(zhàn)課程主要基于手寫 AI 的 Latte 老師所出的 TensorRT下的模型量化,在其課程的基礎(chǔ)上,所整理出的一些實(shí)戰(zhàn)應(yīng)用。 本次課程為 YOLOv7 量化實(shí)

    2024年02月08日
    瀏覽(22)
  • TensorRT量化實(shí)戰(zhàn)課YOLOv7量化:pytorch_quantization介紹

    TensorRT量化實(shí)戰(zhàn)課YOLOv7量化:pytorch_quantization介紹

    手寫 AI 推出的全新 TensorRT 模型量化實(shí)戰(zhàn)課程,鏈接。記錄下個人學(xué)習(xí)筆記,僅供自己參考。 該實(shí)戰(zhàn)課程主要基于手寫 AI 的 Latte 老師所出的 TensorRT下的模型量化,在其課程的基礎(chǔ)上,所整理出的一些實(shí)戰(zhàn)應(yīng)用。 本次課程為 YOLOv7 量化實(shí)戰(zhàn)第一課,主要介紹 TensorRT 量化工具箱

    2024年02月07日
    瀏覽(43)
  • 【YOLOv5】LabVIEW+TensorRT的yolov5部署實(shí)戰(zhàn)(含源碼)

    【YOLOv5】LabVIEW+TensorRT的yolov5部署實(shí)戰(zhàn)(含源碼)

    ????博客主頁: virobotics的CSDN博客:LabVIEW深度學(xué)習(xí)、人工智能博主 ??所屬專欄:『LabVIEW深度學(xué)習(xí)實(shí)戰(zhàn)』 ??上期文章: 手把手教你使用LabVIEW TensorRT實(shí)現(xiàn)圖像分類實(shí)戰(zhàn)(含源碼) ??如覺得博主文章寫的不錯或?qū)δ阌兴鶐椭脑?,還望大家多多支持呀! 歡迎大家?關(guān)注、

    2024年02月14日
    瀏覽(24)
  • YOLOv5 Tensorrt Python/C++部署

    YOLOv5 Tensorrt Python/C++部署

    https://www.bilibili.com/video/BV113411J7nk?p=1 https://github.com/Monday-Leo/Yolov5_Tensorrt_Win10 基于 Tensorrt 加速 Yolov5 6.0 支持 Windows10 支持 Python/C++ Tensorrt 8.2.1.8 Cuda 10.2 Cudnn 8.2.1( 特別注意需安裝兩個cuda10.2補(bǔ)丁 ) Opencv 3.4.6 Cmake 3.17.1 VS 2017 GTX1650 從yolov5 release v6.0下載.pt模型,這里以yolov5s.pt為例。

    2024年01月21日
    瀏覽(45)
  • 【TensorRT】基于C#調(diào)用TensorRT 部署Yolov5模型 - 上篇:構(gòu)建TensorRTSharp

    【TensorRT】基于C#調(diào)用TensorRT 部署Yolov5模型 - 上篇:構(gòu)建TensorRTSharp

    ? NVIDIA TensorRT? 是用于高性能深度學(xué)習(xí)推理的 SDK,可為深度學(xué)習(xí)推理應(yīng)用提供低延遲和高吞吐量。詳細(xì)安裝方式參考以下博客: NVIDIA TensorRT 安裝 (Windows C++) ? 前文中已經(jīng)介紹了在C++中利用TensorRT 部署Yolov5模型,但在實(shí)際應(yīng)用中,經(jīng)常會出現(xiàn)在C#中部署模型的需求,目前T

    2023年04月24日
    瀏覽(21)
  • 【目標(biāo)檢測】YOLOv5推理加速實(shí)驗(yàn):TensorRT加速

    前兩篇博文分別討論了YOLOv5檢測算法的兩種加速思路:采用多進(jìn)程或批量檢測,不過效果均收效甚微。本問將討論使用TensorRT加速以及半精度推理/模型量化等優(yōu)化策略對檢測加速的實(shí)際影響。 測試圖片分辨率:13400x9528 GPU:RTX4090 Cuda:11.7 YOLOv5版本:最新版(v7.0+) 檢測策略:將

    2024年02月05日
    瀏覽(23)
  • 改進(jìn)的yolov5目標(biāo)檢測-yolov5替換骨干網(wǎng)絡(luò)-yolo剪枝(TensorRT及NCNN部署)

    改進(jìn)的yolov5目標(biāo)檢測-yolov5替換骨干網(wǎng)絡(luò)-yolo剪枝(TensorRT及NCNN部署)

    2022.10.30 復(fù)現(xiàn)TPH-YOLOv5 2022.10.31 完成替換backbone為Ghostnet 2022.11.02 完成替換backbone為Shufflenetv2 2022.11.05 完成替換backbone為Mobilenetv3Small 2022.11.10 完成EagleEye對YOLOv5系列剪枝支持 2022.11.14 完成MQBench對YOLOv5系列量化支持 2022.11.16 完成替換backbone為EfficientNetLite-0 2022.11.26 完成替換backbone為

    2024年01月17日
    瀏覽(28)
  • 跑通官方的yolov7-tiny實(shí)驗(yàn)記錄(yolov7-tiny可作為yolov5s的對比實(shí)驗(yàn)網(wǎng)絡(luò))

    跑通官方的yolov7-tiny實(shí)驗(yàn)記錄(yolov7-tiny可作為yolov5s的對比實(shí)驗(yàn)網(wǎng)絡(luò))

    官方Y(jié)OLOv7 項(xiàng)目地址:https://github.com/WongKinYiu/yolov7 如果想設(shè)置早停機(jī)制,可以參考這個鏈接:yolov7自動停止(設(shè)置patience)且輸出最優(yōu)模型時的PR圖(test best.py) 學(xué)習(xí) train.py 中的參數(shù)含義,可參考手把手調(diào)參最新 YOLOv7 模型 訓(xùn)練部分 - 最新版本(二) 學(xué)習(xí) detect.py 中的參數(shù)含

    2023年04月18日
    瀏覽(25)
  • 【DL系列】YOLOv5、YOLOv7斷點(diǎn)續(xù)訓(xùn)

    【DL系列】YOLOv5、YOLOv7斷點(diǎn)續(xù)訓(xùn)

    前言 模型訓(xùn)練過程中可能由于網(wǎng)絡(luò)問題、或者服務(wù)器斷開等問題導(dǎo)致模型訓(xùn)練意外出現(xiàn)中斷,或者是由于自己主動中斷訓(xùn)練等各種情況。 這時候就需要斷點(diǎn)續(xù)訓(xùn),即接著之前已經(jīng)訓(xùn)練好的weights.pt和epochs重新開始訓(xùn)練。還需要訓(xùn)練日志也重新續(xù)接上,好在wandb等訓(xùn)練可視化的

    2024年02月05日
    瀏覽(21)
  • 利用python版tensorRT進(jìn)行推理【以yolov5為例】

    利用python版tensorRT進(jìn)行推理【以yolov5為例】

    上一篇文章中已經(jīng)詳細(xì)敘述了如何用tensorRT將onnx轉(zhuǎn)為engine【利用python版tensorRT導(dǎo)出engine【以yolov5為例】_愛吃肉的鵬的博客-CSDN博客】。 本篇文章將繼續(xù)講解trt的推理部分。 與之前一樣,在講解之前需要先介紹一些專業(yè)術(shù)語,讓大家看看這些內(nèi)置函數(shù)都有什么功能。 1.Binding含

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包