朱澤堯 胡慶武 王 玥 艾明耀
(武漢大學遙感信息工程學院 武漢 430000)
智能交通系統(ITS)是一個可以準時、準確、高效運行的交通運輸管理體系[1-2],其中交通流實時監控是ITS的關鍵.利用固定在道路上的地磁線圈、攝像機等傳感器計算通過傳感器監視范圍的車輛信息可進行道路斷面車輛檢測[3-4].但傳感器使用和維護成本高昂,受制于傳感器的斷面單點檢測[5]的空間覆蓋有限,很難滿足城市級別的交通流監控.近年來,越來越多的商業對地觀測視頻衛星在軌運行,包括美國SkySat-1,2、中國吉林1號視頻衛星等.與傳統地球觀測衛星和地面車輛監控視頻相比,視頻衛星能夠對指定區域的大范圍“凝視”觀測,可實現對觀測場景的大范圍動態監測,從而可以以高空間、高時間分辨率實時檢測交通狀況[6],在廣域監測領域具有巨大的潛力和優勢,已經成為一種新型智能交通管理手段.
基于交通監控視頻檢測車輛運動法包括背景差分法、幀間差法和光流法.王永超[7]利用自適應閾值方法,結合顏色和邊緣信息針對場景光照變化和靜止物體改變運動狀態等情形,對背景差分法進行改進.何烈云[8]在幀差法進行車輛檢測的基礎上,運用視頻處理技術.天基虛擬參照物,提高車速測算精度.曾黃麟[9]將幀差法和光流法融合,用幀差法檢測運動區域,再利用差分影像的光流場進行運動車輛跟蹤.劉國英[10]提出了一種二次幀差背景建模方法,利用連續幀差檢測靜態像素點,利用這些像素點構建背景,最后基于動態特征對車輛進行追蹤.韓建峰[11]將灌流法與分水嶺算法相結合,對前景產生的車輛粘連情況采用改進分水嶺算法完成分割.Davis[12]根據獲取大量車輛和周圍環境的顏色、坡度和結構特性建立一個特征集,通過部分最小二乘分析對高維特征空間進行降維,并根據多級多分辨率策略加速建立特征集.Baligar[13]完全基于車輛的顏色特征進行檢測.Beyerer[14]借助Faster R-CNN深度學習框架挖掘車輛的非語義特征.以上車輛運動檢測方法通常使用基于特征方法對視頻上中等尺寸車輛進行識別,但受到空間分辨率限制,衛星視頻影像上的車輛一般只占幾個到幾十個像元,并且車輛和背景道路之間的對比度較低,使得基于地面高清視頻車輛檢測算法無法適用于視頻衛星影像車輛檢測.
視覺背景提取算法(visual background extraction,ViBe)是由Droogenbroeck[15]提出的一種像素級視頻背景建模或前景檢測算法,具有較好的魯棒性和較高的檢測效率.它在不同環境下表現出良好的適應性和實時性.本文提出了一種基于吉林一號視頻衛星影像和ViBe算法的實時車輛跟蹤方法,通過對吉林一號視頻星的原始視頻數據進行預處理,得到適用于車輛檢測的影像幀序列,使用ViBe算法進行運動車輛檢測,在道路約束下提取車輛位置、輪廓等信息.在此基礎上利用車輛的形狀和運動混合特征進行車輛跟蹤,獲取車輛的運動軌跡并計算車速交通參數,實現對城市廣域范圍交通流同步凝視監測.
文中提出的視頻衛星車輛跟蹤方法針對視頻衛星的凝視特征,通過ViBe從視頻衛星影像幀中可靠提取車輛,以連續視頻幀影像進行車輛跟蹤和車輛速度計算,進而實現對車輛跟蹤監控,其算法流程見圖1.
圖1 方法流程
文中提出的視頻衛星車輛跟蹤算法主要包括四個步驟:①衛星視頻數據的預處理;②基于ViBe算法的衛星視頻車輛檢測;③視頻影像上檢測車輛跟蹤;④車輛速度計算.通過預處理,分離道路信息,利用ViBe算法對運動車輛進行檢測.在得到檢測結果后,提出了一種序貫車輛跟蹤算法,實現對車速計算,通過實際視頻衛星數據驗證了本文方法的可行性和有效性.
針對視頻衛星數據特質,對原始視頻衛星數據預處理步驟如下.
步驟1視頻衛星抽幀 抽幀需要綜合考慮視頻衛星影像分辨率和車輛平均速度,吉林一號視頻衛星影像分辨率為0.8 m,對車輛在衛星圖像上估算運動速度為3~12像素/s,本文以0.5 s時間間隔提取幀影像.
步驟2車輛檢測ROI區域設定 為了降低錯檢率并提高處理效率,以道路矢量圖層設定一定緩沖區建立視頻衛星車輛檢測ROI區域,見圖2.
圖2 車輛檢測ROI區域
步驟3隨機噪聲濾波 衛星視頻采集和傳輸過程中,不可避免產生噪聲.受限于成像分辨率,車輛在影像上表現為10像素左右,與噪聲大小相近.不加處理時,隨機噪聲容易造成虛假運動信息.本文采用高斯濾波去除隨機噪聲,卷積模板為3×3.
從視頻衛星影像上運動車輛檢測的ViBe算法步驟如下.
步驟1背景模型的建立 ViBe算法一個重要特點是采用單證影像進行模型初始化,對每一個像素x建立一個樣本集M′(x)={V1,…,Vn}作為背景模型,背景模型的初始化過程就是對像素的樣本集進行填充,為
M′(x)={V′(y|y∈N(x))}
(1)
式(1)為時刻t像素x的背景模型;N(x)為x的鄰域.
步驟2前后景劃分 記SR(x)為像素x在色彩空間中以V(x)為圓心的一個半徑為R的圓;計算像素x背景模型中樣本像素和V(x)的歐氏距離,統計背景樣本落在圓內的個數#(SR(V(x)∩{V1,…,VN})),當個數大于閾值#min時,認為當前像素屬于背景,否則歸為前景,為
If #(SR(V(x)∩{V1,…,VN}))≥#min
x=background
elsex=foreground
(2)
步驟3前后景劃分形態學車輛檢測 運動檢測實質是確定影像上的運動區域,得到前景和后景的二分圖像,通過形態學算子進行后處理,分離各個運動車輛并得到相應位置和形狀信息.本文用最小外接矩形對分離后的運動車輛進行框定,以最小外接矩形的中心坐標作為車輛的位置坐標,最小外接矩形的長寬比和周長作為車輛的形狀信息.車輛Vi的特征為(xVi,yvi,rationVi,areavi),分別指車輛Vi最小外接矩形中心坐標、長寬比和車輛所占面積.
步驟4二次幀間差快速消除鬼影 背景模型初始化時,背景包含運動目標,可能會導致前景圖中出現鬼影.ViBe背景更新策略去除鬼影較慢,幀間差法可以快速確定運動區域.基于此特征,文中對相鄰幀做幀差法得到前景圖,與ViBe算法得到前景圖進行與運算,快速消除鬼影區域.m1為當前待處理影像,m0,m2為m1的前一幀和后一幀影像.對m0,m1和m1,m2執行幀間差得到前景圖n0,n1,n2為通過ViBe算法得到的前景圖.將幀差法和ViBe算法得到的檢測結果進行與操作,已實現快速去除鬼影區域.考慮到存在車輛重疊情況且在短時間車輛被視作勻速直線運動,m0,m1和m1,m2的時間間隔不同.
n3=(n0∪n1)∩n2
(3)
車輛檢測結果中存在錯誤檢測,通過車輛跟蹤獲取車輛運動軌跡,進而利用車輛運動信息進行二次濾波,提高檢測的正確率.車輛跟蹤的實質是對于每一幀檢測得到的車輛和下一幀的檢測結果進行匹配,根據匹配結果得到該車輛的運動軌跡.本文提出一種形狀和運動混合特征的車輛跟蹤方法(見圖3),其基于如下設定:對于真實的運動車輛,它的運動軌跡應該是連續的,并且在一個短時間域內可以視作是一條直線.
圖3 單個車輛跟蹤算法
文中提出一種形狀和運動混合特征的車輛跟蹤方法主要包括基于車輛形狀的初匹配和基于車輛運動特征的軌跡跟蹤兩個部分.在對同一目標車輛跟蹤完成后,重復進行下一目標的跟蹤,循環完成所有車輛的跟蹤.
1)基于車輛形狀的初匹配 每一真實車輛在影像序列上對應一條運動軌跡,不同幀間的位移對應軌跡上的一段,因此將每一幀影像上的車輛分為兩種狀態,為
n=1,2,…,N
(4)
對于state=-1的車輛(及未確定所在軌跡車輛),通過形狀特征在下一幀影像上尋找匹配的車輛,根據對應車輛在兩幀影像上位置,建立初始運動軌跡.按照式(5)進行車輛匹配.
match(V1,V2)=
(5)
式中:area(V1)為車輛V1所占面積;ratio(V1)為車輛V1最小外接矩形框的長寬比;相鄰兩幀之間,面積和長寬比分別小于閾值T1,T2的車輛將被視作同一車輛.
(6)
車輛跟蹤環節在相鄰幀影像間進行搜索匹配車輛時,存在建筑物陰影、高架橋、隧道遮擋和車輛漏檢情況,會導致車輛跟丟.因此,本文建立了一個車輛預測函數,當前車輛在下一幀影像中沒有找到符合條件的匹配目標,則當前車輛在后nFrame幀影像上位置的預測值為
(7)
式中:(xi,yi)為車輛在第幀上的位置坐標;(xPrei+nFrame,yPrei+nFrame)為車輛預測得到的在i+nFrame幀上的位置坐標;dis和ori為車輛最新一段軌跡距離和方向.當出現車輛跟丟的情況時,根據預測函數計算車輛在后nFrame幀影像上位置,將和預測位置最近的相似目標判斷為同一車輛,并更新車輛對應的運動軌跡.
得到的車輛運動軌跡后,可以確定車輛在每一幀上的位置.利用車輛對應像素在不同間的移動距離、衛星視頻空間分辨率和幀序列的時間間隔,為
resolution*3.6 km/h
(8)
式中:n1(x,y),n2(x,y)為車輛Vi在n1,n2幀影像上的位置;dt為相鄰幀時間間隔;resolution為影像的空間分辨率.
實驗采用2017年4月拍攝的中國天津地區的吉林一號視頻影像數據.吉林一號衛星組包括一顆光學遙感衛星、兩顆視頻衛星和一顆技術驗證衛星,衛星軌道均為高約650 km的太陽同步軌道,其中視頻星獲取的影像空間分辨率達1.12 m[16],成像方式為凝視成像,具體參數見表1.
表1 “吉林一號”視頻星數據
為了定量評價車輛檢測方法優劣,使用以下兩個指標評價檢測質量:Completeness,Correctness.計算方法為
Completeness=TP/(TP+FP)
Correctness=TP/(TP+FN)
(8)
式中:TP為被正確檢測到的車輛;FN為未被檢測到的車輛;FP為誤判為車輛的其他區域.
1)運動車輛檢測 選取衛星視頻影像上天津火車站高架附近的道路進行運動車輛跟蹤實驗,將本文ViBe算法與經典的背景差分法和三幀差法進行對比,其中背景差分法選取前10幀影像,采用幀平均法建立背景,三幀差法采用二維交叉熵閾值對運動檢測結果進行分割.在得到運動前景圖后,考慮到車輛在影像上面積,對單連通區域大于25像素的前景塊進行剔除.背景差分法存在一定數量的殘余車輛,在車輛密集區域,背景道路被車身遮擋,無法區分前景和背景導致誤判,而ViBe算法檢測誤判優于傳統的背景差分法.特別是在車流密集的地方,ViBe算法在識別運動車輛時表現出更穩健的檢測性能.
進一步根據以下準則定量計算檢測結果:對于用最小外接矩形框定的區域,有多個像元與實際運動車輛重疊,那么就被判斷為正確檢測(TP),否則歸為錯誤檢測(FP);FN指的是沒有被識別的車輛.表2~3為不同區域算法的結果對比.
表2 第300幀影像上車輛密集區域檢測結果對比
表3 第300幀影像上車輛稀疏區域檢測結果對比
由表2~3可知,ViBe算法車輛檢測無論是在車輛密集區域還是稀疏區域均優于傳統的背景差分算法,在車輛密集區域,傳統背景差分法檢測正確率低于50%,而Vibe算法處于80%左右;對于車輛稀疏區域,Vibe算法正確率和完好率均在90%以上.
2)運動車輛跟蹤及車速計算結果 圖4~5為本文方法車輛跟蹤結果,不同顏色線表示不同車輛運動軌跡.可以看到車輛軌跡限制在車道范圍內,軌跡方向基本和道路一致,車輛轉彎等非直線運動情況也能夠很好的檢測.在非車輛密集區域,運動軌跡和道路邊界形狀符合的很好,位置相近的運動車輛的軌跡相似.但由于同一車輛得到的運動軌跡的準確性取決于基于形狀的估計初始化,在車輛密集區域,基于形狀特征進行匹配的精度不高,會出現錯誤的車輛軌跡.
圖4 部分區域車輛跟蹤結果
圖5 遮擋區域利用預測函數處理前后單車輛跟蹤結果
在一段時間內道路上的車輛行駛平均速度可以直觀反映交通路況,以此制定合理的交通規劃.表4萬根據車輛跟蹤軌跡計算得到的部分車輛速度數據.
表4 部分車輛在衛星視頻拍攝時間段的平均速度
由表4可知,采用視頻衛星跟蹤車輛計算的平均速度在40~70 km/h,與高架區域車速限制在80 km/h下相符,因此,利用視頻衛星數據可計算車輛運動速度.進一步統計648個檢測車輛在20 s范圍內的平均速度分布,見表5.
表5 跟蹤車輛平均速度分布
由表5可知,平均車速集中在30~60 km/h,少數車輛超過限速,說明得到的車輛平均時速是符合實際情況,也進一步論證了利用衛星影像進行車輛跟蹤從而進行大范圍城市交通狀況監測是可行的.
遙感衛星獲取影像視頻憑借全天候、大范圍的特點,使得在城市廣域范圍內進行車輛檢測和交通狀況監測成為可能.本文以吉林一號視頻衛星為例,提出了基于視頻衛星數據進行車輛檢測和動態跟蹤方法,可瞬時計算城市廣域范圍內車輛數量、運動軌跡、車輛運動速度等信息,為城市智能交通系統建設提供了一種高時間、高空間分辨率、大范圍的在線交通監測手段,具有廣泛的應用潛力.隨著衛星視頻的分辨率將進一步的提高,運動車輛在影像上的表現更精確,視頻衛星在智慧交通領域具有廣泛的應用前景.