手机版
您的当前位置: 明翰范文网 > 范文大全 > 公文范文 > HDNet:一种轻量级的无锚行人头部检测算法

HDNet:一种轻量级的无锚行人头部检测算法

来源:网友投稿 时间:2023-07-07 14:15:07 推荐访问: 头部 算法 算法工程师

林文杰 邵家玉 张 宁

(1 东南大学自动化学院,南京 210096)(2 东南大学复杂工程系统测量与控制教育部重点实验室,南京 210096)(3 东南大学教育部ITS工程研究中心,南京 211189)

视频监控技术的出现对社会的生产与发展产生了重要且深远的影响,随着视频监控摄像机被广泛地部署,视频监控的录像数据也开始了爆炸式的增长.这些与日俱增的数据,如果仅依靠人工进行维护,不仅费时费力,而且有效性也难以得到保障.在人工智能技术快速普及的背景下,越来越多的公司和学者开始尝试将计算机视觉技术和模式识别算法引入视频监控,并尝试构建智慧监控系统,使得计算机设备可以在不需要人工干预的情况下,自动完成一系列复杂的任务,例如行人检测、人流量统计、车辆异常行驶识别、危险区域闯入预警、医疗诊断等.

行人检测作为计算机视觉的重要研究方向,在生活的许多方面都有着极高的应用价值.在基于深度卷积神经网络的图像网络分类算法(AlexNet)[1]问世后,目标检测开始由传统算法全面转向深度学习算法,检测精度也有了明显的提升.目前主流的目标检测模型根据候选框生成方法的不同,可以分为单阶段目标检测算法和两阶段目标检测算法.以两阶段的算法区域卷积神经网络(region-based convolutional neural networks,R-CNN)[2]为例,其通过选择性搜索算法[3],从输入图像中筛选出可能包含检测目标的候选区域,再对候选区域进行分类和回归得到精确的检测结果,典型的算法有快速区域卷积神经网络(fast region-based convolutional neural networks,Fast R-CNN)[4]、更快速区域卷积神经网络(faster region-based convolutional neural networks,Faster R-CNN)[5]、掩码区域卷积神经网络(mask region-based convolutional neural networks,Mask R-CNN)[6]等.单阶段目标检测算法以只看一次(you only look once,YOLO) 算法[7]为例,其省略了筛选候选区域的阶段,通过回归算法直接得到目标类别和位置信息,典型的算法有遍历特征图算法(Overfeat)[8]、单步多框目标检测算法(single shot multi-box detector,SSD)[9]等.相较于复杂的两阶段目标检测算法,单阶段目标检测算法能够更好地实现检测精度与检测速度之间的平衡,已经成为目前主要的研究方向.

此外,单阶段算法根据是否使用锚框作为目标检测的先验知识,又逐渐衍生出基于锚框的单阶段目标检测算法和基于无锚的单阶段目标检测算法.基于锚框的单阶段目标检测算法有YOLOv2[10]、YOLOv3[11]、SSD[9]等,基于无锚的单阶段目标检测算法有边缘点网(CornerNet)[12]、中心点网(CenterNet)[13]、全卷积单目标检测(fully convolutional one-stage object detection,FCOS)[14]等.虽然使用锚框能够提高一定的检测精度,但往往导致网络的计算开销增加.此外,锚框大小的选择需要依赖先验知识,这会导致模型的泛化能力变差.FCOS算法使用逐个像素点预测的方式实现目标的检测,避免了锚框相关超参数选取问题和锚框所需的复杂计算.

在实际应用场景中部署的视频监控,由于光照条件变化、摄像机拍摄角度扭曲和行人之间互相遮挡等问题,行人检测任务依旧充满挑战.FCOS算法在面对行人头部检测任务时,检测效率和准确率都存在一定的提高空间.为了提高深度学习算法对于行人头部的检测效率和检测准确性,本文设计了一种基于FCOS的行人头部检测算法HDNet,提高了目标检测的准确率和检测速度.

FCOS算法是一个单阶段、无锚框、全卷积的目标检测算法,相较于基于两阶段目标检测算法,该算法具有更快的推理速度;
而相较于基于锚框的单阶段目标检测算法,该算法具有更高的精度和更强的泛化能力.FCOS算法主要由骨干网络、特征金字塔模块和预测网络模块组成.如图1所示,FCOS使用ResNet-50骨干网络提取图像的特征图,将C3层、C4层和C5层作为骨干网络的输出层,在P3~P7层中分别采用了自上而下和自下而上的特征金字塔结构[15-16](feature pyramid network,FPN),FCOS算法的预测网络模块由5个相同的预测头分支组成,每个预测分支均由分类子网络、中心度子网络和坐标回归子网络组成.

2.1 HDNet网络结构

HDNet是基于FCOS改进的轻量级行人头部目标检测算法,由骨干网络M-ShuffleNetV2、局部空间特征增强模块、全局混合特征注意力机制和预测网络4个部分组成,其整体架构如图2所示.

图2 HDNet整体架构图

HDNet网络的检测流程为:①将图片输入到M-ShuffleNetV2骨干网络中进行基础特征的提取;②将得到的特征图输入到局部空间特征增强模块和全局混合特征注意力机制模块中,加强模型的局部特征和全局特征提取能力;③将步骤②得到的特征图输入到预测网络中,用于判断目标的类别与位置坐标,并使用非极大值抑制算法滤去重复的检测框.在模型训练的过程中,使用Generalized Focal Loss[17]损失函数对模型进行优化.

2.2 轻量级骨干网络ShuffleNetV2

ShuffleNetV2[18]是ShuffleNetV1[19]的升级版,其在相同复杂度情况下,准确率优于ShuffleNetV1和 MobileNetV2[20].此外,一系列的实验证明,神经网络内存访问成本、并行度、张量运算等因素都会影响推理速度,相同每秒浮点运算次数值(floating-point operations per second,FLOPs)模型的推理速度可能会存在巨大差异.ShuffleNetV2是经分析上述条件因素后,基于通道随机混合(channel shuffle)和4个高效网络设计原则设计的高效神经网络.

本文针对行人头部检测任务的特点,在ShuffleNetV2的基础上,使用带泄露线性整流(leaky rectified linear unit,Leaky ReLU)激活函数替换线性整流(rectified linear unit,ReLU)激活函数,插入选择核单元模块(selective kernel networks,SKNet)[21],并对网络结构进行了适当的修改,提出了M-ShufflenetV2骨干网络,该网络能有效地提高模型的检测精度和泛化能力.

2.3 基于M-ShufflenetV2的骨干网络

M-ShufflenetV2网络作为HDNet目标检测模型的骨干网络,在ShufflenetV2的基础上进行了如下改进:①将ShufflenetV2中的单个3×3卷积替换为2个3×3卷积;②在神经网络的基本结构中插入SKNet;③使用Leaky ReLU函数;④使用基本结构模块替换最大池化层和第5层的卷积模块,删去全局池化层与全连接层.M-ShuffleNetV2的结构图和整体架构如图3和表1所示.图中,BN为BatchNorm,用于特征图的批量规范化.

(a) 基本结构模块

表1 M-ShuffleNetV2整体架构

图4 SKNet结构图

LeakyReLU激活函数为模型带来了非线性的特征,能够将当前的特征空间非线性地变换到另一个特征空间,在几乎不增加计算参数的情况下,提高模型的检测精度.此外,LeakyReLU激活函数解决了ReLU激活函数在输入为负时,由于梯度无法更新造成的神经元“坏死”问题.LeakyReLU激活函数的数学表达式为

式中,λ为属于(0,1)区间内的固定参数;
x为输入参数值.

2.4 局部空间特征增强模块

无论是现实场景,还是用于验证本文算法所使用的图像数据集,在大多数情况下,行人头部区域在图像中的区域占比较小,属于不易检测的中小目标.因此,针对行人头部检测的特定任务,本文设计了局部空间特征增强模块,该模块由多层特征融合模块和感受野增强模块组成,能够有效提高网络的局部特征提取能力.该模块使用M-ShuffleNetV2网络输出的第6、14、18层特征图作为输入,其具体结构如图5所示.

图5 局部空间特征增强模块的结构图

在神经网络中,高层特征图中包含大量的抽象信息,对于提高模型的分类性能有很大帮助;
低层特征图中包含大量细节信息,对于目标定位有很大帮助.因此,将这2部分的信息高效结合起来,是提高目标检测性能至关重要的一点.本文提出的多层特征融合模块结合了特征金字塔网络[16]与像素聚合网络(pixel aggregation net,PAN)[22]的特点,具体结构如图6所示.图中,可变形卷积中,3×3为卷积核,1为步长;
512为输入通道数;
256为输出通道数.

图6 多层特征融合模块的结构图

