一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标跟踪方法、装置、电子设备及存储介质与流程

2022-07-10 15:21:32 来源:中国专利 TAG:


1.本发明实施例涉及视频监控技术领域,尤其涉及一种目标跟踪方法、装置、电子设备及存储介质。


背景技术:

2.运动目标跟踪是计算机视觉和机器学习领域的关键技术,其任务是从视频序列中实时获取感兴趣的运动目标,并对运动目标进行持续跟踪。
3.目前,传统camshift跟踪算法采用颜色直方图表达目标的颜色概率,在应用上对规则和不规则物体都有很好的跟踪效果,其算法运行效率高,能够实现对目标的快速跟踪。但是,在背景复杂或者存在较多与目标颜色相近的像素的情况下,camshift跟踪算法容易出现跟踪目标丢失的问题,导致目标跟踪失败。


技术实现要素:

4.鉴于上述问题,本发明实施例中提供了一种目标跟踪方法、装置、电子设备及存储介质,以实现对视频中运动目标对象的跟踪准确性和稳定性。
5.第一方面,本发明实施例中提供了一种目标跟踪方法,所述方法包括:
6.确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置;
7.确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;
8.通过比较所述第一质心位置与所述第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪所述目标对象时使用。
9.第二方面,本发明实施例中还提供了一种目标跟踪装置,所述装置包括:
10.第一质心确定模块,用于确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置;
11.第二质心确定模块,用于确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;
12.目标对象跟踪模块,用于通过比较所述第一质心位置与所述第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪所述目标对象时使用。
13.第三方面,本发明实施例中还提供了一种电子设备,包括:
14.一个或多个处理器;
15.存储装置,用于存储一个或多个程序;
16.所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任意所述的目标跟踪方法。
17.第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任意所述的目标跟踪方法。
18.本发明实施例中提供了一种目标跟踪方法,确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置以及确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;进而,通过比较第一质心位置与第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪目标对象时使用。
19.采用本技术方案,每轮目标跟踪都会对surf算法和camshift算法的跟踪结果进行对比判定,通过比较对camshift跟踪算法的搜索窗口进行实时更新,以便在下一视频帧进行目标跟踪时使用更新后的搜索窗口,通过surf算法让camshift跟踪算法融合快速鲁棒性特征,保证在使用camshift跟踪算法进行跟踪时camshift跟踪结果的准确性,解决了camshift在颜色干扰和遮挡场景下出现目标跟丢的问题。
20.上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
21.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
22.图1是本发明实施例中提供的一种目标跟踪方法的流程图;
23.图2是本发明实施例中提供的另一种目标跟踪方法的流程图;
24.图3是本发明实施例中提供的一种目标跟踪装置的结构框图;
25.图4是本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
26.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
27.在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
28.为了更好地了解本技术中的目标跟踪方案,下面针对surf算法和camshift算法进行简单阐述。相关技术中,当camshift算法跟踪失效时,才启用surf算法重新定位,对camshift算法初始化搜索窗口重新跟踪,但是目标跟丢后才用surf算法定位目标,不利于对运动目标的持续跟踪。另外,camshift跟踪算法在背景复杂或者存在较多与目标颜色相近的像素的情况下,camshift跟踪算法容易出现跟踪目标丢失的问题。因此,如何对目标对象进行持续跟踪,且尽可能避免目标跟丢的情况变得非常重要。
29.下面通过以下实施例及其可选方案,对本技术方案中提供的目标跟踪方法、装置、
电子设备及存储介质进行详细阐述。
30.图1是本发明实施例中提供的一种目标跟踪方法的流程图。本发明实施例可适用于视频中运动目标进行跟踪的情况。该目标跟踪方法可以由目标跟踪装置执行,该装置可以采用软件和/或硬件的方式实现,并可集成在任何具有网络通信功能的电子设备上,上述电子设备可为视频监控设备等。如图1所示,本实施例中的目标跟踪方法,可包括以下步骤:
31.s110、确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置。
32.在本实施例中,surf是特征点提取和匹配的算法,其提取的是图像的局部特征,对平移、旋转、尺度缩放、亮度变化、遮挡和噪声有良好的不变性,并且对视觉变化和仿射变化也保持一定的稳定性。可见,surf算法具有很好的鲁棒性特征,其在目标对象定位上具有有效性和准确性,通过surf算法能够很好地对视频帧图像中目标对象进行定位,因此本技术方案中引入surf算法对各个视频帧图像中的目标对象进行实时定位,尽可能避免目标对象被跟丢情况。
33.在本实施例中,可将一段视频切割划分为多个视频帧(视频序列),并依次对多个视频帧图像进行跟踪处理。以当前获取的当前视频帧为例,采用surf算法可以从当前视频帧图像中提取特征点并对提取的特征点进行匹配,进而得到目标对象在当前视频帧图像中的质心位置,记为第一质心位置。其中,目标对象可以是在环境中进行实时运动的目标。需要说明的是,此处“第一”是用于区分后续camshift算法跟踪确定的质心位置。
34.在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置,可以包括步骤a1-a2:
35.步骤a1、确定基于surf算法在当前视频帧中对目标对象进行跟踪,所得到的目标对象的像素点位置和像素值。
36.步骤a2、依据目标对象的像素点位置和像素值,通过预设质心位置计算公式得到基于surf算法跟踪确定的目标对象在当前视频帧下的第一质心位置。
37.在本实施例中,针对视频中当前视频帧,可提取当前视频帧中检测运动目标对象的快速鲁棒性特征,即surf特征点。进而,采用豪斯多夫hausdorff距离对提取的surf特征点进行匹配。若对提取的surf特征点匹配成功,则确定在当前视频帧中跟踪到的运动目标对象的像素点位置(x,y)和像素值i(x,y)。
38.在本实施例中,在确定目标对象的像素点位置和像素值之后,可通过质心位置计算公式来计算surf算法跟踪都的运动目标对象的中心位置,具体以质心位置o(x,y)表达。其中,零阶矩m
00
和一阶矩m
01
、m
10
分别为:
[0039][0040][0041][0042]
经过上述零阶矩m
00
和一阶矩m
01
、m
10
,可得到目标对象在当前视频帧下的第一质心
位置为:记运动目标对象的第一质心位置为o(x0,y0)。
[0043]
s120、确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置。
[0044]
在本实施例中,在确定于camshift算法的初始化搜索窗口之后,可基于camshift算法对当前视频帧中包括的目标对象进行一次跟踪,即camshift跟踪算法执行一次,通过跟踪搜索窗口更新一次,此时记搜索窗口的零阶矩和一阶矩为m
00
,m
10
,m
01
,则camshift算法跟踪得出运动目标对象在当前视频帧中新的位置(x',y'),具体为:并,将新的位置记为基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置o'(x',y')。除了能够确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置o'(x',y'),同时还能确定跟踪更新后搜索窗口的窗口尺寸信息,其中窗口尺寸的宽度w'和长度h'分别记为:
[0045]
在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,在当前视频帧下属于首次使用camshift算法对进行目标对象跟踪的情况下,确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置,可包括以下步骤b1-b3:
[0046]
步骤b1、以第一质心位置为中心,确定采用surf算法定位跟踪的目标对象的在当前视频帧下的最小外接矩形框。
[0047]
步骤b2、将目标对象的在当前视频帧下的最小外接矩形框作为camshift算法的初始化搜索窗口
[0048]
步骤b3、按照camshift算法的初始化搜索窗口,采用camshift算法在当前视频帧下对目标对象进行跟踪,并将在当前视频帧下跟踪到的搜索窗口的质心位置作为第二质心位置。
[0049]
在本实施例中,以目标对象在当前视频帧下的第一质心位置o(x0,y0)为中心位置,第一质心位置o(x0,y0)周边的四个局部质心分别记为a、b、c以及d,宽度为w,高度为h,则上述局部质心的局部p q阶矩为:述局部质心的局部p q阶矩为:以及由上述局部p q阶矩可确定第一质心位置o(x0,y0)周边的四个局部质心a、b、c以及d的局部质心位置分别为:(xa,ya)、(xb,yb)、(xc,yc)以及(xd,yd),进而可得到目标对象的在当前视频帧下的最小外接矩形框r(a,b,c,d),a、b、c以及d为矩形的四个点。其中,各个局部质心位置的计算如下:
[0050][0051]
在本实施例中,在首次使用camshift算法时,本技术方案不再人工选择搜索区域初始化camshift算法的搜索窗口,而是使用surf算法定位跟踪的目标对象的在当前视频帧下的最小外接矩形框,来实现对camshift算法的搜索窗口的初始化。通过将传统的人工选择搜索区域初始化camshift算法的搜索窗口变为surf跟踪算法赋值初始化,实现camshift搜索窗口的自动初始化。
[0052]
在本实施例中,在初始化camshift算法的搜索窗口后,可使得camshift算法按照初始化搜索窗口在当前视频帧下对目标对象进行跟踪,并将在当前视频帧下跟踪更新的搜索窗口指示的质心位置作为基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置。基于camshift算法在当前视频帧下跟踪更新的搜索窗口还可包括搜索窗口的窗口尺寸。
[0053]
采用上述方式,通过surf算法进行首次搜索,并确定以目标对象的质心最小外接矩形,通过定位出的目标对象到的质心最小外接矩形初始化camshift算法的搜索窗口,在camshift算法的首次跟踪过程中由于通过surf算法构造了较为准确的搜索窗口因此能够对当前视频帧中目标对象进行正确跟踪。
[0054]
在本实施例的另一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,在当前视频帧下属于非首次使用camshift算法对进行目标对象跟踪的情况下,确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置,可包括步骤c1-c2:
[0055]
步骤c1、确定对基于camshift算法在上一视频帧中跟踪目标对象得到的搜索窗口进行调整所得到的新的搜索窗口。
[0056]
步骤c2、按照在上一视频帧进行调整得到的新的搜索窗口,采用camshift算法在当前视频帧下对目标对象进行跟踪,并将在当前视频帧下跟踪到的搜索窗口的质心位置作为第二质心位置。
[0057]
采用上述方式,在每次跟踪时,通过对目标对象在当前视频帧中的第一质心位置和第二质心位置进行对比判定,实现对camshift算法在当前视频帧下跟踪更新的搜索窗口进行实时调整,构造最优搜索窗口质心位置和尺寸,进而将调整得到的最优搜索窗口迭代到下一视频帧进行camshift算法跟踪时使用,提高了对下一视频帧中目标对象的正确跟踪,通过在不同视频帧进行不断迭代跟踪实现对目标对象的持续跟踪。
[0058]
s130、通过比较第一质心位置与第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪目标对象时使用。
[0059]
在本实施例,采用上述方式,对于每一个视频帧而言,在使用camshift算法对每一视频帧进行目标跟踪的同时,均会采用surf算法进行跟踪一次,换言之surf算法并不单单在首次跟踪时使用,而是在对每一个视频帧中目标对象进行跟踪时均会使用一次。这样一来,在camshift算法每次对视频帧中目标对象进行跟踪迭代完成后,同时会将camshift算
法跟踪得到第二质心位置与surf算法跟踪得到的第一质心位置进行实时比较,判定哪个算法获得的跟踪结果较为准确,以便对camshift算法跟踪得到的搜索窗口进行实时调整,能够有效规避单一算法在颜色干扰和遮挡时出现的跟丢运动目标对象的风险,且基于两种算法的实时比较对camshift算法跟踪更新的搜索窗口进行实时调整,并将调整后得到的新的搜索窗口加载到下一视频帧时供camshift算法使用,能够提高对下一视频帧中目标对象的跟踪准确性。
[0060]
根据本发明实施例中提供的目标跟踪方法,每轮目标跟踪都会对surf算法和camshift算法的跟踪结果进行对比判定,通过比较对camshift跟踪算法的搜索窗口进行实时更新,以便在下一视频帧进行目标跟踪时使用更新后的搜索窗口,通过surf算法让camshift跟踪算法融合快速鲁棒性特征,保证在使用camshift跟踪算法进行跟踪时camshift跟踪结果的准确性,解决了camshift在颜色干扰和遮挡场景下出现目标跟丢的问题。
[0061]
图2是本发明实施例中提供的另一种目标跟踪方法的流程图。本发明实施例在上述实施例的基础上进行优化,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。如图2所示,本技术实施例中的目标跟踪方法,可包括以下步骤:
[0062]
s210、确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置。
[0063]
s220、确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置。
[0064]
s230、确定第一质心位置与第二质心位置之间的质心间相似性度量值。
[0065]
在本实施例中,在对surf算法跟踪的第一质心位置与camshift算法跟踪的第二质心位置进行比对时,可计算第一质心位置与第二质心位置之间的质心间相似性度量值,以此判定运动目标对象是否为跟踪对象,从而实现运动目标对象跟踪。其中,质心间相似性度量值可采用但不限于以下内容进行度量:欧氏距离、加权距离、bhattacharyya系数以及hausdorff距离等。
[0066]
在本实施例中,以欧氏距离作为相似性度量方法,计算surf算法在当前视频帧下跟踪到的运动目标对象的第一质心位置o(x,y)和camshift在当前视频帧下跟踪到的运动目标对象的第二质心位置o'(x',y')之间的欧氏距离,记为质心间的欧式距离dist[o(x,y),o'(x',y')],将质心间的欧式距离dist[o(x,y),o'(x',y')]作为质心间相似性度量值。质心间的欧式距离dist[o(x,y),o'(x',y')]的计算公式如下:
[0067][0068]
s240、若确定质心间相似性度量值大于预设度量阈值,则将基于surf算法在当前视频帧下跟踪到的第一质心位置和基于camshift算法在当前视频帧下跟踪到的搜索窗口的窗口尺寸进行组合,构建得到新的搜索窗口。
[0069]
在本实施例中,以质心间相似性度量值采用欧式距离表示为例,可以预先设置一个欧式距离的预设阈值距离t0,若检测到质心间欧式距离大于欧式距离的预设阈值距离t0,则认为基于camshift算法在当前视频帧下跟踪到的目标对象在当前视频帧中的第二质心位置不准确,此时camshift算法很大可能对目标对象的跟踪位置出现偏差,如果在下一视频帧继续使用在当前视频帧下跟踪到的第二质心位置进行camshift算法跟踪,那么会导致偏差越来越大,导致camshift算法跟丢目标对象。其中,质心间相似性度量值采用bhattacharyya系数、加权距离以及hausdorff距离等表示的比对逻辑相似,这里不再赘述。
[0070]
在本实施例中,在检测到camshift算法在当前视频帧下跟踪的第二质心位置出现偏差后,可以以基于surf算法在当前视频帧下跟踪到的第一质心位置为准,同时为了降低最小外接矩形选取在下一视频帧中目标对象跟踪的影响。因此本技术案可以将surf算法在当前视频帧下跟踪到的运动目标对象在当前视频帧中的第一质心o(x,y)与camshift在当前视频帧下跟踪到的搜索窗口的窗口尺寸(宽度w'和长度h')进行搜索窗口的重构,得到一个新的搜索窗口。
[0071]
s250、将在当前视频帧下构建得到新的搜索窗口迭代到下一视频帧,以在下一视频帧下基于camshift算法跟踪目标对象时使用。
[0072]
在本实施例中,每次跟踪均以surf算法和camshift算法跟踪的质心位置进行对比判定,且在跟丢或者跟踪出现偏差情况下,通过camshift算法跟踪的当前搜索窗口尺寸和surf算法跟踪定位的质心进行结合,重构下次迭代的搜索窗口和位置。通过以surf跟踪算法得到的参数作为检验条件,每完成一次surf跟踪和camshift跟踪,进行一次surf算法和camshift算法跟踪的质心选取和搜索框选取,同时使用当前重构的搜索窗口供camshift算法在下一视频帧中对运动目标对象执行持续跟踪,直至在各个视频帧中运动目标对象跟踪完成。
[0073]
在本实施例中,可选地,通过比较第一质心位置与第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,还包括:若确定质心间相似性度量值小于或等于预设度量阈值,则继续保持基于camshift算法在当前视频帧下跟踪到的搜索窗口,以迭代到下一视频帧基于camshift算法跟踪目标对象时使用。
[0074]
根据本发明实施例中提供的目标跟踪方法,每轮目标跟踪都会对surf算法和camshift算法的跟踪结果进行对比判定,通过比较对camshift跟踪算法的搜索窗口进行实时更新,以便在下一视频帧进行目标跟踪时使用更新后的搜索窗口,由于surf算法具有尺度、方向鲁棒性,结合camshift算法特有的颜色特征,能够有效规避“surf对颜色不敏感”的缺陷和“camshift对尺寸变化与方向变化不敏感”的缺陷,通过surf算法让camshift跟踪算法融合快速鲁棒性特征,可以保证运动目标存在大小缩放和方向变化时,准确地跟踪到运动目标,进而使得在使用camshift跟踪算法进行跟踪时camshift跟踪结果的准确性,解决了camshift在颜色干扰和遮挡场景下出现目标跟丢的问题。
[0075]
图3是本发明实施例中提供的一种目标跟踪装置的结构框图。本发明实施例可适用于视频中运动目标进行跟踪的情况。该装置可以采用软件和/或硬件的方式实现,并可集成在任何具有网络通信功能的电子设备上。如图1所示,本实施例中的目标跟踪装置,可包括以下:第一质心确定模块310、第二质心确定模块320以及目标对象跟踪模块330。其中:
[0076]
第一质心确定模块310,用于确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置;
[0077]
第二质心确定模块320,用于确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;
[0078]
目标对象跟踪模块330,用于通过比较所述第一质心位置与所述第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪所述目标对象时使用。
[0079]
在上述实施例的基础上,可选地,第一质心确定模块310包括:
[0080]
确定基于surf算法在当前视频帧中对目标对象进行跟踪,所得到的目标对象的像素点位置和像素值;
[0081]
依据所述目标对象的像素点位置和像素值,通过预设质心位置计算公式得到基于surf算法跟踪确定的目标对象在当前视频帧下的第一质心位置。
[0082]
在上述实施例的基础上,可选地,第二质心确定模块320包括:
[0083]
以所述第一质心位置为中心,确定采用surf算法定位跟踪的目标对象的在当前视频帧下的最小外接矩形框;
[0084]
将目标对象的在当前视频帧下的最小外接矩形框作为camshift算法的初始化搜索窗口;
[0085]
按照所述camshift算法的初始化搜索窗口,采用所述camshift算法在当前视频帧下对目标对象进行跟踪,并将在当前视频帧下跟踪到的搜索窗口的质心位置作为所述第二质心位置。
[0086]
在上述实施例的基础上,可选地,第二质心确定模块320包括:
[0087]
确定对基于camshift算法在上一视频帧中跟踪目标对象得到的搜索窗口进行调整所得到的新的搜索窗口;
[0088]
按照在上一视频帧进行调整得到的新的搜索窗口,采用所述camshift算法在当前视频帧下对目标对象进行跟踪,并将在当前视频帧下跟踪到的搜索窗口的质心位置作为所述第二质心位置。
[0089]
在上述实施例的基础上,可选地,目标对象跟踪模块330包括:
[0090]
确定所述第一质心位置与所述第二质心位置之间的质心间相似性度量值;
[0091]
若确定所述质心间相似性度量值大于预设度量阈值,则将基于surf算法在当前视频帧下跟踪到的第一质心位置和基于camshift算法在当前视频帧下跟踪到的搜索窗口的窗口尺寸进行组合,构建得到新的搜索窗口。
[0092]
在上述实施例的基础上,可选地,目标对象跟踪模块330还包括:
[0093]
若确定所述质心间相似性度量值小于或等于预设度量阈值,则继续保持基于camshift算法在当前视频帧下跟踪到的搜索窗口。
[0094]
本发明实施例中所提供的目标跟踪装置可执行上述本发明任意实施例中所提供的目标跟踪方法,具备执行该目标跟踪方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例中所提供的目标跟踪方法。
[0095]
图4是本发明实施例中提供的一种电子设备的结构示意图。如图4所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器410和存储装置420;该电子设备中的处理器410可以是一个或多个,图4中以一个处理器410为例;存储装置420用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器410执行,使得所述一个或多个处理器410实现如本发明实施例中任一项所述的目标跟踪方法。
[0096]
该电子设备还可以包括:输入装置430和输出装置440。
[0097]
该电子设备中的处理器410、存储装置420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
[0098]
该电子设备中的存储装置420作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提
供的目标跟踪方法对应的程序指令/模块。处理器410通过运行存储在存储装置420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中目标跟踪方法。
[0099]
存储装置420可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0100]
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
[0101]
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器410执行时,程序进行如下操作:
[0102]
确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置;
[0103]
确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;
[0104]
通过比较所述第一质心位置与所述第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪所述目标对象时使用。
[0105]
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器410执行时,程序还可以进行本发明任意实施例中所提供的目标跟踪方法中的相关操作。
[0106]
本发明实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行目标跟踪方法,该方法包括:
[0107]
确定基于surf算法跟踪的目标对象在当前视频帧下的第一质心位置;
[0108]
确定基于camshift算法跟踪的目标对象在当前视频帧下的第二质心位置;
[0109]
通过比较所述第一质心位置与所述第二质心位置,对基于camshift算法跟踪的目标对象在当前视频帧下的搜索窗口进行调整,以在下一视频帧下基于camshift算法跟踪所述目标对象时使用。
[0110]
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的目标跟踪方法。
[0111]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0112]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0113]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(radiofrequency,rf)等等,或者上述的任意合适的组合。
[0114]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0115]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0116]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献