周贤伟,郭 晨,覃贞鑫
(1.武汉理工大学 安全科学与应急管理学院,湖北 武汉 430070;2.武汉理工大学 中国应急管理研究中心,湖北 武汉 430070;3.诺丁汉特伦特大学,英国 诺丁汉 NG1 4FQ)
随我国“双一流”学科建设以及第五轮学科评估工作的推进,各高校加快了实验室投资建设的步伐。实验室添置了大量实验设备,为高校各种实验的开展提供了有利条件,与此同时,实验安全管理规章未及时更新,安全设备装置未能进行相应的升级,还有人员安全培训不到位为实验室的安全管理带来了隐患[1]。
近几年,实验室安全问题逐渐突出。实验室事故中实验室火灾和爆炸占比最高,造成的后果损失最大。2021年3月31日,某化学研究所发生爆炸事故,造成1人死亡;2021年7月13日,深圳某大学实验室发生火情,一名实验人员轻微烧伤;2021年10月24日,南京某大学材料实验室发生爆燃事故,导致2人死亡,9人受伤。事故的频繁发生是我国学科建设高速发展留下的隐患。应该合理地利用先进技术,有效地对事故致因的隐患进行监控和及时消除。
随着计算机技术和人工智能技术的发展,如何让AI赋能安全管理,有效提高安全管理水平,降低场景中的风险,是现阶段众多安全学者研究的方向之一。目前使用目标检测技术提高场景安全水平主要集中在对人是否佩戴安全防护物品以及人的不安全行为进行检测。如赵红成等[2]提出基于YOLO-S的一种新型轻量的安全帽佩戴检测模型,对YOLOv5s进行了轻量化设计,使模型体积更小具有更好的应用性;李千登等[3]基于深度学习算法进行叉车危险操作行为检测,考虑了人、叉车两者之间的距离、叉车举升人员等多因素,有效提升现场智能化风险管控水平。彭婷等[4]设计出基于改进Mask R-CNN的泳池溺水行为检测系统,实时识别溺水者并发出警报,模型检测速度为5FPS,检出率为93.3%,误检率为6.4%,满足泳池的安全警报作用。这些学者都考虑对于事故发生而言比较重要的单个因素,但事故发生是一个复杂的过程,是多个因素作用的结果。因此,笔者提出基于YOLOv5的目标检测算法识别实验室中导致爆炸的多个不安全因素(包括未穿实验服、出现明火、实验室废材堆积等),制定风险评价规则,将风险等级分为低、中、高3个等级,对实验场景开展风险评估。通过视觉风险评估模型,在降低人工成本的同时,使管理人员获知实验室风险水平,进而提高实验室安全管理水平。
目标检测(Object Detection)是计算机视觉领域的核心问题之一,其任务是定位输入图像中感兴趣的目标并确定其类别。目前基于深度学习的目标检测算法被分为两大类,一类是两阶段(Two-stage)目标检测算法,又称基于感兴趣区域的目标检测算法。这类算法的核心思想是将目标检测任务分解成两个阶段,第一阶段通过选择性搜索(Selective Search)或区域建议网络(RPN)生成一组稀疏连接的候选区域,再对这些候选区域进行分类回归操作。双阶段算法经过R-CNN,SPP-Net,Fast R-CNN,Faster R-CNN,Mask R-CNN的发展[5],其训练时长和测试时间在不断减小,训练精度在不断提高。但由于算法本身包含多个割裂步骤,在运行中会占用较大的存储与计算开销,时间复杂度不及单阶段算法[6]。且由于模型体型较大,对摄像头的性能要求极高,难以实现普遍运用和推广。
另一类是一阶段(One-stage)目标检测算法,其中最具有代表性的算法是“YOLO”算法,是一种基于回归策略的端到端的目标检测算法,将目标检测问题简化为回归问题,由于没有区域推荐阶段,因此相较于双阶段算法具有极高的检测速度[6],其中YOLOv5算法拥有不同大小的分支,可以根据硬件本身选择合适分支进行部署。笔者以YOLO系列最新算法YOLOv5,对导致实验室爆炸事故的因素进行识别,制定风险评价规则,评定实验室场景的风险等级,进而有效控制实验室风险,降低爆炸事故发生几率和爆炸事故影响程度。
YOLOv5算法主要分为4个部分:输入端、主干网络 Backbone、Neck 和预测端 Prediction。网络结构如图1所示。
图1 YOLOv5网络结构图[14]
YOLOv5的输入端采用了Mosaic数据增强的方式。Mosaic数据增强使用随机排布、随机缩放、随机裁剪的方式对输入图片进行拼接,进而增加数据多样性[7],由于随机缩放增加了数据集小目标的数目,有助于提升算法的鲁棒性。YOLOv5采用了和YOLOv3、YOLOv4的自适应锚框计算,不同在于YOLOv5不再是单独程序运算,而是将其集成于代码中,加快了运算速度,同时也改进了自适应图片缩放,提高了推理速度。
Backbone 采用CSPDarknet53作为其主干网络,由卷积模块(Conv)、瓶颈层(C3)、空间金字塔池化(spatial pyramid pooling,SPP)等模块,在最新的YOLOv5第六版中使用Conv替代之前的Focus。YOLOv5中设计了两种CSP结构,以YOLOv5s网络为例,一种CSP1_X结构用于主干网络,另一种CSP2_X结构则被用于Neck中。将两个分支拼接到一起,使网络深度增加,大幅增强特征提取能力。
YOLOv5的Neck端和Yolov4中一样,都采用“FPN(特征金字塔)[8]+PAN[9](路径聚合网络)”的结构。不同点在于YOLOv4的Neck端中,采用常规的卷积操作。而为加强网络特征融合的能力,YOLOv5的Neck端中,采用借鉴CSPNet设计的CSP2结构。
YOLOv5预测端拥有3种不同尺度的特征图,对不同尺度下生成的预测框进行非极大值抑制(non-maximum suppression,NMS)处理,即保留局部类别置信度得分最高的预测框,抑制剔除得分低的预测框。YOLOv5采用CIOU_Loss做Bounding box的损失函数。
叶元兴等[10]在基于150起实验室事故的统计分析及安全管理对策研究一文中统计了诸多事故发生频率和死亡比例,其中实验室爆炸事故45起,占比30%,是实验室安全事故的主要类型,且死亡比例最高。因此诸多学者对实验室爆炸事故进行了致因分析,阳富强等[11]基于相似安全系统学理论分析实验室爆炸事故,找出人的不安全行为、物的不安全状态、环境的不良状态和管理规章制度的不完善,4个大类共24个实验室爆炸事故影响因素。后续又基于6SIGMA理论分析高校实验室安全管理[12],运用故障类型影响分析法,找出安全基础设施、报警装置及防护设备等爆炸事故影响因素;徐超等[13]基于“2-4”模型研究高校易燃易爆实验室事故致因与对策,统计分析了事故致因频次和占比,按照个人层面和组织层面进行致因分析。消防器材不足、未使用防护用品、实验用品随意摆放等为主要事故影响因素;张芳等[15]基于蒙特卡罗法的高校行为风险分析,统计了2001—2019年77起高校化学实验室事故,结果显示:风险最高为材料试剂的使用环节,其次是违规操作、材料试剂存放混乱,防护装置或设备故障、缺陷、缺失等。笔者统计了众多学者所得的实验室爆炸事故影响因素,如图2所示。选取其中影响程度较大且适合目标检测的5种因素:危化品随意摆放、无防护服、实验室废材堆积、无消防设备、明火。用于实验室爆炸事故风险等级评估。
图2 实验室爆炸事故影响因素频次统计
实验配置为:AMD Ryzen7 4800H,16G 运行内存,显卡为NVIDIA RTX 2060,实验基于Windows10(64位),python3.7, pytorch1.8搭建的深度学习框架,GPU加速软件为CUDA11.1和CUDNN8.1。初始学习率为0.01;终止学习率为0.1;批大小为2;训练迭代次数为100;图片大小为640。
由于目前没有开放的实验室危险隐患数据集,因此笔者通过华为海雀摄像头自行采集了468张数据图片,出于安全考虑,使用网络收集的283张火灾图片,用于实验室明火识别。借助Lableimg软件对数据集进行标注,设置类别为fire(明火)、person(人)、carton(纸盒)、dangerous chemical cylinder(危化气瓶)、cylinder holder(气瓶架)、lab-gown(实验服)、fire extinguisher(灭火器)7类,保存为VOC2007格式,按照8∶1∶1划分为训练集、验证集、测试集。
由于目前实验室危险隐患的数据集多为小样本,为解决小样本数据集的问题[16],借鉴迁移学习[17]的思想,采用COCO数据集训练的YOLOv5权重作为网络的预训练权重,选用所建立的实验室安全隐患数据集对预训练好的网络结构进行参数微调;最后完成安全隐患的检测[18]。通过这种方式可以大幅提高模型收敛速度,减少训练参数,降低时间成本和对设备性能的要求。
为有效评估模型的检测精度,采用平均精确率(mAP)、精确率(Precision)、召回率(Recall)作为衡量指标。公式如下:
式中:TP代表真阳性;FP代表假阳性;FN代表假阴性;AP(AveragePrecision)代表单个类别的平均准确率;mAP是对所有类别的AP求取均值后所得数据。检测阈值设置为0.5。
由于YOLOv5共有5个版本:YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,按照n、s、m、l、x的顺序网络模型不断加深加宽。为找出最适合的模型,实验总共训练5个模型如表1所示。
表1 5种分支模型检测性能对比
由表1可知,随网络模型不断加深,其检测精度也在不断提高,与官方报道相符,由于5个模型均达到0.98以上的识别精度。为进一步验证YOLOv5检测性能的优越性,在进行5个分支检测性能对比的同时与主流目标检测算法YOLOv4-tiny、Faster-RCNN、SSD在精度和速度方面进行实验对比,结果如表2所示,加粗字体为各列最优结果。从模型部署及检测精度角度综合考虑发现YOLOv5s最适用于实验室安全隐患的检测。YOLOv5s算法在部分测试集上的目标检测结果如图3所示,可知小目标的纸盒,不同姿态下的人,还有被部分遮挡的气瓶均被很好地检测出。迁移学习结果对比如图4(a)所示,星形曲线采用了迁移学习策略,对比三角形曲线,其平均精度迅速上升,并且在经过30个epoch后就已经达到最大值,由此可知迁移学习有效提高了收敛速度,提升了目标检测模型的平均精度。YOLOv5s的精度-召回率曲线如图4(b)所示,可知YOLOv5s中各类别的AP值,其中对明火、危化气瓶、气瓶架这些重要的检测类别其检测精度分别达到了0.995、0.988、0.994,超过肉眼水平,满足精度要求。
表2 YOLOv5与传统模型检测性能对比
图3 部分目标检测结果数据集
总共建立7类识别目标,在此基础上建立5种安全隐患类别,分别为:出现明火、人员未穿实验服、实验室废材堆积、危化气瓶未设置气瓶防护架和无灭火器。
图4 迁移学习结果对比及YOLOv5s的P-R曲线
(1)YOLOv5检测模型检测到室内出现明火时,即构成“出现明火”安全隐患;
(2)YOLOv5检测模型检测到人,但未检测到实验服时,即构成“人员未穿实验服”安全隐患;
(3)YOLOv5检测模型检测到实验室内出现堆积的废旧纸盒时,即构成“实验室废材堆积”安全隐患;
(4)YOLOv5检测模型检测到危化气瓶,但未检测到气瓶防护架时,即构成“危化气瓶未设置气瓶防护架”安全隐患;
(5)YOLOv5检测模型未检测到室内有灭火器时,即构成“无灭火器”安全隐患。
由于笔者只从诸多学者已识别的隐患中选择5种可由视觉观测到的较为重要的安全隐患作为评价指标,因此使用基于数量的风险评级方式,安全隐患数量1~2为低风险;安全隐患数量3为中风险;安全隐患数量4~5为高风险,由于明火具有较大危害性,因此当出现明火时即为高风险。分别选择低、中、高风险等级实验室图片各20张、50张、100张,预先对图片等级进行标注,应用人工和检测模型分别对其进行评级,对比机器和人工检测精度,分析机器和人工优劣,如表3所示。
表3 人工与模型对比
由表3可知,在低、中、高3个风险场景中人对风险的评估准确度都随着图片数量的增加而减少,而这种评估准确度的下降在高风险中最为明显。综上可得,人工对图片中实验室场景进行风险评估的主要影响因素为图片的数量和图片中场景的复杂程度。其中数量对人的影响主要是由于长期重复性的操作使人疲劳所致。而机器评估的精度不会受到场景复杂程度和评判的数量的影响,机器评估的唯一影响因素在于,当目标物体受到遮挡时,会造成无法识别的情况,从而影响评判准确度。从两者评估速度来讲,机器的速度远远超过人,人的评估速度平均为2~3 s/张,机器的速度平均为0.002~0.003 s/张。
(1)针对目前高校实验室事故多发现状,提出基于YOLOv5的视觉风险评估模型,通过目标检测的手段提高实验室的安全监控能力,将AI赋能安全管理,从而有效提升实验室的安全管理水平。通过对YOLOv5算法采用数据增强、迁移学习等手段最终实现了对实验室安全隐患的高精度检测,并设计5个分支模型的对比实验选取了最适合的YOLOv5s模型。最后建立风险评估规则,设计人与机器的风险评估对比实验。
(2)从速度和精度上考虑YOLOv5s是5个分支最适合的模型;和传统主流目标检测算法对比,YOLOv5s表现出极高的检测精度;相对于人来讲,机器在这种重复性简单劳动上有更高的稳定性、检测精度、更快的检测速度。
(3)该评估模型还存在一定局限性,事故的发生是多个因子事件共同作用的结果,而不同事故之间存在因果耦合关系,例如:火灾往往会引起爆炸事故,电气事故也可能导致火灾。并且火灾与爆炸事故的影响因素也存在着高度重复性,在未来工作中将考虑不同事故链的耦合性,去综合评判场景中的风险等级。