本發(fā)明涉及圖像識(shí)別領(lǐng)域,更具體地涉及一種行人檢測(cè)和再識(shí)別的方法及裝置。
背景技術(shù):
行人檢測(cè)可以應(yīng)用于智能駕駛、輔助駕駛和智能監(jiān)控等相關(guān)領(lǐng)域,主要用于檢測(cè)圖像或視頻中是否存在行人。行人再識(shí)別(re-identification,reid)也稱為行人重識(shí)別,可以應(yīng)用于安防領(lǐng)域、刑偵領(lǐng)域等相關(guān)領(lǐng)域,主要用于在一組行人的圖像中找到和目標(biāo)最像的一張圖像。在現(xiàn)有的方法中,往往將行人檢測(cè)和reid視為兩個(gè)相互獨(dú)立的環(huán)節(jié)。在行人檢測(cè)環(huán)節(jié)中,針對(duì)每一幀圖像找到行人,并通過邊框把它們的位置和大小表示出來。然后在reid環(huán)節(jié)比較這些行人和目標(biāo)的相似度,從而達(dá)到reid的目的。然而,由于在以上兩個(gè)環(huán)節(jié)中的每一個(gè)環(huán)節(jié)都可能引入額外的誤差,因此通過上述獨(dú)立的兩個(gè)環(huán)節(jié)之后容易造成誤差的傳播擴(kuò)大,從而導(dǎo)致計(jì)算精度低。
技術(shù)實(shí)現(xiàn)要素:
考慮到上述問題而提出了本發(fā)明。本發(fā)明提供了一種行人檢測(cè)和再識(shí)別的方法及裝置,能夠在行人檢測(cè)的同時(shí)確定用于reid的特征信息,避免引入額外的誤差,從而保證計(jì)算的精度。
根據(jù)本發(fā)明的第一方面,提供了一種行人檢測(cè)和再識(shí)別的方法,包括:
提取原始圖像的特征張量;
根據(jù)所述特征張量,確定至少一個(gè)子區(qū)域;
計(jì)算與所述至少一個(gè)子區(qū)域一一對(duì)應(yīng)的至少一個(gè)向量特征;
基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置以及提取用于再識(shí)別的待識(shí)別行人特征信息。
示例性地,所述根據(jù)所述特征張量,確定至少一個(gè)子區(qū)域,包括:
根據(jù)所述特征張量,構(gòu)建多個(gè)超像素點(diǎn),每個(gè)超像素點(diǎn)表示一個(gè)c維向量;
根據(jù)所述多個(gè)超像素點(diǎn),確定與所述多個(gè)超像素點(diǎn)一一對(duì)應(yīng)的多個(gè)區(qū)域;
根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域。
示例性地,所述根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域,包括:采用非極大值抑制nms算法,基于所述多個(gè)區(qū)域確定多個(gè)矩形區(qū)域;將所述多個(gè)矩形區(qū)域?qū)?yīng)的特征進(jìn)行綜合,得到所述至少一個(gè)子區(qū)域。
示例性地,所述計(jì)算與所述至少一個(gè)子區(qū)域一一對(duì)應(yīng)的至少一個(gè)向量特征,包括:
對(duì)于所述至少一個(gè)子區(qū)域中的每個(gè)子區(qū)域:
將所述每個(gè)子區(qū)域中的所有的超像素點(diǎn)對(duì)應(yīng)的向量中各個(gè)頻道取最大值或平均值,得到與所述每個(gè)子區(qū)域?qū)?yīng)的向量特征。
示例性地,所述基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置以及提取用于再識(shí)別的待識(shí)別行人特征信息,包括:
基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置,其中,所述位置表示為所述行人在所述原始圖像中的坐標(biāo);以及
基于所述至少一個(gè)向量特征,提取用于再識(shí)別的所述待識(shí)別行人特征信息。
示例性地,還包括:基于所述至少一個(gè)向量特征,判斷所述至少一個(gè)子區(qū)域中的物體是否為行人。
示例性地,還包括:將所述用于再識(shí)別的待識(shí)別行人特征信息與目標(biāo)行人特征信息進(jìn)行比對(duì),以判斷所述用于再識(shí)別的待識(shí)別行人特征信息對(duì)應(yīng)的行人與所述目標(biāo)行人是否為同一人。
示例性地,所述目標(biāo)行人特征信息通過以下步驟獲得:
提取目標(biāo)行人圖像的特征張量;
根據(jù)所述目標(biāo)行人圖像的特征張量,確定目標(biāo)行人區(qū)域;
計(jì)算與所述目標(biāo)行人區(qū)域?qū)?yīng)的至少一個(gè)目標(biāo)向量特征,基于所述至少一個(gè)目標(biāo)向量特征,獲得所述目標(biāo)行人特征信息。
根據(jù)本發(fā)明的第二方面,提供了一種行人檢測(cè)和再識(shí)別的裝置,包括:
提取模塊,用于提取原始圖像的特征張量;
第一確定模塊,用于根據(jù)所述特征張量,確定至少一個(gè)子區(qū)域;
計(jì)算模塊,用于計(jì)算與所述至少一個(gè)子區(qū)域一一對(duì)應(yīng)的至少一個(gè)向量特征;
第二確定模塊,用于基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置以及提取用于再識(shí)別的待識(shí)別行人特征信息。
示例性地,所述第一確定模塊,包括:
構(gòu)建子模塊,用于根據(jù)所述特征張量,構(gòu)建多個(gè)超像素點(diǎn),每個(gè)超像素點(diǎn)表示一個(gè)c維向量;
第一確定子模塊,用于根據(jù)所述多個(gè)超像素點(diǎn),確定與所述多個(gè)超像素點(diǎn)一一對(duì)應(yīng)的多個(gè)區(qū)域;
第二確定子模塊,用于根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域。
示例性地,所述第二確定子模塊,用于:采用非極大值抑制nms算法,基于所述多個(gè)區(qū)域確定多個(gè)矩形區(qū)域;將所述多個(gè)矩形區(qū)域?qū)?yīng)的特征進(jìn)行綜合,得到所述至少一個(gè)子區(qū)域。
示例性地,所述計(jì)算模塊,用于:
對(duì)于所述至少一個(gè)子區(qū)域中的每個(gè)子區(qū)域:
將所述每個(gè)子區(qū)域中的所有的超像素點(diǎn)對(duì)應(yīng)的向量中各個(gè)頻道取最大值或平均值,得到與所述每個(gè)子區(qū)域?qū)?yīng)的向量特征。
示例性地,所述第二確定模塊,用于:
基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置,其中,所述位置表示為所述行人在所述原始圖像中的坐標(biāo);以及
基于所述至少一個(gè)向量特征,提取用于再識(shí)別的所述待識(shí)別行人特征信息。
示例性地,所述第二確定模塊,還用于:基于所述至少一個(gè)向量特征,判斷所述至少一個(gè)子區(qū)域中的物體是否為行人。
示例性地,還包括判斷模塊,用于:將所述用于再識(shí)別的待識(shí)別行人特征信息與目標(biāo)行人特征信息進(jìn)行比對(duì),以判斷所述用于再識(shí)別的待識(shí)別行人特征信息對(duì)應(yīng)的行人與所述目標(biāo)行人是否為同一人。
示例性地,還包括獲取模塊,用于預(yù)先獲得所述目標(biāo)行人特征信息;
其中,所述獲取模塊包括:
提取子模塊,用于提取目標(biāo)行人圖像的特征張量;
確定子模塊,用于根據(jù)所述目標(biāo)行人圖像的特征張量,確定目標(biāo)行人區(qū)域;
計(jì)算子模塊,用于計(jì)算與所述目標(biāo)行人區(qū)域?qū)?yīng)的至少一個(gè)目標(biāo)向量特征;
獲取子模塊,用于基于所述至少一個(gè)目標(biāo)向量特征,獲得所述目標(biāo)行人特征信息。
第二方面所述的該裝置能夠用于實(shí)現(xiàn)前述第一方面的行人檢測(cè)和再識(shí)別的方法。
根據(jù)本發(fā)明的第三方面,提供了一種計(jì)算機(jī)芯片,該計(jì)算機(jī)芯片包括處理器和存儲(chǔ)器。所述存儲(chǔ)器存儲(chǔ)有指令代碼,所述處理器用于執(zhí)行所述指令代碼,且當(dāng)所述處理器執(zhí)行指令代碼時(shí),能夠?qū)崿F(xiàn)前述第一方面所述的行人檢測(cè)和再識(shí)別的方法。
由此可見,本發(fā)明實(shí)施例在進(jìn)行行人檢測(cè)的同時(shí),可以給出用于reid的特征信息。這樣不僅能夠提高處理的效率,并且能夠避免引入額外的誤差,保證了處理的精度。
附圖說明
通過結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行更詳細(xì)的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。附圖用來提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中,相同的參考標(biāo)號(hào)通常代表相同部件或步驟。
圖1是本發(fā)明實(shí)施例的電子設(shè)備的一個(gè)示意性框圖;
圖2是本發(fā)明實(shí)施例的行人檢測(cè)和再識(shí)別的方法的一個(gè)示意性流程圖;
圖3是本發(fā)明實(shí)施例的行人檢測(cè)和再識(shí)別的方法的另一個(gè)示意性流程圖;
圖4是本發(fā)明實(shí)施例的行人檢測(cè)和再識(shí)別的裝置的一個(gè)示意性框圖。
具體實(shí)施方式
為了使得本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更為明顯,下面將參照附圖詳細(xì)描述根據(jù)本發(fā)明的示例實(shí)施例。顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是本發(fā)明的全部實(shí)施例,應(yīng)理解,本發(fā)明不受這里描述的示例實(shí)施例的限制?;诒景l(fā)明中描述的本發(fā)明實(shí)施例,本領(lǐng)域技術(shù)人員在沒有付出創(chuàng)造性勞動(dòng)的情況下所得到的所有其它實(shí)施例都應(yīng)落入本發(fā)明的保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例可以應(yīng)用于電子設(shè)備,圖1所示為本發(fā)明實(shí)施例的電子設(shè)備的一個(gè)示意性框圖。圖1所示的電子設(shè)備10包括一個(gè)或多個(gè)處理器102、一個(gè)或多個(gè)存儲(chǔ)裝置104、輸入裝置106、輸出裝置108、圖像傳感器110以及一個(gè)或多個(gè)非圖像傳感器114,這些組件通過總線系統(tǒng)112和/或其它形式互連。應(yīng)當(dāng)注意,圖1所示的電子設(shè)備10的組件和結(jié)構(gòu)只是示例性的,而非限制性的,根據(jù)需要,所述電子設(shè)備也可以具有其他組件和結(jié)構(gòu)。
所述處理器102可以包括cpu1021和gpu1022或者具有數(shù)據(jù)處理能力和/或指令執(zhí)行能力的其它形式的處理單元,例如現(xiàn)場(chǎng)可編程門陣列(field-programmablegatearray,fpga)或進(jìn)階精簡(jiǎn)指令集機(jī)器(advancedrisc(reducedinstructionsetcomputer)machine,arm)等,并且處理器102可以控制所述電子設(shè)備10中的其它組件以執(zhí)行期望的功能。
所述存儲(chǔ)裝置104可以包括一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品可以包括各種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如易失性存儲(chǔ)器1041和/或非易失性存儲(chǔ)器1042。所述易失性存儲(chǔ)器1041例如可以包括隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)和/或高速緩沖存儲(chǔ)器(cache)等。所述非易失性存儲(chǔ)器1042例如可以包括只讀存儲(chǔ)器(read-onlymemory,rom)、硬盤、閃存等。在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上可以存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序指令,處理器102可以運(yùn)行所述程序指令,以實(shí)現(xiàn)各種期望的功能。在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中還可以存儲(chǔ)各種應(yīng)用程序和各種數(shù)據(jù),例如所述應(yīng)用程序使用和/或產(chǎn)生的各種數(shù)據(jù)等。
所述輸入裝置106可以是用戶用來輸入指令的裝置,并且可以包括鍵盤、鼠標(biāo)、麥克風(fēng)和觸摸屏等中的一個(gè)或多個(gè)。
所述輸出裝置108可以向外部(例如用戶)輸出各種信息(例如圖像或聲音),并且可以包括顯示器、揚(yáng)聲器等中的一個(gè)或多個(gè)。
所述圖像傳感器110可以拍攝用戶期望的圖像(例如照片、視頻等),并且將所拍攝的圖像存儲(chǔ)在所述存儲(chǔ)裝置104中以供其它組件使用。
當(dāng)注意,圖1所示的電子設(shè)備10的組件和結(jié)構(gòu)只是示例性的,盡管圖1示出的電子設(shè)備10包括多個(gè)不同的裝置,但是根據(jù)需要,其中的一些裝置可以不是必須的,其中的一些裝置的數(shù)量可以更多等等,本發(fā)明對(duì)此不限定。
圖2是本發(fā)明實(shí)施例的行人檢測(cè)的再識(shí)別的方法的一個(gè)示意性流程圖。圖2所示的方法包括:
s101,提取原始圖像的特征張量。
作為一例,原始圖像可以是實(shí)時(shí)采集的圖像,例如可以是由攝像頭采集的視頻中的一幀圖像或多幀圖像,或者,可以是由照相機(jī)拍攝到的一張圖片。作為另一例,原始圖像可以是從特定的源獲取的,例如可以從存儲(chǔ)器中獲取先前采集并存儲(chǔ)的圖像。
在s101中,可以將原始圖像輸入到一層或多層卷積神經(jīng)網(wǎng)絡(luò)(convolutionalneuralnetwork,cnn),提取該原始圖像的特征張量。
可理解,如果該原始圖像包括多幀圖像,例如,該原始圖像為視頻,則在s101中,可以將多幀圖像中的每一幀輸入到一層或多層cnn,從而提取每一幀圖像的特征張量。
卷積神經(jīng)網(wǎng)絡(luò)(cnn)是一種前饋神經(jīng)網(wǎng)絡(luò),由若干卷積單元組成。每個(gè)卷積單元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元。每個(gè)卷積單元的參數(shù)都是通過反向傳播算法優(yōu)化得到的。卷積運(yùn)算的目的是提取輸入的不同特征。例如,第一層卷積層可能只能提取一些低級(jí)的特征,如邊緣、線條和角等層級(jí),更多層的網(wǎng)絡(luò)能從低級(jí)特征中迭代提取更復(fù)雜的特征。這些特征類似于熱力圖,對(duì)于一張圖像(如視頻中的一幀),經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)提取的特征張量可以表示為一個(gè)三階張量x。該三階張量的三個(gè)維度分別代表橫向(h),縱向(w)和頻道(c),其中,頻道(c)為根據(jù)應(yīng)用場(chǎng)景的需求進(jìn)行設(shè)定的維度,頻道(c)中包含有原始圖像的特征,由于不同的使用場(chǎng)景所需要的原始圖像特征的種類與精細(xì)程度不同,因此經(jīng)過不同的卷積神經(jīng)網(wǎng)絡(luò)所得到的頻道(c)并不一定相同,其根據(jù)不同的需求進(jìn)行設(shè)定??蛇x地,作為一例,卷積神經(jīng)網(wǎng)絡(luò)根據(jù)應(yīng)用場(chǎng)景的需要進(jìn)行訓(xùn)練后,對(duì)輸入的一張圖片進(jìn)行計(jì)算,基于輸入圖片的長(zhǎng)度信息、寬度信息及色彩通道信息輸出一個(gè)三階張量,三個(gè)維度分別代表橫向(h),縱向(w)和頻道(c),上述每個(gè)維度均包含128個(gè)數(shù)值。也就是說,s101提取所得到的特征張量的維度可以表示為h×w×c。該特征張量中的元素可以表示為x[i][j][k],其中,i=0,1,2,…,h-1,j=0,1,2,…,w-1,k=0,1,2,…,c-1。
示例性地,s101中所使用的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)可以是隨機(jī)初始化得到的,也可以是利用之前已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行初始化得到的,其中已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)如alexnet、vgg、殘差網(wǎng)絡(luò)(residentialnetwork,resnet)等。
本發(fā)明實(shí)施例中,可以選取這些已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)中的某些部分作為s101中所使用的卷積神經(jīng)網(wǎng)絡(luò)的一部分;或者,也可以固定這些已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)中一部分參數(shù),并對(duì)其他的參數(shù)進(jìn)行訓(xùn)練,從而得到s101中所使用的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)。
s102,根據(jù)所述特征張量,確定至少一個(gè)子區(qū)域。
示例性地,s102可以包括:根據(jù)所述特征張量,構(gòu)建多個(gè)超像素點(diǎn),每個(gè)超像素點(diǎn)表示一個(gè)c維向量;根據(jù)所述多個(gè)超像素點(diǎn),確定與所述多個(gè)超像素點(diǎn)一一對(duì)應(yīng)的多個(gè)區(qū)域;根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域。
具體地,可以定義x[i][j]為一個(gè)超像素點(diǎn),可以理解,一個(gè)超像素點(diǎn)為一個(gè)c維向量。一個(gè)超像素點(diǎn)可以對(duì)應(yīng)原始圖像上的一片區(qū)域。具體地,x[i][j]表示在張量橫坐標(biāo)為i,縱坐標(biāo)為j的位置上所有頻道的數(shù)值組成的一個(gè)c維向量??衫斫?,在s102中,可以根據(jù)特征張量定義h×w個(gè)超像素點(diǎn)。其中,每個(gè)超像素點(diǎn)的向量包含了該超像素點(diǎn)對(duì)應(yīng)的區(qū)域的特征。也就是說,每個(gè)超像素點(diǎn)表示一個(gè)區(qū)域,多個(gè)超像素點(diǎn)與多個(gè)區(qū)域一一對(duì)應(yīng)。
可選地,作為一例,根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域,可以包括:采用非極大值抑制(non-maximumsuppression,nms)算法,基于所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域。
具體地,通過將每個(gè)超像素點(diǎn)的向量輸入到一個(gè)分類器和回歸器,能夠得出與輸入的超像素點(diǎn)對(duì)應(yīng)的區(qū)域中是否存在某個(gè)特定大小的物體,以及該物體可能存在的矩形區(qū)域。所有的超像素點(diǎn)輸入到分類器和回歸器之后,能夠得到大量可能的物體及對(duì)應(yīng)矩形區(qū)域。進(jìn)一步地,對(duì)這些大量的矩形區(qū)域,根據(jù)分類器的可信度排序,并合并重疊度較高的矩形區(qū)域,最后便可以得到至少一個(gè)子區(qū)域。這里至少一個(gè)子區(qū)域可以被認(rèn)為是可能存在感興趣物體的區(qū)域。示例性地,分類器和回歸器都可以是1×1的卷積網(wǎng)絡(luò)。
可選地,作為另一例,根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域,可以包括:采用非極大值抑制(non-maximumsuppression,nms)算法,基于所述多個(gè)區(qū)域確定多個(gè)矩形區(qū)域;將所述多個(gè)矩形區(qū)域?qū)?yīng)的特征進(jìn)行綜合,得到所述至少一個(gè)子區(qū)域。
具體地,通過將每個(gè)超像素點(diǎn)的向量輸入到一個(gè)分類器和回歸器,能夠得出與輸入的超像素點(diǎn)對(duì)應(yīng)的區(qū)域中是否存在某個(gè)特定大小的物體,以及該物體可能存在的矩形區(qū)域。所有的超像素點(diǎn)輸入到分類器和回歸器之后,能夠得到大量可能的物體及對(duì)應(yīng)矩形區(qū)域,其中,經(jīng)過分類器和回歸器后得到的矩形區(qū)域與輸入的超像素點(diǎn)在原圖上的區(qū)域并非一一對(duì)應(yīng),該矩形區(qū)域通常大于超像素點(diǎn)在原圖上的對(duì)應(yīng)區(qū)域,因此得到的矩形區(qū)域通常對(duì)應(yīng)于至少一個(gè)超像素點(diǎn)。隨后,對(duì)這些大量的矩形區(qū)域,根據(jù)分類器的可信度排序,并合并重疊度較高的矩形區(qū)域,最后便可以得到多個(gè)矩形區(qū)域。這里多個(gè)矩形區(qū)域可以被認(rèn)為是可能存在感興趣物體的區(qū)域。示例性地,分類器和回歸器都可以是1×1的卷積網(wǎng)絡(luò)。進(jìn)一步地,把多個(gè)矩形區(qū)域(即這些存在感興趣物體的區(qū)域)對(duì)應(yīng)的特征進(jìn)行綜合,如把區(qū)域劃分為若干子區(qū)域(例如分成多個(gè)網(wǎng)格,例如分成n×m個(gè)網(wǎng)格,例如3×6個(gè),或1×1個(gè)),從而得到至少一個(gè)子區(qū)域,通過把區(qū)域劃分為若干子區(qū)域,能夠使最終得到的區(qū)域?qū)?yīng)的向量特征規(guī)格一致,便于進(jìn)行統(tǒng)一操作。
可理解,本發(fā)明實(shí)施例中,將大量的矩形區(qū)域進(jìn)行合并所采用的策略為nms,nms可以通過兩個(gè)指標(biāo)來進(jìn)行合并:可信度和重疊度。示例性地,分類器會(huì)給出一個(gè)分值(score)來表示當(dāng)前候選框的可信度,在合并時(shí)可以盡量保留可信度較高的候選框。示例性地,重疊度也可以稱為重疊面積(intersection-overunion,iou),若位置鄰近的候選框重疊面積大于一定閾值的話則可以進(jìn)行合并。
s103,計(jì)算與所述至少一個(gè)子區(qū)域一一對(duì)應(yīng)的至少一個(gè)向量特征。
具體地,對(duì)于所述至少一個(gè)子區(qū)域中的每個(gè)子區(qū)域:將所述每個(gè)子區(qū)域中的所有的超像素點(diǎn)對(duì)應(yīng)的向量中各個(gè)頻道取最大值或平均值,得到與所述每個(gè)子區(qū)域?qū)?yīng)的向量特征。
示例性地,可以對(duì)每個(gè)子區(qū)域中對(duì)應(yīng)的每個(gè)超像素點(diǎn)所對(duì)應(yīng)的向量中各個(gè)頻道取最大值或平均值等得到每個(gè)子區(qū)域?qū)?yīng)的向量,將每個(gè)子區(qū)域?qū)?yīng)的向量合并或連接成一個(gè)長(zhǎng)向量作為得到該區(qū)域?qū)?yīng)的向量特征??梢岳斫獾氖?,向量的頻道為其相應(yīng)超像素點(diǎn)對(duì)應(yīng)的c維向量。
s104,基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置以及提取用于再識(shí)別的待識(shí)別行人特征信息。
s104可以包括:基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置,其中,所述位置表示為所述行人在所述原始圖像中的坐標(biāo);以及基于所述至少一個(gè)向量特征,提取用于再識(shí)別的所述待識(shí)別行人特征信息,其中,待識(shí)別行人特征信息為在原始圖像中提取到的每一個(gè)行人的行人特征信息,也就是說,在原始圖像中提取到的每一個(gè)行人的行人特征信息均可定義為待識(shí)別行人特征信息。在實(shí)際場(chǎng)景中,原始圖像中一般包含多個(gè)行人,通過本實(shí)施例,能夠在原始圖像中提取多個(gè)行人特征信息,并對(duì)提取到的多個(gè)行人特征信息進(jìn)行處理。
這樣,可以在進(jìn)行行人檢測(cè)的同時(shí)得到reid所需要的特征信息,能夠提高處理的效率,并且同時(shí)能避免引入額外的誤差,提高了精度。
示例性地,在s104中,還可以包括:基于所述至少一個(gè)向量特征,判斷所述至少一個(gè)子區(qū)域中的物體是否為行人。
具體地,可以將向量特征分別輸入到三個(gè)不同的分類器/回歸器中。第一個(gè)用于對(duì)物體進(jìn)行檢測(cè),判斷該物體是否為行人。第二個(gè)用于得到該物體所在的具體位置,即得到一個(gè)緊密包圍該物體的矩形框。第三個(gè)用于對(duì)該物體提取可用于reid的特征信息。
示例性地,如圖3所示,可以基于向量特征30,并行地確定物體是否為行人32、物體的位置34以及物體的reid的特征信息36。
其中,可以采用對(duì)象分類(objectclassifier)對(duì)子區(qū)域中的物體進(jìn)行檢測(cè),以判斷該物體是否為行人。
其中,可以采用邊框回歸(boundingboxregressor)得到子區(qū)域中的物體的位置,如可以為緊密包圍該物體的矩形框的坐標(biāo)。例如,該位置可以包括矩形框的左上角和右下角的坐標(biāo)值,或者,包括矩形框的左下角和右上角的坐標(biāo)值,或者,包括矩形框的左下角的坐標(biāo)值以及矩形框的長(zhǎng)、寬值。
其中,可以采用reid特征回歸(reidfeatureregressor)得到子區(qū)域中的物體用于reid的特征信息。
示例性地,如果在32確定該物體不是行人,那么可以將對(duì)應(yīng)的位置34和對(duì)應(yīng)的reid的特征信息36剔除。
示例性地,如果在32確定該物體是行人,那么可以將對(duì)應(yīng)的位置34和對(duì)應(yīng)的reid的特征信息36保留。此時(shí),可以理解,所得到的位置34為行人的位置,所得到的用于reid的特征信息36為對(duì)行人所提取的特征信息。
可選地,作為一個(gè)實(shí)施例,在圖2所示的方法之后,還可以包括:將所述用于再識(shí)別的待識(shí)別行人特征信息與目標(biāo)行人特征信息進(jìn)行比對(duì),以判斷所述用于再識(shí)別的待識(shí)別行人特征信息對(duì)應(yīng)的行人與所述目標(biāo)行人是否為同一人。目標(biāo)行人特征信息通過以下步驟獲得:提取目標(biāo)行人圖像的特征張量;根據(jù)所述目標(biāo)行人圖像的特征張量確定目標(biāo)行人區(qū)域;計(jì)算與所述目標(biāo)行人區(qū)域?qū)?yīng)的至少一個(gè)目標(biāo)向量特征,基于所述至少一個(gè)目標(biāo)向量特征,獲得所述目標(biāo)行人特征信息。
其中,目標(biāo)行人特征信息可以是針對(duì)目標(biāo)圖像,采用類似于圖2所示的方法所得到的。目標(biāo)行人特征信息也可以稱為已知特征信息。示例性地,可以首先基于目標(biāo)行人圖像確定在上述圖像中的目標(biāo)行人存在的矩形區(qū)域,計(jì)算與該矩形區(qū)域?qū)?yīng)的向量特征,并基于該向量特征確定該目標(biāo)行人的reid的特征信息,作為目標(biāo)行人特征信息。具體地,該過程所采用的神經(jīng)網(wǎng)絡(luò)與前述圖2所示的實(shí)施例中所采用的神經(jīng)網(wǎng)絡(luò)可以相同。
示例性地,如果用于再識(shí)別的待識(shí)別行人特征信息與目標(biāo)行人特征信息之間的點(diǎn)乘的結(jié)果大于或等于預(yù)設(shè)的閾值,則可以確定該用于再識(shí)別的待識(shí)別行人特征信息所表示的行人與目標(biāo)行人為同一人。
舉例來說,可以將用于再識(shí)別的待識(shí)別行人特征信息表示為xp,將目標(biāo)行人特征信息表示為xq,若xp·xq大于或等于預(yù)設(shè)的閾值,則說明xp所表示的行人與目標(biāo)行人為同一人?;蛘撸魘xp-xq|大于或等于預(yù)設(shè)的另一閾值,則說明xp所表示的行人與目標(biāo)行人為同一人。相應(yīng)地,可理解,如果xp·xq小于預(yù)設(shè)的閾值,或者,若|xp-xq|小于預(yù)設(shè)的另一閾值,則說明xp所表示的行人與目標(biāo)行人不是同一人。
示例性地,可以找到s104中的特征信息中與目標(biāo)行人特征信息的相似度最大的那個(gè)特征信息,并確定該找到的特征信息所表示的行人與目標(biāo)行人為同一人。
舉例來說,計(jì)算所有的用于reid的特征信息與目標(biāo)行人特征信息之間的點(diǎn)乘,如果點(diǎn)乘的結(jié)果最大的那個(gè)用于reid的特征信息為xp,則確定xp所表示的行人與目標(biāo)行人為同一人?;蛘撸?jì)算所有的用于reid的特征信息與目標(biāo)行人特征信息之間的差值,在計(jì)算該差值的模,如果模的結(jié)果最大的那個(gè)用于reid的特征信息為xp,則確定xp所表示的行人與目標(biāo)行人為同一人。
另外,本發(fā)明實(shí)施例中,在s104中,可以采用預(yù)先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),基于所述至少一個(gè)向量特征,提取用于reid的特征信息。
其中,預(yù)先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)的參數(shù)可以采用如下的方法訓(xùn)練得到:
(a)給出兩個(gè)人的圖像所對(duì)應(yīng)的矢量:xi和xj,得到以使函數(shù)∑(1-1/2δ(xi,xj))(xi·xj)取最小值的神經(jīng)網(wǎng)絡(luò)的參數(shù)。
其中,如果這兩個(gè)人為同一個(gè)人,則δ(xi,xj)=1;如果這兩個(gè)人為不同的人,則δ(xi,xj)=0。
(b)給出三個(gè)人的圖像所對(duì)應(yīng)的矢量:xi、xj和xk,得到以使函數(shù)∑(xi·xk-xi·xj)取最小值的神經(jīng)網(wǎng)絡(luò)的參數(shù)。
其中,xi和xj是同一個(gè)人在不同場(chǎng)景下的特征矢量,xk為另一個(gè)人的特征矢量。xi和xk為同一個(gè)場(chǎng)景下,或xj和xk為同一個(gè)場(chǎng)景下。
可見,本發(fā)明實(shí)施例中,可以通過反向誤差傳播和梯度下降,end2end地訓(xùn)練整個(gè)檢測(cè)網(wǎng)絡(luò)和reid網(wǎng)絡(luò)。
由此可見,本發(fā)明實(shí)施例對(duì)于一張輸入圖片,可以采用卷積神經(jīng)網(wǎng)絡(luò)(cnn),在檢測(cè)出圖像中所有行人的同時(shí),給出了這些人用于reid的特征信息。這樣不僅能夠提高處理的效率,并且能夠避免引入額外的誤差,保證了處理的精度。
圖4是本發(fā)明實(shí)施例的行人檢測(cè)和再識(shí)別的裝置的一個(gè)示意性框圖。圖4所示的裝置40包括:提取模塊401、第一確定模塊402、計(jì)算模塊403和第二確定模塊404。
提取模塊401,用于提取原始圖像的特征張量;
第一確定模塊402,用于根據(jù)提取模塊401提取的所述特征張量,確定至少一個(gè)子區(qū)域;
計(jì)算模塊403,用于計(jì)算與第一確定模塊402確定的所述至少一個(gè)子區(qū)域一一對(duì)應(yīng)的至少一個(gè)向量特征;
第二確定模塊404,用于基于計(jì)算模塊403得到的所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置以及提取用于再識(shí)別的待識(shí)別行人特征信息。
示例性地,第一確定模塊402可以包括:構(gòu)建子模塊、第一確定子模塊和第二確定子模塊。
構(gòu)建子模塊,用于根據(jù)所述特征張量,構(gòu)建多個(gè)超像素點(diǎn),每個(gè)超像素點(diǎn)表示一個(gè)c維向量;
第一確定子模塊,用于根據(jù)所述多個(gè)超像素點(diǎn),確定與所述多個(gè)超像素點(diǎn)一一對(duì)應(yīng)的多個(gè)區(qū)域;
第二確定子模塊,用于根據(jù)所述多個(gè)區(qū)域確定所述至少一個(gè)子區(qū)域。
示例性地,所述第二確定子模塊可以用于:采用非極大值抑制nms算法,基于所述多個(gè)區(qū)域確定多個(gè)矩形區(qū)域;將所述多個(gè)矩形區(qū)域?qū)?yīng)的特征進(jìn)行綜合,得到所述至少一個(gè)子區(qū)域。
示例性地,計(jì)算模塊403可以用于:對(duì)于所述至少一個(gè)子區(qū)域中的每個(gè)子區(qū)域:
將所述每個(gè)子區(qū)域中的所有的超像素點(diǎn)對(duì)應(yīng)的向量中各個(gè)頻道取最大值或平均值,得到與所述每個(gè)子區(qū)域?qū)?yīng)的向量特征。
示例性地,第二確定模塊404可以用于:
基于所述至少一個(gè)向量特征,確定所述原始圖像中行人的位置,其中,所述位置表示為所述行人在所述原始圖像中的坐標(biāo);以及
基于所述至少一個(gè)向量特征,提取用于再識(shí)別的所述待識(shí)別行人特征信息。
示例性地,第二確定模塊404還可以用于:基于所述至少一個(gè)向量特征,判斷所述至少一個(gè)子區(qū)域中的物體是否為行人。
示例性地,還可以包括判斷模塊,用于:將所述用于再識(shí)別的待識(shí)別行人特征信息與目標(biāo)行人特征信息進(jìn)行比對(duì),以判斷所述用于再識(shí)別的待識(shí)別行人特征信息對(duì)應(yīng)的行人與所述目標(biāo)行人是否為同一人。
示例性地,還可以包括獲取模塊,用于預(yù)先獲得所述目標(biāo)行人特征信息。
示例性地,獲取模塊可以包括:
提取子模塊,用于提取目標(biāo)行人圖像的特征張量;
確定子模塊,用于根據(jù)所述目標(biāo)行人圖像的特征張量,確定目標(biāo)行人區(qū)域;
計(jì)算子模塊,用于計(jì)算與所述目標(biāo)行人區(qū)域?qū)?yīng)的至少一個(gè)目標(biāo)向量特征;
獲取子模塊,用于基于所述至少一個(gè)目標(biāo)向量特征,獲得所述目標(biāo)行人特征信息。
圖4所示的裝置40能夠用于實(shí)現(xiàn)前述圖2或圖3所示的行人檢測(cè)和再識(shí)別的方法。
另外,本發(fā)明實(shí)施例還提供了另一種行人檢測(cè)和再識(shí)別的裝置,該裝置可以包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上且在所述處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)前述圖2或圖3所示方法的步驟。
另外,本發(fā)明實(shí)施例還提供了一種電子設(shè)備,該電子設(shè)備可以包括圖4所示的裝置40。該電子設(shè)備可以實(shí)現(xiàn)前述圖2或圖3所示的行人檢測(cè)和再識(shí)別的方法。
另外,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序。當(dāng)所述計(jì)算機(jī)程序由處理器執(zhí)行時(shí),可以實(shí)現(xiàn)前述圖2或圖3所示方法的步驟。例如,該計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
由此可見,本發(fā)明實(shí)施例在進(jìn)行行人檢測(cè)的同時(shí),可以給出用于reid的特征信息。這樣不僅能夠提高處理的效率,并且能夠避免引入額外的誤差,保證了處理的精度。
盡管這里已經(jīng)參考附圖描述了示例實(shí)施例,應(yīng)理解上述示例實(shí)施例僅僅是示例性的,并且不意圖將本發(fā)明的范圍限制于此。本領(lǐng)域普通技術(shù)人員可以在其中進(jìn)行各種改變和修改,而不偏離本發(fā)明的范圍和精神。所有這些改變和修改意在被包括在所附權(quán)利要求所要求的本發(fā)明的范圍之內(nèi)。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)設(shè)備,或一些特征可以忽略,或不執(zhí)行。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本發(fā)明并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該本發(fā)明的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如相應(yīng)的權(quán)利要求書所反映的那樣,其發(fā)明點(diǎn)在于可以用少于某個(gè)公開的單個(gè)實(shí)施例的所有特征的特征來解決相應(yīng)的技術(shù)問題。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域的技術(shù)人員可以理解,除了特征之間相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(dsp)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的物品分析設(shè)備中的一些模塊的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
以上所述,僅為本發(fā)明的具體實(shí)施方式或?qū)唧w實(shí)施方式的說明,本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。