查看原文
其他

安全帽佩戴检测赛冠军队伍 DeepBlueAI 技术分享

罗志鹏 PaperWeekly 2022-03-17


作者丨罗志鹏

单位丨深兰北京AI研发中心


近日,由 AI 研习社与天数智芯共同举办的安全帽佩戴检测赛公布了最终结果:来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队斩获冠军,本文带来该团队在竞赛中技术细节分享。


赛题介绍


安全帽佩戴检测赛是由 AI 研习社与天数智芯共同举办的,该比赛的任务目标是正确识别图片中的人物是否佩戴安全帽。安全帽佩戴检测对于提高在岗人员的安全意识、降低管理难度以及保障安全生产有着重要的意义。


比赛主办方提供了 6057 张图片作为训练集,1514 张图片作为测试数据。图片包括工地照片、某大学监控视频图片、普通场景图片。主办方对训练集图片中人员进行标注,佩戴安全帽的人员标注为"hat",未佩戴安全帽的人员标注为"person"。比赛选手需要能够正确给出测试图片中佩戴安全帽人员及未佩戴安全帽人员的数量。


评测指标


对测试数据集的测试结果以 csv 格式进行提交,csv 第一列字段为测试图片的 ID,第二列字段为图片中佩戴安全帽人员数量,第三列字段为图片中没有佩戴安全帽人员数量。根据提交结果的 Score 进行排名。



其中 True 表示同时正确预测佩戴安全帽与没有佩戴安全帽人员数量的图片张数(因此该赛题如果想取得较好的成绩,就必须同时解决误检与漏检问题),Total 表示测试图片的总数。


团队成绩


我们队伍“DeepBlueAI”在安全帽佩戴检测赛中取得了冠军。



题目特点以及常用方法


安全帽佩戴检测属于目标检测问题,针对目标检测问题现在的算法比较多,如以 Faster RCNN 为代表的二阶段检测网络,及以 YOLO v3 为代表的单阶段检测网络。同时由于本次比赛训练数据集都是针对人的头部为标注框进行数据标注(佩戴安全帽人员将人脸与安全帽共同标注为“hat”,没有佩戴安全帽的人员将头部标注为“person”),因此也可以考虑先使用人脸检测算法对人脸进行识别,然后将识别结果送入分类网络,对佩戴安全帽的情况进行分类。 


由于本次比赛要求尽可能提高检测的准确率,对检测速度没有要求,因此针对本次比赛,采用了二阶段的检测网络。

 

比赛数据与数据分析


本次比赛的训练数据集共 6057 张图片,首先通过对比赛数据的分析,我们发现数据有以下特点:


1. 类别间数据分布不平衡:训练数据集中 hat 的数量为 7502,person 的数量为 87043,person 与 hat 的比例达 11:1;


2. 检测框的长宽比基本分布在 0.7-1.2 之间;


3. 训练数据集中单张图片目标总个数(person 与 hat 的数量之和)不大于 10 的图片,占训练集总量约 64%,因此想要取得较好的成绩,必须保证这部分数据检测的准确率;


4. 此外图片中只包含 person 的图片数量为 3449,占图片总数量的 57%,只包含 hat 的图片数量为 2253,占图片总数的 37.2%,图片中仅含一个类别(只有 person 或只有 hat)的数量占图片总数的 94.2%。


测试数据集无标注信息,根据对测试图片数据的观察分析,测试数据集 person 与 hat 的分布与训练数据集相似。


训练数据集的标注如下图所示,其中绿色矩形框是对佩戴安全帽人员的标注,红色矩形框是对没有佩戴安全帽人员的标注。



实验中使用的数据增强方法


通过对实验图片的分析,发现图片中包含很多密集的教室场景及人员之间的遮挡情况,因此在正式训练模型之前,进行数据增强对结果的影响实验。所使用的数据增强方法如下:


1. 随机换通道:该方法主要是为了解决部分颜色安全帽在训练数据集中数量较少,从而引起对该颜色安全帽的漏检问题。对图片进行随机换通道的增强方法如下图所示,其中左侧为原图,右侧为随机换通道后的结果。



2. 增强图片亮度:该数据增强方法目的是增强模型对亮度较高或者较低的图片检测的泛化能力。对图片亮度进行改变的数据增强方法结果如下图所示,左侧为原始图片,右侧是亮度增强后的结果。



3. 增强图片的对比度:该数据增强方法的目的使目标的特征更加清晰。增强图片对比度的结果如下图所示,其中左侧为原图,右侧是增强对比度之后的结果。



4. 改变图片的色调:对图片色调的改变如下图所示,左侧为原图,右侧为色调改变后的结果。



使用以 ResNet-50 为 backbone 的 Faster RCNN 作为 baseline,分别使用以上数据增强方法,实验结果如下表所示。



实验模型


我们的实验是以 ResNet-50 作为 backbone 的 Faster RCNN 模型为 baseline 进行的,在 Faster RCNN 网络模型的基础上,使用了更大的 backbone、增加可变形卷积,并使用 CBNet 结构。Faster RCNN 网络结构如下图所示。



