自适应网络的行人重识别方法、装置、设备及存储介质与流程

文档序号:17892935发布日期:2019-06-13 15:47阅读:133来源:国知局
自适应网络的行人重识别方法、装置、设备及存储介质与流程

本发明涉及图像处理技术领域,特别是涉及一种自适应网络的行人重识别方法、装置、设备及存储介质。



背景技术:

行人重识别(personre-identification,re-id)也称行人再识别,即,判断不同位置的摄像头在不同时刻拍摄到行人目标是否是同一人,可用于视频监控等方面。传统地,通过提取行人图像的人工设计特征并对提取的人工设计特征进行比对而实现行人重识别,由于待识别的行人图片与原图片拍摄于不同的相机,设备的差异会给成像条件带来误差;不同的场景下的环境不一致,采集的数据也会产生不同的偏差;且光照的改变会使得同一种颜色的表现不同;更重要的是,行人在摄像头下的姿态变化以及遮挡问题,都使得对同一个人的辨别难度相当大。

然而,现有的行人重识别过程中,需要结合全局特征与局部特征才能较好地表达行人图像,从当前业界的行人重识别研究情况来看,如果要达到一定的识别率,需要设计gloable分支和一系列细粒度patch分支的网络结构来合理融合行人图像的全局特征和局部特征,由于不同的场景下的环境不一致,采集的数据也会产生不同的偏差;而图像识别算法自身对场景数据的过度依赖,导致不同场景的数据可能需要对细粒度特征的划分方式不同,而依靠人工实验来确定细粒度特征划分不仅工作量大,还很难找无法找到与当前应用场景匹配最合适的网络结构。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种自适应网络的行人重识别方法、装置、设备及存储介质,用于解决现有技术中的行人重识别无法根据当前场景自适应匹配合适的网络结构问题。

为实现上述目的及其他相关目的,本申请的第一方面,本发明提供一种自适应网络的行人重识别方法,包括:

获取行人视频,利用行人检测算法提取所述行人视频中行人图像;

根据当前场景自适应调整冗余的残差网络结构至最佳网络结构;

利用基于残差网络的所述最佳网络结构提取待测的所述行人图像的特征向量;

识别待测行人与预设行人之间的特征向量的余弦相似度得到行人重识别结果。

本申请的第二方面,提供一种自适应网络的行人重识别装置,包括:

行人检测模块,用于获取行人视频,利用行人检测算法提取所述行人视频中行人图像;

自适应网络结构,用于根据当前场景自适应调整冗余的残差网络结构至最佳网络结构;

特征提取模块,用于利用基于残差网络的所述最佳网络结构提取待测的所述行人图像的特征向量;

行人重识别模块,用于识别待测行人与预设行人之间的特征向量的余弦相似度得到行人重识别结果。

本申请的第三方面,提供一种自适应网络的行人重识别电子设备,包括:

一个或多个处理器;

存储器;以及

一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行上述自适应网络的行人重识别方法的步骤。

本申请的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述自适应网络行人重识别方法的步骤。

如上所述,本发明的自适应网络的行人重识别方法、装置、设备及存储介质,具有以下有益效果:

本发明从精到粗自动划分冗余残差网络结构中的patch分支,直到匹配到当前场景下的最佳(合适)网络结构,减少为了获取最佳网络架构而进行反复人工设计与实验所付出的巨大工作量,同时,能够自适应在满足指标的前提下得到更精简的网络结构,避免了因人为因素导致的误判,更适合多个场景之间的自由切换,便于后续场景场景扩展。

附图说明

图1显示为本发明提供的一种自适应网络的行人重识别方法流程图;

图2显示为本发明提供的一种自适应网络的行人重识别方法中步骤s2的流程图;

图3显示为本发明提供的一种自适应网络的行人重识别方法中步骤s4的流程图;

图4显示为本发明提供的一种自适应网络的行人重识别装置结构框图;

图5显示为本发明提供的一种自适应网络的行人重识别电子设备结构框图。

元件标号说明:

1行人检测模块

2自适应网络结构

3特征提取模块

4行人识别模块

s1~s4步骤1至4

