人工智能-YOLO专题|[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专题|[YOLO专题-10](YOLO V5 - ultralytics/detect检测代码的命令行参数详解)
文章图片

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专题|[YOLO专题-10](YOLO V5 - ultralytics/detect检测代码的命令行参数详解)
文章图片


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专题|[YOLO专题-10](YOLO V5 - ultralytics/detect检测代码的命令行参数详解)
文章图片

  • 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门限。超过该门限,认为两个框重复定位同一个目标。
【人工智能-YOLO专题|[YOLO专题-10](YOLO V5 - ultralytics/detect检测代码的命令行参数详解)】
  • 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

    推荐阅读