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

一种目标跟踪方法和装置与流程

2021-12-17 22:11:00 来源:中国专利 TAG:


1.本发明涉及计算机技术,特别是涉及一种目标跟踪方法和装置。


背景技术:

2.随着视频直播快速发展,直播带货已逐渐成为各大电商的发展的重要方向。直播软件的美颜技术能够使主播更为漂亮美丽,对吸引消费者消费有着重要意义,因此,直播美颜技术成为了直播平台的重要需求。然而,大多数主播使用的直播设备通常是智能手机,而且直播时间长,这样,对美颜算法提出了新的挑战,需要在较低能耗的下满足直播美颜的需求。而在现有的美颜方案中,对图像中的人脸检测占据了大量的时间和cpu消耗,因此,对直播中的人脸进行跟踪,以降低人脸检测的次数,成为了重要的需求。
3.基于深度学习方法进行跟踪是一种常用的目标跟踪方案。该方案利用卷积神经网络,训练学习跟踪目标的相关特征,实现对目标的跟踪。
4.在实现本发明过程中,发明人发现上述目标跟踪方案存在运算量大、耗时长的问题,具体原因分析如下:
5.现有的基于深度学习的目标跟踪方案中需要输入先后两帧图像,利用深度学习网络对输入图像的相关性进行分析,而深度学习网络的分析运算量较大,相应地,就会导致整体的跟踪耗时较长。并且,随着图像中人脸数量的增加,其需要跟踪的目标也随之增大,这样,运算量和耗时也随着人脸数量线性增加。因此,当图像中的人脸数量较多时,上述问题更严重。


技术实现要素:

6.有鉴于此,本发明的主要目的在于提供一种图像跟踪方法和装置,可以降低运算开销、提高跟踪效率。为了达到上述目的,本发明实施例提出的技术方案为:
7.一种目标跟踪方法,包括:
8.获取当前需要检测的图像帧k;
9.根据上一图像帧k

1的检测方式或检测结果,确定所述图像帧k的检测方式,根据所确定的检测方式,对所述图像帧k中的每个目标对象进行检测;
10.其中,当所确定的检测方式为目标检测时,在检测出所述目标对象的检测框之后,检测所述目标对象在相应检测框中的特征角点集合;
11.当所确定的检测方式为跟踪时,则将对图像帧k

1检测时所得到的下一帧的检测方式,作为所述图像帧k的检测方式。
12.较佳地,当所确定的检测方式为跟踪时,对所述图像帧k中的每个目标对象进行检测包括:
13.根据所述目标对象在所述图像帧k

1的特征角点集合,确定每个所述目标对象在所述图像帧k的特征角点集合;
14.对于每个所述目标对象n,根据该目标对象n分别在所述图像帧k

1和所述图像帧k
的特征角点集合,确定该目标对象n在所述图像帧k的平均位移;按照所述平均位移,对所述目标对象n在所述图像帧k

1的检测框box
k

1n
进行平移,得到该目标对象n在所述图像帧k的检测框box
kn
,并判断所述检测框box
kn
中的图像是否属于检测目标;
15.如果所述图像帧k中至少一个所述目标对象在所述图像帧k的检测框中的图像不属于检测目标,则确定下一帧的检测方式为目标检测,否则,确定下一帧的检测方式为跟踪。
16.较佳地,所述确定所述图像帧k的检测方式包括:
17.如果图像帧k

1的检测方式为目标检测,则确定对所述图像帧k的检测方式为跟踪;
18.如果对图像帧k

1的检测方式为跟踪,则根据对图像帧k

1检测时所确定的下一帧的检测方式,得到对所述图像帧k的检测方式。
19.较佳地,所述检测所述目标对象在相应检测框中的特征角点集合包括:
20.采用局部二值模式lbp算子作为角点检测算子,检测所述目标对象在相应检测框中的特征角点集合。
21.较佳地,所述确定每个所述目标对象在所述图像帧k的特征角点集合包括:
22.采用稀疏光流法,对所述图像帧k

1的特征角点集合中的特征角点,进行光流跟踪,得到图像帧k的特征角点集合;所述图像帧k

1的特征角点集合为所有所述目标对象在所述图像帧k