具体实施方式

以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。

在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变.下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定.这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。

虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一预设阈值可以被称作第二预设阈值,并且类似地,第二预设阈值可以被称作第一预设阈值,而不脱离各种所描述的实施例的范围。第一预设阈值和预设阈值均是在描述一个阈值,但是除非上下文以其他方式明确指出,否则它们不是同一个预设阈值。相似的情况还包括第一音量与第二音量。

再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示.应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加.此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合.因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。

请参阅图1,为本发明提供的一种自适应网络的行人重识别方法流程图,包括:

步骤s1,获取行人视频,利用行人检测算法提取所述行人视频中行人图像;

其中,行人视频是指带有监控功能的摄像头拍摄的连续的多帧图像(原始图像)。行人图像是指原始图像中包含有行人的图像。可以理解地,一帧图像中可能没有行人(如原始图像都是背景),也可能有多个行人。即检测图像可以为复数幅,若检测图像为复数幅,则分别对每一幅行人图像来执行本实施例的技术方案即可。

在一具体实施方式中,原始图像的获取,即,原始图像可从一个视频序列中获取得到的,客户端还可以从视频序列中获取原始图像,再将原始图像发送到服务端,也可以直接将视频序列发送到服务端,服务端再从视频序列中获取原始图像,再采用行人检测算法对原始图像进行检测,得到待测的行人图像。

其中,行人检测算法是指通过检测来判断图像或者视频序列中是否存在行人并给予精确定位的算法。具体地,行人检测算法可以是人工提取特征的行人检测算法,也可以基于神经网络的行人检测算法,还可以是基于深度学习的行人检测算法,本实施例中采用基于深度学习的行人检测算法。

在一个具体实施方式中,采用行人检测算法对原始图像进行检测的步骤之后,还对原始图像中的行人按照像素大小进行截取,截取后得到特定形状的图像即为行人图像,例如按行人实际大小截取图形,通过缩放截取图像至固定大小即可,如统一缩放至256*128。

另外,也可采用预先训练的fasterrcnn人体检测模型直接从行人视频提取行人图像,其中,fasterrcnn算法是将rpn和fast-rcnn结合,由rpn提取候选框,fastr-cnn负责检测,对rpn提取的候选框检测并识别框中的目标。

步骤s2,根据当前场景自适应调整冗余的残差网络结构至最佳网络结构;

请参阅图2,为本发明提供的一种自适应网络的行人重识别方法中步骤s2的流程图,包括:

步骤s201,所述冗余的残差网络结构包括一个gloable分支与若干个细粒度patch分支,其中,若干个所述细粒度patch分支按其划分方式包括两个细粒度patch分支、以及大于2的多个奇数个细粒度patch分支;

步骤s202,根据当前场景自适应调整冗余的残差网络结构中细粒度patch分支的数量,在多个奇数个细粒度patch分支从精到粗递减划分的细粒度patch分支的数量,将所述残差网络结构内每个分支分别接softmax损失函数与triplet损失函数进行训练至收敛;

其中,损失函数,学习训练过程中用来估量模型的预测值与真实值的偏离程度。它是一个非负实值函数。训练过程中对模型进行优化的目标是最小化损失函数。

步骤s203,判断每个细粒度分支对应的patch特征权重是否小于预设阈值,如果所述patch特征权重小于预设阈值时,则删除该细粒度分支;如果所述patch特征权重不小于预设阈值时,则保留该细粒度分支;

具体地,计算每个细粒度分支对应的patch特征权重,可能会同时存在几种划分方式对应的细粒度分支的特征权重都小于预设阈值,即,需要同时删除多种划分方式细粒度分支。

步骤s204,计算按多个奇数个划分方式对应的细粒度patch分支各自的特征权重,删除特征权重最小的细粒度patch分支对应的划分方式;

具体地,步骤s203与步骤s204两种实施方式,其中任意选择一个步骤执行即可,其中,步骤s204每次只删除一种划分方式的细粒度patch分支,相对于步骤s203对于后续识别率精确度更高,而步骤s203引入预设阈值,对于后续得到最佳网络结构的效率更高。

