閆江南,楊 帥,崔育帥
(天津工業(yè)大學 計算機科學與軟件學院,天津 300387)
(1)研究背景及意義
日益突出的交通問題,使得我們越來越意識到優(yōu)化調度的方法存在滯后的毛病,除卻提高公交出行比例外,思考如何提高實時數(shù)據(jù)處理是極為重要的。因此一款智能交通系統(tǒng)的設計變得十分有意義,我們通過采集各個路段不同公交線路,車站站牌的人流量,加以不同時間段,季節(jié)分析,可以得到多維度的測量數(shù)據(jù),利用系統(tǒng)去進行統(tǒng)計分析,從而對客流調度、乘客行為預測、商圈規(guī)劃都邁出了戰(zhàn)略性的一步。
通過建立正確的模型來分析客流特征,并用所嵌入的高清攝像頭進行人群信息采集,實時地進行數(shù)據(jù)回傳,利用改進的算法可以大幅提高人數(shù)統(tǒng)計的精確度,從而滿足城市公交的智能化發(fā)展。
(2)國內外研究情況
1. 國內情況
國內的統(tǒng)計情況可能略顯單薄:一是人工跟車法,二是駐點式目測客流調查法[1]。這兩者無疑都消耗了巨大的人力、財力,而且還有可能造成統(tǒng)計上的不準確,數(shù)據(jù)上的偏差等等,具有強烈干擾性。
2. 國外情況
關于西方國家常用的測重技術、紅外技術、圖像技術,以下是一些闡述:
①車輛測重計數(shù)器:空氣彈簧的氣路上安裝有壓力傳感器[2],通過檢測氣囊的壓縮程度,對比支撐截面與溫度補償,傾斜補償?shù)鹊葦?shù)據(jù)換算成重量,再進行計數(shù)。
②紅外線客流計數(shù)器:利用紅外光幕通過發(fā)射頭向區(qū)域外發(fā)散定波波長的紅外線,之后用傳感器收集反射回來的光線,從而可以識別上下車的方向,達到統(tǒng)計人數(shù)目的。
③3D傳感客流計數(shù)器:圖像識別與前兩種相比要顯得較為高端一些,同樣是通過傳感器檢測,不同的是掃描人體輪廓進而得出立體的人體數(shù)據(jù),再參照立體反射面的駝峰形狀,進而用單片機計算,從而判斷出人數(shù)。
(3)總結比較
傳統(tǒng)的采集方法及弊端:
調查周期,后期維護,實時程度這每一項都是人工調查的硬傷,如果再加上天氣等不可控因素,就會導致調度人員無法做出準確的反饋。而對于壓力側重計數(shù)這種方式,有著不能判斷上下車方向、多人情況偏差、可維護性差的缺陷。另外由于紅外設備的造價高昂,并且軍民一體可能引發(fā)技術敏感問題,所以導致其在具體應用上受到很大限制。
由此可知,傳統(tǒng)的采集方法很可能無法滿足當下的管理需求,如果使客流信息化,可統(tǒng)計性是亟待解決的問題。因而在本系統(tǒng)中運用了車載設備來解決這個難點。
本系統(tǒng)將通過在公交車前后門的上部嵌入攝像頭,利用傳感器檢測從乘客身上反射回來的光線以及對乘客進行一系列操作,包括形體捕捉和特征提取[3],從而識別并統(tǒng)計乘客上下車方向及人數(shù)。這種方法可以有效地規(guī)避環(huán)境光線,溫度等影響,對于識別多人,同反向,滯留等狀態(tài)具有較強的干擾性與極高的識別度。
本系統(tǒng)的主要功能是基于移動端出行記錄數(shù)據(jù)與攝像頭定點數(shù)據(jù)的反饋采集,數(shù)據(jù)庫的存儲策略主要分兩條信息網(wǎng),一是以個人發(fā)散的軌跡網(wǎng),二是以站臺反饋的數(shù)據(jù)網(wǎng),人群與站臺屬于交界點的兩個直觀審查元素,又相互耦合,所以選擇一條出行記錄作為記錄分子:

圖1 記錄分子所記錄的內容Fig.1 Recorded contents of molecule
記錄分子的數(shù)據(jù)來源于移動端出行的記錄,系統(tǒng)通過對用戶的上車點與下車點進行監(jiān)控[4],每當用戶發(fā)出一條導航信息或者查看到站信息的時候,會對當前用戶基礎信息、地理信息、站臺及線路等字段進行時間戳標記,方便對區(qū)域斷面數(shù)據(jù)做出整理統(tǒng)計。其主體功能由三部分組成:
(1)到站提醒
所謂移動導航,目前只有兩種:GPS定位和基站定位[5]。GPS定位是通過 GPS衛(wèi)星鎖定手機的GPS芯片,這是最準確的定位方法,誤差理論上可以達到一米的距離。同時基本上所有的軟件都是可以用GPS導航的。而基站定位則是通過手機的移動數(shù)據(jù)獲取周圍的基站從而鎖定乘客的位置。這個誤差就很大,所以不能用這個導航。本系統(tǒng)中,把每一條公交線路抽象成一條線,線上的每個節(jié)點當作公交站臺。當乘客所在位置快到公交站臺的時候,當作一個閾值范圍,并以手機廣播(broadcast)的方式進行消息推送。
當本系統(tǒng)在開發(fā)需要和服務器交互的應用程序時,基本上都需要獲取服務器端的數(shù)據(jù),一般來說有兩種方法:第一種是客戶端使用 Pull(拉)的方式,也就是隔一段時間就去服務器上獲取一下信息,看是否有更新的信息出現(xiàn)。第二種就是服務器使用Push(推送)的方式,如果服務器端收到新信息,則把最新的信息Push到客戶端上。這樣,客戶端就能自動的接收到消息。
(2)地圖導航與POI檢索
對用戶而言,POI的存在,能快速找到目的地從而便捷出行。實現(xiàn)區(qū)域檢索大致分為以下幾個步驟:
①根據(jù)點的坐標信息,分配到全國的區(qū)縣行政區(qū)劃中去;
②對于每個行政區(qū)劃中的點數(shù)據(jù),以行政區(qū)劃多邊形和點集為對象,建立Voronoi圖;
③記錄 Voronoi圖面積最小對應的點,并認定其重要性最低;
④最后刪除重要性最低的點,再次建立 Voronoi圖[6]。
這樣就可以理解為將所有的點要素數(shù)據(jù)做一個重要性框選與排序。與此相比,導航只需要獲取到起點和終點的經(jīng)緯度信息,然后分別把起點和終點當做這條導航路線的兩個節(jié)點,并把這兩個節(jié)點加入到一個節(jié)點集合中去,然后再把該集合傳入到一個路線規(guī)劃監(jiān)聽接口類中,該接口類會根據(jù)內部封裝的路徑算法,然后再把各個途徑各個節(jié)點加入到該集合中。如是再三,就可以確定每一個點的重要性信息。其構造過程分為三個步驟:
①發(fā)起算路:算路設置起、終點,算路偏好,是否模擬導航等參數(shù),然后在回調函數(shù)中設置跳轉至誘導。
②開始導航:創(chuàng)建誘導View,并接收回調事件。在activity生命周期內調用誘導BNRouteGuiderManager對應的生命周期函數(shù)。核心代碼為:
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);createHandler();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {}
View view = BNRouteGuideManager.getInstance().onCreate(this, new OnNavigationListener() {
@Override
public void onNaviGuideEnd() {
finish();
}
@Override
public void notifyOtherAction(int action-
Type, int arg1, int arg2, Object obj) {
}
});
③直至最后設置播報模式即可成功規(guī)劃線路。(3)擁擠度呈現(xiàn)
該功能基于乘客起始點的地理位置,對周圍不同范圍內的公交線路進行信息回傳,隨信號點位置大小排列,擁擠度利用傳統(tǒng)的紅綠黃三色對用戶進行必要提示。
客流統(tǒng)計是系統(tǒng)實時采集數(shù)據(jù)的根本,其來源于車載攝像頭的實時分析,通過計算每個站臺視頻畫面中人數(shù)的流量從而對車上擁擠度進行準確判斷。而精確度的關鍵在于攝像頭所識別出的人數(shù)是否與實際匹配,其度量需要經(jīng)過三個步驟:目標檢測、目標跟蹤、乘客行為分析。
目標檢測是計算機視覺處理極其重要的一環(huán),其焦點置于所選目標的位置及劃定范圍,其基本過程與模式識別極為相似,包括了圖像數(shù)據(jù)、預處理、特征提取、分類器訓練、目標檢測五部分[7],其中的特征提取與分類器訓練都是影響最后準確度的主要因素,因此如何讓算法得到提升變得極為重要。
以公交車為例,在前后車門各安裝一組攝像頭,針對人體的頭部和肩部進行特征提取,因為軀干部分往往容易在人流密集時期被遮擋,所以將乘客明顯特征作為目標正樣本,這樣會降低膚色、光照、噪聲以及陰影的影響。
為了獲得真正意義上的邊緣前景,增強其干擾性,對當前幀的邊緣圖像與背景的邊緣圖像進行了做差計算。之后利用圓檢測進行輪廓識別,有效的進行了目標檢測,相比其他方法更易于操作,識別率高,為客流統(tǒng)計系統(tǒng)提供了強有力的依據(jù)。
一旦記錄分子有了數(shù)據(jù)基礎,我們就可以對結果進行統(tǒng)計分析。PC端的主體功能為:實現(xiàn)對用戶數(shù)據(jù)、站臺數(shù)據(jù)、遷徙路線的可視化分析,可以為決策者提供管理結局方案。
但是我們從什么角度進行數(shù)據(jù)分析呢?眾所周知,公交客流受到諸多因素的影響,預測時段越短,客流特征變化的隨機性和不可預測性就會越強[8],只有找出短時客流變化中最具相關的影響元素,才能去做行為預測。
為了對數(shù)據(jù)進行合理評估,本系統(tǒng)根據(jù)車載攝像頭采集的客流數(shù)據(jù),將上車人數(shù)記為點 E,將下車人數(shù)記為點 O,預計到站記為點 S,到站時間記為點 T,標記站臺的斷面客流量,分析周圍商圈記錄人群的趨向,從而利用車載攝像頭采集的數(shù)據(jù)和GPS結合來對日時段、周時段、月時段的變化規(guī)律做出有效歸納,為公交調度提供良好的解決方案。

