屈明月,趙涓涓
(太原理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原030024)
無線傳感器網(wǎng)WSN(wireless sensor network)是大量的靜止或移動(dòng)的傳感器以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),具體定義參見文獻(xiàn)[1-3]。
目前,對(duì)移動(dòng)物體計(jì)數(shù)的方法很多。對(duì)于人流計(jì)數(shù)中采用的傳感器主要有紅外、激光和攝像機(jī)等。其中,基于視頻的方法[5-7]信息豐富,但比較復(fù)雜,且一般準(zhǔn)確性不高;在門(或通道口)上安裝刷卡機(jī)或者指紋機(jī)來實(shí)現(xiàn)人數(shù)統(tǒng)計(jì),這種方法投資大,而且容易出現(xiàn)替刷或漏刷現(xiàn)象,不易進(jìn)行管理,再者此方法只針對(duì)人,對(duì)別的移動(dòng)物體(如汽車)不生效;基于紅外傳感器計(jì)數(shù)方法主要是利用人通過紅外掃描時(shí)的阻斷特性來實(shí)現(xiàn),方法簡(jiǎn)單而且準(zhǔn)確性較高。但是,目前市場(chǎng)上普通的紅外計(jì)數(shù)器實(shí)現(xiàn)的是單向計(jì)數(shù),即它只能單一的實(shí)現(xiàn)加或減,當(dāng)物體在紅外傳感器附近徘徊,實(shí)際并沒有通過時(shí),無法對(duì)移動(dòng)物體進(jìn)出進(jìn)行很好的統(tǒng)計(jì),實(shí)用性不強(qiáng);文獻(xiàn)[8]描述了一種基于無線傳感器的移動(dòng)目標(biāo)(車輛)計(jì)數(shù)統(tǒng)計(jì)設(shè)計(jì),它采用產(chǎn)生中斷的順序來判斷目標(biāo)進(jìn)出方向,但是對(duì)非正常進(jìn)出沒有做更好的處理;文獻(xiàn)[9]雖然對(duì)一些非正常進(jìn)出做了處理,但是這些處理要求兩對(duì)紅外光電對(duì)射傳感器水平安放距離較大,即要求物體的寬度小于兩對(duì)紅外對(duì)管水平安放距離,這樣使得該算法有局限性。
本文所采用的算法很好的解決了以上方法中存在的不足,能夠?qū)崿F(xiàn)雙向計(jì)數(shù),較好的實(shí)現(xiàn)了對(duì)移動(dòng)物體的出入統(tǒng)計(jì)計(jì)數(shù)。對(duì)與非正常的出入做了較好的處理,解決了由于非正常出入導(dǎo)致的計(jì)數(shù)錯(cuò)誤問題。本文所采用的方案中兩對(duì)紅外光電對(duì)射傳感器水平安放距離較小,實(shí)用性較強(qiáng),有利于實(shí)際安放,有效的解決了物體寬度不同對(duì)計(jì)數(shù)問題帶來的影響。
為了更好的解決停車場(chǎng)、會(huì)議室、自習(xí)室等公共場(chǎng)所人員和車輛等的計(jì)數(shù)問題,本文設(shè)計(jì)了一套系統(tǒng),系統(tǒng)的總體框架圖如圖1 所示。本系統(tǒng)采用星狀網(wǎng)絡(luò)結(jié)構(gòu)[10,11],其中的設(shè)備主要有嵌入式網(wǎng)關(guān)、協(xié)調(diào)器和終端設(shè)備。協(xié)調(diào)器的作用是建立和維護(hù)網(wǎng)絡(luò)、向嵌入式網(wǎng)關(guān)發(fā)送和接受數(shù)據(jù)、向下面的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。同時(shí)網(wǎng)絡(luò)中的所有的終端設(shè)備中間不經(jīng)過任何設(shè)備,直接與協(xié)調(diào)器通信。
圖1 系統(tǒng)整體框架
本系統(tǒng)實(shí)時(shí)地對(duì)兩對(duì)紅外光電對(duì)射傳感器上的電壓進(jìn)行監(jiān)控,當(dāng)有移動(dòng)物體經(jīng)過紅外光電對(duì)射傳感器時(shí),紅外設(shè)備的電壓發(fā)生變化,并由無線電壓采集模塊采集。無線電壓采集模塊與協(xié)調(diào)器通信,將電壓變化信息發(fā)給協(xié)調(diào)器,經(jīng)協(xié)調(diào)器與嵌入式網(wǎng)關(guān)進(jìn)行通信,向嵌入式網(wǎng)關(guān)發(fā)送電壓變化數(shù)據(jù),在嵌入式網(wǎng)關(guān)進(jìn)行數(shù)據(jù)處理。
2.2.1 單向計(jì)數(shù)方法
在統(tǒng)計(jì)移動(dòng)物體通過通道(如門)的個(gè)數(shù)時(shí),單向計(jì)數(shù)采用是否有物體擋住紅外光電對(duì)射傳感器的方法來實(shí)現(xiàn)計(jì)數(shù)。但是,單向計(jì)數(shù)方法只能實(shí)現(xiàn)單一的加或減,無法識(shí)別移動(dòng)物體的進(jìn)出方向。
2.2.2 通過中斷控制進(jìn)出方向的計(jì)數(shù)方法
在統(tǒng)計(jì)移動(dòng)物體通過通道(如門)的個(gè)數(shù)時(shí),安放在通道的兩側(cè)兩對(duì)紅外光電對(duì)射傳感器,通過中斷來控制進(jìn)出方向從而來實(shí)現(xiàn)移動(dòng)物體的計(jì)數(shù)。為兩對(duì)紅外光電對(duì)射傳感器設(shè)置對(duì)應(yīng)的單片機(jī)中斷引腳(設(shè)通道外傳感器對(duì)應(yīng)單片機(jī)中斷引腳為INT0,通道內(nèi)傳感器對(duì)應(yīng)單片機(jī)中斷引腳為INT1)。如果檢測(cè)到INT0有信號(hào),關(guān)閉所有中斷計(jì)數(shù)加1。反之,如果先檢測(cè)到INT1 有信號(hào),關(guān)閉所有中斷計(jì)數(shù)減1。這種計(jì)數(shù)方法通過判斷INT0和INT1引腳產(chǎn)生中斷的順序來判斷物體的進(jìn)出方向。但是,當(dāng)移動(dòng)物體非正常進(jìn)出時(shí)(在通道中徘徊),它便不能實(shí)現(xiàn)計(jì)數(shù)。如:移動(dòng)物體通過了通道外傳感器,而此時(shí)移動(dòng)物體又退回來。這種非正常進(jìn)入方式理應(yīng)是不應(yīng)該計(jì)數(shù)的,但是這種計(jì)數(shù)方法卻對(duì)其進(jìn)行了計(jì)數(shù),導(dǎo)致計(jì)數(shù)產(chǎn)生錯(cuò)誤。
針對(duì)上述部分非正常進(jìn)出,文獻(xiàn)[7]給出了一種解決方法:通過檢測(cè)到兩個(gè)中斷信號(hào)的先后順序來實(shí)現(xiàn)計(jì)數(shù)。但是,該方法要求物體的寬度小于對(duì)紅外對(duì)管水平安放距離。如果物體的寬度大于紅外對(duì)管水平安放距離,物體進(jìn)出時(shí)總有一個(gè)過程物體擋住了兩對(duì)紅外對(duì)管,而此時(shí)如果物體又退回來,將會(huì)導(dǎo)致計(jì)數(shù)錯(cuò)誤。
以上的常見計(jì)數(shù)方法存在許多的弊端,因此設(shè)計(jì)一個(gè)更高性能的移動(dòng)物體計(jì)數(shù)算法十分必要,為此我們提出了優(yōu)化的類位運(yùn)算計(jì)數(shù)算法。
2.2.1 類位運(yùn)算計(jì)數(shù)算法
本系統(tǒng)通過安裝兩對(duì)紅外光電對(duì)射傳感器來統(tǒng)計(jì)通過門的移動(dòng)物體的個(gè)數(shù),和上節(jié)中斷計(jì)數(shù)方法的區(qū)別是,本算法通過控制位的變化來記錄移動(dòng)物體進(jìn)門和出門的情況。如圖2所示,通過使用兩個(gè)位來存儲(chǔ)兩對(duì)紅外光電對(duì)射傳感器的狀態(tài),當(dāng)紅外光電對(duì)射傳感器被遮擋住時(shí),設(shè)置為1,否則設(shè)置為0。
圖2 紅外光電對(duì)射傳感器安裝
本算法模擬成功進(jìn)門和出門的情況如下:
(1)進(jìn)門:兩個(gè)位的變化序列中總有00、10、11、01、00的順序(不一定連續(xù)),允許在門間徘徊的情況發(fā)生,經(jīng)過多次驗(yàn)證,進(jìn)門的最后一個(gè)狀態(tài)一定是01。
(2)出門:兩個(gè)位的變化序列中總有00、01、11、10、00的順序(不一定連續(xù)),允許在門間徘徊的情況發(fā)生,同樣經(jīng)過多次驗(yàn)證,出門的最后一個(gè)狀態(tài)一定是10。
通過模擬演示進(jìn)門和出門的位變化情況,本算法決定使用兩個(gè)位來控制進(jìn)門和出門的情況,但經(jīng)過測(cè)試,發(fā)現(xiàn)有非正常進(jìn)出情況,進(jìn)門沒進(jìn)去,出門沒出來,如下演示。
(1)進(jìn)門沒進(jìn)去:允許在門間徘徊了一下又退回來,兩個(gè)位的變化序列中總有下列3種順序(不一定連續(xù))之一:
00、10、00;
00、10、11、10、00;
00、10、11、10、11、10、00;
經(jīng)過多次驗(yàn)證,進(jìn)門沒進(jìn)去的最后一個(gè)狀態(tài)一定是10。
(2)出門沒出來:允許在門間徘徊了一下又退回來,兩個(gè)位的變化序列中總有下列3種順序(不一定連續(xù))之一:
00、01、00;
00、01、11、01、00;
00、01、11、10、11、01、00;
同樣經(jīng)過多次驗(yàn)證,出門沒出來的最后一個(gè)狀態(tài)一定是01。
這種情況的最后一個(gè)狀態(tài)和正常進(jìn)出門的最后一個(gè)狀態(tài)相反,顯然不符合要求。因此,本算法加入了一個(gè)標(biāo)志變量,通過記錄第一次觸碰到的是哪一個(gè)紅外光電對(duì)射傳感器,來判斷正在進(jìn)行的是進(jìn)門過程還是出門過程,這樣就能很好的解決這種情況的計(jì)數(shù)問題。
2.2.2 算法的優(yōu)化
考慮到算法的實(shí)用性和平臺(tái)性,本算法進(jìn)行一種新的類位運(yùn)算方法,即通過加法運(yùn)算來代替舊的類位運(yùn)算。本算法使用一個(gè)整型變量,設(shè)置器長(zhǎng)度為三位,百位固定為1,十位表示紅外光電對(duì)射傳感器1的狀態(tài),個(gè)位表示紅外光電對(duì)射傳感器2 的狀態(tài)。初始值為100,光電門1 被擋住,狀態(tài)設(shè)為1,否則為0;光電門2被擋住,狀態(tài)設(shè)為1,否則為0,只要將兩個(gè)光電門的狀態(tài)相加,就可以計(jì)算出兩個(gè)光電門的狀態(tài),模擬情況如下:
(1)進(jìn)門情況:兩個(gè)位的變化順序是100、110、111、101、100(不一定連續(xù)),經(jīng)過多次驗(yàn)證,進(jìn)門的最后一個(gè)狀態(tài)一定是101。位變化圖如圖3(a)所示。
(2)出門情況:兩個(gè)位的變化順序是100、101、111、110、100(不一定連續(xù)),同樣進(jìn)過多次驗(yàn)證,出門的最后一個(gè)狀態(tài)一定是110。位變化圖如圖3(b)所示。
圖3 本文進(jìn)出門的位狀態(tài)變化
其它進(jìn)出門演示情況與前面講述的類似。這樣只要判斷最后一個(gè)狀態(tài)是101還是110,加上進(jìn)出門標(biāo)志,就可以進(jìn)行移動(dòng)物體個(gè)數(shù)的統(tǒng)計(jì)。
本文的算法流程如圖4所示。
/*變量聲明,state_old表示舊狀態(tài);count是計(jì)數(shù)變量;紅外光電對(duì)射傳感器的狀態(tài),1為擋住,0 為未擋?。籪irst是紅外光電對(duì)射傳感器1的狀態(tài);second是紅外光電對(duì)射傳感器2的狀態(tài);flag為標(biāo)志變量,0為進(jìn)門,1為出門。*/
圖4 類位運(yùn)算算法流程
為了評(píng)估類位運(yùn)算計(jì)數(shù)算法的有效性,我們把該算法與通過中斷控制的計(jì)數(shù)算法,在兩對(duì)紅外光電對(duì)射傳感器水平安放距離對(duì)算法的限制以及抗非正常進(jìn)出效果,兩個(gè)方面進(jìn)行了對(duì)比和分析。
設(shè)移動(dòng)物體沿通道(如門)方向的長(zhǎng)度用a表示,兩對(duì)紅外光電對(duì)射傳感器水平安放距離用d表示。算法性能比較表格見表1。
表1 算法性能比較表格
表1表明,首先,類位運(yùn)算計(jì)數(shù)算法無法在d>a的情況中運(yùn)行,但實(shí)際情況中,幾乎不存在d>a的情況,例如生活中幾乎看不到比人還寬的門。d越小,則對(duì)計(jì)數(shù)對(duì)象的實(shí)際大小要求越小,適用范圍越廣,當(dāng)d無限逼近于0時(shí),就可以對(duì)所有大小的物體進(jìn)行計(jì)數(shù)。其次,由于類位運(yùn)算計(jì)數(shù)算法是對(duì)移動(dòng)物體進(jìn)出全過程的模擬分析,而中斷控制的計(jì)數(shù)算法只是在整個(gè)過程中選取了兩個(gè)特殊狀態(tài)進(jìn)行分析,所以中斷控制的計(jì)數(shù)算法無法分析移動(dòng)物體的實(shí)時(shí)運(yùn)動(dòng)情況,抗非正常進(jìn)出能力明顯較差。
綜上,對(duì)于類位運(yùn)算計(jì)數(shù)算法,在保證算法抗非正常進(jìn)出效果良好的前提下,兩對(duì)紅外光電對(duì)射傳感器水平安放距離d越小,移動(dòng)物體沿通道方向的長(zhǎng)度a的取值范圍(d,∞)越大;然而對(duì)于通過中斷控制的計(jì)數(shù)算法,在保證算法抗非正常進(jìn)出效果良好的前提下,兩對(duì)紅外光電對(duì)射傳感器水平安放距離d越大,移動(dòng)物體沿通道方向的長(zhǎng)度a的取值范圍(0,d)越大??紤]到對(duì)紅外光電對(duì)射傳感器的實(shí)際安裝和移動(dòng)物體a取值的不確定性,類位運(yùn)算計(jì)數(shù)算法相對(duì)于通過中斷控制的計(jì)數(shù)算法具有明顯的優(yōu)勢(shì)。
本文提出的類位運(yùn)算算法可以有效的解決硬件安裝中,紅外光電對(duì)射傳感器水平安放距離的限制,實(shí)現(xiàn)較精確的單通道的雙向計(jì)數(shù),計(jì)數(shù)過程不受計(jì)數(shù)對(duì)象實(shí)際大小的限制,很好的消除了非正常進(jìn)出帶來的計(jì)數(shù)誤差。本算法的應(yīng)用前景廣泛,可以很好的應(yīng)用于停車場(chǎng)、自習(xí)室、候車室等地區(qū)的計(jì)數(shù),方便管理,能有效的提高資源利用率。
[1]REN Xiuli,TAN Zhenjiang.Routing protocol of wireless sensor networks for traffic flow statistics[J].Transducer and Microsystems Technologies,2012,31 (7):61-76 (in Chinese).[任秀麗,譚振江.無線傳感網(wǎng)絡(luò)車流量統(tǒng)計(jì)的路由協(xié)議 [J].傳感器與微系統(tǒng),2012,31 (7):61-76.]
[2]TAO Liangpeng,HUA Bei.Signal correlation based target counting in wireless sensor networks [J].Computer Simulation,2009,26 (5):165-168 (in Chinese).[陶良鵬,華蓓.無線傳感網(wǎng)絡(luò)基于信號(hào)相關(guān)的目標(biāo)計(jì)數(shù) [J].計(jì)算機(jī)仿真,2009,26 (5):165-168.]
[3]ZHANG Yuhe,HUANG Xi,CUI Li.WSN node for real-time traffic information detection [J].Journal Computer Research and Development,2008,45 (1):110-118 (in Chinese).[張?jiān)Q,黃希,崔莉.面向交通信息的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)[J].計(jì)算機(jī)研究與發(fā)展,2008,45 (1):110-118.]
[4]Jennifer Y,Biswanath M,Dipak G.Wireless sensor networks survey[J].Computer Networks,2008,52 (12):2292-2330.
[5]LI Fei.The research and implementation of traffic statistics in intelligent monitoring system [D].Xi’an:Xidian University,2010 (in Chinese).[李菲.智能監(jiān)控系統(tǒng)中行人流量統(tǒng)計(jì)功能的研究與實(shí)現(xiàn) [D].西安:西安電子科技大學(xué),2010.]
[6]Donatello Conte,Pasquale Foggia,Gennaro Percannella,et a1.A method for counting moving people in video surveillance videos[C]//EURASIP Journal on Advances in Signal Processing,2010:1-10.
[7]LIANG Ronghua,LIU Xiangdong,MA Xiangyin,et al.High-density crowed counting method based on SURF feature[J].Journal of Computer-Aided Design &Computer Graphics,2012,24 (12):1568-1575 (in Chinese). [梁榮華,劉向東,馬祥音,等.基于SURF的高密度人群計(jì)數(shù)方法 [J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2012,24 (12):1568-1575.]
[8]YU Jian,WANG Zhibo,LUO Ji’an,et al.QoS framework design for WSN-based tracking of moving targets[J].Chinese Journal of Computer,2009,32 (3):441-462 (in Chinese).[俞靚,王志波,駱吉安,等.面向移動(dòng)目標(biāo)追蹤的無線傳感器網(wǎng)絡(luò)QoS指標(biāo)體系設(shè)計(jì) [J].計(jì)算機(jī)學(xué)報(bào),2009,32 (3):441-462.]
[9]CHEN Honglong,LI Hongbin,WANG Zhi.Research on TDoA-based secure localization for wireless sensor networks[J].Journal on Communications,2008,29 (8):11-21 (in Chinese).[陳鴻龍,李鴻斌,王智.基于TDoA 測(cè)距的傳感器網(wǎng)絡(luò)定位研究 [J].通信學(xué)報(bào),2008,29 (8):11-21.]
[10]JIN Chun.ZigBee technology base and case analysis [M].Beijing:National Defense Industry Press,2008 (in Chinese).[金純.ZigBee技術(shù)基礎(chǔ)及案例分析 [M].北京:國(guó)防工業(yè)出版社,2008.]
[11]LV Xiwu,LIU Kaihua,ZHAO Yan.Design and Implementation of Wireless Monitor System Based on Zigbee[J].Computer Engineering,2010,36 (5):143-147 (in Chinese).[呂西午,劉開華,趙巖.基于Zigbee的無線監(jiān)測(cè)系統(tǒng)設(shè)汁[J].計(jì)算機(jī)工程,2010,36 (5):243-247.]