此外,ShuffleNetV2网络使用的特征提取模块只具有正方形的感受野,单一的感受野形状会对不同纵横比物体的检测能力较弱.以BrainWash数据集为例,行人头部的标注框并非全都为正方形,在拍摄角度等因素的影响下,数据集中有相当一部分的行人头部标注框长宽比并非为1∶1.BrainWash数据集中标注框的长宽比统计情况如图7所示.

对于长宽比不为1的待检测目标而言,正方形感受野并不是最好的选择,本文借鉴了RFBNet[23]结构的思想,设计了更加轻量级的感受野增强模块,该模块由2个不规则卷积分支和1个网络直连分支组成,如图8所示.

图7 BrainWash数据集标注框的长宽比统计图

图8 感受野增强模块的结构图

首先,使用1×1卷积将输入特征图的通道数降至原来的1/2,再使用非对称卷积核1×3和3×1进行卷积,提供非正方形的感受野,最后使用膨胀率为2的空洞卷积,增强模型的多尺度检测能力.感受野增强模块能够在不使用预设锚框的情况下,实现与使用锚框类似的效果,提高模型对矩形目标的检测准确率.

2.5 全局混合特征注意力模块

在行人头部检测任务中,行人的身体区域能够为行人头部的检测提供很大帮助,但受到卷积核大小和感受野范围等因素的限制,普通的卷积网络难以将行人身体区域与行人头部区域关联起来.因此,引入一个能够将全局特征进行互相关联的模块,能够很大程度地提高行人头部检测的准确率.本文在注意力机制(transformer)[24]和视觉注意力机制(vision transformer)[25]的基础上,提出了全局混合特征注意力机制模块.相较于直接在原图上进行判断的视觉注意力机制神经网络,全局混合特征注意力机制使用多份不同层次的特征图进行全局特征增强,作为目标检测的中间步骤,该部分有助于生成更加精确的目标预测框.此外,该部分对输入的特征图使用上下采样的方法,将输入的3个特征图融合为一个特征图,有效地降低了注意力机制的计算量,提高运行效率.

如图9所示,全局混合特征注意力模块的流程为:①对输入的最大特征图进行下采样,对输入的最小特征图进行上采样,将3层不同大小的特征图缩放为相同大小;②将3层特征图堆叠在一起,输入至注意力机制模块中;③将注意力机制模块输出的特征图进行上下采样,再与原特征图进行特征相加后输出.

注意力机制的结构如图10所示,先对经过上下采样和堆叠的特征图进行卷积,充分融合各特征图之间的特征,并将通道数下降至当前的1/3,接着使用平铺函数将特征图压平为一维特征向量,添加位置编码信息后,将特征向量输入至注意力机制编码模块中,最后将输出的特征向量恢复为原尺寸的特征图. 全局混合特征注意力模块不改变特征图原有的结构,仅改变网络注意力所集中的区域,可以嵌入整体模型的任意位置,具有即插即用的功能.

3.1 数据集和评价指标

本文的实验将在BrainWash[26]、Scut-Head-A[27]、Scut-Head-B[27]数据集上进行实验.表2中列出了3个数据集的一些基本信息.

BrainWash数据集是来自公共摄像机所拍摄的沿街咖啡店数据集,一共包含11 917张图像和91 146个带有标注的行人头部,平均每张图像中有7.89个行人头部目标.其中,训练集有10 917张图像和82 906个标注的行人头部,验证集中有500张图像和3 318个标注的行人头部,测试集中有500张图像和4 992个标注的行人头部.

Scut-Head数据集是来自华南理工大学用于头部检测的大规模数据集,由A、B两部分组成,一共包含4 405张图像和111 251个带有标注的行人头部,平均每张图像中有25.2个行人头部目标.其中,A部分数据集来自教室的监控视频,包含2 000张图像和67 321个带有标注的行人头部.B部分数据集来自互联网爬虫,包含2 405张图像和带43 930个带有标注的行人头部.Scut-Head 数据集的2个部分都再细分出各自的训练集和测试集.

本文的实验结果使用平均精度(average precision,AP)进行评估.交并比(intersection over union,IOU)的阈值设置为0.5,当IOU的值大于0.5 时,认为检测结果正确;
否则,认为检测结果错误.计算平均精度需要检测的准确率(precision)和召回率(recall),并使用二者来绘制PR曲线,平均精度为PR曲线下的面积值.

3.2 算法检测精度对比实验

