You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用YOLOv8实例分割时帧率极低问题求助

解决YOLOv8摄像头检测帧率过低(1FPS)的方案

以下是针对你遇到的帧率问题的具体修复方法:

  • 切换到GPU推理后端
    默认情况下如果你的环境有GPU但未指定,模型可能在CPU上运行,这会导致帧率极低。直接将模型移到GPU上:

    model = YOLO("best.pt").to("cuda")
    

    还可以将模型导出为更高效的格式(如ONNX、TensorRT)来进一步提升推理速度:

    # 导出为ONNX格式
    model.export(format="onnx")
    # 加载导出后的模型
    model = YOLO("best.onnx")
    
  • 强制缩小模型输入尺寸
    即使降低了摄像头分辨率,YOLO可能仍会将帧缩放至默认的640×640尺寸推理。在预测时手动指定更小的输入尺寸:

    model.predict(source="0", show=True, conf=0.5, imgsz=320)
    

    可根据需求尝试320、416等更小的尺寸,平衡检测精度和速度。

  • 优化可视化与日志输出
    show=True的默认可视化逻辑可能存在额外开销,建议手动处理帧读取和可视化,减少不必要的资源消耗:

    from ultralytics import YOLO
    import cv2
    
    model = YOLO("best.pt").to("cuda")
    cap = cv2.VideoCapture(0)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
    
    while cap.isOpened():
        ret, frame = cap.read()
        if not ret:
            break
        results = model(frame, conf=0.5, imgsz=320, verbose=False)
        annotated_frame = results[0].plot()
        cv2.imshow("Detection", annotated_frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    cv2.destroyAllWindows()
    

    同时添加verbose=False关闭推理过程中的日志输出,节省CPU资源。

  • 检查环境与硬件配置

    1. 用torch.cuda.is_available()确认GPU是否可用,若返回True务必让模型运行在GPU上;
    2. 更新ultralytics和opencv-python到最新版本,修复已知的性能问题:
      pip install --upgrade ultralytics opencv-python
      

内容的提问来源于stack exchange,提问作者J y d a n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:18:21