圖2 記錄客流數(shù)據(jù)的模擬圖Fig.2 Simulation graph of recording passenger flow data
(1)數(shù)據(jù)推送部分
系統(tǒng)中使用移動通訊的云巴服務進行開發(fā)。Android SDK會啟動一個后臺的Service,創(chuàng)建并保持到服務器的長連接,從而保證了消息推送的實時性。云巴采用MQTT協(xié)議,其特點有:二進制,非常精簡,適合做大量節(jié)點弱網(wǎng)絡差的場景,適用于現(xiàn)有移動互聯(lián)網(wǎng)的基礎設施;MQTT是天然的訂閱發(fā)布系統(tǒng),有權限的人都可以發(fā)消息;開源的協(xié)議和實現(xiàn);擴展方便且輕量級。因為協(xié)議精簡,相比XMPP本身標簽和編解碼不耗費流量,使用云巴做實時通訊在節(jié)省流量的同時也減少了耗電。

圖3 數(shù)據(jù)推送流程圖Fig.3 Data push flow chart
(2)線路規(guī)劃部分
百度Andriod 導航SDK為Android移動端應用提供了一套簡單易用的導航服務接口,本系統(tǒng)引入地圖與POI功能對用戶的使用習慣進行記錄,用戶可以將隨行地點收藏至常用地,利用歷史檢索進行sug建議。針對個性化出行模式引入線路方案推薦,從而節(jié)省了用戶的時間成本。
(3)實時公交部分

