?项目地址
https://github.com/gump792/-YOLOV5-HelmetsMonitoringhttps://github.com/gump792/-YOLOV5-HelmetsMonitoring
有兴趣的可以看下我的配置过程(以记录用于自己学习为主,有兴趣的可以看下)
1.从https://github.com/ultralytics/yolov5/tree/v5.0下载YOLOV5
2.再从https://github.com/ultralytics/yolov5/releases下载权重文件,我采取的是yolov5s.pt
3.修改data目录下的相应的yaml文件。找到目录下的voc.yaml文件,将该文件复制一份,将复制的文件重命名,最好和项目相关,这样方便后面操作。我这里修改为hat.yaml。
# PASCAL VOC dataset http://host.robots.ox.ac.uk/pascal/VOC/
# Train command: python train.py --data voc.yaml
# Default dataset location is next to /yolov5:
# /parent_folder
# /VOC
# /yolov5
# download command/URL (optional)
#download: bash data/scripts/get_voc.sh
# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: F:\YOLOV5\yolov5-5.0\VOCdevkit\images\train # 5957 images
val: F:\YOLOV5\yolov5-5.0\VOCdevkit\images\val # 1624 images
# number of classes
nc: 2
# class names
names: [ 'hat', 'person']
由于该项目使用的是yolov5s.pt这个预训练权重,所以要使用models目录下的yolov5s.yaml文件中的相应参数(因为不同的预训练权重对应着不同的网络层数,所以用错预训练权重会报错)。同上修改data目录下的yaml文件一样,我们最好将yolov5s.yaml文件复制一份,然后将其重命名,我将其重命名为hat.yaml。打开hat.yaml文件只需要修改如图中的数字就好了,这里是识别两个类别,故改为2。?
至此,相应的配置参数就修改好了。
?如果上面的数据集和两个yaml文件的参数都修改好了的话,就可以开始yolov5的训练了。首先我们找到train.py这个py文件。
parser.add_argument('--weights', type=str, default='weights/yolov5s.pt', help='initial weights path')
parser.add_argument('--cfg', type=str, default='models/yolov5s_hat.yaml', help='model.yaml path')
parser.add_argument('--data', type=str, default='data/hat.yaml', help='data.yaml path')
还有几个需要根据自己的需求来更改的参数:
'--epochs'
'--batch-size'
'--workers'
??以上都设置好了就可以训练了。但是pycharm的用户可能会出现如下的报错。这是说明虚拟内存不够了。
?可以根据如下的操作来修改,在utils路径下找到datasets.py这个文件,将里面的第81行里面的参数nw改完0就可以了。?
|