zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

自动驾驶-YOLOV5目标检测

自动 检测 目标 驾驶 YOLOv5
2023-09-11 14:16:58 时间

1、环境:

操作系统:Ubuntu20.04

Python3.9

Pytorch1.10.2

IDE:(本人使用的是ECLIPSE)

显卡:NVIDIA GeForce GTX 1060 6GB

开源库地址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

2、配置参数

解压后,在ECLIPSE打开源码。

打开detect.py文件。

核心配置

    #模形设置,这里默认是小模型

IMG=640的四种模型

yolov5s.pt
yolov5m.pt
yolov5l.pt
yolov5x.pt

IMG=1280的四种模型

yolov5s6.pt
yolov5m6.pt
yolov5l6.pt
yolov5x6.pt

    parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
    #要识别的源图片路径
    parser.add_argument('--source', type=str, default='data/images', help='source')  # file/folder, 0 for webcam
    #输入识别图片的尺寸,常用的有640(适用于前四种模型),1280(适用于后四种模型)
    parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
    #相似度大于多少,表示为是某物体。这里是>25%,就算。
    parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
    #设置两个目标有交集时,指定交集比例,这里是小于45%的交集时,分别识别
    parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
    #设置GPU还是cpu,默认是GPU,如果没有gpu会自动选CPU
    parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

3、运行与检测

运行detect.py文件。

这时有可能会由于环境问题报错,根据报错提示,解决即可。

如果没有问题,那运行结果如下

 Model Summary: 213 layers, 7225885 parameters, 0 gradients, 16.5 GFLOPS
image 1/5 /home/harry/CODE/autoCar/yolov5-v5.0/data/images/bus.jpg: 640x480 4 persons, 1 bus, Done. (0.015s)
image 2/5 /home/harry/CODE/autoCar/yolov5-v5.0/data/images/temp1003.jpg: 352x640 5 persons, 7 cars, 1 traffic light, 1 skateboard, Done. (0.012s)
image 3/5 /home/harry/CODE/autoCar/yolov5-v5.0/data/images/temp1004.jpg: 352x640 1 person, 8 cars, 1 traffic light, Done. (0.013s)
image 4/5 /home/harry/CODE/autoCar/yolov5-v5.0/data/images/temp1005.jpg: 352x640 1 person, 14 cars, 1 truck, 2 traffic lights, Done. (0.012s)
image 5/5 /home/harry/CODE/autoCar/yolov5-v5.0/data/images/zidane.jpg: 384x640 2 persons, 1 tie, Done. (0.013s)
Results saved to runs/detect/exp6
Done. (0.269s)

结果显示,网络的层数,参数的数量,以及每张图片识别出来的,人,车,交通灯等分别的数量

4、验证

我找了两张图片,分别如下

在路径:runs/detect/exp(x)下

 完