黃 豐莫輝強(qiáng)王 偉歐陽慧于富洋張 城葉 明
(1.浙江省軌道交通運(yùn)營管理集團(tuán)有限公司 杭州 310020)(2.深圳北斗應(yīng)用技術(shù)研究院有限公司 深圳 518055)
隨著中國城市建設(shè)發(fā)展,地鐵出行逐漸成為大眾的首選出行方式。相較于其他交通方式,地鐵站空間區(qū)域小、客流密度高、疏散難度大,由此帶來的客流風(fēng)險不容忽視。目前,在地鐵站針對客流的管控控主要通過人工方式現(xiàn)場或視頻監(jiān)控線,并借助自動售檢票系統(tǒng)(AFC)的客流數(shù)據(jù)進(jìn)行歷史數(shù)據(jù)回測[1],人工方式需要依賴人的經(jīng)驗(yàn)來片段客流情況,該方式帶有一定的主觀性,而通過AFC監(jiān)控客流無法做到客流實(shí)時統(tǒng)計(jì),并且做不到局部客流監(jiān)控。隨著計(jì)算機(jī)視覺計(jì)算技術(shù)的發(fā)展,通過視頻分析的智能客流管理為車站客流實(shí)時監(jiān)控和風(fēng)險預(yù)警提供了有效手段。其中頭部檢測,目標(biāo)檢測,運(yùn)動跟蹤,客流計(jì)數(shù)和客流密度評估等技術(shù)也成為車站客流管控應(yīng)用的熱點(diǎn)[2]。
客流密度是通過輸入原始的區(qū)域客流圖像得到對應(yīng)區(qū)域客流數(shù)量統(tǒng)計(jì)值。針對視頻圖像的客流密度統(tǒng)計(jì)方法主要為:基于回歸的檢測方法[3],基于像素的統(tǒng)計(jì)方法[4],在可獲得的公開數(shù)據(jù)集上效果較好的方法是基于卷積神經(jīng)網(wǎng)絡(luò),該方法對人群分布不均,遮擋嚴(yán)重的分析準(zhǔn)確度較好;基于深度特征的方法,在利用卷積神經(jīng)網(wǎng)絡(luò)的方法上進(jìn)一步提升了較為復(fù)雜背景下的分析準(zhǔn)確度。本文結(jié)合已有研究方法采用基于深度學(xué)習(xí)的密度計(jì)數(shù)(DL-CNT)方法[5],該方法有別于以往開集問題,實(shí)際場景下人的數(shù)量是一個開集的問題,但是模型往往是在閉集的數(shù)據(jù)集上進(jìn)行訓(xùn)練,故采用分而治之的思想,對整張大圖,本文會去劃分成若干小分塊,使得每個小分塊的數(shù)量處于這個閉集內(nèi),從而實(shí)現(xiàn)對每個小分塊的人數(shù)預(yù)測,并泛化到開放集合中,實(shí)現(xiàn)客流密度的統(tǒng)計(jì)[6]。
視頻幀圖像有RGB三通道,分別代表著紅色、綠色、藍(lán)色三種不同的顏色通道,通道的像素使用數(shù)組進(jìn)行表示,像素值由0~255的數(shù)字來表示[7]。
卷積:使用一個K×K大小的卷積核(kernel),在每一層像素矩陣上按步長(stride)滑動,每次掃到的數(shù)值會和卷積核中對應(yīng)位置的數(shù)進(jìn)行相乘,然后相加求和,得到的值將會生成一個新的矩陣[8]。
卷積核為卷積操作過程中的一個矩陣,用于提取圖像的特征(feature map)。
假如一個卷積核的大小為6×6大小,卷積核矩陣?yán)锩娴拿總€值就是模型的神經(jīng)元參數(shù),統(tǒng)稱為網(wǎng)絡(luò)權(quán)重,模型訓(xùn)練開始會對矩陣進(jìn)行隨機(jī)初始化,訓(xùn)練網(wǎng)絡(luò)過程中,網(wǎng)絡(luò)會通過損失函數(shù)(loss)的收斂反向傳播不斷更新權(quán)重值,通過損失函數(shù)(loss)收斂到最小時候確認(rèn)為最佳權(quán)重值。

