近年来,现代物流业的飞速发展,使得仓库成为物流系统中的关键节点,保障仓库物资储存安全是现代仓库管理的重要内容。随着计算机网络技术、图像信息处理技术的不断更新和完善,利用计算机视觉技术及图像处理技术的智能化监控仓库管理将成为未来发展的必然趋势。相较于传统的监控系统,基于视觉处理的智能监控系统通过对移动目标的特征匹配进行不间断且实时稳定跟踪[1],能够发现异常并自动预警。
关于视频运动目标跟踪算法的研究有很多,大致可以分为四类:Meanshift算法、核心搜索算法、相似性度量算法和运动目标建模算法。文献[2]提出Meanshift算法经过特定条件的限制,可以用于目标物体跟踪。文献[3]针对Meanshift算法的局限性,利用surf和harris对算法进行改进,改进后的算法能够适应复杂环境下移动物体跟踪的性能。文献[4]基于粒子滤波算法,利用权值和蒙特卡洛来分析目标粒子概率分布,结果证明该算法适用于非线性视频监控系统的目标跟踪。文献[5]提出利用改进的带有记忆机制的粒子滤波算法来跟踪外观及形态发生激烈变化的目标物体,但目标跟踪的前提是要记录物体运动的历史轨迹,存在高度的空间复杂性。文献[6]针对Kalman滤波在动态环境下跟踪失败的问题,提出改进的自适应载波跟踪算法,算法能够自动调整系统权重和控制系统状态,具有较好的跟踪性能。文献[7]为了解决TLD算法的处理速度问题,提出利用Kalman滤波和Maclaurin模型来改进LTD追踪算法,提升了LTD算法的效率。文献[8]采用自适应学习率来改进背景模型,解决场景中光照突变和阴影区域对目标物体追踪的影响问题。
针对当前目标跟踪算法种类多样且性能各异,本文研究利用4种典型算法对仓库某监控区域内的运动目标进行跟踪实验,对算法的性能进行分析,从多项指标来对比各自的功能侧重点,选择综合性能最佳的改进Boosting算法作为仓库视频目标跟踪算法,为仓库管理实践中视频监控效果和准确性提供重要佐证。
Boosting算法是一种机器学习算法,它能够解决高维数据准确性问题,广泛应用于深度学习和模式识别中。该算法可将弱学习器通过集成提升至强学习器,主要是它在学习过程中进行了特征选择,将高维度空间中的每一组弱学习器视为一个特征,对若干特征进行学习并加权累计到总模型中,从而获得能够解决高维空间问题的强学习器。
算法通过改变每个样本相对应的权重获得不同训练集,首先为每个样本设置初始权重,在此训练样本分布下训练一个弱分类器h1(x),然后将该分类器看作一个特征进行学习[9],用它来更新其他样本权重,增加h1(x)错分的样本的权重,减少正确分类的样本的权重,从而突出错分的样本,并得出一个新的样本分布[10],在新的样本分布下,训练出新的弱分类器h2(x)并更新样本权重,重复此操作T次,由此得到T个基础弱分类器,将T个分类器按照权重进行累加,获得最终的强分类器[11]。算法训练过程如表1所示。
表1 Boosting算法描述 导出到EXCEL
算法1:Boosting算法 |
输入:训练集X及其对应标签y,迭代次数E 训练样本初始化权重:ω1ii1=1/N,(i=1,…,N),N表示样本总数 For e=1,…,E 对初始样本进行学习,得到基础弱分类器he∈{±1} 计算分类误差εe=∑Ni=1i=1Νωeiie ,yi≠he(Xe) if(εe≥1/2)then E←e-1 continue end if 令he的权重αe=(12)ln(1−εeεe)αe=(12)ln(1-εeεe) for i=1 to N 更新权重
ωe+1i=ωei*{(e−αe,he(Xe)=yieαe),he(Xe)≠yi)ωie+1=ωie*{(e-αe,he(Xe)=yieαe),he(Xe)≠yi)
end for i end for e |
输出:强分类器H(x)=sign(∑Ee=1e=1Eαehe(Xe)) |
Boosting算法存在精确性不足以及参数设置随机性较大等缺陷,容易出现跟踪误差。本文通过对跟踪过程中目标的特征进行在线更新,当特征在跟踪区域生成之后,利用特征值服从高斯分布来区分目标或是背景区域,同时使用Kalman filter实时在线更新分布,估算特征置信度,从而有效降低累计误差和跟踪目标丢失等问题[12],主要过程为:
利用算法中的强分类器得到置信度Conf(x),当Conf(x)>threshold1(0.8)时,将跟踪的目标区域作为正样本(x,1),将其他同等背景区作为负样本,当追踪到新样本(x,y),y∈(0,1)时,则更新特征(m),如式(1)、式(2)所示。
λcorrm+=λxn−1,hm(x)=y (1)λwrongm+=λxn−1,hm(x)≠y (2)λmcorr+=λn-1x,hm(x)=y(1)λmwrong+=λn-1x,hm(x)≠y(2)
选择累计错误率最小的特征作为弱分类器,由N个弱分类器hn(x)组成强分类器H(x),如式(3)所示。
H(x)=sign(∑Nn=1αnhseln(x)) (3)Η(x)=sign(∑n=1Ναnhnsel(x))(3)
采用强分类器定位目标新位置,如式(4)所示。
Conf(xneww)=argmax1≤w≤W(∑Nn=1αnhseln(xneww)) (4)Conf(xwnew)=argmax1≤w≤W(∑n=1Ναnhnsel(xwnew))(4)
当Conf(x)<threshold2(0.4)时,利用检测模型获取目标位置信息并输入算法跟踪模块,利用置信度判断分析。
当threshold2<Conf(x)<threshold1时,随机选择除目标之外的背景区域作为一个负样本(x,0),同上式(1)—(4)操作更新特征。
将上述四种算法在某仓库视频监控图像(包括仓库出入口和仓库内)序列上进行测试,验证算法的有效性和综合性能。实验环境说明:
(1) 实验视频数据共999祯,实现代码为每个目标创建跟踪器,并记录出每个移动对象的坐标、所在视频帧等信息,为生成轨迹做准备。
(2) 这里对每个跟踪器所创建的对象,如果超过5帧没有检测到目标,则认为检测失败或者目标已经离开摄像头视域,销毁该对象,因为多目标跟踪创建跟踪器十分耗费CPU资源。
(3) 运动目标数,是当跟踪器准确跟踪运动目标10帧以上才打印出来的,以免漂移现象产生干扰,如表2所示。
从表格1所列数据,得到的分析结果如下:
KCF算法处理最快,但该方法得到运动目标数目少,创建跟踪器数目多,目标丢失对象严重。
MIL算法耗时最多,但是整体看来,基本没有漂移现象,跟踪还算准确,目标数目大于实际数目,说明对视频中的跟踪目标存在丢失现象,但是又重新跟踪了。经分析认为是原跟踪器已经销毁,新创建的跟踪器将原跟踪器跟踪的目标定义为新的目标。
改进Boosting算法所用时间相比MIL有很大改善,得到运动目标数目与实际数目相当,因此可以说是相对准确了,但是创建跟踪器个数比MIL多,在运动目标跟踪初始阶段容易产生丢失现象,对于中间的目标,相对稳定。
TLD算法没有展现出良好的性能,对于运动目标不断的丢失,不断的创建跟踪器,导致得到运动目标数目比实际多出很多,提取前景之所以多于无跟踪器时,主要是不同跟踪器对于同一个前景重复提取。
表2 运动目标跟踪实验结果 导出到EXCEL
算法 |
用时(s) | 运动目标数 | 提取前景数 | 漂移现象 | 是否丢失 | 创建跟踪器个数 |
KCF |
48.33 | 6 | 344 | 基本无 | 严重 | 34 |
MIL |
90.13 | 13 | 552 | 存在 | 极少 | 15 |
改进Boosting |
64.48 | 11 | 504 | 存在 | 很少 | 20 |
TLD |
74.03 | 20 | 765 | 严重 | 基本无 | 32 |
原始视频 |
45.76 | 11(人工统计) | 633 | \\ | \\ | \\ |
表2最后一行所列的是原始视频播放的时间、人工统计的运动目标数目、运动检测算法提取的前景数目等信息,以为跟踪算法提供比对参考。如图1所示。
实验的实际效果图,从视频中跟踪运动的多目标,并画出轨迹,其中图片中的黑色方框是进行前景提取所获得的运动目标,绿色方框是跟踪区域,而红色线则是画出来的运动轨迹。
从图1中可以看出KCF算法的缺点,即对于运动目标的跟踪存在缺失。从黑框与绿框的重合度也可以在一定程度上看出KCF的漂移现象并不是很明显。
从图2可以看出,MIL算法相比于KCF算法跟踪效果已经好了很多,运动目标路径相对完整,但是相比于KCF,MIL表现出了可能存在的更为严重的漂移现象,如图2所示。
从图3可以看出,改进Boosting算法相比于KCF、MIL算法已经有了相对明显的改进效果,如图3所示。
从图4可以看出,相比于图(3)漂移现象已经产生,接下来就极有可能会产生跟踪目标的失败。
从图1至图1的视觉效果及表2的各项指标判断分析,改进Boosting算法的跟踪效果和综合性能都是最佳的。
本文在对改进的Boosting算法进行研究的基础上,采用实验手段,通过实际测试的效果和各项指标的对比,来验证算法的性能。Boosting算法能够很好的跟踪运动目标路径,基本不存在目标跟踪缺失问题,同时能够避免运动目标漂移现象的产生。因此,将其作为仓库智能视频监控算法具有重要的实践意义。同时本文的研究和实验也存在不足之处,比如没有考虑到运动目标被遮挡以及复杂的背景等情况,在考虑这些情况的前提下,如何进一步提高算法的鲁棒性是未来要研究的内容之一。
标签:
下一篇: 7S管理在中药仓库管理中的应用