屈明月,赵涓涓
(太原理工大学 计算机科学与技术学院,山西 太原030024)
无线传感器网WSN(wireless sensor network)是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,具体定义参见文献[1-3]。
目前,对移动物体计数的方法很多。对于人流计数中采用的传感器主要有红外、激光和摄像机等。其中,基于视频的方法[5-7]信息丰富,但比较复杂,且一般准确性不高;在门(或通道口)上安装刷卡机或者指纹机来实现人数统计,这种方法投资大,而且容易出现替刷或漏刷现象,不易进行管理,再者此方法只针对人,对别的移动物体(如汽车)不生效;基于红外传感器计数方法主要是利用人通过红外扫描时的阻断特性来实现,方法简单而且准确性较高。但是,目前市场上普通的红外计数器实现的是单向计数,即它只能单一的实现加或减,当物体在红外传感器附近徘徊,实际并没有通过时,无法对移动物体进出进行很好的统计,实用性不强;文献[8]描述了一种基于无线传感器的移动目标(车辆)计数统计设计,它采用产生中断的顺序来判断目标进出方向,但是对非正常进出没有做更好的处理;文献[9]虽然对一些非正常进出做了处理,但是这些处理要求两对红外光电对射传感器水平安放距离较大,即要求物体的宽度小于两对红外对管水平安放距离,这样使得该算法有局限性。
本文所采用的算法很好的解决了以上方法中存在的不足,能够实现双向计数,较好的实现了对移动物体的出入统计计数。对与非正常的出入做了较好的处理,解决了由于非正常出入导致的计数错误问题。本文所采用的方案中两对红外光电对射传感器水平安放距离较小,实用性较强,有利于实际安放,有效的解决了物体宽度不同对计数问题带来的影响。
为了更好的解决停车场、会议室、自习室等公共场所人员和车辆等的计数问题,本文设计了一套系统,系统的总体框架图如图1 所示。本系统采用星状网络结构[10,11],其中的设备主要有嵌入式网关、协调器和终端设备。协调器的作用是建立和维护网络、向嵌入式网关发送和接受数据、向下面的节点转发数据。同时网络中的所有的终端设备中间不经过任何设备,直接与协调器通信。
图1 系统整体框架
本系统实时地对两对红外光电对射传感器上的电压进行监控,当有移动物体经过红外光电对射传感器时,红外设备的电压发生变化,并由无线电压采集模块采集。无线电压采集模块与协调器通信,将电压变化信息发给协调器,经协调器与嵌入式网关进行通信,向嵌入式网关发送电压变化数据,在嵌入式网关进行数据处理。
2.2.1 单向计数方法
在统计移动物体通过通道(如门)的个数时,单向计数采用是否有物体挡住红外光电对射传感器的方法来实现计数。但是,单向计数方法只能实现单一的加或减,无法识别移动物体的进出方向。
2.2.2 通过中断控制进出方向的计数方法
在统计移动物体通过通道(如门)的个数时,安放在通道的两侧两对红外光电对射传感器,通过中断来控制进出方向从而来实现移动物体的计数。为两对红外光电对射传感器设置对应的单片机中断引脚(设通道外传感器对应单片机中断引脚为INT0,通道内传感器对应单片机中断引脚为INT1)。如果检测到INT0有信号,关闭所有中断计数加1。反之,如果先检测到INT1 有信号,关闭所有中断计数减1。这种计数方法通过判断INT0和INT1引脚产生中断的顺序来判断物体的进出方向。但是,当移动物体非正常进出时(在通道中徘徊),它便不能实现计数。如:移动物体通过了通道外传感器,而此时移动物体又退回来。这种非正常进入方式理应是不应该计数的,但是这种计数方法却对其进行了计数,导致计数产生错误。
针对上述部分非正常进出,文献[7]给出了一种解决方法:通过检测到两个中断信号的先后顺序来实现计数。但是,该方法要求物体的宽度小于对红外对管水平安放距离。如果物体的宽度大于红外对管水平安放距离,物体进出时总有一个过程物体挡住了两对红外对管,而此时如果物体又退回来,将会导致计数错误。
以上的常见计数方法存在许多的弊端,因此设计一个更高性能的移动物体计数算法十分必要,为此我们提出了优化的类位运算计数算法。
2.2.1 类位运算计数算法
本系统通过安装两对红外光电对射传感器来统计通过门的移动物体的个数,和上节中断计数方法的区别是,本算法通过控制位的变化来记录移动物体进门和出门的情况。如图2所示,通过使用两个位来存储两对红外光电对射传感器的状态,当红外光电对射传感器被遮挡住时,设置为1,否则设置为0。
图2 红外光电对射传感器安装
本算法模拟成功进门和出门的情况如下:
(1)进门:两个位的变化序列中总有00、10、11、01、00的顺序(不一定连续),允许在门间徘徊的情况发生,经过多次验证,进门的最后一个状态一定是01。
(2)出门:两个位的变化序列中总有00、01、11、10、00的顺序(不一定连续),允许在门间徘徊的情况发生,同样经过多次验证,出门的最后一个状态一定是10。
通过模拟演示进门和出门的位变化情况,本算法决定使用两个位来控制进门和出门的情况,但经过测试,发现有非正常进出情况,进门没进去,出门没出来,如下演示。
(1)进门没进去:允许在门间徘徊了一下又退回来,两个位的变化序列中总有下列3种顺序(不一定连续)之一:
00、10、00;
00、10、11、10、00;
00、10、11、10、11、10、00;
经过多次验证,进门没进去的最后一个状态一定是10。
(2)出门没出来:允许在门间徘徊了一下又退回来,两个位的变化序列中总有下列3种顺序(不一定连续)之一:
00、01、00;
00、01、11、01、00;
00、01、11、10、11、01、00;
同样经过多次验证,出门没出来的最后一个状态一定是01。
这种情况的最后一个状态和正常进出门的最后一个状态相反,显然不符合要求。因此,本算法加入了一个标志变量,通过记录第一次触碰到的是哪一个红外光电对射传感器,来判断正在进行的是进门过程还是出门过程,这样就能很好的解决这种情况的计数问题。
2.2.2 算法的优化
考虑到算法的实用性和平台性,本算法进行一种新的类位运算方法,即通过加法运算来代替旧的类位运算。本算法使用一个整型变量,设置器长度为三位,百位固定为1,十位表示红外光电对射传感器1的状态,个位表示红外光电对射传感器2 的状态。初始值为100,光电门1 被挡住,状态设为1,否则为0;光电门2被挡住,状态设为1,否则为0,只要将两个光电门的状态相加,就可以计算出两个光电门的状态,模拟情况如下:
(1)进门情况:两个位的变化顺序是100、110、111、101、100(不一定连续),经过多次验证,进门的最后一个状态一定是101。位变化图如图3(a)所示。
(2)出门情况:两个位的变化顺序是100、101、111、110、100(不一定连续),同样进过多次验证,出门的最后一个状态一定是110。位变化图如图3(b)所示。
图3 本文进出门的位状态变化
其它进出门演示情况与前面讲述的类似。这样只要判断最后一个状态是101还是110,加上进出门标志,就可以进行移动物体个数的统计。
本文的算法流程如图4所示。
/*变量声明,state_old表示旧状态;count是计数变量;红外光电对射传感器的状态,1为挡住,0 为未挡住;first是红外光电对射传感器1的状态;second是红外光电对射传感器2的状态;flag为标志变量,0为进门,1为出门。*/
图4 类位运算算法流程
为了评估类位运算计数算法的有效性,我们把该算法与通过中断控制的计数算法,在两对红外光电对射传感器水平安放距离对算法的限制以及抗非正常进出效果,两个方面进行了对比和分析。
设移动物体沿通道(如门)方向的长度用a表示,两对红外光电对射传感器水平安放距离用d表示。算法性能比较表格见表1。
表1 算法性能比较表格
表1表明,首先,类位运算计数算法无法在d>a的情况中运行,但实际情况中,几乎不存在d>a的情况,例如生活中几乎看不到比人还宽的门。d越小,则对计数对象的实际大小要求越小,适用范围越广,当d无限逼近于0时,就可以对所有大小的物体进行计数。其次,由于类位运算计数算法是对移动物体进出全过程的模拟分析,而中断控制的计数算法只是在整个过程中选取了两个特殊状态进行分析,所以中断控制的计数算法无法分析移动物体的实时运动情况,抗非正常进出能力明显较差。
综上,对于类位运算计数算法,在保证算法抗非正常进出效果良好的前提下,两对红外光电对射传感器水平安放距离d越小,移动物体沿通道方向的长度a的取值范围(d,∞)越大;然而对于通过中断控制的计数算法,在保证算法抗非正常进出效果良好的前提下,两对红外光电对射传感器水平安放距离d越大,移动物体沿通道方向的长度a的取值范围(0,d)越大。考虑到对红外光电对射传感器的实际安装和移动物体a取值的不确定性,类位运算计数算法相对于通过中断控制的计数算法具有明显的优势。
本文提出的类位运算算法可以有效的解决硬件安装中,红外光电对射传感器水平安放距离的限制,实现较精确的单通道的双向计数,计数过程不受计数对象实际大小的限制,很好的消除了非正常进出带来的计数误差。本算法的应用前景广泛,可以很好的应用于停车场、自习室、候车室等地区的计数,方便管理,能有效的提高资源利用率。
[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).[任秀丽,谭振江.无线传感网络车流量统计的路由协议 [J].传感器与微系统,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).[陶良鹏,华蓓.无线传感网络基于信号相关的目标计数 [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).[张豫鹤,黄希,崔莉.面向交通信息的无线传感器网络节点[J].计算机研究与发展,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).[李菲.智能监控系统中行人流量统计功能的研究与实现 [D].西安:西安电子科技大学,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].计算机辅助设计与图形学学报,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).[俞靓,王志波,骆吉安,等.面向移动目标追踪的无线传感器网络QoS指标体系设计 [J].计算机学报,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 测距的传感器网络定位研究 [J].通信学报,2008,29 (8):11-21.]
[10]JIN Chun.ZigBee technology base and case analysis [M].Beijing:National Defense Industry Press,2008 (in Chinese).[金纯.ZigBee技术基础及案例分析 [M].北京:国防工业出版社,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的无线监测系统设汁[J].计算机工程,2010,36 (5):243-247.]