国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GPU的視頻流人群實時計數(shù)

2017-04-17 05:13姬麗娜陳慶奎陳圓金趙德玉方玉玲趙永濤
計算機應(yīng)用 2017年1期
關(guān)鍵詞:攝像頭人群特征

姬麗娜,陳慶奎,陳圓金,趙德玉,方玉玲,趙永濤

(1.上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093; 2.上海理工大學(xué) 管理學(xué)院,上海 200093)

(*通信作者電子郵箱coldpoint@sina.cn)

基于GPU的視頻流人群實時計數(shù)

姬麗娜1*,陳慶奎1,2,陳圓金1,趙德玉2,方玉玲2,趙永濤1

(1.上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093; 2.上海理工大學(xué) 管理學(xué)院,上海 200093)

(*通信作者電子郵箱coldpoint@sina.cn)

為了解決人群遮擋嚴(yán)重、光照突變等惡劣環(huán)境下人群計數(shù)準(zhǔn)確率低的問題,提出基于混合高斯模型(GMM)和尺度不變特征變換(SIFT)特征的人群數(shù)量統(tǒng)計分析新方法。首先,基于GMM提取運動人群,并采用灰度共生矩陣(GLCM)和形態(tài)學(xué)方法去除背景中移動的小物體和較密集的噪聲等非人群前景,針對GMM算法提出了一種效率較高的并行模型;接著,檢測運動人群的SIFT特征點作為人群統(tǒng)計的基礎(chǔ),基于二值圖像的特征提取大大減少了執(zhí)行時間;最后,提出基于人群特征數(shù)和人群數(shù)量進行統(tǒng)計分析的新方法,選擇不同等級的人群數(shù)量的數(shù)據(jù)集分別進行訓(xùn)練,統(tǒng)計得出平均單個特征點數(shù),并對不同密度的行人進行計數(shù)實驗。算法采用基于GPU多流處理器進行加速,并針對所提算法在統(tǒng)一計算設(shè)備架構(gòu)(CUDA)流上任務(wù)的有效調(diào)度的方法進行分析。實驗結(jié)果顯示,相比單流提速31.5%,相比CPU提速71.8%。

視頻監(jiān)控;GPU并行計算;人群計數(shù);尺度不變特征變換;混合高斯模型;統(tǒng)一計算設(shè)備架構(gòu)

0 引言

視頻監(jiān)控領(lǐng)域中人群數(shù)目統(tǒng)計一直是視頻監(jiān)控領(lǐng)域的研究熱點,在實際場景有著非常廣泛的應(yīng)用,比如通過分析人數(shù)用動態(tài)控制交通信號燈來優(yōu)化管理行人流量、控制地鐵站入口處的乘客流量、旅游景點客流量統(tǒng)計、公共安全監(jiān)控等。人群統(tǒng)計的方法一般有直接統(tǒng)計和間接統(tǒng)計:直接統(tǒng)計法比如通過分類器等聚類算法首先對視頻圖像進行分割,把行人分割成單獨的個體[1-3];間接統(tǒng)計法比如機器學(xué)習(xí)算法、統(tǒng)計分析法[4-6]。然而在實際應(yīng)用中人群統(tǒng)計面臨著諸多挑戰(zhàn):首先最常見的遮擋問題使算法無法精確地分割出每個人,光照突變常常導(dǎo)致背景分割和連通體檢測很大的誤檢率,算法要想在視頻中分割每個個體并進行計數(shù)是非常困難的,本文選擇間接統(tǒng)計法,把視頻中的人群和人群特征視為一個整體,從宏觀的視角去分析這些人群的特征和人群個數(shù)的關(guān)系相對來說更加合理。此外視頻監(jiān)控的實時性在實際應(yīng)用中也有很大的需求。綜上所述要精確并實時地統(tǒng)計人群數(shù)目,本文選擇間接統(tǒng)計法和基于GPU(Graphics Processing Unit)的算法并行加速。

為了提高人流分析的效率和準(zhǔn)確度,本文提出了新的解決方法,具體包括以下幾個方面:

1)針對高斯混合模型(Gaussian Mixture Model, GMM)算法特點,提出一種并行模型,減少內(nèi)存復(fù)制操作從而減少算法執(zhí)行時間,并與另外一種模型進行比較分析。

2)比較統(tǒng)一計算設(shè)備架構(gòu)(Compute Unified Device Architecture, CUDA)多流處理器和單流處理器的異同,對多流處理器上任務(wù)的調(diào)度進行分析和實驗對比。

3)在運動向量生成階段,本文選擇基于混合高斯背景分割得到的二值圖像進行尺度不變特征變換(Scale-Invariant Feature Transform, SIFT)提取。這樣做的原因是雖然基于攝像頭的背景分割效果并不非常理想,但是因為本文后面的分析是采取統(tǒng)計分析的方法,不需要過于在乎背景分割的人群輪廓等信息,而是從宏觀上考慮整個人群的總體特征。另一方面,SIFT算法對光照、旋轉(zhuǎn)、尺度變換等都有很強的魯棒性,但是算法復(fù)雜度高,執(zhí)行時間長,而本文采取基于二值圖像的特征提取大幅減少了算法執(zhí)行時間,提高了執(zhí)行效率。該方法為人群統(tǒng)計的探索開拓了一個新視角。

4)在人群個數(shù)統(tǒng)計過程中,本文的算法受Albiol等[4]的啟發(fā),采取根據(jù)特征點個數(shù)Nc和單個人的特征點個數(shù)N1之間的簡單映射關(guān)系,得到當(dāng)前視頻幀的人群個數(shù),然而不同的是,Albiol等的算法對N1的估算上只提取一幀圖像來估計平均值,這種方法雖然在PETS2009數(shù)據(jù)集上表現(xiàn)出色,但是本文在實驗過程發(fā)現(xiàn)這種做法對其他場景并不適用,本文將采取對N1新的訓(xùn)練方法,即采取不同等級的數(shù)據(jù)對N1進行訓(xùn)練,提高了檢測精度,本文用這種訓(xùn)練方法在多處場景的各種條件下進行實驗,均表現(xiàn)良好。

此外需要說明的是本文應(yīng)用場景為:固定攝像頭下的行人統(tǒng)計,并且攝像頭視角中的人群不是由遠(yuǎn)至近或由近至遠(yuǎn),而是垂直視角,攝像頭中的行人在人眼中的大小是基本相同或者有非常小的尺度變換;因此本文對場景作以下合理假設(shè):假設(shè)行人在攝像頭范圍內(nèi)各個位置的平均特征點數(shù)量基本相等。接下來本文將分別闡述人流分析的相關(guān)工作,進行算法分析,展示實驗結(jié)果并進行對比分析,最后進行總結(jié)。

1 相關(guān)工作

目前人群統(tǒng)計方面的研究基本從兩個不同的視角分析:一種是直接檢測;另一種是間接檢測。前者是基于目標(biāo)檢測的人群密度估計算法,這種模式識別的方法在行人遮擋嚴(yán)重的情況下進行分割非常艱難。間接檢測法包括最早被采用的人群密度特征即基于像素統(tǒng)計的方法和基于紋理分析的人群密度估計方法。近年來,很多學(xué)者都致力于研究間接檢測的方法,這種方法不需要分別檢測和識別每個人,而是提取整個視頻中的動態(tài)特征向量,并根據(jù)特征點數(shù)量和人群數(shù)目的映射關(guān)系來統(tǒng)計人數(shù)。

事實上想要準(zhǔn)確地把每個人都單獨分割出來本身就是一項非常具有挑戰(zhàn)的任務(wù),算法通常都會受到光照、環(huán)境變化的影響,甚至在遮擋非常嚴(yán)重的情況下,這項工作根本難以進行。相對而言,間接檢測的方法更加穩(wěn)定,魯棒性更強,因為這種方法基于相對更容易檢測的特征點進行分析。這種方法簡單易實現(xiàn),在很多場景中無論是在精度還是效果上都表現(xiàn)出色。由Albiol等在2009年提出的統(tǒng)計分析法的人群計數(shù)和事件檢測在PET2009數(shù)據(jù)集上表現(xiàn)出色,到目前為止,有很多學(xué)者對此陸續(xù)做出了大量的改進工作,以解決偽靜態(tài)點被忽略[7]、角點檢測算法魯棒性不夠強[8]、角點數(shù)和人數(shù)的映射關(guān)系[9]、視角變換和密度影響[10]等問題。Hou等則通過背景差分法提取動態(tài)人群,接著基于EM(Expectation Maximization)算法和新的聚類模型定位每個人,最后根據(jù)位置、特征等信息計算人群個數(shù),該方法把前景像素點個數(shù)和人群個數(shù)視為線性關(guān)系[11-12]。上述的改善工作中由于使用過于復(fù)雜的模型,雖然對效果有一定的改善,但是花費過度的資源和時間去改善的效率可能并不是很高,尤其是視頻圖像處理中,速度和精度也同樣重要。因此本文將對Albiol等的方法中參數(shù)N1的訓(xùn)練階段作一定改進,得到更合理的參數(shù),在提升精度的同時并不會增加執(zhí)行時間的開銷。在此基礎(chǔ)上,本文將基于目標(biāo)檢測和基于特征分析的方法結(jié)合,通過改善基于高斯混合模型(GMM)的背景分割法和基于二值圖像的SIFT特征基礎(chǔ)上進行人群的統(tǒng)計分析。由于是基于運動人群,而不是基于模式識別等方式,因此本文方法同樣非常適合分辨率非常低的視頻圖像。

2 算法分析

本章將詳細(xì)闡述本文提出的方法。由于是基于攝像頭的視頻圖像分析,因此本文將首先進行攝像頭視角調(diào)整,調(diào)整原則為:由于人的視覺特點是近大遠(yuǎn)小,如果攝像頭位置過低則可能造成行人在攝像頭視角內(nèi)在最遠(yuǎn)處和最近處的大小差距太大:如果攝像頭位置過高可能讀取的行人會很小,特征也會過少。本文經(jīng)過矯正的兩個實驗場景中攝像頭合適位置如圖1所示。

圖1 攝像頭矯正圖示

下面分別對背景分割、特征提取和人數(shù)統(tǒng)計進行討論。

2.1 流加速的背景分割

前景分割方法有很多[13],考慮到算法復(fù)雜度和抗干擾度等方面的因素,本文采取為圖像每個像素建立自適應(yīng)的高斯混合模型進行背景分割。首先進行按照式(1)進行多個高斯分布加權(quán)建模,并采取自學(xué)習(xí)方式進行背景更新,更新模型方法如式(2)~(4)。由于后續(xù)的特征分析是基于提取的前景圖像,因此前景的提取效果至關(guān)重要,但是需要注意的是,這里的提取效果并不是指傳統(tǒng)意義上為了進行連通體個數(shù)統(tǒng)計而要求運動前景必須能夠單獨分離每個個體,不能容忍任何噪聲和前景被分裂等現(xiàn)象,前文已經(jīng)討論過,要達(dá)到這種效果由于受到各種復(fù)雜條件的干擾本身就很難實現(xiàn)。本文算法是基于特征統(tǒng)計,對行人的前景輪廓不做作殊要求,但是如果場景中大面積都是運動的背景,是不可行的,因此需要對場景中的干擾進行優(yōu)化。針對背景中大量細(xì)小的噪點,本文將對提取的運動人群進行形態(tài)學(xué)處理。另外場景中可能存在小幅度往復(fù)運動的物體如搖晃的樹葉、飄搖的廣告橫幅等,本文采取基于灰度共生矩陣(Gray Level Co-occurrence Matrix, GLCM)提取出來的紋理特征來去除干擾,這些特征具有很強的抗光照突變特征和局部序列性,具體方法之前已有研究[14],在此不再贅述。

此外,為了提高視頻處理的速度,本文采取基于GPU/CPU協(xié)同計算的方法,在CPU上處理邏輯性比較強的任務(wù),由于本文中前景提取算法在圖像像素之間沒有任何關(guān)聯(lián)性,每個像素進行單獨計算,非常適合在GPU上并行計算。如果使用默認(rèn)的單流進行計算,每幀圖像都要進行HOST和GPU的之間數(shù)據(jù)傳入傳出,內(nèi)存復(fù)制的時間太長,這會大大減弱使用GPU進行并行加速的時間優(yōu)勢,因此選擇申請多個CUDA流來處理數(shù)據(jù),分配兩組相同的GPU緩沖區(qū),這樣每個流分別單獨在輸入數(shù)據(jù)塊上執(zhí)行工作,利用多流的重疊功能隱藏傳輸時間。改進單流程序的思想很簡單,包括“分塊”計算以及內(nèi)存復(fù)制和核函數(shù)執(zhí)行的重疊。比如,第0個流將核函數(shù)計算結(jié)果傳出到HOST端的同時,第1個流將開始執(zhí)行核函數(shù)。緊接著,第1個流將計算結(jié)果傳出到HOST端,同時第0個流可以開始在下一塊數(shù)據(jù)上執(zhí)行核函數(shù)。如果內(nèi)存?zhèn)鬏敳僮骱秃撕瘮?shù)執(zhí)行時間大致相同。在任何執(zhí)行內(nèi)存復(fù)制和核函數(shù)的執(zhí)行相互重疊的設(shè)備上,當(dāng)使用多個流時,程序的整體性能都會提升。每個流中為每個像素分配一個線程,假設(shè)圖像的寬和高分別為W、H,那么在GPU上申請大小為W×H×sizeof(unsigned char)的緩存空間,并申請W×H個線程,線程塊大小為8×8。

(1)

ωxy,i,t=(1-α)ωxy,i,t-1+α

(2)

μxy,i,t=(1-ρ)μxy,i,t-1+ρIxy,t

(3)

(4)

其中:η(Ixy,t,μxy,t,σxy,t)表高斯分布,ωxy,i,t是t時刻坐標(biāo)為(x,y)像素點第i個高斯分布的權(quán)重,μxy,i,t表均值,σxy,i,t表方差,Ixy,t是像素值,ρ是第二學(xué)習(xí)率,α是第一學(xué)習(xí)率。

需要注意的是,雖然從邏輯上來看,不同的流之間是相互獨立的,但事實上GPU的隊列機制并非如此,因為硬件中并沒有流的概念,而是包含一個或多個引擎來執(zhí)行內(nèi)存復(fù)制操作,另一個引擎來執(zhí)行核函數(shù),這些引擎彼此獨立地對操作進行排隊[15]。如圖2中所示,第0個流對A的內(nèi)存復(fù)制需要在對B的內(nèi)存復(fù)制之前完成,而對B的復(fù)制又要在核函數(shù)A啟動之前完成。而在硬件中這些依賴性將丟失,因此在使用流時必須要注意到硬件的工作方式和CUDA流編程模型的方式是不同的,將操作放入流中隊列的順序?qū)⒂绊懼鳦UDA驅(qū)動程序調(diào)度這些操作以及執(zhí)行的方式。為了確保相互獨立的流能夠真正地并行執(zhí)行,需要合理調(diào)度流,從而高效使用多個CUDA流。如果同時調(diào)度某個流的所有操作,那么很容易無意中阻塞另一個流的內(nèi)存拷貝或者核函數(shù)執(zhí)行,因此在將操作放入流的隊列時應(yīng)采用寬度優(yōu)先方式,而非深度優(yōu)先方式。如果內(nèi)存復(fù)制操作時間與核函數(shù)執(zhí)行時間大致相當(dāng),那么真正的執(zhí)行時間將如圖3所示。箭頭表示引擎間的依賴性,可以看到在新的調(diào)度順序中,這些依賴性仍能得到滿足。

圖2 程序在使用兩個不同流時的執(zhí)行時間段

注:為了圖示的簡單明了,圖2和圖3的流均使用2個CUDA流作為示例,多個流執(zhí)行同理。

圖3 改進后流隊列執(zhí)行順序

前景分割具體執(zhí)行過程如算法1所示,需要注意的是,由于需要為每個像素建立多個高斯模型,并且除了第一幀外,每一幀圖像在模型更新結(jié)束后都需要前一幀圖像的模型信息,因此選擇直接在GPU上申請大小為W×H×sizeof(model)的內(nèi)存空間,并且為此GPU設(shè)備端的模型申請為全局變量,這樣不必每次在使用上一幀圖模型信息時,進行耗費時間的設(shè)備端和主機端傳輸工作,這樣的做法相比一開始就在CPU端為模型申請內(nèi)存空間再傳入設(shè)備端的做法大大提高了算法執(zhí)行速度。從圖4~5可知,這種方法減少了每幀兩次的內(nèi)存復(fù)制操作,而在視頻圖像處理過程中,內(nèi)存復(fù)制操作相對來說是相當(dāng)耗時的,這也通常被視為是性能的瓶頸之一。

算法1 運動目標(biāo)檢測。

輸入: frame, width, height, Idx, Idy。 輸出: foreground image。 函數(shù) foreGroundDetector () gmm_model *dd_gmmmodel;

//申請全局變量,在GPU端建立混合高斯模型 cudaMalloc((void**)&dd_gmmmodel,WIDTHSIZE* HEIGHTSIZE*sizeof(gmm_model));

//為模型分配空間 cudaMemset(dd_gmmmodel,0,WIDTHSIZE*HEIGHTSIZE* sizeof(gmm_model));

//初始化模型 WHILE(true)

//開始混合視頻幀循環(huán) IF Idx>0 && Idx0 && Idy

//流同步

cuda Stream Synchronize(stream1);

//流同步

輸出得到二值前景圖像

END IF

END WHILE

RETURN;

END 函數(shù)

圖4 GMM更新在CPU/GPU端的并行模型

圖5 改進后的GMM并行模型

2.2 檢測運動人群特征點

本文對場景作以下合理的假設(shè):場景中運動的大面積對象是行人,這與其他人流統(tǒng)計分析要求相同。假設(shè)場景中大面積的運動對象不是人群,而是車流、搖晃的樹等,本文方法不適用。

通過2.1節(jié)的討論已經(jīng)得到場景中人群的運動前景,想要通過這些前景直接進行人群統(tǒng)計比如通過連通體計數(shù)等方法,這在高密度的人群中并不容易甚至根本無法執(zhí)行,因為嚴(yán)重的遮擋問題、室外不穩(wěn)定的光照問題等,會使得一個人被分裂為多個前景塊(可能被計數(shù)多次)、一群人由于擠在一起可能被提取為一個前景塊(可能只被計數(shù)一次)。因此,本文采取間接計數(shù)的方式,從整幅圖像的所有特征點出發(fā)進行分析。

關(guān)于特征點檢測方法,Albiol等[4]采取Harris算法實現(xiàn)對分析圖像的特征點檢測,Harris等[16]指出了采用Harris算法對特征點檢測的不足,相對于Harris算法[17],SIFT算法檢測的特征點在具有對平移、旋轉(zhuǎn)、噪聲的不變性的同時,對尺度縮放、亮度變化和局部遮擋也不敏感,并且對視角變化、仿射變換也保持一定的穩(wěn)定性,因此SIFT算法檢測的特征點相對來穩(wěn)定性更強,因此本文在運動人群的特征點檢測上采用SIFT算法。它在尺度空間中尋找極值點,并提取其位置、尺度、旋轉(zhuǎn)不變量,是一種局部特征描述子,具有獨特性、多量性和可擴展性等特點。算法2為基于SIFT的二值圖像特征點檢測過程。其中GaussianPyramid()、DogPyramid()分別通過(5)~(7)建立高斯和差分金字塔,結(jié)果如圖6和圖7所示,其中DoG(Difference of Gaussian)為高斯差分濾。

(5)

L(x,y,σ)=G(x,y,σ)*I(x,y)

(6)

D(x,y,σ)=G(x,y,kσ)-G(x,y,σ)

(7)

圖6 通過高斯濾波處理得到的部分高斯金字塔結(jié)果(k=21/3)

圖7 通過差分濾波處理得到的部分差分金字塔結(jié)果(k=21/3)

L(x,y,σ)是高斯濾波函數(shù),其中G(x,y)是圖像像素(x,y)處的高斯分布函數(shù),(m,n)是平滑模板,σ是高斯分布標(biāo)準(zhǔn)差,初始值為1.6,D(x,y,σ)表差分濾波函數(shù)。DetectionLocalExtrama()通過子像素插值法求局部極值點,如圖8左中圓點所示,OrientationAssignment()為關(guān)鍵點分配主方向從而實現(xiàn)圖像旋轉(zhuǎn)不變性,如圖8右箭頭所示。實驗發(fā)現(xiàn)在該場景中檢測到的SIFT特征點數(shù)量高達(dá)350個左右,這樣的計算量是相當(dāng)巨大的,而其中大部分特征點都是背景產(chǎn)生的,圖9所示是在2.1節(jié)中方法進行背景分割之后再進行特征點檢測,并且是本文最關(guān)心的行人的特征點,在該圖中雖然圖中的人只是微小的運動,前景塊也很小,但是特征點數(shù)量仍然能夠達(dá)到15個,這就為后續(xù)方法在大大減少計算量的同時仍能保證后續(xù)計數(shù)的穩(wěn)定性和準(zhǔn)確性。

