张俊凯
(中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
随着电子信息技术的飞速发展,无人机巡逻安全监控系统作为属于城市安防工程的重要组成部分,受到了越来越多的重视。目前,无人机巡逻安全监控系统通常应用于道路、广场等公共场合,已经对维护公共安全、解决取证困难、协助公安部门破案提供了极大帮助。在无人机巡逻安全监控系统中,行人监控和危险分子识别是一个重要的组成部分,行人监控能够对造成刑事案件的嫌疑人进行追踪,还可以协助进行走失人员的查找[1]。
传统对嫌疑目标的搜索方案主要是通过调集警员观看大量的监控视频进行人工比对。一方面,耗费的人力成本越来越高。其次,传统人工比对的方式获得的识别结果受人本身因素影响大。行人重识别技术正是为了解决这个问题而提出的[2]。行人重识别即在行人检测的基础上,对行人进行进一步识别以判断其身份的技术[3-4]。行人重识别根据从输入的目标行人图像提取到的特征,在无人机巡逻安全监控系统中自动查找出该目标行人的其他图像[5-7]。其针对实际场景中行人普遍都处于运动过程且受到视角变化、行人姿态变化、摄像机低分辨率、目标遮挡以及光照条件变化等因素的影响难以进行人脸比对的场景[7-8]。
本文将基于基础卷积操作的轻量化方法,进行基础模块的多层级多视野架构设计,使用整体结构搜索设计技术,完成总体结构设计,实现无人机视角下的行人重识别技术。
针对传统3x3卷积结构运算量大的问题,对卷积结构进行改进,在传统的卷积结构中,每个输入通道都通过一个卷积算子和所有输出通道进行信息交互。对传统卷积结构进行改进,如图1所示:
针对每个输入特征通道,图1中的结构利用N个K×K卷积核进行特征提取,由于这些卷积核是线性相关的,因而这种冗余会占用大量的存储空间,并耗费巨大的运算量。在图1的结构中对每组N个K×K卷积核进行主成分分析,提取出不相关的主成分,将模型进行充分的精简。具体操作方法是,将每个输入通道对应的维度为N×K×K的卷积参数表示为G个K×K卷积核的线性组合,G为主成分的数量,线性组合的实现方式为1×1卷积。将输入的M个通道分为M组,每组有G个独立的卷积核,并用1×1卷积将其线性组合成N个K×K卷积核。
精简后模型的总计算量为
深度可分离卷积相对传统卷积的计算量
通常情况下,G取1至3,因此运算量能够得到极大的精简。图1中的结构被用来建立整个模型的基础计算单元,如图2所示:
图2 重识别模型的计算模块
图2(a)所示为轻量化卷积模块Lite,其首先通过1×1卷积对输入特征通道进行信息融合,接下来利用1中的K×K卷积进行特征提取,最终利用1×1卷积进行进一步信息融合,获得输出。图2(b)是利用多通道进行多层级信息处理的计算架构,其中每一路包含不同数量的Lite模块,不同分支能够提取不同层次的图像特征。每个分支的最后利用聚合模块(Aggregation Block,AG)将不同通道的特征分别进行加权。AG模块的结构由一个全局池化层和两个全连接层组成,如图3所示,全局池化层融合各个特征通道的空间信息,后续的两个全连接神经网络层负责对池化层的输出进行信息整合,最终获得不同特征通道的权重,并将计算出的权重对相应特征通道进行加权。图2(b)中四个通道加权后的特征在级联之后利用1×1卷积层进行整合,获得输出特征。
图3 级联模块(AG Block)组成结构和原理说明
在进行整体结构设计之前,首先考虑引入归一化模块,降低真实世界图像在风格、光照、环境、相机位置等方面的变化带来的影响。由于需要遍历的模型较多,采用One-Shot NAS(Neural Architecture Search)方法,将所有候选结构以0-1编码方式集成到一起再进行搜索。在图4中,图4(a)是一个简单的链式神经网络,如果将其每一层可以选择的操作算子进行限制,例如限制为只能从三种操作算子之一进行选取,而在图4(b)中所表示的网状网络就是代表这一简单链式神经网络的超网络。每一个合法的链式神经网络都是这一超网络的子图。
图4 One-Shot 架构搜索方法原理示意
One-Shot的模型设计过程分为三个阶段:第一阶段,根据搜索空间 训练权重为W的超网络S,W中既包含卷积权重,也包含0-1编码的结构信息,如果某一候选结构训练后编码为0,则此结构不包含在最优模型中。训练过程描述为:
其中Ltrain()为目标函数,其随着模型精度提升而降低,随着模型复杂度降低而降低,当精度和复杂度达到最佳平衡时,Ltrain()数值最低。
最终模型结构设计如图5所示:
图5 行人重识别模型总体结构
模型输入为RGB图像中的行人区域,针对每个区域输出一个长度为512的特征向量,模型分为四个串行阶段,每个阶段按照统一分辨率处理图像,并由普通卷积层与利用NAS方法优化获得的多个模块组合而成,整个模型中共计有6个NAS优化获得的模块。由于在搜索过程中兼顾了精度和运算复杂度的考量,最终模型针对输入尺寸128*64的浮点操作数为0.96GFlops,能够在常见嵌入式芯片上达到40fps以上的理论计算量。
指标包含Rank-n(n=1,2,5,10,15…)和mAP(mean Average Precision)。由于重识别任务类似于分类任务,模型对每个输入行人区域都会输出一系列概率值,对应于该行人属于不同身份的概率。针对某一个行人目标,如果模型预测的其最可能属于的n个身份中包括该人的真实身份,则该人的Rank-n对应的精度为100%。通过将所有测试行人的指标进行平均可获得该数据集的Rank-n对应的精度。精度随Rank变化的曲线为CMC(Cumulative Matching Characteristics)曲线。
mAP是测试集中所有输入行人的AP(Average Precision)的平均值,而每个行人的AP又指Precision(准确率)的平均值。
由于雇佣演员拍摄成本较高,因而拍摄场景中行人目标较少(少于50人),为了更好的反映算法效果,在公开的大数据集(包含超过1000个行人身份)上进行测试。数据集中包含1501个行人身份和32688张图像,并充分涵盖了场景的变化、尺度、遮挡以及人数密集等会对识别效果产生影响的因素。在Rank-1,Rank-5,Rank-10,Rank-20下对模型进行测试,并求测试数据集中的mAP数值,结果图6所示:
图6 行人重识别测试结果
测试数据集中的mAP数值为75.0%,Rank-1为91.2%,Rank-5为96.6%,Rank-10为97.9%,Rank-20为98.5%,显著高于当前研究现状。
本文设计的基于无人机图像的行人重识别技术基于基础卷积操作的轻量化方法,设计了一种基础模块的多层级多视野架构,使用了整体结构搜索设计技术,完成的总体结构设计实现了无人机视角下的行人重识别技术。实验证明,本文算法在无人机视角下的图像中,克服了摄像头位置较高、视角较偏的难题,获得了较好的行人重识别效果。