本文主要是介绍未穿戴安全帽反光衣的人脸识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
构建数据集
网上开源的安全帽和反光衣的数据集,都是分开的,即没有一份数据集是同时拥有是否戴安全帽和是否穿反光衣这四类标注的。故工作开始之前的第一步就是构建一份同时拥有是否戴安全帽和是否穿反光衣这四类标注的数据集。
具体方法:用yolov5-6.0分别来训练出安全帽和反光衣的两个检测权重,然后通过模型融合的方法,将所需要的数据集当作检测的数据集,在检测时保存所检测图片的txt文件,最后进行人工数据清洗,得到一份完整的安全帽和反光衣的数据集。
数据集的标注如下:(0:反光衣,1:头,2:安全帽,3:其他衣服)
共计一万三千多张,目前数据集不打算开源 。
选定目标检测模型
模型这一块没有太大悬念,工程化的模型yolov5足够满足大部分需求,最新版的6.1版本都能tensorRT、openvino各种加速和导出了。
训练过程中无需对模型做任何改动,使用yolov5s权重进行训练,调整到适合自己电脑的epochs和batch-size,开启多尺度训练即可。训练结束后得到一个s的权重。
选定人脸识别模型
人脸模型选用经过cuda加速的dlib库提供的人脸识别模型。在yolov5的推理过程中加入人员是否正确穿戴安全帽和反光衣的判断条件后,将yolov5检测出来的人脸区域提取,根据人脸数据库进行模板匹配,最终,违规穿戴的人脸检测模型落成。
完
这篇关于未穿戴安全帽反光衣的人脸识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!