圖8 局部極值點檢測和方向分配結(jié)果(351個特征點)

圖9 基于二值圖像的SIFT特征點檢測結(jié)果(15個特征點)

圖9所示為對某場景攝像頭數(shù)據(jù)分別通過2.1節(jié)方法進行運動前景提取并采用SIFT算法進行特征點檢測的效果,圖9中的圓點為所標(biāo)記的SIFT特征點,白色區(qū)域為運動前景點。

算法2 特征檢測。

輸入:foregroundimage,sigma,width,height,Idx,Idy。 輸出:features。 函數(shù)ScaleInvarFeatureTransform()IFIdx>0 &&Idx0 &&Idy

//圖像預(yù)處理:先將原圖灰度化,再擴大一倍后,用高斯模糊平滑octaves=lb((double)min(width*2,height*2))-2;

//計算組數(shù),其中2是0~lb(min(width*2,height*2))的經(jīng)驗值GaussianPyramid(init_gray,gauss_pyr,octaves,intervals=3,sigma);

//高斯金字塔建立DogPyramid(gauss_pyr,dog_pyr,octaves,intervals);

//差分金字塔建立

DetectionLocalExtrema(dog_pyr,extrema,octaves,intervals);

//局部極值檢測

OrientationAssignment(extrema,features,gauss_pyr);

//方向分配

DescriptorRepresentation(features,gauss_pyr,BINS=8,WindowWidth=4);

//特征描述子ENDIF

RETURN;

END函數(shù)

2.3 人群個數(shù)統(tǒng)計

通過前面的討論可以知道當(dāng)前視頻中區(qū)域特征點數(shù)量Nc會保持在一定范圍內(nèi)浮動,受Albiol等[4]的啟發(fā),本文通過統(tǒng)計學(xué)分析,對Nc以及當(dāng)前場景中每個人平均所包含的特征點數(shù)量N1進行分析,然而Albiol等[4]的方法在本場景中存在以下問題:Albiol等[4]簡單地計算僅僅一幀視頻中N1的值,那么這樣會使N1的值有很大的偶然性,同一個場景同一個視角中可能得出的N1的值相差非常大。然而事實上本文方法中對具體某場景的假設(shè)是行人在攝像頭范圍內(nèi)各個位置的平均特征點數(shù)量基本相等,這和假設(shè)是相悖的,在實際應(yīng)用中N1對這重要的一幀選擇的依賴性相當(dāng)大,如果選擇不合適那么很可能直接導(dǎo)致檢測結(jié)果誤差非常大。

因此本文通過一定的先驗校正和訓(xùn)練的方法獲取人群數(shù)量。由于N1關(guān)系到最終的計數(shù)精確度,因此N1的選取至關(guān)重要。為了研究場景中每個人平均所包含的特征點數(shù)目N1,本文提出改善方法:通過輸出該場景幾十幀特殊的圖像的特征點數(shù)量Nc和該場景中的人群數(shù)量Np來進行一定的訓(xùn)練,從而得出N1的最終值。首先選擇場景中無遮擋密度小即只有一個人的視頻幀輸出其特征點數(shù)目Nc和Np,接著選擇場景中有有遮擋即密度較大視頻幀,最后選擇場景中有遮擋嚴(yán)重的高密度人群的視頻幀,那么由Nc/Np=N1計算出每幀情況下的N1,如圖10(a)~(c)所示。可知N1的平均值,即對于該場景來說每人所包含的特征點個數(shù)平均為N1個。需要注意的是Np由手動測量所得,目的就是為了校正N1,但是本文的訓(xùn)練數(shù)據(jù)集不多,只是人為地選擇一些特殊的幀,以便于校正N1,人群計數(shù)的具體執(zhí)行步驟如算法3所示,最終人群數(shù)量Np的統(tǒng)計方法即可按照式(8)得到:

Np=Nc/N1

(8)

算法3 人群數(shù)量統(tǒng)計。

輸入:features,width,height,Idx,Idy。 輸出: 人群數(shù)量Np。 函數(shù)peopleCounting()IFIdx>0 &&Idx0 &&Idy

