基于部分共享网络和余弦间隔损失函数的行人搜索方法与流程

文档序号:20919855发布日期:2020-05-29 14:00阅读:257来源:国知局
本发明涉及计算机视觉应用
技术领域
:,特别是涉及一种基于部分共享网络和余弦间隔损失函数的行人搜索方法。
背景技术
::行人重识别旨在从无重叠视域的多摄像机监控系统中匹配出目标行人,是计算机视觉领域中一个十分重要并且发展速度很快的研究领域。目前,行人重识别在视频监控领域已经有了很多的应用,例如从人群中搜索犯罪嫌疑人,跨摄像头行人跟踪,行人活动分析等,对保障公众生命财产安全有着十分重要的意义,因此,近年来行人重识别技术引起了学术界和工业界的广泛研究。虽然目前已经有很多行人重识别的数据集和相关算法被提出,但是行人重识别技术本身和现实生活中的实际应用仍然存在着一个巨大的鸿沟:即在大部分的行人重识别研究中,都以剪切好的行人图像作为将要查询的数据集,但是在现实场景下,监控系统采集的图片都是场景图片,需要先从场景图片中检测出所有的行人后,再进行目标行人查询。因此,实际应用中需要将行人检测和行人重识别任务结合起来,同时处理这两种任务。行人搜索旨在将行人检测和行人重识别同时处理,从场景图中检索出目标行人,是近年来出现的新颖课题,得到了学术界和工业界的广泛关注。过去几年,有很多行人搜索的算法被提出,这些算法大致可以被分为两类:两步骤的算法和端到端的算法。两步骤算法使用行人检测模型和行人重识别模型对这两个任务分别处理,将场景图片作为输入,先进行行人检测,在得到检测的行人切片后,再将行人切片作为行人重识别网络的输入进行匹配;端到端算法则利用一个联合优化的深度学习模型,通过设置包含行人检测和行人重识别的多损失函数,将这两个任务进行统一处理。从理论上讲,端到端的行人搜索算法比两步骤算法具有更多优势,例如:行人检测和行人重识别可以通过联合优化来互相促进,使得行人误检测的概率降低,识别的准确率提高,同时,它们两者共享特征层也会使得行人搜索更有时间效率。然而,端到端的模型总是面临这三个重要的问题。第一个是行人检测和行人重识别共享特征会影响模型的性能。第二个是端到端模型由于使用了多任务学习的方式,其模型性能非常依赖行人检测和行人重识别损失函数之间权重的合理设置。最后一个是在端到端行人搜索网络中广泛使用的行人重识别损失函数oim损失函数缺少对行人的区分能力,因为其只考虑了正确地区分不同类样本,却忽略了优化同类样本之间的相似性。技术实现要素:本发明所要解决的技术问题是提供一种基于部分共享网络和余弦间隔损失函数的行人搜索方法,能够降低行人检测和行人重识别之间的相互干扰。本发明解决其技术问题所采用的技术方案是:提供一种基于部分共享网络和余弦间隔损失函数的行人搜索方法,包括以下步骤:(1)构建神经网络结构,包括行人建议网络和行人重识别网络;所述神经网络结构采用resnet-50作为基础网络,所述resnet-50包括卷积层conv1和四个卷积层组conv2_x到conv5_x,其中,每个卷积层组分别有3,4,6和3个残差单元;(2)将图片输入至所述神经网络结构,所述神经网络结构的conv1到conv3_4作为主干网络提取浅层特征图,所述浅层特征图由行人建议网络和行人重识别网络共享;(3)当所述浅层特征图被提取出来后,会进入两条支路;第一条支路将所述浅层特征图送往复制的卷积网络层组conv4_1到conv4_3进行进一步的特征提取,然后被送往行人建议网络中产生多个行人建议框;第二条支路将所述浅层特征图送往兴趣池化层,并将所述行人建议网络得到的行人建议框作为感兴趣的区域,在浅层特征图中池化出每个框对应的行人特征图;(4)将所述行人特征图输入至由卷积层组conv4_1到conv5_3构成的行人重识别网络,输出深层行人特征图,通过全局平均池化层进行池化,最终将每个行人特征图映射为一个a维的行人特征向量。所述步骤(1)中的神经网络结构采用多损失函数进行训练,总的损失函数的形式表示为:行人建议网络损失函数+r*行人重识别网络损失函数,其中,r为调节参数,通过对r的调节缓解行人检测和重识别之间的相互干扰。所述行人重识别网络损失函数采用余弦间隔损失函数,表示为:其中,n表示一个训练批次中的有标签样本总数,s为尺度参数,θj,i表示第i个样本xi和有标签类别的行人特征向量vj的夹角,m为表示引入的余弦间隔,l表示有标签样本的类别总数,q≈l,ψk,i表示第i个样本xi和无标签类别的行人特征向量uk的夹角。对有标签类别的行人特征向量vj的更新方式为:其中,nt表示一个训练批次中类别为t的样本总数,ci表示第i个样本xi作为行人的置信度,μ是一个随着训练周期增大而增大的变量。所述步骤(1)中的行人建议网络采用fasterr-cnn的结构。所述步骤(4)后还包括:使用一个全连接层将a维的行人向量映射到b维的特征子空间中,然后再对b维特征子空间的行人特征进行l2-正则化以防止过拟合。有益效果由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明采用的部分共享网络可以通过合理地减少行人检测和行人重识别部分共享的网络层,从模型结构的角度有效地减轻它们之间的相互干扰,使它们更加专注各自的任务。本发明通过设置正确的权重使整个网络收敛到了更理想的参数空间。本发明还给oim损失函数引入了一个余弦间隔,增大了同类样本的聚集性,使得学到的特征具有更强的区分性。本发明为行人重识别损失设计了一个新颖的更新策略,实验证明该策略更加鲁棒。最后,在两个标准数据集上进行了大量实验,最终证明本发明在map和top-1评价指标上比现在的端到端行人搜索模型性能更好,具有更强的实用性。附图说明图1是本发明的网络结构图。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明的实施方式涉及一种基于部分共享网络和余弦间隔损失函数的端到端行人搜索方法,包括以下内容:设计了一个新的神经网络结构,让行人检测和行人重识别部分共享更为浅层的特征,使得它们更加专注各自的任务,从改进模型结构的角度,在一定程度上减轻它们之间的相互干扰。深入研究了多损失函数联合优化中,行人重识别损失函数的权重对模型优化的影响,通过设置合理的损失函数参数,从优化角度缓解行人检测和重识别之间的相互干扰。对广泛采用的oim损失函数进行了改进:提出了更加鲁棒的查找表更新策略,将余弦间隔加入到oim损失函数中以减小同类样本之间的距离,最终使得网络学习的行人特征更加具有区分性。整个神经网络架构如图1所示。本实施方式提出的部分共享网络由提出的端到端行人搜索网络改进而来。具体来说,采用了resnet-50作为基础网络。resnet-50由卷积层(conv1)和四个卷积层组(conv2_x到conv5_x)组成,每个卷积层组分别有3,4,6,3个残差单元。本实施方式使用了conv1到conv3_4作为主干网络,所提取的浅层特征由行人建议网络(pedestrianproposalnetwork,ppn)和行人重识别网络(identificationnet,idnet)共享。当浅层特征被提取出来后,会进入两条支路。第一条支路将浅层特征图送往复制的conv4_1到conv4_3(与idnet中的对应网络层不共享参数)进行进一步的特征提取,然后被送往ppn中产生多个行人建议框。第二条支路将浅层特征图送往兴趣池化层,将ppn得到的行人建议框作为感兴趣的区域,在浅层特征图中池化出每个框对应的行人特征图。每个框对应的行人特征图尺寸为512×40×20,且ppn的结构和fasterr-cnn中的区域检测网络结构一致。idnet则由conv4_1到conv5_3组成,输入为池化得到的行人特征图,输出具有高级分类语义的深层行人特征图,然后通过全局平均池化层(globalaveragepooling,gap)进行池化,最终将每个行人特征图映射为一个2048维的行人特征向量。严格来说,idnet只应该关注行人重识别任务,不应该包含行人检测部分。然而,通过实验发现在idnet之后保留行人前背景分类层和边框回归层会使得检测结果更好,因为可以利用高级语义进一步消除误检测的行人。对于行人重识别部分,首先使用一个全连接层将2048维的行人向量映射到256维的特征子空间中,然后再对256维的行人特征进行l2-正则化以防止过拟合。整个网络使用多损失函数进行训练,总的损失函数组成如公式1所示。其中,前面四个损失函数构成了fastr-cnn损失。在部分共享网络中,行人检测和行人重识别任务共享的网络层由conv1到conv3_4组成,部分共享网络使这两个任务共享了更为浅层的特征,同时,使它们拥有更多网络层去更加专注各自的任务。再者,部分共享网络将行人池化特征图的高宽比固定为2:1,这种池化方式更加适合行人建议框。通过采取这种折衷的方式,由共享特征导致的行人检测任务和行人重识别任务之间的相互干扰可以被有效地缓解,同时,共享的有用浅层特征信息也得以保留。在获得了经过l2-正则化后的256维行人特征向量后,已有算法提出了onlineinstancematching(oim)损失函数作为行人重识别任务的损失函数。oim损失函数维护了两个在线更新的额外缓存:一个查找表(lookuptable,lut)和一个循环队列(circlequeue,cq)其中,d是向量维度,l是有标签样本的类别总数,q是一个和l相近的值。v的作用是维护有标签类别的行人特征向量,u的作用是维护无标签类别的行人特征向量。oim损失函数的表达式如公式2所示。其中,n表示一个训练批次中的有标签样本总数,xi表示第i个样本,是一个维度为256维的l2-正则化特征向量,其标签为t(t∈[1,c],c表示类别总数)。经过每次迭代后,lut和cq都会进行更新,已有算法的更新策略如公式3所示:vt=γvt+(1-γ)x(3)其中,x表示类别为t的行人特征向量,这个公式会依次序对每个类别为t的行人特征向量执行。这意味着后更新vt的特征向量实际上具有更大的权值。和这种方法不同,本实施方式提出了一个更为有效的更新方式:其中,nt表示在以一个训练批次中类别为t的样本总数,ci表示样本xi作为行人的置信度,由idnet的分类层获得。同时,和公式3中γ被设置为一个固定常数不同,μ是一个随着训练周期增大而增大的变量。这样的更新策略主要基于如下两个考虑:(1)因为在同一个批次中提取出的行人特征向量并不具备先后顺序,所以利用它们的加权平均信息进行更新是比按次序进行更新更加鲁棒的方法。(2)在训练初期,因为得到的行人特征并不是很准确,此时vt并不是很可靠,所以需要设置一个较小的μ值使得vt能够更加快速的更新。当训练到一定阶段,vt变得更加稳定后,μ值需要减小以抵抗不确定的干扰噪声。因为所有的特征都是l2-正则化的,因此,公式2可以被重写为:其中,θj,i表示xi和vj的向量夹角,ψk,i表示xi和uk的向量夹角,s为尺度参数,其值等于1/τ。由公式5得知,oim损失函数的目标是最大化x和其对应标签的v向量的余弦相似度,然而,它并没有显式地减小同类样本间的差异,这使得学习到的行人特征不具有足够强的区分性。为了解决这个问题,本实施方式为oim损失函数引入了一个余弦间隔,这个余弦间隔可以很自然地融合到oim损失函数的余弦表达形式中。形式上,提出的余弦间隔oim损失函数(cm-oim)表达式为:其中,m是一个超参数,表示所引入的余弦间隔。cm-oim损失函数可以使得样本空间中,不同类样本之间的差异性更大,同时,同类样本间的相似性也得到了增强,最终让学习到的特征具有更强的区分性。将本发明的方法经两个广泛使用的大规模数据集cuhk-sysu和prw进行实验验证,在cuhk-sysu取得83.5%的map,在prw取得32.8%map,结果表明该方法比其他常规方法更优的行人搜索性能。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1