图像分析多目标跟踪方法与流程

文档序号:18839003发布日期:2019-10-09 06:32阅读:275来源:国知局
图像分析多目标跟踪方法与流程

本发明属于目标跟踪技术领域,具体涉及图像分析多目标跟踪方法。



背景技术:

目标识别与追踪是计算机视觉应用中的常见需求。当前计算机视觉库中的背景分割方法可利用图像的变化规律识别出运动物体,其基本工作原理是:在一系列连续图像中,像素变化的部分为移动物体(前景),像素保持不变的区域是静置物体(背景)。但当图像中有多个物体在运动时,背景分割方法并不能辨认出各幅图像中的同一物体。例如:将一段桌球视频输入背景分割方法,该方法可以有效的识别出每一帧画面中处于滚动状态的球,但不能回答上一帧中的某个球在下一帧中滚去了哪里。

为了实现目标跟踪可以有不同办法,例如可使用目标相似性原理:看看上一帧中需要追踪的球是什么颜色,下一帧中与其颜色相同的球就是它。相似性方法在某些条件下可以适用,但在有多个相似目标时(如桌面上有多个红球)就不能仅靠相似性来做判断。再者,当物体在边运动边发生变化时(如半色球会边滚边改变颜色),相似性原理也会失效。

另一种目标跟踪方法是位置接近原理。该原理认为物体的空间位置变化只会渐变,不会突变,当两帧图像之间的时间差很短时,同一物体的位置变化也应很小。基于此,与上一帧图像中待追踪物体位置最贴近的下一帧图像中的物体即是所需目标。显然,帧间物体移动距离越大此方法就越受限制。此外,当物体被遮挡时,追踪将必然被中断。例如:某球从桌球运动员手臂下方滚过,期间被遮挡了0.5秒,此时位置接近原理追踪方法将必定失效。



技术实现要素:

针对现有技术中的缺陷,本发明提供的图像分析多目标跟踪方法,同时跟踪画面中的多个运动物体,且可抵御物体被短暂遮挡的情况。

一种图像分析多目标跟踪方法,包括以下步骤:

获取待跟踪目标当前的原始图像;

将所述原始图像输入到预设的背景分割模型中,根据所述原始图像计算背景掩膜;

根据所述背景掩膜建立金字塔模型,通过所述金字塔模型分析得到背景掩膜中的运动物体,将每一个运动物体的位置区域记录为一个spot对象;

将背景掩膜中spot对象与target对象库进行匹配,获得spot对象的目标位置,完成待跟踪目标的目标跟踪。

优选地,所述获取待跟踪目标当前的原始图像包括:

使用opencv的videocapture函数获取待跟踪目标当前bgr三通道的mat图像;

或者是,使用ffmpeg读取待跟踪目标当前的流媒体,并解压所述流媒体获得yuv三通道的avframe图像,并将所述avframe图像转换为mat图像。

优选地,所述背景分割模型为使用opencv中的backgroundsubtractormog2类建立。

优选地,所述根据所述原始图像计算背景掩膜具体包括:

将所述原始图像与历史原始图像进行对比;用黑色像素点表示对比过程中,原始图像与历史原始图像中相同的区域;用白色像素点表示对比过程中,原始图像与历史原始图像中发生变化的区域;

由所述黑色像素点和白色像素点构成黑白图像;

通过opencv变形变化函数对所述黑白图像进行平滑、去噪后,得到所述背景掩膜。

优选地,所述根据所述背景掩膜建立金字塔模型,通过所述金字塔模型分析得到背景掩膜中的运动物体具体包括:

利用opencv的buildpyramid函数对所述背景掩膜建立金字塔模型,通过对金字塔模型逐层分析、定位所述背景掩膜中白色像素点区域,得到背景掩膜中的运动物体。

优选地,所述spot对象包括区域的基准坐标和尺寸大小,用于标识所述背景掩膜中的一块区域。

优选地,所述将背景掩膜中spot对象与target对象库进行匹配,获得spot对象的目标位置具体包括:

如果target对象库中存在与所述spot对象对应的target对象时,将所述spot对象插入target对象的位置队列中,定义target对象的位置为spot对象的目标位置;

如果target对象库中不存在与所述spot对象对应的target对象时,根据所述spot对象构建target对象,采用位置接近原理获得该spot对象的目标位置。

优选地,所述target对象包括位置列表、拟合参数和预测位置,用于标识运动物体的运动趋势。

优选地,该方法在所述将背景掩膜中spot对象与target对象库进行匹配,获得spot对象的目标位置之后,还包括:

对所述target对象库中的target对象的运动规律进行拟合,预测target对象的预测位置。

优选地,所述对所述target对象库中的target对象的运动规律进行拟合,预测target对象的预测位置具体包括:

采用最小二乘法对target对象的运动规律进行拟合;

拟合过程以时间t为自变量,物体位置(xn,yn)为应变量,所述运动规律可表示为:

xn=∑ai×tni,yn=∑bi×tni

其中i为拟合阶数,n为采样数;ai和bi为拟合参数,tn为第n帧的时间。

由上述技术方案可知,本发明提供的图像分析多目标跟踪方法,能够在一系列连续图像中识别相同的运动物体,同时跟踪画面中的多个运动物体,且可抵御物体被短暂遮挡的情况。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例提供的图像分析多目标跟踪方法的流程图。

图2为本发明实施例构建的spot对象和target对象。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例:

一种图像分析多目标跟踪方法,参见图1(图1中,圆圈是流程起点的意思,图1中纵向的5个流程各自工作在独立的线程上,实线箭头是各线程各自的工作流程虚线箭头是各线程间的消息通讯),包括以下步骤:

s1:获取待跟踪目标当前的原始图像;具体包括:

使用opencv的videocapture函数获取待跟踪目标当前bgr三通道的mat图像;

或者是,使用ffmpeg读取待跟踪目标当前的流媒体(如网络摄像头输出的实时图像),并解压所述流媒体获得yuv三通道的avframe图像,并将所述avframe图像转换为mat图像。

具体地,该方法可以在opencv平台上实现。为了满足opencv处理函数所需的图像格式,该步骤首先获取原始图像,再将原始图像转换为mat图像,满足opencv处理函数对图像格式的要求。

虽然彩色图像的识别效果略优于单色图像,但差别并不显著。而单色图像占用内存和计算量要远小于彩色图像,加之yuv格式中主要图像信息包含在y通道,其信息含量高于经rgb转化而得的灰度图像。因而也可以直接解压所述流媒体获得y通道单通道图像,再转换为mat图像。例如将avframe::data[0]像素数据地址指针直接赋值给mat::data,可实现y通道单通道图像至mat图像的快速转换。

s2:将所述原始图像输入到预设的背景分割模型中,根据所述原始图像计算背景掩膜;其中,

所述背景分割模型为使用opencv中的backgroundsubtractormog2类建立。

所述根据所述原始图像计算背景掩膜具体包括:

将所述原始图像与历史原始图像进行对比;用黑色像素点表示对比过程中,原始图像与历史原始图像中相同的区域;用白色像素点表示对比过程中,原始图像与历史原始图像中发生变化的区域;

由所述黑色像素点和白色像素点构成黑白图像;

通过opencv变形变化函数对所述黑白图像进行平滑、去噪后,得到所述背景掩膜。

具体地,该步骤将待跟踪目标当前的原始图像与历史原始图像进行对比,从而识别出运动物体。黑白图像中,用黑色像素点表示当前的原始图像与历史原始图像中位置不发生变化的区域,即背景;用白色像素点表示当前的原始图像与历史原始图像中位置发生变化的区域,即前景。背景掩膜为与原始图像尺寸相同的图像。

s3:根据所述背景掩膜建立金字塔模型,通过所述金字塔模型分析得到背景掩膜中的运动物体,将每一个运动物体的位置区域记录为一个spot对象;

其中,所述根据所述背景掩膜建立金字塔模型,通过所述金字塔模型分析得到背景掩膜中的运动物体具体包括:

利用opencv的buildpyramid函数对所述背景掩膜建立金字塔模型,通过对金字塔模型逐层分析、定位所述背景掩膜中白色像素点区域,得到背景掩膜中的运动物体。

参见图2,所述spot对象用于表示在一副图像中的一块矩形区域,spot对象中保存了该区域的位置、大小等信息,例如以矩形中心或角点为参考点,定义x,y为参考点的坐标,width、height、left、right、top、bottom分别为矩形区域的宽、高、左边偏移量、右边偏移量、顶部偏移量和底部偏移量。在本方法中spot对象用以表示在某帧图像中发现的存在运动物体的区域。所述target对象在本方法中用以表示所识别出的某一运动物体,target对象中的spotlist属性是由一系列spot对象指针及长整型时间戳所组成的二维队列,其意义是该运动物体在不同时间的所在位置。通过spotlist中所保存的信息,该运动物体在下一时刻的预期位置可以通过运动连续性原理进行拟合预测(调用其predict方法),预测结果保存在target对象的predictspot属性内,拟合参数保存在coef属性内。在步骤s4中将新检测的到spot对象与现有target对象进行匹配时,将待检spot对象传入target::sample函数,该函数会比较传入的spot对象于该target对象的predictspot的接近程度,若匹配成功则将该spot对象加入其spotlist列表。对于未匹配成功的spot对象可通过target::target(spot*)构造函数构造新的target对象。所述spot对象包括区域的基准坐标和尺寸大小,用于标识所述背景掩膜中的一块区域。

由于背景掩膜仅使用黑白色区分背景与前景,要想获得以数字形式表达的运动区域位置,还需要对背景掩膜做进一步的分析。该方法利用opencv的buildpyramid函数对背景掩膜建立金字塔模型,识别背景掩膜中所有的运动物体,并得到所有运动物体的位置。

s4:将背景掩膜中spot对象与target对象库进行匹配,获得spot对象的目标位置,完成待跟踪目标的目标跟踪。

优选地,所述将背景掩膜中spot对象与target对象库进行匹配,获得spot对象的目标位置具体包括:

如果target对象库中存在与所述spot对象对应的target对象时,将所述spot对象插入target对象的位置队列中,定义target对象的位置为spot对象的目标位置;

如果target对象库中不存在与所述spot对象对应的target对象时,根据所述spot对象构建target对象,采用位置接近原理获得该spot对象的目标位置。

参见图2,所述target对象包括位置列表、拟合参数和预测位置,用于标识运动物体的运动趋势。

具体地,将当前原始图像中运动位置逐一与已找到的运动对象(target对象库中的target对象)进行对比匹配。如果target对象库中存在与所述spot对象对应的target对象,说明该方法已经根据该运动对象的历史数据进行过运动参数拟合与位置预测,所以在进行spot对象与target对象的匹配时,采用运动连续性原理,匹配成功后将spot对象(包括运动位置信息,如时间信息)插入target对象的历史位置队列。

如果target对象库中不存在与所述spot对象对应的target对象时,说明该运动对象的历史数据较少,还未对该运动对象进行过运动参数拟合与位置预测,此时如果spot对象满足预设条件(如输入图像初始若干帧或出现在画面边缘),采用位置接近原理获得该spot对象的目标位置,其中位置接近原理是现有方法。否则将spot对象视为无效数据丢弃。

s5:对所述target对象库中的target对象的运动规律进行拟合,预测target对象的预测位置。

优选地,所述对所述target对象库中的target对象的运动规律进行拟合,预测target对象的预测位置具体包括:

采用最小二乘法对target对象的运动规律进行拟合;

拟合过程以时间t为自变量,物体位置(xn,yn)为应变量,所述运动规律可表示为:

xn=∑ai×tni,yn=∑bi×tni

其中i为拟合阶数,n为采样数;ai和bi为拟合参数,tn为第n帧的时间。

具体地,当target对象的位置列表长度达到预定值(即采样数)后,需对其target对象的运动状态进行更新,即对target对象的运动规律进行拟合。在你和过程中,将下一帧的时间tn+1代入上述公式即可得到物体的预测位置。实际工程中,拟合阶数建议不超过3阶,采样数建议取5-9点,拟合计算完成后可以将位置列表中最老的数据丢弃。

运动连续性原理是对位置接近原理的改进,其判断标准不是与物体当前位置最接近,而是与物体预期将运动到的位置最接近。本方法实时测算运动物体的位置、速度、加速度,同时记录下每一帧图像的时间信息(例如h.264格式每一帧图像的pts属性,或该帧图像的获取时间),进而对其在下一帧可能出现的位置进行预测,在预测位置附近且与预测位置最接近的物体即是追踪目标,即待跟踪目标的目标位置。运动连续性规律不受物体相似性影响,发生变化的物体亦可有效追踪。同时本方法亦可克服物体短暂的遮挡,只要在遮挡期间运动状态未发生大的改变,遮挡结束后仍可继续追踪。

该方法能够在一系列连续图像中识别相同的运动物体,同时跟踪画面中的多个运动物体,且可抵御物体被短暂遮挡的情况,还可与其他算法配合协作将可提升整体目标追踪成功率。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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