Np=(Nc<10)?0:(Nc>10 &&Nc

ENDIF

RETURN;

END函數(shù)

3 實驗結(jié)果與分析

本文所做實驗均是基于Nvidia獨立顯卡的測試環(huán)境,本文采用2核IntelCore2E8400CPU,內(nèi)存4GB,主頻3.0GHz,顯卡采用NvidiaGTX670獨立顯卡,系統(tǒng)類型為Windows7 64位操作系統(tǒng)。編程平臺為VisualStudio2010,OpenCV2.4.8,開發(fā)環(huán)境為C/C++/CUDA。下面將分別從執(zhí)行時間、GPU資源使用和視頻處理運行效果等幾個方面進行實驗展示和分析。

圖10 不同人群密度情況下特征點數(shù)量統(tǒng)計結(jié)果

3.1 算法執(zhí)行時間分析

針對2.1節(jié)中提到的GMM的CUDA執(zhí)行架構(gòu)模型的改進和本文中算法流多處理器的使用方法分析,下面將給出實驗對比分析:分別給出本文算法在單流、多流情況下的對比如圖11所示,GMM算法在使用改進模型前后的對比如圖12所示,本文算法在CPU和改進后GPU端的執(zhí)行時間如圖13所示。

圖11中顯示使用多流比單流執(zhí)行速度要快,并且隨著圖像分辨率的增加也即計算任務(wù)的增多,多流的優(yōu)勢也越來越明顯。當(dāng)前實驗數(shù)據(jù)中,基于多個CUDA流比單個CUDA流執(zhí)行速度平均快31.5%,最快可達(dá)35.8%。但是需要注意的是分辨率為320×240的圖像使用多流執(zhí)行時間卻比單流執(zhí)行速度慢,而隨著分辨率的增加多流逐漸比單流速度快很多。

這是由于多流的使用需要創(chuàng)建流、啟動流和多個流之間同步等待等操作,本身也需要耗費一定的時間,因此對于計算量較小的任務(wù)來說可能使用多流比使用單流反而慢,如果開啟更多的流那么開啟流和多個流同步時間可能更長,這說明并不是開啟越多的流執(zhí)行速度就會越快,而是要根據(jù)任務(wù)的計算量來判斷,當(dāng)然計算量較大的算法可以開啟較多的流,計算量較小的可以只開啟兩個流或者使用單流。

圖11 本文算法多流和單流執(zhí)行時間對比

圖12 基于改進模型和未改進GMM算法執(zhí)行時間對比

圖13 本文算法在CPU和GPU上執(zhí)行時間

從圖12中可以看出,GMM算法的GPU加速過程中使用本文提出的架構(gòu)執(zhí)行速度明顯提高,平均提速51.3%,最快可提高62%。從圖13可以看出本文算法在GPU上執(zhí)行時間比CPU上執(zhí)行速度提高52.2%~78.6%,平均提速71.8%。

3.2 GPU資源使用分析

本文實驗所用的獨立顯卡NVIDIAGeForceGTX670,多流處理器數(shù)量為20個,位寬256bit,帶寬224.4GB/s,顯存類型GDDR5(Hynix),GPU默認(rèn)時鐘頻率1.27GHz,顯存默認(rèn)時鐘頻率1.71GHz。

表1中是在正常顯示和開始運行本文程序時顯卡各項參數(shù)的變化。

通過表1中的運行時參數(shù)變化,可以看到:GPU核心的頻率在運行時由135MHz變?yōu)?12MHz;GPUload表示GPU的占用量,正常顯示時是1%甚至更低,運行時是19%,還是有提高的空間;MemoryUsed顯存使用量由310MB變?yōu)?16MB,大概要增加200MB左右的動態(tài)顯存,這是因為顯存在內(nèi)存上動態(tài)分配,運行時需要較多的顯存空間,所以系統(tǒng)需要動態(tài)為顯卡分配顯存。

3.3 基于二值圖像的特征提取和人群計數(shù)效果

本文分別在兩個場景進行了實驗測試。

圖14為上海理工大學(xué)計算中心612實驗室的檢測結(jié)果,其中:(a)展示了行人在距離攝像頭最近和最遠(yuǎn)情況下,平均每個人特征個數(shù)基本保持不變;(b)為視頻中行人被分裂為多塊,完全無法進行單獨個體的分割情況下并不影響本文算法的統(tǒng)計;(c)展示了人群遮擋較為嚴(yán)重并且光照變化比較強烈,得出的前景并不理想的情況下,本文算法的檢測結(jié)果。

圖15中是2016年4月8—10日,在第十三屆上海教育博覽會上作者展示本文算法中的人群計數(shù)結(jié)果圖,視頻中游覽展會的行人時而駐足觀看(幾乎靜止,二值圖像特征很少的情況),時而緩慢步行,時而蜂擁而入,時而奔跑以及展會中的各種光線變化等條件,但是本文算法都表現(xiàn)出很好的穩(wěn)定性和準(zhǔn)確度,圖15中分別展示了這些條件下的展示結(jié)果。

注:由于圖15是上海教育博覽會展會現(xiàn)場的視頻截圖,圖中左下角的數(shù)字和行人區(qū)域的箭頭是與本文無關(guān)的數(shù)字,請讀者忽略,窗口中左上角的數(shù)字字所在窗口只是為了向讀者展示視頻中的人數(shù)。

圖14和圖15中可以看出即使每個行人的前景檢測被分為多塊甚至十幾塊,但是算法依然能很準(zhǔn)確地統(tǒng)計出行人的數(shù)量,并且圖14~15展示不同程度的遮擋情況,意味著不同程度的人群密度,然而不論是場景中人群密度很低甚至只有一個人還是場景中人群密度很高遮擋很嚴(yán)重,本文方法依然能保持很好的穩(wěn)定性和準(zhǔn)確性。

實驗說明本文算法在多種實際場景都有很強的適用性和穩(wěn)定性。

表1 顯卡各項資源使用對比

圖14 上海理工大學(xué)計算中心612實驗室的檢測結(jié)果

圖15 2016第十三屆上海教育博覽會人群計數(shù)結(jié)果

4 結(jié)語

