常慶龍,夏洪山
(南京航空航天大學民航學院,江蘇 南京 210016)
責任編輯:任健男
近年來,隨著計算機和圖像處理技術的不斷發展,針對公共場所安全的智能化視頻監控技術正成為新的研究熱點。監控場景中的行人目標檢測,是進行智能化監控的基礎步驟,也是未來進一步實施場景人群密度監控乃至安全狀況預警工作的重要前提。
目前學術上對于監控場景中的行人檢測方法一般采取先利用行人定位策略獲取行人目標的候選區域,再從候選區域中提取相應的行人特征判別并最終確認場景中的行人目標的設計思路。其中,行人目標的定位一般是以滑動窗的方式實現[1-2]。這類傳統的滑動窗策略雖然有利于提高大場景下行人定位的準確性,但由于其計算復雜度較高,并不利于行人檢測算法的實時性要求。
另一方面,作為行人檢測中的關鍵步驟,候選區域的行人特征提取一直也是該領域研究的熱點。2005年,Navneet Dalal和Bill Triggs提出了通過提取圖像中行人輪廓的梯度方向直方圖特征(HOG)進行行人檢測的方法[3-4]。該方法能夠避免行人服飾、表情的影響,有效地提取出行人的輪廓特征,成為近年來行人檢測中研究的熱點。然而該算法復雜度較高,計算速度慢,后續學者在此算法基礎上提出了一系列的優化策略,改進了算法性能[5-8]。盡管如此,該系列算法目前依舊無法滿足可能含有數十人的較大場景實時化監控要求。并且,當前國內大多數的視頻監控系統中,由于攝像頭質量不高而導致監控場景較模糊的情況較為普遍,并且大多數攝像頭的角度是俯視角狀態。該系算法對于行人目標的姿勢、攝像頭距離遠近有一定的要求,對于環境復雜的安全監控場景而言算法適應性一般。
為了能夠實時處理這類模糊俯視角場景,本文提出了一種基于自適應滑動窗快速檢測模糊場景行人目標的算法。該算法通過引入一個具有自適應特性的滑動窗對場景的前景二值圖像進行特定策略掃描判斷,可以快速檢測出場景中的行人目標。該算法對場景圖像質量要求低,不需要繁瑣的訓練過程,只需要一定的參數配置步驟即可實現對感興趣區域的行人快速檢測。該算法已在對機場候機樓監控視頻的行人檢測實驗中取得了較好的效果。
對于模糊場景,圖像中行人的膚色、發色、表情等細節都不可辨識。因此,傳統的以紋理、膚色、發色特征為識別條件的方法都無法實現行人的檢測。本文在獲得監控場景的前景二值圖像(由原圖與背景圖作背景減得到[9])的前提下,通過一個自適應縮放尺寸的滑動窗對待檢測場景的前景二值圖像按自適應匹配的策略掃描,對滑動窗中的前景二值圖像按照一系列的判別條件進行篩選,最終得到可能的行人檢測結果。具體算法流程如圖1所示。

圖1 算法處理流程圖
首先,考慮到實際監控場景的具體情況,將一些距離適中的、較為清晰的、位置關鍵的區域設為感興趣區(Region of Interest,ROI)。ROI的設立有助于進一步明確場景特征和改進處理算法,從而提高場景處理效率。
如1.1節所述,本文算法通過一個自適應尺寸和步長的滑動窗,按照從左到右、從上到下的順序完成對整個前景二值圖ROI的行人掃描判斷與標定,并最終統計人數輸出結果。
具體的掃描策略闡述如下:
1)設定待測場景的ROI。
2)根據已知的ROI,初始化滑動窗的初始終結尺寸、橫縱向初始移動步長。
3)從ROI的左上角開始,在ROI范圍內按照從左到右、從上到下的規則,以一定的橫縱向步長移動滑動窗至前景二值圖的指定位置,如圖2所示。
4)對當前滑動窗尺寸范圍內的局部前景二值圖按照一定的篩選條件判斷是否為行人。判斷結束后,計算滑動窗下一步移動步長、尺寸,并按照步長移動其至指定位置。
5)重復步驟4)直到ROI右下角最后一個滑動窗結束。
6)在原圖中標定已判斷出的行人,并統計當前場景人數。

圖2 算法掃描策略
如1.2節所述,本文算法滑動窗策略區別于傳統方法在于其自適應性,主要體現在以下兩個方面:1)滑動窗能夠根據當前在場景中的掃描位置,自適應調整自身尺寸和移動步長使之近似于當前位置下的一般站立行人尺寸。通過滑動窗尺寸自適應調整可以減少由于景深不同造成的判斷誤差;2)當滑動窗移動至可能含有行人目標的區域邊緣時,能夠自適應地進行局部微調使窗口盡可能覆蓋完整的行人目標,然后再將窗口內容進行進一步的行人規則判斷。通過局部自適應匹配既可以更好地區分出多個毗連行人目標,又提高了行人的定位精度。
1.3.1 滑動窗尺寸與步長
考慮到視頻監控區域一般是具有一定范圍的中大型場景,因此處于圖像不同區域的行人尺寸會具有較大差異,即所謂的景深誤差。為了消除這一誤差,滑動窗需要能夠隨著掃描進程自適應調整窗口的尺寸(寬和高)與待檢測區域行人直立行走時的前景尺寸近似。相應的,滑動窗的初始尺寸和終結尺寸,分別近似于ROI第一行位置和最后一行位置的單個行人的平均前景尺寸。
同樣的,滑動窗橫縱向掃描的移動步長也隨著滑動窗所處的位置而逐漸發生變化?;瑒哟暗淖赃m應尺寸與橫縱向移動步長計算公式如下

式中:sWidth,sHeight,ws,hs 分別代表滑動窗的寬度、高度、橫向步長和縱向步長,其余各參數含義參考圖3。

圖3 滑動窗尺寸與步長
考慮到不同場景的差異性,圖3中所示的滑動窗初始步長和初始終結尺寸需要根據一定數量樣本場景圖的實驗結果反饋來最終確定。
1.3.2 局部自適應匹配
人群聚集的情況是場景監控中關注的重點。如何從重疊遮擋現象嚴重的人群區域中有效地識別出多個行人目標是本算法必須解決的重要問題。
這里設計出一種滑動窗局部自適應匹配的解決方案:
1)當滑動窗移動至前景面積符合閾值面積條件的位置時,定義該位置右方一定范圍為其搜索鄰域,如圖4的b部分所示。
2)向右逐步移動判斷滑動窗,當滑動窗內的前景面積不再增大或到達該鄰域右邊界時停止右移,如圖4的c部分所示。
3)將滑動窗垂直上移至鄰域頂部,如圖4的d部分所示。逐步下移滑動窗并判斷。當滑動窗內的前景面積不再增大或到達鄰域下邊界時停止下移,如圖4的e部分所示。
4)計算當前位置滑動窗內的形心坐標,并判斷在一定范圍內該形心是否唯一。若不唯一,則退出當前過程,開始下一輪滑動窗分析判斷。
5)運用上節中的篩選條件(3,5,6)判斷當前滑動窗內的前景是否為行人。若是,則保存形心坐標至形心坐標圖中。
該方法將滑動窗在相關鄰域內滑動搜索,直至窗口處于鄰域內前景面積最大的位置。由于滑動窗尺寸與所掃描場景位置的行人視覺尺寸近似,因此可以理解為當前位置的滑動窗與行人最為匹配。如圖5所示,該方法既可以判別區分出一些毗鄰的行人目標,又可以通過一定范圍內標記形心的唯一性要求,有效避免同一目標被相鄰滑動窗重復標識,提高了定位精度。此外,該方法減少了下一步行人判別階段的計算量,提高了算法在處理大場景圖時的實時性。

