1. 程式人生 > >人群密度估計-Crowd Density

人群密度估計-Crowd Density

一. 應用背景

      在安防大背景下,對敏感區域人流量的管控是一個重要的課題,防止人群騷亂、踩踏現象的發生,對非預期的人員匯聚進行預警等等,最常用的方法是檢測到每個目標,然後藉助 Perspective 矩陣完成到實際位置的對映,當然,在目標很難檢測的情況下(密度極大、遮擋嚴重),基於迴歸的方法就派上了用場。

      本節主要講基於深度學習的迴歸方法來實現人群密度檢測。

二. 人群密度之 Crowd Net

      不想繞過這篇有代表性的論文:

      論文:CrowdNet: A Deep Convolutional Network for Dense Crowd Counting 【

點選下載

      Caffe程式碼:Github

      先來看架構圖:

        

       論文采用了兩個網路的融合,可以理解為不同的網路提取的特徵不同,上面 Max Pool 對邊緣特徵(細節)提取較好,下面的 Shallow Net 採用 Avrg Pool 對於整體特徵描述較好,兩個網路通過一個 concat 進行連線,然後1*1的conv進行降維,非常簡單。

       這裡面有兩個細節要注意:

1)文中採用了膨脹卷積,提取整體特徵,這個現在用的也比較多了,估計都很熟;

2)資料增廣,採用了不同尺度的樣本取樣,Hard mining 策略,也都是老套路了;

       實驗效果自己看論文吧,只能說,這篇文章比較典型,作為普及性的輸入材料是很不錯的,這裡有其巨大的貢獻。

三. 基於視訊的密度估計

       論文:Spatiotemporal Modeling for crowd counting in videos 【點選下載

       Caffe程式碼:【Github】

       在講這篇文章之前,先來熟悉一下 RNN,LSTM,在影象領域應用不多,但在NLP、文字處理中發揮著巨大的價值。

       在含有時間資訊的視訊中,RNN(LSTM)成為該問題的有效手段之一(當然還有 Two Stream,Conv3D等)。

1)RNN 迴圈神經網路

      這個比較好理解,在計算當前幀的時候,加入了上一幀的資訊。

2)LSTM

      由於之前資訊在多次迭代後的 vanish 問題,採用 gate 的方式實現資訊的儲存。

      關於 LSTM 可以參考這篇Blog,講的還是比較透徹的:【簡書

       言歸正傳,如何通過時序資訊來進行密度估計的呢?我們來看:

    > ConvLSTM

       

       ConvLSTM 是將 LSTM 中的全連線替換為卷積,將 LSTM的時序與 CNN的空間域特徵結合起來,右邊是公式。

   > Bidirectional

       

       雙向 RNN,即用到前面序列,又用到後面序列,對實時性要求高的系統是不合適的,會有延遲。

   > 實驗效果

       看一下實驗效果還是很不錯的: