yolov5读取多路rtsp视频流CPU占用率过高

系统:win10

基于yolov5实现目标检测,输入是从多个网络摄像头读取的RTSP视频流,随着视频流路数增多,CPU占用率会达到100%

yolov5 中实现 rtsp 视频流读取(class LoadStreams:)的方法是基于 CPU 的 opencv 方法,因此待推理的视频流路数增多会导致CPU高占用率

请问有什么更好的办法来优化CPU占用率过高的问题吗?

通过gstreamer来拉流,减少CPU的利用,用opencv解析gstreamer的流,拉8路都到不了100%

视频路数增加到多少路时,CPU占用率会100%

建议适当的sleep下线程

CPU的话比较无解,你只能通过降低参数量或者计算量来达到,而且CPU推理本身就比较慢,大点的模型或者视频画面大是跑不满30帧的,所以你要么降低检测的帧率,要么降低你的模型大小,比如yolov5s换yolov5n,还有就是降低检测的视频帧图片大小,比如默认的640x640降低到320x320,不过后面的这些操作建立在你需要检测的物体清晰,明显,且占比比较大的情况,如果resize之后就几个像素的物体,可能就无法检测了。
如果有GPU建议GPU,或者分几路在CPU,几路在GPU

win+r键输入msconfig,点击”引导“,点“高级选项”,吧处理器个数调到最多即可

硬解码吧

我的博文里面有解决方案