1的特征角点集合的合集;
23.对于每个所述目标对象,从所述图像帧k的特征角点集合中,获取该目标对象对应的特征角点,得到该目标对象在所述图像帧k的特征角点集合。
24.较佳地,所述确定该目标对象n在所述图像帧k的平均位移包括:
25.按照d
n
=(f
kn,m

f
k

1n,m
)/m,计算所述目标对象n在所述图像帧k的平均位移d
n

26.其中,f
kn,m
为目标对象n在所述图像帧k的第m个特征角点的坐标,f
k

1n,m
为目标对象n在所述图像帧k

1的第m个特征角点的坐标;m为目标对象n在所述图像帧k的特征角点数量。
27.本发明实施例提供一种目标跟踪装置,包括:
28.图像获取模块,用于获取当前需要检测的图像帧k;
29.检测模块,用于根据上一图像帧k

1的检测方式或检测结果,确定所述图像帧k的检测方式,根据所确定的检测方式,对所述图像帧k中的每个目标对象进行检测;其中,当所确定的检测方式为目标检测时,在检测出所述目标对象的检测框之后,检测所述目标对象在相应检测框中的特征角点集合;当所确定的检测方式为跟踪时,根据所述目标对象在所述图像帧k

1中的特征角点集合和检测框,对所述目标对象进行所述检测。
30.较佳地,所述检测模块,具体用于当所确定的检测方式为跟踪时,对所述图像帧k中的每个目标对象进行检测,包括:
31.根据所述目标对象在所述图像帧k

1的特征角点集合,确定每个所述目标对象在所述图像帧k的特征角点集合;
32.对于每个所述目标对象n,根据该目标对象n分别在所述图像帧k

1和所述图像帧k的特征角点集合,确定该目标对象n在所述图像帧k的平均位移;按照所述平均位移,对所述目标对象n在所述图像帧k

1的检测框box
k

1n
进行平移,得到该目标对象n在所述图像帧k的
检测框box
kn
,并判断所述检测框box
kn
中的图像是否属于检测目标;
33.如果所述图像帧k中至少一个所述目标对象在所述图像帧k的检测框中的图像不属于检测目标,则确定下一帧的检测方式为目标检测,否则,确定下一帧的检测方式为跟踪。
34.较佳地,所述检测模块,具体用于确定所述图像帧k的检测方式,包括:
35.如果图像帧k

1的检测方式为目标检测,则确定对所述图像帧k的检测方式为跟踪;
36.如果对图像帧k

1的检测方式为跟踪,则将对图像帧k

1检测时所得到的下一帧的检测方式,作为所述图像帧k的检测方式。
37.较佳地,所述检测模块,具体用于检测所述目标对象在相应检测框中的特征角点集合,包括:
38.采用局部二值模式lbp算子作为角点检测算子,检测所述目标对象在相应检测框中的特征角点集合。
39.较佳地,所述检测模块,具体用于确定每个所述目标对象在所述图像帧k的特征角点集合,包括:
40.采用稀疏光流法,对所述图像帧k

1的特征角点集合中的特征角点,进行光流跟踪,得到图像帧k的特征角点集合;所述图像帧k

1的特征角点集合为所有所述目标对象在所述图像帧k

1的特征角点集合的合集;
41.对于每个所述目标对象,从所述图像帧k的特征角点集合中,获取该目标对象对应的特征角点,得到该目标对象在所述图像帧k的特征角点集合。
42.较佳地,所述检测模块,具体用于确定该目标对象n在所述图像帧k的平均位移,包括:
43.按照d
n
=(f
kn,m

f
k

1n,m
)/m,计算所述目标对象n在所述图像帧k的平均位移d
n

44.其中,f
kn,m
为目标对象n在所述图像帧k的第m个特征角点的坐标,f
k

1n,m
为目标对象n在所述图像帧k

