如何利用YOLOv5进行预测

YOLOv5 5.0 detect.py

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    # 下载好的网络模型,下载下来可以用它实现检测
    parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
    # 给网络指定一个输入文件夹 default是个文件夹时,会对文件夹下所有图形进行检测
    parser.add_argument('--source', type=str, default='data/videos/3mouths.mp4', help='source')  # file/folder, 0 for webcam
    # 送到网络过程中会对输入图片进行缩放至所需尺寸,图片处理完会恢复原始尺寸
    parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
    # 置信度,只有一个区域目标检测置信度>0.25时才会检测出是一个物体(阈值设定),根据实际应用结果调整
    parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
    # 当两个框重合时,大于所设置的iou阈值,才会在两个框中选取一个合适的框
    parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
    # 设备:默认为空
    parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
    # action="某一特定动作",默认为False,启用时,edit configurations --> parameters中设置
    parser.add_argument('--view-img', action='store_true', help='display results')
    parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
    # 保存置信度
    parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
    # 不要保存图片/视频
    parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
    # 给class多个赋值 0代表人的话 --classes=0,即只检测人的部分
    parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3')
    parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
    # 增强处理,将结果在网络中进行增强
    parser.add_argument('--augment', action='store_true', help='augmented inference')
    parser.add_argument('--update', action='store_true', help='update all models')
    # 结果保存的位置
    parser.add_argument('--project', default='runs/detect', help='save results to project/name')
    # 保存结果的文件名
    parser.add_argument('--name', default='exp', help='save results to project/name')
    parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
    # 所有参数都会被放进opt当中
    opt = parser.parse_args()
    print(opt)
    check_requirements(exclude=('pycocotools', 'thop'))

    with torch.no_grad():
        if opt.update:  # update all models (to fix SourceChangeWarning)
            for opt.weights in ['yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt']:
                detect()
                strip_optimizer(opt.weights)
        else:
            detect()

关于IOU的计算:
在这里插入图片描述
结果:
yolov5s.pt
在这里插入图片描述
yolov5x.pt (可以明显看出x比s置信度更高)
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值