基本介绍
安全帽检测识别可以通过分析工作场景中的图像,识别出工人是否佩戴安全帽,以此帮助管理者监测工作现场的安全情况,及时发现违规行为并采取措施,从而降低工伤事故发生的概率,保障工人的生命安全。
安装依赖
此次软件使用到了labelImg_exe、yolov4-pytorch-master。
labelImg_exe:
pip install labelimg
yolov4-pytorch-master:
其中在使用yolov4-pytorch-master时,通常需要安装以下第三方库:
pip install OpenCV-python
pip install tensorboard
数据集制作
数据集
使用labelImg_exe制作了100张图像用于训练
配置文件
voc_annotation.py
classes_path修改为自己的训练集,默认有VOC2007,训练自己的需要修改VOCdevkit_sets,xmlfilepath与saveBasePath同理,运行完voc_annotion.py会在VOC2024\ImageSets\Main下生成定义数据集中的训练、验证和测试集合,以及各个类别的正负样本列表。
classes_path = 'model_data/work1_classes.txt'
VOCdevkit_sets = [('2024', 'train'), ('2024', 'val')]
if annotation_mode == 0 or annotation_mode == 1:a
print("Generate txt in ImageSets.")
xmlfilepath = os.path.join(VOCdevkit_path, 'VOC2024/Annotations')
saveBasePath = os.path.join(VOCdevkit_path, 'VOC2024/ImageSets/Main')
train.py
找到classes_path,修改为自己的训练集
classes_path = 'model_data/work1_classes.txt'
yolo.py
训练结束后,修改yolo.py中model_path和classes_path,model_path指向训练完后的权值文件,随后运行predict.py
"model_path" : 'logs/best_epoch_weights.pth',
"classes_path" : 'model_data/work1_classes.txt',
效果显示
运行predict.py后效果如下