蒲安会
(东华大学信息科学与技术学院,上海 201600)
随着城市经济的发展,在现代社会地铁已经成为人们出行的主流方式,地铁的高安全性使人们的出行安全得到了保障。因此,越来越多的人选择地铁出行。由于地铁运营的载客运营容量大,人口流动性大,车内空间狭小。因此,地铁中各种突发情况、不文明行为越来越多,而地铁的管理人员不能够及时地发现这些行为和情况,导致各种悲剧的发生。地铁上的不文明行为有很多种类型,例如在车厢里嬉戏打闹、扔垃圾、打架以及躺在座位上占座等。而突发晕倒情况也屡见不鲜,没有及时抢救的话很有可能造成悲剧。
针对上述问题,本研究的意义重大,在乘客倒地、不文明行为、不佩戴口罩等情况下能够及时的检测到并报警,方便地铁工作人员及时处理上述情况。
本文以深度学习为背景,将人工智能与图像识别相结合,针对地铁上人的各种违规行为,将深度学习应用于关节点检测。
本文的实际应用情况选取了HigherHRNet 模型,HigherHRNet 模型是目前在多人关节点识别任务bottom-up 中最先进的算法,模型不仅在关节点定位上更加准确,还能够识别图片中人物较小的关节点。然而该模型在实际应用中存在模糊图像无法检测到关节点、镜像图像的干扰、非正常姿势关节点检测不全等问题,本文分别进行了超分辨率重建[1-4]、双阈值、修改关节点之间的强相关的方法从而解决了上述三个问题。
本文主要应用场景是地铁车厢,因此本文的关节点检测面向很多人,多人关节点检测分为自上而下和自下而上。自上而下的含义是先检测出多个人,然后再对每个人进行关节点检测。自下而上的含义是先检测出所有关节点,再判断关节点属于哪个人。
上述的方法都是分为两步,即先检测出所有的关节点,然后将关节点分类到每个人身上,但是这样做的结果会导致效率变低。2019 年,Nie[5]提出了single-stage 的方法,该方法不同于以往的关节点拼接成完整的人,而是直接预测人。主要方法是对Heatmap 进行回归得到一个root joint 关节点,这个节点就是人的形心,然后将得到的各个关节点的offset 与形心的向量,然后用8 个hourglass 网络结构来训练预测这些偏移量。
目前人体关节点数据集分为单人数据集和多人数据集,含义是一张图片中标注了一个人的关节点和一张图片中标注了多个人的关节点,上述两种数据集都对本文的研究有所帮助,因此本文的数据集是两种数据集的融合。
HigherHRNet[6]模型是目前在多人关节点识别任务bottom-up 中最先进的算法,模型不仅在关节点定位上更加准确,还能够识别图片中人物较小的关节点。
HigherHRNet 在HRNet[7]的基础上进行了改进,作者发现目前的研究对图像中小尺度的人物关节点检测任务精度都不高,因此其主要研究重点放在了应对尺度变化,即在不牺牲大人体性能的情况下提高小人体的性能以及生成高质量的高分辨率热图,从而精确定位小型人群的关节点。
作者提出了尺度感知高分辨率网络HigherHRNet,通过新的高分辨率特征金字塔模块生成高分辨率热图。作者在HRNet的1/4 分辨率路径上构建高分辨率要特征金字塔,以使其高效。为了使HigherHRNet 能够处理尺度变化,进一步提出了一种多分辨率监督策略,以将不同分辨率的训练目标分配给相应的特征金字塔级别。最后,我们在推理过程中引入了一种简单的“多分辨率热图聚合”策略,以生成尺度感知的高分辨率热图。
图1 是网络结构的示意图,首先网络是一个Stem 结构,由两个3×3 卷积层组成,步长为2,得到了1/4 分辨率的输出,之后进入到HRNet 网络结构,经过该结构后得到原始图像1/4 分辨率的热图,之后用多个反卷积模块来生成多分辨率和高等分辨率热图。反卷积模块将来自HRNet 的特征和预测热图作为输入,并生成分辨率比输入特征图大2 倍的新特征图。
图1 HigherHRNet 模型结构示意图
因此,反卷积模块会与HRNet 的特征图一起生成具有两种分辨率的特征金字塔。反卷积模块还通过添加额外的1×1 卷积来预测热图。
2.2.1 HigherHRNet 模型的结构应用改进
在实际应用的情况下,摄像机拍摄到的图片或者视频不全是高清的,也有模糊的,如图2 所示,当人物在图中分辨率高时,可以检测出来所有的关节点,而当目标人物在图中比较模糊时,模型无法检测到关节点。而如何在此情况下准确地定位出人类关节点成为实际应用的难点。
图2 HigherHRNet 模型检测模糊的照片效果图
本文首先在网络中加入了超分辨率重建技术以提高图片的清晰程度,使进入到高分辨率特征金字塔之前图片是足够清晰的,为了达到实际应用的要求,首先重构的分辨率要满足HigherHRNet 的输入要求,使网络能够顺利检测出关节点,其次分辨率结构不能太过复杂,需要满足实时性的要求。
2.2.2 HigherHRNet 模型的输出应用改进
改进一:在地铁车厢中,根据实际情况我们知道车厢中摄像头拍摄的图片并不是完美的,例如在夜晚时,地铁窗口会反射人的影子,由于模型对能够适应光线的变化,因此导致模型会预测镜子中的关节点,如图3 所示。
图3 镜子中反射的人形
本文对HigherHRNet 模型进行了后处理,采用的方法是双阈值法[8-9],根据两个阈值来剔除掉镜子中反射的人物。由于每个车厢都有摄像头,因此不存在特别小的人物。然而如果去掉生成高分辨率热图的操作,虽然能够筛选掉图片中的小人物,但也会使关节点的定位不准确,原因是当像素高的时候,单个像素占图像的比例很小,而模型是对单个像素进行识别,因此定位非常准确。
本文改进的方法是利用各个关节点之间的连线来判断否是镜子的反射,判断分为两步,第一步是将17 个关节进行连线,关节点分别表示为I1,I2,I3,…I17,共16 条连线,如式(1)所示:
Sb为设定的长度阈值,大于该阈值为现实中的人,小于该阈值为镜像中的人。
在第一步之后,进行第二步判断,判断的标准如式(2)至式(4)所示:
Wx、Wy表示所有关节点横向和纵向的距离,I1x表示所有关节点横向坐标,I1y表示表示所有关节点纵向坐标,S 表示面积。
这里用的双阈值的判别法,只有当所有关节点连线求和面积都满足阈值要求时,则判断该目标是现实中的人。
改进二:HigherHRNet 模型在关节点回归时,一个目标的17个关节点是相互影响的,互有联系的。这是由于每识别出一个关节点a,a 关节点会向其它关节点延伸形成向量,例如a 关节点向b 延伸出向量ab,而b 关节点时同样会向a 延伸出向量ba,当ab 和ba 重合度高时,则认为定位的关节点是正确的。而在实际应用中,我们发现目标人物的关节点会被物体挡住,不能全部检测出,这就导致了模型在回归关节点时不够准确。
由于模型的训练集图片基本都是站立姿势,关节点的延伸也是按照正常人站立姿势延伸的,这就导致了模型不仅无法学习到躺卧姿态人的特征,也使关节点回归不准确。模型仅识别除了6 个关节点。如图4 所示。
图4 躺卧姿态的人
本文修改了模型中判断两个关节点相互联系的阈值,使非完全重合的两个关节点延伸向量也能够输出出来,这个阈值代表了上述的ab 和ba 向量的重合度。
我们首先选取cowdpose 数据集来做实验,其次针对拍摄图片不清晰的情况,我们增加了1000 张模糊的人体图片。
研究将改进的模型在修改之后的数据集上进行了训练,热图的损失函数和关节点的损失函数如图5 和图6 所示,关节点标签、关节点预测如图7 和图8 所示。最后与原始的HigherHRNet 模型进行实验对比,为了保证实验的公平性,本文在数据集中加入了模糊的图片,其它参数不变,实验结果如表1所示。模型相差不大,有细微的提升,主要是由于自己标注的模糊图片数量较少,只占很小的一部分。通过对比效果图片,可以看出差别,如图3 和图9 所示。
图9 改进之后的模糊图片实验效果图
表1 原模型与改进之后的模型对比
图5 热图损失
图6 关节点损失
图8 关节点预测
模型的输出应用改进的实验验证:
本文将新的图片分别输入到原始的模型和经过后处理之后的模型中,得到的结果如图10 和图11 所示。
图10 输出阈值改进之后的关节点检测图
图11 模型输出后处理之后的关节点检测图
本文首先简单介绍了现阶段关节检测的研究进展,掌握了国际上关节点检测的最新动态和改进的方向。然后选取了HigherHRNet 模型作为主要的网络结构,并在此模型的基础上,针对本文的应用场景,做出了应用方面的改进,包括网络结构的改进和模型输出的改进。最后对改进后的模型进行了实验,并做了可视化展示。