技术领域
[0001] 本发明涉及图像识别领域,尤其是一种用于图像相似性判断的多流特征融合系统。
相关背景技术
[0002] 图像识别通常需要进行图像相似度计算,一般采用两幅图像的特征距离作为图像相似度指标。目前,大多数方法都致力于提取一个有区别性的全局特征,计算全局特征的特征距离,特征距离越小,图像相似度越高。但是,在图像识别中往往需要识别特定的对象,不同对象有可能在整体上相似,但是在局部细节上是不相同的,因此还需要通过区域特征进一步的进行区分。现有技术所采用的基于全局特征的图像识别方法,则不能区分整体相似度较高的图像中的对象是否为同一目标对象。
具体实施方式
[0050] 下面结合附图和优选实施方式对本发明作进一步的详细说明。
[0051] 参考图1所示,一种多流特征距离融合系统,包括逐级连接的多流特征提取网络、贡献系数自适应生成模块与距离融合模块;
[0052] 多流特征提取网络包括用于提取输入图像的特征图的特征图提取网络,所述特征图包括全局特征图与n个区域特征图;多流特征提取网络还包括用于分别从各特征图中提取相应特征的特征提取网络;多流特征提取网络能够将特征图输出给贡献系数自适应生成模块,并能将提取到的特征输出给距离融合模块;
[0053] 贡献系数自适应生成模块包括激活比计算模块与用于根据各区域特征图的激活比计算各区域特征的贡献系数的贡献度映射模块;所述激活比是指区域特征图上的非零值点的数量与全局特征图上的非零值点的数量的比率;所述贡献系数是指全局特征或区域特征对融合距离的贡献程度;全局特征贡献系数恒为1;
[0054] 距离融合模块用于根据待测图像的各特征与参考图像的各特征计算相应特征图之间的特征距离,并利用各特征的贡献系数将各特征距离融合成多流特征距离。
[0055] 本具体实施方式中,所述区域分割网络为身体分割提取网络或人脸分割提取网络。以身体分割提取网络为例,如图2所示,身体分割提取网络采用全卷积架构的CNN神经网络,复杂度较低,输入图像并计算网络响应,根据最大化特征响应并将这些网络响应组合起来生成13个身体关键点,然后根据关键点生成包括头肩区域、胸腹区域和腰腿区域在内的三个身体局部区域。
[0056] 本具体实施方式中,所述多流特征提取网络包括用于在输入图像上分割出n-1个局部区域的区域分割网络、用于去除输入图像的背景的语义分割模块FCNs、用于提取输入图像的全局特征图的全局特征图提取网络以及用于根据区域分割网络所分割出的各局部区域在全局特征图上提取出相应区域特征图的池化模块;输入图像经语义分割模块去除背景后作为第n个区域特征图。
[0057] 如图3所示,全局特征图提取网络采用CNN神经网络,并包括4个卷积层和一个inception模块,inception模块包括1×1convolutions,3×3convolutions,3×3max pooling和filter concatenation。另外,图中ROI pooling为池化模块,区域分割网络(身体分割网络BPEN)先在输入图像上进行区域分割,从而确定各局部区域的位置,然后池化模块根据各局部区域的位置在全局特征图上提取出相应区域特征图,这样能够减少运算量。提取到全局特征图与各区域特征图后,特征提取网络再从全局特征图与各区域特征图上提取全局特征与各区域特征。特征提取网络包括一个全局特征提取网络与n个区域特征提取网络,全局特征提取网络与区域特征提取网络均采用由两个inception模块组成的CNN神经网络,从而提取到的全局特征与区域特征均为256维特征,维数过小不能表达特征,过大会增加计算复杂度。
[0058] 本具体实施方式中,所述激活比计算模块按如下公式计算激活比ar:
[0059]
[0060] 其中,N表示特征图的维度,Hl、Wl分别是区域特征图的高度尺寸、宽度尺寸,Hg、Wg分别是全局特征图的高度尺寸、宽度尺寸;
[0061] 其中,P(i,j,k)表示区域特征图上特征点的值;
[0062] 其中,P(i,j,k)表示区域特征图上特征点的值。
[0063] 为了更好的说明激活比,以单个特征图为例,如图4所示,全局特征图大小为8×8,0和符号“+”分别表示零和非零值,三个不同颜色的边界框表示三个不同的身体区域。全局特征图中共有40个点非零,在相应的身体区域特征图中,非零值的数量分别为4,8和5,除以
40得到0.1,0.2和0.125的激活比。在mask特征图(语义分割模块所提取的区域特征图)中的非零数是36,可以得出0.9的激活率。
[0064] 本具体实施方式中,贡献度映射模块以激活比作为自变量,以贡献系数作为因变量,按如下映射函数将激活比映射出贡献系数:
[0065] f(x)=A/(1+e-D(x-C))+B;
[0066] 其中,x是激活比;e是自然常数;A、B、C和D均是公式参数,并根据激活比取值区间[μ1,μ2]与贡献系数取值区间[λ1,λ2]分别按以下公式计算:
[0067] A=γ2-γ1;
[0068] B=γ1;
[0069]
[0070] D=min{Df(μ1)-γ1<0.01,f(μ2)-γ1<0.01,D∈N*};
[0071] 其中,表示N*表示正整数;0≤μ1≤1,0≤μ2≤1,0≤λ1≤1,0≤λ2≤1。
[0072] 本具体实施方式中,距离融合模块按如下公式计算多流特征距离R:
[0073] R=Cg.dg(Ip,Ig)+C1.d1(Ip,Ig)+......+Cn.dn(Ip,Ig)
[0074] 其中,Cg表示全局特征贡献系数;dg(Ip,Ig)表示待测图像的全局特征与参考图像的全局特征的特征距离,即欧氏距离;d1(Ip,Ig)......dn(Ip,Ig)分别表示待测图像的各区域特征到参考图像的各对应区域特征的欧氏距离。
[0075] 本具体实施方式中,激活比取值区间采用激活比优化区间,以对激活比进行约束:贡献系数取值区间采用贡献系数优化区间,以对贡献系数进行约束:当激活比计算模块计算出的激活比在激活比优化区间外时,通过所述映射函数就能将激活比所对应的贡献系数映射到贡献系数优化区间内。
[0076] 本具体实施方式中,激活比优化区间按如下方式确定:
[0077] 首先,获取具有s张图像的图像数据集,并提取各图像的全局特征图与n个区域特征图;
[0078] 然后,重复进行N次随机试验,每进行一次随机试验便计算出n×s个激活比,每幅图像均对应有n种类型的激活比;N次随机试验结束后,对于每种类型的激活比均获得包含N×s个激活比的激活比集合;
[0079] 最后,以区间长度Δar将每种类型的激活比集合划分成若干分段区间;之后,计算每种类型的激活比的每个分段区间的分布概率,对于每种类型的激活比,均去除掉分布概率小于设定阈值的分段区间,合并剩余分段区间,从而得到每种类型的激活比的激活比优化区间。
[0080] 本具体实施方式中,贡献系数优化区间按如下方式确定:
[0081] 首先,获取图像数据集,所述图像数据集中同一目标对象至少包含两张图像,将同一目标对象的一张图像作为参考图像放入批量参考集中,同一目标对象的其余图像作为测试图像放入批量测试集中;
[0082] 然后,以贡献系数组C=[Cg,C1,....,Cn]作为区间变量,并采用区间优化算法对批量测试集进行M次测试,其中,Cg表示全局特征贡献系数,保持Cg=1,C1,....,Cn分别为与各区域特征对应的区域特征贡献系数;每次测试均采用模拟退火算法搜索最优贡献系数组H,其中,模拟退火算法的迭代次数为L,每迭代一次均根据参考图像的贡献系数组计算当前贡献系数组的损失函数,迭代完毕后获得一个最优贡献系数组H;测试完毕后获得由M个最优贡献系数组H组成的最优贡献系数集;
[0083] 最后,从最优贡献系数集中提取相同类型的区域特征贡献系数,并以区间长度ΔC将相同类型的区域特征贡献系数划分成若干分段区间;之后,计算每种类型区域特征贡献系数的每个分段区间的分布概率,对于每种类型的区域特征贡献系数,均去除掉分布概率小于设定阈值的分段区间,合并剩余分段区间,从而得到每种类型的区域特征贡献系数的贡献系数优化区间。
[0084] 优化算法中还有一个细节需要注意,保持贡献系数Cg等于1,因为该措施可以提供一个重要的基准线,防止一组实验产生多组最优解的,如解[C1,C2,......,Cn]及其倍数解也可以达到同样的精度,这将增加下一步工作的难度并带来不可逆转的负面影响。
[0085] 为获得更准确的区间,基于每个贡献系数,处理获得的H,具体策略是计算每个分段区间内每种类型贡献系数的分布概率,如0~0.1,0.1~0.2等,然后去除概率低于设定阈值的分段区间。接下来将保留的分段区间合并生成所求区间。以贡献系数C1为例,在M重复随机化后,得到一组C1,并设置0.1作为每个分段区间的长度,计算得到贡献系数在不同区间的分布概率,假设它们是β1,β2,β3…β10并且β1,β2,β10均小于阈值,贡献系数C1在这三个区间内的概率非常低,所以丢弃0~0.1,0.1~0.2和0.9~1.0的区间,得到最终的G贡献系数优化区间为0.3~0.9。
[0086] 一种多流特征距离融合方法,采用本具体实施方式中的多流特征距离融合系统,包括以下步骤:
[0087] 步骤1:输入参考图像至多流特征提取网络,通过特征提取网络提取参考图像的全局特征图与n个区域特征图;特征提取网络分别根据参考图像的全局特征图与n个区域特征图提取参考图像的全局特征与n个区域特征;并将参考图像的全局特征与n个区域特征发送给距离融合模块;
[0088] 步骤2:输入待测图像至多流特征提取网络,通过特征提取网络提取待测图像的全局特征图与n个区域特征图;特征提取网络分别根据待测图像的全局特征图与n个区域特征图提取待测图像的全局特征与n个区域特征;并将待测图像的全局特征图与n个区域特征图发送给贡献度自适应模块,将待测图像的全局特征与n个区域特征发送给距离融合模块;
[0089] 步骤3:激活比计算模块根据测试图像的全局特征图与n个区域特征图,计算待测图像的各个区域特征图的激活比;
[0090] 步骤4:贡献度映射模块根据待测图像的各个区域特征图的激活比计算各区域特征的贡献系数;
[0091] 步骤5:距离融合模块根据待测图像的各特征与参考图像的各特征计算相应特征之间的特征距离;
[0092] 步骤6:距离融合模块获取各区域特征的贡献系数,利用各特征的贡献系数将各特征距离融合成多流特征距离。
[0093] 在两个大型数据集上评估本发明的有益效果:CUHK03和Market1501。
[0094] CUHK03由13164张图像组成,一共1467个行人,由两个不同的摄像头收集,包括手动标注的边界框和由可变形部件模型(Deformable Part Model,DPM)检测的边界框,在本文中采用单镜头模式,数据集可分为包含1367人的训练集和100人的测试集,从第二个摄像头选择图像作为测试集,从第一个摄像头视角的图像中每个行人随机选取一张图像组成参考图像集。
[0095] Market1501包含来自六个摄像机的1501个行人的32668张图像,它被分成两个部分:来自751个行人的12,936张图像作为训练集和来自750个行人的19,732个图像作为测试集,利用DPM检测边界框。采用与CUHK03数据集类似的测试协议。需要注意的是,一部分训练数据用于训练CNN,另一部分用于优化贡献度反馈模块。
[0096] 作为识别任务中的重要评价标准,采用累积匹配曲线(Cumulative Matching Characteristic,CMC)评价该行人重识别的性能,根据测试图像与参考图像之间的相似度排列排序列表。
[0097] 1、实现细节
[0098] Caffe用于部署CNN,基于MPII人体姿势数据集训练身体分割提取网络,以生成关键点和三个局部身体区域。在训练多流特征提取网络中的五个分类CNN模块时,每幅图像大小缩放为96×96像素,mini-batch size设置为60,每个迭代包括1000个mini-batch size。学习率,冲量和权重衰减分别设置为0.1,0.9和0.0005,模块权重根据随机梯度下降法(Stochastic Gradient Descent,SGD)更新,最终模型在70000次迭代完成时停止并用于测试。对于图像语义分割模块,将训练好的FCNs[5]嵌入到特征提取网络中,mask特征提取模块和全局特征提取模块在网络的前半部分共享权重参数。此外,ROI Pooling模块用于获取三个身体局部区域的特征图,并缩放为24×24,然后输入到后续网络进行前向传播,在此工作中,采用softmax分类损失优化CNN并选择欧式距离计算图像之间的相似性和top-n排名算法进行行人重识别。整个实验在硬件平台上实现,配备GeForce GTX 1080GPU,16GB内存和Intel i7CPU。
[0099] 2、激活比、贡献系数优化区间和映射关系的确定
[0100] 如前所述,在优化贡献度反馈模块的过程中,需要进行M次重复实验,M设置为100000,然后记录激活比和贡献系数的值,并计算其在每个分段区间中的分布概率,如表1与表2所示。
[0101] 表1.CUHK03和Market1501数据集上四种特征在不同激活比区间的分布概率[0102]
[0103] 表2.CUHK03和Market1501数据集上四种特征在不同贡献系数区间的分布概率[0104]
[0105] 在表1中,显示了不同分段区间中四个激活比的分布概率,将阈值设置为5%。通过融合分段区间,可以得出CUHK03数据集上激活比的四个特征的最佳区间为0.3~0.6,0.4~0.7,0.1~0.4和0.8~1,对于数据集Market1501,它们分别为0.3~0.6,0.3~0.7,0.1~
0.4和0.7~1。表2说明了不同分段区间内四个贡献系数的分布概率,得出在CUHK03数据集上贡献系数的四个最佳区间分别为0.2~0.6,0.1~0.6,0.1~0.5和0.1~0.4。对于Market1501数据集,最优的区间为0.3~0.8,0.1~0.6,0~0.6和0~0.4。
[0106] 基于三种局部身体区域特征和无背景图像mask特征的四种激活比与贡献系数映射关系,图5和图6对应于CUHK03和Market1501数据集。
[0107] 3、评估多流特征距离融合
[0108] 提出的网络管道是可以学习一个全局特征和四个局部特征多流CNN结构,能够进行多流特征距离融合,本文提出的方法是计算两幅图像间相应特征的欧氏距离,并将该距离与贡献系数相结合,以获得最终距离。
[0109] 表3.基于CUHK03和Market1501数据集,对不同特征距离的评估
[0110]
[0111] 为证明本文特征距离融合策略的有效性,首先比较基于五个独立特征距离的测试结果,实验结果如表4所示,显然所提出的方法优于所有单一特征距离,比表现最佳的全局特征距离高4.8%和4.6%。另外,本文还验证了mask特征的引入可以提高重识别性能,去除mask特征的特征距离融合方法在两个数据集上分别获得了90.3%和82.6%的top-1准确率,比本文MSCF方法分别低0.9%和0.3%,虽然基于mask特征距离的重识别精度较低,只有34.6%和29.3%,但将其与其他特征距离相结合可以得到更好的提升。最后,为证明提出的多特征距离融合方法超出了特征融合的方法,进行了扩展实验,利用一个额外的CNN,以五个256维的特征为输入,生成全新的256维特征,然后计算两幅图像这两个特征之间的欧氏距离。可以分析它可以达到84.6%和77.9%的top-1准确率,与特征距离融合策略相比,在两个数据集上分别下降了6.6%和5%。以上结果证明了本文提出的多流特征距离融合方法的有效性,可以实现更高的重识别性能。
[0112] 4、评估贡献系数自适应生成模块
[0113] 前面已经提到,贡献度反馈模块可以根据来自inception结构中的filter concatenation处理层的特征图生成一组贡献系数,如表4所示。
[0114]
[0115] 表4.基于CUHK03和Market1501数据集inception模块中不同处理层生成的贡献系数对重识别性能影响的评估。
[0116] 优化与否的激活比区间与贡献系数区间之间的不同映射对重识别性能影响的评估,图7和图8分别对应于CUHK03和Market1501数据集。
[0117] 为证明本发明选择filter concatenation处理层之后的特征图生成贡献系数的合理性,进行了基于其他三个层的对比实验,实验结果如表4所示,“无贡献系数基准线”表示每个特征贡献系数为1。可以发现使用贡献度反馈模块与不使用该模块相比可以在两个数据集上分别增加1%和0.8%的top-1准确率。很明显,利用filter concatenation处理层的特征图生成的贡献系数可以最大程度优化性能,在CUHK03数据集上,与选择其他处理层相比,可以实现1%,0.3%,0.2%的准确率提升,对于Market1501数据集,提升分别为0.8%,0.6%和0.1%,因为这一层融合了更丰富的图像特征信息。
[0118] 区间优化算法用于将激活比和贡献系数约束在最佳范围。同样进行对比实验验证该方法的有效性,实验结果如图7与图8所示。Full和Opt表示完整区间[0,1]和优化后的区间,“Full-Full”表示将激活比全区间[0,1]映射到贡献系数全区间[0,1],“Full-Opt”表示将激活比全区间[0,1]映射到优化后的贡献系数区间。可以发现“Opt-Opt”的表现超过了其他三种映射。在CUHK03数据集中,Opt-Opt的top-1准确率分别比Full-Full,Full-Opt和Opt-Full高3.4%,0.9%和1.5%,在Market1501数据集上增幅为4.2%,1.3%和1.6%。