圖4 線路規(guī)劃部分成果圖Fig.4 Partial results graph of line planning
本系統(tǒng)用到站距離與估測時間提示乘客合理安排自己的時間,以便能夠及時乘坐相應的公車線路。對于擁擠程度本系統(tǒng)加入了信號燈標識車上的人數(shù),用戶可通過處于[紅色,黃色,綠色]區(qū)間的顏色做出判斷是否乘車,一方面便利了民眾出行,另一方面有效地降低了交通擁堵發(fā)生的概率。期間設置了一個時間閾值,利用站臺與站臺所用時間做方差,限制請求頻率,及時地為乘客推送更新的線路信息。

圖5 實時公交部分成果圖Fig.5 Partial results graph of real time bus
(4)數(shù)據(jù)分析部分
按理來說只有單調的數(shù)據(jù)是無法為公交調度呈現(xiàn)出直觀參考的,為此本系統(tǒng)推行的方向是數(shù)據(jù)可視化,其主要旨在借助于圖形化手段,清晰有效地傳達與溝通信息。ECharts作為國內應用最廣泛的前端可視化生成工具,提供了豐富的圖表展現(xiàn)方式和便捷的圖表操作。
本系統(tǒng)通過對時節(jié)分段、線路分流的統(tǒng)計方法對所手機的信息進行了圖表處理,有針對性地選擇合適的方案。公交客流的分布特性分析從時間分布特性,人群分布特性及影響因素[9]分析入手。由于線路類型、運營時間、站點數(shù)目等的不同,各條公交線路的客流分布必然存在差異,因此有必要根據(jù)線路號,對其各個時段的客流量進行進行統(tǒng)計分析,以觀察各條線路客流的特征并做對比。

圖6 某線路各個時段客流量數(shù)據(jù)分析樣圖Fig.6 Analysis sample graph of passenger flow data of each different time section of a line
由于人群早出與晚歸流向基本處于相反的一致性,所以在工作日公交客流呈現(xiàn)比較明顯的特征,具有時空周期的規(guī)律性,給分析帶來了極大方便。考慮到用地環(huán)境這一因素,根據(jù)已有研究,乘客的下車概率會根據(jù)途經(jīng)站點的數(shù)量服從泊松分布[10],如公式(1)所示:

其中等式左邊的 i站點在上車 j站點下車的概率,λ表示出行途經(jīng)站點數(shù)量,當i站點以后的數(shù)量小于平均站點數(shù)時,λ = m - i 。
(5)商圈規(guī)劃
本系統(tǒng)在移動端出行中加入了常用地點及收藏等功能,不僅僅是便利用戶體驗,更重要的方面在于記錄出行因子,用戶收藏的常用地點標志著每日的出行軌跡,是用作考量公交調度的重要影響因素之一,由此建立起來的數(shù)據(jù)報表可以為商圈規(guī)劃提供參考依據(jù),用戶建立的每一條地址條目會被用來做行為預測的自變量,為智慧出行做出隱形的貢獻。
本文利用了車載攝像頭采集的人數(shù)流量與GPS數(shù)據(jù),加以時間上的同步性,匹配站臺、線路,對不同日時段、周時段、月時段進行客流分析,找出了其時空分布的不均衡特性和周期變化規(guī)律。在目標檢測領域應用了改進的Hough圓變換檢測[11]從而提升了算法精確度,利用收集的客流數(shù)據(jù)為系統(tǒng)的可視化統(tǒng)計提供了強力支持,為視頻客流分析領域提供了結合互聯(lián)網(wǎng)的新思路。