劉 彬 魏海峰 張 懿 李垣江
(江蘇科技大學(xué)電子信息學(xué)院 鎮(zhèn)江 212003)
公交車客流量統(tǒng)計(jì)有著重要的社會價值和現(xiàn)實(shí)意義,不僅為公交線路規(guī)劃提供精確的客流數(shù)據(jù)支持,而且對交通配置和公共安全也都有著重要的作用。
當(dāng)前基于視覺的統(tǒng)計(jì)方式一般分為單目和雙目(立體),其中立體視覺統(tǒng)計(jì)方式通過采集場景的深度信息,可有效克服單目視覺對光線、陰影變化較敏感的問題。本文在嵌入式硬件平臺上用立體視覺來進(jìn)行客流量統(tǒng)計(jì)。首先對雙目攝像頭進(jìn)行同步標(biāo)定[1],然后用優(yōu)化的MC-CNN[2]網(wǎng)絡(luò)進(jìn)行立體匹配[3]得到視差圖,在此基礎(chǔ)上恢復(fù)公交車內(nèi)真實(shí)的深度圖像[4],通過獲取乘客人頭輪廓進(jìn)行跟蹤和計(jì)數(shù),從而解決乘客遮擋、擁擠以及光線變化帶來的客流統(tǒng)計(jì)精度較低的問題。系統(tǒng)實(shí)現(xiàn)框架如圖1所示。
圖1 公交車客流量統(tǒng)計(jì)系統(tǒng)框圖
雙目攝像頭的標(biāo)定與同步是獲得正確客流計(jì)數(shù)的首要步驟。對兩個同一型號的雙目攝像頭進(jìn)行標(biāo)定,再將標(biāo)定好的兩個雙目攝像頭裝設(shè)于公交車前門的正上方,并采用DSP對雙目攝像頭進(jìn)行同步控制[5]。
如圖2 所示,空間任一點(diǎn)的世界坐標(biāo)系(X,Y,Z)和像素坐標(biāo)系(u,v)對應(yīng)關(guān)系為[17]
圖2 雙目標(biāo)定示意圖
M1與M2是雙目攝像頭的內(nèi)外參數(shù)矩陣,由雙目攝像頭完整的內(nèi)部參數(shù)構(gòu)成內(nèi)參矩陣M1;由雙目攝像頭的旋轉(zhuǎn)矩陣與平移向量構(gòu)成外參矩陣M2,由此判斷雙目攝像頭在立體空間中的坐標(biāo)位置以及方向。為使標(biāo)定結(jié)果更加精確,本文采集30 副棋盤格圖像對雙目攝像頭進(jìn)行標(biāo)定,得到左攝 像 機(jī) 內(nèi) 參 數(shù)[Cx:665.15838,Cy:359.54200,fx:1148.45760,fy:1148.78469],右攝像機(jī)內(nèi)參數(shù)[Cx:590.80168,Cy:403.00080,fx:1157.66228,fy:1156.92762],左 相 機(jī)的 畸 變 系 數(shù)D1=[0.02286-0.07553-0.00186 0.00218 0.00000],右相機(jī)的畸變 系 數(shù)Dr=[0.04343-0.11692 0.00215 -0.00167 0.00000],根據(jù)約束條件,可求出旋轉(zhuǎn)矩陣R 和平移向量T=[-60.23329-0.62472 1.65832]。
通過DSP 判斷同一幀中的左右兩幅圖像的場同步信號下降沿間有無時間差異來判斷左右雙目攝像頭是否同步。通過DSP判斷出哪副圖像超前,并記錄超前的時鐘個數(shù),并抑制超前攝像機(jī)相應(yīng)的時鐘數(shù)量,實(shí)現(xiàn)攝像機(jī)的同步。
為了在DSP+FPGA 硬件平臺上高效快速的完成雙目視覺的立體匹配以及視差計(jì)算,本文在MC-CNN基礎(chǔ)上,通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)獲得雙目視差。
MC-CNN 網(wǎng)絡(luò)架構(gòu)分為精準(zhǔn)架構(gòu)MC-CNNacrt 和快速架構(gòu)MC-CNN-fst 兩種,其中前者的耗時大約是后者的百倍[14]。
如圖3 所示,通過兩個分支網(wǎng)絡(luò)提取左右圖像的特征向量并做點(diǎn)積運(yùn)算,最后進(jìn)行相似性打分[8]。MC-CNN-fst先將左右視圖的圖像塊分別輸入兩個分支的特征提取部分,分別得到一個輸出特征向量Gw(x1)、Gw(x2),然后建立兩個特征向量距離度量,作為輸入圖像塊的相似度計(jì)算函數(shù)。網(wǎng)絡(luò)的兩個分支所用的權(quán)值[9]、網(wǎng)絡(luò)結(jié)構(gòu)都是一樣的,網(wǎng)絡(luò)的前半部分提取圖片的特征向量,網(wǎng)絡(luò)的最后一層用來定義計(jì)算特征向量之間相似度的損失函數(shù)。
圖3 MC-CNN-fst快速網(wǎng)絡(luò)架構(gòu)圖
如圖4 所示,本文基于MC-CNN-fst 提出優(yōu)化的雙目立體匹配的結(jié)構(gòu)。其改進(jìn)之處在于:
圖4 雙目立體匹配網(wǎng)絡(luò)架構(gòu)
1)在卷積層后面加入最大池化層,能夠在盡可能保留圖片空間信息的前提下,降低圖片的尺寸,增大卷積核感受野,另外還能減少網(wǎng)絡(luò)參數(shù)和計(jì)算量,加快計(jì)算過程。
2)把ReLU 激活函數(shù)替換為ELU(exponential liner units)激活函數(shù)[10],不僅解決了ReLU 激活函數(shù)沒有負(fù)值部分導(dǎo)致神經(jīng)網(wǎng)絡(luò)的下一層產(chǎn)生偏差的問題,另外還能保證失活狀態(tài)時的噪聲魯棒性。
3)將特征提取網(wǎng)絡(luò)中的卷積層由4層增加到6層,計(jì)算精度更高,對圖像特征的提取能力變強(qiáng)。
在選擇圖像像素點(diǎn)局部支持窗作為匹配基元的時候,不僅要能和其他像素點(diǎn)的基元區(qū)分,而且要能很好的表示當(dāng)前的像素點(diǎn),故本文選擇15×15的窗口來進(jìn)行基元選配,各層參數(shù)如表1所示。
表1 各層網(wǎng)絡(luò)參數(shù)
1)通過將輸入的圖像作為輸入數(shù)據(jù),通過MC-CNN網(wǎng)絡(luò)模型獲取輸出的特征向量。
2)對兩個輸入特征向量進(jìn)行正則規(guī)范化處理和內(nèi)積運(yùn)算,構(gòu)建稀疏損失體,計(jì)算匹配損失。
3)重采樣損失體到原始圖片尺寸,使用Softmax 函數(shù)將匹配損失值轉(zhuǎn)化為雙目視差的概率分布,最后使用視差回歸函數(shù)來輸出亞像素的預(yù)測視差。
經(jīng)過立體匹配得到的視差圖,經(jīng)過進(jìn)一步處理可得到深度圖。如圖5,圖中b 為雙目攝像頭的基線距離,f 為雙目攝像頭的焦距,P1(u1,v1)和Pr(ur,vr)分別為雙目相機(jī)左右成像平面的坐標(biāo)點(diǎn),得到深度Z與視差d的關(guān)系Z=bf/d,其中d=(u1-u2)。
圖5 相機(jī)成像模型
在本次試驗(yàn)中使用Meanshift 算法[11]對深度圖像進(jìn)行預(yù)處理即只需要特征空間的樣本點(diǎn),不需要額外的先驗(yàn)知識,就可快速的實(shí)現(xiàn)視差圖像。在Meanshift 向量中對于d 維空間中的n 個樣本點(diǎn)(X1-Xn)有以下定義:
上式中,xi為概率密度函數(shù)f(x)中采樣得到樣本點(diǎn),sh代表由全部滿足上式所示的y點(diǎn)組合成的高維球區(qū)域,其半徑為h,(Xi-X)為樣本點(diǎn)xi的偏移量,k代表在區(qū)域sh中有k 個樣本點(diǎn)落入,Mh(x)是sh區(qū)域中的平均偏移量[12]。通過上式推算目標(biāo)區(qū)域的概率密度分布函數(shù)。同時在接下來的目標(biāo)區(qū)域中,做圓心為點(diǎn)x、半徑為h 的圓。然后把圓心x 作為起始點(diǎn),落在這個圓內(nèi)的所有點(diǎn)和圓心都會對應(yīng)一個向量,把所有的產(chǎn)生的向量相加最后得到一個向量,即為Meanshift 向量。再以Meanshift 向量的終點(diǎn)作為圓心,繼續(xù)上述過程直到收斂到局部概率密度分布極大點(diǎn)。由于乘客頭頂是整個拍攝范圍的局部最高點(diǎn),使用區(qū)域生長法來對乘客的頭部進(jìn)行識別及分割,將乘客頭部的局部最高點(diǎn)作為生長種子,乘客頭間距的灰度梯度[13]作為閾值,從而判斷生長種子是否進(jìn)行生長或者終止,進(jìn)而識別乘客。
本文在KITTI2015 圖像數(shù)據(jù)集上評估本文提出的立體匹配網(wǎng)絡(luò)。KITTI2015 數(shù)據(jù)集包含有400組不同的遮擋、光照等不同場景的圖像數(shù)據(jù),并且可以對改進(jìn)的立體匹配算法進(jìn)行測驗(yàn)。
為了探究不同數(shù)量的特征提取模塊以及池化層的有無對于雙目圖像立體匹配精度的影響,使用層數(shù)不等的卷積層和池化層構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行立體匹配誤差實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果結(jié)果如表2 所示,有六層卷積層的卷積神經(jīng)網(wǎng)絡(luò)立體匹配效果最好,匹配誤差最小,另外在卷積層數(shù)相同時,有池化層的情況下立體匹配效果更好。
表2 不同層數(shù)卷積層的匹配誤(N=2、3、4)
本文給出的立體匹配方法不僅能有效減少多步驟產(chǎn)生的誤差累積,而且避免了不同模塊間的相互影響,把雙目圖像的立體匹配完全轉(zhuǎn)變?yōu)槎ㄎ换貧w問題,能夠有效實(shí)現(xiàn)雙目目標(biāo)的特征約束表達(dá),具有較高的匹配精度。
本文根據(jù)公交車客流量統(tǒng)計(jì)的要求,選用基于質(zhì)心空間歐氏距離最短法來對乘客運(yùn)動目標(biāo)進(jìn)行跟蹤[14]。將識別出來的乘客形心坐標(biāo)作為目標(biāo)質(zhì)心坐標(biāo),然后使用空間歐式距離最短法[15]對目標(biāo)質(zhì)心匹配關(guān)聯(lián)和繪制軌跡,最后根據(jù)乘客質(zhì)心的運(yùn)動軌跡來判別乘客下車或上車,并對判別結(jié)果進(jìn)行統(tǒng)計(jì),算法具步驟如下:
1)參數(shù)初始化:假設(shè)當(dāng)前視頻幀數(shù)為L 幀,其圖像幀中有ML個乘客,前一幀中含有的乘客數(shù)目為ML-1,則Zi(L)=(Xi,Yi)=(Zix,Ziy)代表L 幀中的第i個乘客的質(zhì)心坐標(biāo)向量,i的取值范圍為(1,ML)。
2)關(guān)聯(lián)匹配:視頻幀中第L 幀第i 個乘客目標(biāo)與前一幀中ML-1個乘客運(yùn)動目標(biāo)質(zhì)心最小歐氏距離為
因此如果第L-1幀中的第e個乘客運(yùn)動目標(biāo)的質(zhì)心坐標(biāo)向量和L 幀中的第i個乘客運(yùn)動目標(biāo)相匹配,就完成了視頻幀中L 幀的第i 個乘客的匹配跟蹤,用同樣的方法完成視頻L 幀中其他乘客運(yùn)動目標(biāo)的匹配跟蹤。
3)客流統(tǒng)計(jì):假設(shè)總匹配的乘客運(yùn)動目標(biāo)為m,當(dāng)m=ML-1=ML時表明公交車中沒有乘客上下車,當(dāng)m<ML-1時表明在第L 幀有目標(biāo)乘客消失,記錄乘客消失的坐標(biāo)點(diǎn)和數(shù)量;同理,當(dāng)m<ML時,表明公交車中有新的乘客目標(biāo)出現(xiàn),找出并記錄新出現(xiàn)乘客目標(biāo)的坐標(biāo)位置和數(shù)量,對增減乘客目標(biāo)起始點(diǎn)的距離和位置坐標(biāo)設(shè)置閾值判斷乘客上下車并進(jìn)行統(tǒng)計(jì)。
圖6 為對乘客運(yùn)動目標(biāo)的檢測過程,其中圖6(a)、(b)為公交車前門獲取的雙目視圖。為增加拍攝環(huán)境的復(fù)雜性,有多位乘客戴有黑色頭巾;圖6(c)是經(jīng)過改進(jìn)的神經(jīng)網(wǎng)絡(luò)立體匹配得到的視差圖;圖6(d)是經(jīng)過Meanshift 預(yù)處理后的深度圖像(已過濾公交車圖像中的冗余嘈雜信息);圖6(e)是經(jīng)過區(qū)域生長法篩選后的人頭輪廓;圖6(f)是公交車中目標(biāo)乘客人頭檢測結(jié)果,用白圈在目標(biāo)乘客質(zhì)心位置標(biāo)記。
圖6 實(shí)驗(yàn)結(jié)果
系統(tǒng)運(yùn)行界面如圖7 所示。為驗(yàn)證本文客流統(tǒng)計(jì)方法有效性,在公交車的前后門各配置一套基于雙面視覺的客流統(tǒng)計(jì)系統(tǒng)。在各個系統(tǒng)中,雙目攝像頭垂直向下固定安裝在公交車前后門正上方以獲取乘客頭頂部區(qū)域特征,同時使用窗簾和燈光調(diào)節(jié)公交車內(nèi)的光線,并分別進(jìn)行不同客流密度下的試驗(yàn)。在設(shè)計(jì)實(shí)驗(yàn)時,人員穿著不同顏色的衣服,從公交車前后門上下車,當(dāng)前后門統(tǒng)計(jì)的數(shù)據(jù)與實(shí)驗(yàn)預(yù)設(shè)人數(shù)一致時,認(rèn)為人數(shù)統(tǒng)計(jì)正確。重復(fù)上述實(shí)驗(yàn)50 次,結(jié)果如表3 所示,在光線較好(100lux~550lux)時客流統(tǒng)計(jì)的平均準(zhǔn)確率達(dá)到了94.6%,而在光線較暗(5lux~60lux)的情況下,正確率達(dá)到了92.1%。結(jié)果證明,本文設(shè)計(jì)的方法有效降低光線、遮擋對客流統(tǒng)計(jì)精度的影響,基本滿足白天與夜晚?xiàng)l件下公交客流統(tǒng)計(jì)的要求。
表3 不同密度和光照情況下客流量統(tǒng)計(jì)精確度的比較
圖7 系統(tǒng)運(yùn)行界面
實(shí)現(xiàn)精準(zhǔn)的客流量統(tǒng)計(jì)對于線路的規(guī)劃以及車輛的調(diào)度都有重要意義,本文對公交車在不同光線和客流擁擠情況進(jìn)行分析,并對因干擾和遮擋導(dǎo)致客流量統(tǒng)計(jì)不準(zhǔn)確的問題進(jìn)行研究。首先根據(jù)雙目立體視覺原理來在對雙目攝像機(jī)進(jìn)行標(biāo)定和校正,使用優(yōu)化的MC-CNN 網(wǎng)絡(luò)架構(gòu)進(jìn)行立體匹配來獲得視差圖,同時在KITTI2015 數(shù)據(jù)集上測試改進(jìn)算法的有效性,證明本文立體匹配算法的有效性。在此基礎(chǔ)上采用Meanshift 與區(qū)域生長算法對乘客的頭部特征進(jìn)行識別和計(jì)數(shù)。實(shí)驗(yàn)結(jié)果表明,采用立體視覺方法進(jìn)行公交車客流量統(tǒng)計(jì)能夠有效克服擁擠和遮擋以及光線變化等外部環(huán)境的影響,具有很強(qiáng)的實(shí)用性和推廣前景。本系統(tǒng)僅在公交車中進(jìn)行實(shí)際測試,未來,計(jì)劃在公交車站以及地鐵等客流量大的環(huán)境中對系統(tǒng)進(jìn)一步測試驗(yàn)證及改進(jìn)。