1的第m个特征角点的坐标;m为目标对象n在所述图像帧k的特征角点数量。
45.本技术实施例还公开了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的图像跟踪方法的步骤。
46.本技术实施例还公开了一种电子设备,包括如前所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。
47.综上所述,本发明提出的图像跟踪方法和装置,通过利用角点检测技术,确定图像帧中每个目标对象的特征角点集合,在需要跟踪时,利用目标对象在前一帧图像中的特征角点集合和检测框,即可确定出目标对象在后一帧的检测框。如此,可以利用跟踪,有效减少采用目标检测的次数,因此,能够降低整体的图像处理计算量。并且,由于不需要利用深度学习网络获得帧与帧之前的相关性,因此,相对于现有需要利用深度学习网络进行跟踪的方案,其运算量大幅度降低,有效降低了跟踪运算开销,并提高了跟踪效率。
附图说明
48.图1为本发明实施例的方法流程示意图;
49.图2为本发明实施例的装置结构示意图。
具体实施方式
50.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
51.图1为本发明实施例的方法流程示意图,如图1所示,该实施例实现的目标跟踪方法主要包括:
52.步骤101、获取当前需要检测的图像帧k。
53.本步骤中,将从输入的图像帧序列中获取当前需要检测目标对象的图像帧,以便对其中的目标对象进行检测。
54.在实际应用中,本领域技术人员可根据实际需要设置图像中需要检测的目标,如人脸、动物、植物等。
55.步骤102、根据上一图像帧k

1的检测方式或检测结果,确定所述图像帧k的检测方式,根据所确定的检测方式,对所述图像帧k中的每个目标对象进行检测;其中,当所确定的检测方式为目标检测时,在检测出所述目标对象的检测框之后,检测所述目标对象在相应检测框中的特征角点集合;当所确定的检测方式为跟踪时,根据所述目标对象在所述图像帧k

1中的特征角点集合和检测框,对所述目标对象进行所述检测。
56.本步骤中,将利用角点检测技术,来确定图像帧中每个目标对象的特征角点集合,在需要跟踪时,利用目标对象在前一帧图像中的特征角点集合,对目标对象在前一帧图像中的检测框进行平移,得到目标对象在当前帧的检测框。如此,相对于现有需要利用深度学习网络进行跟踪的方案,大幅度降低了简化了跟踪运算复杂度,从而有效降低了跟踪运算量、提高了跟踪效率。这样,即使图像中目标对象数量较多,也不会导致跟踪运算开销大、运行效率低,进而影响跟踪方案适用性的问题。因此,适用于手机端侧。尤其当进行人脸检测时,在人脸数量多的时候,也能满足帧率25fps以上的处理速率要求。
57.这里需要说明的是,角点检测是计算机视觉系统中用来获取图像特征的一种方法,角点通常被定义为两条边的交点。应用于角点检测的算子很多,如haar(用于物体识别的一种数字图像特征)、局部二值模式(local binary pattern,lbp)、hog等特征提取器。
58.为了提高跟踪效率,减少跟踪运算量,以使本发明可以更好地适用于移动终端中,在一实施方式中,可以采用lbp算子作为角点检测算子,检测所述目标对象在相应检测框中的特征角点集合。
59.在一实施方式中,上述步骤102中,当所确定的检测方式为跟踪时,具体可以采用下述方法对图像帧k中的每个目标对象进行检测:
60.步骤a1、根据所述目标对象在所述图像帧k

1的特征角点集合,确定每个所述目标对象在所述图像帧k的特征角点集合。
61.本步骤中,用于基于前一帧图像中目标对象的特征角点集合,来确定当前帧的目标对象的特征角点集合。
62.较佳地,为了更准确、高效地确定出每个目标对象在当前帧k的特征角点集合,在
一实施方式中,可以采用稀疏光流(lucas

kanade,lk)方法,确定每个所述目标对象在所述图像帧k的特征角点集合:
63.采用稀疏光流法,对所述图像帧k

1的特征角点集合中的特征角点,进行光流跟踪,得到图像帧k的特征角点集合;所述图像帧k

1的特征角点集合为所有所述目标对象在所述图像帧k

1的特征角点集合的合集;
64.对于每个所述目标对象,从所述图像帧k的特征角点集合中,获取该目标对象对应的特征角点,得到该目标对象在所述图像帧k的特征角点集合。
65.上述方法中,基于图像帧k

1中所有所述目标对象在所述图像帧k