步骤s205,计算删除该细粒度patch分支后的网络结构的识别率,直到某次删除某个划分方式所对应的细粒度patch分支导致当前的网络结构的识别率小于应用场景识别率需求指标时,则将保留该划分方式所对应的当前的网络结构作为当前场景的最佳网络结构;否则,将剩余的细粒度patch分支与gloable分支形成的网络结构重新训练至收敛,继续删除相应细粒度patch分支,直到匹配到当前场景的最佳网络结构为止。

具体地,如果删除该细粒度patch分支后的网络结构的识别率仍大于应用场景识别率需求指标时,则返回步骤s202执行即可;在上述步骤中,每对应删除一次细粒度patch分支的划分方式,都需要重新训练至收敛并计算删除该划分方式后对应的网络结构的识别率,并将该识别率与该场景的识别率需求指标进行比对。

在一个具体实施方式中,当冗余的残差网络结构包括一个gloable分支与5个细粒度patch分支时,其中,5个细粒度patch分支分别将行人图像(特征图)垂直划分为2、3、5、7、9个细粒度特征图(如果细粒度patch分支数量越多,其对应的奇数个数目也就越多),即,每次行人图像必须垂直划分为两部分的细粒度特征图,相对于后续划分更细致的情况来说,在一定程度上表达全局特征。在划分patch分支过程中:按多个奇数(3、5、7、9)从精至粗,依次划分行人图像得到相应的细粒度特征图;当冗余的残差网络结构内所有分支的训练收敛后的识别率大于应用场景识别率需求指标,则开始选择将行人图像依次垂直划分为3、5、7、9个细粒度特征图,计算四种patch划分方式中各自对应特征权重大小,如果所述patch分支对应的特征权重小于预设阈值时,则删除该细粒度分支(有可能是一个patch分支,也有可能是几个patch分支),说明该细粒度特征对该场景的数据来说并不重要,尝试将其从当前网络结构里进行删除;或者,直接将划分方式对应的特征权重最小的patch分支删除,也能达到相同效果;如果删除后的当前的网络结构所有分支的识别率仍大于当前应用场景的需求指标,则按上述方式继续删除patch分支;直到某次删除相应方式patch分支后的当前网络结构不满足当前应用场景的需求指标为止,则将未删除的相应patch分支所对应的网络结构为最佳网络结构。例如,如果按7垂直划分行人图像为(3、5、7)三种划分方式特征权重最小的patch分支,删除该patch分支后导致当前网络结构中分支收敛后所对应识别率不大于应用场景识别率需求指标,则将其上一次使用的网络结构(2、3、5、7个细粒度特分支以及gloable分支)作为该场景的最佳网络结构。

在本实施例中,细粒度patch分支的划分原则既要满足整个网络结构的分支训练收敛后的识别率大于应用场景识别率需求指标,同时,在满足识别率的前提下,如果删除patch分支的特征权重小于阈值,但删除该patch分支后网络结构对应的识别率不满足指标,则不能删除该patch分支,则将未删除该patch分支的网络结构视为最佳网络结构。通过上述方式,能够根据当前应用场景快速的匹配出最佳网络结构,避免了传统的人为因素的影响,减少了人为大量人工实验来获取效果相对较好的细粒度patch分支的划分方式,同时,也能够满足场景差别较大的不同场景之间的网络结构的适应性,相对一般的网络结构而言,提高了对应用场景网络结构的设计的便利性,以及可以在满足精度指标的前提下,使得网络结构尽量精简。

步骤s3,利用基于残差网络的所述最佳网络结构提取待测的所述行人图像的特征向量;

其中,基于上述残差网络所得的最佳网络结构,既能满足当前应用场景识别率需求指标,又能使得网络结构尽量精简,即,简化网络结构。

具体地,利用该网络结构获取待测的所述行人图像的多个区域特征;以及获取待测的所述行人图像的每一区域特征对应的权重;根据待测的所述行人图像的区域特征以及区域特征对应的权重获取待测的所述行人图像的特征向量,其中,特征向量为待测的所述行人图像根据特定组合方式构成的特征向量,所述分类器包括各种神经网络、支持向量机、决策树、最近邻分类器、随机森林、boosting分类器等,本发明实施例对分类器不作具体限制。