圖4 滑動窗局部自適應匹配示意圖

圖5 大場景下局部自適應匹配算法的處理結果
如何判斷滑動窗內的局部前景二值圖是否為行人目標,是決定整個行人檢測算法能否成功的關鍵步驟。本文算法從前景二值圖運動區域的輪廓形狀是否類似人形輪廓的角度考慮,制定一些篩選條件來判別當前滑動窗內的運動目標是否為行人目標。
具體的篩選條件如下:
1)當前滑動窗內的前景運動區域面積不得少于閾值面積(一般為該滑動窗面積的1/3)。由于滑動窗的大小近似于所處掃描位置的行人大小,因此前景運動區域面積應符合閾值面積才可能存在行人目標,這個篩選條件可以篩除很多無效目標,提高了檢索效率。
2)左右毗鄰誤檢消除。掃描過程中滑動窗可能處于2個并排行人之間的位置,將滑動窗分為如圖6a所示的3個區域,其中L,M,R分別代表各區域的前景面積(以下相同),通過M>L和M>R的條件可以篩除此類情況。
3)左右邊緣誤檢消除。掃描過程中滑動窗可能處于偏向行人左側或右側的位置,將滑動窗分為如圖6b所示的3個區域,通過|L-R|<e1的條件可以篩除此類情況,其中e1為閾值面積1。
4)上下毗鄰誤檢消除。掃描過程中滑動窗可能處于2個前后行人之間的位置,將滑動窗分為如圖6c所示的3個區域,其中T,M,B分別代表各區域的前景面積(以下相同),通過M>T和M>B的條件可以篩除此類情況。
5)上下邊緣誤檢消除。掃描過程中滑動窗可能處于偏向行人上側或下側的位置,將滑動窗分為如圖6d所示的3個區域,通過|T-B|<e2的條件可以篩除此類情況,其中e2為閾值面積2。
6)行李箱誤檢消除。對于某些特殊場景需要篩除掉一些類似行李箱之類的目標。將滑動窗分別從橫向和縱向各分3個區域,如圖6e所示。通過L+R+T+B>e3的條件可以篩除此類情況,其中e3為閾值面積3。

圖6 幾種滑動窗需要篩除的情況
鑒于上述篩選條件,通常情況下,e1設為滑動窗前景總面積的1/4,e2設為滑動窗前景總面積的2/5,e3設為滑動窗前景總面積的1/4。
本文從行人輪廓形狀大小的角度出發,提出了一系列的行人判別條件,并據此對滑動窗的前景圖像進行篩選,判別出最終的行人目標。為了達到更好的檢測效果,未來可根據不同場景的具體目標特征,進一步定制化相應的場景特征過濾條件。
本文將首先通過局部場景實驗來驗證本文算法中的條件篩選法在行人判別中的有效性,然后再通過大場景實驗驗證本文算法的實際性能。本文實驗采用的機器配置為Pentium42.8 CPU,512 Mbyte RAM,仿真軟件為MATLAB 7.1。
為了減少計算量,本文采用來自于機場候機樓監控視頻的局部區域截圖序列作為實驗圖像。這里分別選取了行人判別領域中傳統的模板匹配算法和HOG算法作為本文算法中行人判別條件篩選法的對比對象。為了突出這3種算法之間的差異性,它們的行人定位策略均采用傳統滑動窗的掃描策略。以下分別為3種算法的具體實驗配置。
2.2.1 模板匹配算法
盡管當前實驗場景范圍較小,但考慮到滑動窗尺寸固定和模板匹配算法的敏感性,這里針對行人尺寸的差異性分別設計了3種與之尺寸匹配的人形模板,如圖7所示。具體的匹配策略則是計算滑動窗中的前景像素與對應人形模板區域的數值相同數目(MatchArea),若達到一定比例(ThreRati o)則認為當前區域為一個行人,公式如下


