陈 滨,魏海利,陶 槊,
(1.合肥科技职业学院,安徽 合肥 231201;2.中国科学技术大学 理学院,安徽 合肥 230026)
数字监控技术飞速发展,高校发展监控系统不仅有助于保护人身、资产安全,更可以帮助司法部门科学取证,减少开支,成为促进平安校园建设有力支撑。但高校安防系统却有其特殊性,它既不同于社会化公共管理的普遍性,又不具有公安“天网工程”的强制性。它涉及高知人群对个人“自我独立”的尊重,因此对监视具有排斥性。另外多重监控不仅造成维护负担,资源浪费,还会因无效信息,降低有效率。从校方层面来讲,需要利用安保设备的智能化来提高防范水平,即安防设备的选型、安装与使用上,开发与应用智能联动产品与算法,以最少和最优的监控在师生管理和个人隐私保护上探寻平衡点,同时促进安防系统效能提升。
通过调研发现,监控系统智能化研究主要集中领域在物联网控制、物体移动、人像识别等方面,对如何利用算法实现提高监控利用效率以及做到有针对性的抓拍与跟踪,主要侧重于深度学习算法、数据分析等[1,2],或是利用智能传感设备实现对监控目标的动态感知等[3]。本文则是通过对监控区间各类物体移动特征进行归类分析,根据自动化顺序任务调度分析算法,通过分类优选和协调作业的方式来控制监控探头数量最少问题,即:(1)以改进调度算法FCFS算法(First Come First Service)[4,5]来解决监控冗余或重叠问题;(2)在多目标情况,建立动态智能队列,通过任务概率情况获得最小任务耗时,以获得优先级;(3)通过实验模拟算法任务处理最短耗时和队列排序的有效性。最后通过对遗漏视频的计算与统计来评估算法的效能和可靠性。
为发挥智慧校园监控系统的智能性与高效性,应以最少的监控数量,合理的布置方式来监视尽可能大的空间,促进校园和谐。但考虑到事件偶发性,因此需要利用带云台控制、自可调的摄像头,实现对图像的动态捕捉,以发现目标,自主判断并及时报警。
1.算法模型
根据调阅记录统计,平均每个摄像头有效监控的时间需要的视频不足总监控时间的1%,但摄像头持续空载,不仅会造成有用信息疏漏,还会生成大量无用信息。所以作为智能设备必须让设备有一个定时活动机制,既能避免过多无用的录入,也能在必要时获得及时触发跟踪与捕捉,目的是实现最小等待控制周期,才能提高监控运行效率。为实现监控摄像头联机动态的智能配合,可以对加工流水线的动态排队DP(Dynamic Priority)-FCFS算法[6]进行改进:假设在一个连续(走廊、街道)区间,监控摄像头是以周围面空间均匀分布,同时,在2个摄像头之间会有交叉重合区域,目标会在视线范围内随机出现,如图1所示:
在正常目标出现时,监控自主的转动角速度Vβ为:
图1 连续带云台摄像头物体跟踪布置图
(1)
α为监控起始角,β为移动物体与摄像头形成的夹角,r是摄像头扫描半径,v0为目标进入监控1区的初速,t为在该区内的运动时间。
其他情况则由处理任务决定,如摄像头初始工作角度,随机工作角度变化等,还包括各个区域的多个摄像头连续工作(24h)时,根据工业标准故障平均处理时间≈4h/年,故在此忽略不计,则最少等待时差Tw表示为[7]:
(2)
其中,最少处理耗时任务Taskijk为第i个摄像头的第j个操作任务,其中j∈[1,L]表示水平转动摄像头有L=16个工作角度,k∈[1,M]有6种工作模式(启动-定位-变焦-跟踪-抓拍-报警),此时工作状态Sj∈(0,1){1=工作|0=暂停},Vj为任务时间间隔,Tjk为完成第j个任务内在k模式所需时间,t为转角时间,N为1天内处理总任务数量,p为每个突发状况的平均概率。
这样以1天24h为周期,每台摄像头在某个状态区间段采取的随机具体任务taskijk的完整操作:
(3)
其中,在taskijk中,Tjk是第j个任务的第k个工作模式。遇到突发状况需要临时改变工作模式,势必影响这个摄像头录像进程,则:
(4)
表示m小于或等于1天不间断出现的所有突发状况的处理工作数,N∈m。
对1天之内,第i个摄像头,工作时间tijk,临时切换工作模式时间为tj。在j角度的第i个摄像头切换与第i+1的摄像头改变模式之间随时会有时间差,这样可以令:
(5)
Tdijk为摄像头i第j个角度工作模式k的完成时刻,td为角度切换延时。TdijM是完成监控模式耗时,Ti-all为摄像头i的整个操作耗时,t0是模式M切换耗时。这样在某时刻t,摄像头的各种状况R会有:转动搜寻Pm-目标处理Pp-异常报警Pa-暂停等待Pc-指令介入I,所以:
Pm+Pp+Pa+Pc=1,Pm,Pp,Pa,Pc∈{0,1}
(6)
此时,摄像头在第li个系列操作位置到第nj的位置,需经过Uj个角度:
(7)
int()是取整函数,从以上描述可知,在监控转动角度时,涉及各种可能的伴随动作,转动2个角度≠2*转动1个角度……,当考虑前后都有其他摄像头配合时,第i个摄像头就可以定义,从初始转动到某个角度,时间为tm=Tmx,x∈ [1,Uj],Uj=0,1,2,…,x,k种工作模式:
(8)
Z+表示正整数。摄像头在活动过程中,必然因处理随机问题进入状况R的某Px,使得:
(9)
摄像头在处理某工作状态taskijk时,突然又发生taskjp的工作情况p时,如果是本机任务,则需要占用时延,如果已经错过转角或捕捉目标进入i-1,i+1摄像头捕捉范围,则无需再进行处理造成耗时。
2.随机多目标情况
当在一条直线上出现多目标时,服从Gumbel概率分布,在各任务模式M间进行处理时,R(r)是对应的响应方式,设监控的感知误差ε(m)≤|e-m/r|,r∈R(m),m∈M,则r任务处理时长为:
T(m)r(v)=t(m)r(v)+ε(m)r
(10)
v作为目标运动轨迹速率,根据公式(1)-(8)得t(m)r(v):
(11)
(12)
根据Prob(m)r求解任务最小排队时间:
(13)
多个摄像头同时联机工作,必须遵循既定顺序,并根据预判情况,生成优先处理级别[8]:
1.正常操作,由智能后台协调各前端机头,统一对各个角度进行j操作,各机头按照各自模式以差角进行轮询处理,避免重复区间,根据出现目标先后顺序进行跟踪;
2.以某处最先捕捉目标摄像头开始进入持续锁定监视即k4模式,根据移动目标位置的变化,邻近摄像头i,i+1选择最近模式,判断后,如新摄像头进入k4模式,原摄像头继续在最后j点恢复成原工作模式taskijk;
3.在追踪到目标发生变化或其他突发情况时,进入公式(6)某状态Px模式区,当某摄像头另外遭遇情况时,该机头向总控系统发出预警信号,采用抢占式优先级,将其列为就绪序列中选择优先级最高的进程,后台根据DP-FCFS算法将该处理加入就绪序列的最前端[9],动态更新优先级,指挥机头进行Px作业,对系统Tjk进行评估,决定需要延续时长,调整优先序列。如果目标在该区域活动,则直接进入命令介入I状态。如果目标开始移动,进入到下一个邻近区间,就进入下一个顺序序列重新统计。
根据模型算法,可以实现最少Tw时间计算代码设计:
while(taskijk的一个操作周期)
{
分析图像,评估每一个角度的状态可能,开始进入改进DF-FCFS算法流程;
开始按Tjk节奏转动&操作;
if(发现画面有情况)then
{启动图像问题判断,启动Px操作}
if (需要启动变换操作) then
{累计突发延时,进入j操作;
根据画面情况启动k模式;
完成,进入Tdjk操作;
if (在j正常状态)then
{记录Tjk;
转动到j+1,摄像头正常处理
}
else {记录问题j点;
启动异常流程,累计TjM;
}
if((目标进入摄像头i+1区域)or(异常恢复))then continue;
}
根据目标进行Tijk跟踪;
}
统计总的Tw;
根据Tw最少原则,在1条道路区间,采用N个联机工作摄像头,彼此衔接处理目标,这样可以减少多个摄像头同时跟踪重复目标,将摄像头及时抽调处理监视其他方向,以提高工作效率。然后对每个摄像头控制队列算法:
目标任务进入动态队列Qn,迭代n=1,初始正常概率p(m)r=1;
while(n>0)
{
if(新目标出现) then n++;
while(每个目标x状态模式判断)
{for(j=1 to M)
{获得目标移动速度得vx,根据已经累计记录时间,计算t(j)r;
分别计算p(j)r(vx),Prob(j)r;
代入Prob(j)r,计算行程耗时min(T(v));
}
按照min(T(v))对目标在Qn内排队;
n--;
}
以Monte Carlo法作为收敛指标,if(满足) then {break;}
else{continue;}
}
通过以上算法最终获得在多目标多任务条件下动态队列的优先处理顺序,然后,根据序列实现对各类情况的图像记录或报警。
多角度的分开处理增加发现和记录突发状况比单角度更高概率。为了便于分析与计算,这里设各种问题的出现概率为p,目标单位时间平均通过个数率λ,摄像头所有状态角度的数量n,则有摄像头平均处理时间:
(14)
表1 工作流程变换表
参照图1在一条50m道路上平均布置若干个云台摄像头(莹石C6T v1.2,5m间隔,设每个摄像头视角为90°)(见图2),某摄像头及2邻近有重合区间摄像头循环扫描过程中,分别会出现各种情况,及在随机时刻出现的多个移动目标。各个靶车分别模拟随机多目标各类情况:正常(v0=0.3m/s)、突发、跟踪、变换。在图2(a)情况下,在某监控目标区,出现多个不同速率与间隔目标(图2(b)-A/B/C等),此时该摄像头(见图2(c)-I/II/III…)通过DP-FCFS程序自主目标扫描与定位,捕捉各个目标并记录。
图2 监控图像连续跟踪示意图
用python工具调用EZOpen SDK-NetworkUtilsJDController等指令函数实现对摄像头网络状态的获取,云台控制等,进行如图1所示的联动扫描控制系列操作。
连续测试多次摄像头构成协同作业链,以表1情况统计连续工作耗时,同时计算Tw时间开销,及人工操作平均耗时进行对比统计。通过程序matlab6.5模拟与根据实际测试验证计算结果,与FCFS,SJF标准算法进行统计比较获得表2统计数据:
表2 改进DP-FCFS与人工处理耗时统计对比表
从表2可知,改进DP-FCFS算法在处理多任务,随机出现目标时,通过多摄像头联机工作,利用重叠区及时传递任务,将自身处理突发状况时间能够降到最低,比传统FCFS调度算法要有优势,但在处理单目标任务时,对比传统FCFS调度算法优势不大。鉴于高校安保监视与取证需要,特别是在人/车流高峰期,要尽量减少突发状况目标画面丢失的机会,必须尽可能地采用信息冗余,增加保险系数。面对单目标时,处理简单,摄像头只有定位-聚焦-追踪-报警需要,不涉及多目标的各种情况策略判断与应对。但因为改进算法有优先级等待处理延时,所以本系统耗时比传统FCFS算法用时要长,好在目标单一时,单点处理时间充裕,因此可以被允许。但无论是改进还是传统FCFS算法,比其他算法如SJF等算法,都表现出了更高的算法效率[9]。
在扫描范围内,DP-FCFS根据队列任务处理概率优先级进行跟踪处理,这样在动态对出现多目标时,必定存在因多任务出现跟丢或滞后的情况,对丢失情况进行必要统计。这里根据影像标记的目标靶车time,参照靶车自带计时器(见图2(c)上的运动时间),及下一区间监控记录时间差为参照,比较可能出现的记录丢失情况,在相同任务条件下,对同类情况统计,取平均值得表3:
表3 监控跟踪情况丢失统计
续表3 监控跟踪情况丢失统计
从表3可以看出,受扫描范围限制和任务随机性,导致漏拍的可能也呈随机分布,无法用算法实现有效控制,如果不是需要记录做特别动作,根据常规监控目标的需要来看,在整个扫描全程记录的20-40s过程中,高速目标因具有高队列优先级而被优先记录,对低速目标会有1-2s的图像丢失(概率﹤2%-3%)无问题,遗漏是可接受的。并且随着目标出现数量的增加,目标间距的越来越小,各目标很快达到quasi-Monte Carlo收敛条件,任务队列Qn成为轮巡状态,使得整个漏拍的情况也呈下降态势而趋于平缓。
总之,本文针对监控摄像头只能顺线扫描的特点,采用改进的DP-FCFS的算法,通过最短进程效率优先和概率轮询调度,实现多任务优先级序列排队,以保证对突发情况的记录。同时因为多任务并发性,通过概率统计与最小时间计算获得任务扫描最优转换。最后模拟在实际环境下,不同多任务目标同时跟踪时的遗漏风险,实验证明通过后台算法控制摄像头可以记录统计在安全统计区间,不会对整个安全构成实质影响,整个改进算法可以运用于实际的校园监控场景。