步骤s4,识别待测行人与预设行人之间的特征向量的余弦相似度得到行人重识别结果。

请参阅图3,为本发明提供的一种自适应网络的行人重识别方法中步骤s4的流程图,包括:

步骤s401,预设行人之间的特征向量的余弦相似度;

步骤s402当待测行人与预设行人的特征向量余弦相似度达到预设值时,判定两者为同一行人;

步骤s403,测行人与预设行人的特征向量余弦相似度未达到预设值时,判定两者不为同一行人。

在本实施例中,余弦相似度,又称为余弦相似性、余弦距离,是通过计算两个向量的夹角余弦值来评估向量的相似度。余弦相似度,为两个向量相乘并处以两个向量模的乘积。余弦相似度越大,说明两个向量之间的夹角越小,两个向量越接近;反之,则越远;计算待识别的行人图像的特征向量与预设行人的特征向量之间的余弦相似度,将余弦相似度的最大值对应的行人确定待识别的行人图像的行人重识别结果并进行输出,如果其对应的余弦相似度达到预设值时,判定两者为同一行人;如果其对应的余弦相似度未达到预设值时,判定两者不为同一行人。

在上述实施例中,基于深度学习的行人检测算法检测原始图像获取到行人图像,具体如下:

采用卷积神经网络提取原始图像中的行人卷积特征。

其中,卷积神经网络是一种由多个卷积层和全连接层构成的监督学习神经网络,用于提取有效特征,从而将有效特征用在不同任务中,如场景分类、目标检测和图像检索等任务。

卷积层的特征图个数是在网络初始化指定的,而卷积层的特征图的大小是由卷积核和上一层输入特征图的大小决定的,假设上一层的特征图大小是n*n、卷积核的大小是k*k,则该层的特征图大小是(n-k+1)*(n-k+1)。

具体地,将原始图像中包含有行人的图像输入到卷积神经网络后,通过卷积神经网络卷积层的卷积计算得到卷积层的特征图,即行人卷积特征。

利用卷积神经网络的卷积层计算行人卷积特征,输出卷积神经网络卷积层的全连接层的特征,得到目标特征向量。

具体地,行人卷积特征包括浅层特征信息和深层特征信息,浅层特征信息是指卷积神经网络的前级的卷积层得到的特征图,深层特征信息是指卷积神经网络的后级的卷积层卷积得到的特征图信息。

在卷积神经网络中,全连接层用于将经过多个卷积层和池化层的图像特征图中的特征进行整合,获取图像特征具有的高层含义,之后用于图像分类。在一具体实施方式中,全连接层将卷积层产生的特征图的行人卷积特征映射成一个固定长度(本实施方式中为输入为行人集合数据库中的原始图像类别数,行人和非行人(背景),即固定长度为2)的特征向量。该特征向量包含了输入原始图像所有特征的组合信息,该向量将图像中含有最具有特点的图像特征保留了下来以此完成图像分类任务。

具体地,池化计算的方法很多,最常用的是最大池化(maxpooling)方法和平均池化(meanpooling)方法。其中,最大池化方法是将特征图区域的最大值作为该区域池化后的值,也就是通过最大池化方法提取取各个特征图中目标特征的最大元素值作为池化结果。平均池化方法是计算特征图区域的平均值作为该区域的池化结果,例如,可以计算特征图的某个特定特征的平均值。全局池化层不仅不需要对参数优化,避免了过拟合,而且输出的池化结果相对于位置具有不变性,不同位置的输出共享参数。

对于图像深层信息的理解,采用卷积神经网络抽取图像目标中卷积特征,卷积神经网络会将上一阶段的随后卷积层计算完成特征抽取完成之后,将全连接层的输出直接作为的目标特征向量。

利用支持向量机对目标特征向量进行分类,得到待测的行人图像。