圖7 模板匹配中的人形模板
2.2.2 HOG算法
由于實驗場景較為模糊且尺寸較小,行人往往只有局部身體處于圖像之中,并且經常有人群聚集行人之間相互遮擋比較嚴重的情況出現,采用身體輪廓作為HOG特征已不現實,故而這里采用了文獻[5]中的基于行人頭肩輪廓的HOG特征,如圖8所示。場景圖的尺寸為448×208,掃描窗口尺寸為32×32,cell尺寸為8×8,block為2×2個cell,方向區間(bin)設為9,分類器選擇線性支持向量機(SVM)。為了簡化實現過程,這里直接采用libsvm[10]樣本代碼,其中核函數采用RBF類型,損失參數C設為1.2,核函數gamma參數設為2.8?;谝陨吓渲茫@里對當前局部場景區域選取了400個行人頭肩樣本(200個正樣本、200個負樣本)進行訓練,得到分類器。

圖8 HOG訓練樣本范例
2.2.3 本文算法
考慮到實驗場景尺寸較小,這里本文算法沒有對滑動窗的執行自適應尺寸調整,而直接采用了固定的20×80尺寸。橫縱向移動步長也分別固定設置為2像素和4像素。上述尺寸由含有10個樣本的實驗圖像序列訓練而得。
通過含有100張圖像序列的測試樣本集的對比實驗,可以發現這3種算法在當前實驗場景下的結果差異較為明顯,如圖9所示。從圖9中可以看出,在基于相同的滑動窗掃描策略下,無論是模板匹配算法還是HOG算法,其在模糊場景下的行人判別效果均不及本文算法。

圖9 行人判別有效性實驗結果
人形模板匹配算法由于對行人姿態太過敏感,因此漏檢率較高。并且由于該方法中的模板匹配步驟算法復雜度高,其每幀計算時間比本文方法多了近50%,實時性不強。
HOG算法由于測試場景的模糊性以及攝像機高度較低、視野范圍較小的原因,誤檢率較高。同時,由于HOG特征的維數較高,其計算復雜度也較高,其每幀圖片計算時間是本文所提算法的幾倍,實時性較差。此外,該方法還需要預先對場景進行大量的局部采樣訓練,可操作性不強。
相較于上述兩種算法,本文算法中采用的行人判別條件篩選方式對行人姿勢、聚集程度有較強的穩健性,行人判別效果較好。且該方法參數初始化相對簡單,具有較好的可操作性,計算較為簡單,實時性好。因此,本文算法中采用的條件篩選法比傳統行人判別方法更適合于滿足這類模糊場景實時監控的要求。
為了能夠更為全面地測試本文所提算法在大場景下的實際應用性能。這里采用一組完整連續的候機樓實際監控場景圖片序列(圖片尺寸為576×720)作為測試對象。為了增加對比性,這里將行人統計領域中常用的像素統計算法一并進行了實驗。
對于本文算法而言,這里將滑動窗的初始尺寸和終結尺寸分別設為8×32,46×160,初始橫縱向步長均設為4。訓練過程中,只選用了少數幾張樣本圖片用于初始化滑動窗尺寸和步長。具體操作流程同本文第1節所述。
對于像素統計算法而言,由于實驗場景范圍較大,而場景中遠近不同的行人前景面積差異較大。為了提高像素統計算法中擬合函數的準確性,這里將場景按距離遠近分為3個區域,如圖10所示。對每個區域分別進行人數和像素數最小二乘擬合訓練(100張圖片樣本),得到各區域的擬合函數。實際測試過程中,分別運用這3個擬合函數對場景各區域人數進行估計,取各區域人數之和為當前場景預測人數。圖10a原為彩色圖,藍框為ROI,綠線為區域分割線。

圖10 像素法區域劃分和各區域擬合結果
實驗選擇了一組含有100張樣本的完整連續的場景圖片序列進行測試。其中像素統計算法的人數統計平均正確率為60%,而本文所提算法平均正確率達到78%,如圖11所示。從實驗結果可以看出,本文所提算法正確率明顯高于傳統的像素統計法。雖然實時性不及傳統像素統計算法,但本文算法無須經過復雜的訓練過程,并且平均0.7幀/秒(f/s)的處理速度,足以應付實時監控的要求。盡管本文算法正確率一般,但考慮到場景的模糊性、行李干擾等特殊情況,相較于傳統行人檢測算法,本文算法效果要好很多,如圖12所示。圖12原為彩色圖,藍框為ROI,綠框為行人目標,紅點為目標形心。


本文提出了一種用于模糊場景下的行人檢測算法。該算法通過對監控場景的前景二值圖進行基于滑動窗的一系列篩選條件判斷和遮擋情況分析,完成對場景的行人檢測,不僅可以統計出行人數目,還可以標記出行人在場景中的分布位置,有利于下一步場景異常狀況分析。該方法對于場景的清晰度要求不高,只需要少量樣本用于初始化滑動窗尺寸和步長,不需要進行大樣本訓練,算法實時性較高,便于應用于實時監控系統中。
當然,本文算法仍存在一些不足之處。比如,算法效果受前景二值圖的效果影響較大。對于場景中存在倒影情況時,會在去除倒影的同時刪除部分行人淺色衣服區域,降低行人識別效果。因此需要進一步改進算法以提高獲取的前景二值圖像質量。另外,算法對于高密度人群的誤檢率較高,未來應根據不同場景需求制定更為有效的滑動窗篩選條件和重疊分析策略。
盡管本文算法在候機樓監控視頻的實驗中的正確率一般,但本文算法的意義在于針對行人檢測問題中監控場景畫面模糊、樣本不足的實際情況,提出了一種高效可行的系統框架和技術思路。未來此算法還可以通過完善滑動窗掃描策略和改進行人判別方法進一步提升性能。下一階段,在完善上述不足之后,可在當前行人檢測的基礎上,實現場景中行人異常聚集狀況的判斷與預警的算法功能。
[1]ROWLEY H A,BALUJA S,KANADE T.Human face detection in visual scenes[C]//Proc.1995 Conference on Advances in Neural Information Processing.MA,USA:MIT Press,1995:875-881.
[2]MOHAN A,PAPAGEORGIOU C,POGGIO T.Example-based object detection in images by components[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2001,23(4):349-361.
[3]DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[C]//Proc.2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Soc,Los Alamitos,CA,USA:IEEE Press,2005:886-893.
[4]DALAL N,TRIGGS B,SCHMID C.Human detection using oriented histograms of flow and appearance[C]//Proc.9th European Conference on Computer Vision.Berlin,Germany:Springer,2006:428-441.
[5]LI M,ZHANG Z X,HUANG K Q,et al.Estimating the number of people in crowded scenes by MID based foreground segmentation and Headshoulder Detection[C]//Proc.ICPR 200819th International Conference on Pattern Recognition.Piscataway,NJ,USA:IEEE Press,2008:1-4.
[6]YE Z Q,SU S Z,LI S Z.Research on branch and bound for pedestrian detection[C]//Proc.2011 Proceedings of IEEE International Conference on Computer Science and Automation Engineering.Piscataway,NJ,USA:IEEE Press,2011:366-370.
[7]WU J C,CHEN W,HUANG K,etal.Partialleastsquares based sub-window search for pedestrian detection[C]//Proc.201118th IEEE International Conference on Image Processing.Piscataway,NJ,USA:IEEE Press,2011:3565-3568.
[8]倪愷,肖志濤,張芳.基于梯度方向直方圖的行人檢測方法研究[J].電視技術,2011,35(5):96-99.
[9]劉福美.場景監控下的人群密度估計研究[D].南京:南京航空航天大學,2011.
[10]LIN C J.Libsvm code[EB/OL].[2011-12-01].http://www.csie.ntu.edu.tw/~cjlin/.