m0_53667504 2023-02-01 13:38 采纳率: 100%
浏览 111
已结题

关于yolov5检测视频时的速度

问题遇到的现象和发生背景

最近在学习yolov5,用yolov5检测视频的时候好慢,一秒的画面才只有不到十帧,是我电脑的问题还是哪里的代码可以调整啊

img

操作环境、软件版本等信息

用的是pycharm,yolov5是在GitHub上面下载的 5.0
python环境使用的是3.8
pytorch是用pip下载cpu版本的

尝试过的解决方法

之前pytorch是用pip下载cuda版本的,后来转到cpu版本发现还是慢

我想要达到的结果

可以让让每帧出现的时间降到0.010s吗,不然我检测出来的视频一卡一卡的,看的好难受

  • 写回答

3条回答 默认 最新

  • 爱晚乏客游 2023-02-01 14:58
    关注

    有几个问题,你能截图下一开始运行的时候的log输出吗?这里面包含了一些环境信息是有用的。
    2.你换到CPU之后,速度和GPU下面相差多少?
    3.你的视频帧率是否大于30,视频帧率低的话本身就会一卡一顿的。

    img


    这里填个0调用下显卡加速看下,开下任务管理器看下显卡的显存有无上升,如果没有说明你环境有问题导致无法调用显卡所以速度慢.
    至于你希望的每帧10ms,我估计有点悬,除非你换成yolov5n,并且重新训练模型只检测行人,不检测coco其他类,不然得换到c++下面用tensorRT加速才有希望这个速度。
    我试过640x640,两个类别的yolov5s模型(c++下面,python下面速度慢很多),在1070ti下面用tensorRT包括前后处理也要12ms左右(其中模型推理时间大约在2-3ms,剩下的是前后处理都在CPU完成,所以比较耗时,如果你后前后处理在显卡完成估计还能快挺多的)。另外如果你的显卡支持FP16的话,这个速度还能再提升一些点。
    你自己对比下就知道想要10ms是什么概念,至少你得换到c++下面去,并且使用TensorRT完成图片预处理和后处理的步骤才行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月1日
  • 修改了问题 2月1日
  • 创建了问题 2月1日

悬赏问题

  • ¥15 android tv图标显示异常
  • ¥20 (标签-AR|关键词-预测分析)
  • ¥15 MATLAB矩阵分离问题
  • ¥15 QT IFW 自定义界面添加lineedit小键盘输入数字无效果
  • ¥15 python thinter动态建立Entry并读取数据
  • ¥150 电路仿真,演示反激变压器升压
  • ¥100 libcurl使用无法连接服务器问题
  • ¥30 链表栈表达式求值求解
  • ¥15 关于龙芯1b,JTAG停止调试服务
  • ¥15 求一个图片中的成交量选股公式