1的特征角点集合的合集(即图像帧k

1的特征角点集合),进行光流跟踪,如此,只需要进行一次光流跟踪,即可得到图像帧k中所有目标对象的特征角点集合,因此,可以以最小的光流处理开销,获得每个目标对象在图像帧k的特征角点集合。
66.这里需要说明的是,光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性,来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。
67.常用的光流法分为稀疏光流和稠密光流。lk光流法有三个假设条件:
68.(1).亮度恒定:一个像素点随着时间的变化,其亮度值(像素灰度值)是恒定不变的。这是光流法的基本设定。所有光流法都必须满足。
69.(2).小运动:时间的变化不会引起位置的剧烈变化。这样才能利用相邻帧之间的位置变化引起的灰度值变化,去求取灰度对位置的偏导数。所有光流法必须满足。
70.(3).空间一致:即前一帧中相邻像素点在后一帧中也是相邻的。这是lk光流法独有的假定。因为为了求取x,y方向的速度,需要建立多个方程联立求解。而空间一致假设就可以利用邻域n个像素点来建立n个方程。
71.视频帧序列中帧与帧之间的图像差别很小,因此,满足光流算法的假设条件,在第k帧时对k

1帧的特征角点进行光流跟踪,容易准确地得到第k帧的特征点集合。
72.步骤a2、对于每个所述目标对象n,根据该目标对象n分别在所述图像帧k

1和所述图像帧k的特征角点集合,确定该目标对象n在所述图像帧k的平均位移;按照所述平均位移,对所述目标对象n在所述图像帧k

1的检测框box
k

1n
进行平移,得到该目标对象n在所述图像帧k的检测框box
kn
,并判断所述检测框box
kn
中的图像是否属于检测目标。
73.本步骤中,通过计算帧与帧之间目标对象检测框内角点特征的平均位移,对检测框进行相应平移,来实现检测框的跟踪。
74.在一实施方式中,可以采用下述方法确定目标对象n在图像帧k的平均位移:
75.按照d
n
=(f
kn,m

f
k

1n,m
)/m,计算所述目标对象n在所述图像帧k的平均位移d
n

76.其中,f
kn,m
为目标对象n在所述图像帧k的第m个特征角点的坐标,f
k

1n,m
为目标对象n在所述图像帧k

1的第m个特征角点的坐标;m为目标对象n在所述图像帧k的特征角点数量。
77.在得到目标对象n在图像帧k的平均位移d
n
之后,需要对目标对象n在图像帧k

1的检测框进行平移,得到目标对象n在图像帧k的检测框box
kn
,其中,
78.步骤a3、如果所述图像帧k中至少一个所述目标对象在所述图像帧k的检测框中的图像不属于检测目标,则确定下一帧的检测方式为目标检测,否则,确定下一帧的检测方式
为跟踪。
79.这里需要说明的是,利用上述步骤a1、a2可以得到跟踪后的检测框box
kn
,但是,在实际应用中,也可能出现角点或光流检测出现点漂移的情况,此时,检测框移动的方向和距离可能出现问题。因此,通过步骤a3,对平移后的检测框内的图像进行分类判断,以判断框内的图像是否为目标对象(例如是否为人脸),如果是,则说明当前跟踪结果准确,可以在下一帧继续采用跟踪的方式,确定目标对象的检测框内,否则,如果不是目标对象,则说明当前帧的跟踪结果不准确,在下一帧需要重新进行目标检测。上述步骤a3中为了提高跟踪效率和准确性,只要发生当前某个目标对象的检测结果不准确,即确定下一帧图像的所有目标对象统一重新采用目标检测的方式。
80.在一实施方式中,为了尽可能地采用跟踪方式,对图像中的目标对象进行检测,以减少采用目标检测的次数,进而降低图像处理开销,步骤102中具体可以采用下述方法确定所述图像帧k的检测方式:
81.如果图像帧k

1的检测方式为目标检测,则确定对所述图像帧k的检测方式为跟踪;如果对图像帧k

1的检测方式为跟踪,则将对图像帧k

1检测时所得到的下一帧的检测方式,作为所述图像帧k的检测方式。
82.这里,当目标对象为人脸时,上述目标检测具体为人脸检测,具体实现时,可以采用现有的人脸检测方案,在此不再赘述。
83.通过上述实施例可知,上述方法实施例中,通过利用角点检测技术,确定图像帧序列每帧图像中的每个目标对象的特征角点集合,在需要跟踪时,利用目标对象在前后两帧图像中的特征角点集合,计算目标对象在前后两帧图像中发生的平均位移,基于平均位移对目标对象在前一帧的检测框进行平移,得到目标对象在后一帧的检测框,完成对目标对象的检测。如此,由于仅需要基于前后两帧图像的特征角点集合,计算目标对象在前后两帧图像中的位移,利用位移对前一帧图像的检测框进行平移,实现对目标对像的跟踪,如此,相对于深度学习网络的运算开销,运算量开销很小,因此,可以大幅度降低跟踪运算开销、进而大幅度提高了跟踪效率。
84.与上述方法实施例相对应,本发明实施例还提供了一种目标跟踪装置,如图2所示包括:
85.图像获取模块,用于获取当前需要检测的图像帧k;
86.检测模块,用于根据上一图像帧k