本文針對GMM算法并行化方案中每幀圖像的K個模型在GPU內(nèi)存上的頻繁讀寫問題、本文算法的GPU多流加速問題以及人群計數(shù)中的特征點和N1映射問題提出了相應(yīng)的改善方案,實驗結(jié)果表明本文方案有一定改良。很多研究學(xué)者認(rèn)為將前景檢測直接運用于人群統(tǒng)計很困難,因為前景檢測尤其是基于攝像頭的前景檢測由于受到視覺變換、攝像頭校正等問題干擾使得人群分割很困難,因此本文從另外一個角度考慮,把所有前景區(qū)域看成一個整體,去檢測其特征點,并根據(jù)特征點個數(shù)和人群個數(shù)的關(guān)系進行人群統(tǒng)計。實驗證明這種方法效果較好,具有一定實用價值,并且本文經(jīng)過GPU加速后由實驗分析中的圖11可知完全可以做到攝像頭實時檢測。然而需要注意的是,這種方法也有一定的局限性,比如如果場景中存在一直靜止的人,那么這些人將不會被統(tǒng)計到,這也是未來需要持續(xù)關(guān)注和亟待解決的問題。

References)

[1] ZENG C B, MA H D.Robust head-shoulder detection by PCA-based multilevel HOG-LBP detector for people counting [C]// ICPR 2010: Proceedings of the 2010 20th International Conference on Pattern Recognition.Piscataway, NJ: IEEE, 2010: 2069-2072.

[2] DALAL N, TRIGGS B.Histograms of oriented gradients for human detection [C]// CVPR’ 05: Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington, DC: IEEE Computer Society, 2005: 886-893.

[3] LI M, ZHANG Z X, HUANG K Q, et al.Estimating the number of people in crowded scenes by MID based foreground segmentation and head-shoulder detection [C]// ICPR 2008: Proceedings of the 19th International Conference on Pattern Recognition.Piscataway, NJ: IEEE, 2008: 1-4.

[4] ALBIOL A, SILLA M J, ALBIOL A, et al.Video analysis using corner motion statistics [C]// PETS 2009: Proceedings of the 2009 IEEE International Workshop on Performance Evaluation of Tracking and Surveillance.Washington, DC: IEEE Computer Society, 2009: 31-38.

[5] CHAN A B, VASCONCELOS N.Counting people with low-level features and Bayesian regression [J].IEEE Transactions on Image Processing, 2012, 21(4): 2160-2177.

[6] KONG D, GRAY D, TAO H.A viewpoint invariant approach for crowd counting [C]// ICPR 2006: Proceedings of the 18th International Conference on Pattern Recognition.Piscataway, NJ: IEEE, 2006: 1187-1190.

[7] CHI Y J, SUGIL C, SEUNG W H.A method for counting moving and stationary people by interest point classification [C]// ICIP 2013: Proceedings of the 2013 IEEE International Conference on Image Processing.Piscataway, NJ: IEEE, 2013: 4545-4548.

[8] CONTE D, FOGGIA P, PERCANNELLA G, et al.Counting moving people in videos by salient points detection [C]// EUSIPCO 2012: Proceedings of the 20th International Conference on Pattern Recognition.Washington, DC: IEEE Computer Society, 2010: 1743-1746.

[9] FRADI H, DUGELAY J L.People counting system in crowded scenes based on feature regression [C]// ICPR 2010: Proceedings of the 20th European Signal Processing Conference.Bucharest, Romania: [s.n.], 2012: 136-140.

[10] CONTE D, FOGGIA P, PERCANNELLA G, et al.A method for counting people in crowded scenes [C]// AVSS 2010: Proceedings of the 2010 IEEE International Conference on Advanced Video and Signal Based Surveillance.Piscataway, NJ: IEEE, 2010: 225-232.

[11] HOU Y L, PANG G K H.People counting and human detection in a challenging situation [J].IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans, 2011, 41(1): 24-33.

[12] HOU Y L, PANG G K H.Automated people counting at a mass site [C]// Proceedings of the 2008 IEEE International Conference on Automation and Logistics.Piscataway, NJ: IEEE, 2008: 464-469.

[13] LI H, ACHIM A, BULL D R.GMM-based efficient foreground detection with adaptive region update [C]// ICIP 2009: Proceedings of the 16th IEEE International Conference on Image Processing.Piscataway, NJ: IEEE, 2009: 3145-3148.

[14] 姬麗娜,陳慶奎,趙永濤,等.一種基于GLCM的運動目標(biāo)檢測新方法[J].太原理工大學(xué)學(xué)報,2015,46(6):719-726.(JI L N, CHEN Q K, ZHAO Y T, et al.A novel method of moving object detection based on GLCM [J].Journal of Taiyuan University of Technology, 2015, 46(6): 719-726.)

[15] SANDERS J, KANDROT E.GPU高性能編程CUDA實戰(zhàn)[M].聶雪軍,譯.北京:機械工業(yè)出版社,2011:139-151.(SANDERS J, KANDROT E.CUDA by Example: An Introduction to General-Purpose GPU Programming [M].NIE X J, translated.Beijing: China Machine Press, 2011: 139-151.)

[16] HARRIS C, STEPHENS M.A combined corner and edge detector [C]// Proceedings of the 4th Alvey Vision Conference.Manchester: Alvey Vision Club, 1988: 147-151.

