抗多次遮挡和颜色干扰的识别跟踪方法及系统的制作方法
【专利摘要】本发明提供了一种抗多次遮挡和颜色干扰的识别跟踪方法及系统,其通过用识别结果初始化跟踪窗口,实现了对特定目标的跟踪,解决了CamShift跟踪需要手动初始化跟踪目标的不足,本发明通过设置目标受到遮挡和颜色干扰的判断以及离开遮挡和颜色干扰区域的判断从而采取与Kalman滤波不同的结合策略,并且同时考虑了遮挡和颜色干扰两种情况,使得CamShift跟踪可以有效避免多次大面积相似颜色干扰和严重遮挡对跟踪的影响。
【专利说明】
抗多次遮挡和颜色干扰的识别跟踪方法及系统
技术领域
[0001] 本发明涉及识别跟踪领域,具体地,涉及抗多次遮挡和颜色干扰的识别跟踪方法 和系统。
【背景技术】
[0002] 识别问题是一个特征向量的分类问题,本发明采用训练过的SVM(支持向量机,是 Vapnik于1995年最早提出的兼顾结构风险和经验风险最小的一种有监督的机器学习算法, 广泛地应用在分类和函数回归方面)识别出包装箱,并用识别结果初始化CamShift跟踪窗 □ 〇
[0003] 现有跟踪技术中的Camshift算法存在诸多不足:(1)手动初始化目标窗口不能满 足自动化要求。(2)CamShift算法的跟踪是建立在目标HSV颜色空中Η分量的概率分布直方 图的基础之上,容易受相似颜色的干扰而导致跟踪目标丢失。(3)遇到噪声干扰或目标被遮 挡等问题时容易陷入局部最大值,同时对快速运动目标往往跟踪失败,且无法从失败中复 原。
[0004] 为了解决CamShift跟踪在目标受到遮挡和颜色干扰后导致跟踪失败的问题,通常 考虑的方法是结合Kalman滤波器改进CamShift跟踪算法,目前改进的方法主要分为两类, 第一类是用CamShift跟踪结果作为Kalman滤波器的测量值,用Kalman的预测值作为下一帧 CamShift跟踪算法的起始窗口。这种改进方法可以在一定程度上抑制噪声和小面积相似颜 色干扰对跟踪稳定性的影响,使得跟踪更加平稳,但实验表明这种方法在严重遮挡和大面 积相似颜色干扰时仍然会导致跟踪目标丢失。第二类是设置相应的遮挡和颜色干扰的判断 条件,根据不同情况采取不同的结合策略从而避免严重遮挡和大面积颜色干扰对跟踪的影 响。在文献《基于Kalman预测器的改进的CAMShift目标跟踪》中,闫钧华等用当前目标与目 标模型两个直方图的匹配系数Bhattacharyya系数的大小与阈值0.4比较,比阈值小则判断 为目标开始被遮挡,并且用最小面积判断遮挡程度。但实验发现目标颜色单一时,目标被遮 挡后的概率分布直方图和目标模型的概率分布直方图分布相近,此时Bhattacharyya系数 与正常跟踪过程中的Bhattacharyya系数相差不大,因此用Bhattacharyya系数的大小来判 断目标是否开始受到遮挡显然是不合理的。
[0005] Camshift算法跟踪流程
[0006] 传统的CamShift算法(Continuously Adaptive Mean-Shist,连续自适应的 MeanShift算法)跟踪流程,包括步骤:
[0007] 步骤(1):读取图像,将该图像由RGB颜色空间投影到HSV颜色空间后,提取Η通道图 像;
[0008] 步骤(2):判断是否有目标模型;若是,则进入步骤(4)继续执行,若否,则进入步骤 (3)继续执行;
[0009] 步骤(3):手动选择目标,计算目标的概率分布直方图;
[0010] 步骤(4):反向投影得到概率图,具体为:将Η通道图像中每个像素值用该值在目标 的概率分布直方图中对应的概率值代替,并将结果映射到灰度值范围,例如映射到0到255 之间(指包含端点〇和255的数值范围,即Ο,1,2,…,255)。
[0011 ] 步骤(5):在概率图中用MeanShif t算法计算目标质心的位置坐标(X。,y。),具体包 括:通过如下公式(公式(1-1)、公式(1-2))计算质心的位置坐标,反复迭代直到收敛:
[0014] 其中,M〇()、M()i、Mi()为中间量,P(x,y)表示概率图中的点(x,y)处的概率值,(x,y)的 范围为跟踪窗口中的所有像素,X表示跟踪窗口中像素的行坐标,y表示跟踪窗口中像素的 列坐标,x c表示目标质心在跟踪窗口中的行坐标,yc表示目标质心在跟踪窗口中的列坐标;
[0015] 步骤(6):通过如下公式(公式(1-3)到(1-7))调整椭圆旋转角度、椭圆长轴、椭圆 短轴,返回步骤一继续执行:
[0021 ] 其中,]\1〇2、]/[2()、]/[11、3、13、(3为中间量,9表不椭圆旋转角度,《表不椭圆短轴,11表不椭 圆长轴;将[1。,7。,9,《,11]这五个参数限定的椭圆作为跟踪窗口。
[0022] Kalman滤波原理
[0023 ] Ka 1 man滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法。 Kalman将状态空间的概念引入随机估计理论中,将信号过程看作白噪声作用下的一个线性 系统的输出,用状态方程来描述这种输入一输出关系。估计过程中利用系统状态方程、观测 方程和白噪声激励(系统过程噪声和观测噪声)的统计特性构成滤波算法。
[0024] 不考虑控制作用,设随机离散线性系统可以描述为:
[0025] Xk = Ak,k-iXk-i+rk,k-Λ-1 (2-1)
[0026] Zk = HkXk+Vk (2-2)
[0027] 式中41{是随机离散线性系统的n维状态向量,Xh是随机离散线性系统的n维状态 向量,Zk是随机离散线性系统的m维观测向量;WAp维系统过程噪声向量;Ak,η为ηΧη维状 态转移矩阵;Hk是m X η维测量矩阵;Γ k,^是η X ρ维噪声输入;Vk是m Xm维观测噪声矩阵;下 标k表不k时刻,下标k_l表不k时刻的前一时刻,下标k,k_l表不k时刻的前一时刻至k时刻; [0028] 对于过程噪声和观测噪声,假设:
[0030] 式中:Qk是Wk的p Xp维对称非负定方差矩阵;Rk是Vk的mXm维对称正定方差矩阵; Skj是克罗内克函数(Kronecker-δ克罗内克函数);E( ·)表示期望值,W」表示p维系统过程噪 声向量,Vj表示m X m维观测噪声矩阵;下标j表示不同于k时刻的j时刻。
[0031] 随机离散系统的五个Ka lman滤波基本方程
[0032]如果被估计状态向量Xk和观测向量Zk满足式子(2-1 )、( 2-2)的约束,过程噪声和观 测噪声满足式子(2-3)的假设,并且已经获得k-Ι时刻对Xh的最优估计可以按如下 方程求解k时刻的最优估计ip
[0033] 状态的一步预测:
[0034] % ^ :(2-4)
[0035] 估计误差方差的一步预测:
[0036] Pyt,*-! = + Γ(2:-5)
[0037] 最优估计:
[0038] Xk = Xi%+ Κ?_[Ζ? -HA] (2-6)
[0039] Kalman 增益:
[0040] & =PW_-成 +RJ1 (2_7)
[0041] 估计误差协方差矩阵:
[0042] P.-tl-K.HJR, + (2-8)
[0043] 其中(2-7)可以进一步写成:
[0044] Κ^Ρ,ΗΙΧΓ1 (2-9)
[0045] (2-8)可以进一步改写成:
[0046] Pk=[I-KkHk]Pk,k-1 (2-10)
[0047] 式子(2-4)到(2-8)为5个Kalman递推估计的基本方程,只要给定一个初始状态量 和估计误差方差矩阵p〇,根据k时刻的观测向量z k就可以递推计算得到k时刻的最优估计 X。
[0048] 其中,或.表示状态的一步预测,Ak,k-i表示ηΧη维状态转移矩阵,Pk,k-i表示估计 误差方差的一步预测,Ρη表示估计误差协方差矩阵,Qk-i表示Wk-^pXp维对称非负定方差 矩阵,Kk表示Kalman增益。
[0049] Kalman滤波修正模型(Kalman滤波器)的建立
[0050] 在用Kalman滤波递归模型前需要初始化参数,具体需要初始化状态向量、观测向 量、过程噪声矩阵、观测噪声矩阵、误差协方差矩阵并需要给定初始状态值。
[0051 ]在跟踪过程中最关心的是跟踪窗口的大小和位置,这些参数不仅能反应目标的位 移速度、变形等信息,也是能否使得跟踪继续进行的关键。将跟踪窗口的大小和位置及其变 化看作是高斯白噪声作用下的随机过程,则随机离散线性系统状态模型:
[0052] Xk = Ak|k-iXk-i+ffk-i (2-11)
[0053] 其中,Ak|k-i表示k-1时刻对应帧的状态量到k时刻对应帧的状态量的转移矩阵;其 中,k-Ι时刻对应帧为第k-Ι帧,k时刻对应帧为第k帧;
[0054]随机离散线性系统测量模型:
[0055] Zk = HkXk+Vk (2-12)
[0056] 上式中Xk为k时刻对应帧(第k帧)的状态向量和Zk为观测向量,定义如下:
[0058]其中xk,yk,wk,hk分别为k时刻跟踪窗口的中心坐标值、窗口的宽度和高度,vx,k, vy, k,Vw, k,vh, k,ax, k,ay, k,aw, k,ah, k分别为对应下标在k时刻的变化速度和加速度。
[0059]由牛顿定律可知:
[0061]再假设k时刻的加速度与k-Ι时刻的加速度相同,这样就可以得到转移矩阵Ak|k- 1: [0063]由式子(2-12) (2-13)可得测量矩阵Hk:
[0065] 式子(2-15)中的t为相邻两帧之间的时间间隔取0.025s。式子(5-12) (5-13)中的 Wk,Vk分别是系统过程噪声和观测噪声,假定均为高斯白噪声并且符合式子(5-3)的假定,其 协方差分别为Q,R(假定其值不随系统发生变化),分别定义为:
[0068] 至此已经定义了随机离散线性系统状态模型和随机离散线性系统测量模型中的 参数,只要给定一个X〇和P〇就可以根据第k帧的观测向量得到一个最优值。一般P〇对系统的 稳定性影响不大,但值得注意的是,Kalman在迭代开始时由于误差协方差的作用估计值也 有较大的偏差,但随着迭代的进行会逐渐稳定,因此,用连续10帧的CamShift跟踪得到的跟 踪窗口作为测量值更新Kalman滤波器调整P,此后认为P稳定,估计值可靠。因此Xo和Po的值 可以随意定,只是Po最好不要取0,因为这样系统会认为预测值是完全可靠的。
【发明内容】
[0069] 针对现有技术中的缺陷,本发明的目的是提供一种抗多次遮挡和颜色干扰的识别 跟踪方法。本发明通过训练过的SVM模型识别出包装箱,经过图像处理后得到包装箱轮廓, 将轮廓的外接矩形初始化CamShift跟踪窗口,并且将CamShift算法与Kalman滤波相结合, 解决包装箱在受到多次严重遮挡和大面积颜色干扰时导致跟踪失败的问题。
[0070] 根据本发明提供的一种抗多次遮挡和颜色干扰的识别跟踪方法,包括:
[0071] 步骤S1:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帧图像;初始化 目标模型标识为假;初始化遮挡或颜色干扰标识为假;
[0072] 步骤S2:将跟踪窗口中的图像由RGB颜色空间投影到HSV颜色空间后,提取Η通道图 像;
[0073]步骤S3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为 跟踪窗口含有目标,进入步骤S4继续执行,以对Η通道图像进行反向投影;若目标模型标识 为假,则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值 为真,进入步骤S4继续执行,以对概率分布直方图出进行反向投影;
[0074]步骤S4:反向投影得到目标的概率图;
[0075]步骤S5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存 当前跟踪窗口的大小pre,进入步骤S6继续执行,否则,则进入步骤S6继续执行;
[0076] 步骤S6:基于概率图利用CamShift算法进行跟踪;
[0077]步骤S7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则进入步骤 S8继续执行,否则进入步骤S9继续执行;
[0078]步骤S8:使用Kalman滤波器的预测值中的位置坐标作为当前帧图像的跟踪窗口的 位置坐标,使用pre作为当前帧图像的跟踪窗口的大小的固定值;用当前帧图像的跟踪窗口 的位置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡 或颜色干扰标识赋值为假;进入步骤10继续执行;
[0079]步骤S9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帧图像的跟踪 窗口的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;进入步骤10继续执行;
[0080] 步骤S10:将Kalman滤波器的预测值作为结果输出;读取下一帧图像,返回步骤S2 继续执行。
[0081 ]优选地,所述初始化目标的跟踪窗口的步骤,包括:
[0082]利用分类器从图像中得到包装箱的轮廓,将包装箱的轮廓的外接矩形作为跟踪窗 □ 〇
[0083]优选地,在步骤S7中,判断目标是否被遮挡的步骤包括:
[0084]步骤S7.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0085]步骤S7.B:计算直方图相关系数:
[0088] 其中,d (m,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;m (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0089]步骤S7. C:若(1(?,H2)大于开始遮挡阈值W,则认为目标被遮挡;否则,则认为目标 没有被遮挡;
[0090]在步骤S7中,判断目标是否被颜色干扰的步骤包括:
[0091 ]步骤S7. a:判断目标面积是否大于开始颜色干扰阈值;若是,则认为目标受到颜色 干扰;否则,则认为目标没有受到颜色干扰。
[0092]优选地,在步骤S8中,判断目标是否脱离遮挡的步骤包括:
[0093]步骤S8.A:得到当前跟踪窗口中图像的概率分布直方图H3;
[0094]步骤S8. A:计算直方图相关系数:
[0097] 其中,(Km,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;Hi (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0098] 步骤S8.C:若cKHhftO大于离开遮挡阈值α2,则认为目标脱离遮挡;否则,则认为目 标没有脱离遮挡;
[0099]在步骤S8中,判断目标是否脱离颜色干扰的步骤包括:
[0100]步骤S8.a:判断CamShift算法当前的迭代次数是否小于脱离颜色干扰阈值;若是, 则认为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。
[0101] 根据本发明提供的一种抗多次遮挡和颜色干扰的识别跟踪系统,包括:
[0102] 装置Ml:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帧图像;初始化 目标模型标识为假;初始化遮挡或颜色干扰标识为假;
[0103] 装置M2:将跟踪窗口中的图像由RGB颜色空间投影到HSV颜色空间后,提取Η通道图 像;
[0104] 装置M3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为 跟踪窗口含有目标,触发装置Μ4继续执行,以对Η通道图像进行反向投影;若目标模型标识 为假,则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值 为真,触发装置Μ4继续执行,以对概率分布直方图出进行反向投影;
[0105] 装置Μ4:反向投影得到目标的概率图;
[0106] 装置Μ5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存 当前跟踪窗口的大小pre,触发装置Μ6继续执行,否则,则触发装置Μ6继续执行;
[0107] 装置M6:基于概率图利用CamShift算法进行跟踪;
[0108] 装置M7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则触发装置 M8继续执行,否则触发装置M9继续执行;
[0109] 装置M8:使用Kalman滤波器的预测值中的位置坐标作为当前帧图像的跟踪窗口的 位置坐标,使用pre作为当前帧图像的跟踪窗口的大小的固定值;用当前帧图像的跟踪窗口 的位置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡 或颜色干扰标识赋值为假;触发装置10继续执行;
[0110]装置M9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帧图像的跟踪 窗口的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;触发装置10继续执行;
[0111]装置M10:将Kalman滤波器的预测值作为结果输出;读取下一帧图像,触发装置M2 继续执行。
[0112] 优选地,所述初始化目标的跟踪窗口,具体是利用分类器从图像中得到包装箱的 轮廓,将包装箱的轮廓的外接矩形作为跟踪窗口。
[0113] 优选地,在装置M7中,判断目标是否被遮挡的装置包括:
[0114] 装置M7.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0115]装置M7. B:计算直方图相关系数:
[0118] 其中,d (m,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;Hi (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0119]装置M7.C:若cKHlHs)大于开始遮挡阈值αι,则认为目标被遮挡;否则,则认为目标 没有被遮挡;
[0120]在装置Μ7中,判断目标是否被颜色干扰的装置包括:
[0121 ]装置Μ7. a:判断目标面积是否大于开始颜色干扰阈值;若是,则认为目标受到颜色 干扰;否则,则认为目标没有受到颜色干扰。
[0122] 优选地,在装置M8中,判断目标是否脱离遮挡的装置包括:
[0123] 装置M8.A:得到当前跟踪窗口中图像的概率分布直方图H3;
[0124] 装置M8. A:计算直方图相关系数:
[0127] 其中,(Km,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;m (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0128] 装置M8.C:若cKHhftO大于离开遮挡阈值α2,则认为目标脱离遮挡;否则,则认为目 标没有脱离遮挡;
[0129] 在装置Μ8中,判断目标是否脱离颜色干扰的装置包括:
[0130] 装置Μ8.a:判断CamShift算法当前的迭代次数是否小于脱离颜色干扰阈值;若是, 则认为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。
[0131] 优选地,将目标未受到遮挡且未受到颜色干扰情况下的历次目标面积的最大值的 μ倍作为开始颜色干扰阈值,μ e [ 1.2,1.5 ]。
[0132] 优选地,将CamShift算法的最大迭代次数的λ倍作为脱离颜色干扰区域的阈值,λ ε(0.5,0·8)〇
[0133] 优选地,在步骤7和步骤8中与阈值CH、α2对比的值可以是同一个值。
[0134] 与现有技术相比,本发明具有如下的有益效果:
[0135] 本发明通过用识别结果初始化跟踪窗口,实现了对特定目标的跟踪,解决了 CamShift跟踪需要手动初始化跟踪目标的不足,本发明通过设置目标受到遮挡和颜色干扰 的判断以及离开遮挡和颜色干扰区域的判断从而采取与Kalman滤波不同的结合策略,并且 同时考虑了遮挡和颜色干扰两种情况,使得CamShift跟踪可以有效避免多次大面积相似颜 色干扰和严重遮挡对跟踪的影响。
【附图说明】
[0136] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[0137] 图1为传统的CamShift算法跟踪流程图。
[0138] 图2为本发明的跟踪方法流程图。
【具体实施方式】
[0139] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术 人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术 人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明 的保护范围。
[0140] 根据本发明提供的一种抗多次遮挡和颜色干扰的识别跟踪方法,包括:
[0141]步骤S1:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帧图像;初始化 目标模型标识为假;初始化遮挡或颜色干扰标识为假;
[0142] 步骤S2:将跟踪窗口中的图像由RGB颜色空间投影到HSV颜色空间后,提取Η通道图 像;
[0143]步骤S3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为 跟踪窗口含有目标,进入步骤S4继续执行,以对Η通道图像进行反向投影;若目标模型标识 为假,则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值 为真,进入步骤S4继续执行,以对概率分布直方图出进行反向投影;
[0144] 步骤S4:反向投影得到目标的概率图;
[0145] 步骤S5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存 当前跟踪窗口的大小pre,进入步骤S6继续执行,否则,则进入步骤S6继续执行;
[0146] 步骤S6:基于概率图利用CamShift算法进行跟踪;
[0147]步骤S7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则进入步骤 S8继续执行,否则进入步骤S9继续执行;
[0148] 步骤S8:使用Kalman滤波器的预测值中的位置坐标作为当前帧图像的跟踪窗口的 位置坐标,使用pre作为当前帧图像的跟踪窗口的大小的固定值;用当前帧图像的跟踪窗口 的位置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡 或颜色干扰标识赋值为假;进入步骤10继续执行;
[0149] 步骤S9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帧图像的跟踪 窗口的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;进入步骤10继续执行;
[0150] 步骤S10:将Kalman滤波器的预测值作为结果输出;读取下一帧图像,返回步骤S2 继续执行。
[0151] 优选地,所述初始化目标的跟踪窗口的步骤,包括:
[0152] 利用分类器从图像中得到包装箱的轮廓,将包装箱的轮廓的外接矩形作为跟踪窗 □ 〇
[0153] 优选地,在步骤S7中,判断目标是否被遮挡的步骤包括:
[0154] 步骤S7.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0155] 步骤S7.B:计算直方图相关系数:
[0158] 其中,d (m,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;Hi (m)表示概率分 布直方图出中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;專为中间量;
[0159] 步骤S7. C:若(1(?,H2)大于开始遮挡阈值W,则认为目标被遮挡;否则,则认为目标 没有被遮挡;
[0160] 在步骤S7中,判断目标是否被颜色干扰的步骤包括:
[0161 ]步骤S7. a:判断目标面积是否大于开始颜色干扰阈值;若是,则认为目标受到颜色 干扰;否则,则认为目标没有受到颜色干扰。
[0162] 优选地,在步骤S8中,判断目标是否脱离遮挡的步骤包括:
[0163] 步骤S8.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0164] 步骤S8. A:计算直方图相关系数:
[0167] 其中,(Km,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;m (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0168] 步骤S8.C:若cKHhftO大于离开遮挡阈值α2,则认为目标脱离遮挡;否则,则认为目 标没有脱离遮挡;
[0169] 在步骤S8中,判断目标是否脱离颜色干扰的步骤包括:
[0170] 步骤S8.a:判断CamShift算法当前的迭代次数是否小于脱离颜色干扰阈值;若是, 则认为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。
[0171] 根据本发明提供的一种抗多次遮挡和颜色干扰的识别跟踪系统,包括:
[0172]装置Ml:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帧图像;初始化 目标模型标识为假;初始化遮挡或颜色干扰标识为假;
[0173] 装置M2:将跟踪窗口中的图像由RGB颜色空间投影至ijHSV颜色空间后,提取Η通道图 像;
[0174] 装置M3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为 跟踪窗口含有目标,触发装置Μ4继续执行,以对Η通道图像进行反向投影;若目标模型标识 为假,则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值 为真,触发装置Μ4继续执行,以对概率分布直方图出进行反向投影;
[0175] 装置Μ4:反向投影得到目标的概率图;
[0176] 装置Μ5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存 当前跟踪窗口的大小pre,触发装置Μ6继续执行,否则,则触发装置Μ6继续执行;
[0177] 装置M6:基于概率图利用CamShift算法进行跟踪;
[0178] 装置M7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则触发装置 M8继续执行,否则触发装置M9继续执行;
[0179] 装置M8:使用Kalman滤波器的预测值中的位置坐标作为当前帧图像的跟踪窗口的 位置坐标,使用pre作为当前帧图像的跟踪窗口的大小的固定值;用当前帧图像的跟踪窗口 的位置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡 或颜色干扰标识赋值为假;触发装置10继续执行;
[0180]装置M9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帧图像的跟踪 窗口的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;触发装置10继续执行;
[0181] 装置M10:将Kalman滤波器的预测值作为结果输出;读取下一帧图像,触发装置M2 继续执行。
[0182] 优选地,所述初始化目标的跟踪窗口,具体是利用分类器从图像中得到包装箱的 轮廓,将包装箱的轮廓的外接矩形作为跟踪窗口。
[0183] 优选地,在装置M7中,判断目标是否被遮挡的装置包括:
[0184] 装置M7.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0185] 装置M7. B:计算直方图相关系数:
[0188] 其中,d (m,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;m (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0189]装置M7.C:若cKHhftO大于开始遮挡阈值αι,则认为目标被遮挡;否则,则认为目标 没有被遮挡;
[0190]在装置Μ7中,判断目标是否被颜色干扰的装置包括:
[0191 ]装置Μ7. a:判断目标面积是否大于开始颜色干扰阈值;若是,则认为目标受到颜色 干扰;否则,则认为目标没有受到颜色干扰。
[0192] 优选地,在装置M8中,判断目标是否脱离遮挡的装置包括:
[0193] 装置M8.A:得到当前跟踪窗口中图像的概率分布直方图H2;
[0194] 装置M8. A:计算直方图相关系数:
[0197] 其中,(Km,H2)表示m、H2之间的直方图相关系数;Μ表示直条数;m (m)表示概率分 布直方图^中的第m个直条;H2(m)表示概率分布直方图H2中的第m个直条;
[0198] 装置M8.C:若cKHhftO大于离开遮挡阈值α2,则认为目标脱离遮挡;否则,则认为目 标没有脱离遮挡;
[0199] 在装置M8中,判断目标是否脱离颜色干扰的装置包括:
[0200] 装置M8.a:判断CamShift算法当前的迭代次数是否小于脱离颜色干扰阈值;若是, 则认为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。
[0201 ]优选地,将目标未受到遮挡且未受到颜色干扰情况下的历次目标面积的最大值的 μ倍作为开始颜色干扰阈值,μ e [ 1.2,1.5 ]。
[0202] 优选地,将CamShift算法的最大迭代次数的λ倍作为脱离颜色干扰区域的阈值,λ ε(0.5,0·8)〇
[0203] 优选地,在步骤7和步骤8中与阈值cn、α2对比的值可以是同一个值。
[0204] 下面对本发明进行更为详细的描述:
[0205] 跟踪窗口初始化步骤:初始化目标的跟踪窗口
[0206]所述初始化跟踪窗口步骤,包括:利用分类器从图像中得到包装箱的轮廓,将包装 箱的轮廓的外接矩形作为跟踪窗口。例如利用颜色特征分类器或者轮廓特征分类器从图像 中得到包装箱的轮廓。
[0207] 颜色特征提取步骤:采用工业相机MV-EM120C(S/N: 00211492)采集不同光照下含 有物流包装箱的10幅图像,图片规格为520X520。除去图片背景部分并裁剪成20X20的子 图。从每幅图片中选择10个子图作为样本得到共100张正样本图片。这样就可以得到来源于 物流包装箱不同部位的颜色特征。用同样的方法获取不含有物流包装箱的100张负样本图 片,即,采用工业相机MV-EM120C(S/N:00211492)采集不同光照下不含有物流包装箱的10幅 图像,图片规格为520X520。除去图片背景部分并裁剪成20X20的子图。从每幅图片中选择 10个子图作为样本得到共100张负样本图片。
[0208] 计算样本图片(包括正样本图片和负样本图片)的特征向量,具体为:采用样本图 片的各通道的均值作为一个样本图片的特征向量[R,G,B,R-G,R-B,G-B],其中,R表示红色 通道均值,G表示绿色通道均值,B表示蓝色通道均值;得到所有正样本图片和负样本图片的 颜色特征向量C:
[0209] C=[Ci,C2,C3,C4,C5,C6];
[0211] 其中,?41」)^1」)、?"1,」)分别表示样本图片中第1行第」列子图的红色通 道、绿色通道、蓝色通道的均值,M、N分别为样本图片中子图的行数、列数。本实施例中优选 采用 M=N=20。
[0212] 颜色特征分类器:将颜色特征向量C作为支持向量机的输入训练支持向量机得到 颜色特征分类器,用颜色特征分类器对待分类图像中的颜色进行判别,保留待分类图像中 属于包装箱一类的所有像素,设置待分类图像中背景一类的像素的红绿蓝分量为(〇,〇,〇), 然后将待分类图像经过图像滤波、灰度化、二值化、腐蚀膨胀、提取轮廓、轮廓筛选等处理得 到包装箱的轮廓;将轮廓的外接矩形作为跟踪窗口。
[0213] 优选地,图像二值化的阈值取[90,130]之间的值,轮廓筛选可以根据轮廓的面积、 圆度、直线度等几何特征制定相应的筛选规则。
[0214] 除了颜色特征分类器,在变化例中,也可以事先将不同包装箱的轮廓的几何特征 作为特征向量训练支持向量机得到包装箱的轮廓特征分类器,用该轮廓特征分类器得到包 装箱的轮廓。
[0215] 遮挡的判断
[0216] 利用目标被遮挡时目标面积会减小这一信息来判断目标开始受到遮挡,具体的做 法是记录20次目标面积减小中的最小面积减小值的β倍作为阈值,比该阈值大则判断为目 标开始受到遮挡,〇〈β〈1,优选的β取〇. 8。
[0217] 目标一部分进入遮挡区域后,跟踪窗口中的像素一部分为目标、一部分为背景,此 时跟踪窗口中像素的直方图与目标模型的直方图有差异,当目标完全进入遮挡区域后,这 种差异会达到最大,采用直方图的相关系数作为直方图的相似性判断。
[0218]若有两个直方图压和出,它们均有Μ个直条(bin)。则直方图相关系数为:
[0221]两个直方图的相关系数越大则表明两个直方图越匹配,定义阈值αι、α2用来记录目 标何时开始遮挡严重,何时离开遮挡区域,本发明中<^取〇. 3,〇2取0.6。相关系数为0.3时判 断为目标遮挡严重,当此后若相关系数大于〇. 6则判断为目标开始离开遮挡区域。
[0222]颜色干扰的判断
[0223] 将CamShift算法的迭代次数的变化作为目标是否离开颜色干扰区域的判断。本发 明用CamShift算法容许的最大迭代次数的λ倍作为阈值,λε (〇. 5,0.8),比阈值小则认为目 标离开了颜色干扰区域,否则认为目标没有离开颜色干扰区域。用目标正常跟踪过程中目 标面积的最大值的μ倍作为阈值,ye [1.2,1.5],优选的μ取1.2。目标面积比阈值大则认为 受到相似颜色干扰,否则认为没有受到相似颜色干扰。
[0224] 本发明在目标在没有受到遮挡时将Kalman滤波器的预测值作为当前帧的目标位 置和大小,利用CamShift算法得到的目标位置和跟踪窗口的大小作为Kalman滤波器的观测 值更新Kalman滤波器的误差协方差矩阵。当目标受到遮挡时,CamShift跟踪得到的目标大 小和位置均不是目标的实际位置和大小,此时不宜将CamShift算法得到跟踪窗口位置和大 小作为观测值而改用Kalman滤波器递归。将Kalman滤波器的预测值中的坐标作为跟踪窗口 位置坐标,CamShift跟踪前的目标大小作为当前值,并将该值固定,直到目标离开遮挡区 域,将修正后的窗口参数作为观测值更新Kalman滤波器中的参数。目标离开干扰区域后用 CamShif t算法得到的位置坐标和大小作为观测值更新Kalman滤波器中的参数,将Kalman滤 波器的预测值作为结果输出,并作为下一帧CamShift算法的跟踪窗口的起始位置坐标和大 小。
[0225] 本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统 及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其 各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式 来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对 其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各 种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0226]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述 特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影 响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相 互组合。
【主权项】
1. 一种抗多次遮挡和颜色干扰的识别跟踪方法,其特征在于,包括: 步骤S1:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帖图像;初始化目标 模型标识为假;初始化遮挡或颜色干扰标识为假; 步骤S2:将跟踪窗口中的图像由RGB颜色空间投影至化SV颜色空间后,提取Η通道图像; 步骤S3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为跟踪 窗口含有目标,进入步骤S4继续执行,W对Η通道图像进行反向投影;若目标模型标识为假, 则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值为真, 进入步骤S4继续执行,W对概率分布直方图化进行反向投影; 步骤S4:反向投影得到目标的概率图; 步骤S5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存当前 跟踪窗口的大小pre,进入步骤S6继续执行,否则,则进入步骤S6继续执行; 步骤S6:基于概率图利用CamShif t算法进行跟踪; 步骤S7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则进入步骤S8继 续执行,否则进入步骤S9继续执行; 步骤S8:使用Kalman滤波器的预测值中的位置坐标作为当前帖图像的跟踪窗口的位置 坐标,使用pre作为当前帖图像的跟踪窗口的大小的固定值;用当前帖图像的跟踪窗口的位 置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡或颜 色干扰标识赋值为假;进入步骤10继续执行; 步骤S9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帖图像的跟踪窗口 的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;进入步骤10继续执行; 步骤S10:将Kalman滤波器的预测值作为结果输出;读取下一帖图像,返回步骤S2继续 执行。2. 根据权利要求1所述的抗多次遮挡和颜色干扰的识别跟踪方法,其特征在于,所述初 始化目标的跟踪窗口的步骤,包括: 利用分类器从图像中得到包装箱的轮廓,将包装箱的轮廓的外接矩形作为跟踪窗口。3. 根据权利要求1所述的抗多次遮挡和颜色干扰的识别跟踪方法,其特征在于,在步骤 S7中,判断目标是否被遮挡的步骤包括: 步骤S7 .A:得到当前跟踪窗口中图像的概率分布直方图出; 步骤S7. B:计算直方图相关系数:其中,(KHi,此)表不出、此之间的直方图相关系数;Μ表不直条数;出(m)表不概率分布直 方图化中的第m个直条;出(m)表不概率分布直方图出中的第m个直条; 步骤S7.C:若d化1,此)大于开始遮挡阔值αι,则认为目标被遮挡;否则,则认为目标没有 被遮挡; 在步骤S7中,判断目标是否被颜色干扰的步骤包括: 步骤S7. a:判断目标面积是否大于开始颜色干扰阔值;若是,则认为目标受到颜色干 扰;否则,则认为目标没有受到颜色干扰。4. 根据权利要求1所述的抗多次遮挡和颜色干扰的识别跟踪方法,其特征在于,在步骤 S8中,判断目标是否脱离遮挡的步骤包括: 步骤S8. A:得到当前跟踪窗口中图像的概率分布直方图出; 步骤S8.A:计算直方图相关系数:其中,cKHi,此)表示出、此之间的直方图相关系数;Μ表示直条数;出(m)表示概率分布直 方图化中的第m个直条;出(m)表示概率分布直方图出中的第m个直条; 步骤S8. C:若d化1,此)大于离开遮挡阔值02,则认为目标脱离遮挡;否则,则认为目标没 有脱离遮挡; 在步骤S8中,判断目标是否脱离颜色干扰的步骤包括: 步骤S8.a:判断Cam化ift算法当前的迭代次数是否小于脱离颜色干扰阔值;若是,则认 为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。5. -种抗多次遮挡和颜色干扰的识别跟踪系统,其特征在于,包括: 装置Ml:初始化Kalman滤波器;初始化目标的跟踪窗口;获取初始帖图像;初始化目标 模型标识为假;初始化遮挡或颜色干扰标识为假; 装置M2:将跟踪窗口中的图像由RGB颜色空间投影至化SV颜色空间后,提取Η通道图像; 装置M3:根据目标模型标识的真假判断是否有目标,若目标模型标识为真,则认为跟踪 窗口含有目标,触发装置Μ4继续执行,W对Η通道图像进行反向投影;若目标模型标识为假, 则认为跟踪窗口不含有目标,计算目标的概率分布直方图出,并将目标模型标识赋值为真, 触发装置Μ4继续执行,W对概率分布直方图化进行反向投影; 装置Μ4:反向投影得到目标的概率图; 装置Μ5:判断遮挡或颜色干扰标识是否为真;若遮挡或颜色干扰标识为真,则保存当前 跟踪窗口的大小pre,触发装置Μ6继续执行,否则,则触发装置Μ6继续执行; 装置M6:基于概率图利用CamShif t算法进行跟踪; 装置M7:判断目标是否被遮挡或颜色干扰;若目标被遮挡或颜色干扰,则触发装置M8继 续执行,否则触发装置M9继续执行; 装置M8:使用Kalman滤波器的预测值中的位置坐标作为当前帖图像的跟踪窗口的位置 坐标,使用pre作为当前帖图像的跟踪窗口的大小的固定值;用当前帖图像的跟踪窗口的位 置坐标作为观测值更新Kalman滤波器;在目标脱离遮挡及颜色干扰的情况下,将遮挡或颜 色干扰标识赋值为假;触发装置10继续执行; 装置M9:使用Kalman滤波器的预测值中的位置坐标、大小作为当前帖图像的跟踪窗口 的位置坐标、大小;用CamShift算法得到的跟踪窗口的位置坐标、大小作为观测值更新 Kalman滤波器;将遮挡或颜色干扰标识赋值为假;触发装置10继续执行; 装置M10:将Kalman滤波器的预测值作为结果输出;读取下一帖图像,触发装置M2继续 执行。6. 根据权利要求5所述的抗多次遮挡和颜色干扰的识别跟踪系统,其特征在于,所述初 始化目标的跟踪窗口,具体是利用分类器从图像中得到包装箱的轮廓,将包装箱的轮廓的 外接矩形作为跟踪窗口。7. 根据权利要求5所述的抗多次遮挡和颜色干扰的识别跟踪系统,其特征在于,在装置 M7中,判断目标是否被遮挡的装置包括: 装置M7. A:得到当前跟踪窗口中图像的概率分布直方图出; 装置M7. B:计算直方图相关系数:其中,cKHi,此)表示出、此之间的直方图相关系数;Μ表示直条数;出(m)表示概率分布直 方图化中的第m个直条;出(m)表示概率分布直方图出中的第m个直条; 装置M7.C:若d化1,此)大于开始遮挡阔值αι,则认为目标被遮挡;否则,则认为目标没有 被遮挡; 在装置Μ7中,判断目标是否被颜色干扰的装置包括: 装置Μ7. a:判断目标面积是否大于开始颜色干扰阔值;若是,则认为目标受到颜色干 扰;否则,则认为目标没有受到颜色干扰。8. 根据权利要求5所述的抗多次遮挡和颜色干扰的识别跟踪系统,其特征在于,在装置 M8中,判断目标是否脱离遮挡的装置包括: 装置M8. A:得到当前跟踪窗口中图像的概率分布直方图出; 装置M8.A:计算直方图相关系数:其中,(KHi,此)表不出、此之间的直方图相关系数;Μ表不直条数;出(m)表不概率分布直 方图化中的第m个直条;出(m)表不概率分布直方图出中的第m个直条; 装置M8. C:若d化1,此)大于离开遮挡阔值02,则认为目标脱离遮挡;否则,则认为目标没 有脱离遮挡; 在装置M8中,判断目标是否脱离颜色干扰的装置包括: 装置M8.a:判断Cam化ift算法当前的迭代次数是否小于脱离颜色干扰阔值;若是,则认 为目标脱离颜色干扰;否则,则认为目标没有脱离颜色干扰。9. 根据权利要求3、7所述的抗多次遮挡和颜色干扰的识别跟踪方法、系统,其特征在 于,将目标未受到遮挡且未受到颜色干扰情况下的历次目标面积的最大值的μ倍作为开始 颜色干扰阔值,μ e [ 1.2,1.5]。10.根据权利要求4、8所述的抗多次遮挡和颜色干扰的识别跟踪方法、系统,其特征在 于,将CamShift算法的最大迭代次数的λ倍作为脱离颜色干扰区域的阔值,λε (0.5,0.8)。
【文档编号】G06K9/46GK106096645SQ201610402727
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】杨宁
【申请人】上海瑞孚电子科技有限公司