韓曉微,王雨薇,謝英紅,齊曉軒
(沈陽大學 信息工程學院,沈陽 110044)
當前,智能視頻監(jiān)控是計算機視覺的重要應用領(lǐng)域,其不同于原有的視頻監(jiān)控方法,智能視頻監(jiān)控通過計算機視覺方法對各種圖像序列進行處理,從而自動的實現(xiàn)對行人、交通等情況的有效監(jiān)控[1,2],而人流統(tǒng)計則是近年來此領(lǐng)域的關(guān)鍵技術(shù)之一[3].人流統(tǒng)計主要通過目標檢測、跟蹤等多方法結(jié)合實現(xiàn),此技術(shù)在當前已有了一定的研究成果,但由于目標的快速移動與遮擋等情況的存在,使得客流統(tǒng)計仍存在著嚴峻的挑戰(zhàn).
對于目標檢測與跟蹤方法,Felzenszwalb 等人[4]提出了多類目標檢測方法,其先通過DPM 的人工特征提取,再進行Latent SVM 分類,此方法成為在深度卷積神經(jīng)網(wǎng)絡出現(xiàn)之前最有效的識別算法.Girshick 等人[5]首次首次在目標檢測中使用深度學習理論,其通過卷積神經(jīng)網(wǎng)絡實現(xiàn)目標候選框特征的提取,之后利用SVM 實現(xiàn)分類工作.Ren 等人[6]提出了用于實時目標檢測的候選框網(wǎng)絡RPN,其可以從任意尺寸的圖像中得到多個候選區(qū),能夠與卷積神經(jīng)網(wǎng)絡結(jié)合實現(xiàn)端到端的訓練,此網(wǎng)絡與Fast R-CNN[7]結(jié)合并共享卷積層特征之后的網(wǎng)絡稱為Faster R-CNN.Henriques 等人[8]提出了一種核相關(guān)濾波器,其通過加入正則項建立模型,利用循環(huán)矩陣進行稠密采樣,又通過多通道特征的提取,實現(xiàn)了較為魯棒的跟蹤.Mueller 等人[9]提出了上下文感知濾波跟蹤算法,實現(xiàn)了背景干擾下的有效跟蹤.
對于人流統(tǒng)計方法,Raheja 等人[10]采用高斯混合模型對背景像素進行描述,提出了一種多模態(tài)背景的雙向人員計數(shù)算法,實現(xiàn)了在人口密度較低情況下的準確計數(shù).Wateosot 等人[11]通過對象分割對人的頭部進行識別,然后使用粒子濾波方法跟蹤頭部的深度顏色特征,進而實現(xiàn)對于人頭的統(tǒng)計工作.Songchenchen等人[12]提出了一種基于特征融合的人群計數(shù)方法,其通過圖像特征提取和紋理特征分析,利用多源數(shù)據(jù)對人群數(shù)量進行估計,實現(xiàn)了高密度、靜態(tài)圖像中的人數(shù)統(tǒng)計.Chauhan 等人[13]提出了一種基于深度學習框架的數(shù)學計數(shù)回歸方法,該方法首先估計出每個區(qū)域內(nèi)的人數(shù),之后通過各個區(qū)域的人群數(shù)量估計之和求得整個圖像中總?cè)藬?shù).李笑月[14]通過SVM 對樣本進行訓練得到行人分類器,利用Mean-Shift算法進行目標跟蹤,判斷目標是否離開場景來實現(xiàn)計數(shù).這些算法多是使用垂直于地面的攝像頭進行監(jiān)控,通過這種方式能夠有效的應對目標遮擋情況,但當監(jiān)控視頻角度發(fā)生偏轉(zhuǎn)時,算法的準確性會受到影響.
本文以餐飲業(yè)為背景,為實現(xiàn)對進店客流量的統(tǒng)計,設計基于深度學習的餐飲業(yè)客流量統(tǒng)計方法.此方法首先通過多數(shù)據(jù)集對YOLOv3-tiny 方法進行訓練,實現(xiàn)對于目標的準確檢測,然后設計多通道特征融合的核相關(guān)濾波目標跟蹤算法,實現(xiàn)對于快速移動目標的穩(wěn)定跟蹤,最后設計基于雙標準框的目標進門行為判斷方法,實現(xiàn)了對于客流量的有效統(tǒng)計.
YOLOv3[15]在原始兩個版本[16,17]的基礎上進行了多尺度預測與網(wǎng)絡結(jié)構(gòu)等方面的改進,使其檢測的速度更快,準確率更高.YOLO 各個版本的性能對比見表1所示.
表1 YOLO 各版本性能對比
1.1.1 YOLOv3算法原理
YOLOv3 的輸入圖片尺寸為416×416 像素,通道數(shù)為3,其采用了Darknet-53 的網(wǎng)絡結(jié)構(gòu),主要實現(xiàn)YOLOv3 的特征提取工作,其共包含53 個卷積層,卷積層中使用的卷積為3×3 和6×6,具體結(jié)構(gòu)[18]見圖1所示.
Darknet-53 之后通過類似于FPN 網(wǎng)絡[19]實現(xiàn)特征融合,網(wǎng)絡總共劃分3 個尺度,分別為13×13、26×26、52×52,其中每個尺度先構(gòu)成各自尺寸的特征圖,再使用卷積核實現(xiàn)各特征圖間的特征融合.此網(wǎng)絡通過在多個尺度的融合特征圖上進行獨立的檢測工作,最終實現(xiàn)對于小目標檢測性能的有效提升.
圖1 YOLOv3 網(wǎng)絡結(jié)構(gòu)
YOLO 在訓練時的損失函數(shù)計算公式為:
其中,Ecoo為檢測結(jié)果與標定數(shù)據(jù)間的坐標誤差,EIOU表示兩者間的IOU 誤差,Eclass則表示分類誤差.
Ecoo的計算公式為:
其中,λc為權(quán)重誤差,表示在第i 個網(wǎng)格的第j 個預測框負責目標,S 表示特征圖的網(wǎng)格尺寸,B 為每個網(wǎng)格預測框的數(shù)量,wi和hi分別表示預測框的寬和高,和代表真實的寬高,( xi,yi)代表預測框的中心坐標,則代表真實坐標.
EIOU的計算公式為:
其中,λnoobj表 示分類誤差的權(quán)重,表示第i 個網(wǎng)格的第j 個預測框不負責目標,ci表示第i 個網(wǎng)格預測的置信度值,表示其真實置信度值.
Eclass的計算公式為:
YOLOv3-tiny 的網(wǎng)絡結(jié)構(gòu)在YOLOv3 的基礎上進行了修改,減少了卷積層、取消了殘差層,并且減少了輸出尺度的數(shù)量.此模型的整體性能雖不如YOLOv3,但由于YOLOv3-tiny 的模型復雜度得到了減小,使得其運算速度實現(xiàn)了進一步的提升,而本文需要在CPU環(huán)境下實現(xiàn),YOLOv3-tiny 能夠保證整體算法的實時性,因此本文選取了YOLOv3 的輕量級版本YOLOv3-tiny 作為最終的目標檢測模型.
1.1.2 訓練過程
(1)樣本準備
使用LableImg 對圖片序列中的人群進行標注,實驗共涉及45 家門店不同時間段的5000 張圖片,具有普適性,通過這些標注好數(shù)據(jù)集對模型進行訓練.本文算法針對目標為行人,因此在模型訓練時取消了對其它類別事物的識別,只保留了person 標簽.
(2)參數(shù)設置
本文對模型的訓練階段,動量參數(shù)設置為0.9,其影響梯度下降到最優(yōu)值時的速度,訓練使用小批量隨機梯度下降進行優(yōu)化.初始學習率η =0.001,衰減系數(shù)設置為0.005,此系數(shù)的設置防止過擬合現(xiàn)象出現(xiàn).前1000 次訓練的學習率為ηlr=η×(Nbatch/1000)2,通過學習率的設置保持網(wǎng)絡的穩(wěn)定,Nbatch為模型運行的批次數(shù),之后的學習率為10-3.
1.1.3 檢測結(jié)果
本文將訓練后的模型分別對10 家不同門店的不同時間進行測試,圖2 為其中3 個門店的識別效果,其中門店A 有強光影響,門店B 有較多汽車遮擋,門店C 的視野不清晰.通過圖2 可看出,此算法對3 個門店均能實現(xiàn)準確的檢測,有較強的魯棒性.
圖2 各門店識別結(jié)果
1.2.1 核相關(guān)濾波算法
核相關(guān)濾波器利用正則化的最小二乘法,通過求極值的方法實現(xiàn)對濾波器的求解.通過對每張圖片中目標及其周圍一定范圍的圖像塊進行濾波器的訓練,其中目標位置圖像塊x 的尺寸為M×N,在濾波器訓練過程中通過循環(huán)矩陣實現(xiàn)密集采樣,圖像塊xi中i ∈{0,···,M-1}×{0,···,N-1}.濾波器通過回歸最小化進行求解,具體表示為:
其中,〈 ,〉表示點積,w 為濾波器的參數(shù),y 為期望的目標輸出,λ 為正則化參數(shù),能夠防止模型過擬合現(xiàn)象,使模型得到更好的泛化能力.
利用核函數(shù) κ (x,y)=〈φ(x),φ(y)〉,將高維非線性變換到低維函數(shù)實現(xiàn)加速計算,其中? 表示將特征向量映射到核空間的函數(shù).因此將式(5)的解w 表示成輸入的線性組合[20],即為:
其中,α 是w 的對偶空間變量,即為濾波器系數(shù).
根據(jù)文獻[21]可以得到α 的解,具體求得α 為:
通過循環(huán)矩陣性質(zhì)可知k 仍是循環(huán)矩陣,結(jié)合循環(huán)矩陣的性質(zhì)求解到傅里葉域中的α 為:
其中,和 表示他們各自的傅里葉變換.為多通道的高斯性核函數(shù),其計算公式為:
其中,⊙表示各元素的對應相乘,F-1表示傅里葉逆變換,*表示復共軛,σ 為高斯核函數(shù)帶寬參數(shù).
通過上述訓練過程,根據(jù)循環(huán)矩陣k 構(gòu)建訓練樣本和測試樣本的核函數(shù),將分類器的求解轉(zhuǎn)化到傅里葉域中,對目標下一幀位置進行求解,其目標響應f(z)為:
1.2.2 多通道特征融合設計
顏色特征是一種全局特征,其不受目標的旋轉(zhuǎn)、平移等變化的影響.CN 特征[22]基于傳統(tǒng)顏色特征的優(yōu)勢,將原有的RGB 的三通道特征進一步映射到11 維,實現(xiàn)了從3 種顏色到11 種顏色的擴展.CN 顏色屬性對于一張輸入的目標圖像I,將a 位置的像素值I(a)映射到CN 空間,進一步得到共11 維的顏色概率特征圖[a1,a2,···,a11].HOG 特征描述目標的方向梯度,獲取HOG 特征首先需進行灰度處理,然后利用Gamma 校正法對目標進行顏色空間歸一化,以此降低光照變化的影響,從而實現(xiàn)降噪效果;之后對每個像素點進行梯度方向和大小的求解,計算此點的梯度幅值和方向;最后進行細胞單元(cell)、塊(block)直方圖的構(gòu)建,通過對塊的HOG 特征進行整體串聯(lián),實現(xiàn)目標框HOG 特征的提取[23].
本文所采用的HOG 特征的每個cell 為4×4 像素,其獲取到的特征為31 維,CN 為11 維特征,由于單一的目標特征提取會導致跟蹤不夠準確的情況,因此本文提出了一種可以將這兩種特征進行融合的方法.由于核相關(guān)函數(shù)只需進行向量間的點乘運算,因此對于兩種特征的融合工作就是將這些特征進行維度的串聯(lián),所得的最終目標的特征維數(shù)為42 維,其融合方式具體表示為:
其中,PC、PH分別表示CN 和HOG 特征.
本文實現(xiàn)的是對進入門店的客流量統(tǒng)計,現(xiàn)有的多數(shù)算法是通過垂直于地面的攝像頭進行監(jiān)控,利用分割線對圖像進行區(qū)域劃分,之后通過對目標經(jīng)過各分割線的過程實現(xiàn)對垂直視野中的人數(shù)統(tǒng)計.但本文使用的視頻監(jiān)控方式為水平方向或與地面夾角不超過50 度,現(xiàn)有的策略并不適用于本文所研究的對進入門店的客流統(tǒng)計背景.因此本文對目標進門行為判斷方法進行了設計,從而實現(xiàn)對客流量的統(tǒng)計.
首先初始化雙標準框與目標感興趣區(qū)域,雙標準框是根據(jù)不同餐飲門店的方位與角度進行手動標定,其為之后判定目標是否進門提供依據(jù),標定示意圖見圖3 所示.
圖3 雙標準框標定示意圖
在實際應用場景中,不同攝像頭距目標門店的距離各不相同,因此需要對攝像頭所拍攝的視頻序列進行預處理,確定目標感興趣區(qū)域.當目標進入感興趣區(qū)域時開始對其進行整體的識別跟蹤工作.在雙標準框確定之后,本文將參數(shù)分別設為1.2、1.5、2 作為雙標準框外框尺寸同比例擴大的倍數(shù),并且在這些參數(shù)下分別對算法實現(xiàn)整體的測試.經(jīng)過實驗得到當參數(shù)為1.2 時,目標從進入感興趣區(qū)域到最終進入門店的過程過短,算法在對目標進行跟蹤的過程中會產(chǎn)生更多跟蹤漂移的情況.當參數(shù)為2 時,有更多的背景被圈定進去,使得算法整體的運行效率降低.因此通過實驗,本文將1.5 作為最后感興趣區(qū)域的參數(shù),在此參數(shù)下,能夠有效的減少其它背景區(qū)域的干擾,提升算法運算效率.感興趣區(qū)域示意圖見圖4 所示.
圖4 感興趣區(qū)域示意圖
本文對客流量的統(tǒng)計是在雙標準框基礎上,通過其與同一目標的初始位置與終止位置的相對關(guān)系進行確定.整體判斷流程為:當目標初始位置在門外,通過跟蹤過程目標終止位置在門內(nèi),則定義目標進入了門店,實現(xiàn)人數(shù)累計,若不滿足此條件,目標則未進門.
通過目標框與內(nèi)標準框的重疊比例實現(xiàn)對目標與門店的位置關(guān)系判斷.標準框的設置能夠獲取其坐標信息,目標識別與跟蹤工作實現(xiàn)對于目標坐標信息的獲取.其中得到目標框面積為Sobj,內(nèi)標準框面積為Sid,重疊比例即為:
其中,∩為取交集操作,min(,)為求取兩個目標框的較小值,標準框與目標框的尺寸均存在不確定性,因此保留較小值能有效防止比例漂移的情況.
當初始目標出現(xiàn)時判斷目標與內(nèi)標準框的重疊比例,本文算法將初始重疊閾值設為0.4,R >0.4時表示目標在門內(nèi),R <0.4時表示目標在門外.當目標跟蹤結(jié)束時,終止重疊閾值設為0.8,當R >0.8則表示目標進入門內(nèi),反之目標則未在門內(nèi).
本文算法通過Python 實現(xiàn),編輯平臺為Atom,所使用的計算機為主頻3.40 GHz 的CPU 以及8 GB 的內(nèi)存.
為了驗證算法的有效性,本文選取了10 個門店30 天不同時間段的視頻序列進行測試,將本文算法與KCF算法的結(jié)果進行對比試驗,選取了其中兩個門店的結(jié)果進行分析.圖5 的門店A 存在著光照強烈變化的情況,初始階段兩個算法均能實現(xiàn)穩(wěn)定的跟蹤,而當目標彎腰時KCF算法產(chǎn)生了漂移現(xiàn)象,而本文算法能夠保持穩(wěn)定的跟蹤.圖6 的門店B 存在著車輛遮擋情況,當目標側(cè)身時KCF算法跟蹤產(chǎn)生誤差現(xiàn)象,而本文算法能夠一直準確的進行跟蹤.這是由于CN 和HOG特征的融合豐富了目標表觀特征描述,能夠應對目標表觀變化情況,并且相關(guān)濾波器算法通過循環(huán)矩陣與核化等方法的使用,大大降低了算法運算的復雜度,使得目標在快速移動時能保持穩(wěn)定的跟蹤效果.
圖5 門店A 跟蹤結(jié)果
圖6 門店B 跟蹤結(jié)果
本文所使用的實驗數(shù)據(jù)為多個餐飲業(yè)門店的實際監(jiān)控視頻錄像,視頻格式為AVI,文本共選取了10 家門店30 天的錄像進行結(jié)果測試,其中涉及白天與晚上.圖7 所示為門店15 一天的客流量統(tǒng)計情況,其中將視頻序列分成8 段,前4 段為白天光照條件較好時的情況,后4 段為晚上光線較差時的情況,通過該圖可知,在多個視頻序列下本文算法的統(tǒng)計結(jié)果與實際客流量基本一致,只有在晚上時有少量的出入,這是由于晚上的光線較差,目標背景間的差異較小導致的,但本算法在多目標進入門店發(fā)生遮擋等情況下有較好的表現(xiàn),此門店整體統(tǒng)計的準確率為94.8%.圖8 為10 家門店各自一天累計進店客流的統(tǒng)計結(jié)果,其中菱形標注本為算法的統(tǒng)計結(jié)果,正方形標注為實際人工客流的統(tǒng)計結(jié)果,本文方法整體客流統(tǒng)計平均準確率可達93.5%.
圖7 門店15 客流統(tǒng)計圖
圖8 各門店人數(shù)累計分布圖
為了驗證本為算法的準確性與魯棒性,本文通過10 個店鋪各自的準確率及誤算情況,進行對算法的評估.通過客流量檢測值與真實值之間的誤差情況進行準確率的計算,誤算人數(shù)為算法整個過程中出現(xiàn)的錯誤情況,其中漏檢人數(shù)包含在誤算人數(shù)中.
從表2 可看出本文算法的準確率幾乎均在90%以上,能得到平均準確率為93.5%.表中出現(xiàn)漏檢的情況為夜間光線差和特殊天氣情況導致的背景與目標間的差異較小,但在人群較多進入店鋪時,本文算法能夠得到準確的統(tǒng)計結(jié)果,這是由于本文目標進門行為判斷算法的設計,使得目標在發(fā)生遮擋情況時能夠進行穩(wěn)定的統(tǒng)計.通過表3 中本文算法與文獻[14]算法的對比,可以得到本文算法有更高的準確率,這是由于本文使用了基于深度學習的目標檢測算法,使得對目標的初始檢測更加準確,設計了目標跟蹤算法,使得當目標發(fā)生快速運動時跟蹤器能有更好的穩(wěn)定性.
表2 客流量統(tǒng)計結(jié)果準確率
表3 兩種算法客流量統(tǒng)計結(jié)果準確率對比
本文算法實現(xiàn)的是對于進門客流量的統(tǒng)計,算法整體流程首先是對獲取的監(jiān)控視頻,利用卷積神經(jīng)網(wǎng)絡進行特征提取,訓練YOLOv3-tiny 模型實現(xiàn)目標的識別,之后通過多特征融合的核相關(guān)濾波器設計,實現(xiàn)對于快速移動目標的穩(wěn)定跟蹤,最后通過進門行為判斷方法的設計實現(xiàn)對于客流量的準確統(tǒng)計.通過實驗驗證,本文算法的平均準確率能達到93.5%.在目標快速移動和遮擋情況下能夠?qū)崿F(xiàn)準確的統(tǒng)計,但在光線昏暗的情況下算法的準確率需要進一步的提高,這是由于在光線較差的情況下目標與背景間的差異較小,使得算法對目標特征的獲取產(chǎn)生了誤差,在之后的研究中將進一步改進目標跟蹤方法,改變獲取特征的方式,將多特征融合進行特征提取的方式轉(zhuǎn)換成深度卷積特征,實現(xiàn)對于目標特征更準確的描述,從而進一步提升算法的穩(wěn)定性.