CN117011558A - 用于跟踪对象的方法和装置 - Google Patents

用于跟踪对象的方法和装置 Download PDF

Info

Publication number
CN117011558A
CN117011558A CN202211546005.5A CN202211546005A CN117011558A CN 117011558 A CN117011558 A CN 117011558A CN 202211546005 A CN202211546005 A CN 202211546005A CN 117011558 A CN117011558 A CN 117011558A
Authority
CN
China
Prior art keywords
template
image frame
object tracking
tracking
determining
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
Application number
CN202211546005.5A
Other languages
English (en)
Inventor
李曈昱
李曙炯
朴昶范
俞炳仁
李贤廷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020220073261A external-priority patent/KR20230153206A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN117011558A publication Critical patent/CN117011558A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

一种用于跟踪对象的处理器实现的方法,包括:使用第一模板对第一序列组中的第一图像帧执行前向对象跟踪;确定用于第二序列组中的第二图像帧的第二模板的模板候选;使用模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定模板候选的置信度;基于模板候选的置信度来确定第二模板;以及使用第二模板对第二图像帧执行前向对象跟踪。

Description

用于跟踪对象的方法和装置
相关申请的交叉引用
本申请要求于在2022年4月28日向韩国知识产权局提交的韩国专利申请No.10-2022-0052608的优先权,并要求于在2022年6月16日向韩国知识产权局提交的韩国专利申请No.10-2022-0073261的优先权,其全部公开内容通过引用并入本文以用于所有目的。
技术领域
以下描述涉及用于跟踪对象的方法和装置。
背景技术
识别过程的技术自动化可以使用例如由处理器实现的神经网络模型作为特殊计算结构来实现,其可以在经过大量训练后提供输入模式和输出模式之间的计算直观映射。生成这种映射的训练能力可以被称为神经网络的学习能力。此外,这种专门的、经过特别训练的神经网络由于经过专门训练,可以具有允许网络针对未训练网络的输入模式生成相对准确的输出的通用能力。
发明内容
提供本发明内容以用简化形式介绍对下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在帮助确定所请求保护的主题的范围。
在一个总体方面,一种用于跟踪对象的处理器实现的方法包括:使用第一模板对第一序列组中的第一图像帧执行前向对象跟踪;确定用于第二序列组中的第二图像帧的第二模板的模板候选;使用模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定模板候选的置信度;基于模板候选的置信度来确定第二模板;以及使用第二模板对第二图像帧执行前向对象跟踪。
可以按照从第一图像帧的初始图像帧到第一图像帧的最后图像帧的顺序,对第一图像帧执行前向对象跟踪,并且可以按照从第一图像帧的最后图像帧到第一图像帧的初始图像帧的顺序,对第一图像帧执行后向对象跟踪。
可以使用相同的对象跟踪模型对第一图像帧执行前向对象跟踪和后向对象跟踪。
第一跟踪结果可以包括根据对第一图像帧执行的前向对象跟踪的第一图像帧的第一边界框,并且第二跟踪结果可以包括根据对第一图像帧执行的后向对象跟踪的第一图像帧的第二边界框。
可以基于第一得分、第二得分和第三得分中的任意一个、或任意两个或更多个中的任意组合来确定模板候选的置信度,其中,第一得分根据每个相应图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第二得分根据初始图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第三得分根据每个图像帧的第一边界框和第二边界框的相应对之中重叠程度超过预设水平的相应对的数量。
模板候选的置信度可以基于以下项之间的相似度来确定:第一跟踪结果的与第一图像帧的图像帧相对应的部分;以及第二跟踪结果的与图像帧相对应的部分。
确定第二模板可以包括:响应于模板候选的置信度超过预设阈值,确定模板候选作为第二模板;以及响应于模板候选的置信度小于或等于预设阈值,确定第一模板作为第二模板。
对象跟踪方法还可以包括:确定第二模板的第二模板候选;使用第二模板候选对第一图像帧执行后向对象跟踪;以及使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过使用第二模板候选对第一图像帧执行后向对象跟踪所确定的第三跟踪结果进行比较的结果,确定第二模板候选的置信度;并且确定第二模板可以包括:基于模板候选的置信度和第二模板候选的置信度来确定第二模板。
确定第二模板候选、使用第二模板候选对第一图像帧执行后向对象跟踪、以及确定第二模板候选的置信度可以与确定模板候选、使用模板候选对第一图像帧执行后向对象跟踪、以及确定模板候选的置信度并行执行。
对象跟踪方法还可以包括:在用于确定第二模板的时间内,对在第一序列组和第二序列组之间的中间序列组中的中间图像帧执行前向对象跟踪。
确定模板候选可以包括:基于第一跟踪结果来确定模板候选。
在另一个总体方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,当由一个或多个处理器执行时,该指令将一个或多个处理器配置为执行在此描述的操作和方法中的任何一个、任何组合或全部。
在另一个总体方面,一种用于跟踪对象的装置包括:处理器,被配置为:使用第一模板对第一序列组中的第一图像帧执行前向对象跟踪;确定用于第二序列组中的第二图像帧的第二模板的模板候选;使用模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定模板候选的置信度;基于模板候选的置信度来确定第二模板;以及使用第二模板对第二图像帧执行前向对象跟踪。
可以按照从第一图像帧的初始图像帧到第一图像帧的最后图像帧的顺序,对第一图像帧执行前向对象跟踪,并且可以按照从第一图像帧的最后图像帧到第一图像帧的初始图像帧的顺序,对第一图像帧执行后向对象跟踪。
第一跟踪结果可以包括根据对第一图像帧执行的前向对象跟踪的第一图像帧的第一边界框,并且第二跟踪结果可以包括根据对第一图像帧执行的后向对象跟踪的第一图像帧的第二边界框。
可以基于第一得分、第二得分和第三得分中的任意一个、或任意两个或更多个中的任意组合来确定模板候选的置信度,其中,第一得分根据每个相应图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第二得分根据初始图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第三得分根据每个图像帧的第一边界框和第二边界框的相应对之中重叠程度超过预设水平的相应对的数量。
处理器可以被配置为:确定第二模板的第二模板候选;使用第二模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过使用第二模板候选对第一图像帧执行后向对象跟踪所确定的第三跟踪结果进行比较的结果,确定第二模板候选的置信度;并且,对于第二模板的确定,基于模板候选的置信度和第二模板候选的置信度来确定第二模板。
确定第二模板候选、使用第二模板候选对第一图像帧执行后向对象跟踪、以及确定第二模板候选的置信度可以与确定模板候选、使用模板候选对第一图像帧执行后向对象跟踪、以及确定模板候选的置信度并行执行。
处理器可以被配置为:在用于确定第二模板的时间内,对在第一序列组和第二序列组之间的中间序列组中的中间图像帧执行前向对象跟踪。
在另一个总体方面,一种电子设备包括:相机,被配置为生成包括多个图像帧的输入图像;以及处理器,被配置为:使用第一模板对输入图像的第一序列组中的第一图像帧执行前向对象跟踪;确定用于输入图像的第二序列组中的第二图像帧的第二模板的模板候选;使用模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定模板候选的置信度;基于模板候选的置信度来确定第二模板;以及使用第二模板对第二图像帧执行前向对象跟踪。
其他特征和方面将通过以下详细描述、附图和权利要求变得清楚明白。
附图说明
图1示出了用于跟踪对象的装置的配置和操作的示例。
图2示出了导出相似度得分的操作的示例。
图3示出了更新模板的操作的示例。
图4示出了通过前向对象跟踪和后向对象跟踪所获得的跟踪结果的示例。
图5示出了后向对象跟踪的验证能力的示例。
图6示出了前向对象跟踪和后向对象跟踪的过程的示例。
图7示出了基于多个模板候选来更新模板的操作的示例。
图8A和图8B示出了更新模板的操作的实施示例。
图9示出了用于跟踪对象的方法的示例。
图10示出了用于跟踪对象的装置的示例。
图11示出了电子设备的示例。
在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记应被理解为指代相同的元件、特征以及结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中元件的相对尺寸、比例和描绘。
具体实施方式
提供以下详细描述以帮助读者获得对本文描述的方法、设备和/或系统的全面理解。然而,在理解了本申请的公开之后,本文中描述的方法、设备和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中描述的操作顺序仅仅是示例,并且不限于在本文中阐述的那些操作顺序,而是可以改变,除了必须以一定顺序进行的操作之外。此外,为了更清楚和简明,可以省略对在理解本申请的公开内容之后已知的特征的描述。
虽然本文中可以使用诸如“第一”、“第二”、“第三”之类的术语来描述各构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不应被这些术语(例如,“第一”、“第二”、“第三”)限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分加以区分。因此,在不脱离示例的教导的情况下,本文中描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。
贯穿说明书,当诸如层、区域或基板之类的元件被描述为在另一元件“上”、“连接到”或“耦接到”另一元件时,它可以直接在该另一元件“上”、“连接到”或“耦接到”该另一元件,或者可以存在介于其间的一个或多个其他元件。相反,当元件被描述为“直接在另一元件上”、“直接连接到”或“直接耦接到”另一元件时,可以不存在介于其间的其他元件。同样地,也应以相同的方式理解例如“在...之间”和“直接在......之间”以及“与......相邻”和“与......紧邻”的类似表述。
单数形式“一”、“一个”和“所述(该)”意在还包括复数形式,除非上下文明确地给出相反的指示。还将理解,当在本文中使用术语“包含”和/或“包括”时,表示存在所陈述的特征、整数、步骤、操作、元件、组件和/或其组合,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合。如本文中所使用的,术语“和/或”包括关联列出的项目中的任意一个和任意两个或更多个的任意组合。在本文中,关于示例或实施例(例如,关于示例或实施例可以包括或实现什么)的术语“可以”的使用意味着存在一个或多个示例或实施例,其中这种特征是被包括或实现的,但是所有示例和实施例不限于此。
除非另外定义,否则这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员基于对本申请的公开的理解通常所理解的含义相同的含义。诸如在常用词典中定义的术语应被解释为其含义与在相关技术和/或本申请的上下文中的含义相同,而不应将被解释为理想的或过于正式的含义,除非本文明确如此定义。
在下文中,将参考附图来详细描述示例。当参考附图描述示例实施例时,相同的附图标记表示相同的元件,并且将省略与其相关的重复描述。
图1示出了用于跟踪对象的装置(例如,对象跟踪装置)的配置和操作的示例。参考图1,对象跟踪装置100可以基于模板图像101和搜索图像102输出跟踪结果103。模板图像101可以提供关于要跟踪的目标对象的信息。对象跟踪装置100可以使用模板图像101中的目标对象信息来跟踪搜索图像102中的目标对象。跟踪结果103可以指示目标对象在搜索图像102中的位置。例如,跟踪结果103可以用于自动跟踪操作、变焦操作和/或聚焦操作。
根据示例,模板图像101和搜索图像102可以对应于输入图像的多个图像帧。例如,模板图像101可以对应于包括在输入视频文件中的多个图像帧之一,并且搜索图像102可以对应于与模板图像101相对应的图像帧之后(例如,时间上之后的)的一个或多个图像帧。根据另一示例,模板图像101和搜索图像102可以对应于彼此独立的文件。例如,搜索图像102可以对应于包括多个图像帧的输入视频文件,并且模板图像101可以对应于与输入视频文件无关的静止输入图像文件。在任意情况下,模板图像101可以包括目标对象,并且对象跟踪装置100可以通过跟踪搜索图像102中的目标对象来生成跟踪结果103。模板图像101和搜索图像102可以对应于相应图像帧的全部或部分区域。例如,对象跟踪装置100可以在搜索图像102中设置搜索区域以跟踪搜索区域中的目标对象。
对象跟踪装置100可以使用对象跟踪模型110来输出跟踪结果103。对象跟踪模型110可以是或包括基于机器学习来训练或学习的人工智能模型。例如,对象跟踪模型110可以是或包括具有多个层的深度神经网络(DNN)。多个层可以包括输入层、一个或多个隐藏层和输出层。
DNN可以包括全连接网络(FCN)、卷积神经网络(CNN)和递归神经网络(RNN)中的任意一种、或任意两种或更多种的任意组合。例如,包括在神经网络中的层的至少一部分可以对应于CNN,而该层的另一部分可以对应于FCN。在这种情况下,CNN可以被称为卷积层,并且FCN可以被称为全连接层。
在CNN的情况下,输入到每一层的数据可以被称为输入特征图,并且从每一层输出的数据可以被称为输出特征图。输入特征图和输出特征图也可以被称为激活数据。例如,当卷积层对应于输入层时,输入层的输入特征图可以是输入图像。在该示例中,可以通过输入特征图和权重核之间的卷积运算来生成输出特征图。可以以张量为单位对输入特征图、输出特征图和权重核进行区分。
在基于深度学习对神经网络进行训练之后,神经网络可以通过对彼此呈非线性关系的输入数据和输出数据进行映射来执行适合于训练目的的推理。深度学习是一种用于解决诸如识别大数据集合中的图像或语音数据之类的问题的机器学习技术。深度学习可以被解释为一种优化问题解决过程,其在使用准备好的训练数据训练神经网络时找到能量最小化的点。
通过有监督或无监督的深度学习,可以获得(例如,生成或确定)与模型相对应的神经网络的结构或权重,并且输入数据和输出数据可以通过该权重彼此映射。当神经网络的宽度和深度足够大时,神经网络可以具有足够的能力来实现预定功能。神经网络可以通过适当的训练过程学习足够大量的训练数据来实现优化的性能。
在下文中,神经网络可以被表示为“预先”训练。在这里,“预先”训练意味着在神经网络“启动”之前接受训练。神经网络“启动”意味着神经网络已准备好进行推理。例如,“启动”的神经网络可以包括:将神经网络加载到存储器中,或在神经网络被加载到存储器中之后,将用于推理的输入数据输入到神经网络中。
对象跟踪装置100可以将模板图像101和搜索图像102输入到对象跟踪模型110,并从对象跟踪模型110的输出中获得跟踪结果103。对象跟踪模型110可以被预训练以基于输入的模板图像101和搜索图像102来输出跟踪结果103。
图2示出了导出相似度得分的操作的示例。参考图2,对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以基于特征提取210、相似度计算(例如,确定)220和边界框回归230来执行对象跟踪。可以通过对象跟踪模型(图1的对象跟踪模型110,作为非限制性示例)来执行特征提取210、相似度计算220和边界框回归230中的任意一个、或任意两个或更多个的任意组合。例如,对象跟踪模型可以包括用于执行特征提取210的特征提取网络、用于执行相似度计算220的相似度计算网络、以及用于执行边界框回归230的边界框回归网络中的任意一种、或任意两种或更多种的任意组合。特征提取网络、相似度计算网络和边界框回归网络可以各自对应于神经网络。作为示例,对象跟踪模型可以包括孪生(Siamese)网络。
对象跟踪装置可以从模板图像201中提取模板特征图211,并且从搜索区域203中提取搜索特征图212。对象跟踪装置可以使用共享参数的对象跟踪模型和/或特征提取模型来提取模板特征图211和搜索特征图212。如由图2的示例的图示所示,模板图像201可以对应于输入图像的初始图像帧的部分区域,并且搜索区域203可以对应于输入图像的第n图像帧的部分区域。“n”可以大于“1”。通过对象跟踪模型准备模板图像201的模板特征图211的操作可以是初始化对象跟踪模型的操作。
响应于在第一图像帧中确定的目标对象,可以指定(例如,生成或确定)与目标对象相对应的目标框202。例如,可以根据选择目标对象的用户输入来确定目标对象。目标框202可以是一种边界框,并且可以通过框位置信息(例如,x坐标和y坐标)和框尺寸信息(例如,宽度和高度)来指定。框位置信息和框尺寸信息可以被统称为框信息。可以基于目标框202的位置和尺寸来确定模板图像201。可以基于模板图像201来确定搜索区域203。可以基于模板图像201的尺寸来确定搜索区域203的尺寸。例如,搜索区域203的尺寸可以被确定为大于模板图像201的尺寸。可以基于前一图像帧的目标框的位置来确定在第n图像帧中的搜索区域203的位置。例如,响应于从第(n-1)图像帧中检测到目标框,可以基于该目标框的位置来确定第n图像帧的搜索区域203。
对象跟踪装置可以通过比较模板特征图211和搜索特征图212来计算(例如,确定)相似度。可以通过相似度计算网络来执行相似度计算220。相似度计算网络可以通过互相关层导出模板特征图211和搜索特征图212之间的互相关。计算结果可以指示搜索区域203中的与关于目标对象和/或模板特征图211的信息相对应的位置。例如,计算结果可以在与搜索区域203相对应的搜索空间221上显示对应位置222和/或对应位置222的得分。
对象跟踪装置可以使用在与搜索区域203相对应的搜索空间231中的对应位置222的边界框232来执行回归分析。在非限制性示例中,搜索空间231可以是搜索空间221。对象跟踪装置可以通过回归分析来在搜索区域203中确定与目标对象相对应的目标框204,并基于目标框204的框信息来生成跟踪结果。
图3示出了更新模板的操作的示例。参考图3,可以将搜索图像300的多个图像帧划分为包括第一序列组301和第二序列组302的多个序列组。每个序列组可以包括多个图像帧。搜索图像中的目标对象的外观变化可能会导致模板图像中的目标对象的外观与搜索图像中的目标对象的外观之间的差异,从而可能会降低典型对象跟踪装置的对象跟踪性能。然而,当模板图像中的目标对象的外观与搜索图像中的目标对象的外观之间发生差异时,一个或多个实施例的对象跟踪装置可以通过模板更新将在搜索图像中出现的目标对象的外观变化应用到模板来防止对象跟踪的性能下降。
例如,在第一序列组301的第一图像帧中出现的目标对象的外观与在第二序列组302的第二图像帧中出现的目标对象的外观之间可能会出现差异,并且可以将用于第一序列组301中的对象跟踪的第一模板311更新为用于第二序列组302中的对象跟踪的第二模板321。例如,可以从第一序列组301的初始图像帧中确定第一模板311,并且可以从第一序列组301的最后图像帧中确定第二模板321。
典型的对象跟踪装置通过用不合适的图像来更新模板,可能会显著降低对象跟踪的性能。例如,作为模板更新的结果,替换现有模板图像的新模板图像可能指示目标对象以外的不正确对象,或新模板图像可能具有诸如模糊和/或遮挡之类的问题。然而,一个或多个实施例的对象跟踪装置可以通过经由适用性评估来验证新模板、并根据通过验证的新模板来执行模板更新,来防止由于不合适的模板图像导致的对象跟踪的性能劣化。例如,可以选择第二模板321的模板候选312,并且可以通过验证过程验证模板候选312来确定第二模板。
对象跟踪的性能可以取决于如何评估模板的适用性。典型的对象跟踪装置通过基于新模板和现有模板之间的相似性来简单地评估新模板的适用性,可能无法正确地反映出新模板和/或现有模板中出现的外观变化,从而导致性能较差。例如,与现有模板相比,当捕获到新模板中的目标对象的照度、外观、颜色等的变化时,由于新模板和现有模板之间的差异,新模板的置信度可能被测量为低,即使新模板指示正确的目标对象。
然而,一个或多个实施例的对象跟踪装置可以基于后向对象跟踪来评估模板候选312的适用性。后向对象跟踪不仅可以指示模板候选312中的对象的外观,还可以指示先前帧中的对象的历史。一个或多个实施例的对象跟踪装置可以通过基于后向对象跟踪的对象跟踪来提高跟踪性能。
图4示出了通过前向对象跟踪和后向对象跟踪所获得的跟踪结果的示例。参考图4,对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以使用用于第一序列组401中的第一图像帧的第一模板411对第一图像帧执行前向对象跟踪。可以根据对第一图像帧执行的前向对象跟踪来确定第一跟踪结果Fi。第一跟踪结果Fi可以包括第一图像帧的根据对第一图像帧执行的前向对象跟踪生成的第一边界框。“i”指示帧号。对象跟踪装置可以使用对象跟踪模型跟踪第一图像帧中的与第一模板411相对应的目标对象。
对象跟踪装置可以确定用于第二序列组402中的第二图像帧的第二模板的模板候选412。对象跟踪装置可以基于第一跟踪结果Fi来确定模板候选412。例如,对象跟踪装置可以从在第一跟踪结果Fi的第一边界框之中的最后图像帧的边界框来确定模板候选412。对象跟踪装置可以使用模板候选412对第一序列组401中的第一图像帧执行后向对象跟踪。可以根据对第一图像帧执行的后向对象跟踪来生成第二跟踪结果Bi。对象跟踪装置可以使用对象跟踪模型跟踪第一图像帧中的与模板候选412相对应的目标对象。
后向对象跟踪处理图像帧的顺序可以与前向对象跟踪处理图像帧的顺序相反。例如,可以以第一图像帧的初始图像帧到第一图像帧的最后图像帧的顺序对第一序列组401执行前向对象跟踪,并且可以以第一图像帧的最后图像帧到第一图像帧的初始图像帧的顺序对第一序列组401执行后向对象跟踪。
可以使用相同的对象跟踪模型来执行前向对象跟踪和后向对象跟踪。例如,对象跟踪装置可以用第一模板411初始化对象跟踪模型,并通过将第一图像帧以从初始图像帧到最后图像帧的顺序输入到对象跟踪模型来生成第一跟踪结果Fi。对象跟踪模型的初始化可以包括:通过对象跟踪模型从模板图像中提取模板特征图。对象跟踪装置可以用模板候选412初始化对象跟踪模型,并通过将第一图像帧以从最后图像帧到初始图像帧的顺序输入到对象跟踪模型来生成第二跟踪结果Bi。因此,在执行前向对象跟踪和后向对象跟踪时,对象跟踪模型的参数可以保持相同。
对象跟踪装置可以使用比较第一跟踪结果Fi和第二跟踪结果Bi的结果来确定模板候选412的置信度,并且可以基于模板候选412的置信度来确定第二模板。例如,对象跟踪装置可以基于从第一跟踪结果Fi和第二跟踪结果Bi中获得的相应对中的至少一些之间的重叠程度,来确定模板候选412的置信度。该相应对可以包括具有相同帧号的边界框,该边界框包括来自第一跟踪结果Fi的边界框和来自第二跟踪结果Bi的另一边界框。例如,F1和B1可以形成相应对,并且F2和B2可以形成相应对。在非限制性示例中,可以针对每个相应对来分别确定重叠程度,并且可以基于该重叠程度来确定模板候选412的置信度。对象跟踪装置可以响应于模板候选412的置信度超过预设阈值来确定模板候选412作为第二模板,并且可以响应于模板候选412的置信度小于预设阈值来确定第一模板411作为第二模板。当第一模板411被确定为第二模板时,可以继续使用第一模板411来跟踪第二序列组402中的对象。
图5示出了后向对象跟踪的验证能力的示例。参考图5,第一序列组500可以包括图像帧501、502、503、504、505和506。可以从初始图像帧501设置第一模板510,并且对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以通过执行前向对象跟踪来跟踪图像帧501至506中的与第一模板510相对应的对象。可以从最后图像帧506确定模板候选520。例如,可以将与使用第一模板510的最后图像帧506的跟踪结果相对应的边界框的图像确定为模板候选520。
如图5所示,“A”指示目标对象,而“B”和“C”指示干扰物。干扰物可以是不是目标对象但可能被误认为是目标对象的对象。最后图像帧506的模板候选520可能对应于干扰物B,而不对应于目标对象A。目标对象A可能被干扰物C遮蔽,使得可能形成包围干扰物B的边界框,干扰物B类似于目标对象A。典型的对象跟踪装置可能会通过用模板候选520执行模板更新来降低对象跟踪性能。
一个或多个实施例的对象跟踪装置可以通过执行后向对象跟踪来跟踪图像帧501至506中的与模板候选520相对应的对象。后向对象跟踪可以不仅考虑模板候选520中的对象(干扰物B)的外观,还考虑先前图像帧501至505中的对象的历史,使得模板候选520的适用性评估的准确性可以相比于典型的对象跟踪装置得到改进。参考图5,通过后向对象跟踪获得的跟踪结果可能指示干扰物B而不是目标对象A。例如,基于通过后向对象跟踪获得的跟踪结果,对象跟踪装置可能会确定模板候选520包括干扰物B而不是目标对象A。因此,作为后向对象跟踪的结果,可以丢弃模板候选520,并且可以继续使用第一模板510来跟踪下一个序列组中的对象。
图6示出了前向对象跟踪和后向对象跟踪的过程的示例。参考图6,对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以在操作601中确定当前模板,并且在操作602中用当前模板来初始化对象跟踪模型。例如,可以确定当前模板对应于初始图像模板的目标对象的边界框。
对象跟踪装置可以在操作603中接收第t搜索帧,并且在操作604中执行前向对象跟踪。可以根据前向对象跟踪来确定第t搜索帧的跟踪结果。跟踪结果可以指示与目标对象对应的边界框。在操作605中,对象跟踪装置可以检查是否已经达到模板更新周期。例如,可以预先设置模板更新周期,以每预定帧数更新一次模板。当尚未达到更新周期时(例如,当“t”小于预定帧数时),对象跟踪装置可以使“t”增加,然后再次执行操作603和604。
当已经达到模板更新周期时(例如,当“t”大于或等于预定帧数时),对象跟踪装置可以在操作606中确定下一个模板的模板候选,并在操作607中用该模板候选来初始化对象跟踪模型。操作602中的对象跟踪模型和操作607中的对象跟踪模型可以用不同的模板初始化,并且使用不同的模板特征图,但是这些模型可以共享网络参数。换言之,操作602中的对象跟踪模型和操作607中的对象跟踪模型可以是使用不同模板特征图的相同模型。对象跟踪装置可以在操作608中执行后向对象跟踪。可以对执行了前向对象跟踪的图像帧沿后向方向执行后向对象跟踪。
对象跟踪装置可以在操作609中确定模板候选(例如,在操作606中确定的模板候选)的置信度。对象跟踪装置可以确定通过前向对象跟踪(例如,操作604)获得的第一跟踪结果和通过后向对象跟踪(例如,操作608)获得的第二跟踪结果。对象跟踪装置可以基于从第一跟踪结果和第二跟踪结果中获得的相应对中的至少一些之间的重叠程度来确定模板候选的置信度。该相应对可以包括具有相同帧号的边界框,其一个来自第一跟踪结果,而另一个来自第二跟踪结果。
来自第一跟踪结果的边界框可以是第一边界框,并且来自第二跟踪结果的边界框可以是第二边界框。对象跟踪装置可以基于第一得分、第二得分和第三得分中的任意一个、或任意两个或更多个中的任意组合来确定模板候选的置信度,其中,第一得分根据每个相应图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第二得分根据初始图像帧中的第一边界框和第二边界框的相应对之间的重叠程度,第三得分根据每个相应图像帧的第一边界框和第二边界框的相应对之中重叠程度超过预设水平的相应对的数量。例如,对象跟踪装置可以基于上述得分中的至少一些得分的平均值或加权平均值来确定置信度。
例如,第一得分可以由下面的等式1表示。
等式1:
在等式1中,得分1(score 1)表示第一得分,N表示图像帧的数量(例如,包括在序列组中的图像帧的数量),Bi表示通过后向对象跟踪获得的跟踪结果,Fi表示通过前向对象跟踪获得的跟踪结果,并且IoU(Bi,Fi)表示Bi和Fi之间的重叠程度。
例如,第二得分可以由下面的等式2表示。
等式2:
Score2=IoU(B0,F0)
在等式2中,得分2(score 2)表示第二得分,B0表示通过对初始图像帧执行后向对象跟踪所获得的跟踪结果,并且F0表示通过对初始图像帧执行前向对象跟踪所获得的跟踪结果。
例如,第三得分可以由下面的等式3表示。
等式3:
在等式3中,得分3(score 3)表示第三得分,并且τ表示重叠程度的阈值。
对象跟踪装置可以在操作610中比较置信度和阈值τ。响应于置信度大于阈值τ,对象跟踪装置可以确定模板候选(例如,在操作606中确定的模板候选)是可靠的,并且可以用该模板候选来执行模板更新。响应于置信度小于或等于阈值τ,对象跟踪装置可以确定模板候选是不可靠的,可以丢弃该模板候选,并且可以在下一个序列组中继续使用现有模板(例如,在操作601中确定的模板)。
图7示出了基于多个模板候选来更新模板的操作的示例。参考图7,在操作701中,对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以确定多个模板候选。可以将与当前模板具有高相似度的多个对象确定为多个模板候选。例如,可以将图像帧中与当前模板具有高相似度的预定数量的对象按顺序选择为多个模板候选。图7示出了对象A、对象B和对象C是多个模板候选的示例。围绕被选择为多个模板候选的对象中的每个的边界框可以对应于模板候选。
对象跟踪装置可以在操作702中执行后向对象跟踪。对象跟踪装置可以用多个模板候选中的每一个模板候选来初始化对象跟踪模型,并使用对象跟踪模型对图像帧执行后向对象跟踪。结果,可以导出与每个模板候选相对应的后向对象跟踪的跟踪结果。针对每个模板候选的后向对象跟踪可以并行执行。在这种情况下,可以用每个模板候选来初始化共享参数的多个对象跟踪模型。
在操作703中,对象跟踪装置可以从多个模板候选之中选择最佳模板候选。对象跟踪装置可以确定与多个模板候选的每个模板候选的跟踪结果相对应的置信度,并从多个模板候选之中选择具有最高置信度的模板候选。对象跟踪装置可以用所选择的最佳模板候选来执行模板更新。由于可以通过多个模板候选来综合考虑与目标对象相似的对象的历史,因此对模板进行适当更新的可能性更大。
图8A和图8B示出了更新模板的操作的实施示例。参考图8A,对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)可以使用第一模板811对第一序列组801中的第一图像帧执行前向对象跟踪。对象跟踪装置可以基于前向对象跟踪的跟踪结果来确定模板候选812。对象跟踪装置可以使用模板候选812对第一序列组801中的第一图像帧执行后向对象跟踪。
对象跟踪装置可以基于前向对象跟踪的跟踪结果和后向对象跟踪的跟踪结果来评估模板候选812的置信度,并基于模板候选812的置信度将第一模板811更新为第二模板821。例如,响应于模板候选812的置信度大于阈值,对象跟踪装置可以确定模板候选812作为第二模板821,并且响应于模板候选812的置信度小于阈值,对象跟踪装置可以确定第一模板811作为第二模板821。对象跟踪装置可以使用第二模板821对第二序列组802中的第二图像帧执行前向对象跟踪。
在图8A中,t1表示开始后向对象跟踪的时间,并且t2表示完成模板更新的时间。在t1和t2之间,可以执行后向对象跟踪、模板候选812的置信度评估、以及模板更新。对象跟踪装置可以在t1和t2之间等待新模板(第二模板821)而不执行前向对象跟踪,并且在t2之后,对第二图像帧执行前向对象跟踪。例如,对象跟踪装置可以响应于确定了第二模板821来对第二图像帧执行前向对象跟踪。在对第一图像帧执行前向对象跟踪的时间和对第二图像帧执行前向对象跟踪的时间之间,可能会发生与t1和t2之间的时间段相对应的时间延迟。
参考图8B,对象跟踪装置可以使用第一模板815对第一序列组805中的第一图像帧执行前向对象跟踪。对象跟踪装置可以基于前向对象跟踪的跟踪结果来确定模板候选816。对象跟踪装置可以使用模板候选816对第一序列组805中的第一图像帧执行后向对象跟踪。对象跟踪装置可以基于前向对象跟踪的跟踪结果和后向对象跟踪的跟踪结果来评估模板候选816的置信度,并基于模板候选816的置信度将第一模板815更新为第二模板825。
在图8B中,t1表示开始后向对象跟踪的时间,并且t2表示完成模板更新的时间。在t1和t2之间,可以执行后向对象跟踪、模板候选812的置信度评估、以及模板更新。对象跟踪装置可以使用现有模板(第一模板815)而不是等待新模板(第二模板825)来对第二序列组806中的第二图像帧执行前向对象跟踪。响应于在t2处完成模板的更新,对象跟踪装置可以在t2之后对第三序列组807中的第三图像帧执行前向对象跟踪。在执行模板更新的同时,暂时使用现有模板(第一模板815)继续执行前向对象跟踪可以防止与t1和t2之间的时间段相对应的时间延迟。暂时应用现有模板(第一模板815)的序列组(例如,第二序列组806)可以是中间序列组,并且该中间序列组中的图像帧可以是中间图像帧。
图9示出了用于跟踪对象的方法(例如,对象跟踪方法)的示例。将在下文参考图9描述的操作910至960可以顺序地或非顺序地执行。例如,可以改变操作910至960的顺序,和/或可以并行或同时执行操作910至960中的至少两个。此外,在不脱离所示示例的精神和范围的情况下,可以省略操作910至960中的一个或多个。操作910至960可以由对象跟踪装置(图1的对象跟踪装置100,作为非限制性示例)的一个或多个组件执行。
参考图9,对象跟踪方法900可以包括:操作910,使用用于第一序列组中的第一图像帧的第一模板对第一图像帧执行前向对象跟踪;操作920,确定用于第二序列组中的第二图像帧的第二模板的模板候选;操作930,使用模板候选对第一图像帧执行后向对象跟踪;操作940,使用将通过对第一图像帧执行前向对象跟踪所获得的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所获得的第二跟踪结果进行比较的结果,确定模板候选的置信度;操作950,基于模板候选的置信度来确定第二模板;以及操作960,使用第二模板对第二图像帧执行前向对象跟踪。
可以按照第一图像帧的初始图像帧到第一图像帧的最后图像帧的顺序对第一图像帧执行前向对象跟踪。可以按照第一图像帧的最后图像帧到第一图像帧的初始图像帧的顺序对第一图像帧执行后向对象跟踪。
可以使用相同的对象跟踪模型对第一图像帧执行前向对象跟踪和后向对象跟踪。
第一跟踪结果可以包括根据对第一图像帧执行的前向对象跟踪的第一图像帧的第一边界框,并且第二跟踪结果可以包括根据对第一图像帧执行的后向对象跟踪的第一图像帧的第二边界框。
可以基于第一得分、第二得分和第三得分中的任意一个、或任意两个或更多个中的任意组合来确定模板候选的置信度,其中,第一得分根据每个相应图像帧的第一边界框和第二边界框的相应对之间的重叠程度,第二得分根据初始图像帧中的第一边界框和第二边界框的相应对之间的重叠程度,第三得分根据每个图像帧的第一边界框和第二边界框的相应对之中重叠程度超过预设水平的相应对的数量。
操作950可以包括响应于模板候选的置信度超过预设阈值来确定模板候选作为第二模板的操作、以及响应于模板候选的置信度小于预设阈值来确定第一模板作为第二模板的操作。
对象跟踪方法900还可以包括以下操作:确定第二模板的第二模板候选;使用第二模板候选对第一图像帧执行后向对象跟踪;以及使用将通过对第一图像帧执行前向对象跟踪所获得的第一跟踪结果和通过使用第二模板候选对第一图像帧执行后向对象跟踪所获得的第三跟踪结果进行比较的结果,确定第二模板候选的置信度。操作950可以包括基于模板候选的置信度和第二模板候选的置信度来确定第二模板的操作。确定第二模板候选、使用第二模板候选对第一图像帧执行后向对象跟踪、以及确定第二模板候选的置信度可以与确定模板候选、使用模板候选对第一图像帧执行后向对象跟踪、以及确定模板候选的置信度并行执行。
对象跟踪方法900还可以包括:在确定第二模板所需的时间内,对在第一序列组和第二序列组之间的中间序列组中的中间图像帧执行前向对象跟踪的操作。
参考图1至图8B、图10和图11提供的描述可以应用于图9的对象跟踪方法。
图10示出了用于跟踪对象的装置(例如,对象跟踪装置)的示例。参考图10,对象跟踪装置1000包括处理器1010(例如,一个或多个处理器)和存储器1020(例如,一个或多个存储器)。作为非限制性示例,对象跟踪装置1000可以是或包括图1的对象跟踪装置100。存储器1020可以连接到处理器1010,并存储由处理器1010可执行的指令、要由处理器1010计算的数据、或由处理器1010处理的数据。存储器1020包括非暂时性计算机可读介质,例如,高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、闪存设备、或其他非易失性固态存储设备)。存储器1020可以是或包括存储指令的非暂时性计算机可读存储介质,当由处理器1010执行该指令时,将处理器1010配置为执行在本文中参考图1至图9和图11描述的操作和方法中的任意一个、任意组合或全部。
处理器1010可以执行指令以执行在本文中参考图1至图9和图11描述的操作和方法中的任意一个、任意组合或全部。参考图9,处理器1010可以执行如下操作:使用用于第一序列组中的第一图像帧的第一模板对第一图像帧执行前向对象跟踪;确定用于第二序列组中的第二图像帧的第二模板的模板候选;使用模板候选对第一图像帧执行后向对象跟踪;使用将通过对第一图像帧执行前向对象跟踪所获得的第一跟踪结果和通过对第一图像帧执行后向对象跟踪所获得的第二跟踪结果进行比较的结果,确定模板候选的置信度;基于模板候选的置信度来确定第二模板;以及使用第二模板对第二图像帧执行前向对象跟踪。
参考图1至图7、图9和图10提供的描述可以应用于对象跟踪装置1000。
图11示出了电子设备的示例。参考图11,电子设备1100可以包括处理器1110(例如,一个或多个处理器)、存储器1120(例如,一个或多个存储器)、相机1130(例如,一个或多个相机)、存储设备1140、输入设备1150、输出设备1160和网络接口1170,并且这些组件可以通过通信总线1180相互通信。例如,电子设备1100可以被实现为诸如移动电话、智能电话、PDA、上网本、平板计算机或膝上型计算机之类的移动设备,诸如智能手表、智能手环或智能眼镜之类的可穿戴设备,诸如台式电脑或服务器之类的计算设备,诸如电视机、智能电视或冰箱之类的家用电器,诸如门锁之类的安全设备,或诸如自动驾驶汽车或智能汽车之类的车辆中的至少一部分。电子设备1100可以是或包括图1的对象跟踪装置100和图10的对象跟踪装置1000中的一者或两者。
处理器1110执行要在电子设备1100中执行的指令或功能。例如,处理器1110可以处理存储在存储器1120或存储设备1140中的指令。处理器1110可以执行在本文中参考图1至图10描述的操作和方法中的任意一个、任意组合或全部。存储器1120可以包括计算机可读存储介质或计算机可读存储设备。存储器1120可以存储要由处理器1110执行的指令,并存储当电子设备1100执行软件和/或应用时的相关信息。存储器1120可以是或包括存储指令的非暂时性计算机可读存储介质,当由处理器1110执行该指令时,将处理器1110配置为执行在本文中参考图1至图10描述的操作和方法中的任意一个、任意组合或全部。
相机1130可以捕获照片和/或视频。例如,相机1130可以生成包括多个图像帧的输入图像。多个图像帧可以包括模板图像和搜索图像中的一者或两者。存储设备1140包括计算机可读存储介质或计算机可读存储设备。存储设备1140可以长时间存储比存储器1120更大量的信息。例如,存储设备1140可以包括磁性硬盘、光盘、闪存、软盘或本领域已知的其他非易失性存储器。
输入设备1150可以以传统方式(例如,通过键盘和鼠标)、以及以新方式(例如,通过触摸、语音和图像)接收来自用户的输入。例如,输入设备1150可以包括键盘、鼠标、触摸屏、麦克风或检测来自用户的输入并将检测到的输入发送到电子设备1100的任何其他设备。输出设备1160可以通过视觉、听觉或触觉通道向用户提供电子设备1100的输出。输出设备1160可以包括例如显示器、触摸屏、扬声器、振动发生器或向用户提供输出的任何其他设备。网络接口1170可以通过有线或无线网络与外部设备通信。
参考图1至图10提供的描述可以应用于电子设备1100。
对象跟踪装置、处理器、存储器、电子设备、相机、存储设备、输入设备、输出设备、网络接口、通信总线、对象跟踪装置100、对象跟踪装置1000、处理器1010、存储器1020、电子设备1100、处理器1110、存储器1120、相机1130、存储设备1140、输入设备1150、输出设备1160、网络接口1170、通信总线1180、以及在本文中关于图1-图11描述的其他装置、单元、模块、设备、和组件由硬件组件实现或代表硬件组件。在适当的情况下可以用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请中所描述的操作的任何其他电子组件。在其他示例中,用于执行本申请中所描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括(或连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(OS)和在OS上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本申请中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,所述处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理、和多指令多数据(MIMD)多处理。
执行本申请描述的操作的图1至图11中示出的方法由计算硬件执行,例如,由一个或多个处理器或计算机执行,其中计算硬件如上所述地实现为执行指令或软件以执行本申请中所描述的由这些方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可以被编写为计算机程序、代码段、指令或其任何组合,用于单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作从而执行由上述硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级的代码。可以基于附图中所示出的框图和流程图以及说明书中的对应的描述(其公开了用于执行由硬件组件执行的操作和如上所述的方法的算法),使用任何编程语言来编写指令或软件。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关数据、数据文件和数据结构,并且向一个或多个处理器或计算机提供指令或软件以及任何相关数据、数据文件和数据结构,使得一个或多个处理器或计算机可以执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。
尽管本公开包括特定示例,但是在理解了本申请的公开内容之后将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。因此,本公开的范围不是由详细描述来限定,而是由权利要求及其等同物来限定,并且在权利要求及其等同物的范围内的所有变化都被解释为包括在本公开中。

Claims (20)

1.一种用于跟踪对象的处理器实现的方法,所述方法包括:
使用第一模板对第一序列组中的第一图像帧执行前向对象跟踪;
确定用于第二序列组中的第二图像帧的第二模板的模板候选;
使用所述模板候选对所述第一图像帧执行后向对象跟踪;
使用将通过对所述第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对所述第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定所述模板候选的置信度;
基于所述模板候选的置信度来确定所述第二模板;以及
使用所述第二模板对所述第二图像帧执行前向对象跟踪。
2.根据权利要求1所述的方法,其中,
按照从所述第一图像帧的初始图像帧到所述第一图像帧的最后图像帧的顺序,对所述第一图像帧执行前向对象跟踪,并且
按照从所述第一图像帧的所述最后图像帧到所述第一图像帧的所述初始图像帧的顺序,对所述第一图像帧执行后向对象跟踪。
3.根据权利要求1所述的方法,其中,使用相同的对象跟踪模型对所述第一图像帧执行前向对象跟踪和后向对象跟踪。
4.根据权利要求1所述的方法,其中,
所述第一跟踪结果包括:根据对所述第一图像帧执行的前向对象跟踪的所述第一图像帧的第一边界框,并且
所述第二跟踪结果包括:根据对所述第一图像帧执行的后向对象跟踪的所述第一图像帧的第二边界框。
5.根据权利要求4所述的方法,其中,所述模板候选的置信度是基于以下项中的任意一种、或任意两种或更多种的任意组合来确定的:
根据每个相应图像帧的所述第一边界框和所述第二边界框的相应对之间的重叠程度的第一得分,
根据初始图像帧的所述第一边界框和所述第二边界框的相应对之间的重叠程度的第二得分,以及
根据每个图像帧的所述第一边界框和所述第二边界框的相应对之中重叠程度超过预设水平的相应对的数量的第三得分。
6.根据权利要求1所述的方法,其中,所述模板候选的置信度是基于以下项之间的相似度来确定的:
所述第一跟踪结果的与所述第一图像帧的图像帧相对应的部分;以及
所述第二跟踪结果的与所述图像帧相对应的部分。
7.根据权利要求1所述的方法,其中,确定所述第二模板包括:
响应于所述模板候选的置信度超过预设阈值,确定所述模板候选作为所述第二模板;以及
响应于所述模板候选的置信度小于或等于所述预设阈值,确定所述第一模板作为所述第二模板。
8.根据权利要求1所述的方法,还包括:
确定所述第二模板的第二模板候选;
使用所述第二模板候选对所述第一图像帧执行后向对象跟踪;以及
使用将通过对所述第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过使用所述第二模板候选对所述第一图像帧执行后向对象跟踪所确定的第三跟踪结果进行比较的结果,确定所述第二模板候选的置信度;
其中确定所述第二模板包括:基于所述模板候选的置信度和所述第二模板候选的置信度来确定所述第二模板。
9.根据权利要求8所述的方法,其中,确定所述第二模板候选、使用所述第二模板候选对所述第一图像帧执行后向对象跟踪、以及确定所述第二模板候选的置信度,与确定所述模板候选、使用所述模板候选对所述第一图像帧执行后向对象跟踪、以及确定所述模板候选的置信度是并行执行的。
10.根据权利要求1所述的方法,还包括:在用于确定所述第二模板的时间内,对在所述第一序列组和所述第二序列组之间的中间序列组中的中间图像帧执行前向对象跟踪。
11.根据权利要求1所述的方法,其中,确定所述模板候选包括:基于所述第一跟踪结果确定所述模板候选。
12.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时将所述处理器配置为执行权利要求1所述的方法。
13.一种用于跟踪对象的装置,所述装置包括:
处理器,被配置为:
使用第一模板对第一序列组中的第一图像帧执行前向对象跟踪;
确定用于第二序列组中的第二图像帧的第二模板的模板候选;
使用所述模板候选对所述第一图像帧执行后向对象跟踪;
使用将通过对所述第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对所述第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定所述模板候选的置信度;
基于所述模板候选的置信度来确定所述第二模板;以及
使用所述第二模板对所述第二图像帧执行前向对象跟踪。
14.根据权利要求13所述的装置,其中,
按照从所述第一图像帧的初始图像帧到所述第一图像帧的最后图像帧的顺序,对所述第一图像帧执行前向对象跟踪,并且
按照从所述第一图像帧的所述最后图像帧到所述第一图像帧的所述初始图像帧的顺序,对所述第一图像帧执行后向对象跟踪。
15.根据权利要求13所述的装置,其中,
所述第一跟踪结果包括:根据对所述第一图像帧执行的前向对象跟踪的所述第一图像帧的第一边界框,并且
所述第二跟踪结果包括:根据对所述第一图像帧执行的后向对象跟踪的所述第一图像帧的第二边界框。
16.根据权利要求15所述的装置,其中,所述模板候选的置信度是基于以下项中的任意一种、或任意两种或更多种的任意组合来确定的:
根据每个相应图像帧的所述第一边界框和所述第二边界框的相应对之间的重叠程度的第一得分,
根据初始图像帧的所述第一边界框和所述第二边界框的相应对之间的重叠程度的第二得分,以及
根据每个图像帧的所述第一边界框和所述第二边界框的相应对之中重叠程度超过预设水平的相应对的数量的第三得分。
17.根据权利要求13所述的装置,其中,所述处理器还被配置为:
确定所述第二模板的第二模板候选;
使用所述第二模板候选对所述第一图像帧执行后向对象跟踪;
使用将通过对所述第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过使用所述第二模板候选对所述第一图像帧执行后向对象跟踪所确定的第三跟踪结果进行比较的结果,确定所述第二模板候选的置信度;并且
其中对于所述第二模板的确定,基于所述模板候选的置信度和所述第二模板候选的置信度来确定所述第二模板。
18.根据权利要求17所述的装置,其中,确定所述第二模板候选、使用所述第二模板候选对所述第一图像帧执行后向对象跟踪、以及确定所述第二模板候选的置信度,与确定所述模板候选、使用所述模板候选对所述第一图像帧执行后向对象跟踪、以及确定所述模板候选的置信度是并行执行的。
19.根据权利要求13所述的装置,其中,所述处理器还被配置为:在用于确定所述第二模板的时间内,对在所述第一序列组和所述第二序列组之间的中间序列组中的中间图像帧执行前向对象跟踪。
20.一种电子设备,包括:
相机,被配置为生成包括多个图像帧的输入图像;以及
处理器,被配置为:
使用第一模板对所述输入图像的第一序列组中的第一图像帧执行前向对象跟踪;
确定用于所述输入图像的第二序列组中的第二图像帧的第二模板的模板候选;
使用所述模板候选对所述第一图像帧执行后向对象跟踪;
使用将通过对所述第一图像帧执行前向对象跟踪所确定的第一跟踪结果和通过对所述第一图像帧执行后向对象跟踪所确定的第二跟踪结果进行比较的结果,确定所述模板候选的置信度;
基于所述模板候选的置信度来确定所述第二模板;以及
使用所述第二模板对所述第二图像帧执行前向对象跟踪。
CN202211546005.5A 2022-04-28 2022-12-02 用于跟踪对象的方法和装置 Pending CN117011558A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2022-0052608 2022-04-28
KR10-2022-0073261 2022-06-16
KR1020220073261A KR20230153206A (ko) 2022-04-28 2022-06-16 객체 추적 방법 및 장치

Publications (1)

Publication Number Publication Date
CN117011558A true CN117011558A (zh) 2023-11-07

Family

ID=88575070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211546005.5A Pending CN117011558A (zh) 2022-04-28 2022-12-02 用于跟踪对象的方法和装置

Country Status (1)

Country Link
CN (1) CN117011558A (zh)

Similar Documents

Publication Publication Date Title
CN105631398B (zh) 识别对象的方法和设备以及训练识别器的方法和设备
US20230021661A1 (en) Forgery detection of face image
US11948340B2 (en) Detecting objects in video frames using similarity detectors
CN112329505A (zh) 用于检测对象的方法和装置
US11967088B2 (en) Method and apparatus for tracking target
US11087137B2 (en) Methods and systems for identification and augmentation of video content
US11403878B2 (en) Apparatus and method with user verification
KR102070956B1 (ko) 영상 처리 장치 및 방법
US20200202199A1 (en) Neural network processing method and apparatus based on nested bit representation
US20220130175A1 (en) Method and apparatus for detecting liveness based on phase difference
US20230154016A1 (en) Information processing apparatus, information processing method, and storage medium
US20230222781A1 (en) Method and apparatus with object recognition
CN113947703A (zh) 通过神经网络识别图像的方法和设备
CN114155568A (zh) 面部图像生成方法和设备
CN112819151A (zh) 用于识别图像的方法和设备以及训练方法
CN112396085A (zh) 识别图像的方法和设备
CN114494713A (zh) 用于图像识别的方法和设备
CN113408693A (zh) 识别图像的方法和设备
CN114254731A (zh) 用于神经网络操作的方法和设备
US11715216B2 (en) Method and apparatus with object tracking
CN116363166A (zh) 对象跟踪方法、对象跟踪设备和电子设备
US10534980B2 (en) Method and apparatus for recognizing object based on vocabulary tree
CN117011558A (zh) 用于跟踪对象的方法和装置
EP4040378A1 (en) Burst image-based image restoration method and apparatus
CN111091022A (zh) 机器视觉的效能评估方法与系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication