CN117178292A - 目标跟踪方法、装置、系统及存储介质 - Google Patents
目标跟踪方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN117178292A CN117178292A CN202280000596.8A CN202280000596A CN117178292A CN 117178292 A CN117178292 A CN 117178292A CN 202280000596 A CN202280000596 A CN 202280000596A CN 117178292 A CN117178292 A CN 117178292A
- Authority
- CN
- China
- Prior art keywords
- target
- tracked
- detection
- key point
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000001514 detection method Methods 0.000 claims abstract description 582
- 238000012545 processing Methods 0.000 claims description 76
- 230000015654 memory Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 22
- 230000003247 decreasing effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 238000012946 outsourcing Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 108091008695 photoreceptors Proteins 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Image Analysis (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
一种目标跟踪方法、装置、系统及存储介质,包括:获取第一时刻的待检测图像;确定待检测图像中检测目标的关键点的检测位置;获取待跟踪目标的关键点在第二时刻的位置;第二时刻为第一时刻之前的时刻;根据待跟踪目标的关键点在第二时刻的位置,预测待跟踪目标的关键点在第一时刻的预测位置;根据检测位置和预测位置,确定检测目标和待跟踪目标之间的匹配关系;匹配关系用于匹配检测目标和待跟踪目标中相同的目标;根据匹配关系,跟踪待跟踪目标。
Description
本公开涉及图像处理领域,尤其涉及一种目标跟踪方法、装置、系统及存储介质。
在图像处理领域中,对于目标以及关键点的检测跟踪的相关方案在行为识别、姿态分析以及三维关键点估计等方面都具有广泛的应用。例如对行人进行跟踪能够用于确定行人的路线轨迹,对行人的关键点跟踪能够用于判断该行人是否跌倒。
相关技术通常需要分别对目标对象进行目标检测以及关键点检测,并根据目标检测得到的外包框图像对目标对象进行跟踪,从而基于目标对象的外包框图像与关键点的关联关系间接地对关键点进行跟踪。又一种相关技术会对目标对象进行关键点检测,并基于关键点生成目标对象的外包框图像,从而根据生成的外包框图像对目标对象进行跟踪。
发明内容
一方面,提供一种目标跟踪方法,该方法包括:获取第一时刻的待检测图像;确定待检测图像中检测目标的关键点的检测位置;获取待跟踪目标的关键点在第二时刻的位置;第二时刻为第一时刻之前的时刻;根据待跟踪目标的关键点在第二时刻的位置,预测待跟踪目标的关键点在第一时刻的预测位置;根据检测位置和预测位置,确定检测目标和待跟踪目标之间的匹配关系;匹配关系用于匹配检测目标和待跟踪目标中相同的目标;根据匹配关系,跟踪待跟踪目标。
在一些实施例中,该方法包括:对每个检测目标和每个待跟踪目标执行第一目标操作,确定每个检测目标与每个待跟踪目标之间的距离;第一目标操作包括:根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离;其中,i为小于或等于N的正整数;j为小于或等于M的正整数;根据每个检测目标与每个待跟踪目标之间的距离,确定匹配关系。
在一些实施例中,该方法包括:对第i个检测目标与第j个待跟踪目标的每个对应关键点执行第二目标操作,确定每个对应关键点之间的距离;第二目标操作包括:确定第一关键点与第二关键点;根据第一关键点的检测位置和第二关键点的预测位置确定第一关键点与第二关键点之间的距离;第一关 键点为第i个检测目标中的任一个关键点;第二关键点为第j个待跟踪目标中与第一关键点对应的关键点;根据每个对应关键点之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离。
在一些实施例中,第i个检测目标和第j个待跟踪目标之间的距离通过以下公式来计算:
其中,D(i,j)表示第i个检测目标和第j个待跟踪目标之间的距离,p
ik表示第i个检测目标的第k个关键点的检测位置,p′
jk表示第j个待跟踪目标的第k个关键点的预测位置,d(p
ik,p′
jk)表示第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点之间的距离,s表示目标的尺寸信息,v
ik表示第i个检测目标的第k个关键点是否被检测到,v′
jk表示第j个待跟踪目标的第k个关键点是否被检测到,δ(v
ik,v′
jk)表征第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点的检测情况。
在一些实施例中,匹配关系包括如下中的至少一项:存在至少一个待跟踪目标与检测目标匹配、存在至少一个待跟踪目标与检测目标不匹配、以及存在至少一个检测目标与待跟踪目标不匹配。
在一些实施例中,该方法包括:确定每个待跟踪目标的权重值与每个检测目标的权重值;其中,任一待跟踪目标的权重值为任一待跟踪目标分别与每个检测目标的距离中最小距离的值;每个检测目标的权重值为预设权重值;对每个待跟踪目标执行第三目标操作,确定与每个待跟踪目标匹配的检测目标;第三目标操作包括:确定与第m个待跟踪目标距离最短的第一检测目标;其中,第一检测目标与第m个待跟踪目标的权重值之和大于或等于第一检测目标与第m个待跟踪目标的距离;m为正整数;对第m个待跟踪目标与第一检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;第四目标操作包括:确定是否存在第一待跟踪目标;第一待跟踪目标为根据第三目标操作确定的与第一检测目标匹配的待跟踪目标;在不存在第一待跟踪目标的情况下,确定第m个待跟踪目标与第一检测目标匹配;在存在第一待跟踪目标的情况下,确定第m个待跟踪目标的第一影响值,以及第一待跟踪目标的第二影响值;其中,第一影响值为根据第m个待跟踪目标与第二检测目标确定的差值;差值为一个待跟踪目标与一个检测目标的距离与一个待跟踪目标与一个检测目标的权重之和之间的差值;第二检测目标为除第一检测 目标外与第m个待跟踪目标确定的差值最小的检测目标;第二影响值为根据第一待跟踪目标与第三检测目标确定的差值;第三检测目标为除第一检测目标外与第一待跟踪目标确定的差值最小的检测目标;根据第一影响值和第二影响值,确定与第m个待跟踪目标匹配的检测目标。
在一些实施例中,该方法包括:在第一影响值小于第二影响值的情况下,对第m个待跟踪目标与第二检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;在第一影响值大于第二影响值的情况下,确定第m个待跟踪目标与第一检测目标匹配。
在一些实施例中,该方法还包括:在第一影响值大于第二影响值的情况下,对第一待跟踪目标与第三检测目标执行第四目标操作,确定与第一待跟踪目标匹配的检测目标。
在一些实施例中,该方法还包括:在第一影响值小于第二影响值的情况下,根据第一影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值;在第一影响值大于第二影响值的情况下,根据第二影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值。
在一些实施例中,该方法包括:将第m个待跟踪目标的权重值增加第一影响值,将第一待跟踪目标的权重值增加第一影响值,将第一检测目标的权重值降低第一影响值;将第m个待跟踪目标的权重值增加第二影响值,将第一待跟踪目标的权重值增加第二影响值,将第一检测目标的权重值降低第二影响值。
在一些实施例中,该方法包括:确定待跟踪目标列表与检测目标列表;其中,待跟踪目标列表包括每个待跟踪目标,检测目标列表包括每个检测目标;对待跟踪目标列表与检测目标列表中的待跟踪目标与检测目标迭代执行第五目标操作,直至待跟踪目标列表中不存在待跟踪目标或者检测目标列表中不存在检测目标,根据第五目标操作的执行结果确定匹配关系;第五目标操作包括:确定当前待跟踪目标列表中的每个待跟踪目标与当前检测目标列表中的每个待跟踪目标之间的目标距离;确定目标距离中的最小距离,以及最小距离对应的第二待跟踪目标和第四检测目标;第二待跟踪目标和第四检测目标之间的距离为最小距离;确定第二待跟踪目标与第四检测目标的匹配关系;从当前待跟踪目标列表中删除第二待跟踪目标,从当前检测目标列表中删除第四检测目标。
在一些实施例中,该方法包括:确定第三待跟踪目标;第三待跟踪目标中的每个待跟踪目标存在匹配的检测目标;根据与第三待跟踪目标匹配的检 测目标的关键点的检测位置以及第三待跟踪目标的关键点的预测位置,更新第三待跟踪目标的关键点的位置。
在一些实施例中,该方法包括:确定第五检测目标;第五检测目标中的每个检测目标不存在匹配的待跟踪目标;在待跟踪目标中增加第五检测目标。
在一些实施例中,该方法包括:确定第四待跟踪目标以及第四待跟踪目标的不匹配次数;第四待跟踪目标中的每个待跟踪目标不存在匹配的检测目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;在不匹配次数大于预设跟踪阈值的情况下,在待跟踪目标中删除第四待跟踪目标。
在一些实施例中,该方法包括:在不匹配次数小于或等于预设跟踪阈值的情况下,将第四待跟踪目标的关键点的预测位置或者第四待跟踪目标的关键点在第二时刻的位置作为更新后的第四待跟踪目标的关键点的位置。
在一些实施例中,该方法包括:在第五待跟踪目标存在匹配的检测目标的情况下,根据匹配的检测目标的关键点的检测位置与第五待跟踪目标的关键点的预测位置更新第五待跟踪目标的关键点的位置;第五待跟踪目标为待跟踪目标中的任一个目标;在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数大于预设跟踪阈值的情况下,在待跟踪目标中删除第五待跟踪目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;在第六检测目标不存在匹配的待跟踪目标的情况下,在待跟踪目标中增加第六检测目标;第六检测目标为检测目标中的任一个目标。
在一些实施例中,该方法包括:在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数小于或等于预设跟踪阈值的情况下,将第五待跟踪目标的关键点的预测位置或者第五待跟踪目标在第二时刻的位置作为更新后的第五待跟踪目标的关键点的位置。
在一些实施例中,该方法包括:确定待跟踪目标的关键点的运动状态;根据待跟踪目标的关键点在第二时刻的位置以及运动状态,预测待跟踪目标的关键点在第一时刻的预测位置。
在一些实施例中,该方法包括:在检测目标的数量为0的情况下,确定每个待跟踪目标不存在匹配的检测目标。
在一些实施例中,该方法包括:在待跟踪目标的数量为0的情况下,确定每个检测目标不存在匹配的待跟踪目标。
另一方面,提供一种目标跟踪装置,包括:处理单元和获取单元。获取单元,被配置为获取第一时刻的待检测图像;处理单元,被配置为确定待检测图像中检测目标的关键点的检测位置;获取单元,还被配置为获取待跟踪 目标的关键点在第二时刻的位置;第二时刻为第一时刻之前的时刻;处理单元,还被配置为根据待跟踪目标的关键点在第二时刻的位置,预测待跟踪目标的关键点在第一时刻的预测位置;处理单元,还被配置为根据检测位置和预测位置,确定检测目标和待跟踪目标之间的匹配关系;匹配关系用于匹配检测目标和待跟踪目标中相同的目标;处理单元,还被配置为根据匹配关系,跟踪待跟踪目标。
在一些实施例中,处理单元,被配置为对每个检测目标和每个待跟踪目标执行第一目标操作,确定每个检测目标与每个待跟踪目标之间的距离;第一目标操作包括:根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离;其中,i为小于或等于N的正整数;j为小于或等于M的正整数;处理单元,还被配置为根据每个检测目标与每个待跟踪目标之间的距离,确定匹配关系。
在一些实施例中,处理单元,被配置为对第i个检测目标与第j个待跟踪目标的每个对应关键点执行第二目标操作,确定每个对应关键点之间的距离;第二目标操作包括:确定第一关键点与第二关键点;根据第一关键点的检测位置和第二关键点的预测位置确定第一关键点与第二关键点之间的距离;第一关键点为第i个检测目标中的任一个关键点;第二关键点为第j个待跟踪目标中与第一关键点对应的关键点;处理单元,还被配置为根据每个对应关键点之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离。
在一些实施例中,第i个检测目标和第j个待跟踪目标之间的距离通过以下公式来计算:
其中,D(i,j)表示第i个检测目标和第j个待跟踪目标之间的距离,p
ik表示第i个检测目标的第k个关键点的检测位置,p′
jk表示第j个待跟踪目标的第k个关键点的预测位置,d(p
ik,p′
jk)表示第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点之间的距离,s表示目标的尺寸信息,v
ik表示第i个检测目标的第k个关键点是否被检测到,v′
jk表示第j个待跟踪目标的第k个关键点是否被检测到,δ(v
ik,v′
jk)表征第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点的检测情况。
在一些实施例中,匹配关系包括如下中的至少一项:存在至少一个待跟 踪目标与检测目标匹配、存在至少一个待跟踪目标与检测目标不匹配、以及存在至少一个检测目标与待跟踪目标不匹配。
在一些实施例中,处理单元,被配置为确定每个待跟踪目标的权重值与每个检测目标的权重值;其中,任一待跟踪目标的权重值为任一待跟踪目标分别与每个检测目标的距离中最小距离的值;每个检测目标的权重值为预设权重值;对每个待跟踪目标执行第三目标操作,确定与每个待跟踪目标匹配的检测目标;第三目标操作包括:确定与第m个待跟踪目标距离最短的第一检测目标;其中,第一检测目标与第m个待跟踪目标的权重值之和大于或等于第一检测目标与第m个待跟踪目标的距离;m为正整数;对第m个待跟踪目标与第一检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;第四目标操作包括:确定是否存在第一待跟踪目标;第一待跟踪目标为根据第三目标操作确定的与第一检测目标匹配的待跟踪目标;在不存在第一待跟踪目标的情况下,确定第m个待跟踪目标与第一检测目标匹配;在存在第一待跟踪目标的情况下,确定第m个待跟踪目标的第一影响值,以及第一待跟踪目标的第二影响值;其中,第一影响值为根据第m个待跟踪目标与第二检测目标确定的差值;差值为一个待跟踪目标与一个检测目标的距离与一个待跟踪目标与一个检测目标的权重之和之间的差值;第二检测目标为除第一检测目标外与第m个待跟踪目标确定的差值最小的检测目标;第二影响值为根据第一待跟踪目标与第三检测目标确定的差值;第三检测目标为除第一检测目标外与第一待跟踪目标确定的差值最小的检测目标;根据第一影响值和第二影响值,确定与第m个待跟踪目标匹配的检测目标。
在一些实施例中,处理单元,被配置为在第一影响值小于第二影响值的情况下,对第m个待跟踪目标与第二检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;在第一影响值大于第二影响值的情况下,确定第m个待跟踪目标与第一检测目标匹配。
在一些实施例中,处理单元,被配置为在第一影响值大于第二影响值的情况下,对第一待跟踪目标与第三检测目标执行第四目标操作,确定与第一待跟踪目标匹配的检测目标。
在一些实施例中,处理单元,被配置为在第一影响值小于第二影响值的情况下,根据第一影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值;在第一影响值大于第二影响值的情况下,根据第二影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值。
在一些实施例中,处理单元,被配置为将第m个待跟踪目标的权重值增 加第一影响值,将第一待跟踪目标的权重值增加第一影响值,将第一检测目标的权重值降低第一影响值;处理单元,还被配置为将第m个待跟踪目标的权重值增加第二影响值,将第一待跟踪目标的权重值增加第二影响值,将第一检测目标的权重值降低第二影响值。
在一些实施例中,处理单元,被配置为确定待跟踪目标列表与检测目标列表;其中,待跟踪目标列表包括每个待跟踪目标,检测目标列表包括每个检测目标;对待跟踪目标列表与检测目标列表中的待跟踪目标与检测目标迭代执行第五目标操作,直至待跟踪目标列表中不存在待跟踪目标或者检测目标列表中不存在检测目标,根据第五目标操作的执行结果确定匹配关系;第五目标操作包括:确定当前待跟踪目标列表中的每个待跟踪目标与当前检测目标列表中的每个待跟踪目标之间的目标距离;确定目标距离中的最小距离,以及最小距离对应的第二待跟踪目标和第四检测目标;第二待跟踪目标和第四检测目标之间的距离为最小距离;确定第二待跟踪目标与第四检测目标的匹配关系;从当前待跟踪目标列表中删除第二待跟踪目标,从当前检测目标列表中删除第四检测目标。
在一些实施例中,处理单元,被配置为确定第三待跟踪目标;第三待跟踪目标中的每个待跟踪目标存在匹配的检测目标;处理单元,还被配置为根据与第三待跟踪目标匹配的检测目标的关键点的检测位置以及第三待跟踪目标的关键点的预测位置,更新第三待跟踪目标的关键点的位置。
在一些实施例中,处理单元,被配置为确定第五检测目标;第五检测目标中的每个检测目标不存在匹配的待跟踪目标;处理单元,还被配置为在待跟踪目标中增加第五检测目标。
在一些实施例中,处理单元,被配置为确定第四待跟踪目标以及第四待跟踪目标的不匹配次数;第四待跟踪目标中的每个待跟踪目标不存在匹配的检测目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;处理单元,还被配置为在不匹配次数大于预设跟踪阈值的情况下,在待跟踪目标中删除第四待跟踪目标。
在一些实施例中,处理单元,被配置为在不匹配次数小于或等于预设跟踪阈值的情况下,将第四待跟踪目标的关键点的预测位置或者第四待跟踪目标的关键点在第二时刻的位置作为更新后的第四待跟踪目标的关键点的位置。
在一些实施例中,处理单元,被配置为在第五待跟踪目标存在匹配的检测目标的情况下,根据匹配的检测目标的关键点的检测位置与第五待跟踪目标的关键点的预测位置更新第五待跟踪目标的关键点的位置;第五待跟踪目 标为待跟踪目标中的任一个目标;处理单元,还被配置为在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数大于预设跟踪阈值的情况下,在待跟踪目标中删除第五待跟踪目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;处理单元,还被配置为在第六检测目标不存在匹配的待跟踪目标的情况下,在待跟踪目标中增加第六检测目标;第六检测目标为检测目标中的任一个目标。
在一些实施例中,处理单元,被配置为在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数小于或等于预设跟踪阈值的情况下,将第五待跟踪目标的关键点的预测位置或者第五待跟踪目标在第二时刻的位置作为更新后的第五待跟踪目标的关键点的位置。
在一些实施例中,处理单元,被配置为确定待跟踪目标的关键点的运动状态;处理单元,还被配置为根据待跟踪目标的关键点在第二时刻的位置以及运动状态,预测待跟踪目标的关键点在第一时刻的预测位置。
在一些实施例中,处理单元,被配置为在检测目标的数量为0的情况下,确定每个待跟踪目标不存在匹配的检测目标。
在一些实施例中,处理单元,被配置为在待跟踪目标的数量为0的情况下,确定每个检测目标不存在匹配的待跟踪目标。
再一方面,提供一种非暂态计算机可读存储介质。所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在计算机(例如,目标跟踪装置)上运行时,使得所述计算机执行如上述任一实施例所述的目标跟踪方法。
又一方面,提供一种计算机程序产品。所述计算机程序产品包括计算机程序指令,在计算机(例如,目标跟踪装置)上执行所述计算机程序指令时,所述计算机程序指令使计算机执行如上述任一实施例所述的目标跟踪方法。
又一方面,提供一种计算机程序。当所述计算机程序在计算机(例如,目标跟踪装置)上执行时,所述计算机程序使计算机执行如上述任一实施例所述的目标跟踪方法。
又一方面,提供一种目标跟踪装置,该装置包括:处理器和存储器;存储器用于存储计算机程序或指令,处理器用于运行计算机程序或指令,以实现如上述任一实施例所述的目标跟踪方法。
又一方面,提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如上述任一实施例所述的目标跟踪方法。
示例性的,本公开中提供的芯片还包括存储器,用于存储计算机程序或指令。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与装置的处理器封装在一起的,也可以与装置的处理器单独封装,本公开对此不作限定。
又一方面,提供一种目标跟踪系统,包括:目标跟踪装置和图像采集装置,其中,图像采集装置用于采集待检测图像,目标跟踪装置用于执行如上述任一实施例所述的目标跟踪方法。
在本公开中,上述目标跟踪装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本公开类似,属于本公开权利要求及其等同技术的范围之内。
为了更清楚地说明本公开中的技术方案,下面将对本公开一些实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例的附图,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。此外,以下描述中的附图可以视作示意图,并非对本公开实施例所涉及的产品的实际尺寸、方法的实际流程、信号的实际时序等的限制。
图1为根据一些实施例提供的一种目标跟踪系统10的架构图;
图2为根据一些实施例提供的一种目标与关键点的关系图;
图3为根据一些实施例提供的一种目标跟踪方法的流程图;
图4为根据一些实施例提供的一种检测目标与待跟踪目标的匹配关系图;
图5为根据一些实施例提供的另一种目标跟踪方法的流程图;
图6为根据一些实施例提供的一种目标跟踪的场景图;
图7为相关技术中的一种目标跟踪的原理图;
图8为根据本公开一些实施例提供的一种目标跟踪的原理图;
图9为根据一些实施例提供的另一种目标跟踪方法的流程图;
图10为根据一些实施例提供的第三目标操作的流程图;
图11为根据一些实施例提供的第四目标操作的流程图;
图12为根据一些实施例提供的另一种目标跟踪方法的流程图;
图13为根据一些实施例提供的第五目标操作的流程图;
图14为根据一些实施例提供的另一种目标跟踪方法的流程图;
图15为根据一些实施例提供的一种待跟踪目标与对应匹配的检测目标的关键点的关系图;
图16为根据一些实施例提供的另一种目标跟踪方法的流程图;
图17为根据一些实施例提供的一种目标跟踪装置的结构图;
图18为根据一些实施例提供的另一种目标跟踪装置的结构图。
下面将结合附图,对本公开一些实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开所提供的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
除非上下文另有要求,否则,在整个说明书和权利要求书中,术语“包括(comprise)”及其其他形式例如第三人称单数形式“包括(comprises)”和现在分词形式“包括(comprising)”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例(one embodiment)”、“一些实施例(some embodiments)”、“示例性实施例(exemplary embodiments)”、“示例(example)”、“特定示例(specific example)”或“一些示例(some examples)”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本公开的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。此外,所述的特定特征、结构、材料或特点可以以任何适当方式包括在任何一个或多个实施例或示例中。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在描述一些实施例时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施例时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施例时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”或“通信耦合(communicatively coupled)”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施例并不必然限制于本文内容。
“A、B和C中的至少一个”与“A、B或C中的至少一个”具有相同含义,均包括以下A、B和C的组合:仅A,仅B,仅C,A和B的组合,A 和C的组合,B和C的组合,及A、B和C的组合。
“A和/或B”,包括以下三种组合:仅A,仅B,及A和B的组合。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
如本文所使用的那样,“约”、“大致”或“近似”包括所阐述的值以及处于特定值的可接受偏差范围内的平均值,其中所述可接受偏差范围如由本领域普通技术人员考虑到正在讨论的测量以及与特定量的测量相关的误差(即,测量系统的局限性)所确定。
以下,对本公开实施例涉及的名词进行解释,以方便读者理解。
(1)关键点检测
关键点检测用于检测目标对应的特定节点,能够用于行为识别、姿态分析等方面。其中,关键点检测算法包括自上而下的检测方法以及自下而上的检测方法。自上而下的检测方法为对图像进行目标检测,并根据检测出的目标进行关键点检测。例如自上而下的检测方法包括HRNet算法(Deep High-Resolution Representation Learning for Human Pose Estimation)。自下而上的检测方法为从图像中检测出全部关键点,然后根据每个关键点的位置进行聚类,从而得到相关联的关键点对应的目标。例如自下而上的检测方法包括OpenPose算法(Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields)。
(2)匈牙利算法(Hungarian algorithm)
匈牙利算法用于确定两个集合中元素的匹配关系,即对两个集合中的元素进行数据关联,从而得到组合数量尽可能多的匹配结果。
(3)KM算法(Kuhn-Munkres algorithm)
KM算法在匈牙利算法的基础上,将两个集合中元素的关联程度作为权重,对两个集合中的元素进行数据关联,从而得到匹配程度最优的匹配结果。
(4)交并比
交并比(intersection over union,IoU)是指两个图像区域的交集面积与两个图像区域的并集面积的比值。IoU通常用于检测两个图像区域的关系,例如通过计算视频数据流的不同帧图像中的检测目标的IoU,对检测目标进行跟踪。
在图像处理领域中,对于目标以及关键点的检测跟踪的相关方案在行为识别、姿态分析以及三维关键点估计等方面都具有广泛的应用。例如对行人进行跟踪能够用于确定行人的路线轨迹,对行人的关键点跟踪能够用于判断该行人是否跌倒。
相关技术通常需要分别对目标对象进行目标检测以及关键点检测,并根据目标检测得到的外包框图像对目标对象进行跟踪,从而基于目标对象的外包框图像与关键点的关联关系间接地对关键点进行跟踪。相关技术还会对目标对象进行关键点检测,并基于关键点生成目标对象的外包框图像,从而根据生成的外包框图像对目标对象进行跟踪。然而上述方案受外包框图像的变化影响较大,导致跟踪目标对象不稳定,同时难以将目标对象的外包框图像与关键点一一对应,因此对关键点的跟踪效果较差。此外,上述方案需要对目标对象进行目标检测,从而间接实现对关键点的跟踪,计算开销大,使得方案的计算成本较高。
鉴于此,本公开提供了一种目标跟踪方法,根据检测目标的关键点的检测位置以及待跟踪目标的关键点的预测位置,对待跟踪目标以及检测目标进行匹配,并根据匹配关系更新待跟踪目标以及待跟踪目标的关键点。因此,本公开能够直接基于关键点对目标进行跟踪,提高了目标跟踪的稳定性,同时降低了计算开销,从而降低了计算成本。
下面将结合说明书附图,对本公开实施例的实施方式进行详细描述。
图1为根据一些实施例提供的一种目标跟踪系统10的架构图,如图1所示,该目标跟踪系统10包括:目标跟踪装置101与图像采集装置102。目标跟踪装置101与图像采集装置102通过通信链路连接。该通信链路可以为有线通信链路,也可以为无线通信链路,本公开对此不予限制。
需要说明的是,本公开中的目标跟踪装置101以及图像采集装置102可以为一个,也可以为多个。为方便理解,图1中仅示出了一个目标跟踪装置101和图像采集装置102。
其中,图像采集装置102被配置为获取目标区域的待检测图像,并向目标跟踪装置101发送该待检测图像。相应的,目标跟踪装置101接收图像采集装置102发送的待检测图像。
一种可能的实现方式中,图像采集装置102可以实时获取目标区域的待检测图像,并向目标跟踪装置101发送该待检测图像。图像采集装置102还可以按照预设频率获取目标区域的待检测图像,并向目标跟踪装置101发送包括待检测图像的视频流数据。
本公开实施例中的图像采集装置102为通过感光器将图像数据转换为模拟信号或者数字信号的装置,可以部署在陆地上,包括室内或室外、手持或车载。也可以部署在水面上(如轮船等)。还可以部署在空中(例如飞机、气球和卫星上等)。例如,图像采集装置102包括摄像头、摄像机、相机。图像采集装置102也可以是具有摄像功能的设备,例如,图像采集装置102可以为具有摄像功能的手机、平板电脑、笔记本电脑、掌上电脑、可穿戴设备(例如智能手表、智能手环、计步器等),车载设备飞行设备(例如,智能机器人、热气球、无人机、飞机)等。
示例性的,本公开实施例中的图像采集装置102还可以是红外成像仪或者夜视仪,用于获取黑暗区域的图像数据。
其中,目标跟踪装置101被配置为获取第一时刻的待检测图像,并根据待检测图像确定检测目标的关键点的检测位置。
目标跟踪装置101还被配置为确定待跟踪目标的关键点在第一时刻的预测位置,并根据检测位置和预测位置,对待跟踪目标和待跟踪目标的关键点进行跟踪。
其中,检测目标为目标跟踪装置101从待检测图像中检测到的目标,待跟踪目标为目标跟踪装置101进行跟踪的目标。关键点为目标(检测目标和/或待跟踪目标)对应的特定部位的结点。本公开中的目标可以为自然界客观存在的具有形体的物质,例如人员、动物、植物、车辆、商品等。
以目标为人员为例,图2为根据一些实施例提供的一种目标与关键点的关系图。如图2所示,目标201可以为本公开中的检测目标或者待跟踪目标,实心点202为该目标102对应的关键点。关键点的数量以及位置可以根据实际情况设置,本公开对此不作限定。
需要说明的是,第一时刻的检测目标与待跟踪目标的数量可以为0个,也可以为一个或多个。
示例性的,当第一时刻为初始时刻(例如当前待检测图像为第1帧图像)时,此时待跟踪目标的数量为0。当目标跟踪装置101检测到待检测图像中不存在检测目标以及检测目标的关键点时,检测目标的数量为0。当目标跟踪装置101检测到待检测图像中存在检测目标以及检测目标的关键点时,检测目 标的数量为一个或多个。
本公开中的关键点的位置可以为待检测图像中关键点相对于待检测图像的相对位置,也可以为基于待检测图像的相对位置与待检测图像对应的区域确定的实际位置。
本公开中的目标跟踪装置101可以执行实时跟踪目标的操作,即持续获取当前时刻的待检测图像,并对待跟踪目标进行跟踪。目标跟踪装置101也可以执行非实时跟踪目标的操作,即根据过去一段时间内的图像数据流对待跟踪目标进行跟踪。
本公开实施例中的目标跟踪装置101可以为服务器,包括:
处理器,处理器可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本公开方案程序执行的集成电路。
收发器,收发器可以是使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器,存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路与处理器相连接。存储器也可以和处理器集成在一起。
目标跟踪装置101也可以为该服务器安装的提供目标跟踪功能的应用程序,或者,目标跟踪装置101可以为服务器中的中央处理器,又或者,目标跟踪装置101可以为该服务器中被配置为执行目标跟踪方法的控制模块。目标跟踪装置101也可以与图像采集装置102耦合为同一个装置。
需要指出的是,本公开各实施例之间可以相互借鉴或参考,例如,相同或相似的步骤,方法实施例、系统实施例和装置实施例之间,均可以相互参考,不予限制。
图3为根据一些实施例提供的一种目标跟踪方法的流程图。如图3所示, 该方法包括以下步骤:
步骤301、目标跟踪装置获取第一时刻的待检测图像。
其中,待检测图像为针对目标区域采集的图像。
示例性的,目标区域可以为机场候车区、道路、景区、建筑楼梯通道等区域。
其中,第一时刻可以为目标跟踪装置获取待检测图像的当前时刻。
一种可能的实现方式中,目标跟踪装置可以从图像采集装置中实时获取待检测图像,并将当前时刻作为第一时刻。
或者,第一时刻可以为待检测图像的采集时刻。其中,采集时刻为图像采集装置采集该待检测图像的时刻。
又一种可能的实现方式中,目标跟踪装置可以按照预设频率从图像采集装置中获取包括待检测图像的视频流数据,并将所检测的待检测图像的图像帧的采集时刻作为第一时刻。
步骤302、目标跟踪装置确定待检测图像中检测目标的关键点的检测位置。
其中,检测目标的数量可以为0个,也可以为一个或多个。检测目标的关键点的检测位置可以为待检测图像中关键点相对于待检测图像的相对位置,也可以为基于待检测图像的相对位置与待检测图像对应的区域确定的实际位置。
一种可能的实现方式中,目标跟踪装置可以根据检测目标的部位确定检测目标的关键点的标识。也即是说,本公开中的每个检测目标中相同部位的关键点的标识相同。因此,目标跟踪装置可以根据标识确定不同目标的关键点的对应关系。
需要说明的是,本公开中的关键点的数量可以根据实际情况设置。但是目标跟踪装置在确定检测目标的关键点的位置信息时,可能存在部分关键点由于遮挡等因素未被检测出来,此时目标跟踪装置可以将未被检测到的关键点的位置信息设置为预设位置数值(例如(-1,-1))。该预设位置数值用于表示该关键点未被检测到。
一种可能的实现方式中,目标跟踪装置将待检测图像输入关键点检测模型中,得到关键点检测结果。
其中,关键点检测结果包括检测目标以及检测目标对应的关键点。
示例性的,关键点检测结果可以为数据大小为N*K*A的数据向量。其中,N表示检测目标的数量,K表示关键点的数量,A表示关键点的位置信息。当位置信息为二维坐标时,位置信息可以表示为(x,y)。对于未被检测到的关 键点,目标跟踪装置可以将未被检测到的关键点的位置信息设置为(-1,-1)。关键点检测模型可以为自上而下的关键点检测模型,例如HRnet模型,关键点检测模型也可以为自下而上的关键点检测模型,例如OpenPose模型。
步骤303、目标跟踪装置获取待跟踪目标的关键点在第二时刻的位置。
其中,第二时刻为第一时刻之前的时刻。
需要说明的是,待跟踪目标为本公开中需要跟踪的目标。每个待跟踪目标具有唯一标识。
待跟踪目标的数量可以为0个,也可以为一个或多个。待跟踪目标的关键点的数量、位置、对应关系等相关内容可参考上述步骤302中检测目标的关键点的表述,此处不再赘述。
一种可能的实现方式中,本公开中目标跟踪装置可以在第二时刻执行目标跟踪操作,从而获取待跟踪目标的关键点在第二时刻的位置。
需要说明的是,本公开中的目标跟踪方法不仅需要对待跟踪目标以及待跟踪目标的关键点进行识别,还需要确定连续图像(即连续采集的多个图像)中待跟踪目标与检测目标以及待跟踪目标与检测目标的关键点的关联关系,从而实现对待跟踪目标进行跟踪的效果。
然而,在第一时刻为初始时刻的情况下,此时不存在第二时刻,目标跟踪装置获取的待跟踪目标的关键点在第二时刻的数量为0。目标跟踪装置后续的目标跟踪操作相当于对待跟踪目标执行初始化的更新操作。例如目标跟踪装置将初始时刻确定的检测目标作为待跟踪目标。具体内容参考后续描述,此处不再赘述。
步骤304、目标跟踪装置根据待跟踪目标的关键点在第二时刻的位置,预测待跟踪目标的关键点在第一时刻的预测位置。
一种可能的实现方式中,目标跟踪装置可以确定待跟踪目标的关键点的运动状态。
目标跟踪装置可以根据待跟踪目标的关键点在第二时刻的位置以及运动状态,预测待跟踪目标的关键点在第一时刻的预测位置。
其中,运动状态可以包括关键点的速度,或者,运动状态可以包括关键点的速度以及加速度,再或者,运动状态可以包括关键点的速率以及方向。
与上述确定待跟踪目标的关键点在第二时刻的位置的过程相类似,目标跟踪装置可以在第二时刻执行目标跟踪操作,从而确定待跟踪目标的关键点的运动状态。具体内容可参考后续描述,此处不再赘述。
需要说明的是,目标跟踪装置可以将待检测目标中未检测到的关键点的 预测位置设置为预设位置数值,从而表示该关键点未被检测到。
步骤305、目标跟踪装置根据检测位置和预测位置,确定检测目标和待跟踪目标之间的匹配关系。
其中,匹配关系用于匹配检测目标和待跟踪目标中相同的目标。
示例性的,待跟踪目标包括目标A和目标B。检测目标中包括目标C、目标D与目标E。其中,目标A与目标C为同一个目标,则说明目标A与目标C相匹配。目标B与目标D不为同一个目标,则说明目标B与目标D不匹配。
需要说明的是,待检测目标的关键点的检测位置能够表征对应待检测目标在第一时刻的检测位置状态。待跟踪目标的关键点的预测位置能够表征对应待跟踪目标在第一时刻的预测位置状态。因此,目标跟踪装置能够基于关键点的检测位置状态以及预测位置状态两种状态确定检测目标和待跟踪目标之间的匹配关系。
其中,匹配关系包括如下中的至少一项:存在至少一个待跟踪目标与检测目标匹配、存在至少一个待跟踪目标与检测目标不匹配、以及存在至少一个检测目标与待跟踪目标不匹配。
示例性的,图4为根据一些实施例提供的一种检测目标与待跟踪目标的匹配关系图。如图4所示,待跟踪目标4011与检测目标4021匹配,待跟踪目标4013与检测目标4022匹配,待跟踪目标4014与检测目标4023匹配,待跟踪目标4012与检测目标中的任一个目标都不匹配,待跟踪目标4015与检测目标中的任一个目标都不匹配,检测目标4024与待跟踪目标中的任一个目标都不匹配。
步骤306、目标跟踪装置根据匹配关系,跟踪待跟踪目标。
一种可能的实现方式中,目标跟踪装置可以更新待跟踪目标在第一时刻的目标标识以及关键点的位置。
对于存在与之匹配的检测目标的待跟踪目标,目标跟踪装置可以根据待跟踪目标的关键点的预测位置以及对应匹配的检测目标的关键点的检测位置,确定待跟踪目标的关键点在第一时刻的位置。
对于不存在与之匹配的待跟踪目标的检测目标,目标跟踪装置可以将该检测目标增加至待跟踪目标中。
需要说明的是,在第一时刻为初始时刻的情况下,此时待跟踪目标的数量为0,目标跟踪装置可以确定每个检测目标均不存在匹配的待跟踪目标。因此,目标跟踪装置可以将检测目标中的每个目标添加至待跟踪目标中。
一种可能的实现方式中,在第一时刻为初始时刻的情况下,目标跟踪装置将更新后的待跟踪目标的关键点的运动状态设置为初始运动状态。
示例性的,初始运动状态的速度、加速度可以为0。
对于不存在与之匹配的检测目标的待跟踪目标,目标跟踪装置可以根据该目标在一定时间段内的匹配情况是否满足第一预设条件,确定是否从待跟踪目标中删除该目标。
示例性的,第一预设条件可以为不匹配次数小于或等于预设跟踪阈值。不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数。
一种可能的实现方式中,在检测目标的数量为0的情况下,目标跟踪装置确定每个待跟踪目标均不存在匹配的检测目标。
结合上述步骤305中的示例,如图4所示,对于待跟踪目标4011、待跟踪目标4013以及待跟踪目标4014,目标跟踪装置可以根据待跟踪目标4011的关键点的预测位置以及检测目标4021的关键点的检测位置,确定待跟踪目标4011的关键点在第一时刻的位置。目标跟踪装置根据待跟踪目标4013的关键点的预测位置以及检测目标4022的关键点的检测位置,确定待跟踪目标4013的关键点在第一时刻的位置。目标跟踪装置根据待跟踪目标4014的关键点的预测位置以及检测目标4023的关键点的检测位置,确定待跟踪目标4014的关键点在第一时刻的位置。
对于待跟踪目标4012、待跟踪目标4015,目标跟踪装置确定待跟踪目标4012的匹配情况满足第一预设条件,并保留待跟踪目标4012。目标跟踪装置确定待跟踪目标4015的匹配情况不满足第一预设条件,即未匹配次数大于预设跟踪阈值,删除待跟踪目标4012。
对于检测目标4024,目标跟踪装置将检测目标4024添加至待跟踪目标中。
一种可能的实现方式中,目标跟踪装置还可以向目标设备发送更新后的待跟踪目标的跟踪序列,以使得目标设备根据跟踪序列执行相关的识别检测。
其中,跟踪序列包括待跟踪目标以及待跟踪目标的关键点信息。例如待跟踪目标的标识以及待跟踪目标的关键点在不同时刻的位置。
示例性的,目标设备可以根据跟踪序列执行路人动作检测、车间机器状态检测等相关方案。
一种可能的实现方式中,目标跟踪装置可以根据待跟踪目标的关键点在第一时刻的位置以及在第二时刻的位置,确定待跟踪目标的关键点的运动状态。
基于上述技术方案,本公开中的目标跟踪装置能够根据第一时刻的待检 测图像确定检测目标的关键点的检测位置,并根据待跟踪目标的关键点在第二时刻的位置预测该跟踪目标的关键点在第一时刻的预测位置。之后,目标跟踪装置便可以根据待检测目标的关键点的检测位置以及待跟踪目标的关键点的预测位置确定检测目标和待跟踪目标之间的匹配关系,并根据匹配关系更新待跟踪目标以及待跟踪目标的关键点的位置,从而实现目标跟踪。因此,本公开中目标跟踪装置可以基于目标的关键点的位置信息实现检测目标与待跟踪目标的匹配,进而更新待跟踪目标以及待跟踪目标的关键点,以使得不同时刻中的待跟踪目标以及待跟踪目标的关键点相互关联。相比于相关技术中基于目标检测确定的目标外包框图像对目标进行跟踪的技术方案,本公开中的技术方案首先对待跟踪目标的关键点在第一时刻的位置进行预测,进而根据预测位置与检测目标的关键点的检测位置进行目标跟踪,不受外包框图像的变化影响,提高了目标跟踪的稳定性与准确度。同时,本公开中的技术方案直接基于关键点对目标进行跟踪,无需额外对目标进行检测,计算开销低,降低了计算成本。
需要说明的是,上述实施例中的步骤301-步骤302与步骤303-步骤304之间相互独立。步骤301-步骤302可以在步骤303-步骤304之前执行,也可以在步骤303-步骤304之后执行,还可以与步骤303-步骤304并行执行。图3中仅以步骤301-步骤302在步骤303-步骤304之前执行为例对本公开提供的目标跟踪算法进行说明。本公开对上述步骤的执行顺序并不作限定。
以下,对目标跟踪装置确定检测目标和待跟踪目标之间的匹配关系的过程进行介绍。
作为本公开的一种可能的实施例,结合图3,如图5所示,上述步骤305还可以通过以下步骤501-步骤502实现。
步骤501、目标跟踪装置对每个检测目标和每个待跟踪目标执行第一目标操作,确定每个检测目标与每个待跟踪目标之间的距离。
其中,检测目标的数量为N个,待跟踪目标的数量为M个。M、N为正整数。
在一种可能的实现方式中,第一目标操作包括:
步骤5011、目标跟踪装置根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离。
其中,i为小于或等于N的正整数;j为小于或等于M的正整数。
进一步的,目标跟踪装置确定第i个检测目标和第j个待跟踪目标之间的 距离的过程可以通过以下步骤501a-步骤501b实现:
步骤501a、目标跟踪装置可以对第i个检测目标与第j个待跟踪目标的每个对应关键点执行第二目标操作,确定每个对应关键点之间的距离。
其中,第i个检测目标与第j个待跟踪目标的对应关键点的标识相同。
在一种可能的实现方式中,第二目标操作包括以下步骤5012-步骤5013:
步骤5012、目标跟踪装置确定第一关键点与第二关键点。
其中,第一关键点为第i个检测目标中的任一个关键点。第二关键点为第j个待跟踪目标中与第一关键点对应的关键点。
步骤5013、目标跟踪装置根据第一关键点的检测位置和第二关键点的预测位置确定第一关键点与第二关键点之间的距离。
示例性的,第一关键点与第二关键点之间的距离通过以下公式1来计算:
其中,p为第一关键点,p′为第二关键点,d(p,p′)表示第一关键点与第二关键点之间的距离,x、y为第一关键点的位置坐标,x′、y′为第二关键点的位置坐标。
需要说明的是,检测目标与待跟踪目标的关键点中可能存在未被检测到的关键点。此时无法确定未被检测到的关键点之间的距离,因此目标跟踪装置可以将未被检测到的关键点之间的距离设置为预设距离数值。该预设距离数值用于表示对应的两个关键点中存在至少一个关键点未被检测到。
示例性的,预设距离数值可以为-1。
步骤501b、目标跟踪装置根据每个对应关键点之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离。
示例性的,第i个检测目标和第j个待跟踪目标之间的距离通过以下公式2来计算:
其中,D(i,j)表示第i个检测目标和第j个待跟踪目标之间的距离,p
ik表示第i个检测目标的第k个关键点的检测位置,p′
jk表示第j个待跟踪目标的第k个关键点的预测位置,d(p
ik,p′
jk)表示第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点之间的距离,s表示目标的尺寸信息,v
ik表示第i个检测目标的第k个关键点是否被检测到,v′
jk表示第j个待跟踪目标的第k个关键点是否是否被检测到,δ(v
ik,v′
jk)表征第i个检测目标的第k个 关键点与第j个待跟踪目标的第k个关键点的检测情况。
需要说明的是,其中的s既可以表示第i个检测目标的尺寸信息,也可以表示第j个待跟踪目标的尺寸信息,还可以由第i个检测目标的尺寸信息和第j个待跟踪的尺寸信息确定。例如s为第i个检测目标的尺寸信息和第j个待跟踪的尺寸信息的平均值。
尺寸信息可以通过目标的图像面积、目标的图像面积的正平方根或者目标占用的像素点的数量表示。
示例性的,在第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点中的至少一个关键点未被检测到的情况下,δ(v
ik,v′
jk)的取值可以为0。在第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点均被检测到的情况下,δ(v
ik,v′
jk)的取值可以为1。
步骤502、目标跟踪装置根据每个检测目标与每个待跟踪目标之间的距离,确定匹配关系。
需要说明的是,目标跟踪装置可以基于每个检测目标与每个待跟踪目标之间的距离,从整体的角度确定待跟踪目标与检测目标的匹配关系。目标跟踪装置还可以基于任一个待跟踪目标分别与每个检测目标的距离,从待跟踪目标个体的角度确定待跟踪目标与检测目标的匹配关系。具体实现方式可参考后续描述,此处不再赘述。
一种可能的实现方式中,目标跟踪装置可以根据预设匹配算法,以及每个检测目标与每个待跟踪目标之间的距离,确定每个待跟踪目标是否与检测目标匹配。
示例性的,预设匹配算法可以为KM算法。
其中,对于相匹配的检测目标与待跟踪目标,目标跟踪装置还可以判断检测目标与待跟踪目标之间的距离是否满足第二预设条件。在检测目标与待跟踪目标之间的距离不满足第二预设条件的情况下,确定该检测目标与该待跟踪目标不匹配。通过上述技术方案,目标跟踪装置可以进一步过滤相匹配的待跟踪目标与检测目标,排除掉实际上并不匹配的待跟踪目标与检测目标,从而提高目标跟踪的准确性。
其中,第二预设条件可以为检测目标与待跟踪目标之间的距离小于或等于目标距离阈值。
示例性的,目标距离阈值为3.5,待跟踪目标包括A1、A2、A3、A4,检测目标包括B1、B2、B3、B4。A1与B1匹配,A1与B1的距离为3。A2与B2匹配,A2与B2的距离为4。A3与B4匹配,A3与B4的距离为3。A4 与B3匹配,A4与B3的距离为2。
其中,A2与B2的距离不满足第二预设条件,因此,目标跟踪装置确定A2与B2不匹配。
图6为根据一些实施例提供的一种目标跟踪的场景图。为便于理解,图6中仅示出了一个目标,本公开中的技术方案适用于一个或多个目标的目标跟踪场景。目标601正在进行跳跃运动。在第二时刻,待检测图像a中目标601处于准备动作。在第一时刻,待检测图像b中的目标601处于跳跃过程中。
图7为相关技术中的一种目标跟踪的原理图。如图7所示,相关技术中根据图6中第二时刻的待检测图像a确定出目标601在第二时刻的外包框图像701,根据图6中第一时刻的待检测图像b确定出目标601在第一时刻的外包框图像702。计算外包框图像701与外包框图像702的IoU,并根据IoU确定两个外包框图像对应的目标是否为同一目标。然而由于目标601的跳跃动作导致外包框图像的位置、大小变化较大,因此相关技术中难以准确地对目标601进行跟踪。
图8为根据本公开一些实施例提供的一种目标跟踪的原理图。如图8所示,本公开中目标跟踪装置根据图6中第二时刻确定的目标601的关键点的位置,预测该目标601的关键点在第一时刻的预测位置(即图8中的空心点),并根据图6中第一时刻的待检测图像b确定目标601的关键点的检测位置(即图8中的实心点)。之后,目标跟踪装置可以基于检测位置以及预测位置确定目标的匹配关系。另外,即使得到的关键点中存在部分未检测到的关键点(例如图8中右腿关节处的关键点的预测位置未被检测到),本公开中的目标跟踪方法仍然可以基于其他关键点的位置信息对目标进行跟踪,不会对本公开的目标跟踪造成过多影响。
相比于相关技术中的目标跟踪的方式,本公开中的技术方案不受外包框图像的变化影响,提高了目标跟踪的稳定性与准确度。同时,本公开中的技术方案直接基于关键点对目标进行跟踪,无需额外对目标进行检测,计算开销低,降低了计算成本。
需要说明的是,图6仅以单个目标为例对本公开中的跟踪原理以及相关技术中的跟踪原理的区别进行阐述,本公开中的技术方案同样适用于多目标跟踪,具体可参考相关实施例,图6中的场景并不对本公开的方案造成限定。
以下,对目标跟踪装置根据每个检测目标与每个待跟踪目标之间的距离,确定匹配关系的过程进行介绍。
作为本公开的一种可能的实施例,结合图5,如图9所示,上述步骤502 还可以通过以下步骤实现。
步骤901、目标跟踪装置确定每个待跟踪目标的权重值与每个检测目标的权重值。
其中,任一待跟踪目标的权重值为该任一待跟踪目标分别与每个检测目标的距离中最小距离的值。每个检测目标的权重值为预设权重值。
需要说明的是,待跟踪目标的权重值用于表征待跟踪目标对距离的期待值,检测目标的权重值用于表征检测目标对距离的期待值。
权重值越低,则说明待跟踪目标或者检测目标对距离的要求越高。反之,权重值越高,则说明待跟踪目标或者检测目标对距离的要求越低。
示例性的,预设权重值为0,具体可根据实际情况设置,本公开对此不作限定。
步骤902、目标跟踪装置对每个待跟踪目标执行第三目标操作,确定与每个待跟踪目标匹配的检测目标。
如图10所示,第三目标操作包括以下步骤1001-步骤1002。
步骤1001、目标跟踪装置确定与第m个待跟踪目标距离最短的第一检测目标。
其中,第一检测目标与第m个待跟踪目标的权重值之和大于或等于第一检测目标与第m个待跟踪目标的距离。m为正整数。
需要说明的是,若待跟踪目标与检测目标的权重值之和大于或等于该待跟踪目标与检测目标的距离,则说明两者的距离满足两者对距离的要求。在第一检测目标包括多个检测目标的情况下,目标跟踪装置从中任选一个检测目标。
示例性的,待跟踪目标A的权重值为4,检测目标B的权重值为-1,待跟踪目标A与检测目标B的距离为2。由于待跟踪目标A与检测目标B的权重值之和为3,大于待跟踪目标A与检测目标B的距离2。因此,该距离满足待跟踪目标A与检测目标B对距离的要求,即待跟踪目标A与检测目标B满足距离上的匹配条件。之后,目标跟踪装置还需要进一步判断该距离是否为符合匹配条件的距离中值最小的,以及执行后续操作。
一种可能的实现方式中,在检测目标中不存在第一检测目标的情况下,目标跟踪装置将第二检测目标作为第一检测目标,并更新第m个待跟踪目标的权重值。
其中,第二检测目标与第m个待跟踪目标的距离与权重值之和的差值最小。
需要说明的是,在检测目标中包括多个第二检测目标的情况下,目标跟踪装置可以从中任选一个第二检测目标作为第一检测目标。由于检测目标中不存在与第m个待跟踪目标的权重值之和大于或等于距离的检测目标,即每个检测目标与第m个待跟踪目标均未满足距离上的匹配条件,因此,第m个待跟踪目标需要降低其对距离的期待值,以便于为第m个待跟踪目标匹配检测目标。为了保障待跟踪目标整体上实现最优匹配,目标跟踪装置将第二检测目标作为第一检测目标,并更新第m个待跟踪目标的权重值。
示例性的,目标跟踪装置通过以下方式更新第m个待跟踪目标的权重值:目标跟踪装置将第m个待跟踪目标的权重值增加第二检测目标与第m个待跟踪目标的距离与权重值之和的差值。
步骤1002、目标跟踪装置对第m个待跟踪目标与第一检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标。
如图11所示,第四目标操作包括以下步骤1101-步骤1104。
步骤1101、目标跟踪装置确定是否存在第一待跟踪目标。
其中,第一待跟踪目标为根据第三目标操作确定的与第一检测目标匹配的待跟踪目标。
在不存在第一待跟踪目标的情况下,说明第一检测目标当前不存在匹配的待跟踪目标,因此目标跟踪装置可以执行步骤1102。
步骤1102、目标跟踪装置确定第m个待跟踪目标与第一检测目标匹配。
在存在第一待跟踪目标的情况下,说明第m个待跟踪目标与第一待跟踪目标的最优匹配均为第一检测目标,也即是说,目标跟踪装置需要重新确定第m个待跟踪目标与第一待跟踪目标中的其中一个与除第一检测目标之外的检测目标的匹配关系,以使得待跟踪目标与检测目标的匹配关系从整体上实现最优匹配。因此,目标跟踪装置可以执行步骤1103。
步骤1103、目标跟踪装置确定第m个待跟踪目标的第一影响值,以及第一待跟踪目标的第二影响值。
其中,第一影响值为根据第m个待跟踪目标与第二检测目标确定的差值。该差值为一个待跟踪目标与一个检测目标的距离与一个待跟踪目标与一个检测目标的权重之和之间的差值。第二检测目标为除第一检测目标外与第m个待跟踪目标确定的差值最小的检测目标。第二影响值为根据第一待跟踪目标与第三检测目标确定的差值。第三检测目标为除第一检测目标外与第一待跟踪目标确定的差值最小的检测目标。
因此,第一影响值用于表征目标跟踪装置重新确定与第m个待跟踪目标 匹配的检测目标的最小影响程度;第二影响值用于表征目标跟踪装置重新确定与第一待跟踪目标匹配的检测目标的最小影响程度。
需要说明的是,在包括多个检测目标与第m个待跟踪目标的距离与权重值之和的差值均最小的情况下,目标跟踪装置从中任选一个检测目标作为第二检测目标。在包括多个检测目标与第一待跟踪目标的距离与权重值之和的差值均最小的情况下,目标跟踪装置从中任选一个检测目标作为第三检测目标。
步骤1104、目标跟踪装置根据第一影响值和第二影响值,确定与第m个待跟踪目标匹配的检测目标。
在第一影响值小于第二影响值的情况下,目标跟踪装置执行步骤1105。
步骤1105、目标跟踪装置对第m个待跟踪目标与第二检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标。
需要说明的是,由于第一影响值小于第二影响值,因此,目标跟踪装置重新确定第m个待跟踪目标与第二检测目标的匹配关系对整体的匹配关系所造成的影响,比重新确定第一待跟踪目标与第三检测目标的匹配关系对整体的匹配关系的影响更小。为保障待跟踪目标与检测目标从整体上实现最优匹配,目标跟踪装置可以重新确定与第m个待跟踪目标匹配的检测目标。
一种可能的实现方式中,目标跟踪装置还可以根据第一影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值。
示例性的,目标跟踪装置将第m个待跟踪目标的权重值增加第一影响值,将第一待跟踪目标的权重值增加第一影响值,将第一检测目标的权重值降低第一影响值。
在第一影响值大于第二影响值的情况下,目标跟踪装置执行步骤1106。
步骤1106、目标跟踪装置确定第m个待跟踪目标与第一检测目标匹配。
一种可能的实现方式中,目标跟踪装置还可以对第一待跟踪目标与第三检测目标执行第四目标操作,确定与第一待跟踪目标匹配的检测目标。
同样的,由于第一影响值大于第二影响值,因此,目标跟踪装置重新确定第m个待跟踪目标与第二检测目标的匹配关系对整体的匹配关系所造成的影响,比重新确定第一待跟踪目标与第二检测目标的匹配关系对整体的匹配关系的影响更大。为保障待跟踪目标与检测目标从整体上实现最优匹配,目标跟踪装置可以重新确定与第一待跟踪目标匹配的检测目标。
一种可能的实现方式中,目标跟踪装置还可以根据第二影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值。
示例性的,目标跟踪装置将第m个待跟踪目标的权重值增加第二影响值,将第一待跟踪目标的权重值增加第二影响值,将第一检测目标的权重值降低第二影响值。
在第一影响值等于第二影响值的情况下,目标跟踪装置执行步骤1105,或者目标跟踪装置执行步骤1106。
需要说明的是,上述方案中目标跟踪装置通过根据每个检测目标与每个待跟踪目标之间的距离,能够从整体上确定待跟踪目标与检测目标的一对一的匹配关系。在实际执行过程中,待跟踪目标与检测目标的数量存在不对等的情况,为了得到一对一的匹配关系,可以在数量较少的目标中补充一些目标,以使得待跟踪目标与检测目标的数量对等。
例如,检测目标的数量少于待跟踪目标的数量,目标跟踪装置增加检测目标,以使得检测目标的数量与待跟踪目标的数量相同。其中,增加的检测目标与每个待跟踪目标的距离可以设置为较大的预设距离,以避免对匹配关系造成影响。
预设距离的值理论上可以为无穷大。示例性的,预设距离可以为1000000。
此外,上述技术方案以目标跟踪装置确定与待跟踪目标匹配的检测目标为例,对本公开中目标跟踪装置确定匹配关系的过程进行了说明。目标跟踪在还可以通过上述技术方案确定与检测目标匹配的待跟踪目标,从而确定匹配关系,即将上述技术方案中的待跟踪目标与检测目标的执行客体互换,具体实施方式与上述技术方案相同,此处不再赘述。
基于上述技术方案,本公开中的目标跟踪装置可以在确定待跟踪目标与检测目标的匹配关系时,同时考虑该检测目标是否已经与其他待跟踪目标相匹配,并根据当前的待跟踪目标重新确定与检测目标的匹配关系对整体的匹配所造成的影响程度以及已经匹配的待跟踪目标重新确定与检测目标的匹配关系对整体的匹配所造成的影响程度调整此时的待跟踪目标与检测目标的匹配关系,以使得待跟踪目标与检测目标之间的匹配关系实现整体的最优匹配。因此,目标跟踪装置能够从整体的角度确定待跟踪目标与检测目标的最优匹配关系,提高了目标跟踪的稳定性与准确度。
示例性的,待跟踪目标与检测目标的距离如下表一所示:
表一 待跟踪目标与检测目标的距离
其中,待跟踪目标包括A1、A2、A3、A4,检测目标包括B1、B2、B3、B4。A1与B1的距离为3,A1与B2的距离为4,A1与B3的距离为6,A1与B4的距离为4,以此类推。
以上述方案为例,目标跟踪装置确定待跟踪目标的权重值,如下表二所示:
表二 待跟踪目标的权重值
检测目标的权重值如下表三所示:
表三 检测目标的权重值
1、目标跟踪装置确定A1与检测目标的匹配关系。
A1与B1的权重值之和为3,等于A1与B1的距离,且A1与B1的距离最短。因此,目标跟踪装置将B1作为第一检测目标。同时,B1未与其他待跟踪目标匹配,因此,目标跟踪装置确定A1与B1匹配。
此时的匹配关系为:A1与B1匹配。
2、目标跟踪装置确定A2与检测目标的匹配关系。
A2与B4的权重值之和为3,等于A2与B4的距离,且A2与B4的距离最短。因此,目标跟踪装置将B4作为第一检测目标。同时,B4未与其他待跟踪目标匹配,因此,目标跟踪装置确定A2与B4匹配。
此时的匹配关系为:A1与B1匹配、A2与B4匹配。
3、目标跟踪装置确定A3与检测目标的匹配关系。
A3与B4的权重值之和为3,等于A3与B4的距离,且A3与B4的距离最短。因此,目标跟踪装置将B4作为第一检测目标。然而,由于A2与B4 已经匹配,目标跟踪装置需要分别确定A3与B1的权重值之和与距离的差值,A3与B2的权重值之和与距离的差值,A3与B3的权重值之和与距离的差值,以及分别确定A2与B1的权重值之和与距离的差值,A2与B2的权重值之和与距离的差值,A2与B3的权重值之和与距离的差值。
结果如下表四所示:
表四 A2、A3与检测目标的权重值之和与距离的差值
其中,第一影响值与第二影响值均为1,第二检测目标为B3,第三检测目标为B2。目标跟踪装置既可以执行步骤9027,也可以执行步骤9028,此处以目标跟踪装置执行步骤9028为例。
目标跟踪装置确定A3与B4匹配,并对A2与B2执行第四目标操作。
此外,目标跟踪装置还可以根据第二影响值更新A2、A3与B4的权重值。
更新后的待跟踪目标的权重值如下表五所示:
表五 更新后的待跟踪目标的权重值
更新后的检测目标的权重值如下表六所示:
表六 更新后的检测目标的权重值
由于B2未与其他待跟踪目标临时匹配,因此,目标跟踪装置确定A2与B2匹配。
此时的匹配关系为:A1与B1匹配,A2与B2匹配,A3与B4匹配。
4、目标跟踪装置确定A4与检测目标的匹配关系。
A4与B3的权重值之和等于A4与B3的距离,且A4与B3的距离最短。同时,B3未与其他待跟踪目标匹配,因此,目标跟踪装置确定A4与B3匹配。
此时的匹配关系为:A1与B1匹配,A2与B2匹配,A3与B4匹配、A4与B3匹配。
至此,目标跟踪装置确定了与每个待跟踪目标匹配的检测目标。
以下,对目标跟踪装置根据每个检测目标与每个待跟踪目标之间的距离, 确定匹配关系的过程进行介绍。
作为本公开的又一种可能的实施例,结合图5,如图12所示,上述步骤502还可以通过以下步骤实现。
步骤1201、目标跟踪装置确定待跟踪目标列表与检测目标列表。
其中,待跟踪目标列表包括每个待跟踪目标,检测目标列表包括每个检测目标。
步骤1202、目标跟踪装置对待跟踪目标列表与检测目标列表中的待跟踪目标与检测目标执行第五目标操作,直至待跟踪目标列表中不存在待跟踪目标或者检测目标列表中不存在检测目标,确定与每个待跟踪目标匹配的检测目标。
需要说明的是,在实际执行过程中,待跟踪目标与检测目标的数量存在不对等的情况,因此最后会存在部分待跟踪目标或者存在部分检测目标。目标跟踪装置可以确定该部分待跟踪目标不存在匹配的检测目标,或者确定该部分检测目标不存在匹配的待跟踪目标。
如图13所示,第五目标操作包括以下步骤1301-步骤1304。
步骤1301、目标跟踪装置确定当前待跟踪目标列表中的每个待跟踪目标与当前检测目标列表中的每个待跟踪目标之间的目标距离。
步骤1302、目标跟踪装置确定目标距离中的最小距离,以及最小距离对应的第二待跟踪目标和第四检测目标。
其中,第二待跟踪目标和第四检测目标之间的距离为最小距离。
需要说明的是,在存在多个距离的值同为最小值的情况下,目标跟踪装置可以从中任选一个距离作为最小距离,并将与最小距离对应的待跟踪目标作为第二待跟踪目标,对应的检测目标作为第四检测目标。
步骤1303、目标跟踪装置确定第二待跟踪目标与第四检测目标的匹配关系。
由于第二待跟踪目标与第四检测目标之间的距离为最小距离,因此,目标跟踪装置可以优先确定第二待跟踪目标与第四检测目标相匹配,从而得到该第二待跟踪目标的最优匹配关系。
步骤1304、目标跟踪装置从当前待跟踪目标列表中删除第二待跟踪目标,从当前检测目标列表中删除第四检测目标。
也即是说,目标跟踪装置在确定后续待跟踪目标与检测目标的匹配关系时,不需要考虑已经确定好匹配关系的待跟踪目标与其他检测目标的距离,也不需要考虑已经确定好匹配关系的检测目标与其他待跟踪目标的距离,因 此减少了目标跟踪装置在确定匹配关系时的计算量。
同样的,上述技术方案以目标跟踪装置确定与待跟踪目标匹配的检测目标为例,对本公开中目标跟踪装置确定匹配关系的过程进行了说明。目标跟踪在还可以通过上述技术方案确定与检测目标匹配的待跟踪目标,从而确定匹配关系,即将上述技术方案中的待跟踪目标与检测目标的执行客体互换,具体实施方式与上述技术方案相同,此处不再赘述。
基于上述技术方案,本公开中的目标跟踪装置在确定出待跟踪目标列表与检测目标列表中距离最小的第二待跟踪目标与第四检测目标相匹配之后,可以将第二待跟踪目标与第四检测目标从列表中移除,从而确定剩下的待跟踪目标与检测目标的匹配关系。因此,目标跟踪装置能够从待跟踪目标个体的角度出发,确定每个待跟踪目标是否与检测目标匹配,进一步降低了目标跟踪装置确定匹配关系的计算成本,从而提高了目标跟踪效率。
结合上述表一中的示例,目标跟踪装置确定待跟踪目标列表包括:A1、A2、A3、A4,检测目标列表包括:B1、B2、B3、B4。其中,A4与B3的距离以及A4与B4的距离为2,均为最小值。因此,目标跟踪装置可以选择A4与B3相匹配,并从待跟踪目标列表与检测目标列表删除A4与B3。此时,目标跟踪装置确定待跟踪目标列表包括:A1、A2、A3,检测目标列表包括:B1、B2、B4。
删除后的待跟踪目标列表与检测目标列表中,A1与B1,A2与B4的距离以及A3与B4的距离为3,均为最小值。因此,目标跟踪装置可以选择A2与B4相匹配,并从待跟踪目标列表与检测目标列表删除A2与B4。此时,目标跟踪装置确定待跟踪目标列表包括:A1、A3,检测目标列表包括:B1、B2。
删除后的待跟踪目标列表与检测目标列表中,A1与B1的距离为最小值3。因此,目标跟踪装置可以选择A1与B1相匹配,并从待跟踪目标列表与检测目标列表删除A1与B1。此时,目标跟踪装置确定待跟踪目标列表包括:A3,检测目标列表包括:B2。
删除后的待跟踪目标列表与检测目标列表中,A3与B2的距离为最小值5。因此,目标跟踪装置可以选择A3与B2相匹配,并从待跟踪目标列表与检测目标列表删除A3与B2。此时,目标跟踪装置确定待跟踪目标列表中不存在待跟踪目标,检测目标列表中不存在检测目标。
最终,目标跟踪装置确定的匹配关系为:A1与B1匹配,A2与B4匹配,A3与B2匹配,A4与B3匹配。
以下,对目标跟踪装置根据匹配关系,更新待跟踪目标和待跟踪目标的 关键点的位置的过程进行介绍。
作为本公开的一种可能的实施例,结合图3,如图14所示,上述步骤306还可以通过以下步骤实现。
其中,对于存在与之匹配的检测目标的待跟踪目标,上述步骤306可以通过以下步骤1401-步骤1402实现:
步骤1401、目标跟踪装置确定第三待跟踪目标。
其中,第三待跟踪目标中的每个待跟踪目标存在匹配的检测目标。
需要说明的是,第三待跟踪目标为待跟踪目标中与检测目标匹配成功的目标。因此,对于第三待跟踪目标,目标跟踪装置可以将第三待跟踪目标与匹配的检测目标相关联,从而达到目标跟踪的技术效果。
步骤1402、目标跟踪装置根据与第三待跟踪目标匹配的检测目标的关键点的检测位置以及第三待跟踪目标的关键点的预测位置,更新第三待跟踪目标的关键点的位置。
示例性的,目标跟踪装置可以根据卡尔曼滤波(Kalman filtering)算法对预测位置和检测位置进行校正,确定第三待跟踪目标的关键点在第一时刻的位置。
需要说明的是,第三待跟踪目标可能存在未被检测到的关键点,与之匹配的检测目标也可能存在未被检测到的关键点。如图15所示,左侧为第三待跟踪目标,右侧为与之匹配的检测目标。其中,关键点1501、关键点1504为第三待跟踪目标的被检测到的关键点(即图15中的实心点)。关键点1502、关键点1503为第三待跟踪目标的未被检测到的关键点(即图15中的空心点)。关键点1505、关键点1506为检测目标的检测到的关键点。关键点1507、关键点1508为检测目标的未被检测到的关键点。为便于理解,图15中仅示出一个待跟踪目标。
在第三待跟踪目标的关键点已被检测到,且与之匹配的检测目标的对应关键点已被检测到的情况下(例如图15中的关键点1501与关键点1505),目标跟踪装置可以根据与第三待跟踪目标匹配的检测目标的关键点的检测位置以及第三待跟踪目标的关键点的预测位置,更新第三待跟踪目标的关键点的位置。
在第三待跟踪目标的关键点已被检测到,且与之匹配的检测目标的对应关键点未被检测到的情况下(例如图15中的关键点1504与关键点1508),目标跟踪装置可以将第三待跟踪目标的关键点的预测位置或者在第二时刻的位置作为该关键点在第一时刻的位置。
在第三待跟踪目标的关键点未被检测到,且与之匹配的检测目标的对应关键点已被检测到的情况下(例如图15中的关键点1502与关键点1506),目标跟踪装置可以将匹配的检测目标的对应关键点的检测位置作为该未被检测到的关键点在第一时刻的位置。
在第三待跟踪目标的关键点未被检测到,且与之匹配的检测目标的对应关键点未被检测到的情况下(例如图15中的关键点1503与关键点1507),目标跟踪装置可以将未被检测到的关键点的位置信息设置为预设位置数值,用于表示该关键点未被检测到。
对于不存在与之匹配的待跟踪目标的检测目标,上述步骤306可以通过以下步骤1403-步骤1404实现:
步骤1403、目标跟踪装置确定第五检测目标。
其中,第五检测目标中的每个检测目标不存在匹配的待跟踪目标。
步骤1404、目标跟踪装置在待跟踪目标中增加第五检测目标。
需要说明的是,对于不存在与之匹配的待跟踪目标的检测目标,可能是在第一时刻目标区域内新出现的目标。因此,目标跟踪装置需要将其增加至待跟踪目标中,并对其进行后续跟踪。
一种可能的实现方式中,步骤1404包括:目标跟踪装置将第五检测目标作为第一时刻新增加的待跟踪目标,将第五检测目标的关键点作为新增加的待跟踪目标的关键点。
对于不存在与之匹配的检测目标的待跟踪目标,上述步骤306可以通过以下步骤1405-步骤1408实现:
步骤1405、目标跟踪装置确定第四待跟踪目标以及第四待跟踪目标的不匹配次数。
其中,第四待跟踪目标中的每个待跟踪目标不存在匹配的检测目标,不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数。
在该待跟踪目标不存在匹配的检测目标的情况下,目标跟踪装置设置该待跟踪目标的不匹配次数加一。
在该待跟踪目标存在匹配的检测目标的情况下,目标跟踪装置清空待跟踪目标的不匹配次数。
示例性的,目标跟踪装置可以为每个待跟踪目标设置匹配计数器。匹配计数器用于计算待跟踪目标的不匹配次数。
步骤1406、目标跟踪装置判断不匹配次数是否大于预设跟踪阈值。
其中,预设跟踪阈值可以根据实际情况设置,本公开对此不作限定。
需要说明的是,在不匹配次数大于预设跟踪阈值的情况下,说明该第四待跟踪目标多次跟踪失败,目标跟踪装置确定第四待跟踪目标已经从目标区域中消失。目标跟踪装置可以执行步骤1407。
步骤1407、目标跟踪装置在待跟踪目标中删除第四待跟踪目标。
在不匹配次数小于或等于预设跟踪阈值的情况下,说明该第四待跟踪目标可能由于其他因素导致匹配失败。目标跟踪装置可以执行步骤1408。
步骤1408、目标跟踪装置将第四待跟踪目标的关键点的预测位置或者第四待跟踪目标的关键点在第二时刻的位置作为更新后的第四待跟踪目标的关键点的位置。
需要说明的是,对于第四待跟踪目标中未被检测到的关键点,目标跟踪装置可以将未被检测到的关键点的位置信息设置为预设位置数值,用于表示该关键点未被检测到。
基于上述技术方案,本公开中的目标跟踪装置能够根据匹配关系,将待跟踪目标与检测目标分为三类,即存在与之匹配的检测目标的待跟踪目标、不存在与之匹配的待跟踪目标的检测目标以及不存在与之匹配的检测目标的待跟踪目标。同时,目标跟踪装置基于上述三类目标,执行相应的更新操作,有效提高了目标跟踪的稳定性与准确度。
需要说明的是,上述实施例中的步骤1401-步骤1402、步骤1403-步骤1404以及步骤1405-步骤1408之间相互独立。步骤1401-步骤1402、步骤1403-步骤1404以及步骤1405-步骤1408可以按照任意组合的执行顺序执行,也可以并行执行。本公开对上述步骤的执行顺序并不作限定。
以下,对目标跟踪装置根据匹配关系,更新待跟踪目标和待跟踪目标的关键点的位置的过程进行介绍。
作为本公开的又一种可能的实施例,结合图3,如图16所示,除上述步骤1401-步骤1408以外,上述步骤306还可以通过以下步骤实现。
步骤1601、目标跟踪装置判断第五待跟踪目标是否存在匹配的检测目标。
其中,第五待跟踪目标为待跟踪目标中的任一个目标。
在第五待跟踪目标存在匹配的检测目标的情况下,目标跟踪装置执行步骤1602。
步骤1602、目标跟踪装置根据匹配的检测目标的关键点的检测位置与第五待跟踪目标的关键点的预测位置更新第五待跟踪目标的关键点的位置。
相关实现方式可参考步骤902中的描述,此处不再赘述。
在第五待跟踪目标不存在匹配的检测目标的情况下,目标跟踪装置执行 步骤1603。
步骤1603、目标跟踪装置判断第五待跟踪目标的不匹配次数是否大于预设跟踪阈值。
其中,不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数。
在第五待跟踪目标的不匹配次数大于预设跟踪阈值的情况下,目标跟踪装置可以执行步骤1604。
步骤1604、目标跟踪装置在待跟踪目标中删除第五待跟踪目标。
在第五待跟踪目标的不匹配次数小于或等于预设跟踪阈值的情况下,目标跟踪装置可以执行步骤1605。
步骤1605、目标跟踪装置将第五待跟踪目标的关键点的预测位置或者第五待跟踪目标的关键点在第二时刻的位置作为更新后的第五待跟踪目标的关键点的位置。
需要说明的是,对于第五待跟踪目标中未被检测到的关键点,目标跟踪装置可以将未被检测到的关键点的位置信息设置为预设位置数值,用于表示该关键点未被检测到。
步骤1606、目标跟踪装置判断第六检测目标是否存在匹配的待跟踪目标。
其中,第六检测目标为检测目标中的任一个目标。
在第六检测目标不存在匹配的待跟踪目标的情况下,目标跟踪装置可以执行步骤1607。
步骤1607、目标跟踪装置在待跟踪目标中增加第六检测目标。
相关实现方式可参考步骤1404中的描述,此处不再赘述。
基于上述技术方案,本公开中的目标跟踪装置能够分别确定每个待跟踪目标和每个检测目标的匹配关系,并根据该匹配关系对每个待跟踪目标和每个检测目标执行相应的更新操作,提高了目标跟踪的稳定性与准确度。
需要说明的是,上述实施例中的步骤1601与步骤1606之间相互独立。本公开对上述步骤的执行顺序并不作限定。
本公开实施例可以根据上述方法示例对目标跟踪装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本公开实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图17所示,为根据一些实施例提供的一种目标跟踪装置170的结构图, 该装置包括:处理单元1701和获取单元1702。
获取单元1702,被配置为获取第一时刻的待检测图像。
处理单元1701,被配置为确定待检测图像中检测目标的关键点的检测位置。
获取单元1702,还被配置为获取待跟踪目标的关键点在第二时刻的位置。第二时刻为第一时刻之前的时刻。
处理单元1701,还被配置为根据待跟踪目标的关键点在第二时刻的位置,预测待跟踪目标的关键点在第一时刻的预测位置。
处理单元1701,还被配置为根据检测位置和预测位置,确定检测目标和待跟踪目标之间的匹配关系。匹配关系用于匹配检测目标和待跟踪目标中相同的目标。
处理单元1701,还被配置为根据匹配关系,跟踪待跟踪目标。
在一些实施例中,处理单元1701,被配置为对每个检测目标和每个待跟踪目标执行第一目标操作,确定每个检测目标与每个待跟踪目标之间的距离;第一目标操作包括:根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离;其中,i为小于或等于N的正整数;j为小于或等于M的正整数;处理单元1701,还被配置为根据每个检测目标与每个待跟踪目标之间的距离,确定匹配关系。
在一些实施例中,处理单元1701,被配置为对第i个检测目标与第j个待跟踪目标的每个对应关键点执行第二目标操作,确定每个对应关键点之间的距离;第二目标操作包括:确定第一关键点与第二关键点;根据第一关键点的检测位置和第二关键点的预测位置确定第一关键点与第二关键点之间的距离;第一关键点为第i个检测目标中的任一个关键点;第二关键点为第j个待跟踪目标中与第一关键点对应的关键点;处理单元1701,还被配置为根据每个对应关键点之间的距离,确定第i个检测目标和第j个待跟踪目标之间的距离。
在一些实施例中,第i个检测目标和第j个待跟踪目标之间的距离通过以下公式来计算:
其中,D(i,j)表示第i个检测目标和第j个待跟踪目标之间的距离,p
ik表 示第i个检测目标的第k个关键点的检测位置,p′
jk表示第j个待跟踪目标的第k个关键点的预测位置,d(p
ik,p′
jk)表示第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点之间的距离,s表示目标的尺寸信息,v
ik表示第i个检测目标的第k个关键点是否被检测到,v′
jk表示第j个待跟踪目标的第k个关键点是否被检测到,δ(v
ik,v′
jk)表征第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点的检测情况。
在一些实施例中,匹配关系包括如下中的至少一项:存在至少一个待跟踪目标与检测目标匹配、存在至少一个待跟踪目标与检测目标不匹配、以及存在至少一个检测目标与待跟踪目标不匹配中的至少一项。
在一些实施例中,处理单元1701,被配置为确定每个待跟踪目标的权重值与每个检测目标的权重值;其中,任一待跟踪目标的权重值为任一待跟踪目标分别与每个检测目标的距离中最小距离的值;每个检测目标的权重值为预设权重值;对每个待跟踪目标执行第三目标操作,确定与每个待跟踪目标匹配的检测目标;第三目标操作包括:确定与第m个待跟踪目标距离最短的第一检测目标;其中,第一检测目标与第m个待跟踪目标的权重值之和大于或等于第一检测目标与第m个待跟踪目标的距离;m为正整数;对第m个待跟踪目标与第一检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;第四目标操作包括:确定是否存在第一待跟踪目标;第一待跟踪目标为根据第三目标操作确定的与第一检测目标匹配的待跟踪目标;在不存在第一待跟踪目标的情况下,确定第m个待跟踪目标与第一检测目标匹配;在存在第一待跟踪目标的情况下,确定第m个待跟踪目标的第一影响值,以及第一待跟踪目标的第二影响值;其中,第一影响值为根据第m个待跟踪目标与第二检测目标确定的差值;差值为一个待跟踪目标与一个检测目标的距离与一个待跟踪目标与一个检测目标的权重之和之间的差值;第二检测目标为除第一检测目标外与第m个待跟踪目标确定的差值最小的检测目标;第二影响值为根据第一待跟踪目标与第三检测目标确定的差值;第三检测目标为除第一检测目标外与第一待跟踪目标确定的差值最小的检测目标;根据第一影响值和第二影响值,确定与第m个待跟踪目标匹配的检测目标。
在一些实施例中,处理单元1701,被配置为在第一影响值小于第二影响值的情况下,对第m个待跟踪目标与第二检测目标执行第四目标操作,确定与第m个待跟踪目标匹配的检测目标;在第一影响值大于第二影响值的情况下,确定第m个待跟踪目标与第一检测目标匹配。
在一些实施例中,处理单元1701,被配置为在第一影响值大于第二影响 值的情况下,对第一待跟踪目标与第三检测目标执行第四目标操作,确定与第一待跟踪目标匹配的检测目标。
在一些实施例中,处理单元1701,被配置为在第一影响值小于第二影响值的情况下,根据第一影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值;在第一影响值大于第二影响值的情况下,根据第二影响值更新第m个待跟踪目标、第一待跟踪目标以及第一检测目标的权重值。
在一些实施例中,处理单元1701,被配置为将第m个待跟踪目标的权重值增加第一影响值,将第一待跟踪目标的权重值增加第一影响值,将第一检测目标的权重值降低第一影响值;处理单元1701,还被配置为将第m个待跟踪目标的权重值增加第二影响值,将第一待跟踪目标的权重值增加第二影响值,将第一检测目标的权重值降低第二影响值。
在一些实施例中,处理单元1701,被配置为确定待跟踪目标列表与检测目标列表;其中,待跟踪目标列表包括每个待跟踪目标,检测目标列表包括每个检测目标;对待跟踪目标列表与检测目标列表中的待跟踪目标与检测目标迭代执行第五目标操作,直至待跟踪目标列表中不存在待跟踪目标或者检测目标列表中不存在检测目标,根据第五目标操作的执行结果确定匹配关系;第五目标操作包括:确定当前待跟踪目标列表中的每个待跟踪目标与当前检测目标列表中的每个待跟踪目标之间的目标距离;确定目标距离中的最小距离,以及最小距离对应的第二待跟踪目标和第四检测目标;第二待跟踪目标和第四检测目标之间的距离为最小距离;确定第二待跟踪目标与第四检测目标的匹配关系;从当前待跟踪目标列表中删除第二待跟踪目标,从当前检测目标列表中删除第四检测目标。
在一些实施例中,处理单元1701,被配置为确定第三待跟踪目标;第三待跟踪目标中的每个待跟踪目标存在匹配的检测目标;处理单元1701,还被配置为根据与第三待跟踪目标匹配的检测目标的关键点的检测位置以及第三待跟踪目标的关键点的预测位置,更新第三待跟踪目标的关键点的位置。
在一些实施例中,处理单元1701,被配置为确定第五检测目标;第五检测目标中的每个检测目标不存在匹配的待跟踪目标;处理单元1701,还被配置为在待跟踪目标中增加第五检测目标。
在一些实施例中,处理单元1701,被配置为确定第四待跟踪目标以及第四待跟踪目标的不匹配次数;第四待跟踪目标中的每个待跟踪目标不存在匹配的检测目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;处理单元1701,还被配置为在不匹配次数大于预设跟踪阈值的情况下,在待 跟踪目标中删除第四待跟踪目标。
在一些实施例中,处理单元1701,被配置为在不匹配次数小于或等于预设跟踪阈值的情况下,将第四待跟踪目标的关键点的预测位置或者第四待跟踪目标的关键点在第二时刻的位置作为更新后的第四待跟踪目标的关键点的位置。
在一些实施例中,处理单元1701,被配置为在第五待跟踪目标存在匹配的检测目标的情况下,根据匹配的检测目标的关键点的检测位置与第五待跟踪目标的关键点的预测位置更新第五待跟踪目标的关键点的位置;第五待跟踪目标为待跟踪目标中的任一个目标;处理单元1701,还被配置为在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数大于预设跟踪阈值的情况下,在待跟踪目标中删除第五待跟踪目标;不匹配次数为待跟踪目标连续不存在匹配的检测目标的次数;处理单元1701,还被配置为在第六检测目标不存在匹配的待跟踪目标的情况下,在待跟踪目标中增加第六检测目标;第六检测目标为检测目标中的任一个目标。
在一些实施例中,处理单元1701,被配置为在第五待跟踪目标不存在匹配的检测目标,且第五待跟踪目标的不匹配次数小于或等于预设跟踪阈值的情况下,将第五待跟踪目标的关键点的预测位置或者第五待跟踪目标在第二时刻的位置作为更新后的第五待跟踪目标的关键点的位置。
在一些实施例中,处理单元1701,被配置为确定待跟踪目标的关键点的运动状态;处理单元1701,还被配置为根据待跟踪目标的关键点在第二时刻的位置以及运动状态,预测待跟踪目标的关键点在第一时刻的预测位置。
在一些实施例中,处理单元1701,被配置为在检测目标的数量为0的情况下,确定每个待跟踪目标不存在匹配的检测目标。
在一些实施例中,处理单元1701,被配置为在待跟踪目标的数量为0的情况下,确定每个检测目标不存在匹配的待跟踪目标。
在通过硬件实现时,本公开实施例中的获取单元1702可以集成在通信接口上,处理单元1701可以集成在处理器上。具体实现方式如图18所示。
图18示出了上述实施例中所涉及的目标跟踪装置的又一种可能的结构示意图。该目标跟踪装置180包括:处理器1802和通信接口1803。处理器1802被配置为对目标跟踪装置180的动作进行控制管理,例如,执行上述处理单元1701执行的步骤,和/或被配置为执行本文所描述的技术的其它过程。通信接口1803被配置为支持目标跟踪装置180与其他网络实体的通信,例如,执行上述获取单元1702执行的步骤。目标跟踪装置180还可以包括存储器1801 和总线1804,存储器1801被配置为存储目标跟踪装置180的程序代码和数据。
其中,存储器1801可以是目标跟踪装置180中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器1802可以是实现或执行结合本公开公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本公开公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1804可以是扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线1804可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图18中的目标跟踪装置180还可以为芯片。该芯片包括一个或两个以上(包括两个)处理器1802和通信接口1803。
在一些实施例中,该芯片还包括存储器1801,存储器1801可以包括只读存储器和随机存取存储器,并向处理器1802提供操作指令和数据。存储器1801的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器1801存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本公开实施例中,通过调用存储器1801存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本公开的一些实施例提供了一种计算机可读存储介质(例如,非暂态计 算机可读存储介质),该计算机可读存储介质中存储有计算机程序指令,计算机程序指令在计算机(例如,目标跟踪装置)上运行时,使得计算机执行如上述实施例中任一实施例所述的目标跟踪方法。
示例性的,上述计算机可读存储介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,CD(Compact Disk,压缩盘)、DVD(Digital Versatile Disk,数字通用盘)等),智能卡和闪存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。本公开描述的各种计算机可读存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读存储介质。术语“机器可读存储介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本公开的一些实施例还提供了一种计算机程序产品,例如该计算机程序产品存储在非瞬时性的计算机可读存储介质上。该计算机程序产品包括计算机程序指令,在计算机(例如,目标跟踪装置)上执行该计算机程序指令时,该计算机程序指令使计算机执行如上述实施例所述的目标跟踪方法。
本公开的一些实施例还提供了一种计算机程序。当该计算机程序在计算机(例如,目标跟踪装置)上执行时,该计算机程序使计算机执行如上述实施例所述的目标跟踪方法。
上述计算机可读存储介质、计算机程序产品及计算机程序的有益效果和上述一些实施例所述的目标跟踪方法的有益效果相同,此处不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (20)
- 一种目标跟踪方法,包括:获取第一时刻的待检测图像;确定所述待检测图像中检测目标的关键点的检测位置;获取待跟踪目标的关键点在第二时刻的位置;所述第二时刻为所述第一时刻之前的时刻;根据所述待跟踪目标的关键点在第二时刻的位置,预测所述待跟踪目标的关键点在所述第一时刻的预测位置;根据所述检测位置和所述预测位置,确定所述检测目标和所述待跟踪目标之间的匹配关系;所述匹配关系用于匹配所述检测目标和所述待跟踪目标中相同的目标;根据所述匹配关系,跟踪所述待跟踪目标。
- 根据权利要求1所述的方法,其中,所述检测目标的数量为N个,所述待跟踪目标的数量为M个;M、N为正整数;所述根据所述检测位置和所述预测位置,确定所述检测目标和所述待跟踪目标之间的匹配关系,包括:对每个检测目标和每个待跟踪目标执行第一目标操作,确定所述每个检测目标与所述每个待跟踪目标之间的距离;所述第一目标操作包括:根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定所述第i个检测目标和第j个待跟踪目标之间的距离;其中,i为小于或等于N的正整数;j为小于或等于M的正整数;根据所述每个检测目标与所述每个待跟踪目标之间的距离,确定所述匹配关系。
- 根据权利要求2所述的方法,其中,所述根据第i个检测目标中的关键点的检测位置,和第j个待跟踪目标的关键点的预测位置之间的距离,确定所述第i个检测目标和第j个待跟踪目标之间的距离,包括:对所述第i个检测目标与所述第j个待跟踪目标的每个对应关键点执行第二目标操作,确定所述每个对应关键点之间的距离;所述第二目标操作包括:确定第一关键点与第二关键点;根据所述第一关键点的检测位置和所述第二关键点的预测位置确定所述第一关键点与所述第二关键点之间的距离;所述第一关键点为所述第i个检测目标中的任一个关键点;所述第二关键点为所述第j个待跟踪目标中与所述第一关键点对应的关键点;根据所述每个对应关键点之间的距离,确定所述第i个检测目标和第j个待跟踪目标之间的距离。
- 根据权利要求2或3所述的方法,其中,所述第i个检测目标和第j个待跟踪目标之间的距离通过以下公式来计算:其中,D(i,j)表示所述第i个检测目标和第j个待跟踪目标之间的距离,p ik表示所述第i个检测目标的第k个关键点的检测位置,p′ jk表示所述第j个待跟踪目标的第k个关键点的预测位置,d(p ik,p′ jk)表示第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点之间的距离,s表示目标的尺寸信息,v ik表示第i个检测目标的第k个关键点是否被检测到,v′ jk表示第j个待跟踪目标的第k个关键点是否被检测到,δ(v ik,v′ jk)表征第i个检测目标的第k个关键点与第j个待跟踪目标的第k个关键点的检测情况。
- 根据权利要求2-4任一项所述的方法,其中,所述匹配关系包括如下中的至少一项:存在至少一个待跟踪目标与检测目标匹配、存在至少一个待跟踪目标与检测目标不匹配、以及存在至少一个检测目标与待跟踪目标不匹配。
- 根据权利要求2-5任一项所述的方法,所述根据所述每个检测目标与所述每个待跟踪目标之间的距离,确定所述匹配关系,包括:确定所述每个待跟踪目标的权重值与所述每个检测目标的权重值;其中,任一待跟踪目标的权重值为所述任一待跟踪目标分别与所述每个检测目标的距离中最小距离的值;所述每个检测目标的权重值为预设权重值;对所述每个待跟踪目标执行第三目标操作,确定与所述每个待跟踪目标匹配的检测目标;所述第三目标操作包括:确定与第m个待跟踪目标距离最短的第一检测目标;其中,所述第一检测目标与所述第m个待跟踪目标的权重值之和大于或等于所述第一检测目标与所述第m个待跟踪目标的距离;m为正整数;对所述第m个待跟踪目标与所述第一检测目标执行第四目标操作,确定与所述第m个待跟踪目标匹配的检测目标;所述第四目标操作包括:确定是否存在第一待跟踪目标;所述第一待跟踪目标为根据所述第三目标操作确定的与所述第一检测目标匹配的待跟踪目标;在不存在所述第一待跟踪目标的情况下,确定所述第m个待跟踪目标与所述第一检测目标匹配;在存在所述第一待跟踪目标的情况下,确定所述第m个待跟踪目标的第一影响值,以及所述第一待跟踪目标的第二影响值;其中,所述第一影响值为根据所述第m个待跟踪目标与第二检测目标确定的差值;所述差值为一个待跟踪目标与一个检测目标的距离与所述一个待跟踪目标与所述一个检测目标的权重之和之间的差值;所述第二检测目标为除所述第一检测目标外与所述第m个待跟踪目标确定的所述差值最小的检测目标;所述第二影响值为根据所述第一待跟踪目标与第三检测目标确定的差值;所述第三检测目标为除所述第一检测目标外与所述第一待跟踪目标确定的所述差值最小的检测目标;根据所述第一影响值和所述第二影响值,确定与所述第m个待跟踪目标匹配的检测目标。
- 根据权利要求6所述的方法,其中,所述根据所述第一影响值和所述第二影响值,确定与所述第m个待跟踪目标匹配的检测目标,包括:在所述第一影响值小于所述第二影响值的情况下,对所述第m个待跟踪目标与所述第二检测目标执行所述第四目标操作,确定与所述第m个待跟踪目标匹配的检测目标;在所述第一影响值大于所述第二影响值的情况下,确定所述第m个待跟踪目标与所述第一检测目标匹配。
- 根据权利要求7所述的方法,其中,所述方法还包括:在所述第一影响值大于所述第二影响值的情况下,对所述第一待跟踪目标与所述第三检测目标执行所述第四目标操作,确定与所述第一待跟踪目标匹配的检测目标。
- 根据权利要求7或8所述的方法,其中,所述方法还包括:在所述第一影响值小于所述第二影响值的情况下,根据所述第一影响值更新所述第m个待跟踪目标、所述第一待跟踪目标以及所述第一检测目标的权重值;在所述第一影响值大于所述第二影响值的情况下,根据所述第二影响值更新所述第m个待跟踪目标、所述第一待跟踪目标以及所述第一检测目标的权重值。
- 根据权利要求9所述的方法,其中,所述根据所述第一影响值更新所述第m个待跟踪目标、所述第一待跟踪目标以及所述第一检测目标的权重值,包括:将所述第m个待跟踪目标的权重值增加所述第一影响值,将所述第一待跟踪目标的权重值增加所述第一影响值,将所述第一检测目标的权重值降低 所述第一影响值;所述根据所述第二影响值更新所述第m个待跟踪目标、所述第一待跟踪目标以及所述第一检测目标的权重值,包括:将所述第m个待跟踪目标的权重值增加所述第二影响值,将所述第一待跟踪目标的权重值增加所述第二影响值,将所述第一检测目标的权重值降低所述第二影响值。
- 根据权利要求2-5任一项所述的方法,所述根据所述每个检测目标与所述每个待跟踪目标之间的距离,确定所述匹配关系,包括:确定待跟踪目标列表与检测目标列表;其中,所述待跟踪目标列表包括所述每个待跟踪目标,所述检测目标列表包括所述每个检测目标;对所述待跟踪目标列表与所述检测目标列表中的待跟踪目标与检测目标迭代执行第五目标操作,直至所述待跟踪目标列表中不存在待跟踪目标或者所述检测目标列表中不存在检测目标,根据所述第五目标操作的执行结果确定所述匹配关系;所述第五目标操作包括:确定当前待跟踪目标列表中的每个待跟踪目标与当前检测目标列表中的每个待跟踪目标之间的目标距离;确定所述目标距离中的最小距离,以及所述最小距离对应的第二待跟踪目标和第四检测目标;所述第二待跟踪目标和所述第四检测目标之间的距离为所述最小距离;确定所述第二待跟踪目标与所述第四检测目标的匹配关系;从所述当前待跟踪目标列表中删除所述第二待跟踪目标,从所述当前检测目标列表中删除所述第四检测目标。
- 根据权利要求1-11任一项所述的方法,其中,所述根据所述匹配关系,跟踪所述待跟踪目标,包括:确定第三待跟踪目标;所述第三待跟踪目标中的每个待跟踪目标存在匹配的检测目标;根据与所述第三待跟踪目标匹配的检测目标的关键点的检测位置以及所述第三待跟踪目标的关键点的预测位置,更新所述第三待跟踪目标的关键点的位置。
- 根据权利要求1-12任一项所述的方法,其中,所述根据所述匹配关系,跟踪所述待跟踪目标,包括:确定第五检测目标;所述第五检测目标中的每个检测目标不存在匹配的待跟踪目标;在所述待跟踪目标中增加所述第五检测目标。
- 根据权利要求1-13任一项所述的方法,其中,所述根据所述匹配关系,跟踪所述待跟踪目标,包括:确定第四待跟踪目标以及所述第四待跟踪目标的不匹配次数;所述第四待跟踪目标中的每个待跟踪目标不存在匹配的检测目标;所述不匹配次数为所述待跟踪目标连续不存在匹配的检测目标的次数;在所述不匹配次数大于预设跟踪阈值的情况下,在所述待跟踪目标中删除所述第四待跟踪目标。
- 根据权利要求1-14任一项所述的方法,其中,所述根据所述待跟踪目标的关键点在第二时刻的位置,预测所述待跟踪目标的关键点在所述第一时刻的预测位置,包括:确定所述待跟踪目标的关键点的运动状态;根据所述待跟踪目标的关键点在第二时刻的位置以及运动状态,预测所述待跟踪目标的关键点在所述第一时刻的预测位置。
- 一种目标跟踪装置,包括:获取单元,被配置为获取第一时刻的待检测图像;处理单元,被配置为确定所述待检测图像中检测目标的关键点的检测位置;所述获取单元,还被配置为获取待跟踪目标的关键点在第二时刻的位置;所述第二时刻为所述第一时刻之前的时刻;所述处理单元,还被配置为根据所述待跟踪目标的关键点在第二时刻的位置,预测所述待跟踪目标的关键点在所述第一时刻的预测位置;所述处理单元,还被配置为根据所述检测位置和所述预测位置,确定所述检测目标和所述待跟踪目标之间的匹配关系;所述匹配关系用于匹配所述检测目标和所述待跟踪目标中相同的目标;所述处理单元,还被配置为根据所述匹配关系,跟踪所述待跟踪目标。
- 一种目标跟踪装置,包括:处理器和存储器;所述存储器用于存储计算机程序或指令,所述处理器用于运行计算机程序或指令,以实现如权利要求1-15任一项中所述的目标跟踪方法。
- 一种目标跟踪系统,包括目标跟踪装置和图像采集装置,所述图像采集装置用于采集待检测图像,所述目标跟踪装置用于执行如权利要求1-15任一项中所述的目标跟踪方法。
- 一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存 储介质中存储有指令,当计算机执行所述指令时,所述计算机执行上述权利要求1-15任一项中所述的目标跟踪方法。
- 一种计算机程序产品,所述计算机程序产品包括计算机程序指令,在计算机上执行所述计算机程序指令时,所述计算机程序指令使计算机执行如权利要求1-15任一项中所述的目标跟踪方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/083887 WO2023184197A1 (zh) | 2022-03-30 | 2022-03-30 | 目标跟踪方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117178292A true CN117178292A (zh) | 2023-12-05 |
Family
ID=88198390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280000596.8A Pending CN117178292A (zh) | 2022-03-30 | 2022-03-30 | 目标跟踪方法、装置、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117178292A (zh) |
WO (1) | WO2023184197A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118592943A (zh) * | 2024-08-07 | 2024-09-06 | 宁波星巡智能科技有限公司 | 基于关键点序列分析的人体跌倒检测方法、装置及设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5498454B2 (ja) * | 2011-09-15 | 2014-05-21 | 株式会社東芝 | 追跡装置、追跡方法およびプログラム |
CN105374050B (zh) * | 2015-10-12 | 2019-10-18 | 浙江宇视科技有限公司 | 运动目标跟踪恢复方法及装置 |
CN107122751B (zh) * | 2017-05-03 | 2020-12-29 | 电子科技大学 | 一种基于人脸对齐的人脸跟踪和人脸图像捕获方法 |
CN109118523B (zh) * | 2018-09-20 | 2022-04-22 | 电子科技大学 | 一种基于yolo的图像目标跟踪方法 |
CN109829436B (zh) * | 2019-02-02 | 2022-05-13 | 福州大学 | 基于深度表观特征和自适应聚合网络的多人脸跟踪方法 |
CN110276783B (zh) * | 2019-04-23 | 2021-01-08 | 上海高重信息科技有限公司 | 一种多目标跟踪方法、装置及计算机系统 |
CN110378264B (zh) * | 2019-07-08 | 2023-04-18 | Oppo广东移动通信有限公司 | 目标跟踪方法及装置 |
CN111563490B (zh) * | 2020-07-14 | 2020-11-03 | 北京搜狐新媒体信息技术有限公司 | 一种人脸关键点跟踪方法、装置及电子设备 |
CN112883819B (zh) * | 2021-01-26 | 2023-12-08 | 恒睿(重庆)人工智能技术研究院有限公司 | 多目标跟踪方法、装置、系统及计算机可读存储介质 |
-
2022
- 2022-03-30 CN CN202280000596.8A patent/CN117178292A/zh active Pending
- 2022-03-30 WO PCT/CN2022/083887 patent/WO2023184197A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023184197A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113269098B (zh) | 一种基于无人机的多目标跟踪定位与运动状态估计方法 | |
WO2020151166A1 (zh) | 多目标跟踪方法、装置、计算机装置及可读存储介质 | |
Fu et al. | Robust real-time vision-based aircraft tracking from unmanned aerial vehicles | |
CN112183153A (zh) | 一种基于视频分析的对象行为检测方法及装置 | |
CN107133970B (zh) | 基于运动信息的在线多目标跟踪方法及装置 | |
KR101917354B1 (ko) | 모바일 환경 객체 신뢰도 평가와 학습을 통한 융합 객체 추적 시스템 및 방법 | |
Muresan et al. | Multi-object tracking of 3D cuboids using aggregated features | |
CN110046677B (zh) | 数据预处理方法、地图构建方法、回环检测方法及系统 | |
Baig et al. | A robust motion detection technique for dynamic environment monitoring: A framework for grid-based monitoring of the dynamic environment | |
CN111354022A (zh) | 基于核相关滤波的目标跟踪方法及系统 | |
CN114924287A (zh) | 地图构建方法、设备与介质 | |
CN116109047A (zh) | 一种基于三维智能检测的智能调度方法 | |
CN114926859A (zh) | 一种结合头部跟踪的密集场景下行人多目标跟踪方法 | |
CN117178292A (zh) | 目标跟踪方法、装置、系统及存储介质 | |
CN115690545B (zh) | 训练目标跟踪模型和目标跟踪的方法和装置 | |
Lu et al. | Hybrid deep learning based moving object detection via motion prediction | |
Munz et al. | A sensor independent probabilistic fusion system for driver assistance systems | |
CN107742295A (zh) | 一种基于视觉的立方星对接重构方法 | |
Zhang et al. | A reliable unmanned aerial vehicle multi-target tracking system with global motion compensation for monitoring Procapra przewalskii | |
Tsapparellas et al. | Vision-based runway detection and landing for unmanned aerial vehicle enhanced autonomy | |
CN114782484A (zh) | 一种针对检测丢失、关联失败的多目标跟踪方法及系统 | |
Dichgans et al. | Robust Vehicle Tracking with Monocular Vision using Convolutional Neuronal Networks | |
CN113052871A (zh) | 一种基于智能选择策略的目标检测与自动跟踪算法 | |
CN114202701A (zh) | 一种基于物体语义的无人机视觉重定位方法 | |
Danescu et al. | Partid–individual objects tracking in occupancy grids using particle identities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |