2. 东北石油大学 计算机与信息技术学院, 大庆 163318
2. School of Computer & Information Technology, Northeast Petroleum University, Daqing 163318, China
油田作业现场近海周界危险区域入侵检测是油田作业现场安全监管最基础的环节之一, 但对其的管控目前仍停留在传统人工监控方式上, 负责监管的安全人员同一时间要将注意力集中在多个视频事件上极其困难, 视觉疲劳会导致其注意力不能高度集中, 且将注意力同时分散到几台监控器画面上时, 极有可能不能完全正确地分析每台监控画面内容. 同时, 油田作业现场近海周界区域危险性高, 当作业人员发生区域入侵时, 需要及时快速报警. 这些问题都会导致当作业人员在油田作业现场闯入近海周界危险区域时, 传统的监控手段不能在作业人员闯入时进行检测和发出报警, 监管防护效果差.
智能监控对油田作业现场工作人员的实时检测与警报主要依托于计算机视觉相关领域技术. 2019年, 向翼凌等人提出基于时空联合约束的视频区域入侵检测算法, 联合实际人员活动时效性和图像提供的空间信息进行区域入侵检测, 获得了较高的检测效率[1]. 同年, 占超对FasterRCNN进行适用于实际应用的优化, 使该算法模型可实现区域入侵检测功能[2]. 2020年, 张晗基于YOLOv3研发了兼具准确率与实时性的行人检测算法, 实现了监所的区域入侵检测[3].
图像分割方面[4], 2015年, Long等人提出全卷积网络(FCN)[5], 确立了图像语义分割的通用网络模型框架. 2017年, Zhao等人提出金字塔场景解析网络(PSPNet)[6], 通过整理归纳上下文信息, 充分利用全局特征先验知识解析不同场景, 最终实现对场景目标的语义分割[7]. 2018年, Ren等人提出基于FasterRCNN的深度卷积网络MaskRCNN[8], 该卷积网络可以在进行目标检测的同时实现高质量的图像分割. 2020年, Wang等人提出了基于位置来分割对象的简单灵活的实例分割框架SOLOv1[9]. 同年, Wang等人在SOLOv1的基础上, 提出加入动态学习对象分段器的mask头和矩阵NMS的SOLOv2实例分割模型, 该模型具有较高的准确率和较好的实时性[10].
目标检测方面[11], 2014年, Girshick等人提出了典型的双阶段目标检测算法RCNN, 其将AlexNet与选择性搜索算法相结合, 性能相对于传统的目标检测算法, 得到了显著提升. 2015年, Ren等人提出了FasterRCNN, 引入了区域建议网络(region proposal network , RPN)实现了目标检测端到端的训练, 一定程度上加快了计算速度[12]. 2016 年, Redmon 等人为解决双阶段目标检测算法的时效性低的问题提出了一种单阶段目标检测器YOLO, 其在简化网络的同时提高了检测精度[13], 但对小尺度目标的检测效果不佳, 被检测目标发生重叠遮挡时, 容易出现漏检误检的情况. 2018年, Law等人提出了CornerNet[14], 该模型取消了锚框而将目标检测边界框定义为检测目标的左上角和右下角的关键点, 采用角池法定位角, 但其检测准确率略低于YOLOv4. 为了进一步改进CornerNet, 2019年, Duan等人提出了CenterNet[15], 通过在被检测目标的边界框的中心再引入一个关键点作为一个关键点的三元组来检测每个目标, 该方法大幅度提高了准确率.
油田作业现场近海周界区域形状不规则且区域分布复杂多样, 因此简单地在摄像头内划分固定且规则的区域无法满足实际要求; 同时由于近海区域危险性高, 作业人员目标小, 其闯入近海区域需要及时报警, 目前的区域入侵检测方法由于无法准确计算不规则区域形状且实时性差, 无法检测小目标, 无法有效检测作业现场近海区域是否发生入侵, 所以本文提出将图像识别与分割技术和目标检测技术结合, 首先利用图像分割技术对油田作业现场近海周界区域进行检测与分割, 精确地分割出近海周界区域. 再使用无锚框的目标检测技术对作业人员进行检测, 使其达到实时性与准确性.
在现有的区域识别与分割技术中, SOLOv2可以进行高精度的区域检测识别与分割, 同时还具有良好的实时性. 比起普通语义分割算法, 实例分割应对油田作业现场复杂的环境背景性能更佳, 可准确区别并分割出同类区域, 为后续区域入侵判别提供可靠依据, 且由于SOLOv2本身的优越性, 其检测精度与速度并不低于普通的语义分割算法. 使用SOLOv2识别并分割出危险区域, 然后使用实时性良好的无锚框目标检测算法CenterNet进行油田作业现场的小目标检测. 最后, 为了能实际应用于油田作业现场, 还开发了专属的CS应用端.
本文的研究主要包括3个部分: (1)油田作业现场近海周界区域识别与分割部分: 采用SOLOv2作为基础网络, 进行适用于作业现场的参数优化, 实现兼具准确性与实效性的近海周界区域与背景的识别与分割. (2)目标检测部分: 使用CenterNet进行目标检测, 然后通过计算检测到的目标与危险区域的相对位置判断油田作业现场近海周界区域是否发生作业人员区域入侵. (3) CS应用端部分: 将设计实现的算法部署到油田作业现场CS端, 实现检测应用.
利用高效的图像分割SOLOv2技术进行近海周界区域与背景的分割, 可以精准定位危险区域, 减少目标跟踪复杂度, 然后采用CenterNet进行适用于小目标的高精度目标检测, 实现了跟踪准确性和实时性的平衡.
1 检测系统流程油田作业现场近海周界监控为了能够最大范围掌控情况, 一般选择高处监控视角, 因此导致了背景复杂, 被检测目标小等问题. 对于这种情况, 本文方法的具体框架如图1所示. 首先对油田作业现场近海周界区域进行检测, 提取出摄像头所监控的近海周界区域, 去除周界外的其他环境和物体的影响. 在识别出近海周界区域后, 以近海区域轮廓为边界, 提取内部海域部分.
由于油田作业现场的近海区域为高危区域, 所以需要高精度的入侵检测同时又需要当入侵发生时快速报警, 因此需要一种精度高实时性好的算法模型. SOLOv2算法可以对油田作业现场近海周界区域进行高精度检测并准确提取出近海周界区域, 同时该算法提出矩阵NMS (non maximum suppression), 其可以显着减少由于掩码的NMS造成推理时间长的问题. 再对SOLOv2算法模型进行适用于油田作业现场近海周界区域的参数调整, 以此获取兼具准确性和实时性的近海周界区域分割结果.
CenterNet目标检测方法与RCNN和YOLO系列不同[16], 其采用的是基于关键点估计来找到中心点, 再回归到其他目标属性, 例如尺寸, 位置等. 相较于基于BoundingBox的检测器, CenterNet的模型是端到端的, 更简单, 运算速度更快, 精确度更高. 该方法一般是由输入图片计算关键点热图heatmap进而判断目标种类, 完成目标检测.
由上述检测提取出的油田作业现场近海周界区域与检测到的作业人员小目标, 计算出两者相对位置, 且由于油田作业现场近海区域的特殊性, 通过计算两者位置即可判定作业人员是否发生油田作业现场近海周界区域入侵.
2 基于SOLOv2的近海周界区域识别与分割本文采用SOLO系列中实时性更好准确率更高的SOLOv2深度学习实例分割框架, 对其进行深入理解并做出适用于油田作业现场的参数调整.
SOLOv2的网络结构在遵循SOLOv1原则的基础上, 通过动态学习目标分段器的mask头, 使mask头受位置的约束, 获得更好的检测性能; 同时SOLOv2提出矩阵NMS (非最大抑制), 以此减少NMS of masks引起的推理时间开销. 具体网络结构如图2所示.
SOLO网络首先输入图片, 通过FCN进行多尺度的特征提取, 得到相应的feature map. 然后分别进入两个分支, 包括类别预测分支和实例掩膜分支. 类别预测分支用于预测各个位置目标的类别, 实例掩膜分支用于生成目标的全图位置预测的feature map.
SOLOv2动态学习对象分类器的mask头, 将掩膜分支分为掩膜核分支和掩膜特征分支, 掩膜核分支位于由FPN生成的特征地图金字塔的预测头中, 预测头包括四个提取特征的卷积网络和一个预测的卷积网络. 掩膜特征分支引入特征金字塔融合, 再经过3×3卷积, 群范数, ReLU等重复阶段, 预测所有FPN级别的单一掩模特征表示, 可有效提供准确的位置信息.
矩阵NMS部分, 首先计算类别置信度, 通过设置阈值, 过滤掉置信度低的预测结果, 然后使用学习到的卷积核对mask特征进行卷积操作, 经过Sigmoid函数后, 使用更高的阈值将预测的soft mask转变为二值图. 最后进行Matrix NMS, 先选取按照置信度排列的前N个个结果, 使用转换后的二值图, 通过矩阵运算, 高效形成IoU矩阵. 在IoU矩阵列上, 找到最大的IoU, 再计算decay. 最后通过decay更新预测得分.
SOLOv2网络的损失函数如式(1)所示:
$ {{L = }}{{{L}}_{{\text{cate}}}} + \lambda {L_{\rm{mask}}} $ | (1) |
其中, Lcate采用Focal Loss, Lmask如式(2)所示,
$ {{{L}}_{\rm {mask}}} = \frac{1}{{{N_{\rm {pos}}}}}\sum\nolimits_k {{\beta _{\{ p_{i, j}^* \gt 0\} {d_{\rm {mask}}}({m_k}, m_k^*)}}} $ | (2) |
其中,
$ {{{L}}_{{\text{Dice}}}} = 1 - D(p, q) $ | (3) |
其中, D计算公式如(4)所示, p, q表示坐标(x, y)像素预测和真实值的概率.
$ {{D(p, q) = }}\frac{{2\displaystyle\sum\nolimits_{x, y} {({p_{x, y}} \cdot {q_{x, y}})} }}{{\displaystyle\sum\nolimits_{x, y} {\mathop p\nolimits_{x, y}^2 + \displaystyle\sum\nolimits_{x, y} {\mathop q\nolimits_{x, y}^2 } } }} $ | (4) |
目前, 基于深度学习的目标检测可分为两阶段检测与单阶段检测两类[18]. 两阶段检测首先生成稀疏建议, 并从每个建议区域中提取特征, 再预测建议区域的类别. 而单阶段检测直接对特征图上每个位置的目标进行分类预测. 虽然两阶段检测具有更高的准确性, 但单阶段检测具有更好的实时性, 对实时对象检测具有更大的适用性, 更加适用于工业生产.
3.1 网络结构CenterNet是单阶段检测模型, 使用目标的中心点代替锚框, 极大程度上解决了传统目标检测因为锚框导致计算量大的问题. CenterNet网络结构可分为从边界框到点与从点到边界框两部分, 其网络结构如图3所示. 首先输入图像, 经过DLA-SE特征提取网络得到特征图, 然后分别训练目标中心点Y、中心点偏移O、目标尺寸S三个分支, 之后将训练得到的Y、O、S三个分支的结果, 进行融合输出图像.
从边界框到点的过程, 首先将带有标签的图像输入特征提取网络DLA-SE, 得到输出特征图. 然后关键点预测Y分支、中心点偏移量O分支与对象尺寸S分支使用同一个特征提取网络分别进行训练. 关键点预测Y分支中, 将图像
$ {Y_{xyc}} = \exp \left( - \frac{{{{(x - {{\tilde P}_x})}^2} + {{(y - {{\tilde P}_y})}^2}}}{{2\sigma _P^2}}\right) $ | (5) |
然后使用focal loss进行像素级的逻辑回归[19], focal loss计算如式(6)所示:
$ {{{L}}_{{k}}} = \frac{1}{N}\sum\limits_{xyc} {\left\{ {\begin{array}{*{20}{l}} {{{(1 - {{\hat Y}_{xyc}})}^\alpha }\log ({{\hat Y}_{xyc}})},&{{\rm {if\;\;}}{{{Y}}_{xyc}} = 1}\\ {{{(1 - {{\hat Y}_{xyc}})}^\beta }{{({{\hat Y}_{xyc}})}^\alpha }\log (1 - {{\hat Y}_{xyc}})},&{\rm {otherwise}} \end{array}} \right.} $ | (6) |
中心点偏移量O分支中, 每个中心点的局部偏移量为
$ {L_{\rm {off}}} = \frac{1}{N}\sum\limits_p {\left| {{{\hat O}_{\tilde p}} - (\frac{p}{R} - \tilde p)} \right|} $ | (7) |
尺寸S分支中, 在目标中心位置回归对象的宽高, 其损失函数如式(8)所示:
$ {L_{\rm {size}}} = \frac{1}{N}\sum\limits_{k = 1}^N {\left| {\hat S{p_k} - {S_k}} \right|} $ | (8) |
最后整个网络预测出每个目标中心点位置的相关值, 包括关键点预测Y分支的80个关键点、中心点偏离量O分支的x和y、对象尺寸分支的w和h.
从点到边界框的过程, 对于检测到类别的n个中心点的集合, 通过提取热力图上每个类别的100个峰值点来获取边界框. 边界框由预测得到的关键点
$ \begin{split} &({{\hat x}_i} + \delta {{\hat x}_i} - {{\hat w}_i}/2,{{\hat y}_i} + \delta {{\hat y}_i} - {{\hat h}_i}/2,\\ &{{\hat x}_i} + \delta {{\hat x}_i} + {{\hat w}_i}/2,{{\hat y}_i} + \delta {{\hat y}_i} + {{\hat h}_i}/2) \end{split} $ | (9) |
判定油田现场作业人员区域入侵的发生是研究非常重要的一部分, 结合作业现场背景复杂, 被检测目标小的实际情况, 本文采用计算SOLOv2检测提取出的近海周界区域与CenterNet检测到的作业人员目标的相对位置判断作业人员是否近海周界区域入侵.
首先在被检测的图片帧中设置完整的坐标系, 将由SOLOv2检测并提取出的近海周界区域对应于坐标系, 获取其相应的位置坐标; 然后将由CenterNet检测出的作业人员对应于坐标系, 获取被检测目标相应的位置坐标, 同时获取其目标边界框的坐标并计算出作业人员相对于图片帧的面积. 由于提取出的近海周界区域是闭合的曲线, 坐标点繁多, 所以抽取合适数量的坐标点围成近似形状的边界. 抽取坐标点规则是周界坐标两点之间的最小距离等于被检测作业人员目标边界框的宽, 以此保证被检测目标接触近海周界区域时可认定边界为直线, 有助于减小计算复杂度, 提高实时性. 最后当被检测作业人员目标开始接触区域周界时, 即开始计算被检测作业人员目标的边界框面积与区域重叠面积比. 若重叠面积大于被检测边界框面积的80%即可判定油田现场作业人员闯入近海区域, 重复此过程直到被检测目标作业人员完全离开墙体区域为止.
本文结合油田作业现场近海周界区域的实际情况, 考虑被检测人员目标小与近海周界区域高危且不规则的研究背景, 设计并实现适用于现场的近海周界区域入侵检测算法, 解决了油田现场作业人员区域入侵检测问题.
4 实验结果与分析 4.1 实验过程本文实验使用PyTorch学习框架, Python语言编程实现算法网络, 硬件环境为联想ThinkStationP900工作站, NVIDIA GeForce RTX3080显卡(10 GB)、64位Ubuntu 18.04操作系统.
本文采用SOLO与CenterNet结合的算法. 油田作业现场监控视频流经预处理后传入SOLO 神经网络, 由SOLO检测并提取油田作业现场近海周界区域, 本节使用近海周界监控图片作为自制数据集进行训练, 得到本文用于检测并提取近海周界区域的权重模型. 训练过程中, 设置epoch值为5, batch size值为8, 每个epoch步数为300, 学习率设置为0.0001, 所有参数根据正太分布进行初始化.
本文使用CenterNet检测油田作业现场近海周界作业人员, 使用CenterNet官方提供的检测模型ctdet_coco_dla_2x作为权重模型, 获取权重模型后即可检测近海周界作业人员.
判断油田作业现场作业人员是否近海周界区域入侵时, 设置坐标系, 获取近海周界区域坐标与被检测作业人员坐标和其边界框坐标. 均匀选取合适的80个近海区域区域坐标点围成近似的边界, 由被检测作业人员边界框的坐标计算目标面积. 当被检测目标接触边界时, 开始计算被检测作业人员边界框与边界的重叠区域是否大于边界框总面积的80%, 即可判定作业人员是否闯入近海区域.
4.2 实验分析实验将CenterNet与YOLOv3、FasterRCNN对油田作业现场人员小目标检测进行对比; 并使用本文方法与MaskRCNN结合CenterNet对油田作业现场实际检测效果进行对比实验.
第1组实验(表1), 使用CenterNet与YOLOv3、FasterRCNN在油田作业现场数据集上进行对比实验.
第2组实验(表2), 使用本文方法SOLOv2结合CenterNet的算法与MaskRCNN、SOLOv2算法分别在油田作业现场数据集上进行对比实验.
对于油田作业现场真实数据小目标检测, CenterNet比YOLOv3、FasterRCNN具有更好的检测准确性与实时性.本文方法针对油田作业现场近海周界区域入侵检测比MaskRCNN、SOLOv2在准确率上分别提升了30%和14%, 在实时性上比MaskRCNN提升了27.4%.
5 结束语本文提出SOLOv2与CenterNet结合的深度卷积网络近海周界区域入侵检测模型, 可以检测油田作业现场高精度小目标作业人员是否发生近海周界区域入侵, 不同于普遍的检测模型, 该方法首先使用SOLOv2高效地检测并提取出准确的近海周界区域, 同时还可以避免复杂背景的干扰, 提高检测精度; 再使用CenterNet进行小目标作业人员检测, 最后计算检测到的作业人员目标与墙体区域的相对位置判断作业人员是否发生近海周界区域入侵. 实验结果表明, 使用该方法能够有效地提升油田作业现场作业人员近海周界区域入侵的检测精度, 对油田数字化进程有重要参考价值.
[1] |
向翼凌, 何伟. 面向校园安全的视频区域入侵检测算法. 武汉工程大学学报, 2019, 41(1): 93-97. |
[2] |
占超. 基于视频对象和深度学习的异常行为分析系统设计和实现[硕士学位论文]. 北京: 北京邮电大学, 2019.
|
[3] |
黄鹏, 郑淇, 梁超. 图像分割方法综述. 武汉大学学报(理学版), 2020, 66(6): 519-531. |
[4] |
张晗. 基于视频分析的监所异常行为监测系统软件研发[硕士学位论文]. 杭州: 浙江大学, 2020.
|
[5] |
Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 39(4): 640-651. |
[6] |
Zhao HS, Shi JP, Qi XJ, et al. Pyramid scene parsing network. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017. 6230–6239.
|
[7] |
梁新宇, 罗晨, 权冀川, 等. 基于深度学习的图像语义分割技术研究进展. 计算机工程与应用, 2020, 56(2): 18-28. DOI:10.3778/j.issn.1002-8331.1910-0300 |
[8] |
He KM et al. Mask R-CNN. 2017 IEEE International Conference on Computer Vision. 2017. 2980–2988.
|
[9] |
Wang XL, Kong T, Shen CH, et al. SOLO: Segmenting objects by locations. European Conference on Computer Vision. Glasgow: Springer, 2020. 649–665.
|
[10] |
Wang XL, Zhang RF, Kong T, et al. SOLOv2: Dynamic and fast instance segmentation. arXiv: 2003.10152v3, 2020.
|
[11] |
许德刚, 王露, 李凡. 深度学习的典型目标检测算法研究综述. 计算机工程与应用, 2021, 57(8): 10–25.
|
[12] |
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[13] |
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016. 779–788.
|
[14] |
Milletari F, Navab N, Ahmadi SA: V-net: Fully convolutional neural networksfor volumetric medical image segmentation. Proceedings of the International Conference 3D Vision. 2016.
|
[15] |
Law H, Deng J. CornerNet: Detecting objects as paired keypoints. European Conference on Computer Vision. Munich: Springer, 2018. 765–781.
|
[16] |
Duan KW, Bai S, Xie LX, et al. CenterNet: Keypoint triplets for object detection. 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul: IEEE, 2019. 6568–6577.
|
[17] |
徐仲谋, 杨亦乐, 董飞, 等. 基于CenterNet-GYolov3的车辆检测方法. 软件, 2020, 41(5): 25-30. DOI:10.3969/j.issn.1003-6970.2020.05.005 |
[18] |
赵锐, 赵国伟, 张娟, 等. 改进CenterNet的高压输电线路巡检故障实时检测方法. 计算机工程与应用, 2021, 57(17): 246–252.
|
[19] |
Lin TY, Goyal P, Girshick R, et al. Focal loss for dense object detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327. DOI:10.1109/TPAMI.2018.2858826 |