本發(fā)明涉及人群密度分布估計技術領域,特別涉及一種基于卷積神經(jīng)網(wǎng)絡的人群密度分布估計方法。
背景技術:
公共場所的人群密度是涉及公共場所客流狀況及安全問題的一個關鍵指標,伴隨著智能監(jiān)控的技術發(fā)展,從攝像頭視頻數(shù)據(jù)直接生成人群密度熱度圖的方法研究具有重要的現(xiàn)實意義和社會價值。傳統(tǒng)的人群密度分布方法主要包括兩類:一、基于視頻監(jiān)控中運動信息的前景分割、特征提取及人數(shù)回歸的方法;二、基于單張圖片子區(qū)域提取特征值,對每個子區(qū)域從多種不同而互補的源進行人數(shù)估計,并求出圖片中總?cè)藬?shù)的方法。以上傳統(tǒng)方法在理想條件下可以取得較好的檢測效果,但是在出現(xiàn)下面復雜的場景時,往往會表現(xiàn)出很差的性能,方法一只能針對運動的人群做估計,如果人群靜止則會誤判為背景,人群估計數(shù)就會明顯少于實際人數(shù)。方法二也有明顯不足,如在人群密度較低時,多源特征的提取誤差變大,如常用的傅里葉分析方法往往失效?,F(xiàn)有技術中基于灰度共生矩陣等紋理特征的人群密度估計方法,即在圖像的多個方向上計算訓練樣本的灰度共生矩陣,并計算其對應的度量指標例如對比度、均勻程度、熵等表征為特征向量,再運用主成分分析等方法,并通過線性回歸分析,建立線性回歸方程,用以對待測樣本進行估計,其容易對無人區(qū)域誤判,同時當人群密度較低時,無法得到有效的紋理信息,無法對低密度區(qū)域做出正確的估計。
技術實現(xiàn)要素:
針對現(xiàn)有技術中的不足,本發(fā)明提供一種基于卷積神經(jīng)網(wǎng)絡的人群密度分布估計方法,運用深度卷積神經(jīng)網(wǎng)絡進行特征學習,能夠深刻揭示海量數(shù)據(jù)中承載的信息,達到更準確的數(shù)據(jù)效果,且對尺度、旋轉(zhuǎn)及角度轉(zhuǎn)換、光照變化均具有很好的魯棒性,適用于多種人群場景,能夠?qū)崟r獲取人群密度分布熱度圖。
按照本發(fā)明所提供的設計方案,一種基于卷積神經(jīng)網(wǎng)絡的人群密度分布估計方法,具體包含如下步驟:
步驟1.選取不同場景人群圖像數(shù)據(jù)集,對單個圖片中的人群位置進行像素級標注并統(tǒng)計人數(shù),生成標簽信息,標簽信息包括:標簽圖像和人數(shù)標簽,其中,標簽圖像中人群部分像素標記為目標灰度值;將圖像數(shù)據(jù)集中原圖及其對應的標簽信息分成兩部分,一部分作為訓練樣本集,另一部分作為測試樣本集,每個樣本集中的樣本包括一張圖像、相應的標簽圖像以及人數(shù)標簽;
步驟2.構(gòu)建人群分割全卷積神經(jīng)網(wǎng)絡和人數(shù)回歸卷積神經(jīng)網(wǎng)絡;并利用訓練樣本集,離線學習全卷積神經(jīng)網(wǎng)絡參數(shù)及卷積神經(jīng)網(wǎng)絡參數(shù),得到相應的網(wǎng)絡模型;
步驟3.利用訓練好的網(wǎng)絡模型,得到輸入圖像的人數(shù)和人群標簽圖;
步驟4.根據(jù)選取圖片對應的攝像頭高度和傾斜角設計糾正模板,對人群標簽圖進行多尺度模板卷積和蒙版運算,生成密度圖像;
步驟5.根據(jù)密度圖像和人數(shù),生成人群密度熱度圖,進行人群密度分布的估計。
上述的,步驟1中人群位置進行像素級標注并統(tǒng)計人數(shù),具體包含:對單個圖片中有人的位置像素表示為1,沒有人群的位置像素表示為0,生成標簽信息,其中,標簽信息中的標簽圖像采用帶調(diào)色板的檢索圖片表示。
上述的,步驟2學習人群分割全卷積神經(jīng)網(wǎng)絡參數(shù)具體包含如下內(nèi)容:
步驟2.1.1、建立全卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),包含七組卷積和五次池化,利用訓練樣本集,學習人群分割估計函數(shù)F(x,Θ),其中,x為訓練樣本集中輸入圖像,Θ為網(wǎng)絡學習參數(shù);
步驟2.1.2、采用堆疊多個卷積核,進行相應的卷積運算和池化運算,其中,第一組、第二組卷積中每組進行兩層卷積運算,該卷積核大小為3*3;中間三組卷積中每組進行三層卷積運算;第六組和第七組為全連接運算轉(zhuǎn)換卷積運算,卷積核大小分別為7*7、1*1;五次池化均利用大小為2*2卷積核進行下采樣運算;
步驟2.1.3、利用skip layer網(wǎng)絡結(jié)構(gòu)融合技術,對第三次池化運算、第四次池化運算結(jié)果及第七組卷積后的輸出進行底層高層融合,以及反卷積運算生成人群分割圖;
步驟2.1.4、利用梯度下降法優(yōu)化softmax損失函數(shù):
進行多次迭代,更新網(wǎng)絡參數(shù),使得損失函數(shù)收斂到較小值。
上述的,步驟2中的學習人數(shù)回歸卷積神經(jīng)網(wǎng)絡參數(shù)具體包含內(nèi)容如下:
步驟2.2.1、建立卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),包含五組卷積、五次池化和兩個全連接,利用訓練樣本集,學習人數(shù)回歸估計函數(shù)L(x,Θ),其中,x為訓練樣本集中輸入圖像,Θ為待優(yōu)化網(wǎng)絡學習參數(shù);
步驟2.2.2、采用堆疊多個卷積核,進行相應的卷積運算和池化運算,其中,第一組、第二組卷積中每組進行兩層卷積運算,該卷積核大小為3*3;中間三組卷積中每組進行三層卷積運算;五次池化均利用大小為2*2卷積核進行下采樣運算;然后進行兩個全連接運算;
步驟2.2.3、使用歐式距離作為損失函數(shù),其表達式為:更新網(wǎng)絡參數(shù),其中,Θ是待優(yōu)化網(wǎng)絡學習參數(shù),N是訓練樣本數(shù)量,Xi是輸入圖像,F(xiàn)y是網(wǎng)絡回歸的人數(shù),Y是人數(shù)標簽。
上述的,步驟4具體包含內(nèi)容如下:
步驟4.1、當標簽圖像中一個像素的周圍均為人群像素時,該點的人群密度相對較大,通過不同尺寸模板對標簽圖像進行卷積運算,得到該點的相對密度,繪制出初步的人群密度圖F1(x,y);
步驟4.2、建立與圖像同等尺寸的二維蒙版矩陣,假設圖像的高度、寬度分別為H、W,將該二維蒙版矩陣看作單通道灰度圖,以其左上頂點為坐標原點,水平向右為x軸,垂直向上為y軸,底邊中間位置(W/2,H)處的像素值為1,其余位置的像素值為到該點的棋盤距離的k次方,對于該蒙版矩陣在點(x,y)處的值為:I(x,y)=(Max(|x-W/2|,|y-H|))k,其中,k=λhsinθ,λ為可調(diào)參數(shù),h為攝像頭高度,參數(shù)θ為攝像頭與垂直方向傾斜角度,0°<θ<70°;
步驟4.3、通過公式:對蒙版矩陣做歸一化;
步驟4.4、將得到的蒙版矩陣I'(x,y)與F1(x,y)點乘運算得到密度圖像。
本發(fā)明的有益效果:
1.本發(fā)明與傳統(tǒng)耗費大量人力去設計合適的特征方法相比,運用深度卷積網(wǎng)絡模型的手段進行特征學習,能夠深刻揭示海量數(shù)據(jù)里所承載的復雜而豐富的信息,并能達到更精準的效果,且對尺度、旋轉(zhuǎn)以及角度變換、光照變化都有很好的魯棒性;通過深度學習對大量差異化訓練樣本的學習,有較強的泛化能力,可以兼顧密集或稀疏的人群狀況。適用于多種人群場景,實時獲得人群密度分布熱度圖;利用卷積網(wǎng)絡學習圖像的特征達到人數(shù)回歸和人群分割的效果,且考慮到針對不同高度和傾角的攝像頭,作了多尺度模板運算修正操作,得到更加準確的密度分布熱圖。
2.本發(fā)明利用卷積神經(jīng)網(wǎng)絡強大的學習能力,提取圖像的深層特征,進行準確的人群分割,克服了傳統(tǒng)方法的密度計算對于全圖特征的低效性和盲目性;通過多尺度的模板糾正,一定程度上克服了人群遠近的透視效應;針對估計人數(shù)做映射,不同攝像頭的熱度圖具可橫向?qū)Ρ?,適用于多種人群場景,能夠?qū)崟r獲取人群密度分布熱度圖。
附圖說明:
圖1為本發(fā)明的流程示意圖;
圖2為實施例二中的標簽圖像示意圖;
圖3為實施例二中全卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)參數(shù)學習示意圖;
圖4為實施例二中卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)參數(shù)學習示意圖;
圖5為實施例二中利用skip layer網(wǎng)絡結(jié)構(gòu)融合技術進行卷積運算示意圖;
圖6為實驗驗證示意圖之一;
圖7為實驗驗證示意圖之二。
具體實施方式:
下面結(jié)合附圖和技術方案對本發(fā)明作進一步詳細的說明,并通過優(yōu)選的實施例詳細說明本發(fā)明的實施方式,但本發(fā)明的實施方式并不限于此。
實施例一,參見圖1所示,一基于卷積神經(jīng)網(wǎng)絡的人群密度分布估計方法,具體包含如下步驟:
步驟1.選取不同場景人群圖像數(shù)據(jù)集,對單個圖片中的人群位置進行像素級標注并統(tǒng)計人數(shù),生成標簽信息,標簽信息包括:標簽圖像和人數(shù)標簽,其中,標簽圖像中人群部分像素標記為目標灰度值;將圖像數(shù)據(jù)集中原圖及其對應的標簽信息分成兩部分,一部分作為訓練樣本集,另一部分作為測試樣本集,每個樣本集中的樣本包括一張圖像、相應的標簽圖像以及人數(shù)標簽;
步驟2.構(gòu)建人群分割全卷積神經(jīng)網(wǎng)絡和人數(shù)回歸卷積神經(jīng)網(wǎng)絡;并利用訓練樣本集,離線學習全卷積神經(jīng)網(wǎng)絡參數(shù)及卷積神經(jīng)網(wǎng)絡參數(shù),得到相應的網(wǎng)絡模型;
步驟3.利用訓練好的網(wǎng)絡模型,得到輸入圖像的人數(shù)和人群標簽圖;
步驟4.根據(jù)選取圖片對應的攝像頭高度和傾斜角設計糾正模板,對人群標簽圖進行多尺度模板卷積和蒙版運算,生成密度圖像;
步驟5.根據(jù)密度圖像和人數(shù),生成人群密度熱度圖,進行人群密度分布的估計。
實施例二,參見圖2~5所示,一基于卷積神經(jīng)網(wǎng)絡的人群密度分布估計方法,具體包含如下步驟:
步驟1.選取不同場景人群圖像數(shù)據(jù)集,對單個圖片中的人群位置進行像素級標注并統(tǒng)計人數(shù),生成標簽信息,標簽信息包括:標簽圖像和人數(shù)標簽,其中,標簽圖像中人群部分像素標記為目標灰度值,對單個圖片中有人的位置像素表示為1,沒有人群的位置像素表示為0,生成標簽信息,為便于觀察,標簽信息中的標簽圖像采用帶調(diào)色板的檢索圖片表示,如圖2中所示:a)表示原圖,b)表示標簽圖像;將圖像數(shù)據(jù)集中原圖及其對應的標簽信息分成兩部分,一部分作為訓練樣本集,另一部分作為測試樣本集,每個樣本集中的樣本包括一張圖像、相應的標簽圖像以及人數(shù)標簽;
步驟2.構(gòu)建人群分割全卷積神經(jīng)網(wǎng)絡和人數(shù)回歸卷積神經(jīng)網(wǎng)絡;并利用訓練樣本集,離線學習全卷積神經(jīng)網(wǎng)絡參數(shù)及卷積神經(jīng)網(wǎng)絡參數(shù),得到相應的網(wǎng)絡模型;
全卷積神經(jīng)網(wǎng)絡將傳統(tǒng)卷積神經(jīng)網(wǎng)絡的全連接層轉(zhuǎn)化為卷積層,并能夠以端到端的方式得到每個像素的預測結(jié)果,對人群位置做像素級標注,最終實現(xiàn)像素級的人群分割。
學習人群全卷積神經(jīng)網(wǎng)絡參數(shù)具體包含如下內(nèi)容:
步驟2.1.1、建立全卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),包含七組卷積和五次池化,利用訓練樣本集,學習人群分割估計函數(shù)F(x,Θ),其中,x為訓練樣本集中輸入圖像,Θ為網(wǎng)絡學習參數(shù);
步驟2.1.2、為取得最優(yōu)效果,采用堆疊多個卷積核,進行相應的卷積運算和池化運算,如圖3所示,其中,第一組、第二組卷積中每組進行兩層卷積運算,該卷積核大小為3*3;中間三組卷積中每組進行三層卷積運算;第六組和第七組為全連接運算轉(zhuǎn)換為卷積運算,卷積核大小分別為7*7、1*1;五次池化均利用大小為2*2卷積核進行下采樣運算,每次使得圖像分辨率縮小為原來的1/2,在同一組中采用多層卷積來獲取更深層的圖像特征;
步驟2.1.3、由于要求輸出的分割圖像與輸入圖像大小相同,而輸入圖像經(jīng)過池化進行了下采樣,因此需要對卷積池化后的圖像進行上采樣,僅對高層卷積的輸出使用反卷積到原圖像大小,會丟失大量細節(jié),因此,利用skip layer網(wǎng)絡結(jié)構(gòu)融合技術,如圖5所示,對第三次池化運算、第四次池化運算結(jié)果及第七組卷積后的輸出進行底層高層融合,以及反卷積生成人群分割圖,能夠完好分割主題,又盡量保留細節(jié),使邊界輪廓更清晰;
步驟2.1.4、利用梯度下降法優(yōu)化softmax損失函數(shù):
進行多次迭代,更新網(wǎng)絡參數(shù),使得損失函數(shù)收斂到較小值。
學習人數(shù)回歸卷積神經(jīng)網(wǎng)絡參數(shù)具體包含內(nèi)容如下:
步驟2.2.1、建立卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),包含五組卷積、五次池化和兩個全連接,利用訓練樣本集,學習人數(shù)回歸估計函數(shù)L(x,Θ),其中,x為訓練樣本集中輸入圖像,Θ為待優(yōu)化網(wǎng)絡學習參數(shù);
步驟2.2.2、采用堆疊多個卷積核,進行相應的卷積運算和池化運算,如圖4所示,其中,第一組、第二組卷積中每組進行兩層卷積運算,該卷積核大小為3*3;中間三組卷積中每組進行三層卷積運算;五次池化均利用大小為2*2卷積核進行下采樣運算;然后進行兩個全連接運算;
步驟2.2.3、使用歐式距離作為損失函數(shù),其表達式為:更新網(wǎng)絡參數(shù),其中,Θ是待優(yōu)化網(wǎng)絡學習參數(shù),N是訓練樣本數(shù)量,Xi是輸入圖像,F(xiàn)y是網(wǎng)絡回歸的人數(shù),Y是人數(shù)標簽。
步驟3.利用訓練好的網(wǎng)絡模型,得到輸入圖像的人數(shù)和人群標簽圖;
步驟4.根據(jù)選取圖片對應的攝像頭高度和傾斜角設計糾正模板,對人群標簽
圖進行多尺度模板卷積和蒙版運算,生成密度圖像,具體包含內(nèi)容如下:
步驟4.1、當標簽圖像中一個像素的周圍均為人群像素時,該點的人群密度相對較大,通過不同尺寸模板對標簽圖像進行卷積運算,得到該點的相對密度,繪制出初步的人群密度圖F1(x,y);
步驟4.2、建立與圖像同等尺寸的二維蒙版矩陣,假設圖像的高度、寬度分別為H、W,將該二維蒙版矩陣看作單通道灰度圖,以其左上頂點為坐標原點,水平向右為x軸,垂直向上為y軸,底邊中間位置(W/2,H)處的像素值為1,其余位置的像素值為到該點的棋盤距離的k次方,對于該蒙版矩陣在點(x,y)處的值為:I(x,y)=(Max(|x-W/2|,|y-H|))k,其中,k=λhsinθ,λ為可調(diào)參數(shù),參考經(jīng)驗值為0.01,h為攝像頭高度,參數(shù)θ為攝像頭與垂直方向傾斜角度,0°<θ<70°;
步驟4.3、通過公式:對蒙版矩陣做歸一化;
步驟4.4、將得到的蒙版矩陣I'(x,y)與F1(x,y)點乘運算得到密度圖像,該糾正方式在攝像頭高度較高時,可以達到較好的糾正視覺透視效果。
步驟5.根據(jù)密度圖像和人數(shù),生成人群密度熱度圖,進行人群密度分布的估計。
本發(fā)明利用全卷積神經(jīng)網(wǎng)絡強大的學習能力,提取圖像的深層特征,進行準確的人群分割,克服了傳統(tǒng)方法的密度計算對于全圖特征的低效性和盲目性;通過多尺度的模板糾正,一定程度上克服了人群遠近的透視效應;針對估計人數(shù)做映射,不同攝像頭的熱度圖具可橫向?qū)Ρ?,適用于多種人群場景,能夠?qū)崟r獲取人群密度分布熱度圖,經(jīng)試驗驗證,參見圖6所示:a)表示原圖,b表示對應的熱度圖;及圖7所示:a)表示原圖,b)表示對應的熱度圖,能夠深刻揭示海量數(shù)據(jù)里所承載的復雜而豐富的信息,并能達到更精準的效果,且對尺度、旋轉(zhuǎn)以及角度變換、光照變化都有很好的魯棒性;通過深度學習對大量差異化訓練樣本的學習,有較強的泛化能力,可以兼顧密集或稀疏的人群狀況,適用于多種人群場景,實時獲得人群密度分布熱度圖。
本發(fā)明并不局限于上述具體實施方式,本領域技術人員還可據(jù)此做出多種變化,但任何與本發(fā)明等同或者類似的變化都應涵蓋在本發(fā)明權利要求的范圍內(nèi)。