同时为了提升模型效果,我们尝试了增加级联结构与使用更大的 backbone 等方法,同时使用了 CBNet 网络结构,如下图所示。下图是一个三个 backbone 的网络结构示意图,考虑到显存与训练时间成本,本次比赛,我们采用的是双 backbone 的 CBNet 结构。



结果如下表所示(以下结果都是在 mmdet 预训练模型的基础上 finetune,并且在模型训练的过程中都使用了随机换通道的数据增强方法):



模型融合


模型融合是算法大赛中常用的提高模型精度方法,有些比赛在竞争激烈的后期用了几十甚至上百模型。我们最终选择了单模型得分较高的 Cascade RCNN+ResNeXt-101+DCN+CBNet 结构,并在该结果做为预训练模型的基础上,又使用增强图片亮度的方法,继续训练出一个模型,我们记为 Cascade RCNN+ResNeXt-101+DCN+CBNet+gamma。


在对这两个模型结果可视化时,发现在教室场景上存在部分漏检情况,因此,针对数据集中的教室图片重新训练出一个模型,记为 classroom_only。对以上三个模型进行模型融合,最终得到 64.7952 的得分,拿下安全帽佩戴检测赛的冠军。


模型效果


1. 常见场景模型效果


2. 密集小目标、目标重叠场景模型效果


3. 面部遮挡场景模型效果


4. 光线较差场景模型效果


应用场景


按照规定,正确佩戴安全帽对于安全生产有着重要的意义,但是传统的安全帽佩戴检查需要耗费极大的人力与物力,在实际检查过程中存在诸多不便。使用深度学习网络模型检测安全帽的佩戴情况,可以弥补传统方法的不足。具体的应用场景包括:


1. 门禁系统:在高危区域部署安全帽佩戴检测与门禁联动系统,确保工作人员必须佩戴安全帽才能打开门禁进入防护区工作;该应用可以应用在工地入口、一线生产车间门口等处,门禁系统识别工作人员的身份,安全帽佩戴检测系统在身份确认之后进行检测识别,确保正确佩戴安全帽的相关工作人员才可以进入高危作业区。


2. 高危工作区域安全生产:在高危工作区域内部署安全帽佩戴检测系统,通过监控画面实时监测在岗人员安全帽佩戴情况,若未按规定佩戴安全帽,则输出报警信息,自动保存工作人员未按规定佩戴安全帽的截图作为凭证,并通知后台监控人员。该应用可以通过视频监控系统,实时监测高危工作区域工作人员的安全帽佩戴情况,既能确保安全生产的平稳进行,又可以降低监管难度和管理成本。


3. 智慧工地:将安全帽检测系统与高空坠落物检测、工作人员疲劳程度检测系统结合起来,打造智慧工地,及时对潜在的危险进行预警,通知相关人员采取措施,从而及时阻断人身伤害事故,确保安全生产。


总结


安全生产是社会发展永恒的主题,然而传统的安全生产监督方法存在监控盲区大、监督效率低、外包人员管理困难等缺点。而深度学习的发展,为安全生产带来新的解决思路。


安全帽佩戴检测作为安全生产的一项重要检测项目,是搭建智慧厂区、智慧工地的一项重要工作,同时安全帽佩戴检测问题又是一项目标检测任务,网络模型可扩展性强,可以根据不同需求,同时完成明火检测、工作区误入报警、工作区车辆识别等多项任务,搭建一套完整的智能检测系统。


安全生产保障社会的可持续发展,深兰科技致力于 AI 技术对行业的赋能,为安全生产保驾护航。


招聘计算机视觉研究员


  • 负责计算机视觉的研究开发与性能提升,推动计算机视觉在众多实际应用领域的性能优化落地;


  • 计算机、电子信息或软件等相关专业,熟练掌握计算机视觉 & 机器学习的基本方法; 


  • 有较强的研究能力者优先,例如在国际顶尖会议或期刊(包括但不限于 CVPR, ICCV, ECCV, NIPS, ICML, AAAI, TPAMI, IJCV 等);


  • 有较强的代码能力者优先,获得过 ACM 或其他商业代码竞赛的荣誉,如 ACM 区预赛金牌、NOI 银牌以上、百度之星决赛等,或代码开源在 GitHub 上并有较大影响; 


  • 有较强的比赛经验者或者在重要数据集的排行榜上排名靠前的优先,这些比赛包括但不限于 ImageNet 等相关竞赛、Kaggle 等一些国内竞赛


工作地址:

北京 - 海淀区 - 海淀区中关村大街27号中关村大厦15层(海淀黄庄地铁站) 


简历可发至:bjhr@deepblueai.com邮件格式:CV研究员+实习/校招/社招+姓名+电话




点击以下标题查看更多往期内容: 






#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。


▽ 点击 | 阅读原文 | 获取最新论文推荐

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存