文章目录
前言
detect.py能够加载预训练的 YOLOv5 模型权重文件。根据命令行参数指定的权重文件路径(如 --weights 参数),将模型加载到内存中。这使得可以使用不同的预训练模型进行检测,或者继续在特定模型基础上进行微调后的检测。
解读:
–weights:指定模型权重文件的路径,通常使用训练后得到的best.pt,改default值即可,举例default=‘runs/train/exp21/weights/best.pt’
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt',)
–source:指定验证集文件夹,可以理解为训练后得到的best.pt模型与哪些图片进行验证。将该值改为0即可调用摄像头运行。
parser.add_argument('--source', type=str, default='data/images')
–img-size:推理即验证时的指定图像大小(以像素为单位)。
parser.add_argument('--img-size', type=int, default=640)
–conf-thres:置信度阈值,用于过滤检测结果,可以理解为置信度低于该值将不在图像上显示。
parser.add_argument('--conf-thres', type=float, default=0.5, help='object confidence threshold')
–max-det:每张图像的最大检测数量。可以理解为每张图片上最多可以出现几个识别框。若改为1,则输出最高值。
parser.add_argument("--max-det", type=int, default=1000, help="maximum detections per image")
–iou-thres:用于非极大值抑制(NMS)的交并比阈值。
parser.add_argument('--iou-thres', type=float, default=0, help='IOU threshold for NMS')
–device:指定 CUDA 设备,默认为空或为0。
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
–view-img:如果设置,将显示检测结果图像,默认为不启用,需要在运行命令后添加–view-img,为启用。
parser.add_argument('--view-img', action='store_true', help='display results')
–save-txt:如果设置,将检测结果保存到 .txt 文件中,默认为不启用,需要在运行命令后添加–save-txt,为启用。
parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
–save-conf:同时–save-txt 也设置了,将在保存的 .txt 标签文件中保存置信度值。仍需引用。
parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
–nosave:如果设置,不保存图像或视频。仍然需要引用该值才可以不进行保存。
parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
–classes:通过指定类别的整数编号来过滤检测结果。
parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3')
–agnostic-nms:如果设置,进行类别无关的非极大值抑制。需运行命令引用。
parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
–augment:如果设置,进行增强推理。需运行命令引用。
parser.add_argument('--augment', action='store_true', help='augmented inference')
–update:如果设置,更新所有模型。需运行命令引用。以上默认不引用都为关闭状态。
parser.add_argument('--update', action='store_true', help='update all models')
–project:指定保存结果的项目目录。默认保存至runs/detect文件夹
parser.add_argument('--project', default='runs/detect', help='save results to project/name')
–name:指定保存结果的子目录名称。
parser.add_argument('--name', default='exp', help='save results to project/name')
–exist-ok:如果设置,当项目目录已存在时不进行递增命名,而是直接使用现有目录。
parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
总结
在 YOLOv5 中,通过 parser.add_argument 添加的这些参数主要用于配置目标检测任务的各个方面,以便灵活地适应不同的应用场景和需求。这些参数使得 YOLOv5 的目标检测任务具有高度的可定制性,能够满足不同用户在各种实际应用中的需求。