其中n表示寬高,k表示卷積核尺寸,p表示邊padding,s表示步長stride。
經(jīng)過卷積操作后提取到的特征信息,由于卷積帶來的感受野,實(shí)際卷積后的一個單元格對應(yīng)著卷積前的多個格子數(shù)值,所以卷積后的相鄰區(qū)域會有相似特征信息,這些相似的特征可以相互替代的,若全部保留這些特征信息會存在信息冗余,增加計(jì)算難度。
故在卷積后增加一個池化層,池化層會不斷地減小數(shù)據(jù)的空間大小,由于池化過程中丟棄了部分權(quán)重值,相當(dāng)于對模型進(jìn)行了一個正則化,有效的控制了模型的過擬合,因?yàn)閬G棄了部分權(quán)重值,所以參數(shù)的數(shù)量和計(jì)算量會有相對應(yīng)的下降[9]。
目標(biāo)計(jì)數(shù)任務(wù)是一個天然的開集問題,其預(yù)測范圍是[0,∞],而實(shí)際中,視頻幀的圖像中目標(biāo)數(shù)量是有限數(shù)量的,實(shí)際觀測到的目標(biāo)數(shù)量是一個有限數(shù)量的封閉區(qū)間,故實(shí)際情況應(yīng)從封閉子集區(qū)間上學(xué)習(xí),并泛化到開放集合中。本文提出了基于CNN網(wǎng)絡(luò)的密度計(jì)數(shù)算法(DL-CNT)模型,訓(xùn)練過程中只圖片上目標(biāo)數(shù)量0~20的部分,當(dāng)遇到一張目標(biāo)數(shù)量密集并超過20個目標(biāo)的圖像時,對圖像進(jìn)行切分成多個部分,直到每個子圖像中包含的目標(biāo)個數(shù)不超過20個,然后再對每一個子圖進(jìn)行計(jì)數(shù)和合并計(jì)算最總結(jié)果[10]。
切分帶來的一個問題是需要設(shè)計(jì)好劃分計(jì)數(shù)的判斷標(biāo)準(zhǔn)。直接的思路是對切分的圖像進(jìn)行上采樣,再進(jìn)行切分,將圖片輸入到同一個網(wǎng)絡(luò)中進(jìn)行預(yù)測,由于對圖像上采樣會導(dǎo)致部分信息丟失,帶來一個難題是圖像變模糊,另一難題是計(jì)算量暴漲,從而資源及模型精度會受較大影響。受感興趣區(qū)域池化(RoI Pooling)啟發(fā)[11],本算法對特征圖(feature map)進(jìn)行解碼和上采樣,然后對特征圖(feature map)進(jìn)行后續(xù)預(yù)測和計(jì)數(shù)。
輸入的64×64的patch,經(jīng)過VGG16網(wǎng)絡(luò)的卷積3(Conv3),卷積4(Conv4),卷積5(Conv5)這3個卷積階段輸出的特征圖大小分別為8×8、4×4、2×2,Conv5是將VGG16網(wǎng)絡(luò)的全連接層(FC)去除后的輸出,即輸入圖像經(jīng)過32倍下采樣輸出的特征圖(feature map)[12]。Conv5的輸出直接通過一個分類器,預(yù)測出C0值。C0表示的是當(dāng)前輸入圖像所有目標(biāo)計(jì)數(shù)所屬類別,因?yàn)镃0的預(yù)測沒有用到S-DC網(wǎng)絡(luò)結(jié)構(gòu),所以C0值為先前其他方法的最終輸出結(jié)果。
F1是第一個通過S-DC的feature map,F(xiàn)1被劃分后,送入共享的計(jì)數(shù)分類器,產(chǎn)生劃分計(jì)數(shù),具體地,F(xiàn)1是F0通過UNet網(wǎng)絡(luò)模塊上采樣生成的特征圖,C1中的4個單元格,每個單元格代表著對應(yīng)輸入圖像相對應(yīng)的32×32區(qū)域的目標(biāo)數(shù)量計(jì)數(shù)。
在backbone的基礎(chǔ)上,采用一個classifier去進(jìn)行分類,將人數(shù)量化為區(qū)間,即

這樣相當(dāng)于將預(yù)測劃分為了M+1類,然后每一類代表了一個人數(shù)區(qū)間,在計(jì)算實(shí)際人數(shù)時,采用區(qū)間的中值代表這個區(qū)間的值,對于則采用CM表示,可以獲得對整個64×64的patch的人數(shù)預(yù)測結(jié)果用C0表示。
當(dāng)網(wǎng)絡(luò)通過classifier預(yù)測了1×1,2×2,4×4的分塊預(yù)測結(jié)果之后,到底是分的細(xì)的結(jié)果重要還是不分的細(xì)的結(jié)果重要,這里就采用division decider預(yù)測的weight map去權(quán)衡,w越大表示細(xì)分的必要性越大,以1×1的C0和2×2的C1的結(jié)合為例,先將C0上采樣到2×2的狀態(tài),同時每個點(diǎn)的值是原來C0平均分為1/4的結(jié)果,最后獲得2×2的融合的預(yù)測結(jié)果DIV1,每個值代表對64×64的一個1/4區(qū)域即32×32的人數(shù)預(yù)測結(jié)果。同理可以獲得4×4的DIV2,每個點(diǎn)的值代表16×16的一個區(qū)域的人數(shù)預(yù)測結(jié)果,由于VGG16只有5個卷積階段的限制,所以這個S-DC的思路最后做5層。
可視化division-decider產(chǎn)生的w的作用,根據(jù)W的作用,W越大代表越應(yīng)該采用細(xì)分的后的預(yù)測結(jié)果,W越小代表不用細(xì)分預(yù)測效果就可以了,圖中可以看到越是密集的區(qū)域,W是越亮,說明W學(xué)到了密集區(qū)域需要劃分再預(yù)測這樣一個語義的信息。W2相比于W1更加關(guān)注一些更加密集的小部分區(qū)域,是給予W1劃分的基礎(chǔ)上的進(jìn)一步劃分[13]。

