吳淑窈 劉希庚 胡昌振 王忠策
摘 要 本文的目的是嘗試一種方法,可以準確地估計從任意圖像與任意人群密度和任意角度人群計數。為此,我們應用簡單而有效的多列卷積神經網絡(MCNN)架構,將圖像映射到它的人群密度圖。允許在任意大小或分辨率模式下輸入圖像。通過利用不同大小感受野的過濾器,每列卷積神經網絡學習特點是自適應人/頭尺寸對應透視效果或圖像分辨率變化。針對這具有挑戰性的任務,我們進行了大量的實驗,以驗證所應用模型和方法的有效性。此外,實驗表明,這個模型一旦訓練另一個目標數據集,可以很容易地轉移到一個模式相近的新應用領域。
關鍵詞 MCNN 人群計數 人群密度圖
Abstract The purpose of this paper is to try a method that can accurately estimate population counts from arbitrary images with arbitrary population densities and arbitrary angles. To this end, we apply simple but effective multiple row convolutional neural network (MCNN) architecture to map the image to its population density map. Allows images to be entered in any size or resolution mode. By using filters of different size receptive fields, each column convolutional neural network learning feature is adaptive human / head size corresponding to perspective effect or image resolution change. In response to this challenging task, we conducted extensive experiments to validate the effectiveness of the model and method applied. Moreover, experiments show that once the model is trained, another target data set can easily be transferred to a new application field with similar patterns.
Keywords MCNN; population count; population density map
0 引言
在一些情況下,如景區、公眾集會和體育賽事,人數或參與人密度是一個重要的信息,為今后的事件規劃和空間設計提供參考。良好的人群計數方法也可以擴展到其他領域,例如,計數癌細胞或血液細胞的微觀圖像,野生動物種群估計,估計交通樞紐或交通堵塞等車輛的數量等等。
在本文中,我們的目標是從任意靜止圖像進行準確的人群計數,任意相機角度和人群密度。這似乎是一項相當艱巨的任務,因為我們需要克服一系列的挑戰:
(1)在我們的任務(或數據集)的人群密度和分布有顯著差異,通常有巨大的困難,因此,傳統的基于檢測的方法不能很好地應用于這樣的圖像和情況。
(2)由于在圖像中人的規模可能有顯著的變化,我們需要兼容不同尺度的功能,以準確地估計人群計數不同的圖像。因為我們對跟蹤的特征很難應用手工特點來適應所有不同的尺度,我們必須采取可以自動學習的有效特征方法。
為了克服上述挑戰,在這項工作中,我們應用一個兼顧不同尺度人群密度的卷積神經網絡在靜止圖像進行人群計數。更具體地說,我們借鑒一個多列卷積神經網絡(MCNN)的思想來處理本工作,應用多列深度神經網絡圖像分類。在此模型中,任意數量的列可以不同的方式進行輸入預處理。最后的預測是通過平均每個預測的所有深度神經網絡輸出結果。
此方案包含有不同尺寸三列卷積神經網絡的過濾器,輸入一個圖像,其輸出是給出總體人群計數的人群密度圖積分。具體概括如下:
采用多列CNN:三列對應不同大小的感受野(大、中、小型過濾器),每列CNN學到的特點是自適應的(因此確保由于視角影響或在不同的圖像分辨率的大小大變化的人/頭整體網絡魯棒性)。
在輸出端,替換卷積過濾器大小為1€?代替全連接層。因此,我們模型的輸入圖像可以任意大小,以防失真。網絡直接輸出是一個人群估計密度圖,通過積分得到整體計數。
1 基于多列CNN的人群計數
1.1 基于密度圖的人群計數[1]
在一個給定的圖像進行卷積神經網絡(CNN)操作而估計人數,有兩個配置方案。一個是基于CNN網絡,其輸入是圖像,輸出是估計的頭數;另一個是輸出一個人群密度圖(對應每平方米多少人),然后獲得頭部計數的整合。在本文中,我們選擇第二方案,有以下原因:
(1)密度圖保留更多信息。與總人數的人群,密度圖給出了在給定的圖像中人群的空間分布,以及在許多應用中,這樣的分布信息是有用的。例如,如果一個小區域的密度遠高于其他區域的密度,則可能會出現一些異常現象。
(2)在通過CNN學習密度圖,學到的過濾器更適合不同尺寸的頭,因此更適合于任意輸入的透視效果變化顯著。因此,過濾器更有語義意義,從而提高了人群計數的準確性。
1.2 幾何自適應核密度圖
由于CNN需要進行訓練,以估計從輸入圖像得到的人群密度圖,在訓練數據中給出的密度的質量決定此方法的性能。首先,我們描述了如何轉換圖像與標記的人頭的人群密度圖。endprint
如果像素xi處有一個人頭,我們表示為沖擊函數。因此,具有n個頭部標記的圖像可以表示為一個函數 ,將其轉換為連續密度函數,我們可以使用這個函數與高斯核G €%l卷積得到密度F(x) = H(x) * G €%l (x)。我們應該根據每個人的頭部大小的圖像內的擴散參數€%l。然而,在實踐中,幾乎是不可能準確地得到受遮擋頭部的大小,在許多情況下,并且也很難找到頭部密度圖之間的基本關系。不過,我們發現,通常與場景頭部大小有關的兩個相鄰的人在擁擠的場景中心之間的距離與人頭大小成一定比例關系。作為折中,這些擁擠場景的密度圖,建議數據在每個人的傳播參數的基礎上自適應地確定其到它的鄰居平均距離。, ,此處,為特定人頭距周圍周圍人頭的平均距離。
1.3 用于密度圖估計的CNN
由于透視失真,圖像通常包含非常不同大小的頭部,因此過濾器的接收相同字段大小的不太可能捕捉到在不同的尺度人群密度的特點。因此,它更自然地使用過濾器與不同尺寸本地感受野學習的來自原始像素的密度圖。出于多列深度神經網絡優勢,[2]我們使用多列CNN學習目標密度圖。在這里,每一列,我們使用不同尺寸的過濾器模型對應于不同尺度的人群密度圖。例如,具有較大的感受野的過濾器對應于較大的頭部密度圖的建模。
整體結構包含三個并行神經網絡的過濾器是用來對應不同大小的局部感受野。為了簡化,我們除了大小和數字濾波器使用相同的網絡結構的所有列(即轉換-池化–轉換–池化),借助最大池化所表現出的良好性能,并用修正線性單元ReLU作為激活函數。為了減少計算復雜度(待優化參數的數目),我們使用的過濾器與過濾器CNN大多數量少。我們所有的卷積神經網絡的輸出對應到密度圖。Euclidean距離被用來測量估計密度圖和真實參考之間差異。損失函數定義: ,在是一套可學習參數。N是訓練圖像的數目。 和 是輸入圖像與數據庫圖像 實密度圖 代表估計密度圖,這是參數化樣本產生 。是估計密度圖和標準密度圖之間的損失。
注:由于我們使用兩層最大池化,空間分辨率為每個圖像降低了1/4。因此,在訓練階段,我們也降低了每個訓練樣本1/4,然后生成其密度圖。
2 測試
2.1 評價指標
所用評價指標為,其中N是測試圖像數量,是在圖像的實際人口數,是在圖像的估計人數。粗略地說,MAE表示估計的準確性,和MSE表示估計的魯棒性。
2.2 所用數據集
我們應用ShanghaiTech和mall_dataset數據集作為基礎數據。如表1所示。
標準標注mall_dataset數據:超過60000行人被標注在2000個視頻幀。在幀上每個行人注釋數據詳盡標記頭部位置。
2.3 實驗仿真
在mall_dataset數據集上進行測試,單張圖片測試結果如下(依次為原圖像,ground truth,estimated density map)(見圖1)。
3 結論
在本文中,我們驗證了多列卷積神經網絡可以準確地估計人群數量,并且適用于在單一圖像的幾乎任何角度。此模型在稠密人群計數識別平均絕對誤差約為116.2人,較稀疏人群計數識別平均絕對誤差約為29.7人,具有實用價值。此外,此模型應用領域可以很容易地轉移到其他目標域,只需微調最后幾層受過訓練的模型,這表明該模型的良好的普遍性。
參考文獻
[1] Zhang C, Li H, Wang X, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015: 833-841.
[2] Zhang Y, Zhou D, Chen S, et al. Single-Image Crowd Counting via Multi-Column Convolutional Neural Network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:589-597.endprint