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

关于YOLOv7运行detect.py示例后输出图像无mask的问题咨询

YOLOv7运行detect.py无mask输出的原因及解决方法

问题描述

从GitHub获取YOLOv7项目,使用yolov7.pt权重运行detect.py示例,运行日志显示正常,但输出图像只有目标检测框,没有mask分割效果。

运行命令及日志:

(PyTorch) E:\yolov7>python detect.py --weights yolov7.pt --source inference\images\bus.jpg
Namespace(weights=['yolov7.pt'], source='inference\\images\\bus.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=False, save_conf=False, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='runs/detect', name='exp', exist_ok=False, no_trace=False)
YOLOR  v0.1-103-g6ded32c torch 1.11.0 CUDA:0 (NVIDIA GeForce GTX 1650, 4095.6875MB)

Fusing layers...
RepConv.fuse_repvgg_block
RepConv.fuse_repvgg_block
RepConv.fuse_repvgg_block
Model Summary: 306 layers, 36905341 parameters, 6652669 gradients
 Convert model to Traced-model...
 traced_script_module saved!
 model is traced!

E:\anaconda\envs\PyTorch\lib\site-packages\torch\functional.py:568: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\TensorShape.cpp:2228.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
Done. (151.6ms) Inference, (9.3ms) NMS
 The image with the result is saved in: runs\detect\exp4\bus.jpg
Done. (3.713s)

输出图像仅显示目标检测框,无mask覆盖效果。

原因分析

你使用的yolov7.pt是普通目标检测权重,仅支持目标边界框检测,不具备实例分割(生成mask)的功能。YOLOv7的实例分割功能需要使用专门的分割版本权重(YOLOv7-seg系列)。

解决办法

  • 下载分割专用权重:从YOLOv7官方仓库的Release页面下载实例分割对应的权重,比如yolov7-seg.pt。
  • 运行对应推理命令:使用下载好的分割权重重新运行推理,命令示例:
    python detect.py --weights yolov7-seg.pt --source inference/images/bus.jpg
    
    (注:部分YOLOv7版本中可能需要使用detect_seg.py作为推理脚本,需根据项目结构调整)

内容的提问来源于stack exchange,提问作者john

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 15:57:50