一种基于由粗到细深度尺度学习的行人重识别方法与流程

文档序号:11432723阅读:681来源:国知局
一种基于由粗到细深度尺度学习的行人重识别方法与流程

本发明涉及一种行人重识别技术,具体涉及一种基于多尺度学习的行人重识别方法。



背景技术:

行人重识别是通过匹配非重叠摄像机不同视觉下的两个对象是否为同一目标的技术,其在学术界和工业界(人工智能及公安刑事侦查)等方面得到了广泛的关注和应用。然而该问题的实现目前仍存在着巨大的挑战,由于在实际情况下易受到光照、视角、尺度等因素的影响,使得行人间的内类(同一个行人)差异甚至大于类间(不同行人)差异,从而致该问题的失败。在实际的行人重识别研究工作中,其主要分为三个步骤:特征提取(行人对象的外观特征表示),距离度量(行人对象的相似性比较)以及反馈优化(对排序结果的优化)。本发明主要关注的是对行人相似度的比较,即行人尺度度量学习的方法。在近十年的研究中,相关学者提出了大量的关于尺度学习的行人重识别方法,并也取得了一些较好的成就。然而当前已有的度量学习方法主要是通过单一的衡量标准获得行人对象间最优的距离度量函数,此类型的方法计算相对简单,优化函数更易实现。然而,在实际情况下,行人对象间的相似性是多方面的,如实际中存在这样的情况,即不是同一个人的两个人可能有着相似的外貌轮廓和衣着,因此单一的度量学习方式就可能会导致相似度比较的失败。因此,本发明提出了一种基于多尺度学习的行人重识别方法,力求从多个方面来度量行人对象间的相似性,在一定程度上保证了相似性比较的准确性和实用性。



技术实现要素:

针对传统单一尺度学习方法的局限性,本发明提出了一种基于多个栈式自编码网络和分类网络的尺度学习方式来解决行人重识别问题,及采用由粗到精的度量方式完整行人对象间相似的度量与比较。行人重识别问题本质上可以看做是一个二分类问题,即同一人归为一类,不同人归为另一类的分类问题。基于此,本发明设计了一种由粗到细栈式自编码网络和分类网络。

为了实现上述目标,具体执行步骤如下:

对于定义一对摄像机分别表示为ca和cb,其相应视角下行人对象分别表示为其中n和m分别代表每个摄像机视觉的人的数量(在我们的问题中,一般存在n=m);定义标记y=1代表两个行人图像是匹配的,y=0代表不匹配;定义来自两个不同摄像机视觉的两个人物的联合为在本发明中,我把行人重识别看作是一个二分类问题,如果是同一个行人,即标记为1,不同的人标记为0,其具体步骤包括:

步骤1,从摄像机a视角下取出一张行人图像,使之与摄像机b视角下的行人图像进行匹配(如果b摄像机视角下有n张图像,则对于a摄像机下的一张图像则存在n对行人对,如果a摄像机下有n张图像,则一共可以生产n*n对行人对),得到相应的行人对后,比进行标记,如果是同一个行人,标记为1,否则标记为0;以此,形成深度尺度模型的原始输入数据;

步骤2,预处理,对步骤1所得到的行人图像对进行预处理,对每对图像样本对进行白化处理,并减去均值和归一化图像,使之转换为灰度图像,并作为栈式自编码网络的输入;

步骤3,把步骤2所进行预处理后的数据输入到栈式自编码中,进行分类计算,实现行人对象匹配,以达到重识别的目的;每个栈式自编码自带的softmax分类器微调并实现深度网络结构的优化,softmax分类器的代价函数是:

其中训练集是{(x(1),y(2)),...,(x(m),y(m))},m代表样本的数量,x(i)代表最后一个隐藏层的输出的特征,y(i)代表每个样本的分类标签,在本发明中,y(i)∈{0,1};

步骤4,采用adaboost-like模型,对每一个栈式自编码的分类结果进行权重分配,实现最终的重识别结果。

在上述的一种基于由粗到细深度尺度学习的行人重识别方法,所述步骤1中,对不同摄像头下的行人图像对进行匹配,其具体步骤包括:

步骤1.1:从a摄像头下,取出一个行人图像,分别与b摄像头下的行人对象进行匹配(两种图像进行组合),使得组合后图像的高与原单张图像的高一致,其宽是原图像的两倍;如果a,b摄像头下均有n张图像,则组合的图像对一共有n*n张,即a摄像头下的每一张图像与b摄像头下的图像进行两两匹配;

步骤1.2:本发明把行人重识别看成是二分类的问题,对于a,b摄像头下匹配的行人对分别用0和1进行标记;若是同一个行人,则标记为1,否则标记0;用概率公式表示为p(y=1|x),p(y=0|x),其表示样本对x属于同一个类的可能性。

在上述的一种基于由粗到细深度尺度学习的行人重识别方法,所述步骤2中,对不同图像对进行预处理,其具体步骤包括:

步骤2.1:对行人图像对进行zca白化处理;在本发明中,我们采用白化和降维相结合处理,使得输入数据的协方差矩阵变为单位矩阵i,具体来讲,如果r是任意正交阵(即满足rrt=rtr=i,其中r是可以旋转或反射矩阵),则定义后的zca白化结果为:xzcawhite=uxpcawhite,zca白化后的结果尽可能地接近原始输入数据x;

步骤2.2:得到zca白化后的数据结果,对数据进行归一化[0,1],并减去其均值,使其更符合栈式自编码输入的数据结果。

在上述的一种基于由粗到细深度尺度学习的行人重识别方法,所述步骤3中,针对预处理完的数据,输入其到不同层次的栈式自编码其中并进行分类,其具体步骤包括:

步骤3.1:我们输入数据到不同层次的栈式自编码器,对输入的数据x,我们尝试学习一个函数hw,b(x)≈x,即获得一个识别函数的近似值,为的是输出和输入x相似;通过学习最优参数θ={w,b},使得自编码器输出值尽可能接近输入值;

步骤3.2:通过设置单个样本的代价函数(其中w,b分别代表网络结构的参数,x表示预处理后的数据,y代表输入数据的标记),求出自编码输出值与输入值的误差达到最小,对上述代价函数进行求导计算,具体采用反向传播的思想,具体步骤如下:

步骤3.2.1:进行前一次前馈传递,利用前向传导公式,得到l2,l3,…直到输出层lnl的激活值;

步骤3.2.2:对输出层(第nl层),计算残差:δ(nl)=-(y-a(nl))·f′(z(nl));

步骤3.2.3:对于l=nl-1,nl-2,nl-3,…,2的各层,计算:δ(l)=((w(l))tδ(l+1))·f′(z(l));

步骤3.2.4:计算最终需要的偏导数值:

步骤3.3:每个栈式自编码自带的softmax分类器微调并实现深度网络结构的优化,softmax分类器的代价函数是:

对于j(θ)的最小化问题,我们采用梯度下降法完成求导过程,其梯度公式如下:

有了上面的偏导数公式以后,我们就可以将它代入到梯度下降法等算法中,来最小化j(θ),从而求出每种类别的概率,实现最终分类过程。

在上述的一种基于由粗到细深度尺度学习的行人重识别方法,所述步骤4中,对不同栈式自编码所获取行人图像对多个概率值进行权重分配的具体步骤包括:

步骤4.1:输入n代表一组训练样本(其中代表两个行人图片的结合,yi∈{1,-1}说明图片中的两个人是否是同一个人)和所有训练样本的分配:

步骤4.2:对当前的分配dt找到最好的局部特征λt,该步骤为反复迭代产生训练集h(xi)是假设函数,x→{-1,1}.更新的错误γt:

其中h(xi)的系数可以通过下式获得:权重更新的可能性分配可由以下两个式子:dt+1=(λt+1,1,λt+1,2,...λt+1,n),

其中t代表迭代次数,zt是一个正常因素,可以通过下式获得:

每个可能性的矩阵的权重可以通过下式指定:其中n代表栈式自编码的数量;

步骤4.3:根据公式:计算边界误差γt,如果γt<0跳出循环

步骤4.4:设置同时设置zt是一个正常化的系数,并把αt和λt加入到节点,最后计算得到输出权重系数λ;

步骤4.5:根据所计算的每个栈式自编码分类结果的权重系数λ,根据行人对匹配的概率大小得到从而计算行人重识别的识别效率。

本发明具有以下积极效果和优点:

