一种基于像素特征的新型目标追踪定位方法与流程

文档序号:16792104发布日期:2019-02-01 19:40阅读:486来源:国知局
一种基于像素特征的新型目标追踪定位方法与流程

本发明属于机器视觉以及图形处理技术领域,具体涉及一种基于像素特征的新型目标追踪定位方法。



背景技术:

在传统的运动人体与物件追踪算法中,以基于颜色特征的追踪算法较为优秀,但是这类追踪算法对于目标细小且颜色浅淡的物体追踪性能较差,且很容易丢失目标,不能很好地提取运动目标特征。尤其传统本发明方法面对如高尔夫、羽毛球以及棒球等速度快、形状细长的追踪定位目标,追踪定位效果不佳,不具备通用性与实用性。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种快速准确的目标追踪定位方法。

为解决上述技术问题,本发明采用以下技术方案:

一种基于像素特征的新型目标追踪定位方法,其特征是,包括以下步骤:

人体区域消除:对图像像素点的rgb分量进行三帧差法提取前景,并对前景图像进行二值化处理得到二值图像;

检测二值图像中的人体关键点,包括手部关键点、眉心关键点和双足中点;

标记二值图像的所有连通区域;

目标追踪定位:根据连通区域的像素分布特性来确定目标位置及目标定位点;

运动特征修正:根据检测出连通区域中的像素点分布特性对目标使用降维方法来求取区域的矢量方向并进行目标点位置修正。

进一步地,根据连通区域的像素数确定目标位置及目标定位点具体包括:

若不存在连通区域,则将前后两帧特征点的中值作为目标定位点;

若只有一个连通区域,则将该唯一连通区域作为目标位置,并将该连通区域的质心点作为目标定位点;

若存在超过两个连通区域则进行以下操作:

以像素数作为连通区域面积,选择面积最大的前两个连通区域作为候选的目标区域分别记为area1和area2,对应面积分别记作maxarea与secarea;求取maxarea与secarea的比值,若比值超出预定倍数以上,则直接以面积最大的连通区域作为目标位置,并将该连通区域的质心点作为目标定位点;

否则,以原始未去除人体的二值图像hightlight作为模板,分别用连通区域area1和area2的质心点与手部关键点连线作为长轴做出扁椭圆形区域来计算运动区域,分别记为sportarea1和sportarea2;以计算两个运动区域的像素值,如若存在其中一个运动区域像素数为零,则将像素数为非零的运动区域所对应的连通区域作为目标区域,其质心点作为目标定位点进行输出;如若两个运动区域均存在数值,则继续进行筛选判定;

再以眉心关键点与双足关键点的中点建立人体椭圆区域,以来区分人体内外侧;

分别确定连通区域area1和area2的质心点位于人体椭圆区域的内外某侧,并进行以下判断:

若两个连通区域均位于人体椭圆区域外侧;先分别计算两个连通区域质心点与手部关键点的1范数,分别记作dis1和dis2;将数值较大的记作maxdis,将数值较小的记作mindis;

如果maxdis/mindis<1.6,则认为两个连通区域位于人体同一侧;此时使用两个连通区域area1和area2对应的运动区域sportarea1和sportarea2中像素的质心点与其所属连通区域area1和area2的质心点来求解欧氏距离,以欧氏距离来表示该运动区域的像素疏密度,记作dendis1和dendis2;选择dendis1和dendis2中较小的连通区域作为目标位置,对应连通区域的质心点作为目标定位点;如果maxdis/mindis>=1.6,则选取mindis所属的连通区域作为目标位置,对应连通区域的质心点作为目标定位点;

若连通区域maxarea在人体椭圆区域的内侧,而secarea位于人体椭圆区域外侧,此时将两个运动区域的图像模板分别换做人体去除后的二值图像bw,以此得到两个新的运动区域来作为辅助运动区域,分别记作sport_areasupport1和sport_areasupport2;针对每个连通区域计算运动区域与辅助运动区域的比值,即sportarea/sport_areasupport,记maxarea的比值为pixelsdiffer1,secarea的比值为pixelsdiffer2;点coorfeature作为目标定位点,表达式如下;

若连通区域maxarea在人体椭圆区域外,而secarea位于人体椭圆区域内侧;点coorfeature作为目标定位点,表达式如下;

式1和式2中,th为筛选阈值;

如若两个连通区域各个特征均不满足以上筛选条件,则直接以连通区域maxarea作为目标区域,其质心点作为目标定位点。

再进一步地,用连通区域的质心点与手部关键点连线作为长轴做出扁椭圆形区域,公式如式3:

ellipseequ=a*x2+b*x*y+c*y2+f(3),

a=a2*(sinθ)2+b2*(cosθ)2(4),

b=2*(a2-b2)*(sinθ)2*(cosθ)2(5),

c=a2*(cosθ)2+b2*(sinθ)2(6),

f=-a2*b2(7),

cbar和rbar为连通区域质心像素行列坐标值,chand和rhand为手部关键点像素行列坐标值,a和b为椭圆长短轴的像素数。

优选地,做扁椭圆形区域时取a为150个像素,b为15像素。

进一步地,以眉心关键点与双足中点建立人体椭圆区域,公式如式3:

其中a的表达式见式4,b的表达式见式5,c的表达式见式6,f的表达式见式7,θ的表达式如下,见式9

θ=atan(ceye-cfoot/reye-rfoot)(9),

同时,建立人体椭圆区域时a取300像素,b取60像素。

进一步地,对图像像素点的rgb分量进行三帧差法提取前景包括以下步骤:

记视频序列中第n+1帧、第n帧和第n-1帧的图像分别为fk+1、fk和fk-1,三帧对应像素点的灰度值记为fk+1(x,y)、fk(x,y)和fk-1(x,y),按照式1分别得到差分图像dk+1和dk,再对差分图像dk+1和dk按照式2进行与操作,得到图像d′k;

dk(x,y)=|fk(x,y)-fk-1(x,y)|(10),

d′k(x,y)=|fk+1(x,y)-fk(x,y)|∩|fk(x,y)-fk-1(x,y)|(11),

再对上述步骤中得到的差分结果d′k进行二值化处理,得到初步的运动区域提取结果r′k,表达式如下:

取值为255和0的像素分别对应于前景和背景。

再进一步地,针对三帧差分法处理后的图像采用中值滤波法处理椒盐噪声,中值滤波的输出表达式如下:

yo(i,j)=med{c}

=med{yi(x,y)|x∈[i-1,i+1],y∈[j-1,j+1]}(13),

其中在像素yi(i,j)处窗口区域点值的集合为c。

进一步地,根据检测出连通区域中的像素点分布特性对目标使用降维本发明方法来求取区域的矢量方向并进行目标点位置修正,包括:

i.首先提取检测出的目标位置的所有像素坐标值,将图像坐标系中的坐标值映射到笛卡尔坐标中,表达式如下:

再采用pca方法进行降维处理,得到处理后特征值proj;

ii.利用计算得到的特征值proj,按照公式15计算斜率,并重新映射回原有坐标系;再根据斜率与原始定位点,以公式16的方式拟合出目标真实位置,并进行延伸处理从而修正原始定位点,表达式如下:

clubr=rbar+differlength*cosθ

clubc=cbar+differlength*sinθ(16),

其中,coor代表原始坐标,coorfix代表映射后坐标,rmax代表图像最大行值;斜率slope用行列特征值projr/c进行计算;(rbar,cbar)代表目标区域原始质心位置,(clubr,clubc)代表修正后的目标定位点,differlength为需要修正的长度。

优选地,在修正定位点之前,设置了一个阈值判定,以筛选出不适宜使用公式15的情况:对于slope>90或是slope<0.1以下的帧,采取保持某一坐标不变,只对另一坐标进行延长或缩短计算,表达式如下:

本发明所达到的有益效果:

1、传统的两帧差分法偏向于目标运动较为缓慢的场景,当运动较快时,由于目标在相邻帧的图像上的位置相差较大,两帧图像相减后并不能得到完整的运动目标,因此,本发明在两帧差分法的基础上提出了改进型三帧差分法,更适合提取运动较快的目标;

2、本发明方法采用中值滤波来消除图像的椒盐噪声使图像更平滑,更加适应目标追踪定位处理的要求;

3、传统的追踪算法对于目标细小且颜色浅淡的物体追踪性能较差,且很容易丢失目标,不能很好地提取运动目标特征。本发明设计了一种基于像素特征的新型追踪算法,无论是在背景简单还是复杂场景中,都能快速准确地追踪定位到运动目标;

4、本追踪算法对高尔夫这类运动时间短,追踪目标细长的专业运动,可以准确的捕捉运动目标,并快速的提取运动特征,极具实用性,具有很好地推广前景。

附图说明

图1是本发明方法具体实施例的流程示意图;

图2是本发明方法具体实施例的提取前景的流程示意图图;

图3是本发明采用的中值滤波流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例:本实施例的应用场景是人挥动球杆打高尔夫球,追踪定位目标是球杆。

首先进行人体区域消除:对图像像素点的rgb分量进行三帧差法提取前景,并对前景图像进行二值化处理得到二值图像;检测二值图像中的人体关键点,在具体实施例中可以采用现有的骨骼检测算法来实现,所述人体关键点包括手部关键点、眉心关键点和双足中点等18个关键点。

在进行图像分析之前,需要对图像进行预处理。本实施例利用彩色摄像机捕获颜色信息丰富的彩色动作视频,但在运动检测过程中,需要简化颜色信息。灰度图像既能表征图像的主要特征,又携带较少的信息量,因此适合后续的识别过程。因此,第一步需要对原始图像进行灰度处理并进行前景提取。

传统的两帧差分法偏向于目标运动较为缓慢的场景,当运动较快时,由于目标在相邻帧的图像上的位置相差较大,两帧图像相减后并不能得到完整的运动目标。因此,本发明在两帧差分法的基础上提出了改进型三帧差分法进行前景提取。

在本实施例对图像像素点的rgb分量进行三帧差法提取前景具体包括以下步骤:

记视频序列中第n+1帧、第n帧和第n-1帧的图像分别为fk+1、fk和fk-1,三帧对应像素点的灰度值记为fk+1(x,y)、fk(x,y)和fk-1(x,y),按照式1分别得到差分图像dk+1和dk,再对差分图像dk+1和dk按照式2进行与操作,得到图像d′k;

dk(x,y)=|fk(x,y)-fk-1(x,y)|(10),

d′k(x,y)=|fk+1(x,y)-fk(x,y)|∩|fk(x,y)-fk-1(x,y)|(11),

再对上述步骤中得到的差分结果d′k进行二值化处理,得到初步的运动区域提取结果r′k,表达式如下:

在差分后的d′k中还包含了连续两顿之间的场景的变化,这种变化由很多因素构成,包括目标的移动、光照、阴影、噪音等。同时给定一个阚值t,当差分中某一像素值的差大于给定阈值时,则认为该像素为前景像素,反之则认为是背景像素。取值为255和0的像素分别对应于前景(即运动目标区域)和背景(非运动目标区域)。

图像背景区域存在一定的椒盐噪声,为了更好地保留边缘的尖锐度,并且会洗去均匀介质区域中的纹理,在具体实施例中优选地,在三帧差法步骤之后进行中值滤波。

采用中值滤波法将图像背景去噪,为整体的前景处理效果提高精确度。

中值滤波由首先用于一维信号处理,后来很快被用到二维图像平滑中。其实现原理是把数字图像中一点的值用该点的一个区域的各个点的值的中值代替,这个区域的选取方式可以有很多种,如线状、方形、十字形、圆形、零星等。不同形状的窗口产生不同的滤波效果,使用中必须根据图像的内容和不同的要求加以选择。

在具体的实施例中,若要处理一幅尺寸为m*n大小的图像,利用3*3大小的滑动方形滤波窗口。在像素yi(i,j)处窗口区域点值的集合为c,那么中值滤波的输出为

yo(i,j)=med{c}

=med{yi(x,y)|x∈[i-1,i+1],y∈[j-1,j+1]}(13),

对于i和j的取值范围可以根据系统的需求来确定。在整幅图像的边缘,中值滤波时的邻域并不能取满9个值,因此在程序的处理过程中可以将这些边缘点放弃掉不进行处理,也可以对这些点采用其他处理方法。具体实施例中采用放弃不处理的方法,这样可以简化系统的程序流程,而且本文所要得到的结果与图像边缘无关。中值滤波之所以在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节,这是因为它不依赖于邻域内那些与典型值差别很大的值,由于它不是简单的取平均值,所以产生的模糊比较小,它在一定条件下可以克服线性滤波器带来的图像细节模糊,且对抑制图像中的脉冲干扰和椒盐噪声特别有效。

本实施例采集的jpg图像大小为1280*720,利用一个7*7大小的滑动窗口将其非图像边缘像素进行中值滤波,其方法实现的流程图如图2所示。

经过中值滤波后,在处理后的图中可以看出图像中的椒盐噪声基本上全部消除,画面整体较为干净并且目标人物较为平滑。运动区域的的边缘由于中值滤波而变得柔化,系统所要分析的球杆并没有因此而受到影响。由于本本发明方法主要针对运动较快的目标定位的前景提取,因此在前景提取中要尽可能要消除人体部分,所以选择加大内核以更好地去除背景,以期更加精准地保留目标。结果处理后的图像中的噪声几近完全消除,并且目标(球杆)更加突显,有利于后续的球杆定位处理。

由于背景差分法本身存在的一些缺陷,会使处理后的图像存在像素破碎的问题,造成本应是连续的前景在提取后出现不完整的情况,因此在具体实施例中优选地,对采用中值滤波处理后的图像进行形态学处理。

形态学主要是为了获取物体的拓扑和结构信息,通过物体和结构元素相互作用的某些运算,得到物体更本质的形态。当形态学运用到图像处理中,它的主要作用是利用形态学的基本运算,如腐蚀和膨胀运算,对图像进行观察和处理,从而达到改善图像质量的目地。

形态学处理中最为常见的两种形式便是腐蚀与膨胀。用一个结构元素,一般为3×3大小的,扫描图像中的每一个像素,用操作数矩阵扫描图像中的每一个像素。在用操作数矩阵中每一个像素与覆盖的像素做“与”操作,如果全部为1,则图像中的该像素为1,反之为0。而膨胀操作正好相反,全部为0时,则图像素中的该像素为0,反之为1。

腐蚀的作用是消除物体的边界点,使目标缩小。如公式18表示用结构b腐蚀a,需要注意的是b中需要定义一个原点,当b的原点平移到图像a的像元(x,y)时,如果b在(x,y)处,完全被包含在图像a重叠的区域,也就是b中为1的元素位置上对应的a图像值全部也要为1,则将输出图像对应的像元(x,y)赋值为1,否则赋值为0。所以腐蚀操作会消除那些小的且无意义的物体,使边界向内部收缩的过程。

相反,膨胀的作用当然是使目标增大,填充物体内细小的空洞,并且平滑物体的边界,边界向外部扩张的作用,计算公式如下:

优选地,针对于中值滤波后的图像对其进行形态学处理,采用闭运算来对图像进行最后一步的处理。闭运算是先膨胀后腐蚀的过程,可以填充物体内细小的空洞,并平滑物体边界。经测试,通过闭运算后的前景图像消除了缝隙与空洞,使得整体更加紧密,为后续球杆定位处理创造了优良的预处理环境。

经过对图像像素点的rgb分量进行三帧差法提取前景,并对前景图像进行二值化处理得到二值图像以及检测二值图像中的人体关键点,整个画面中基本上只保留了人体区域、球杆以及少许杂质。以人体18个关键点为中心,取半径为60像素圆形区域,对其中的像素值不为零值的像素进行归零处理。这样可以很好的去除人体区域,使图像中几乎只保留球杆的部分,减少了球杆定位的计算复杂度;另外通过优选地加入中值滤波和形态学处理后可以更加有效地减少球杆定位时的计算复杂度,同时也可以很好的将目标特征从原始图像中提取出来。

接下来标记二值图像的所有连通区域;后进行目标追踪定位即根据连通区域的像素分布特性来确定目标位置及目标定位点。

在本实施例中,作为追踪目标的球杆形状规则且为一个结合紧密的整体,在图像中可以看作是一个较为明显的连通区域。利用之前处理后的二值图像,在处理后的图像中寻找所有存在的连通区域。根据测试样本可以明显的看出,球杆区域较大且明显,转而言之,球杆所在的连通区域中的像素数较多。

因此,设计阈值筛选出连通区域面积(以像素数计算)最大的前两位作为球杆区域的候选。在已得到的面积大小前两位的连通区域中,再设置筛选条件进行判断,选择出正确的球杆区域,提取特征。需要注意的是,本发明的区域筛选条件是一步一步递进,每一层筛选都会输出一定的结果。随着层数递进,条件就越严苛,直至遍历所有情况。具体本发明方法目标追踪定位方法如下所示:

i.在人体区域消除后的图像中,可能图像整体干净无杂质,也有可能复杂多杂质。因此,本发明方法第一步先进行连通区域数量检测:低于两个连通区域的,若是只有唯一,则输出唯一连通区域的质心点。若是不存在连通区域,则以前后两帧特征点的中值作为特征输出;

ii.若是画面中存在超过两个连通区域存在,则选取像素数量前两位的连通区域作为球杆的备选区域。为了说法更加简明易懂,我们之后以面积大小代换像素数量多少,分别记作maxarea与secarea。我们再利用一个先验知识:在多次测试中,我们可以发现杂质所在的连通区域面积一般比较细小,而目标(本实施中目标为球杆)所在的连通区域一般面积大小是杂质数倍。因此,筛选的第二步需要先maxarea/secarea的值,结果超出预先设定的倍数以上时,直接以面积最大区域质心作为特征输出;在本实施例中,预先设定的倍数为三倍。

iii.引入第一个新的判决概念:运动区域检测。依据运动常识我们可以知道,球杆在运动过程中是一直与人体相连接的,而杂质(干扰项)一般是在人体之外(大部分是由背景消除不干净以及影子而产生的)不与人体相连。简而言之,以前景提取后的二值图像hightlight作为图像模板,用两个连通区域area1和area2的质心点(cbar,rbar)与手部关键点(chand,rhand)连线作为长轴,分别作出一个扁椭圆形区域,公式如下:

ellipseequ=a*x2+b*x*y+c*y2+f(3),

a=a2*(sinθ)2+b2*(cosθ)2(4),

b=2*(a2-b2)*(sinθ)2*(cosθ)2(5),

c=a2*(cosθ)2+b2*(sinθ)2(6),

f=-a2*b2(7),

在本实施例中取a为150个像素,b为15像素。

再计算区域内像素数的多少,以此作为连通区域的运动区域,分别记为sportarea1和sportarea2;如若是球杆所在的连通区域,其运动区域sportarea内的像素数大概率会比杂质区域要多得多。因此,本发明方法第三步排除出sportarea为零的候选,以另外一个非零区域的质心作为特征输出;分别计算两个运动区域sportarea1和sportarea2的像素数,如若存在其中一个运动区域像素数为零,则将像素数为非零的运动区域所对应的连通区域作为目标区域,其质心点作为目标定位点进行;如若两个运动区域均存在数值,则继续进行筛选判定;

再以眉心关键点与双足关键点的中点建立人体椭圆区域,以来区分人体内外侧,建立人体椭圆区域的表达式见式3:

其中a的表达式见式4,b的表达式见式5,c的表达式见式6,f的表达式见式7,θ的表达式如下,见式9

θ=atan(ceye-cfoot/reye-rfoot)(9),

本实施例中a取300像素,b取60像素。

分别确定连通区域area1和area2的质心点位于人体椭圆区域的内外某侧,并进行以下判断:

若两个连通区域均位于人体椭圆区域外侧;先分别计算两个连通区域质心点与手部关键点的1范数,分别记作dis1和dis2;将数值较大的记作maxdis,将数值较小的记作mindis;