[17] 梁榮華,劉向東,馬祥音,等.基于SURF的高密度人群計數(shù)方法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2012,24(12):1568-1575.(LIANG R H, LIU X D, MA X Y, et al.High-density crowd counting method based on SURF feature [J].Journal of Computer-Aided Design & Computer Graphics, 2012, 24(12): 1568-1575.)

This work is partially supported by the National Natural Science Foundation of China (61572325, 60970012), the Ministry of Education Doctoral Funds for Ph.D Supervisor of China (20113120110008), Shanghai Key Science and Technology Project (14511107902), Shanghai Engineering Research Center Project (GCZX14014), Shanghai Leading Academic Discipline Project (XTKX2012), Shanghai Special Fund for Research Base (C14001).

JI Lina, born in 1990, M.S.candidate.Her research interests include computer graphics and image processing, parallel computing, pattern recognition.

CHEN Qingkui, born in 1966, Ph.D., professor.His research interests include network computing, parallel computing, Internet of things.

CHEN Yuanjing, born in 1991, M.S.candidate.His research interests include single photon detector.

ZHAO Deyu, born in 1978, Ph.D.candidate.His research interests include high performance computing, GPU architecture, scheduling strategy in CPU-GPU heterogeneous system.

FANG Yuling, born in 1990, Ph.D.candidate.Her research interests include high performance computing, GPU architecture, scheduling strategy in CPU-GPU heterogeneous system.

ZHAO Yongtao, born in 1991, M.S.candidate.His research interests include pattern recognition, parallel computing.

Real-time crowd counting method from video stream based on GPU

JI Lina1*, CHEN Qingkui1,2, CHEN Yuanjing1, ZHAO Deyu2, FANG Yuling2, ZHAO Yongtao1

(1.CollegeofOptical-ElectricalandComputerEngineering,UniversityofShanghaiScienceandTechnology,Shanghai200093,China;2.CollegeofBusiness,UniversityofShanghaiScienceandTechnology,Shanghai200093,China)

Focusing on low counting accuracy caused by serious occlusions and abrupt illumination variations, a new real-time statistical method based on Gaussian Mixture Model (GMM) and Scale-Invariant Feature Transform (SIFT) features for video crowd counting was proposed.Firstly, the moving crowd were detected by using GMM-based motion segment method, and then the Gray Level Co Occurrence Matrix (GLCM) and morphological operations were applied to remove small moving objects of background and the dense noise in non-crowd foreground.Considering the high time-complexity of GMM algorithm, a novel parallel model with higher efficiency was proposed.Secondly, the SIFT feature points were acted as the basis of crowd statistics, and the execution time was reduced by using feature exaction based on binary image.Finally, a novel statistical analysis method based on crowd features and crowd number was proposed.The data sets with different level of crowd number were chosen to train and get the average feature number of a single person, and the pedestrians with different densities were counted in the experiment.The algorithm was accelerated by using multi-stream processors on Graphics Processing Unit (GPU) and the analysis about efficiently scheduling the tasks on Compute Unified Device Architecture (CUDA) streams in practical applications was conducted.The experimental results indicate that the speed is increased by 31.5% compared with single stream, by 71.8% compared with CPU.

video surveillance; Graphics Processing Unit (GPU) parallel computing; crowd counting; Scale-Invariant Feature Transform (SIFT); Gaussian Mixture Model (GMM); Compute Unified Device Architecture (CUDA)

2016-07-30;

2016-08-08。 基金項目:國家自然科學(xué)基金資助項目(61572325, 60970012);高等學(xué)校博士學(xué)科點專項科研博導(dǎo)基金資助項目(20113120110008);上海重點科技攻關(guān)項目(14511107902);上海市工程中心建設(shè)項目(GCZX14014);上海市一流學(xué)科建設(shè)項目(XTKX2012);滬江基金研究基地專項(C14001)。

姬麗娜(1990—),女,河南信陽人,碩士研究生,主要研究方向:計算機圖形圖像處理、并行計算、模式識別; 陳慶奎(1966—),男,上海人,教授,博士生導(dǎo)師,博士,CCF會員,主要研究方向:網(wǎng)絡(luò)計算、并行計算、物聯(lián)網(wǎng); 陳圓金(1991—),男,河南信陽人,碩士研究生,主要研究方向:單光子探測器; 趙德玉(1978—),男,山東臨沂人,博士研究生,主要研究方向:高性能計算、GPU架構(gòu)、CPU-GPU異構(gòu)集群調(diào)度;方玉玲(1990—),女,河南信陽人,博士研究生,主要研究方向:高性能計算、GPU架構(gòu)、CPU-GPU異構(gòu)集群調(diào)度; 趙永濤(1991—),男,河北邯鄲人,碩士研究生,主要研究方向:模式識別、并行計算。

1001-9081(2017)01-0145-08

10.11772/j.issn.1001-9081.2017.01.0145

TP391.413

A

猜你喜歡
攝像頭人群特征
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
離散型隨機變量的分布列與數(shù)字特征
攝像頭連接器可提供360°視角圖像
糖尿病早預(yù)防、早控制
抓特征解方程組
不忠誠的四個特征
我走進人群
財富焦慮人群
奔馳360°攝像頭系統(tǒng)介紹
秘書緣何成為『高危人群』