1)本发明通过先把两张来自两个不同摄像头视角的监控人物照片随机地组合起来,作为预处理的输入图像,然后对每个样本对减去平均值和标准化得到灰度图像,再利用栈式自编码的softmax分类器进行分类,最后由加权分配机制对上面的分类结果进行处理得到最终的匹配结果。

2)对于任一给定的待匹配的目标人物,利用尺度学习的栈式自编码模型,实现对目标人物通过对不同的物理特征、侧面特征和面部特征集进行匹配,得到目标人物图片的匹配值,从而实现行人重识别的过程。

附图说明

图1为本发明实例的流程图。

图2为由粗到精尺度学习方法的三个方面示意图。

具体实施方式

为进一步阐明本发明所采取的技术手段及所取得的效果,下面结合附图及具体实施例,

准备工作:

1、假设ca和cb为不同空间地域环境下的两个摄像头视角,摄像机中人的数据集分别为其中n和m分别代表每个摄像机视角下人的数量。定义y=1代表两个行人图片是匹配的(同一个人),y=0代表不匹配(不同人)。定义来自两个不同摄像机视觉的两个人物的联合为

2、传统的自动编码尝试得到一个函数hw,b(x)≈x。即获得一个识别函数的近似值,为的是输出和输入x相似。它可以分为编码和解码两部分。编码用一个确定性的函数h=fθ=σ(wx+b),其中θ={w,b};而解码则是通过反转f的映射来重构输入:h′=fθ′=σ(w′h+b),其中θ’={w′,b′}。这两个参数集通常的限定形式为w′=wt,对编码输入和潜在的表现yi使用相同的权重。现有一对训练样本集为{(x(1),y(m)),...,(x(m),y(m))}。

对一个训练集的价值函数:

对整个训练集的价值函数:

同时为了训练模型,我们只需要最小化j(w,b)。

步骤1,多尺度学习方法的四个层次构成了行人重识别的由粗到精的深度尺度学习。

1.1、第一层次是取自两个不同摄像头视角的监控目标人物图片,随机地把这两张目标人物图片组合起来作为第二层次的原始输入。

1.2、第二层次是预处理,对每个样本对减去平均值并标准化。这些图片会转换成灰度图像并作为栈式自编码网络的输入。

1.3、第三层是每个栈式自编码自带的softmax分类器对输入得到一个分类结果。

1.4、第四层次是利用一个权重分配机制去处理分类器处理的分类结果。

每个栈式自编码都带有一个softmax分类器,每个网络都通过反向传播算法进行训练。softmax分类器的价值函数是:

其中训练集是{(x(1),y(2)),...,(x(m),y(m))},m代表样本的数量,x(i)代表最后一个隐藏层的输出的特征。yi代表每个样本的分类标签。

步骤2,假定有三种栈式自编码模型分类行人对。p(y=1|x)和p(y=0|x)表示样本对x属于同一个类的可能性。如果行人对匹配的话y=1,否则y=0。我们试图考虑多个方面来判断样本对是否属于同一个物体。对于人物图片对图片对匹配的可能性是权重分配机制对矩阵分布得可能性可描述为:

其中dt(x)代表两个人物组合的分配的可能性矩阵,λt代表权重系数。

算法1:对相似可能性的权重分配。

输入:n代表一组训练样本代表两个行人图片的组合,yi∈{1,-1}说明图片中的两个人是否是同一个人。

所有训练样本的分配:

fort=1,...,k

-对当前的分配dt找到最好的局部特征λt

-计算优势γt

-如果γt<0跳出循环

-设置

-设置zt是一个正常化的系数

-把αt和λt加入到节点

输出:权重系数λ。

权重在训练的时候反复迭代更新,训练集在算法1中,h(xi)是假设函数,x→{-1,1}.更新的错误γt:

其中h(xi)的系数可以通过下式获得:

权重更新的可能性分配可由以下两个式子:

dt+1=(λt+1,1,λt+1,2,...λt+1,n)

其中t代表迭代次数,zt是一个正常因素,可以通过下式获得:

每个可能性的矩阵的权重可以通过下式指定:

其中n代表栈式自编码的数量,我们的工作中采用是3个。

以上所述实施例,仅表明了本发明的实施方式,其描述较为具体和详细,但不能因此而理解为对本发明专利范围的限制,应当指出的是,对于本领域和普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围,因此,本发明专利的保护范围应以所附权利要求为准。

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