YOLOv5计算FPS
时间: 2023-10-09 09:12:55 浏览: 84
要计算 YOLOv5 的 FPS (每秒处理帧数),可以使用以下步骤:
1. 导入必要的库:pytorch, torchvision, time, cv2
```
import torch
import torchvision
import time
import cv2
```
2. 加载 YOLOv5 模型
```
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
```
3. 读取视频或摄像头帧
```
cap = cv2.VideoCapture(0) # 读取摄像头
#cap = cv2.VideoCapture('video.mp4') # 读取视频
```
4. 循环处理每一帧
```
while True:
ret, frame = cap.read() # 读取一帧
if not ret:
break # 读到视频末尾,退出循环
# 处理帧并计算 FPS
start_time = time.time() # 记录开始时间
results = model(frame) # 用模型处理帧
end_time = time.time() # 记录结束时间
fps = 1 / (end_time - start_time) # 计算 FPS
# 在帧上显示 FPS
cv2.putText(frame, f'FPS: {int(fps)}', (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
cv2.imshow('YOLOv5', frame) # 显示帧
if cv2.waitKey(1) == ord('q'): # 按 q 键退出循环
break
cap.release()
cv2.destroyAllWindows()
```
注意:上述代码中的 `yolov5s` 模型是比较小的模型,如果要处理高分辨率视频或要求更高的精度,可能需要使用更大的模型,如 `yolov5x`. 运行速度可能会变慢,FPS 会下降。