1.一种基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于,包括以下步骤:
1)构建用于深度学习和训练识别的多任务端到端的卷积神经网络,训练数据和逐层递进的网络结构深入地学习车辆各种属性信息,包括车型、车系、车标、颜色和车牌;
2)利用步骤1)的多任务卷积神经网络采用分段并行学习和编码策略构建车辆属性哈希码;
3)利用金字塔池化层和向量压缩层构建特征金字塔模块,以适应不同尺寸的卷积特征图输入提取车辆的实例特征;
4)利用步骤3)得到的实例特征构建局部敏感再排序算法;
5)构建在无法获取检索车辆图像情况下的跨模态检索方法,实现车辆检索。
2.如权利要求1所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:所述用于深度学习和训练识别的多任务端到端的卷积神经网络含有共享卷积模块、感兴趣区域坐标回归、识别模块和多任务学习模块;
共享卷积模块:共享网络由5个卷积模块组成,其中conv2_x到conv5_x的最后一层分别为{42,82,162,162}作为特征图的输出尺寸,conv1作为输入层只含有单层卷积层;
在共享卷积模块之后连接感兴趣区域坐标回归和识别模块,此模块将任意大小的图像作为输入,输出目标区域的矩形预测框的集合,包含了每个预测框的位置坐标和数据集中类别的概率得分,为了生成区域建议框,首先输入图像经过卷积共享层生成特征图,然后在特征图上进行多尺度卷积操作,实现过程为:在每一个滑动窗口的位置使用3种尺度和3种长宽比,以当前滑动窗口中心为中心,并对应一种尺度和长宽比,则可以在原图上映射得到
9种不同尺度的候选区域;如对于大小为w×h的共享卷积特征图,则总共有w×h×9个候选区域;最后,分类层输出w×h×9×2个候选区域的得分,即对每个区域是目标/非目标的估计概率,回归层输出w×h×9×4个参数,即候选区域的坐标参数;
训练RPN网络时,给每个候选区域分配一个二进制标签,以此来标注该区域是否是对象目标,操作如下:1)与某个真正目标区域GT最高的IoU重叠候选区域;2)与任意GT包围盒有大于0.7的IoU交叠的候选区域。分配负标签给与所有GT包围盒的IoU比率都低于0.3的候选区域;3)介于两者之间的舍弃。
有了这些定义,最小化目标函数,对一个图像的损失函数定义为:
其中,i是第i个候选区域的索引,Pi是候选区域是第i类的概率。如果候选区域的标签为正, 为1,如果候选区域标签为0, 就是0,ti是一个向量,表示预测的包围盒的4个参数化坐标,是对应的GT包围盒的坐标向量,Ncls和Nreg分别为分类损失函数与位置回归损失函数的归一化系数,λ为两者之间的权重参数,分类损失函数Lcls是两个类别的对数损失,两个类别为目标和非目标:对于位置回归损失函数Lreg,用以下函数定义:
其中,R是鲁棒的损失函数(smooth L1)。
然而,训练一个多任务深度学习网络并非是一件容易实现的过程,因为不同任务级别的信息有着各自不同的学习难点和收敛速度,,多任务联合训练过程如下:假设,总任务数为T,对于第t个任务的训练数据记为 其中t∈(1,T),i∈(1,N),N为总训练样本数。
分别为第i样本的特征向量和标注标签,那么多任务目标函数则表示为:
式中 是输入特征向量 和权重参数wt的映射函数,L(·)为损失函数,Φ(wt)为权重参数的正则化值;
对于损失函数,利用softmax配合对数似然代价函数训练最后一层的特征,实现图像分类。softmax损失函数定义如下:式中,xi为第i深度特征,Wj为最后一个全连接层中权重的第j列,b是偏置项,m,n分别为处理样本数量与类别数;
卷积神经网络训练是一个反向传播过程,通过误差函数反向传播,利用随机梯度下降法对卷积参数和偏置进行优化调整,直到网络收敛或者达到最大迭代次数停止;
该神经网络训练是一个反向传播过程,通过误差函数反向传播,利用随机梯度下降法对卷积参数和偏置进行优化调整,直到网络收敛或者达到最大迭代次数停止;
反向传播需要通过对带有标签的训练样本进行比较,采用平方误差代价函数,对于c个类别,N个训练样本的多类别进行识别,网络最终输出误差函数用公式(7)来计算误差,式中,EN为平方误差代价函数,为第n个样本对应标签的第k维, 为第n个样本对应网络预测的第k个输出;
对误差函数进行反向传播时,采用传统的BP算法类似的计算方法,具体公式形式,如公式(8)所示,δl=(Wl+1)Tδl+1×f'(ul)(ul=Wlxl-1+bl) (8)
式中,δl代表当前层的误差函数,δl+1代表上一层的误差函数,Wl+1为上一层映射矩阵,f'表示激活函数的反函数,即上采样,ul表示未通过激活函数的上一层的输出,xl-1表示下一层的输入,Wl为本层映射权值矩阵。
3.如权利要求1或2所述的基于多任务深度学习的修正局部敏感哈希序车辆检索方法,其特征在于:多任务在学习过程中存在任务之间的关联性,即任务之间存在信息共享,在同时训练多个任务时,网络利用任务之间的共享信息增强系统的归纳偏置能力和分类器的泛化能力;所述多任务网络通过在感兴趣区域模块后添加五个全连接层分为五个子任务,每个全连接后连接softmax激活函数将阈值归一化在[0,1]之间,再将归一化后的值送入分段函数促进二进制码的输出,通过分段学习和编码策略降低哈希码之间的冗余性从而增强学习到的特征的鲁棒性;
将多任务学习网络分为T个任务,每个任务中含有ct个类别,每个任务的全连接层一维向量输出使用mt表示,首先利用softmax激活函数将全连接层的输出归一化在[0,1]之间,公式具体表现形式如下:其中θ表示随机超平面;得到归一化后的值送入阈值分段函数进行二值化,得到全连接层的二进制输出,公式具体表现形式如下:最后为了获取多任务卷积网络分段并行学习到的车辆属性哈希码,对公式(10)得到的Ht向量再次进行一定比例的融合,使用向量fA表示,公式具体表现形式如下:fA=[α1H1;α2H2;...;αtHt] (11)
公式(11)中的αt具体表现形式如下:
在每个Ht之前乘上惩罚因子αt弥补了不同任务之间由于不同分类数造成的误差。
4.如权利要求3所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:利用卷积特征层次结构的金字塔形状,同时创建一个在所有尺度上都具有强大语义的特征金字塔;为了实现这个目标依靠一种结构将低分辨率,语义上强大的特征与高分辨率,语义上弱的特征通过自顶向下的路径和横向连接相结合;此特征金字塔,在所有级别上都具有丰富的语义,并且可以从单个输入图像比例快速构建,可以用来代替特征化的图像金字塔而不牺牲代表性的特征,速度或内存。为了得到车辆图像的实例特征并且适应任意尺寸的卷积特征图的输入,选择共享模块conv2_x到conv5_x每个单元的最后一层并结合感兴趣区域模块的输出,再添加一个金字塔池化层和向量压缩层将三维特征压缩成一个一维特征向量,这样选择是因为即可丰富特征金字塔得到的特征图信息,每个阶段的最深层又有最强大的特征表示功能;
每个模块的最后一层作为特征金字塔的输入,对于上述定义的网络conv2_x到conv5_x的最后一层依次选择{42,82,162,162}作为特征金字塔的输入特征图大小;用I表示输入图像,其长宽分别用字母h,w表示,第x层的共享卷积模块用convx_x表示,输入图像I后被激活为一个三维的特征向量T,维度为h′×w′×d是一系列二维特征图的集合,二维特征图长宽为h′×w′,T中含有d个二维特征图,用集合S=S{Sn},n∈(1,d)表示,Sn对应为第n个通道特征图;接着将三维的特征向量T送入特征金字塔,经过多个尺度卷积核卷积过后得到三维特征向量T′,维度为l×l×d,同样包含一组二维特征图,可用S′=S′{S′n},n∈(1,d)表示,其中Sn′对应为第n个通道特征图,每个特征图大小为l×l,一共包含d个;然后利用k×k大小的滑动窗口并且选择最大池化对特征图进行逻辑回归,得到一组l/k×l/k大小的特征图,再对每个通道的Sn′进行融合得到一维向量,依次对d个通道进行相同操作,最后得到的个性特征向量fB大小为(1,l/k×d)。最终的检索特征向量f如公式(13)所示:f=[fA;fB] (13)。
5.如权利要求4所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:通过用哈希方法和汉明距离对这种紧凑的二进制代码进行快速图像的比对;所述的哈希方法采用局部敏感哈希算法,即采用随机投影变换构建哈希比特;
所述的局部敏感哈希的一个关键是:将相似的样本映射到同一个具有高概率的同一个桶;局部敏感哈希的哈希函数h(.)满足以下条件:s{h(fAq)=h(fA)}=sim(fAq,fA) (14)
式中,sim(fAq,fA)表示fAq与fA的相似度,h(fA)表示fA的哈希函数,h(fAq)表示fA的哈希函数,,其中的相似性度量与一个距离函数σ直接关联,如:局部敏感哈希函数的典型分类由随机投影和阈值给出,如式(16)所示,
h(fA)=sign(WfA+b) (16)
式中,W是一个随机超平面向量,b是一个随机截距。
6.如权利要求5所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:所述的局部敏感哈希由预处理算法和最近邻搜索算法构成,通过这两个算法处理将将搜索图像特征表示成一串固定长度的二值编码;
所述预处理算法的过程为:
输入一组提取的图像特征p和哈希表的数l1,使用随机哈希函数g(.)对图像特征进行映射,将点pj存储到哈希表Ti相应的桶号gi(pj)中;输出哈希表Ti,i=1,…,l1;
所述最近邻搜索算法的过程为:
输入一个检索图像特征q,访问由预处理算法所生成的哈希表Ti,i=1,…,l1最近邻的数目K,返回检索点q在数据集S中的K个最近邻数据;
设Γ={I1,I2,…,In}为检索的由n个图像构成的数据集,其每幅图像所对应的二进制代码为ΓH={H1,H2,…,Hn},Hi∈{0,1}h;给定搜索图像Iq和二进制代码Hq,将Hq与Hi∈ΓH之间的汉明距离小于阈值TH的那些图像放入到候选池P中, 为候选图像。
7.如权利要求6所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:所述步骤4)中,利用实例特征构建局部敏感再排序算法;在传统的局部敏感哈希算法中,返回的主要是距离上相近的图像,即检索图像和候选池中的图像相似度接近1;主要是因为通过低维的车辆属性哈希码映射后可得到相同型号的车辆,但是相同型号下的车辆仍存某些难以区分的情况,从人的主观判断上存在明显区别,但是仅仅通过车辆属性哈希码不能有效区别这些差异;为了排查出候选池中与检索图片含有相同个性特征的车辆,在检索图像经过车辆属性哈希码映射到各个桶中后,再利用获取到的图像实例特征,对桶中的图片再次进行排序缩小类内误差,再排序公式表现形式如下:在公式(17)中,k表示经过车辆属性哈希码映射选出的桶中第k个图像,表示惩罚因子且 cos表示度量图像实例特征的余弦距离公式;为了排除车辆属性哈希码的错误映射,y表示映射前检索图像fAq与桶中图像 的类型是否相等,如果相等则y为1,否则为0。
在进一步排序中,已经将Hq与Hi∈ΓH之间的汉明距离小于阈值TH的那些图像放入到候选池P中,为了得到更为精准的搜索结果,本发明在候选池基础上进一步采用再排序方法;
再排序方法,给定搜索图像Iq和候选池P,使用实例特征来确定从候选池P中图像的前k个排名图像;使用公式(17)计算它们之间的相似程度,进一步,关于再排序的评价,这里使用一个以排名为基础的标准来进行评价;对于给定一个搜索图像Iq和一个相似性度量,对每个数据集图像进行一个排名;这里用评估前k个排名图像来表示一个搜索图像Iq的检索精度,用公式(18)表示;
式中,Rel(i)表示搜索图像Iq与第i个排名图像之间的真实相关,k表示排名图像的个数,Precision@k搜索精度;在计算真实相关时,只考虑有分类标签的部分,Rel(i)∈{0,1},如果搜索图像与第i个排名图像都具有相同的标签设置Rel(i)=1,否则设置Rel(i)=0,遍历候选池P中前k个排名图像就能得到搜索精度。
8.如权利要求1所述的基于多任务深度学习的修正局部敏感哈希车辆检索方法,其特征在于:所述步骤5)中,在无法获取检索的图像时,采用文本检索方式进行辅助检索,在不增加额外训练的情况下,使得通过文本得到的检索特征和卷积网络得到的文本特征可共用一套检索方式,其文本获取特征方法如下:
5.1)对输入的文本O解析成词条向量,去除小词、重复词,最后取出随机组合的分词最小向量R=(r1,r2,...,rn);
5.2)对R与fA顺序及车辆属性哈希码整合,得到文本属性特 此时的fATxt维度小于R的维度;
5.3)使用局部敏感再排序哈希算法检索;
5.4)返回相似图像组I。