具体地,利用支持向量机的方法将数据进行最大间隔可能的划分,使得分类效果达到预期效果。基于图像分类任务是检测到行人图像,因此只需要对图像内容进行判定,计算输入图像具体所属类别数值(所属类别概率),将最有可能的类别输出即可完成分类任务,获取到待测图像。

本实施例中,通过采用卷积神经网络提取原始图像中的行人卷积特征,采用深度卷积神经网络进行特征提取,深度学习能够自动从检测图像的数据中学习,因此能够适用多种环境,提高了获取检测图像适应性,有利于检测图像后续处理。

请参阅图4,为本发明提供的一种自适应网络的行人重识别装置结构框图,包括:

行人检测模块1用于获取行人视频,利用行人检测算法提取所述行人视频中行人图像;

自适应网络结构2用于根据当前场景自适应调整冗余的残差网络结构至最佳网络结构;

其中,所述冗余的残差网络结构包括一个gloable分支与若干个细粒度patch分支,其中,若干个所述细粒度patch分支按其划分方式包括两个细粒度patch分支、以及大于2的多个奇数个细粒度patch分支;

根据当前场景自适应调整冗余的残差网络结构中细粒度patch分支的数量,在多个奇数个细粒度patch分支从精到粗递减划分的细粒度patch分支的数量,将所述残差网络结构内每个分支分别接softmax损失函数与triplet损失函数进行训练至收敛;

判断每个细粒度分支对应的patch特征权重是否小于预设阈值,如果所述patch特征权重小于预设阈值时,则删除该细粒度分支;如果所述patch特征权重不小于预设阈值时,则保留该细粒度分支;或

计算按多个奇数个划分方式对应的细粒度patch分支各自的特征权重,删除特征权重最小的细粒度patch分支对应的划分方式;

计算删除该细粒度patch分支后的网络结构的识别率,直到某次删除某个划分方式所对应的细粒度patch分支导致当前的网络结构的识别率小于应用场景识别率需求指标时,则将保留该划分方式所对应的当前的网络结构作为当前场景的最佳网络结构;否则,将剩余的细粒度patch分支与gloable分支形成的网络结构重新训练至收敛,继续删除相应细粒度patch分支,直到匹配到当前场景的最佳网络结构为止。

特征提取模块3用于利用基于残差网络的所述最佳网络结构提取待测的所述行人图像的特征向量;

其中,利用最佳网络结构中gloable分支与细粒度patch分支各自得到gloable特征与细粒度patch特征,融合gloable特征与细粒度patch特征得到待测的所述行人图像的特征向量。

行人重识别模块4用于识别待测行人与预设行人之间的特征向量的余弦相似度得到行人重识别结果。

其中,识别待测行人与预设行人之间的特征向量的余弦相似度;当待测行人与预设行人的特征向量余弦相似度达到预设值时,判定两者为同一行人;当待测行人与预设行人的特征向量余弦相似度未达到预设值时,判定两者不为同一行人。

在本实施例中,由于自适应网络的行人重识别方法与自适应网络的行人重识别装置为一一对应关系,针对该装置内相应的技术特征、技术手段以及技术效果请参照上述方法,为了避免重复,在此不一一赘述。

请参阅图5,为本发明提供一种自适应网络的行人重识别电子设备结构框图,包括:

一个或多个处理器51;

存储器52;以及

一个或多个程序,其中所述一个或多个程序被存储在所述存储器中52并被配置为由所述一个或多个处理器51执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行如上述的自适应网络的行人重识别方法的步骤。

所述处理器51可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理器51可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如生成图像数据和/或将图像数据传输到电子显示器。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器(asic)、一个或多个现场可编程逻辑阵列(fpga)、或它们的任何组合。

本申请提供一种计算机存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上项所述的自适应网络的行人重识别方法的存储介质。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、u盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。

综上所述,本发明从精到粗自动划分冗余残差网络结构中的patch分支,直到匹配到当前场景下的最佳(合适)网络结构,减少为了获取最佳网络架构而进行反复人工设计与实验所付出的巨大工作量,同时,能够自适应在满足指标的前提下得到更精简的网络结构,避免了因人为因素导致的误判,更适合多个场景之间的自由切换,便于后续场景场景扩展。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1