yolov5使用相关代码解析——dectect.py
opt参数
weight
训练的权重。可以使用自己训练好的权重,也可以使用官网给的五种权重
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path or triton URL')
source
测试的图片或者视频路径,如果选择’0’则表示使用电脑摄像头,也可以是rtsp等视频流
parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob/screen/0(webcam)')
data
parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='(optional) dataset.yaml path')
imgsz
网络输入图片的大小,默认为640
parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')
conf-thres
置信度阈值,默认为0.5,设置数值越大检测的框越少,可以理解为要求的匹配相似度变高了。
parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')
ious-thres
非极大值抑制的IOU阈值,默认为0.45,较大的 iou_thres 值会导致更多的边界框被合并,从而减少最终输出的边界框数量。如果检测的目标重叠较多则取大值,反之则取小值。
parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold')
max-det
保留的最大检测框数量,默认值为1000.
parser.add_argument('--max-det', type=int, default=1000, help='maximum detections per image')
device
设置使用的设备,可以是CUDA或者是cpu
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
view-img
是否展示预测之后的图片或者视频,默认为False
parser.add_argument('--view-img', action='store_true', help='show results')
save-txt
是否将预测框的坐标用txt文本保存起来,默认为False
parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
save-csv
是否将检测结果导成CSV格式,默认为False
parser.add_argument('--save-csv', action='store_true', help='save results in CSV format')
save-conf
是否将检测结果的置信度导入到txt中,默认为False
parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
save-crop
是否保存裁剪预测框图片,默认为False
parser.add_argument('--save-crop', action='store_true', help='save cropped prediction boxes')
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: --classes 0, or --classes 0 2 3')
agnostic-nms
使用nms预测时是否去除不同类别之间的框,默认为False
parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
augment
是否使用数据增强进行推理,默认为False
parser.add_argument('--augment', action='store_true', help='augmented inference')
visualize
是否可视化特征图,默认为False
parser.add_argument('--visualize', action='store_true', help='visualize features')
update
如果为True,则对所有模型进行strip_optomizer操作,去除pt文件中的优化信息,默认为False
parser.add_argument('--update', action='store_true', help='update all models')
project
结果保存的路径,默认为runs/detect文件夹
parser.add_argument('--project', default=ROOT / 'runs/detect', help='save results to project/name')
name
结果保存的子目录名,默认为exp
parser.add_argument('--name', default='exp', help='save results to project/name')
exist-ok
是否覆盖已有结果,默认为False
parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
line-thickness
检测框的线条宽度,默认为3
parser.add_argument('--line-thickness', default=3, type=int, help='bounding box thickness (pixels)')
#####hide-labels
是否隐藏标签信息,默认为False
parser.add_argument('--hide-labels', default=False, action='store_true', help='hide labels')
hide-conf
是否隐藏置信度,默认为False
parser.add_argument('--hide-conf', default=False, action='store_true', help='hide confidences')
half
是否使用FP16半精度进行推理,默认为False
parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference')
dnn
是否使用Opencv DNN进行ONNX推理,默认为False
parser.add_argument('--dnn', action='store_true', help='use OpenCV DNN for ONNX inference')
vid-stride
控制视频帧率的步进值,默认为1
parser.add_argument('--vid-stride', type=int, default=1, help='video frame-rate stride')
查看默认配置信息
使用debug工具单步运行到下图框中,按照1,2步骤点击执行,即可出现默认配置信息框