发明名称 基于相似性和不相似性融合排序优化的行人重识别方法
摘要 本发明公开了一种基于相似性和不相似性融合排序优化的行人重识别方法,行人重识别是一种针对特定行人的检索问题,本发明的主要思想是正确检索的行人目标应该跟查询行人的极正样本相似,并且跟查询行人的极负样本不相似。同时我们将与极正样本相似的那些行人定义为疑正样本,与极负样本相似的样本为疑负样本,通过提高疑正样本的排名,同时降低疑负样本的排名,来达到通过排序优化的方式来提升行人重识别的效果。此外,融合多种方法的结果来加强这种相似性和不相似性关系。本发明通过对相似性和不相似性的排序结果进行融合,进而提升多摄像头下同一行人匹配的准确性。
申请公布号 CN104462550A 申请公布日期 2015.03.25
申请号 CN201410827080.8 申请日期 2014.12.25
申请人 武汉大学 发明人 胡瑞敏;叶茫;梁超;刘俊;王正;陈军;阮威健
分类号 G06F17/30(2006.01)I;G06K9/00(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 薛玲
主权项 一种基于相似性和不相似性融合排序优化的行人重识别方法,其特征在于:任选ELF方法、SDALF方法、LDFV方法、SDC方法、BiCov方法、SCND方法、PCCA方法、PRDC方法、LMNN方法、ITML方法、KISSME方法和FPM方法中的两种方法(以下简称为方法1和方法2)进行相似性和不相似性融合排序优化;其具体实现包括以下步骤:步骤1:针对一个特定的查询p,分别采用方法1和方法2得到p的排序列表RL<sup>1</sup>(p)和RL<sup>2</sup>(p),分别取两个排序列表的前k<sub>+</sub>个结果,得到<img file="FDA00006439873400000120.GIF" wi="170" he="63" />和<img file="FDA00006439873400000121.GIF" wi="195" he="63" />步骤2:通过对两个排序列表<img file="FDA00006439873400000122.GIF" wi="171" he="63" />和<img file="FDA00006439873400000123.GIF" wi="170" he="63" />的前k个结果取并集,得到双方都认同的极相似样本集<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>G</mi><msub><mi>K</mi><msub><mi>c</mi><mo>+</mo></msub></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msub><mi>g</mi><mrow><msub><mi>K</mi><msub><mi>c</mi><mo>+</mo></msub></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>|</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>k</mi><msub><mi>c</mi><mo>+</mo></msub></msub><mo>,</mo><msub><mi>k</mi><msub><mi>c</mi><mo>+</mo></msub></msub><mo>&le;</mo><mi>k</mi><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000643987340000011.GIF" wi="821" he="86" /></maths>即都认同的极相似样本数有<img file="FDA0000643987340000012.GIF" wi="68" he="84" />个;步骤3:对极相似样本集<img file="FDA0000643987340000013.GIF" wi="172" he="89" />里的每一个样本<img file="FDA0000643987340000014.GIF" wi="140" he="69" />作为一个新的查询;保留原先的待查集,进行交叉的反向查询;对于方法1和方法2,计算每个新查询排序列表与原始查询p的排序列表的Jaccard相似度,分别对<img file="FDA0000643987340000015.GIF" wi="174" he="91" />进行重排;其具体实现包括以下子步骤:步骤3.1:对<img file="FDA0000643987340000016.GIF" wi="172" he="91" />中的每个新的查询<img file="FDA0000643987340000017.GIF" wi="170" he="74" />根据它在<img file="FDA0000643987340000018.GIF" wi="175" he="88" />中的位置,计算每个<img file="FDA0000643987340000019.GIF" wi="136" he="73" />的排序列表赋的权重<img file="FDA00006439873400000110.GIF" wi="234" he="80" />步骤3.2:对于方法1,对<img file="FDA00006439873400000111.GIF" wi="175" he="93" />中的每一个<img file="FDA00006439873400000112.GIF" wi="136" he="70" />进行反向查询时,用方法2去查询;对<img file="FDA00006439873400000113.GIF" wi="174" he="86" />中的每一个新的查询<img file="FDA00006439873400000114.GIF" wi="138" he="68" />得到的新排序列表<img file="FDA00006439873400000115.GIF" wi="286" he="102" />构建一个双层图Graph<sup>+</sup>=&lt;G,E,w&gt;,第一层采用初始的方法1得到的top‑k个结果,第二层采用方法2,取top‑k结果,计算两层的Jaccard相似度<img file="FDA00006439873400000116.GIF" wi="347" he="84" />并计算出每个极相似样本的权重<img file="FDA00006439873400000117.GIF" wi="319" he="114" />对<img file="FDA00006439873400000118.GIF" wi="174" he="84" />中进行重排,并输出排序优化的结果<img file="FDA00006439873400000119.GIF" wi="177" he="93" />对于方法2,对<img file="FDA0000643987340000021.GIF" wi="179" he="89" />中的每一个<img file="FDA0000643987340000022.GIF" wi="134" he="68" />进行反向查询时,用方法1去查询;对<img file="FDA0000643987340000023.GIF" wi="170" he="92" />中的每一个新的查询<img file="FDA0000643987340000024.GIF" wi="137" he="69" />得到的新排序列表<img file="FDA0000643987340000025.GIF" wi="279" he="99" />构建一个双层图Graph<sup>+</sup>=&lt;G,E,w&gt;,第一层采用初始的方法2得到的top‑k个结果,第二层采用方法1,取top‑k结果,计算两层的Jaccard相似度<img file="FDA0000643987340000026.GIF" wi="356" he="87" />并计算出每个极相似样本的权重<img file="FDA0000643987340000027.GIF" wi="319" he="115" />对<img file="FDA0000643987340000028.GIF" wi="176" he="90" />中进行重排,并输出排序优化的结果<img file="FDA0000643987340000029.GIF" wi="179" he="86" />步骤4:对两种优化后的排序列表进行融合,得到交叉反向查询的排序融合排序列表RL<sup>*</sup>(p),<img file="FDA00006439873400000210.GIF" wi="734" he="93" />其中,α表示融合的权重,可根据实际情况调整;步骤5:对于分别通过方法1和方法2得到p的排序列表RL<sup>1</sup>(p)和RL<sup>2</sup>(p),分别取两个排序列表的后k<sub>‑</sub>个结果,得到<img file="FDA00006439873400000211.GIF" wi="172" he="79" />和<img file="FDA00006439873400000212.GIF" wi="201" he="79" />步骤6:通过对两个排序列表<img file="FDA00006439873400000213.GIF" wi="168" he="77" />和<img file="FDA00006439873400000214.GIF" wi="174" he="77" />的前k<sub>c‑</sub>个结果取并集,得到极不相似样本集<img file="FDA00006439873400000215.GIF" wi="829" he="77" />即极不相似样本数有k<sub>c‑</sub>个;步骤7:把极不相似样本集<img file="FDA00006439873400000216.GIF" wi="164" he="83" />里的每一个极不相似样本<img file="FDA00006439873400000217.GIF" wi="138" he="67" />作为一个新的查询,保留原先的待查集,进行交叉的反向查询,其具体实现包括以下子步骤:步骤7.1:对于方法1,对中<img file="FDA00006439873400000218.GIF" wi="172" he="83" />的每一个极不相似样本<img file="FDA00006439873400000219.GIF" wi="134" he="76" />进行反向查询时,用方法2去查询,得到一个新的排序列表<img file="FDA00006439873400000220.GIF" wi="308" he="92" />取新排序列表的前k<sub>+</sub>个结果,<img file="FDA00006439873400000221.GIF" wi="286" he="90" />用<img file="FDA00006439873400000222.GIF" wi="278" he="89" />表示所有的新排序集合,即:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>1</mn></msubsup><mrow><mo>(</mo><msub><mi>G</mi><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>1</mn></msubsup><mrow><mo>(</mo><msub><mi>g</mi><mrow><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo><mo>|</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>k</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA00006439873400000223.GIF" wi="903" he="86" /></maths>步骤7.2:对于方法2,对<img file="FDA00006439873400000224.GIF" wi="170" he="82" />中的每一个极不相似样本<img file="FDA00006439873400000225.GIF" wi="138" he="70" />进行反向查询时,用方法1去查询,得到一个新的排序列表<img file="FDA0000643987340000031.GIF" wi="283" he="100" />取新排序列表的前k<sub>+</sub>个结果,<img file="FDA0000643987340000032.GIF" wi="288" he="86" />用<img file="FDA0000643987340000033.GIF" wi="287" he="86" />表示所有的新排序集合,即:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>G</mi><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>g</mi><mrow><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo><mo>|</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>k</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000643987340000034.GIF" wi="903" he="90" /></maths>步骤8:对步骤7得到的排序集合<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>1</mn></msubsup><mrow><mo>(</mo><msub><mi>G</mi><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>1</mn></msubsup><mrow><mo>(</mo><msub><mi>g</mi><mrow><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo><mo>|</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>k</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000643987340000035.GIF" wi="870" he="91" /></maths>和<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>G</mi><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mo>{</mo><msubsup><mi>N</mi><mrow><mi>k</mi><mo>+</mo></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>g</mi><mrow><msub><mi>K</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo><mo>|</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>k</mi><mrow><mi>c</mi><mo>-</mo></mrow></msub></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000643987340000036.GIF" wi="878" he="87" /></maths>求其极不相似样本并集G<sub>dis</sub>(p);对G<sub>dis</sub>(p)中的每个样本g<sub>i</sub>,统计其在<img file="FDA0000643987340000037.GIF" wi="280" he="90" />和<img file="FDA0000643987340000038.GIF" wi="284" he="86" />中的频数,用tf(g<sub>i</sub>)表示;其中tf(g<sub>i</sub>)&lt;k<sub>c‑</sub>;G<sub>dis</sub>(p)中所有样本在<img file="FDA0000643987340000039.GIF" wi="282" he="86" />和<img file="FDA00006439873400000310.GIF" wi="283" he="90" />中出现的频数表示为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>TF</mi><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>tf</mi><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msub><mi>g</mi><mi>i</mi></msub><mo>&Element;</mo><msub><mi>G</mi><mi>dis</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA00006439873400000311.GIF" wi="820" he="210" /></maths>步骤9:对于RL<sup>*</sup>(p)中g<sub>i</sub>的,根据g<sub>i</sub>的频数将其在RL<sup>*</sup>(p)中的顺序优化:rank<sup>**</sup>(g<sub>i</sub>)=rank<sup>*</sup>(g<sub>i</sub>)*exp(β*TF(g<sub>i</sub>));根据rank<sup>*</sup>(g<sub>i</sub>)将RL<sup>*</sup>(p)优化排序,得到最终排序优化的RL<sup>**</sup>(p);其中rank<sup>*</sup>(g<sub>i</sub>)是g<sub>i</sub>在RL<sup>*</sup>(p)中的排列序号;步骤10:重新计算排序优化后的CMC值,此处CMC值是指N次查询中,返回前r个结果中有正确行人对象的概率,当返回前r个结果时,CMC值越高,表示行人检索性能越好。
地址 430072 湖北省武汉市武昌区珞珈山武汉大学