【发布时间】:2022-01-18 02:22:58
【问题描述】:
我正在使用 YOLOv5 检测视频中的人物,该视频的分辨率为 944x1080。我正在使用 OBS-studio 将视频流式传输为虚拟网络摄像头。这是出于测试目的,但考虑的是使用已经从客户端安装的真实摄像头。
不涉及自定义代码,只是普通的 YOLO。模型是YOLO的默认yolov5s.pt。
除非我将视频的分辨率更改为 1280x720(或类似),否则 YOLO 无法检测到任何人,然后检测得非常好。
我的命令很简单
$ python3 detect.py --nosave --source 2 --classes 0
有什么方法可以在执行检测之前更改帧的分辨率,从而标准化可能的不同相机的分辨率?
【问题讨论】:
-
也许物体检测模型是用特定的分辨率训练的?也许您没有在将帧发送到 CNN 之前对其进行预处理?谁知道?没有你的任何代码,我们只能推测。
-
@stateMachine 没有自定义代码,它只是香草安装的 yolo。我在搞乱detect.py,但我对这个主题还很陌生,仍然无法得到正确的步骤。模型是yolo默认的
yolov5s.pt。 -
你可能想检查一下 yolo 没有调整你的图片大小:see here
-
每个人都会调整图片大小,而不关心拉伸内容。网络可能会因为你给它奇怪的拉伸数据而感到困惑。 裁剪或填充。一个圆圈(在场景中)必须在网络中看起来像一个圆圈,而不是一个鸡蛋。
-
@ChristophRackwitz 他们不是图片,而是相机流,我无法控制。
标签: opencv pytorch resolution yolov5