如果则认为两个连通区域位于人体同一侧;此时使用运动区域sportarea1和sportarea2中像素的质心点与其所属连通区域的质心点来求解欧氏距离,以欧氏距离来表示该运动区域的像素疏密度,记作dendis1和dendis2;欧式距离越小则越紧密,反则欧式距离越大则认为越稀疏;选择dendis1和dendis2中较小的即像素紧密的连通区域作为目标位置,对应连通区域的质心点作为目标定位点;如果maxdis/mindis>=1.6,则选取mindis所属的连通区域作为目标位置,对应连通区域的质心点作为目标定位点;

若连通区域maxarea在人体椭圆区域的内侧,而secarea位于人体椭圆区域外侧,此时将两个运动区域的图像模板分别换做人体去除后的二值图像bw,以此得到两个新的运动区域来作为辅助运动区域,分别记作sport_areasupport1和sport_areasupport2;针对每个连通区域计算运动区域与辅助运动区域的比值,即sportarea/sport_areasupport,记maxarea的比值为pixelsdiffer1,secarea的比值为pixelsdiffer2;点coorfeature作为目标定位点,表达式如下;

若连通区域maxarea在人体椭圆区域外,而secarea位于人体椭圆区域内侧;点coorfeature作为目标定位点,表达式如下;

式1和式2中,th为筛选阈值;在本实施例中,th的取值为5。

如若两个连通区域各个特征均不满足以上筛选条件,则直接以连通区域maxarea作为目标区域,其质心点作为目标定位点。

运动特征修正:根据检测出连通区域中的像素点分布特性对目标使用降维本发明方法来求取区域的矢量方向并进行目标点位置修正,

在具体实施本发明方法的场景中可能会对球杆轨迹进行分析,因为本发明方法基于2d图像进行设计,所以球杆轨迹需要根据追踪球杆运动来进行计算。因此,需要将所有球杆定位点修正至球杆的杆头位置。

在球杆定位的方法中是通过选取最大连通区域来确定球杆在图像中的位置,因此可以利用检测出连通区域中的像素点分布特性来对球杆进行主成分分析处理,使其由二维降为一维(直线)来替代原有的区域,这样更有利于后续计算与分析。在本实施例中本步具体实现步骤如下,包括:

i.首先提取检测出的目标位置的所有像素坐标值,将图像坐标系中的坐标值映射到笛卡尔坐标中,表达式如下:

其中,rmax代表图像最大行值,coorrfix和coorcfix代表映射后的行列坐标值,coorc和coorr为目标区域原始像素的行列坐标值,connectcoor代表处理后的像素行列坐标集合。再利用经典pca方法进行降维处理,得到映射特征向量,记作proj,其中projr与projc代表特征向量中的行列参数;

ii.利用pca算法得到的特征向量proj,计算斜率,表达式如下:

斜率slope用特征向量中行列参数projr与projc进行计算。

并重新映射回原有坐标系;再根据斜率与原始定位点,拟合出目标真实位置,并进行延伸处理从而修正原始定位点,表达式如下:

clubr=rbar+differlength*cosθ

clubc=cbar+differlength*sinθ(16),

其中,coor代表原始坐标;(rbar,cbar)代表目标区域原始质心位置,(clubr,clubc)代表修正后的目标定位点,differlength为需要修正的长度,以第一帧中球杆长度为基准,进行补全计算。

最后,本修正算法是在四个象限中分别进行计算得到,但是在相邻象限之间(水平或是垂直)会出现边界跳变,从而产生判定错位问题。因此在修正定位点之前,先设置了一个阈值判定,以筛选出不适宜使用公式12的情况:对于slope>90或是slope<0.1以下的帧,采取保持某一坐标不变,只对另一坐标进行延长或缩短计算,这样可以大大减小了算法复杂度,而且也能保证了计算精度。具体实现如公式13所示:

本发明方法提供了一种基于像素特征的新型目标追踪算法,无论是在背景简单还是复杂场景中,都能快速准确的追踪定位到运动目标。在高尔夫、棒球、羽毛球这类运动场景中追踪如球杆等运动时间短、目标细长的目标时,本发明方法可以准确的捕捉运动目标,并快速的提取运动特征,极具实用性,具有很好地推广前景。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1