本申請涉及圖像處理領(lǐng)域,尤其涉及一種行人標(biāo)志物識別方法及裝置。
背景技術(shù):
行人識別是智能交通和智能監(jiān)控系統(tǒng)的重要組成部分,行人標(biāo)志物識別則不僅是行人識別的一個(gè)子分支,還是行人識別非常重要的補(bǔ)充。行人標(biāo)志物識別可以為行人識別提供更加豐富的特征,提高識別的準(zhǔn)確率。
行人標(biāo)志物識別主要包括行人所攜帶的箱包、帽子、眼鏡、雨傘等標(biāo)志物的識別,尤以箱包識別區(qū)分度最大。其中,行人所帶行李包一般可以分為單肩包、雙肩包和手包,箱子則認(rèn)為是拉桿箱。部分行人標(biāo)識識別還包括了衣服的顏色,款式等特征。
現(xiàn)有技術(shù)提供了一種基于CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò))架構(gòu)的箱帽包識別方法,其是以矩形框(框住整個(gè)物體)為單位進(jìn)行目標(biāo)識別。對于拉桿箱、單肩包和雙肩包,在行人較多的情況下,或者特定的走路方向(例如行人背著雙肩包正面走來),可能只能看到拉桿、單肩帶、雙肩帶或者其它箱體、包體被嚴(yán)重遮擋的狀況,此時(shí)基于CNN架構(gòu)的箱包識別方法就無法有效捕捉拉桿或者肩帶等箱體、包體的部位,從而出現(xiàn)很大的漏檢率或者誤檢率。而且,背帶和拉桿都屬于細(xì)長型的物體,直接作為目標(biāo)檢測難度很大。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N行人標(biāo)志物識別方法及裝置,以解決現(xiàn)有技術(shù)中存在的行人標(biāo)志物識別不準(zhǔn)確的問題。
具體地,本申請是通過如下技術(shù)方案實(shí)現(xiàn)的:
根據(jù)本申請的第一方面,提供一種行人標(biāo)志物識別方法,所述方法包括:
對監(jiān)控圖像進(jìn)行分割,獲得若干ROI區(qū)域;
將監(jiān)控圖像輸入Fast RCNN的ZF網(wǎng)絡(luò),獲得所述監(jiān)控圖像的圖像特征;
將所述ROI區(qū)域和圖像特征作為輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,獲得各ROI區(qū)域中待檢測標(biāo)志物的占比;
根據(jù)各ROI區(qū)域中所述待檢測標(biāo)志物的占比以及預(yù)設(shè)占比閾值,獲得待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識;
將當(dāng)前RNN隱藏層輸出的各ROI區(qū)域中所述待檢測標(biāo)志物的占比作為下一RNN隱藏層的一個(gè)輸入,并對當(dāng)前獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識分別進(jìn)行粗粒度和細(xì)粒度合并,并將粗粒度合并后的區(qū)域標(biāo)識與所述圖像特征、細(xì)粒度合并后的區(qū)域標(biāo)識與所述圖像特征分別作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及所述下一RNN隱藏層;
將每一RNN隱藏層輸出的所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識輸入至第三全連接層,學(xué)習(xí)獲得所述待檢測標(biāo)志物對應(yīng)的比例值,若所述比例值大于等于預(yù)設(shè)比例閾值,則判斷存在該待檢測標(biāo)志物。
可選地,所述將監(jiān)控圖像輸入Fast RCNN的ZF網(wǎng)絡(luò),獲得所述監(jiān)控圖像的圖像特征,具體包括:
將所述監(jiān)控圖像依次經(jīng)所述ZF網(wǎng)絡(luò)的前四個(gè)卷積層,獲得所述監(jiān)控圖像的圖像特征。
可選地,所述RNN隱藏層包括代價(jià)函數(shù),所述代價(jià)函數(shù)由當(dāng)前RNN隱藏層的輸出和標(biāo)志物的真值比例而生成,且所述代價(jià)函數(shù)的輸出用于反向傳遞給所述當(dāng)前RNN隱藏層。
可選地,所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識的獲取過程包括:
當(dāng)ROI區(qū)域中所述待檢測標(biāo)志物的占比超過預(yù)設(shè)占比閾值,則認(rèn)為該ROI區(qū)域存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為預(yù)設(shè)標(biāo)識值,該ROI區(qū)域?yàn)槟繕?biāo)區(qū)域;否則,該ROI區(qū)域不存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為非所述預(yù)設(shè)標(biāo)識值的另一值,該ROI區(qū)域?yàn)榉悄繕?biāo)區(qū)域。
可選地,所述細(xì)粒度合并和粗粒度合并包括:對各標(biāo)志物的區(qū)域標(biāo)識進(jìn)行掃描,所述掃描包括交替進(jìn)行的行掃描和列掃描,且所述行掃描的行數(shù)以及列掃描的列數(shù)是逐漸遞增的;
每次行掃描或列掃描后的區(qū)域標(biāo)識與所述圖像特征作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,并將當(dāng)前RNN隱藏層的輸出作為下一次掃描的RNN隱藏層的一個(gè)輸入,將當(dāng)前RNN隱藏層的輸出與預(yù)設(shè)占比閾值比較所獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識作為下一次掃描的對象,將當(dāng)前掃描后的區(qū)域標(biāo)識與所述圖像特征作為下一次新的輸入,直至所述行掃描或列掃描的次數(shù)均為預(yù)設(shè)次數(shù)。
可選地,對于細(xì)粒度合并,單行或單列掃描時(shí),則在掃描方向上合并相鄰兩個(gè)目標(biāo)區(qū)域;
多行掃描時(shí),當(dāng)多行ROI區(qū)域的同一列上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該列;
多列掃描時(shí),當(dāng)多列ROI區(qū)域的同一行上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該行;
對于粗粒度合并,在細(xì)粒度合并的基礎(chǔ)上,將細(xì)粒度合并區(qū)域前后兩個(gè)非目標(biāo)區(qū)域也合并,若在將細(xì)粒度合并區(qū)域與前后兩個(gè)非目標(biāo)區(qū)域合并之后,發(fā)現(xiàn)新的相鄰目標(biāo)區(qū)域,則合并該新的相鄰目標(biāo)區(qū)域。
根據(jù)本申請的第二方面,提供一種行人標(biāo)志物識別裝置,所述裝置包括:
分割模塊,對監(jiān)控圖像進(jìn)行分割,獲得若干ROI區(qū)域;
特征提取模塊,將監(jiān)控圖像輸入Fast RCNN的ZF網(wǎng)絡(luò),獲得所述監(jiān)控圖像的圖像特征;
第一處理模塊,將所述ROI區(qū)域和圖像特征作為輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,獲得各ROI區(qū)域中待檢測標(biāo)志物的占比;
第二處理模塊,根據(jù)各ROI區(qū)域中所述待檢測標(biāo)志物的占比以及預(yù)設(shè)占比閾值,獲得待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識
第三處理模塊,將當(dāng)前RNN隱藏層輸出的各ROI區(qū)域中所述待檢測標(biāo)志物的占比作為下一RNN隱藏層的一個(gè)輸入,并對當(dāng)前獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識分別進(jìn)行粗粒度和細(xì)粒度合并,并將粗粒度合并后的區(qū)域標(biāo)識與所述圖像特征、細(xì)粒度合并后的區(qū)域標(biāo)識與所述圖像特征分別作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及所述下一RNN隱藏層;
學(xué)習(xí)模塊,將每一RNN隱藏層輸出的所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識輸入至第三全連接層,學(xué)習(xí)獲得所述待檢測標(biāo)志物對應(yīng)的比例值,若所述比例值大于等于預(yù)設(shè)比例閾值,則判斷存在該待檢測標(biāo)志物。
可選地,所述特征提取模塊包括:將所述監(jiān)控圖像依次經(jīng)所述ZF網(wǎng)絡(luò)的前四個(gè)卷積層,獲得所述監(jiān)控圖像的圖像特征。
可選地,所述RNN隱藏層包括代價(jià)函數(shù),所述代價(jià)函數(shù)由當(dāng)前RNN隱藏層的輸出和標(biāo)志物的真值比例而生成,且所述代價(jià)函數(shù)的輸出用于反向傳遞給所述當(dāng)前RNN隱藏層。
可選地,所述第二處理模塊包括:
當(dāng)ROI區(qū)域中所述待檢測標(biāo)志物的占比超過預(yù)設(shè)占比閾值,則認(rèn)為該ROI區(qū)域存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為預(yù)設(shè)標(biāo)識值,該ROI區(qū)域?yàn)槟繕?biāo)區(qū)域;否則,該ROI區(qū)域不存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為非所述預(yù)設(shè)標(biāo)識值的另一值,該ROI區(qū)域?yàn)榉悄繕?biāo)區(qū)域。
可選地,所述細(xì)粒度合并和粗粒度合并包括:對各標(biāo)志物的區(qū)域標(biāo)識進(jìn)行掃描,所述掃描包括交替進(jìn)行的行掃描和列掃描,且所述行掃描的行數(shù)以及列掃描的列數(shù)是逐漸遞增的;
每次行掃描或列掃描后的區(qū)域標(biāo)識與所述圖像特征作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,并將當(dāng)前RNN隱藏層的輸出作為下一次掃描的RNN隱藏層的一個(gè)輸入,將當(dāng)前RNN隱藏層的輸出與預(yù)設(shè)占比閾值比較所獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識作為下一次掃描的對象,將當(dāng)前掃描后的區(qū)域標(biāo)識與所述圖像特征作為下一次新的輸入,直至所述行掃描或列掃描的次數(shù)均為預(yù)設(shè)次數(shù)。
可選地,對于細(xì)粒度合并,單行或單列掃描時(shí),則在掃描方向上合并相鄰兩個(gè)目標(biāo)區(qū)域;
多行掃描時(shí),當(dāng)多行ROI區(qū)域的同一列上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該列;
多列掃描時(shí),當(dāng)多列ROI區(qū)域的同一行上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該行;
對于粗粒度合并,在細(xì)粒度合并的基礎(chǔ)上,將細(xì)粒度合并區(qū)域前后兩個(gè)非目標(biāo)區(qū)域也合并,若在將細(xì)粒度合并區(qū)域與前后兩個(gè)非目標(biāo)區(qū)域合并之后,發(fā)現(xiàn)新的相鄰目標(biāo)區(qū)域,則合并該新的相鄰目標(biāo)區(qū)域。
本申請的有益效果:基于圖像分割和粗、細(xì)粒度區(qū)域融合,通過RNN隱藏層逐級迭代的方式對行人標(biāo)志物進(jìn)行識別,充分考慮了監(jiān)控圖像上下文關(guān)系,只確認(rèn)行人是否攜帶有標(biāo)志物(例如箱、帽、包、傘等),有效解決了傳統(tǒng)行人標(biāo)志物識別過程中的漏檢率、誤檢率和多檢率較高的情況,尤其適用于不同的檢測環(huán)境,對于標(biāo)志物存在較大比率的遮擋情況(例如只顯露單肩包帶、雙肩包帶、箱子拉桿等)下,能夠基于行人標(biāo)志物特征準(zhǔn)確的判別。
本申請的行人標(biāo)志物識別方法及裝置無需使用矩形框?qū)?biāo)志物框住,可適用于任何形狀的標(biāo)志物檢測,或者標(biāo)志物被嚴(yán)重遮擋、分割等的情況,
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本申請的實(shí)施例,并與說明書一起用于解釋本申請的原理。
圖1是本申請實(shí)施例示出的一種行人標(biāo)志物識別方法的流程圖;
圖2是本申請實(shí)施例示出的一種監(jiān)控圖像分割示意圖;
圖3是本申請實(shí)施例示出的又一種行人標(biāo)志物識別方法的流程圖;
圖4是本申請實(shí)施例示出的一種ROI卷積層示意圖;
圖5是本申請實(shí)施例示出的一種8*8的bitmap結(jié)構(gòu)示意圖;
圖6是本申請實(shí)施例示出的一種區(qū)域合并示意圖;
圖7是本申請實(shí)施例示出的一種行人標(biāo)志物識別裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。另外,在不沖突的情況下,下述的實(shí)施例及實(shí)施例中的特征可以相互組合。
在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
如圖1所示,本實(shí)施例提供的一種行人標(biāo)志物識別方法的流程圖,其中,所述行人標(biāo)志物可以包括箱(拉桿箱)、帽、包(例如手提包、單肩包、雙肩包等)、傘等。
參見圖1,所述行人標(biāo)志物識別方法可以包括以下步驟:
S101:對監(jiān)控圖像進(jìn)行分割,獲得若干ROI(region of interest,感興趣區(qū)域)區(qū)域。
本實(shí)施例中,監(jiān)控入口為智能交通電警或者園區(qū)等采集的監(jiān)控圖像,然后通過行人檢測獲取行人所在的區(qū)域(上下左右適當(dāng)擴(kuò)展一部分,確保箱包主要部分被包括在內(nèi)),通過矩形框截取獲得的最終監(jiān)控圖像作為步驟S101的監(jiān)控圖像。該部分使用現(xiàn)有技術(shù),這里不予贅述。
其中,檢測和訓(xùn)練的監(jiān)控圖像均被歸一化為450*225(即長*寬)大小。
本實(shí)施例中,對監(jiān)控圖像中的行人進(jìn)行像素級的分割,即將一張監(jiān)控圖像的所有像素通過相關(guān)算法按照對應(yīng)的類別進(jìn)行區(qū)分,標(biāo)注該像素對應(yīng)的類別,其中,ROI區(qū)域中各類別(即標(biāo)志物)的像素占比為該類別在該ROI區(qū)域的真值比例。
例如,可將行人分為頭部、上臂、下臂、手部、大腿、小腿、腳部、上半身正面、上半身側(cè)面、手提包、單肩包、雙肩包、拉桿箱、包帶、拉桿、帽子、傘以及背景這18類行人標(biāo)志物。當(dāng)然,也可根據(jù)需要將行人的類別劃分為其它數(shù)量的標(biāo)志物。
由于像素級的分割直接手工完成工作量較大,可以結(jié)合當(dāng)前的分割算法完成。分割完成之后,監(jiān)控圖像中每一個(gè)像素都有一個(gè)類別標(biāo)識,例如上述18類行人標(biāo)志物。
可按照預(yù)設(shè)規(guī)則對監(jiān)控圖像進(jìn)行分割,例如,將監(jiān)控圖像在縱橫方向上等分,或者,將監(jiān)控圖像在縱橫方向上分別分割成不同的份數(shù)。
參見圖2,對監(jiān)控圖像按照縱橫各13*6的份數(shù)進(jìn)行分割,獲得78個(gè)ROI區(qū)域。
本實(shí)施例中,需要對監(jiān)控圖像進(jìn)行縱橫各15等份的初始劃分,每個(gè)矩形塊的長*寬大小為30*15(可以按照實(shí)際需求調(diào)整),獲得225個(gè)ROI區(qū)域。
S102:將監(jiān)控圖像輸入Fast RCNN(Fast Region with Convolutional Neural Network,快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò))的ZF網(wǎng)絡(luò),獲得所述監(jiān)控圖像的圖像特征。
參見圖3,考慮到本實(shí)施例對監(jiān)控圖像分割粒度較細(xì),為防止監(jiān)控圖像經(jīng)過ZF網(wǎng)絡(luò)后細(xì)節(jié)過多丟失而導(dǎo)致目標(biāo)(即待識別的行人標(biāo)志物)特征丟失,所述監(jiān)控圖像依次經(jīng)所述ZF網(wǎng)絡(luò)的前四個(gè)卷積層,獲得所述監(jiān)控圖像的圖像特征。
S103:將所述ROI區(qū)域和圖像特征作為輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN(Recurrent Neural Networks,循環(huán)神經(jīng)網(wǎng)絡(luò))隱藏層,獲得各ROI區(qū)域中待檢測標(biāo)志物的占比。
其中,ROI池化層(即ROI Pooling層)是Fast RCNN網(wǎng)絡(luò)中的一層,其用于通過下采樣操作獲取固定長度的特征向量。
RNN隱藏層存在定向鏈接的神經(jīng)網(wǎng)絡(luò),用于捕捉序列的上下文信息,較適合序列輸入或者輸出的任務(wù)。
本實(shí)施例中,待檢測標(biāo)志物可選擇感興趣的行人標(biāo)志物,例如,待檢測標(biāo)志物可以為箱、帽、包、傘等中的一個(gè)或多個(gè)。
所述ROI區(qū)域和圖像特征經(jīng)ROI池化層、兩個(gè)第一全連接層后,輸出1024維特征。
ROI卷積層的作用是提取ROI區(qū)域的特征。具體地,需要考慮當(dāng)前ROI區(qū)域和其周邊區(qū)域的特征,共同確認(rèn)當(dāng)前區(qū)域各類別所占比例。
參見圖4,本實(shí)施例中,采取5*5的卷積,將每個(gè)ROI區(qū)域的1024維特征作為1024個(gè)通道,分別卷積之后形成新的1024維特征作為該區(qū)域的特征。
而為了保證卷積前后ROI區(qū)域的特征數(shù)量一致,邊緣部分的ROI區(qū)域卷積時(shí),需要對圖像外的相關(guān)區(qū)域進(jìn)行添零處理。
本實(shí)施例中,定義各個(gè)類別的標(biāo)志物對應(yīng)的區(qū)域標(biāo)識為一個(gè)bitmap,每個(gè)bitmap對應(yīng)一個(gè)類別的標(biāo)志物,一共18個(gè)bitmap(原始bitmap+17類標(biāo)志物對應(yīng)的bitmap)。
參見圖4,圖中的2代表目標(biāo)區(qū)域,0代表卷積所涉及區(qū)域,如果位于邊緣,則對應(yīng)缺失區(qū)域使用全0代替,然后每個(gè)區(qū)域通過一個(gè)全連接層輸出該區(qū)域?qū)?yīng)的區(qū)域類別比例值(18維向量),作為后續(xù)RNN隱藏層(即ratio層)的一個(gè)輸入。
S104:根據(jù)各ROI區(qū)域中所述待檢測標(biāo)志物的占比以及預(yù)設(shè)占比閾值,獲得待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識。
本實(shí)施例中,所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識的獲取過程包括:
當(dāng)ROI區(qū)域中所述待檢測標(biāo)志物的占比超過預(yù)設(shè)占比閾值,則認(rèn)為該ROI區(qū)域存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為預(yù)設(shè)標(biāo)識值,該ROI區(qū)域?yàn)槟繕?biāo)區(qū)域;否則,該ROI區(qū)域不存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為非所述預(yù)設(shè)標(biāo)識值的另一值,該ROI區(qū)域?yàn)榉悄繕?biāo)區(qū)域。
在一實(shí)施例中,所述預(yù)設(shè)標(biāo)識值為1,非所述預(yù)設(shè)標(biāo)識值的另一值為0,預(yù)設(shè)占比閾值為0.1。
所有bitmap只針對原始監(jiān)控圖片劃分的15*15個(gè)ROI區(qū)域進(jìn)行標(biāo)識,如果該類別的標(biāo)志物在RNN隱藏層輸出的區(qū)域占比超過0.1,則認(rèn)為該ROI區(qū)域存在該類別的標(biāo)志物,則該ROI區(qū)域置1;否則,該ROI區(qū)域置0,從而獲得待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識。
在一實(shí)施例中,一共17個(gè)類別的標(biāo)志物(背景除外),對應(yīng)17個(gè)bitmap。
參見圖5,bitmap為8*8的區(qū)域標(biāo)識,該bitmap包括64個(gè)ROI區(qū)域,每個(gè)ROI區(qū)域均進(jìn)行了標(biāo)識,當(dāng)ROI區(qū)域?yàn)?時(shí),則表明該ROI區(qū)域存在該類別的標(biāo)志物;當(dāng)ROI區(qū)域?yàn)?時(shí),則表明該ROI區(qū)域不存在該類別的標(biāo)志物。
RNN隱藏層一共三個(gè)輸出,分別記為h、b、f。
其中,h為RNN隱藏層自身的輸出,表示各ROI區(qū)域中所述待檢測標(biāo)志物的占比,參見圖3,該輸出同時(shí)作為下一次迭代RNN隱藏層的輸入。
b為bitmap(17類對應(yīng)17個(gè)bitmap),本實(shí)施例中每個(gè)目標(biāo)(即每個(gè)待識別的行人標(biāo)志物)在對應(yīng)ROI區(qū)域中的占比超過預(yù)設(shè)占比閾值(例如0.1),則在bitmap中,該ROI區(qū)域標(biāo)識為1,否則,該ROI區(qū)域標(biāo)識為0。
f代表全連接層,h的所有節(jié)點(diǎn)輸入到一個(gè)全連接層,獲得4096維向量,作為后續(xù)判斷行人標(biāo)志物的特征。
又請參見圖3,第一次迭代的RNN隱藏層的輸入為ROI卷積層加第二接全連接層的輸出。
而從第二次迭代的RNN隱藏層開始至第預(yù)設(shè)次數(shù)迭代的RNN隱藏層,每一RNN隱藏層的輸入為:ROI卷積層加第二全連接層的輸出以及上一次迭代的RNN隱藏層的輸出。
S105:將當(dāng)前RNN隱藏層輸出的各ROI區(qū)域中所述待檢測標(biāo)志物的占比作為下一RNN隱藏層的一個(gè)輸入,并對當(dāng)前獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識分別進(jìn)行粗粒度和細(xì)粒度合并,并將粗粒度合并后的區(qū)域標(biāo)識與所述圖像特征、細(xì)粒度合并后的區(qū)域標(biāo)識與所述圖像特征分別作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及所述下一RNN隱藏層。
其中,下一RNN隱藏層為當(dāng)前RNN隱藏層的下一個(gè)RNN隱藏層,該下一RNN隱藏層將當(dāng)前RNN隱藏層的輸出作為一個(gè)輸入,并將粗粒度或細(xì)粒度合并后得到的區(qū)域標(biāo)識經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層的輸出作為另一個(gè)輸入。
需要說明的是,在步驟S105中,第二全連接層輸出的是合并之后的區(qū)域的比例值向量,例如18維比例值向量,但輸入給RNN隱藏層的是合并之前的18維比例值向量(保證RNN隱藏層的輸入是一致的),故需要做一個(gè)轉(zhuǎn)換,將合并之后的18維比例值向量直接復(fù)制到該合并之后的區(qū)域?qū)?yīng)的各個(gè)ROI區(qū)域,即每個(gè)ROI區(qū)域都使用相同的18維比例值向量。本實(shí)施例中,所述細(xì)粒度合并和粗粒度合并包括:對各標(biāo)志物的區(qū)域標(biāo)識進(jìn)行掃描,所述掃描包括交替進(jìn)行的行掃描和列掃描,且所述行掃描的行數(shù)以及列掃描的列數(shù)是逐漸遞增的;
每次行掃描或列掃描后的區(qū)域標(biāo)識與所述圖像特征作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,并將當(dāng)前RNN隱藏層的輸出作為下一次掃描的RNN隱藏層的一個(gè)輸入,將當(dāng)前RNN隱藏層的輸出與預(yù)設(shè)占比閾值比較所獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識作為下一次掃描的對象,將當(dāng)前掃描后的區(qū)域標(biāo)識與所述圖像特征作為下一次新的輸入,直至所述行掃描或列掃描的次數(shù)均為預(yù)設(shè)次數(shù)。
另外,對于細(xì)粒度合并:單行或單列掃描時(shí),則在掃描方向上合并相鄰兩個(gè)目標(biāo)區(qū)域;多行掃描時(shí),當(dāng)多行ROI區(qū)域的同一列上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該列;多列掃描時(shí),當(dāng)多列ROI區(qū)域的同一行上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該行;
對于粗粒度合并:在細(xì)粒度合并的基礎(chǔ)上,將細(xì)粒度合并區(qū)域前后兩個(gè)非目標(biāo)區(qū)域也合并,若在將細(xì)粒度合并區(qū)域與前后兩個(gè)非目標(biāo)區(qū)域合并之后,發(fā)現(xiàn)新的相鄰目標(biāo)區(qū)域,則合并該新的相鄰目標(biāo)區(qū)域。
參見圖3,本實(shí)施例中,所述掃描方向包括行掃描(即橫向掃描)和列掃描(即縱向掃描),在粗粒度合并時(shí),行掃描和列掃描是交替進(jìn)行的,且掃描的行數(shù)或列數(shù)是逐漸增加的,即按照每次一行、每次兩行…每次N行(或者每次一列、每次兩列、…、每次N列)的順序逐漸增加。
同樣地,在粗粒度合并時(shí),行掃描和列掃描也是交替進(jìn)行的,且掃描的行數(shù)或列數(shù)是逐漸增加的,即按照每次一行、每次兩行…每次N行(或者每次一列、每次兩列、…、每次N列)的順序逐漸增加。
需要說明的是,N(即預(yù)設(shè)次數(shù))的取值與待檢測標(biāo)志物占整個(gè)監(jiān)控圖像的比例有關(guān),當(dāng)待檢測標(biāo)志物占整個(gè)監(jiān)控圖像的比例越大時(shí),N的取值越大,即,N的取值與待檢測標(biāo)志物占整個(gè)監(jiān)控圖像的比例成正比。
本實(shí)施例中,N的取值范圍為5~10,例如,5、6、7、8或10中的任一數(shù)值。
其中,行掃描和列掃描的次數(shù)是相等的,均為N次。
在要求更高的場合,為更進(jìn)一步增加監(jiān)控圖像中上下文的關(guān)系,可以增加斜方向掃描(例如45°和135°兩個(gè)斜向方向的掃描),斜方向上的掃描與行掃描、列掃描的采用的策略相同。
本實(shí)施例中,掃描的基本策略具體包括:在掃描方向上有相鄰為1(有目標(biāo)的區(qū)域)的即予以合并(成為一個(gè)ROI區(qū)域),如果是多行(多列)掃描,則對應(yīng)行數(shù)(或列數(shù))有超過60%的區(qū)域數(shù)量為1,則認(rèn)為該列(行)有效,即合并該列(行)并標(biāo)識為1。
參見圖6,采用三行掃描,則同一列上有兩個(gè)或三個(gè)ROI區(qū)域?yàn)?,則認(rèn)為有效,該列被標(biāo)識為1。
對于細(xì)粒度合并,則嚴(yán)格按照標(biāo)識為1的相鄰ROI區(qū)域合并。對于粗粒度合并,則在相鄰為1的ROI區(qū)域合并基礎(chǔ)上,增加前后兩個(gè)非1的ROI區(qū)域合并進(jìn)來,如果合并之后又發(fā)現(xiàn)新的相鄰為1的ROI區(qū)域,則再次合并,直至不存在相鄰為1的ROI區(qū)域。
S106:將每一RNN隱藏層輸出的所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識輸入至第三全連接層,學(xué)習(xí)獲得所述待檢測標(biāo)志物對應(yīng)的比例值,若所述比例值大于等于預(yù)設(shè)比例閾值,則判斷存在該待檢測標(biāo)志物。
需要說明的是,本實(shí)施例還包括參數(shù)訓(xùn)練過程,預(yù)設(shè)比例閾值的大小可根據(jù)參數(shù)訓(xùn)練結(jié)果設(shè)定,本實(shí)施例中,預(yù)設(shè)比例閾值位于大于等于0.6且小于等于0.8。
參數(shù)訓(xùn)練過程與上述行人標(biāo)志物識別方法的過程相類似,唯一的區(qū)別在于,在參數(shù)訓(xùn)練過程中,步驟S106在學(xué)習(xí)獲得訓(xùn)練樣本中各類別的標(biāo)志物對應(yīng)的比例值后,會根據(jù)獲得的各類別的標(biāo)志物對應(yīng)的比例值來設(shè)定所述預(yù)設(shè)比例閾值,以在進(jìn)行行人標(biāo)志物識別時(shí),可根據(jù)參數(shù)訓(xùn)練獲得的預(yù)設(shè)比例閾值,來判斷是否存在待檢測的標(biāo)志物。
本實(shí)施例中,對于端到端的訓(xùn)練或識別,最終的代價(jià)函數(shù)需要定義一個(gè)目標(biāo)屬性向量,該目標(biāo)屬性向量的維數(shù)可根據(jù)待檢測的標(biāo)志物的類別數(shù)量來決定。
例如,對于行人是否攜帶手提包,單肩包,雙肩包,拉桿箱,帽子和傘六種情況,使用一個(gè)6維的布爾值向量來表示,攜帶了置為1,否則置為0。
對于每一個(gè)標(biāo)志物,單獨(dú)計(jì)算其二分類的交叉熵代價(jià)函數(shù),然后6個(gè)代價(jià)函數(shù)的結(jié)果取平均作為最終的代價(jià)。需要注意,這里的6個(gè)類別是相互獨(dú)立的,并非只有一個(gè)為1,所以不能采取多分類的交叉熵代價(jià)函數(shù)直接計(jì)算其代價(jià)。
另外,直接端到端的訓(xùn)練或識別耗時(shí)較長,為了加快訓(xùn)練或識別的速度,提高訓(xùn)練效率,所述RNN隱藏層包括代價(jià)函數(shù),所述代價(jià)函數(shù)由當(dāng)前RNN隱藏層的輸出與待檢測標(biāo)志物的真值比例而生成,且所述代價(jià)函數(shù)的輸出用于反向傳遞給所述當(dāng)前RNN隱藏層。
RNN隱藏層的代價(jià)函數(shù)是通過RNN隱藏層的輸出和真值比例的比較而生成的,代表有監(jiān)督信號對當(dāng)前RNN隱藏層輸出的反饋,用于反向傳遞給當(dāng)前RNN隱藏層,訓(xùn)練系統(tǒng)參數(shù),從而獲得當(dāng)前RNN隱藏層的輸出更接近真值比例。
計(jì)算當(dāng)前ROI區(qū)域的類別占比和真值(ground truth)比例之間的差異δr,其計(jì)算公式如下:
公式(1)中,k為監(jiān)控圖像中的ROI區(qū)域,由于本實(shí)施例中的監(jiān)控圖像被分割成225個(gè)ROI區(qū)域,1至225分別代表各ROI區(qū)域;
i為類別(即標(biāo)志物),本實(shí)施例包括18個(gè)類別;
λki為各類別在相應(yīng)ROI區(qū)域下的權(quán)值;
x為各ROI區(qū)域的類別占比;
h為真值比例。
如圖7所示,為本申請?zhí)峁┑男腥藰?biāo)志物識別裝置的結(jié)構(gòu)框圖,與上行人標(biāo)志物識別方法相對應(yīng),可參照上述行人標(biāo)志物識別方法的實(shí)施例來理解或解釋該行人標(biāo)志物識別裝置的內(nèi)容。
參見圖3,本申請?zhí)峁┑囊环N行人標(biāo)志物識別裝置,所述裝置可包括分割模塊100、特征提取模塊200、第一處理模塊300、第二處理模塊400、第三處理模塊500以及學(xué)習(xí)模塊600。
其中,分割模塊100,對監(jiān)控圖像進(jìn)行分割,獲得若干ROI區(qū)域;
特征提取模塊200,將監(jiān)控圖像輸入Fast RCNN的ZF網(wǎng)絡(luò),獲得所述監(jiān)控圖像的圖像特征;
第一處理模塊300,將所述ROI區(qū)域和圖像特征作為輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,獲得各ROI區(qū)域中待檢測標(biāo)志物的占比;
第二處理模塊400,根據(jù)各ROI區(qū)域中所述待檢測標(biāo)志物的占比以及預(yù)設(shè)占比閾值,獲得待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識
第三處理模塊500,將當(dāng)前RNN隱藏層輸出的各ROI區(qū)域中所述待檢測標(biāo)志物的占比作為下一RNN隱藏層的一個(gè)輸入,并對當(dāng)前獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識分別進(jìn)行粗粒度和細(xì)粒度合并,并將粗粒度合并后的區(qū)域標(biāo)識與所述圖像特征、細(xì)粒度合并后的區(qū)域標(biāo)識與所述圖像特征分別作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及所述下一RNN隱藏層;
學(xué)習(xí)模塊600,將每一RNN隱藏層輸出的所述待檢測標(biāo)志物對應(yīng)的區(qū)域標(biāo)識輸入至第三全連接層,學(xué)習(xí)獲得所述待檢測標(biāo)志物對應(yīng)的比例值,若所述比例值大于等于預(yù)設(shè)比例閾值,則判斷存在該待檢測標(biāo)志物。
進(jìn)一步地,所述特征提取模塊200可以包括:將所述監(jiān)控圖像依次經(jīng)所述ZF網(wǎng)絡(luò)的前四個(gè)卷積層,獲得所述監(jiān)控圖像的圖像特征。
進(jìn)一步地,所述RNN隱藏層包括代價(jià)函數(shù),所述代價(jià)函數(shù)由當(dāng)前RNN隱藏層的輸出和標(biāo)志物的真值比例而生成,且所述代價(jià)函數(shù)的輸出用于反向傳遞給所述當(dāng)前RNN隱藏層。
進(jìn)一步地,所述第二處理模塊400可以包括:
當(dāng)ROI區(qū)域中所述待檢測標(biāo)志物的占比超過預(yù)設(shè)占比閾值,則認(rèn)為該ROI區(qū)域存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為預(yù)設(shè)標(biāo)識值,該ROI區(qū)域?yàn)槟繕?biāo)區(qū)域;否則,該ROI區(qū)域不存在所述待檢測標(biāo)志物,該ROI區(qū)域被設(shè)定為非所述預(yù)設(shè)標(biāo)識值的另一值,該ROI區(qū)域?yàn)榉悄繕?biāo)區(qū)域。
進(jìn)一步地,所述細(xì)粒度合并和粗粒度合并包括:對各標(biāo)志物的區(qū)域標(biāo)識進(jìn)行掃描,所述掃描包括交替進(jìn)行的行掃描和列掃描,且所述行掃描的行數(shù)以及列掃描的列數(shù)是逐漸遞增的;
每次行掃描或列掃描后的區(qū)域標(biāo)識與所述圖像特征作為新的輸入,依次經(jīng)ROI池化層、兩個(gè)第一全連接層、ROI卷積層、第二全連接層以及RNN隱藏層,并將當(dāng)前RNN隱藏層的輸出作為下一次掃描的RNN隱藏層的一個(gè)輸入,將當(dāng)前RNN隱藏層的輸出與預(yù)設(shè)占比閾值比較所獲得的待檢測標(biāo)志物的區(qū)域標(biāo)識作為下一次掃描的對象,將當(dāng)前掃描后的區(qū)域標(biāo)識與所述圖像特征作為下一次新的輸入,直至所述行掃描或列掃描的次數(shù)均為預(yù)設(shè)次數(shù)。
進(jìn)一步地,對于細(xì)粒度合并,單行或單列掃描時(shí),則在掃描方向上合并相鄰兩個(gè)目標(biāo)區(qū)域;
多行掃描時(shí),當(dāng)多行ROI區(qū)域的同一列上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該列;
多列掃描時(shí),當(dāng)多列ROI區(qū)域的同一行上的目標(biāo)區(qū)域占比超過預(yù)設(shè)占比閾值,則合并該行;
對于粗粒度合并,在細(xì)粒度合并的基礎(chǔ)上,將細(xì)粒度合并區(qū)域前后兩個(gè)非目標(biāo)區(qū)域也合并,若在將細(xì)粒度合并區(qū)域與前后兩個(gè)非目標(biāo)區(qū)域合并之后,發(fā)現(xiàn)新的相鄰目標(biāo)區(qū)域,則合并該新的相鄰目標(biāo)區(qū)域。
綜上所述,本申請的行人標(biāo)志物識別方法及裝置基于圖像分割和粗、細(xì)粒度區(qū)域融合,通過RNN隱藏層逐級迭代的方式對行人標(biāo)志物進(jìn)行識別,充分考慮了監(jiān)控圖像上下文關(guān)系,只確認(rèn)行人是否攜帶有標(biāo)志物(例如箱、帽、包、傘等),有效解決了傳統(tǒng)行人標(biāo)志物識別過程中的漏檢率、誤檢率和多檢率較高的情況,尤其適用于不同的檢測環(huán)境,對于標(biāo)志物存在較大比率的遮擋情況(例如只顯露單肩包帶、雙肩包帶、箱子拉桿等)下,能夠基于行人標(biāo)志物特征準(zhǔn)確的判別。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。