龍思凡 金路 王仁捷
摘要:教室人數(shù)統(tǒng)計(jì)方法,該方法適用于在教室這個(gè)特定場(chǎng)景下使用,將采集視頻的攝像頭垂直向下拍攝,能夠有效地避免人體相互遮擋和重疊,能夠?qū)⑷梭w目標(biāo)劃分為單獨(dú)的個(gè)體。實(shí)驗(yàn)數(shù)據(jù)表明,該方法計(jì)算精度可達(dá)90%左右,計(jì)算速度可達(dá)每秒20幀左右。與現(xiàn)有方法相比,該方法在精度、實(shí)時(shí)性和健壯性方面都有很大的提高。
關(guān)鍵詞:人數(shù)統(tǒng)計(jì);前景分割;背景差分;運(yùn)動(dòng)檢測(cè);目標(biāo)跟蹤
中圖分類號(hào):TN948.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)05-0134-02
1 背景
1.1 教室人數(shù)統(tǒng)計(jì)研究背景
當(dāng)我們?cè)谟懻摯髣?chuàng)的研究方向的時(shí)候,我們就在考慮我們的學(xué)習(xí)生活中有哪些還不夠方便,或者能更方便的地方。我們發(fā)現(xiàn)教室的相關(guān)情況信息包括人數(shù),在上什么課,將會(huì)有什么課,會(huì)有什么活動(dòng)都是封閉的,同學(xué)們往往需要打開門看看里面有沒(méi)有課,或者有多少人在上自習(xí)。想要用教室組織活動(dòng)的時(shí)候,往往也是要在黑板上寫占用教室相關(guān)的信息。這種流程是可以更簡(jiǎn)單的,并且教室的資源應(yīng)可視化,并依此合理調(diào)度管理。因此我們想做一個(gè)以即時(shí)視頻圖像識(shí)別人數(shù)為技術(shù)基礎(chǔ)的教室信息活動(dòng)管理APP。
1.2 課題研究的目的和意義
從算法的角度來(lái)看,傳統(tǒng)人數(shù)統(tǒng)計(jì)算法的一般過(guò)程是:首先采用合適的方法如幀差法、背景減除等進(jìn)行運(yùn)動(dòng)目標(biāo)提取,然后利用時(shí)空關(guān)系、幀間關(guān)系等進(jìn)行運(yùn)動(dòng)目標(biāo)的跟蹤,最后通過(guò)某些判斷方法統(tǒng)計(jì)出人數(shù)。在這個(gè)過(guò)程中,最重要的步驟是目標(biāo)識(shí)別和目標(biāo)跟蹤,其中目標(biāo)識(shí)別的效果直接影響運(yùn)動(dòng)目標(biāo)選擇的準(zhǔn)確性,目標(biāo)跟蹤的效果則是影響最終跟蹤計(jì)數(shù)的準(zhǔn)確度。目前已有的算法能夠取得不錯(cuò)的人數(shù)統(tǒng)計(jì)效果,但是不論是在實(shí)時(shí)性還是準(zhǔn)確度上都存在一定程度的限制和不足,仍然存在改進(jìn)和優(yōu)化的可能,這也是本課題研究意義所在。
同時(shí),從應(yīng)用方式的角度來(lái)看,人數(shù)統(tǒng)計(jì)系統(tǒng)的視頻獲取部分一般由紅外攝像頭組成,而且為了在高度一定的時(shí)候擴(kuò)大可視區(qū)域攝像頭常常會(huì)帶有廣角鏡頭。但是在實(shí)際的應(yīng)用當(dāng)中,人數(shù)統(tǒng)計(jì)系統(tǒng)的方案經(jīng)常會(huì)遇到一些復(fù)雜的情形與問(wèn)題:如果攝像頭采取軸線垂直向下的方式安裝,系統(tǒng)能夠避免運(yùn)動(dòng)目標(biāo)相互重疊和遮擋,并且重點(diǎn)針對(duì)人頭部分進(jìn)行處理,避免人體其余部分的干擾。
1.3 國(guó)內(nèi)外研究現(xiàn)狀
現(xiàn)在國(guó)內(nèi)外都有人流量統(tǒng)計(jì)的技術(shù),但我們自己想針對(duì)教室環(huán)境,和我們需要的信息做出優(yōu)化,能夠讓硬件高效準(zhǔn)確的給我們傳遞需要的信息。當(dāng)前的視頻人數(shù)統(tǒng)計(jì)大致分為兩類:
(1)基于特征提取的人數(shù)統(tǒng)計(jì)方法。考慮到在教室中人頭部分遮擋較小,多樣性也相對(duì)人體較低,所以本文選擇檢測(cè)人頭作為人數(shù)統(tǒng)計(jì)對(duì)象。首先通過(guò)機(jī)器學(xué)習(xí)Adaboost的方法得到人頭檢測(cè)分類器,并使用多尺度滑動(dòng)窗配合非極大值抑制算法對(duì)視頻圖像進(jìn)行人頭初步檢測(cè)。然后,將第一步人頭初檢測(cè)出的結(jié)果圖像輸出,并人工挑選出這些難分的正確分類與錯(cuò)誤分類的圖像,再將它們作為SVM算法的訓(xùn)練樣本進(jìn)行再學(xué)習(xí)。學(xué)習(xí)得到人頭篩選的二次分類器用以對(duì)初步檢測(cè)結(jié)果進(jìn)行二次篩選,以此方式有效去除錯(cuò)誤檢測(cè),增強(qiáng)了計(jì)數(shù)可信度。最后,使用卡爾曼濾波與檢測(cè)結(jié)果數(shù)據(jù)關(guān)聯(lián)算法彌補(bǔ)幀間漏檢,并把數(shù)據(jù)關(guān)聯(lián)處理后的結(jié)果作為最終的人數(shù)統(tǒng)計(jì)結(jié)果。實(shí)驗(yàn)證明該方法解決了有效去除誤檢測(cè)與幀間漏檢問(wèn)題,使得檢測(cè)與人數(shù)統(tǒng)計(jì)結(jié)果更加穩(wěn)定,對(duì)比初步檢測(cè)結(jié)果,計(jì)數(shù)準(zhǔn)確率提了10%以上。
(2)基于背景差分的邊緣信息統(tǒng)計(jì)方法。通過(guò)背景差分等方法獲得圖像的一些邊緣信息,加以深度信息,高斯建模等進(jìn)行匹配。由于我們主要是針對(duì)教室視頻監(jiān)控的實(shí)時(shí)人數(shù)統(tǒng)計(jì),容易獲得穩(wěn)定的背景信息.這里參考了基于背景差分法的CSDN博客信息:根據(jù)目標(biāo)的運(yùn)動(dòng)軌跡計(jì)算目標(biāo)運(yùn)動(dòng)方向和位移,判斷目標(biāo)是進(jìn)入還是離開指定區(qū)域,從而對(duì)目標(biāo)進(jìn)行數(shù)目統(tǒng)計(jì)。例如:需要統(tǒng)計(jì)公交車的人數(shù),就可以利用python-opencv對(duì)人頭統(tǒng)計(jì),然后利用軌跡分析計(jì)算目標(biāo)運(yùn)動(dòng)的方向和位移,來(lái)判斷目標(biāo)是上公交還是下公交。
2 算法簡(jiǎn)介
目前有許多實(shí)現(xiàn)視頻目標(biāo)跟蹤的方法,這些方法目的稍微不同。例如,當(dāng)跟蹤所有移動(dòng)目標(biāo)時(shí),幀之間的差異會(huì)變得非常有用;當(dāng)跟蹤視頻中移動(dòng)的手時(shí),基于皮膚顏色的均值漂移方法在這里有著最好的應(yīng)用;當(dāng)知道跟蹤對(duì)象的一方面時(shí),模板匹配又會(huì)是最優(yōu)的選擇。所以沒(méi)有最好的算法,只有在適當(dāng)場(chǎng)景中最合適的方法針,對(duì)在教室門口跟蹤人體這個(gè)特定應(yīng)用,本文提出了一種基于MeanShift的跟蹤和計(jì)數(shù)算法,能夠有效實(shí)現(xiàn)目標(biāo)跟蹤并滿足實(shí)時(shí)性要求。
2.1 目標(biāo)跟蹤
為了跟蹤視頻中的所有目標(biāo),首先要識(shí)別視頻幀中那些可能包含運(yùn)動(dòng)的目標(biāo)區(qū)域,最簡(jiǎn)單的就是幀差法,所謂幀差法就是將視頻中的前幾幀作為輸入的背景然后對(duì)于以后讀取的幀都會(huì)計(jì)算它與背景之間的差異。在這之前要先將幀轉(zhuǎn)化為灰階,并進(jìn)行模糊處理(每個(gè)輸入的視頻都會(huì)因?yàn)樽匀徽饎?dòng)、光照變化或者攝像頭本身而產(chǎn)生噪聲。對(duì)噪聲進(jìn)行平滑是為了避免在運(yùn)動(dòng)和跟蹤時(shí)將其檢測(cè)出來(lái)),之后進(jìn)行侵蝕和膨脹處理來(lái)達(dá)到透明,最后在計(jì)算出的差分圖中找到所有白色斑點(diǎn)的輪廓。
2.2 計(jì)數(shù)線的設(shè)置和計(jì)數(shù)
計(jì)數(shù)之前需要確定計(jì)數(shù)線和輔助計(jì)數(shù)線(可以形成技術(shù)區(qū)域),這里需要注意的是,計(jì)數(shù)線和計(jì)數(shù)區(qū)域設(shè)置完成后,計(jì)數(shù)區(qū)域不做顯示,僅僅顯示計(jì)數(shù)線,但是計(jì)數(shù)區(qū)域的數(shù)據(jù)已經(jīng)被保存在算法當(dāng)中,用于輔助判斷。首先通過(guò)背景分割器識(shí)別出感興趣的區(qū)域和與之相應(yīng)的運(yùn)動(dòng)對(duì)象(提取出每一個(gè)區(qū)域,實(shí)例話學(xué)生類,記錄幀以及跟蹤窗口的目標(biāo)形成感興趣區(qū)域),進(jìn)而提取ROI的HSV直方圖,計(jì)算學(xué)生HSV直方圖的反向投影,接下來(lái)使用均值漂移對(duì)目標(biāo)進(jìn)行跟蹤,當(dāng)目標(biāo)進(jìn)入計(jì)數(shù)區(qū)域時(shí)根據(jù)計(jì)數(shù)線來(lái)判斷學(xué)生運(yùn)動(dòng)方向,計(jì)數(shù)區(qū)域用于輔助計(jì)數(shù)線進(jìn)行判斷。只有進(jìn)入了計(jì)數(shù)區(qū)域內(nèi)的對(duì)象才會(huì)成為計(jì)數(shù)的候選對(duì)象,在此區(qū)域外的對(duì)象只是被檢測(cè)和跟蹤。
3 計(jì)數(shù)部分算法詳解
3.1 計(jì)數(shù)線的設(shè)置和計(jì)數(shù)區(qū)域
目標(biāo)跟蹤計(jì)數(shù)之前需要確定計(jì)數(shù)線,其中計(jì)數(shù)線用于判斷行人進(jìn)出的方向以及是否過(guò)線,計(jì)數(shù)線的方位分為水平方向和垂直方向,分別對(duì)應(yīng)上下過(guò)線和左右過(guò)線;計(jì)數(shù)區(qū)域中心線即為計(jì)數(shù)線,基于運(yùn)動(dòng)目標(biāo)在過(guò)線時(shí)間段內(nèi)僅僅在局部區(qū)域內(nèi)運(yùn)動(dòng)的事實(shí),在此區(qū)域外的目標(biāo)只是被檢測(cè)和跟蹤。采用本方法能夠在大大減少計(jì)算量的同時(shí)保持統(tǒng)計(jì)的準(zhǔn)確度。
3.2 目標(biāo)跟蹤
本文采取的目標(biāo)跟蹤算法主要步驟為:算法維持一個(gè)跟蹤目標(biāo)數(shù)組,每個(gè)節(jié)點(diǎn)存儲(chǔ)了被跟蹤目標(biāo)的信息(中心點(diǎn)坐標(biāo),大小,顏色直方圖)。算法對(duì)每一幀檢測(cè)到的所有新目標(biāo)根據(jù)特定算法逐個(gè)做出判斷:若該目標(biāo)已經(jīng)在跟蹤目標(biāo)中,則忽略該目標(biāo);若該目標(biāo)不在跟蹤目標(biāo)列表中,則視為新的跟蹤目標(biāo),并插入跟蹤目標(biāo)列表。對(duì)于跟蹤目標(biāo)列表中的每個(gè)目標(biāo)都采用MeanShift算法進(jìn)行更新,直到滿足某種終止條件則停止跟蹤并清除。
3.3 本章小結(jié)
本文提出了一種基于MeanShift的運(yùn)動(dòng)物體跟蹤與計(jì)數(shù)算法,通過(guò)維持一個(gè)檢測(cè)目標(biāo)的跟蹤數(shù)組,實(shí)時(shí)記錄對(duì)象的中心位置,通過(guò)判斷軌跡與計(jì)數(shù)線和區(qū)域的相對(duì)位置關(guān)系來(lái)判斷計(jì)數(shù)與否。從最終的人數(shù)統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果可以看出,本文所提出的人數(shù)統(tǒng)計(jì)算法能夠取得92%以上的統(tǒng)計(jì)精度而且在統(tǒng)計(jì)速度和效率上相較于傳統(tǒng)方法有了很大提升。
4 結(jié)語(yǔ)
基于教室的這一特定場(chǎng)景,本文提出了一種新穎和有效的人數(shù)統(tǒng)計(jì)方法斷面式人數(shù)統(tǒng)計(jì),首先教室相比于外界背景穩(wěn)定受光線影響小易于使用幀差法,且運(yùn)動(dòng)物體單一(只有人)容易識(shí)別誤差小,本文的主要?jiǎng)?chuàng)新點(diǎn)在于:我們想對(duì)教室活動(dòng)和信息的管理和展示的想法本身,以及針對(duì)性的統(tǒng)計(jì)人數(shù)算法的開發(fā)與優(yōu)化。把教室的信息集合在app上,并有一個(gè)主動(dòng)的信息公布(app上有教室信息),基本信息包括實(shí)時(shí)人數(shù),教室一天的活動(dòng),app將會(huì)能夠查詢到更多信息并提供更有針對(duì)性的信息查詢功能,比如針對(duì)占用教室組織活動(dòng)的查詢,針對(duì)上自習(xí)人數(shù)的查詢。在教室內(nèi)這個(gè)特殊場(chǎng)景下我們采用了斷面式人數(shù)統(tǒng)計(jì),將攝像頭自上而下拍攝能夠有效地避免多個(gè)人時(shí)的相互遮擋和重疊,利用腐蝕和膨脹還有連通器原理能夠?qū)⒍鄠€(gè)人體目標(biāo)劃分為單獨(dú)的人體,能夠準(zhǔn)確的確計(jì)數(shù)。與現(xiàn)有的基于人臉檢測(cè)和人體檢測(cè)的人數(shù)統(tǒng)計(jì)方法相比,本方法大大提高了統(tǒng)計(jì)準(zhǔn)確度而且降低了計(jì)算復(fù)雜度。
參考文獻(xiàn)
[1] 黃凱奇,陳曉棠,康運(yùn)鋒,譚鐵牛.智能視頻監(jiān)控技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2015(06):1093-1118.
[2] 李苗,劉衛(wèi)寧.視頻監(jiān)視技術(shù)在公交車自動(dòng)乘客計(jì)數(shù)中的應(yīng)用[J].西華大學(xué)學(xué)報(bào),2006,25(4):04-08.
[3] 張英.基于視頻的實(shí)時(shí)人數(shù)統(tǒng)計(jì)關(guān)鍵技術(shù)的研究[D].杭州電子科技大學(xué),2014.
[4] Ahuja N,Todorovic S.Extracting texels in 2.1D natural textures[C].Computer Vision,2007.ICCV 2007.EEE l1th International Conference on.IEEE,2007:1-8.
[5] Rabaud V,Belongie S.Counting crowded moving obj ects[C].Computer V ision and Pattern Recognition,2006 EEE Computer Society Conference on.EEE,2006(1):705-711.
[6] Chen L, Tao J, Tan Y P, et al. People Counting Using Iterative Mean-Shift Fitting with Symmetry Measure[C].The 6th International Conference on Information, Communications & Signal Processing,2007:1-4.
[7] Wen W, Ho M, Huang C. People Tracking and Counting for Applications in Video Surveillance System[C]. International Conference on Audio, Language and Image Processing,2008:1677-1682.
[8] Aik L E, Zainuddin Z. A Kernelized Probabilistic Neural Network Approach for Counting Pedestrians[C].IEEE International Symposium on Industrial Electronics,2009:2065-2068.