本發(fā)明屬于模式識(shí)別技術(shù)領(lǐng)域,更具體地,涉及一種針對(duì)行人重識(shí)別的度量學(xué)習(xí)方法和系統(tǒng)。
背景技術(shù):
行人的重識(shí)別算法是圖像處理和模式識(shí)別研究的重要領(lǐng)域之一,著眼于在無(wú)公共視域的攝像頭下特定目標(biāo)行人的識(shí)別工作。由于視頻清晰度等限制,很難通過(guò)直觀的人臉等信息尋找同一目標(biāo),而是著眼于基于行人外貌的特征表達(dá),主要包括包含行人圖像的顏色和紋理等信息,再尋找一種合適的度量方法使得同一行人目標(biāo)跨攝像頭特征盡量相似,異類目標(biāo)特征差別盡量顯著。由于同一目標(biāo)在不同攝像頭下受視角、光照、物體遮擋等因素影響,其在不同視角下特征的表達(dá)往往存在偏差,所以尋找一種合適的度量方法是解決匹配問(wèn)題的核心部分。目前,針對(duì)某一數(shù)據(jù)庫(kù)的特定場(chǎng)景,由訓(xùn)練集樣本學(xué)習(xí)而產(chǎn)生一個(gè)更加合適的度量空間來(lái)進(jìn)行特征相似度計(jì)算,這種方法稱為度量學(xué)習(xí)?,F(xiàn)有的度量學(xué)習(xí)方法中,約束條件往往過(guò)于追求類內(nèi)距離最小化和類間距離最大化,忽視了復(fù)雜場(chǎng)景中目標(biāo)特征中圖像背景、噪聲等信息也同時(shí)在訓(xùn)練中被擴(kuò)大化,最終得到的度量空間往往存在過(guò)擬合的風(fēng)險(xiǎn),在測(cè)試中效果欠佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出一種行人重識(shí)別的度量學(xué)習(xí)方法,目的在于提供一種對(duì)正樣本對(duì)特征向量進(jìn)行單閾值約束,對(duì)于負(fù)樣本對(duì)特征向量雙閾值約束的度量學(xué)習(xí)方法,解決現(xiàn)有度量學(xué)習(xí)技術(shù)在復(fù)雜場(chǎng)景下存在的過(guò)擬合問(wèn)題。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種行人重識(shí)別的度量學(xué)習(xí)方法,所述方法包括以下步驟:
(1)收集兩個(gè)攝像頭下行人目標(biāo)的特征向量,建立正樣本對(duì)特征向量集合和負(fù)樣本對(duì)特征向量集合;
(2)計(jì)算正樣本對(duì)特征向量和負(fù)樣本對(duì)特征向量的距離;
(3)將正樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)半徑為μ1的圓,將負(fù)樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)以μ2為內(nèi)半徑、μ3為外半徑的圓環(huán),0<μ1<μ2<μ3;
(4)在正、負(fù)樣本對(duì)特征向量的距離約束條件下建立基于度量矩陣的損失函數(shù);
(5)以損失函數(shù)值最小為目標(biāo)迭代更新度量矩陣。
進(jìn)一步的,所述步驟(1)的具體實(shí)現(xiàn)方式為:
收集兩個(gè)攝像頭下行人目標(biāo)的特征向量,分別建立集合x(chóng)和集合z,xi為x集合中的元素,表示第i個(gè)行人目標(biāo)在一攝像頭中收集的特征向量,0<i≤n;zj為z集合中的元素,表示第j個(gè)行人目標(biāo)在另一攝像頭中收集的特征向量,0<j≤n;i=j(luò),xi和zi為同一個(gè)行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zi)表示正樣本對(duì)特征向量,共有n對(duì);i≠j,xi和zj為不同行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zj)表示負(fù)樣本對(duì)特征向量。
進(jìn)一步的,所述步驟(2)的具體實(shí)現(xiàn)方式為:
基于馬氏距離的度量學(xué)習(xí)方法,計(jì)算正樣本對(duì)特征向量的距離為:
進(jìn)一步的,所述步驟(4)的具體實(shí)現(xiàn)方式為:
在步驟(3)中正、負(fù)樣本對(duì)特征向量的距離約束條件下,建立基于度量矩陣的損失函數(shù):
其中,正樣本對(duì)特征向量的損失函數(shù):
負(fù)樣本對(duì)特征向量的損失函數(shù):
式中β是平滑參數(shù)。
進(jìn)一步的,所述步驟(5)的具體實(shí)現(xiàn)方式為:
(5-1)令mk為第k次迭代時(shí)的度量矩陣,
其中,正樣本對(duì)特征向量與約束條件相關(guān)的系數(shù)是:
(5-2)在第k次迭代過(guò)程中,對(duì)mk按照αk的步長(zhǎng)沿梯度下降的方向更新得到:
(5-3)判斷
(5-4)判斷是否滿足結(jié)束條件
進(jìn)一步的,所述步驟(5-3)的具體實(shí)現(xiàn)方式為:
(5-3-1)使用公式:
(5-3-2)將
(5-3-3)令
進(jìn)一步的,所述步驟(1)中的特征向量包括顏色信息和紋理信息。
按照本發(fā)明的另一方面,提供了一種行人重識(shí)別的度量學(xué)習(xí)系統(tǒng),所述系統(tǒng)包括以下模塊:
特征向量模塊,用于收集兩個(gè)攝像頭下行人目標(biāo)的特征向量,建立正樣本對(duì)特征向量和負(fù)樣本對(duì)特征向量集合;
度量學(xué)習(xí)方法模塊,基于馬氏距離的度量學(xué)習(xí)方法,用于計(jì)算正樣本對(duì)特征向量的距離和負(fù)樣本對(duì)特征向量的距離;
約束條件模塊,用于將正樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)半徑為μ1的圓,將負(fù)樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)以μ2為內(nèi)半徑、μ3為外半徑的圓環(huán),0<μ1<μ2<μ3;
損失函數(shù)模塊,用于在正、負(fù)樣本對(duì)特征向量的距離的約束條件下,建立基于度量矩陣的損失函數(shù);
投影梯度下降法模塊,用于以損失函數(shù)值最小為目標(biāo)迭代更新度量矩陣,包括以下子模塊:損失函數(shù)梯度子模塊、迭代子模塊、判斷子模塊和結(jié)束子模塊。
進(jìn)一步的,所述判斷子模塊包括第一判斷模塊、第二判斷模塊和第三判斷模塊。
進(jìn)一步的,所述特征向量模塊中的特征向量包括顏色信息和紋理信息。
總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,主要具備以下技術(shù)優(yōu)點(diǎn):
1、本發(fā)明區(qū)別于通常采用的度量學(xué)習(xí)的約束條件,提出了更優(yōu)越的基于雙閾值對(duì)負(fù)樣本對(duì)特征向量約束的度量學(xué)習(xí)方法,其特點(diǎn)主要在于,保證正樣本對(duì)特征向量的距離同時(shí),也對(duì)負(fù)樣本對(duì)特征向量的距離大小做了限制,用雙閾值的形式使得負(fù)樣本對(duì)特征向量的距離大小在一個(gè)可控的范圍內(nèi),而不是通常所選擇的二元約束條件下讓正樣本對(duì)特征向量的距離與負(fù)樣本對(duì)特征向量的距離差大于一個(gè)常數(shù),或是三元約束條件下分別設(shè)置一個(gè)閾值的方法,這樣做理論依據(jù)實(shí)際上是一種正則化的思想,這種方法可以有效的減輕圖像背景、噪聲等無(wú)關(guān)變量對(duì)矩陣學(xué)習(xí)產(chǎn)生較大的影響,從而避免過(guò)擬合現(xiàn)象發(fā)生;
2、該算法得到的度量矩陣泛化能力強(qiáng),對(duì)于各種特征向量都有較好的適應(yīng)性,特別是對(duì)于一些含有較多噪聲的復(fù)雜場(chǎng)景下的行人重識(shí)別具有良好的效果。
3、該算法構(gòu)造結(jié)構(gòu)簡(jiǎn)單,采用投影梯度下降法的計(jì)算方法,速度較快、效率較高,且在各個(gè)常用于行人重識(shí)別的數(shù)據(jù)庫(kù)(如viper、cuhk03、cuhk01庫(kù))上測(cè)試效果性能優(yōu)異。
附圖說(shuō)明
圖1是本發(fā)明所提出的一種行人重識(shí)別的度量學(xué)習(xí)方法的流程圖;
圖2是本發(fā)明約束條件的圖形化示意圖;
圖3是本發(fā)明所提出的一種行人重識(shí)別的度量學(xué)習(xí)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
為了方便敘述,我們?cè)O(shè)定我們的數(shù)據(jù)集來(lái)自兩個(gè)攝像頭,其中每一個(gè)行人在一個(gè)攝像頭下只有一張圖像(此算法可十分容易地?cái)U(kuò)展到多個(gè)攝像頭和多張圖像)
如圖1所示,本發(fā)明所提出的一種行人重識(shí)別的度量學(xué)習(xí)方法,包括以下步驟:
步驟(1)收集特征向量,建立正樣本對(duì)特征向量和負(fù)樣本對(duì)特征向量:收集兩個(gè)攝像頭下行人目標(biāo)的特征向量,分別建立集合x(chóng)和集合z,xi為x集合中的元素,表示第i個(gè)行人目標(biāo)在一攝像頭中收集的特征向量,0<i≤n;zj為z集合中的元素,表示第j個(gè)行人目標(biāo)在另一攝像頭中收集的特征向量,0<j≤n;i=j(luò),xi和zi為同一個(gè)行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zi)表示正樣本對(duì)特征向量,共有n對(duì);i≠j,xi和zj為不同行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zj)表示負(fù)樣本對(duì)特征向量,共有n×(n-1)對(duì)。
步驟(2)基于馬氏距離的度量學(xué)習(xí)方法計(jì)算正、負(fù)樣本對(duì)特征向量的距離:正樣本對(duì)特征向量的距離為:
步驟(3)規(guī)定正、負(fù)樣本對(duì)特征向量的距離的約束條件:
步驟(4)在步驟(3)中正、負(fù)樣本對(duì)特征向量的距離的約束條件下,建立損失函數(shù):
式中β是一個(gè)起平滑作用的參數(shù),β=1;
步驟(5)采用投影梯度下降法求得損失函數(shù)最小時(shí)度量矩陣的值,包括以下子步驟:
步驟(5-1)計(jì)算損失函數(shù)梯度,mk為第k次迭代時(shí)的度量矩陣,
其中,正樣本對(duì)特征向量與約束條件相關(guān)的系數(shù)是:
步驟(5-2)令第k次迭代時(shí)損失函數(shù)對(duì)mk求導(dǎo)到函數(shù)▽l(mk),在第k次迭代過(guò)程中,對(duì)mk按照αk的步長(zhǎng)沿梯度下降的方向更新其值得到:
步驟(5-3)判斷
步驟(5-4)判斷是否滿足迭代結(jié)束條件
所述步驟(5-3)的具體實(shí)現(xiàn)方式為:
步驟(5-3-1)使用公式:
步驟(5-3-2)將
步驟(5-3-3)令
進(jìn)一步的,所述步驟(1)中的特征向量包括顏色信息和紋理信息。
如圖2所示,本發(fā)明約束條件的圖形化示意圖,每一種形狀的圖案對(duì)應(yīng)著同一個(gè)目標(biāo)在不同攝像頭下的特征向量,不同的圖案為不同的目標(biāo)的特征向量,正樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)半徑為μ1的圓;對(duì)負(fù)樣本對(duì)特征向量采用雙閾值進(jìn)行約束,負(fù)樣本對(duì)特征向量的距離在度量空間中約束為一個(gè)以μ2為內(nèi)半徑、μ3為外半徑的圓環(huán);具體約束條件為0<μ1<μ2<μ3,其中μ1為0.2,μ2為1.8,μ3為2.2。
如圖3所示,本發(fā)明所提出的一種行人重識(shí)別的度量學(xué)習(xí)系統(tǒng),包括以下模塊:
特征向量模塊,用于收集兩個(gè)攝像頭下行人目標(biāo)的特征向量,分別建立集合x(chóng)和集合z,xi為x集合中的元素,表示第i個(gè)行人目標(biāo)在一攝像頭中收集的特征向量,0<i≤n;zj為z集合中的元素,表示第j個(gè)行人目標(biāo)在另一攝像頭中收集的特征向量,0<j≤n;i=j(luò),xi和zi為同一個(gè)行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zi)表示正樣本對(duì)特征向量,共有n對(duì);i≠j,xi和zj為不同行人目標(biāo)在兩個(gè)不同攝像頭下的特征向量,(xi,zj)表示負(fù)樣本對(duì)特征向量,共有n×(n-1)對(duì);
度量學(xué)習(xí)方法模塊,用于計(jì)算正、負(fù)樣本對(duì)特征向量的距離,基于馬氏距離的度量學(xué)習(xí)方法,正樣本對(duì)特征向量的距離為:
約束條件模塊,用于對(duì)正、負(fù)樣本對(duì)特征向量的距離進(jìn)行約束,正、負(fù)樣本對(duì)特征向量的距離的約束條件:
損失函數(shù)模塊,用于在正、負(fù)樣本對(duì)特征向量的距離的約束條件下,建立損失函數(shù):
式中β是一個(gè)起平滑作用的參數(shù),β=1;
投影梯度下降法模塊,用于計(jì)算損失函數(shù)最小時(shí)度量矩陣的值,包括以下子模塊:
損失函數(shù)梯度子模塊:
其中,mk為第k次迭代時(shí)的度量矩陣,
迭代子模塊,用于計(jì)算第k次迭代時(shí)損失函數(shù)對(duì)mk求導(dǎo)到函數(shù)▽l(mk),在第k次迭代過(guò)程中,對(duì)mk按照αk的步長(zhǎng)沿梯度下降的方向更新其值得到:
判斷子模塊,用于判斷
結(jié)束子模塊,用于判斷是否滿足迭代結(jié)束條件
進(jìn)一步的,所述判斷子模塊包括:
第一判斷模塊,用于公式計(jì)算:
第二判斷模塊,用于將
第三判斷模塊,用于令
進(jìn)一步的,所述特征向量模塊中的特征向量包括顏色信息和紋理信息。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。