发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种基于霍夫森林的目标跟踪方法,采用离线训练方式建立霍夫森林,对样本进行霍夫投票,检测目标中心位置;跟踪时引入卡尔曼滤波校正和计算帧间目标中心位置均值的欧氏距离达到实时准确的跟踪目的。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种基于霍夫森林的目标跟踪方法,包括以下步骤:
步骤一、从标准训练库中选取图片作为训练样本,训练样本包括正训练样本和负训练样本,正训练样本的图片中有目标,负训练样本的图片中无目标,提取训练样本的特征得到特征图片;
步骤二、对步骤一中的特征图片进行滤波处理后建立特征图片集合;
步骤三、建立霍夫森林;
步骤四、采集视频,输入视频的第一帧,并人工标记出待跟踪目标的中心位置,作包围中心位置的矩形框用来设定目标检测范围;采用遍历的方式选取矩形框内的图片特征块,根据建立的霍夫森林对目标的中心位置进行加权投票,统计投票值得到设定矩形框内的霍夫投票图,选取投票峰值确定目标的中心位置,并将该目标的中心位置作为第一帧图像目标的中心位置,根据获得的第一帧图像目标的中心位置初始化卡尔曼滤波器参数;
步骤五、确定目标中心位置,跟踪目标;
(501)、载入新一帧视频图像,根据前一帧目标的中心位置作包围中心位置的矩形框用来设定待检测目标范围,利用建立好的霍夫森林获取投票峰值,得到目标的中心位置;
(502)、计算帧间目标中心位置均值的欧式距离;
(503)、预先设定第一阈值和第二阈值,第一阈值为投票峰值阈值,第二阈值为帧间目标中心位置均值的欧式距离阈值;
(504)、当投票峰值小于预设的第一阈值或者帧间目标中心位置均值的欧式距离大于预设的第二阈值,则采用卡尔曼滤波算法对目标中心位置进行预测得到预测值,采用预测值校正目标中心位置;
当投票峰值大于或等于预设的第一阈值,并且帧间目标中心位置均值的欧氏距离小于或等于预设的第二阈值,则表明跟踪到的目标正确,不修正当前帧检测得到的目标中心位置,同时更新卡尔曼滤波器参数,用于对下一帧视频图像中目标的中心位置进行预测;
当投票峰值大于或等于预设的第一阈值,但帧间目标中心位置均值的欧氏距离大于预设的第二阈值,则根据卡尔曼滤波算法得到的预测值校正目标中心位置。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,所述步骤三具体如下:
(301)、随机获取特征图片块集,采用二值函数对特征图片块集进行划分,当类不确定度或者偏移量不确定度达到最小时,获得最优分裂节点;依次对最优分裂节点处的图片块不断划分,直到当前节点的深度达到预设的第三阈值或者当前节点上的样本数量小于预设的第四阈值则停止划分,构成二叉决策树;其中,预设的第三阈值为10至20的整数,预设的第四阈值为10至25的整数;
(302)、选取N个二叉决策树建立霍夫森林,N为整数且9<N<16。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,所述步骤一中提取训练样本的特征包括:Lab颜色空间中的颜色特征描述符,图像x方向的一阶导数特征、二阶导数特征,图像y方向的一阶导数特征、二阶导数特征,梯度直方图HOG特征。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,
所述(301)中二值函数为
其中,ta,p,q,u,v,τ(I)表示获得的像素差值标记,(p,q),(u,v)表示图片块上的两个随机点,a表示随机选取的某一特征描述符,τ表示分裂节点处的阈值,Ia(p,q)表示a特征图片上(p,q)点的像素值,Ia(u,v)表示a特征图片上(u,v)点的像素值;
类不确定度为:
H(pL)=-pLlog pL-(1-pL)log(1-pL);
H(pR)=-pRlog pR-(1-pR)log(1-pR);
其中,H(pL)为左子节点的熵值,H(pR)为右子节点的熵值,pL为左子节点中来自正样本的图片块占的比例,pR为右子节点中来自正样本的图片块占的比例,|A|表示节点处块集合A中图片块个数,i是对图片块计数,且i为大于0的整数,Entropy({ci})表示熵值,ci表示第i个图片块类别,ci取值为0或1:当ci取0时表示图片块来自于负样本,当ci取1时表示来自正样本;|AL|为节点划分后左子节点的图片块数目,|AR|为节点划分后右子节点的图片块数目;
偏移量不确定度为:
其中,l表示左子节点中来自正样本的图片块,r表示右子节点中来自正样本的图片块,dL为左子节点处所有正样本图片块的平均偏移量,dR为右子节点处所有正样本图片块的平均偏移量,为左子节点第l个正样本块对应的偏移量,为右子节点第r个正样本块对应的偏移量。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,所述(502)中欧式距离为:
其中,n为正整数,为第n帧视频图像中目标平均中心坐标x方向的值,为第n帧视频图像中目标平均中心坐标y方向的值,为第n-1帧视频图像中目标平均中心坐标,x方向的值,为第n-1帧视频图像中目标平均中心坐标y方向的值。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,所述N为10。
作为本发明的一种基于霍夫森林的目标跟踪方法的进一步优化的方案,所述预设的第一阈值为180,所述预设的第二阈值为5。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明是针对视频中目标相似物造成干扰的解决方案,结合卡尔曼滤波校正与计算帧间目标中心位置均值的欧氏距离达到准确的目标检测和跟踪目的,考虑目标运动的方向和速度,对场景中发生的运动目标相似物交叉和部分遮挡现象具有较好的稳定性和鲁棒性,有效避免了由于干扰产生的目标中心位置漂移现象,同时提高了跟踪速度。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
如图1所示的是随机选取的特征图片块构建的二叉决策树,方框表示训练样本,在每个训练样本上随机选取50个特征图片块,标记每个块的信息:特征、类别、中心偏移量,按照确定的划分准则和评价函数对样本集合进行最优划分,得到两个子节点,每个节点再依次进行划分,直到满足停止划分条件生成叶子节点。
一种基于霍夫森林的目标跟踪方法,包括以下步骤:
步骤一、从标准训练库中选取图片作为训练样本,训练样本包括正训练样本和负训练样本,正训练样本的图片中有目标,负训练样本的图片中无目标,提取训练样本的特征得到特征图片;
步骤二、对步骤一中的特征图片进行滤波处理后建立特征图片集合;
如图2所示的是建立霍夫森林流程图,采用离线训练的方式训练生成二叉决策树,通过建立N棵二叉决策树组成霍夫森林。对采集的正负训练样本图片进行特征变换,随机选取特征图片块集合构造二叉决策树,利用二值函数对特征图片块集合进行划分,保存最优的划分结果即分裂参数,然后再对生成的子节点进行划分,以此循环,当各节点均达到停止划分条件时即完成了二叉决策树的建立过程。
步骤三、建立霍夫森林;具体如下:
(301)、随机获取特征图片块集,采用二值函数对特征图片块集进行划分,当类不确定度或者偏移量不确定度达到最小时,获得最优分裂节点;依次对最优分裂节点处的图片块不断划分,直到当前节点的深度达到预设的第三阈值或者当前节点上的样本数量小于预设的第四阈值则停止划分,构成二叉决策树;其中,预设的第三阈值为10至20的整数,预设的第四阈值为10至25的整数;第三阈值为二叉决策树的最大深度阈值,第四阈值为节点处样本块个数阈值,预设的第三阈值可为15,预设的第四阈值可为20。
(302)、选取N个二叉决策树建立霍夫森林,N为整数且9<N<16;
如图3所示的是卡尔曼滤波算法的结构图,其中y(n)表示观测值,F(n+1,n)为状态转移矩阵,C(n)为观测矩阵,表示观测值的最小二乘估计,新息 表示n+1帧目标的估计值。
如图4表示的是基于霍夫森林的改进目标跟踪流程图。对输入的每一帧图片,根据检测框内的霍夫投票结果判定是否存在目标,以及是否正确跟踪到目标。
在计算帧间目标中心位置均值的欧式距离前,为了保证算法的稳定性,我们选取连续三帧目标的中心位置的均值作为当前帧的中心位置。
步骤四、采集视频,输入视频的第一帧,并人工标记出待跟踪目标的中心位置,作包围中心位置的矩形框用来设定目标检测范围;采用遍历的方式选取矩形框内的图片特征块,根据建立的霍夫森林对目标的中心位置进行加权投票,统计投票值得到设定矩形框内的霍夫投票图,选取投票峰值确定目标的中心位置,并将该目标的中心位置作为第一帧图像目标的中心位置,根据获得的第一帧图像目标的中心位置初始化卡尔曼滤波器参数;
步骤五、确定目标中心位置,跟踪目标;
(501)、载入新一帧视频图像,根据前一帧目标的中心位置作包围中心位置的矩形框用来设定待检测目标范围,利用建立好的霍夫森林获取投票峰值,得到目标的中心位置;
(502)、计算帧间目标中心位置均值的欧式距离;
(503)、预先设定第一阈值和第二阈值,第一阈值为投票峰值阈值,第二阈值为帧间目标中心位置均值的欧式距离阈值;
(504)、当投票峰值小于预设的第一阈值或者帧间目标中心位置均值的欧式距离大于预设的第二阈值,则采用卡尔曼滤波算法对目标中心位置进行预测得到预测值,采用预测值校正目标中心位置;
当投票峰值大于或等于预设的第一阈值,并且帧间目标中心位置均值的欧氏距离小于或等于预设的第二阈值,则表明跟踪到的目标正确,不修正当前帧检测得到的目标中心位置,同时更新卡尔曼滤波器参数,用于对下一帧视频图像中目标的中心位置进行预测;
当投票峰值大于或等于预设的第一阈值,但帧间目标中心位置均值的欧氏距离大于预设的第二阈值,则根据卡尔曼滤波算法得到的预测值校正目标中心位置。
所述步骤一中提取训练样本的特征包括:Lab颜色空间中的颜色特征描述符,图像x方向的一阶导数特征、二阶导数特征,图像y方向的一阶导数特征、二阶导数特征,梯度直方图HOG特征。
所述(301)中二值函数为
其中,ta,p,q,u,v,τ(I)表示获得的像素差值标记,(p,q),(u,v)表示图片块上的两个随机点,a表示随机选取的某一特征描述符,τ表示分裂节点处的阈值,Ia(p,q)表示a特征图片上(p,q)点的像素值,Ia(u,v)表示a特征图片上(u,v)点的像素值;
类不确定度为:
H(pL)=-pLlog pL-(1-pL)log(1-pL);
H(pR)=-pRlog pR-(1-pR)log(1-pR);
其中,H(pL)为左子节点的熵值,H(pR)为右子节点的熵值,pL为左子节点中来自正样本的图片块占的比例,pR为右子节点中来自正样本的图片块占的比例,|A|表示节点处块集合A中图片块个数,i是对图片块计数,且i为大于0的整数,Entropy({ci})表示熵值,ci表示第i个图片块类别,ci取值为0或1:当ci取0时表示图片块来自于负样本,当ci取1时表示来自正样本;|AL|为节点划分后左子节点的图片块数目,|AR|为节点划分后右子节点的图片块数目;
偏移量不确定度为:
其中,l表示左子节点中来自正样本的图片块,r表示右子节点中来自正样本的图片块,dL为左子节点处所有正样本图片块的平均偏移量,dR为右子节点处所有正样本图片块的平均偏移量,为左子节点第l个正样本块对应的偏移量,为右子节点第r个正样本块对应的偏移量。
所述(502)中欧式距离为:
其中,n为正整数,为第n帧视频图像中目标平均中心坐标x方向的值,为第n帧视频图像中目标平均中心坐标y方向的值,为第n-1帧视频图像中目标平均中心坐标,x方向的值,为第n-1帧视频图像中目标平均中心坐标y方向的值。。
所述N为10,所述第一阈值为180,所述第二阈值为5。
具体方法流程:
1、建立霍夫森林前的样本特征提取
本发明从标准训练库中选取了800幅图片作为训练样本,其中正负训练样本比例相等,对正负样本标记并进行特征提取。提取的图片特征包括Lab颜色空间的3个颜色特征描述符,x方向的一阶导数特征、二阶导数特征,y方向的一阶导数特征、二阶导数特征,以及9个方向上的梯度直方图HOG特征等,为了增加算法的抗噪性能,需对以上特征描述符进行进一步的滤波处理,提取最终的样本特征数据。
2、构建霍夫森林
在每个训练样本上随机选50个大小为16×16的图片块作为根节点处的划分样本总集合,设定节点划分的停止条件:树的最大深度预设的第三阈值为15或预设的第四阈值即节点处样本块个数少于20。图片块集合表示为:A=Pi=(Ii,ci,di),其中Pi表示随机选取的第i个的图片块信息;Ii表示对应位置图片块的特征集合;ci表示第i个图片块类别;di表示一个二维的偏移向量,即图片块中心对目标中心的偏移量。
对图片块集合进行划分时,采用的二值函数为
其中,ta,p,q,u,v,τ(I)表示获得的像素差值标记,(p,q),(u,v)表示图片块上的两个随机点,a表示随机选取的某一特征描述符,τ表示分裂节点处的阈值,Ia(p,q)表示a特征图片上(p,q)点的像素值,Ia(u,v)表示a特征图片上(u,v)点的像素值。二值函数中涉及的参数均通过随机方式获得,节点初次分裂后并不能保证得到的结果最优,需建立评价函数来对二值函数的划分样本进行衡量,以获得最优的分裂参数。
定义了两种不确定度:类不确定度和偏移量不确定度来评价划分结果。
类不确定度为:
H(pL)=-pLlog pL-(1-pL)log(1-pL);
H(pR)=-pRlog pR-(1-pR)log(1-pR);
其中,H(pL)为左子节点的熵值,H(pR)为右子节点的熵值,pL为左子节点中来自正样本的图片块占的比例,pR为右子节点中来自正样本的图片块占的比例,|A|表示节点处块集合A中图片块个数,i是对图片块计数,且i为大于0的整数,Entropy({ci})表示熵值,ci表示第i个图片块类别,ci取值为0或1:当ci取0时表示图片块来自于负样本,当ci取1时表示来自正样本;|AL|为节点划分后左子节点的图片块数目,|AR|为节点划分后右子节点的图片块数目;
偏移量不确定度为:
其中,l为左子节点中的正样本块,r为右子节点中的正样本块,dL为左子节点处所有正样本图片块的平均偏移量,dR为右子节点处所有正样本图片块的平均偏移量,为左子节点第l个正样本块对应的偏移量,为右子节点第r个正样本块对应的偏移量。
在训练随机树过程中,由于不能保证两类不确定度的值均达到最小,故随机选取一类不确定度值来衡量二值函数的划分结果并选择最佳的随机决策值参数作为节点信息。
3、霍夫投票检测目标
已有的采用霍夫森林算法进行目标跟踪时大多采用在线方式更新训练数据,再利用更新后的数据对下一帧目标进行检测,但由于算法采用的特征对每一特定类目标的识别度相似,实时地更新只会增加算法的复杂度,并且当检测到错误目标时,更会导致更新失败而严重影响目标的检测。本文提出采用离线的方式进行目标检测,依据事先训练好的霍夫森林进行霍夫投票,不更新训练数据,保证了特定类别判断的准确性和实时性。
对输入的第一帧视频图像,通过人工标定待跟踪目标,初始化目标的中心位置,以初始位置为中心设定目标检测的范围,并对检测图片进行特征变换,采用遍历的方式在特征图片上选取测试样本块,获得样本块集合,样本块通过依次遍历生成的二叉决策树查找对应的叶子节点,并对目标中心位置进行投票,投票权值为:
其中,CL表示叶子节点处的正样本块所占比率;DL表示样本块的偏移量信息,|DL|则表示含偏移量信息的样本块数目。样本块遍历每棵树后的投票值累加即可得到设定检测目标区域的霍夫投票图,选取投票峰值确定目标的中心位置。
4、卡尔曼滤波和校正
利用卡尔曼滤波器建立目标运动模型,设法减小目标运动过程中噪声的干扰,能得到较好的目标中心位置的估计值。本文运用卡尔曼滤波器进行的估计包括对当前帧目标中心位置的估计值即滤波后的结果和对下一帧目标中心位置的估计值即预测值,将卡尔曼滤波和预测进行结合运用于目标的跟踪。
载入新一帧视频图像,确定目标检测范围,利用建立好的霍夫森林检测得到目标中心的霍夫投票,对投票峰值符合第一阈值T1的样本则判定为目标,并计算帧间目标中心位置均值的欧式距离为:
其中,n为正整数,为第n帧视频图像中目标平均中心坐标x方向的值,为第n帧视频图像中目标平均中心坐标y方向的值,为第n-1帧视频图像中目标平均中心坐标,x方向的值,为第n-1帧视频图像中目标平均中心坐标y方向的值。
当投票峰值小于第一阈值T1或者帧间目标中心位置均值的欧式距离大于第二阈值T2,则采用卡尔曼滤波算法对目标中心位置进行预测得到预测值,采用预测值校正目标中心位置;
当投票峰值大于或等于第一阈值T1,并且帧间目标中心位置均值的欧氏距离小于或等于第二阈值T2,则跟踪到的目标正确,不修正当前帧检测得到的目标中心位置,同时更新卡尔曼滤波器参数,用于对下一帧视频图像中目标的中心位置进行预测;
当投票峰值大于或等于第一阈值T1,并且帧间目标中心位置均值的欧氏距离大于第二阈值T2,根据卡尔曼滤波算法得到的预测值校正目标中心位置。
所述投票峰值第一阈值T1为180,帧间目标中心位置均值的欧氏距离第二阈值T2为5,建立的霍夫森林包含的树的数量N为10。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替代,都应当视为属于本发明的保护范围。