两阶段Faster R-CNN用于施工现场人车碰撞危险自动分析
2022-06-28宋元斌李劲松张世超
张 博,宋元斌*,吴 冰,李劲松,张世超
(1.上海交通大学 船舶海洋与建筑工程学院,上海 200240;2.国网浙江省电力公司经济技术研究院,杭州 310012;3.河南新县宏大建设工程有限责任公司,信阳 465550;4.上海外高桥造船有限公司,上海 200137)
0 引言
近年来,虽然施工安全生产形势总体上持续改进,但安全事故数和伤亡人数仍然居高不下[1]。其中建筑施工现场的工人和卡车之间的碰撞事故是造成工人伤亡的主要原因之一[2]。为了避免建筑施工现场人车碰撞事故的发生,需要监测卡车与工人之间的空间关系,发现潜在的碰撞危险,及时做出预警。然而,传统的人工监测方法受限于安全管理人员人手、工作时间和巡查范围,难以满足安全管理需求。利用计算机视觉算法分析现场视频监控图像为施工现场的潜在碰撞危险自动检测提供了一条有效的途径。
目前基于深度学习的计算机视觉算法技术发展迅速[3,4]。许多学者在此基础上分析了施工现场的潜在危险。Fang等[5]利用目标检测网络直接识别施工现场图像中工人和施工设备,并根据工人和设备之间的位置关系确定工人安全水平。Yan等[6]通过识别了现场图像中卡车不同部位,进而推算车辆的三维轮廓,同时结合图像深度和目标的三维边界,最后计算工人与车辆的邻近程度。但经过现场测试发现,当施工视频帧图像中工人与卡车相比目标较小,上述方法易发生工人目标漏检问题。为了实现施工现场潜在碰撞危险的自动检测,并解决上述漏检问题,本研究结合深度学习技术提出了两阶段目标检测的方法,首先通过搜索卡车周围存在碰撞危险的区域,再在危险区域中监测工人目标,进而减少工人的搜索范围,改善漏检问题。另外,基于仿真实验计算专家的碰撞危险评价结果,进而确定工人的碰撞危险等级。最后,本文通过分析施工现场视频来验证所提出方法的有效性和实用性。
1 潜在碰撞危险自动分析
施工现场的碰撞危险区域主要集中在施工车辆附近。根据上述危险空间分布的特点,可以设计了一个两阶段的工人与卡车目标检测算法,第一阶段先检测图像中的卡车的图像区域(目标框),然后扩大该区域形成潜在碰撞缓冲区,可以合理地假设工人在缓冲区外是安全的,因此在第二阶段只在潜在碰撞缓冲区域内中检测工人目标。
如果在潜在碰撞缓冲区内有工人,则根据工人和卡车的检测结果进一步分析工人的碰撞危险等级。以往的研究主要通过分析工人和车辆邻近程度,再利用模糊集理论建立一个模拟专家评判的安全水平自动分析系统,进而分析工人与施工车辆之间的碰撞危险[7,8]。为了简化计算,本文使用空间相关性Rsp[9]来计算施工现场安全管理专家对工人碰撞危险等级的评价结果。工人碰撞危险等级越高,表明工人与周围卡车发生碰撞事故的可能性越大。其中,空间相关性反应了物体间在三维空间的邻近程度。
碰撞危险自动分析流程如图1所示。
图1 工人-卡车碰撞危险自动分析流程
1.1 检测卡车
从施工现场视频中获取单帧图像后,先采用Faster R-CNN[10]检测施工车辆目标。与Fast R-CNN相比,Faster R-CNN增加了区域提议网络(Region Proposal Networks,RPN)模块,大幅度改善了目标检测的准确率和速度。
如图2所示,Faster R-CNN首先使用预训练的卷积网络分析帧图像得到特征图,然后使用RPN从上述特征图中获取建议候选区域,理论上待检测的目标只可能出现在建议候选区域内;因为建议候选区域的大小和长宽比存在不一致性,因此需要进一步通过兴趣区域(Region of Interest,ROI)池化层将大小不一的多个建议候选区域转化为固定大小的目标特征图,最后通过分类器分类统一尺寸的建议候选区域内的特征图,得到目标检测结果,即卡车目标框在原始图像中的位置和大小。
图2 Faster R-CNN结构
相机的拍摄高度会影响施工现场物体在二维图像中的位置关系,当施工现场摄像机的安装位置明显高于物体所在水平面时,可以有效避免图像中物体间的过度重叠或遮挡[9]。因此本文研究过程中确保摄像机拍摄位置明显高于施工车辆的上表面。
1.2 确定潜在碰撞缓冲区
如图3所示,潜在碰撞缓冲区是一个与卡车目标框中心对齐的矩形框,其长与宽都是卡车目标框相应尺寸的k倍。为了确保检测效果,潜在碰撞缓冲区既要覆盖车辆周围所有存在碰撞危险的工人,又要尽可能减小缓冲区尺寸以便减少计算量。本研究建议将k值设置为2,如实验2.2.1节所示。
图3 确定卡车潜在碰撞缓冲区
1.3 获取缓冲区工人目标
在卡车的潜在碰撞缓冲区范围内,同样采用Faster R-CNN检测工人目标。在同一幅图像中,某位工人可能位于多辆卡车的潜在碰撞缓冲区内时,此时工人将有多个目标框,如果两个工人目标框的中心之间的距离很近,可以认为目标框对应的同一个。本文取最小面积检测框对角线长度的10%作为判断为同一个工人的阈值。
1.4 计算人车空间相关性
在施工图像中检测到卡车和工人目标后,需要进一步计算工人和卡车的空间相关性。该指标反应了两个目标在空间中的邻近程度,与两个目标框的位置有关。
如图4所示,A、B两个目标框之间存在三种位置关系:包含、相交、分离。不同位置关系时的Rsp计算如式(1)所示:
图4 目标框之间的位置关系
式(1)中:SA、SB为A、B目标框的面积;SAB为A、B目标框相交部分面积;lA、lB为A、B目标框最短边长度,lAB为A、B目标框之间的最短间距。
当两个目标框之间存在包含关系时,此时Rsp最大;当两个目标框之间相交时的Rsp小于目标框存在包含关系时的Rsp;两个目标框相互分离时的Rsp小于两目标框相交时的Rsp。
1.5 确定工人碰撞危险程度
为了建立工人碰撞危险等级(安全、危险、高危)与空间相关性Rsp与间的关系,通常需要采集大量的不同视角的施工现场图像,并且这些图像的拍摄相机的位置需要高于卡车的上表面,网络收集和现场拍摄的图像数量较少,难以满足实验要求,因此本研究采用了在虚拟施工场景中进行仿真实验的方法。仿真实验流程如图5所示,在基于Unity3d开发的施工现场仿真程序中,通过设置不同的参数可以模拟各种潜在的人车碰撞或者安全场景并标注工人的碰撞危险等级,收集从不同视角拍摄的大量图像。
图5 危险场景仿真实验
然后,针对仿真实验中收集的潜在碰撞图像,应用本研究提出的算法计算其中人-车的空间相关性,结合所标注的碰撞危险等级,建立了碰撞危险等级对空间相关性的隶属度函数关系,如图6所示。当工人和车辆间的空间相关性小于0.34时,工人均处于安全等级;当工人和车辆间的空间相关性大于0.34而小于0.74时,工人处于危险等级,有可能与卡车发生碰撞;空间相关性大于0.74时,工人处于高危等级,极有可能发生与卡车发生碰撞。
图6 碰撞危险等级人数占比对Rsp的隶属度关系
为了确保危险和高危情况不被漏检,本研究在隶属等级确定时,就高不就低,比如当空间相关性为0.42时,归属为危险,而不是安全。当工人在多个潜在碰撞缓冲区中被检测到时,选取最大Rsp判断工人的碰撞危险等级。
2 实验分析
本研究的实验运行在工作站上,操作系统采用64位Window10,工作站的硬件参数为Intel(R) Xeon(R) Gold 5222CPU @3.80GHz,内存为128GB,配置2块GTX 2080 Ti显卡。Faster R-CNN的预训练网络使用Resnet18[11]。
2.1 数据处理与模型训练
通过施工现场拍摄、网络爬虫2种方式收集包含施工车辆和工人的图像共2200张。其中2000张作为训练集,200张作为测试集。测试集图像200张图像中共包含258辆卡车,安全专家人工标记为安全、危险、高危状态的工人有215名、192名、34名。
2.1.1 图像标注
先在每一张图像上人工标注卡车目标,取标注框2倍大小的图像区域作为潜在碰撞缓冲区,如图7所示缓冲区可能有多个,然后在每个缓冲区子图上标注工人目标。
图7 标注图像
2.1.2 模型训练
采用2000张完整的现场图片(如图7中的标注图像A所示)训练Faster R-CNN得到能够识别卡车目标的模型,在此称为第一阶段识别模型;同时,可以利用潜在碰撞缓冲区子图5482张(如图8中的缓冲区B1和B2图片)训练Faster R-CNN得到能够识别工人目标的模型,在此称为第二阶段识别模型。
2.1.3 模型测试
针对测试集中200张图片,依据自动分析方法所述,先用一阶段模型检测获得的卡车目标框(共检测出254辆卡车,准确率100%;但有4辆车未检测到,召回率98.5%,基本满足实际检测需求);根据卡车检测结果,扩大卡车目标框范围至2倍得到潜在碰撞缓冲区子图;进而,针对每一张缓冲区子图使用二阶段模型检测其中的工人目标;最后,然后利用式(1)计算各个工人目标的空间相关性并根据空间相关性大小确定工人的碰撞危险等级。图8给出了工人-卡车碰撞危险自动分析方法的一个示例过程。
图8 工人-卡车碰撞危险自动分析示例
衡量目标检测的有效性采用了准确率和召回率[12]两个指标,计算公式如下:
式中:A为准确率;R为召回率;NTP为检测结果为正值的正样本数量;NFP为检测结果为正值的负样本数量;NFN为检测结果为负值的正样本数量。
实验统计了人车碰撞危险自动分析方法对200张测试集图片的分析结果,如表1所示。从结果可以看出,工人危险等级的识别较好,准确率和召回率都在90%以上,但是高危等级的准确率偏低,主要原因是因为2维图像中目标框较近时,空间相关性难以准确反应物体间的三维位置关系。
表1 有碰撞危险的工人检测结果
2.2 实验结果讨论
2.2.1 潜在碰撞缓冲区倍数k的验证
为了验证潜在碰撞缓冲区倍数k值的适用性,根据第一阶段模型的检测得到的目标框,选取不同的k值,分别计算潜在缓冲区的大小,然后统计缓冲区中有碰撞危险(危险、高危等级)的和安全的工人数量,结果如表2所示。
表2 不同k值下缓冲区中工人状态
从表2可以看出,随着k值得增加,车辆缓冲区范围扩大,有碰撞危险的工人人数逐渐增加。当k大于2时,有碰撞危险的工人人数不再增加,表明此时潜在碰撞缓冲区范围已经可以将碰撞危险等级为危险、高危的工人全部包括在内。同时,减少缓冲区子图的尺寸有助于减少工人目标检测的计算量,进而可以降低检测难度。
2.2.2 与传统方法检测结果的对比
本研究也采用了传统方法进行了人-车碰撞危险自动分析实验。与本研究提出的方法相比,传统分析方法同时检测卡车和人两类目标,即使工人在离卡车很远的安全位置。传统Faster R-CNN检测结果如表3所示。
表3 传统方法检测结果
与传统方法相比,本方法在自动检测危险或高危状态工人时,检测的准确率有显著提升,召回率提高更加明显。主要原因是缩小了搜索工人(小目标)的范围,提高工人目标的检测效果。
3 结语
本文基于深度学习技术,通过分步检测搜索卡车潜在碰撞缓冲区,由此缩小了检测工人目标的范围,提高了检测准确率。同时,根据工人和车辆的检测结果建立了碰撞危险等级与空间相关性之间的隶属度函数关系,将目标检测结果量化从而实现施工现场人车碰撞危险的自动分析。未来将尝试根据二维图像反推车辆和工人的三维包络盒,以期更准确地获得两者之间的空间关系。