圖1 不同W權(quán)重的可視化
數(shù)據(jù)集是在地鐵場景收集人群數(shù)據(jù)集,數(shù)據(jù)集的圖像分辨率為1920*1080,共10000張,制作的數(shù)據(jù)集需要對人頭中心位置進(jìn)行標(biāo)注,標(biāo)注為中心位置的坐標(biāo)點(diǎn)(x,y),本文使用Matlab工具對圖像進(jìn)行標(biāo)注,共標(biāo)注了45000個人頭框。數(shù)據(jù)集包含10個區(qū)域,地鐵出入口、站廳、站臺、安檢區(qū)域等,真實(shí)呈現(xiàn)了地鐵站內(nèi)不同攝像頭的角度和高度變化情況,以及密集人群和嚴(yán)重遮擋因素,可以較為真實(shí)反應(yīng)地鐵實(shí)際場景。
DL-CNT算法采用了平均絕對百分比誤差評價指標(biāo),當(dāng)MAPE為0時表示完美模型,MAPE大于100%則表示劣質(zhì)模型,不可用。DL-CNT算法的MAPE值為8%[14]。

圖2 地鐵站臺標(biāo)注示意圖
通過選取地鐵10個攝像頭場景,人工標(biāo)注了2000張測試集,平均每一個攝像頭200張數(shù)據(jù)集,將2000張測試集輸入模型得到預(yù)測數(shù)量,得到mape為8%,密度圖測試效果如下,觀察可知,對于疏密程度不同的地鐵監(jiān)控場景,網(wǎng)絡(luò)都能獲得較高的計(jì)數(shù)精度。同時生成的模型預(yù)測密度圖較好的呈現(xiàn)了站內(nèi)客流密度分布情況[15]。

圖3 地鐵數(shù)據(jù)集網(wǎng)絡(luò)輸出結(jié)果對比圖


圖4 地鐵數(shù)據(jù)集網(wǎng)絡(luò)輸出結(jié)果對比圖
地鐵站內(nèi)區(qū)域相對封閉,乘客日常出行在早晚高峰客流量集中,容易發(fā)生大客流,實(shí)時監(jiān)控站內(nèi)各區(qū)域乘客人數(shù)并預(yù)警可以有效避免人群擁擠,發(fā)生踩踏等風(fēng)險因素。本文基于上述客流密度算法,基于B/S架構(gòu)開發(fā)了一套車站客流計(jì)數(shù)監(jiān)控預(yù)警系統(tǒng)。基于國標(biāo)28181協(xié)議接入車站現(xiàn)有的CCTV系統(tǒng)獲取車站現(xiàn)場攝像頭實(shí)時視頻流,基于客流密度算法將傳入的視頻流進(jìn)行實(shí)時分析,輸出車站現(xiàn)場各個區(qū)域的客流人數(shù),例如站臺候車區(qū)域,換乘通道等,滿足車站日常使用需求。當(dāng)視頻分析結(jié)果超過預(yù)警的閾值時,站務(wù)人員可通過監(jiān)控大屏收到預(yù)警通知,及時對客流密集區(qū)域進(jìn)行疏散處置。

圖5 地鐵站換乘通道客流預(yù)警
本文針對地鐵客流管控場景設(shè)計(jì)了視頻監(jiān)控場景下的客流密度算法,利用基于深度學(xué)習(xí)的密度計(jì)數(shù)(DL-CNT)方法實(shí)現(xiàn)地鐵各個區(qū)域客流人數(shù)計(jì)數(shù)。通過實(shí)驗(yàn)及應(yīng)用結(jié)果發(fā)現(xiàn)該方法具有實(shí)時、高效、性能消耗少的特點(diǎn),可以滿足地鐵站內(nèi)客流監(jiān)控需求,除在地鐵場景應(yīng)用外,也可在其他交通樞紐、公共場所應(yīng)用。