针对HDNet的各个模块,本节将对其包含的4个消融因素,即骨干网络、局部空间特征增强模块、全局混合特征注意力机制模块和Generalized Focal Loss,在BrainWash数据集上进行如下方式的消融分析:①使用FCOS中原有损失函数;②对比ShuffleNetV2与M-ShuffleNetV2;③在M-ShuffleNetV2中分别添加局部空间特征增强模块、全局混合特征注意力机制模块、Generalized Focal Loss;④在M-ShuffleNetV2中添加不同的组合模块.消融分析结果如表3所示.

表3 消融实验结果

除了消融实验外,将本文提出的算法与几个具有代表性的检测器进行比较,验证算法的有效性.从表4中可以看出,本文提出的算法在BrainWash数据集上的平均精度达到了92.0%,比HeadNet精度高0.7%;
由表5可以看出,本文提出的算法在Scut-Head两部分数据集上的平均精度分别达到了91.9%和92.3%,比文献[32]算法精度提高2.5%和3.1%.实验结果表明,HDNet模型能够高效地完成行人头部特征的提取任务.

表4 在BrainWash数据集上与其他算法的对比结果

表5 在Scut-Head数据集上与其他算法的对比结果

3.3 算法运行效率对比实验

衡量一个模型的优秀与否,除了检测精度外,模型的运行效率也是一个重要的衡量指标,本节实验所使用的计算机配置为GPU:NVIDIA GeForce RTX 3060 Laptop GPU;CPU:I7-11800H @ 2.3 GHz.输入图像的尺寸为512×512像素.

本节使用浮点运算数、模型参数量和每秒传输帧数作为算法运行效率的评价指标.其中,浮点运算次数(floating point operations,FLOPs)和模型参数量指标从模型所需要的计算量角度间接反映出模型计算速度,每秒传输帧数(frames per second,FPS)指标则是直接反映出模型在当前设备的运行效率.

由表6分析可得,本文所提出的算法在检测速度上能持平或领先相关主流算法.算法的每秒传输帧数为54.0,优于YOLOv3算法的52.1和FCOS算法的28.1.此外,在对全局混合特征注意力模块进行的消融实验中可以看出,由于仅使用了最基本的结构,优化后的注意力机制编码模块并不会显著降低算法的每秒传输帧数.

表6 与其他算法检测效率的对比结果

3.4 可视化分析

在图11中展示了BrainWash数据集和Scut-Head数据集的检测结果,可以看到 HDNet算法的检测正确率很高,对于小目标的检测效果也比较好,没有发生误检和漏检的情况.此外,如图11(a)所示,HDNet可以通过行人未被遮挡的部分身体,推断出被遮挡的行人头部坐标,证明了本文提出的算法具有良好的性能.

(a) BrainWash数据集

1) HDNet网络中设计并使用了M-ShuffleNetV2网络替换原有的ResNet50网络,在对网络基本结构进行改进的基础上,对激活函数进行替换,并引入了选择核单元模块.

2) 设计并使用了局部空间特征增强模块,将多层特征融合模块与感受野增强模块相结合,有效地提高了网络对小目标的检测精度.

3) 设计并使用全局混合特征注意力模块,通过引入视觉注意力机制,充分关联特征图中各部分的有效信息,提高行人检测的准确率.

4) 本文使用Generalized Focal Loss损失函数在相关数据集上进行对比实验和消融实验.结果表明,本文所提出的方法在公开数据集BrainWash、Scut-Head-A和Scut-Head-B上的平均精度分别为92.0%、91.9%和92.3%,优于其他相关算法.在检测效率方面,算法的每秒传输帧数为54.0,优于YOLOv3算法的52.1和FCOS算法的28.1 .

猜你喜欢头部行人注意力让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09自动驾驶走向L4 企业头部效应显现汽车零部件(2021年9期)2021-09-29毒舌出没,行人避让意林(2021年5期)2021-04-18火箭的头部为什么是圆钝形?军事文摘(2020年22期)2021-01-04如何培养一年级学生的注意力甘肃教育(2020年22期)2020-04-13路不为寻找者而设扬子江(2019年1期)2019-03-08我是行人小天使·一年级语数英综合(2017年6期)2017-06-07曝光闯红灯行人值得借鉴汽车与安全(2016年5期)2016-12-01A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21蚝壳巧制作早期教育(美术教育)(2010年7期)2010-06-28

明翰范文网 www.tealighting.com

Copyright © 2016-2024 . 明翰范文网 版权所有

Powered by 明翰范文网 © All Rights Reserved. 备案号:浙ICP备16031184号-2

Top