1的检测方式或检测结果,确定所述图像帧k的检测方式,根据所确定的检测方式,对所述图像帧k中的每个目标对象进行检测;其中,当所确定的检测方式为目标检测时,在检测出所述目标对象的检测框之后,检测所述目标对象在相应检测框中的特征角点集合;当所确定的检测方式为跟踪时,根据所述目标对象在所述图像帧k

1中的特征角点集合和检测框,对所述目标对象进行所述检测。
87.较佳地,所述检测模块,具体用于当所确定的检测方式为跟踪时,对所述图像帧k中的每个目标对象进行检测,包括:
88.根据所述目标对象在所述图像帧k

1的特征角点集合,确定每个所述目标对象在所述图像帧k的特征角点集合;
89.对于每个所述目标对象n,根据该目标对象n分别在所述图像帧k

1和所述图像帧k的特征角点集合,确定该目标对象n在所述图像帧k的平均位移;按照所述平均位移,对所述
目标对象n在所述图像帧k

1的检测框box
k

1n
进行平移,得到该目标对象n在所述图像帧k的检测框box
kn
,并判断所述检测框box
kn
中的图像是否属于检测目标;
90.如果所述图像帧k中至少一个所述目标对象在所述图像帧k的检测框中的图像不属于检测目标,则确定下一帧的检测方式为目标检测,否则,确定下一帧的检测方式为跟踪。
91.较佳地,所述检测模块,具体用于确定所述图像帧k的检测方式,包括:
92.如果图像帧k

1的检测方式为目标检测,则确定对所述图像帧k的检测方式为跟踪;
93.如果对图像帧k

1的检测方式为跟踪,则将对图像帧k

1检测时所得到的下一帧的检测方式,作为所述图像帧k的检测方式。
94.较佳地,所述检测模块,具体用于检测所述目标对象在相应检测框中的特征角点集合,包括:
95.采用lbp算子作为角点检测算子,检测所述目标对象在相应检测框中的特征角点集合。
96.较佳地,所述检测模块,具体用于确定每个所述目标对象在所述图像帧k的特征角点集合,包括:
97.采用稀疏光流法,对所述图像帧k

1的特征角点集合中的特征角点,进行光流跟踪,得到图像帧k的特征角点集合;所述图像帧k

1的特征角点集合为所有所述目标对象在所述图像帧k

1的特征角点集合的合集;
98.对于每个所述目标对象,从所述图像帧k的特征角点集合中,获取该目标对象对应的特征角点,得到该目标对象在所述图像帧k的特征角点集合。
99.较佳地,所述检测模块,具体用于确定该目标对象n在所述图像帧k的平均位移,包括:
100.按照d
n
=(f
kn,m

f
k

1n,m
)/m,计算所述目标对象n在所述图像帧k的平均位移d
n

101.其中,f
kn,m
为目标对象n在所述图像帧k的第m个特征角点的坐标,f
k

1n,m
为目标对象n在所述图像帧k

1的第m个特征角点的坐标;m为目标对象n在所述图像帧k的特征角点数量。
102.本发明实施例还公开了一种目标跟踪设备,该目标跟踪设备包括:处理器和存储器;其中存储器中存储有可被处理器执行的应用程序,用于使得处理器执行如上任一项所述的目标跟踪方法。
103.其中,存储器具体可以实施为电可擦可编程只读存储器(eeprom)、快闪存储器(flash memory)、可编程程序只读存储器(prom)等多种存储介质。处理器可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为cpu或mcu。
104.需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
105.各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
106.本发明实施例还提供了一种机器可读的存储介质,存储用于使一机器执行如本技术所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
107.用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如cd

rom、cd

r、cd

rw、dvd

rom、dvd

ram、dvd

rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机或云上下载程序代码。
108.在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
109.以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献