[YOLO专题-10]:YOLO V5 - ultralytics/detect检测代码的命令行参数详解

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122266884


目录

第1章 准备

1.1 github代码URL

1.2 detect代码路径

1.3 detect检测代码快速入门

1.4 获取命令行参数

1.5 命令行参数代码来源

第2章 detect检测代码的命令行参数



第1章 准备

1.1 github代码URL

https://github.com/ultralytics/yolov5

1.2 detect代码路径

[YOLO专题-10]:YOLO V5 - ultralytics/detect检测代码的命令行参数详解_第1张图片

1.3 detect检测代码快速入门

python detect.py --命令行参数选项

https://blog.csdn.net/HiWangWenBing/article/details/122263737

1.4 获取命令行参数

(pytorch-gpu-os) PS F:\MySource\github\yolov5> python detect.py --help

[YOLO专题-10]:YOLO V5 - ultralytics/detect检测代码的命令行参数详解_第2张图片

1.5 命令行参数代码来源

def parse_opt():
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path(s)')
    parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob, 0 for webcam')
    parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')
    parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')
    parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold')
    parser.add_argument('--max-det', type=int, default=1000, help='maximum detections per image')
    parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
    parser.add_argument('--view-img', action='store_true', help='show 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('--save-crop', action='store_true', help='save cropped prediction boxes')
    parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
    parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 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('--visualize', action='store_true', help='visualize features')
    parser.add_argument('--update', action='store_true', help='update all models')
    parser.add_argument('--project', default=ROOT / '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')
    parser.add_argument('--line-thickness', default=3, type=int, help='bounding box thickness (pixels)')
    parser.add_argument('--hide-labels', default=False, action='store_true', help='hide labels')
    parser.add_argument('--hide-conf', default=False, action='store_true', help='hide confidences')
    parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference')
    parser.add_argument('--dnn', action='store_true', help='use OpenCV DNN for ONNX inference')

--weights:参数名

type = str:参数类型

default=ROOT / 'yolov5s.pt':默认值

第2章 detect检测代码的命令行参数

  • parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path(s)')

--weights预训练模型参数,默认采用的是yolov5s.pt,自动从官网为官网上下载,并存放到yolo v5当前的工作目录中。

  • parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob, 0 for webcam')

--source指定需要检测的源图片文件,支持的类型有:本地图片文件、本地视频、本地摄像头、远程图片文件、还可以是一个包含各种文件的目录。

[YOLO专题-10]:YOLO V5 - ultralytics/detect检测代码的命令行参数详解_第3张图片

  • parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')

--imgsz指定image的大小,默认为640 * 640, size越大,像素越多,需要的内存越多,速度越慢, 准确率越高。

  • parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')

--conf-thres:置信度的门限,超过这个门限,算法才认为是有物体,低于该门限,认为没有物体。

  • parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold')

--iou-thres:非极大值抑制NMS算法帅选目标时,其IoU门限。超过该门限,认为两个框重复定位同一个目标。

  • parser.add_argument('--max-det', type=int, default=1000, help='maximum detections per image')

--max-det:每个图片支持的最大检测的目标数,从YOLO V3开始,算法上最大可以支持507 + 2028 + 8112 = 10647个目标,而实际系统,可能不需要这么多目标,这里设定支持的最大目标数,目标数越大,所需要内存空间越大。

  • parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

--device:指定进行预测的硬件GPU还是CPU, 如果是GPU,使用哪个GPU, 在GPU内部资源不足的情况下,可以通过这种方式转为CPU进行预测,在降低性能的情况下,确保能够功能的正常运行。

  • parser.add_argument('--view-img', action='store_true', help='show results')

--view-img:是否需要存储当前的检测结果,还是进行可视化显示,不需要存储预测结果,测试时,需要存储执行结果。

  • parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')

--save-txt:是否需要把执行结果,写到txt文件中,当然是指执行的log文件。

  • parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')

--save-conf:是否需要把检测到的置信度写保存到文件中。

  • parser.add_argument('--save-crop', action='store_true', help='save cropped prediction boxes')

--save-crop:是否需要保存经过裁剪过的预测框。

  • parser.add_argument('--nosave', action='store_true', help='do not save images/videos')

--nosave:不需要保存预测结果的图片文件或视频文件。

  • parser.add_argument('--project', default=ROOT / 'runs/detect', help='save results to project/name')

--project:指定需要把运行的结果存放到哪个目录中。

  • parser.add_argument('--update', action='store_true', help='update all models')

--update如果为True,则对所有模型进行strip_optimizer操作,去除pt文件中的优化器等信息,默认为False。

  • parser.add_argument('--name', default='exp', help='save results to project/name')

--name:指定每次运行的结果存放在哪个实际目录中,该目录为动态生成,每次增加一个序号,比如,当前是exp20,下一次预测就是exp21。

  • parser.add_argument('--line-thickness', default=3, type=int, help='bounding box thickness (pixels)')

--line-thickness:Bounding Box的厚度,即每个等级的Bounding Box,支持几个子等级,默认情况下,Bounding Box分为三层:大、中、小三种尺寸,每个层再分为3个字等级

  • parser.add_argument('--visualize', action='store_true', help='visualize features')

--visualize:是否需要可视化结果

  • parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference')

--half:半精度预测,提升执行效率,默认情况下,采用位置信息采用Float32编码,精度高,运算时间长 。对于效率优先的场合,比如实时性要求高的嵌入式系统,就可以采用Float16的位置编码。

  • parser.add_argument('--dnn', action='store_true', help='use OpenCV DNN for ONNX inference')

--dnn:Open Neural Network Exchange(ONNX,开放神经网络交换), 该参数定义是否需要使用OpenCV DNN。

  • parser.add_argument('--hide-labels', default=False, action='store_true', help='hide labels')

--hide-labels:在输出训练图片时,是否需要隐藏样本图片的定位框标签

  • parser.add_argument('--hide-conf', default=False, action='store_true', help='hide confidences')

--hide-conf:在输出训练图片时,是否需要隐藏样本图片的置信度标签

  • parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3')

--classes:???

  • parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')

--agnostic-nms:???

  • parser.add_argument('--augment', action='store_true', help='augmented inference')

--augment:???

  • parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')

--exist-ok':程序以OK的方式退出。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122266884

你可能感兴趣的:(人工智能-YOLO专题,目标检测,深度学习,计算机视觉,YOLO,V5,命令行参数)