CN113781519A - 目标跟踪方法和目标跟踪装置 - Google Patents

目标跟踪方法和目标跟踪装置 Download PDF

Info

Publication number
CN113781519A
CN113781519A CN202010519876.2A CN202010519876A CN113781519A CN 113781519 A CN113781519 A CN 113781519A CN 202010519876 A CN202010519876 A CN 202010519876A CN 113781519 A CN113781519 A CN 113781519A
Authority
CN
China
Prior art keywords
motion
video
target object
pipeline
motion pipeline
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
CN202010519876.2A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010519876.2A priority Critical patent/CN113781519A/zh
Priority to PCT/CN2021/093852 priority patent/WO2021249114A1/zh
Publication of CN113781519A publication Critical patent/CN113781519A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

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

Abstract

本申请实施例涉及人工智能领域中的计算机图像处理技术,公开了一种目标跟踪方法,应用于视频中的目标跟踪,可以减少目标遮挡带来的跟踪错误。该方法包括:将拍摄目标物体的视频输入预训练的神经网络模型,获取目标物体的运动管道,对运动管道进行连接,获取目标物体的跟踪轨迹,所述跟踪轨迹包括目标在所述第一视频的每个视频帧中的位置信息。

Description

目标跟踪方法和目标跟踪装置
技术领域
本申请涉及图像处理技术领域,尤其涉及一种目标跟踪方法和目标跟踪装置。
背景技术
目标跟踪是计算机视觉领域中最重要和基础的任务之一。其目的是从包含目标物体的视频中,输出目标物体在视频的每个视频帧中的位置。通常输入计算机一段视频及需要跟踪的目标物体类别,计算机以检测框的形式输出目标物体的标识(ID)以及目标物体在视频每一帧中的位置信息。
现有的多目标跟踪方法包括检测和跟踪两部分,通过检测模块检测出每个视频帧中出现的多个目标物体,然后将各个视频帧中出现的多个目标物体进行匹配,在匹配的过程中,提取单个视频帧中每个目标物体的特征,通过特征的相似度比对实现目标匹配,得到每个目标物体的跟踪轨迹。
由于现有的目标跟踪算法采用先检测再跟踪的方法,目标跟踪效果依赖于单帧的检测算法,若目标检测中存在目标物体遮挡,会产生检测错误,进而引起跟踪错误,因此,在目标物体密集或者遮挡较多的场景下性能不足。
发明内容
本申请实施例提供了一种目标跟踪方法,用于视频中的目标跟踪,可以减少目标遮挡带来的跟踪错误。
本申请实施例的第一方面提供了一种目标跟踪方法,包括:获取第一视频,所述第一视频包括目标物体;将所述第一视频输入预训练的神经网络模型,获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息;根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹,所述跟踪轨迹包括所述目标物体在所述第一视频中的至少两个视频帧中的位置信息。
该方法通过预训练的神经网络模型获取目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息,目标跟踪不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
在第一方面的一种可能的实现方式中,所述获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息具体包括:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,其中,所述第一视频包括第一视频帧和第二视频帧;所述运动管道对应于时空维度中的四棱台,所述时空维度包括时间维度和二维空间维度,所述四棱台的第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述四棱台的第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所述四棱台的第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述四棱台的第二底面在所述二维空间维度的位置用于指示所述目标物体在所述第二视频帧中的第二位置信息;所述四棱台用于指示所述目标物体在所述第一视频的所述第一视频帧与所述二视频帧之间的所有视频帧中的位置信息。
该方法通过预训练的神经网络模型获取每个视频帧的运动管道,由于运动管道包括至少两个视频帧中的目标物体的位置信息,目标在视频帧中的位置,可以通过时空维度中,在时间维度上的时刻以及二维空间维度上的位置确定,该时刻用于确定视频帧,该二维空间维度上的位置用于指示目标在该视频帧中的位置信息。该方法可以将运动管道对应于时空维度中的四棱台,通过时空维度中的四棱台直观展现目标在至少两个视频帧中的位置信息。该目标跟踪方法不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
在第一方面的一种可能的实现方式中,所述获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息具体包括:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在至少三个视频帧中的位置信息和所述至少三个视频帧的时间信息,其中,所述第一视频包括第一视频帧、第二视频帧和第三视频帧;所述运动管道对应于时空维度中的双四棱台,所述双四棱台包括第一四棱台和第二四棱台,所述第一四棱台包括第一底面和第二底面,所述第二四棱台包括第一底面和第三底面,所述第一底面为所述第一四棱台和所述第二四棱台的公共底面,所述第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所第三底面在所述时间维度的位置用于指示所述第三视频帧的第三时间信息,所述第一视频帧在所述第一视频中的时间顺序位于所述第二视频帧和所述第三视频帧之间,所述第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述第二底面在所述二维空间维度的位置指示所述目标物体在所述第二视频帧中的第二位置信息,所述第三底面在所述二维空间维度的位置指示所述目标物体在所述第三视频帧中的第三位置信息;所述双四棱台用于指示所述目标物体在所述第一视频的所述第二视频帧与所述三视频帧之间的所有视频帧中的位置信息。
该方法中,运动管道包括至少三个视频帧中的目标物体的目标物体的位置信息,具体的,该至少三个视频帧包括较运动管道对应的视频帧在视频的时间顺序上更早的第二视频帧,以及更晚的第三视频帧中,拓展了在时间维度的感受野,可以进一步提升目标跟踪性能。将运动管道对应于时空维度中的双四棱台,通过时空维度中的双四棱台直观展现目标在至少三个视频帧中的位置信息。具体的,还包括了目标在运动管道的两个非公共底面之间所有的视频帧中位置信息。考虑到目标运动的连续性,时空维度中,目标物体的目标物体的真实跟踪轨迹的结构通常为非线性的,双四棱台结构的运动管道可以表达目标运动的两个方向,在目标物体的运动方向存在变化的场景中可以更好的拟合真实跟踪轨迹。
在第一方面的一种可能的实现方式中,所述根据所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹具体包括:根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹。
根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
在第一方面的一种可能的实现方式中,所述跟踪轨迹具体包括:根据至少两个所述运动管道对应于时空维度中的四棱台连接形成的所述目标物体的跟踪轨迹。
通过连接运动管道获取目标物体的跟踪轨迹,可以不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
在第一方面的一种可能的实现方式中,所述视频帧的运动管道的长度为预设值,所述运动管道的长度指示所述至少两个视频帧包括的视频帧的数量,可选地,运动管道的长度包括4、6或8。
该方法中,运动管道的长度可以为预设值。即每个运动管道对应的视频帧的数量相同,指示同样时长的时间段中目标物体的位置变化,相较不设定运动管道长度的方法,本方法可以降低神经网络模型的计算量,减少目标跟踪需要耗费的时间。
在第一方面的一种可能的实现方式中,所述方法还包括:通过所述预训练的神经网络模型,获取所述目标物体的类别信息;所述根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹包括:根据所述目标物体的所述类别信息、所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹。
对于多目标跟踪的场景,若待跟踪目标包括多个类别,本方法可以通过预训练的神经网络模型确定运动管道对应的目标物体的类别信息,根据类别信息、位置信息和时间信息获取目标物体的跟踪轨迹。
在第一方面的一种可能的实现方式中,所述通过所述预训练的神经网络模型,获取所述运动管道对应的目标物体的类别信息具体包括:通过所述预训练的神经网络模型,获取所述运动管道的置信度,所述运动管道的置信度用于确定所述运动管道对应的目标物体的所述类别信息。
对于单目标跟踪的场景,本方法可以通过置信度区分该运动管道是否为指示目标位置的真实运动管道,此外,对于多目标跟踪的场景,若待跟踪目标包括多个类别,本方法可以通过运动管道的置信度对该运动管道对应的目标物体的类别进行区分。
在第一方面的一种可能的实现方式中,所述根据所述运动管道获取所述目标物体的跟踪轨迹之前,所述方法还包括:对所述运动管道进行删减,获取删减后的运动管道,所述删减后的运动管道用于获取所述目标物体的跟踪轨迹。
本方法可以对视频帧的运动管道进行删减,删减重复的运动管道或者置信度较低的运动管道,可以减少在运动管道连接步骤中的计算量。
在第一方面的一种可能的实现方式中,所述对所述运动管道进行删减,获取删减后的运动管道具体包括:所述运动管道包括第一运动管道和第二运动管道;若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除所述第一运动管道和所述第二运动管道中置信度较低的运动管道,所述第一运动管道和第二运动管道之间的重复率为所述第一运动管道和所述第二运动管道之间的交并比,所述第一运动管道和所述第二运动管道属于所述目标物体的运动管道,所述置信度指示运动管道对应的目标物体的类别为预设类别的概率。
本方法介绍了删减运动管道的具体方法,重复率大于或等于第一阈值的运动管道可以认为是重复数据,对其中置信度较低的进行删减,保留置信度较高的,用于进行管道连接,可以减少在运动管道连接步骤中的计算量。
在第一方面的一种可能的实现方式中,所述对所述运动管道进行删减,获取删减后的运动管道具体包括:根据非极大值抑制算法对所述运动管道进行删减,获取删减后的运动管道。
本方法还可以根据非极大值抑制算法进行删减,即能删去重复的运动管道,还可以为每个目标保留置信度较高的运动管道,减少管道连接步骤的计算量,提升目标跟踪效率。
在第一方面的一种可能的实现方式中,所述删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值。
本方法在删减运动管道时,可以将置信度较低的运功管道都舍弃,置信度小于第二阈值的运功管道可以理解为非真实运动管道,例如背景对应的运动管道。
在第一方面的一种可能的实现方式中,所述根据所述运动管道获取所述目标物体的跟踪轨迹具体包括:对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹;所述预设条件包括以下一个或多个:所述第三运动管道和所述第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;所述第三运动管道的运动方向和所述第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,所述运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,所述距离包括欧式距离。
本方法提供了运动管道连接的具体方法,依据运动管道在时空维度的位置,将重叠度高且运动方向相似的运动管道进行连接。
在第一方面的一种可能的实现方式中,所述根据所述运动管道获取所述目标物体的跟踪轨迹具体包括:对所述运动管道分组,获取t组运动管道,t为所述第一视频中视频帧的总数,所述t组运动管道中第i运动管道组包括所有起始于所述第一视频中第i个视频帧的运动管道,所述i大于或等于1,且小于或等于t;当i为1时,将第i运动管道组中的运动管道作为初始的跟踪轨迹,得到跟踪轨迹集合;按照运动管道组的编号顺序,依次将所述第i运动管道组中的运动管道与所述跟踪轨迹集合中的跟踪轨迹进行连接,获取至少一条跟踪轨迹。本方法提供了运动管道连接的一种具体方法,运动管道对应了一段时长范围内的视频帧中的目标物体的位置信息,根据起始视频帧对运动管道分组,依次对每组运动管道进行连接,可以提高目标跟踪的效率。
在第一方面的一种可能的实现方式中,所述预训练的神经网络模型由初始网络模型训练后得到,所述方法还包括:将第一视频样本输入所述初始网络模型中训练,获取目标物体损失;根据所述目标物体损失更新所述初始网络模型中的权重参数,获取所述预训练的神经网络模型。
本方法中可以由初始网络模型进行训练,以获取本目标跟踪方法中输出运动管道的神经网络模型。
在第一方面的一种可能的实现方式中,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道。
本方法提供了模型训练过程中的目标损失为运动管道真值与运动管道预测值之间的交并比,由此训练得到的神经网络模型,运动管道指示的目标物体的位置信息的准确度高。
在第一方面的一种可能的实现方式中,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,以及运动管道真值的置信度与运动管道预测值的置信度之间的交叉熵,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道,所述运动管道真值的置信度为所述运动管道真值对应的目标物体的类别属于预设目标物体类别的概率,所述运动管道预测值的置信度为所述运动管道预测值对应的目标物体的类别属于预设目标物体类别的概率。
本方法提供了模型训练过程中的目标损失为运动管道真值与运动管道预测值之间的交并比,由此训练得到的神经网络模型,运动管道指示的目标物体的位置信息的准确度高,而且可以准确指示目标物体的类型。
在第一方面的一种可能的实现方式中,所述初始网络模型包括三维卷积神经网络或递归神经网络,所述三维卷积神经网络包括三维残差神经网络或三维特征金字塔网络。可选地,该初始网络模型由三维残差神经网络和三维特征金字塔网络组合得到。
本方法中初始网络模型可以为三维卷积神经网络、递归神经网络,或者两者的组合,神经网络模型类型的多样性提供了方案实现的多种可能。
在第一方面的一种可能的实现方式中,所述将所述第一视频输入预训练的神经网络模型,获取所述目标物体的运动管道具体包括:将所述第一视频划分为多个视频片段;将所述多个视频片段分别输入所述预训练的神经网络模型,获取所述运动管道。
考虑到神经网络模型处理视频帧数量的限制,可以先对视频进行切分,将视频片段输入模型,可选地,视频片段的视频帧数量为预设值,例如8帧。
本申请实施例的第二方面提供了一种目标跟踪装置,包括:获取单元,用于获取第一视频,所述第一视频包括目标物体;所述获取单元,还用于将所述第一视频输入预训练的神经网络模型,获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息;所述获取单元,还用于根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹,所述跟踪轨迹包括所述目标物体在所述第一视频中的至少两个视频帧中的位置信息。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,其中,所述第一视频包括第一视频帧和第二视频帧;所述运动管道对应于时空维度中的四棱台,所述时空维度包括时间维度和二维空间维度,所述四棱台的第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述四棱台的第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所述四棱台的第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述四棱台的第二底面在所述二维空间维度的位置用于指示所述目标物体在所述第二视频帧中的第二位置信息;所述四棱台用于指示所述目标物体在所述第一视频的所述第一视频帧与所述二视频帧之间的所有视频帧中的位置信息。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在至少三个视频帧中的位置信息和所述至少三个视频帧的时间信息,其中,所述第一视频包括第一视频帧、第二视频帧和第三视频帧;所述运动管道对应于时空维度中的双四棱台,所述双四棱台包括第一四棱台和第二四棱台,所述第一四棱台包括第一底面和第二底面,所述第二四棱台包括第一底面和第三底面,所述第一底面为所述第一四棱台和所述第二四棱台的公共底面,所述第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所第三底面在所述时间维度的位置用于指示所述第三视频帧的第三时间信息,所述第一视频帧在所述第一视频中的时间顺序位于所述第二视频帧和所述第三视频帧之间,所述第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述第二底面在所述二维空间维度的位置指示所述目标物体在所述第二视频帧中的第二位置信息,所述第三底面在所述二维空间维度的位置指示所述目标物体在所述第三视频帧中的第三位置信息;所述双四棱台用于指示所述目标物体在所述第一视频的所述第二视频帧与所述三视频帧之间的所有视频帧中的位置信息。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹。
在第二方面的一种可能的实现方式中,所述跟踪轨迹具体包括:根据至少两个所述运动管道对应于时空维度中的四棱台连接形成的所述目标物体的跟踪轨迹。
在第二方面的一种可能的实现方式中,所述运动管道的长度为预设值,所述运动管道的长度指示所述至少两个视频帧包括的视频帧的数量。
在第二方面的一种可能的实现方式中,所述获取单元还用于:通过所述预训练的神经网络模型,获取所述目标物体的类别信息;根据所述目标物体的所述类别信息、所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:通过所述预训练的神经网络模型,获取所述运动管道的置信度,所述运动管道的置信度用于确定所述运动管道对应的目标物体的所述类别信息。
在第二方面的一种可能的实现方式中,所述装置还包括:处理单元,用于对所述运动管道进行删减,获取删减后的运动管道,所述删减后的运动管道用于获取所述目标物体的跟踪轨迹。
在第二方面的一种可能的实现方式中,所述运动管道包括第一运动管道和第二运动管道;所述处理单元具体用于:若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除所述第一运动管道和所述第二运动管道中置信度较低的运动管道,所述第一运动管道和第二运动管道之间的重复率为所述第一运动管道和所述第二运动管道之间的交并比,所述第一运动管道和所述第二运动管道属于所述目标物体的运动管道,所述置信度指示运动管道对应的目标物体的类别为预设类别的概率。
在第二方面的一种可能的实现方式中,所述处理单元具体用于:根据非极大值抑制算法对所述运动管道进行删减,获取删减后的运动管道。
在第二方面的一种可能的实现方式中,所述删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹;所述预设条件包括以下一个或多个:所述第三运动管道和所述第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;所述第三运动管道的运动方向和所述第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,所述运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,所述距离包括欧式距离。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:对所述运动管道分组,获取t组运动管道,t为所述第一视频中视频帧的总数,所述t组运动管道中第i运动管道组包括所有起始于所述第一视频中第i个视频帧的运动管道,所述i大于或等于1,且小于或等于t;当i为1时,将第i运动管道组中的运动管道作为初始的跟踪轨迹,得到跟踪轨迹集合;按照运动管道组的编号顺序,依次将所述第i运动管道组中的运动管道与所述跟踪轨迹集合中的跟踪轨迹进行连接,获取至少一条跟踪轨迹。
在第二方面的一种可能的实现方式中,所述获取单元具体用于:将第一视频样本输入所述初始网络模型中训练,获取目标物体损失;根据所述目标物体损失更新所述初始网络模型中的权重参数,获取所述预训练的神经网络模型。
在第二方面的一种可能的实现方式中,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道。
在第二方面的一种可能的实现方式中,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,以及运动管道真值的置信度与运动管道预测值的置信度之间的交叉熵,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道,所述运动管道真值的置信度为所述运动管道真值对应的目标物体的类别属于预设目标物体类别的概率,所述运动管道预测值的置信度为所述运动管道预测值对应的目标物体的类别属于预设目标物体类别的概率。
在第二方面的一种可能的实现方式中,所述初始网络模型包括三维卷积神经网络或递归神经网络。
在第二方面的一种可能的实现方式中,所述处理单元还用于:将所述第一视频划分为多个视频片段;所述获取单元具体用于:将所述多个视频片段分别输入所述预训练的神经网络模型,获取所述运动管道。
本申请实施例第三方面提供了一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第四方面提供了一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
本申请实施例第六方面提供了一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式中的方法。可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
其中,第二方面、第三方面、第四方面、第五方面或第六方面中任一种实现方式所带来的技术效果可参见第一方面中相应实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供的目标跟踪方法,通过预训练的神经网络模型获取目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息,并根据这些信息确定所述目标物体在所述第一视频中的跟踪轨迹。由于通过神经网络模型输出至少两个视频帧的时间信息,目标跟踪不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
本申请实施例提供的目标跟踪方法,通过预训练的神经网络模型获取目标物体的运动管道,通过连接运动管道获取目标物体的跟踪轨迹。由于运动管道包括至少两个视频帧中的目标物体的位置信息,目标跟踪不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。
此外,现有技术中依赖于单帧的检测算法,整体算法的精度受到检测器的影响,分步训练检测模型和跟踪模型的开发成本高,同时算法分为两个阶段也增大了机器学习过程的计算成本和部署难度。而本申请实施例提供的目标跟踪方法,可以实现端到端的训练,通过一个神经网络模型完成多目标物体的检测和跟踪任务,可以减低模型的复杂度。
此外,现有技术基于单个视频帧提取的特征较为单一,本申请实施例提供的目标跟踪方法,采用视频作为原始输入,模型可以通过外貌特征、运动轨迹特征或步态特征等多种特征实现跟踪任务,可以提升目标跟踪性能。
此外,本申请实施例提供的目标跟踪方法,采用视频作为模型原始输入,时间维度感受野增加,可以更好的捕捉人物的运动信息。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种***架构示意图;
图3为本申请实施例提供的一种卷积神经网络结构示意图;
图4为本申请实施例提供的另一种卷积神经网络结构示意图;
图5为本申请实施例中运动管道的一个实施例示意图;
图6为本申请实施例中跟踪轨迹拆分运动管道的一个示意图;
图7为本申请实施例中运动管道的一个实施例示意图;
图8为本申请实施例中运动管道的另一个实施例示意图;
图9为本申请实施例中运动管道的交和并的示意图;
图10为本申请实施例中目标检测方法的一个实施例示意图;
图11为本申请实施例中运动管道之间的匹配的实施例示意图;
图12为本申请实施例中神经网络模型的训练方法的一个实施例示意图;
图13为本申请实施例中跟踪轨迹与运动管道的一个示意图;
图14为本申请实施例中神经网络模型输出的运动管道的一个示意图;
图15为本申请实施例中目标跟踪方法的另一个实施例示意图;
图16为本申请实施例中目标跟踪装置的一个实施例示意图;
图17为本申请实施例中目标跟踪装置的另一个实施例示意图;
图18为本申请实施例中目标跟踪装置的另一个实施例示意图;
图19为本申请实施例中电子设备的另一个实施例示意图;
图20为本申请实施例提供的一种芯片硬件结构图。
具体实施方式
本申请实施例提供了一种目标跟踪方法,用于视频中的目标跟踪,可以减少在目标密集或者遮挡较多的场景下的跟踪错误。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
为了便于理解,下面对本申请实施例涉及的部分技术术语进行简要介绍:
一、运动管道和跟踪轨迹。
视频的多个视频帧通过连续拍摄得到,视频帧率通常已知。视频中的运动目标是指在拍摄过程中目标相对于视频采集设备相对运动,以实际三维空间的世界坐标系为参考,该目标可以是运动的也可以是不运动的,具体此处不做限定。
拍摄目标期间,目标物体的图像信息可能被直接记录在视频帧中,也可能在部分图像帧中被其他物体遮挡。
将视频的多个视频帧在时间维度上展开,由于视频帧之间拍摄的时间间隔已知,不同视频帧对应于时间维度上不同时刻,由于视频帧为二维图像,视频帧的图像信息对应于二维空间维度中的数据,本申请实施例中将以该形式展现的数据定义为时空维度的数据。目标在视频帧中的位置,可以通过时空维度中,在时间维度上的位置以及二维空间维度上的位置确定,在时间维度的位置用于确定视频帧,该二维空间维度上的位置用于指示目标在该视频帧中的位置信息。
请参见图5,为本申请实施例中运动管道的一个实施例示意图。
目标跟踪需要确定待跟踪目标(或简称目标)在所有包含该目标物体的视频帧中的位置信息。通常,每个视频帧中的目标位置可以通过检测框(Bounding-Box)标识,在时空维度,将各个视频帧中的同一目标物体的检测框对应连接起来,可以形成目标在时空区域的轨迹,即跟踪轨迹,或称运动轨迹,跟踪轨迹既能给出目标物体的位置,也将不同时刻对应的目标物体的位置连接了起来。因此,跟踪轨迹可以同时指示目标物体的时间和空间信息。图5中仅示意出3个视频帧中的目标物体的位置信息,可以理解的是,视频的所有视频帧均可按照上述方法获取跟踪轨迹。需要说明的是,同一视频帧中可能包括一个或多个目标,跟踪轨迹还包括该跟踪轨迹指示的目标物体的标识(ID),目标物体的ID可以用于区分不同的目标对应的轨迹。
下面对运动管道与跟踪轨迹进行介绍。
运动管道用于指示目标在至少两个视频帧中的位置信息,对应于时空维度中的四棱台,四棱台的第一底面在时间维度的位置用于指示第一视频帧的第一时间信息,四棱台的第二底面在时间维度的位置用于指示第二视频帧的第二时间信息,四棱台的第一底面在二维空间维度的位置用于指示目标物体在所述第一视频帧中的第一位置信息,四棱台的第二底面在二维空间维度的位置用于指示目标物体在第二视频帧中的第二位置信息。
可选地,运动管道用于指示目标在至少三个不同视频帧中的位置信息。本实施例及以下实施例中均以运动管道包括目标在三个不同视频帧中的位置信息为例进行介绍。
在时空维度,运动管道可以视为两个具有公共底面的四棱台组成的双四棱台结构,该双四棱台结构的三个底面相互平行,垂直底面方向为时间维度,底面延伸方向为空间维度,每个底面代表在该底面对应的时刻,目标在视频帧中的位置。如图6所示,示出了一个双四棱台结构的运动管道,包括:第一底面601、第二底面602和第三底面603,第一底面601,即矩形abcd,在第一底面所在的二维空间中的位置信息代表目标物体在第一视频帧中的位置信息,矩形abcd映射在时间维度的位置,代表第一视频帧的时间信息;类似地,第二底面602,即矩形ijkm,在第二底面所在的二维空间中的位置信息代表目标物体在第二视频帧中的位置信息,矩形abcd映射在时间维度的位置,代表第二视频帧的时间信息;第三底面603,即矩形efgh,在第三底面所在的二维空间中的位置信息代表目标物体在第三视频帧中的位置信息,矩形abcd映射在时间维度的位置,代表第三视频帧的时间信息。可以理解的是,由于第一视频拍摄目标物体的过程中,目标物体和视频采集设备之间可能存在相对运动,因此,矩形abcd、矩形efgh和矩形ijkm映射到同一个底面所在的二维空间中时,对应的位置可能不同。第一底面601、第二底面602和第三底面603在时间维度的位置,即图a点、i点和e点映射在时间维度的位置分别为a′、i′和e′,分别指示第一视频帧、第二视频帧和第三视频帧的时间信息。运动管道的长度即第二底面映射在时间维度的位置与第三底面映射在时间维度的位置之间的位置间隔,用于指示在视频的时间顺序上,第二底面、第三底面以及第二底面和第三底面之间的所有视频帧的数量。
需要说明的是,第一视频帧对应的运动管道,至少包括目标在该第一视频帧中的位置信息。
跟踪轨迹可以拆分为多个运动管道,如图6所示,可选地,本申请实施例中,可以将跟踪轨迹拆分为单个视频帧的位置框,将每个位置框作为双四棱台结构中的公共底面,如图6中的第一底面601,并在跟踪轨迹中向前和向后延伸,确定双四棱台结构的另外两个底面,分别是第二底面602和第三底面603,由此得到具有公共底面的双四棱台结构,即该单个视频帧对应的运动管道。
对于视频的起始视频帧,可以认为向前延伸为0,类似地,末尾视频帧向后延伸为0,起始视频帧和末尾视频帧对应的运动管道退化为单个四棱台结构。需要说明的是,运动管道的长度定义为运动管道对应的视频帧的数量,如图6所示,视频在第二底面602对应的视频帧和第三底面603对应的视频帧之间所有视频帧的总数即为该运动管道的长度。
本申请实施例中运动管道用特定的数据格式来表示,请参见图7和图8,为本申请实施例中运动管道的数据格式的两种示意图。
如图7所示,第一种数据格式包括时间维度的3个数据(ts,tm,te),和空间维度的12个数据
Figure BDA0002531614740000111
共15个数据。其中,在每个时间维度的数据对应的时刻,目标在空间中的位置信息可以通过4个数据确定,示例性的,ts时刻的视频帧中,目标位置区域为Bs,通过
Figure BDA0002531614740000112
Figure BDA0002531614740000113
四个数据可以确定该位置区域。
如图8所示,神经网络模型输出的运动管道的可以为另一种数据格式表示,视频帧m的运动管道,Bm为公共底面中目标对应的检测框,Bm为对应的视频帧中的部分图像区域,P为Bm区域中的任意一个像素点,可以用一个数据标识该像素点所处的时刻,在时间维度,通过两个数据:ds和de,可以分别确定运动管道向前和向后延伸的长度。lm、bm、tm、rm四个数据指示以P点为参考点,Bm区域的边界相对于P点的偏移量(Regress values for Bm)。ls、bs、ts、rs四个数据分别指示Bs区域的边界相对于Bm区域的边界的偏移量(Regress values forBs),类似地,le、be、te、re四个数据分别指示Be区域的边界相对于Bm区域的边界的偏移量(Regress values for Be)。
可见,两种数据格式均可以通过15个数据来表示单个运动管道,两种数据格式之间可以相互转换。
二、交并比(intersection-over-union,IoU)。
IoU通常用于衡量两个位置区域重叠的程度。在目标检测(object detection)中,交并比(IoU)是指两个矩形的检测框的交集与并集的比值,IoU的取值在[0,1]之间。显然,当IoU=0时,两个位置区域没有重叠;当IoU=1时,两个位置区域重合。
本申请实施例中,将IoU的概念延伸到时空维度的三维空间中,用于衡量两个运动管道在时空维度中重叠的程度,请参见图9,为本申请实施例中运动管道的交和并的示意图。
IoU(T(1),T(2))=∩(T(1),T(2))/∪(T(1),T(2))
其中,T(1)代表运动管道1,T(2)代表运动管道2,∩(T(1),T(2))代表两个运动管道的交,∪(T(1),T(2))代表两个运动管道的并。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请实施例提出的目标跟踪方法涉及人工智能技术领域,下面对人工智能***进行简要介绍。图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能***总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据-信息-知识-智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到***的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能***提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算***中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有***的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能***中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用***,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能***在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请实施例提出的目标跟踪方法中目标物体的运动管道通过深度神经网络得到,下面对基于深度神经网络进行数据处理的***架构进行简要介绍,请参见附图2,本申请实施例提供了一种***架构200。数据采集设备260用于采集运动目标的视频数据并存入数据库230,训练设备220基于数据库230中维护的包含运动目标的视频样本生成目标模型/规则201。下面将更详细地描述训练设备220如何基于运动目标的视频样本得到目标模型/规则201,目标模型/规则201能够用于单目标跟踪、多目标跟踪和虚拟现实等应用场景。
本申请实施例中,可以基于运动目标的视频样本进行训练,具体的,可以通过数据采集设备260采集各种包含运动目标的视频样本,并存入数据库230。此外,还可以直接从常用的数据库获取视频数据。
该目标模型/规则201可以是基于深度神经网络得到的,下面对深度神经网络进行介绍。
深度神经网络中的每一层的工作可以用数学表达式
Figure BDA0002531614740000131
来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由
Figure BDA0002531614740000132
完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
训练设备220得到的目标模型/规则可以应用不同的***或设备中。在附图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据。
执行设备210可以调用数据存储***250中的数据、代码等,也可以将数据、指令等存入数据存储***250中。
计算模块211使用目标模型/规则201对输入的数据进行处理,以目标跟踪为例,计算模块211可以对输入的视频进行解析,得到指示视频帧中目标位置信息的特征。
关联功能模块213可以对计算模块211中的图像数据进行预处理,例如进行视频预处理,包括视频切分等。
关联功能模块214可以对计算模块211中的图像数据进行预处理,例如进行视频预处理,包括视频切分等。
最后,I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的数据生成相应的目标模型/规则201,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到训练数据存入数据库230。
值得注意的,附图2仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2中,数据存储***250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储***250置于执行设备210中。
本申请实施例中用于从视频中提取运动管道的深度神经网络,例如,可以是卷积神经网络(convolutional neural network,CNN)。下面对CNN进行具体介绍。
CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,以图像处理为例,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。当然,还可以是其他类型,本申请不限制深度神经网络的类型。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。
根据所需处理数据的维度不同,卷积核也有多种格式。常用的卷积核包括二维卷积核和三维卷积核。二维卷积核主要应用于处理二维的图像数据,而三维卷积核则由于增加了深度或时间方向的维度,可应用于视频处理、立体图像处理等。本申请实施例中为了通过神经网络模型提取视频中时间维度和空间维度上的信息,通过三维卷积核,同时在时间维度和空间维度进行卷积操作,由此,由三维卷积核构成的三维卷积神经网络可以在获取每一视频帧的特征的同时,也能表达视频帧随时间推移的关联与变化。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。为方便描述网络结构,可以将多个卷积层称为一个块(block)。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
可选地,本申请实施例中用于从视频中提取运动管道的深度神经网络为残差神经网络和特征金字塔网络的组合。其中,残差神经网络通过让深度网络学习残差表示让更深的网络更容易训练。残差学习解决了深层网络中存在的梯度消失和梯度***问题。特征金字塔网络在不同分辨率的特征图上检测对应尺度的目标。其每一层输出均由当前层和更高层的特征图融合得到,因此输出的每一层特征图均有足够的特征表达能力。
本申请实施例提供的目标检测方法涉及的目标跟踪技术应用广泛,比如视频拍摄时的自动对焦,目标跟踪算法可以帮助拍摄者更便捷的准确选择焦点,或者灵活切换焦点跟踪目标,这在体育赛事,野生动物拍摄中尤为重要。在监控场景下,多目标跟踪算法可以自动化完成选定目标物体的位置跟踪,方便查找既定目标,这在安防领域有重要意义。在自动驾驶场景下,多目标跟踪算法可以掌控周边行人,车辆的运动轨迹与趋势,为自动驾驶的路径规划,自动避障等功能提供初始信息。在虚拟现实场景中,体感游戏、手势识别和手指跟踪等也可以通过多目标跟踪技术实现。
通常的目标跟踪方法包括检测和跟踪两部分,通过检测模块检测出每个视频帧中出现的目标,然后将各个视频帧中出现的目标进行匹配,在匹配的过程中,提取单个视频帧中每个目标物体的特征,通过特征的相似度比对实现目标匹配,得到每个目标物体的跟踪轨迹。由于此类目标跟踪方法采用先检测再跟踪的技术手段,目标跟踪效果依赖于单帧的检测算法,若目标检测中存在目标遮挡,会产生检测错误,进而引起跟踪错误,因此,在目标密集或者遮挡较多的场景下性能不足。
本申请实施例通过了一种目标检测方法,将视频输入预训练的神经网络模型,输出多个的运动管道,将多个运动管道通过匹配还原出一个或多个目标对应的跟踪轨迹。首先,由于运动管道包括至少两个视频帧中的目标物体的位置信息,目标跟踪不依赖于单个视频帧的目标检测结果,可以减少在目标密集或者遮挡较多的场景下的检测失败的问题,提升目标跟踪性能。其次,常规目标检测方法依赖于单帧的检测算法,整体算法的精度受到检测器的影响,分步训练检测模型和跟踪模型的开发成本高,同时算法分为两个阶段也增大了机器学习过程的计算成本和部署难度。而本申请实施例提供的目标跟踪方法,可以实现端到端的训练,通过一个神经网络模型完成多目标物体的检测和跟踪任务,可以减低模型的复杂度。还有,现有技术基于单个视频帧提取的特征较为单一,本申请实施例提供的目标跟踪方法,采用视频作为原始输入,模型可以通过外貌特征、运动轨迹特征或步态特征等多种特征实现跟踪任务,可以提升目标跟踪性能。最后,本申请实施例提供的目标跟踪方法,采用视频作为模型原始输入,时间维度感受野增加,可以更好的捕捉人物的运动信息。
下面对本申请实施例提供的目标检测方法进行详细介绍,请参阅图10,为本申请实施例中目标检测方法的一个实施例示意图;
1001、对视频进行预处理;
目标跟踪装置可以对获取的视频进行预处理,可选地,预处理包括以下一项或多项:将视频切分为预设长度的片段、调整视频分辨率和色彩空间的调整与归一化。
示例性的,当视频长度较长时,考虑到目标跟踪装置的数据处理能力,可以将视频切分为8帧小片段。
需要说明的是,步骤1001为可选步骤,可以执行,也可以不执行。
1002、将视频输入神经网络模型,获取运动管道和运动管道的置信度。
将视频输入预训练的神经网络模型,获取目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息。可选地,将视频输入预训练的神经网络模型,以获取每个目标物体的运动管道。运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,运动管道指示时间信息和位置信息的具体方式可以参考前述介绍,此处不再赘述。神经网络模型的训练过程在后续实施例中进行详细介绍。
可选地,输出的运动管道的数据格式为图8所示的类型,具体的,输入视频I,I∈R^(t×h×w×3),其中,R代表实数域,t代表视频的帧数,h×w代表视频分辨率,3代表RGB色域,输出为运动管道O,O∈R^(t×h'×w'×15),其中,R代表实数域,t代表视频的帧数,h'×w'代表神经网络输出的特征图的分辨率。即输出了t×h'×w'个运动管道,其中,每一个视频帧对应h'×w'个运动管道。
可选地,通过所述预训练的神经网络模型,获取所述目标物体的类别信息;具体地,通过预训练的神经网络模型,获取运动管道的置信度,运动管道的置信度可以用于确定运动管道对应的目标物体的类别信息。
由于运动管道用于指示目标在视频帧中的位置信息,每个运动管道对应一个待跟踪的目标,运动管道的置信度是指每个运动管道对应的目标,属于预设类别的可能性。通常,需要预设视频中待跟踪的目标物体的类别,例如:人、车辆或狗等,输出的运动管道的置信度分别代表该运动管道对应的目标属于该预设类别的概率,置信度为0至1之间的数值,置信度越小代表属于该预设类别的可能性越小,越大代表属于该预设类别的可能性越大。
可选地,每个运动管道的置信度的数量与预设的目标物体的类别的数量相等,每个置信度对应指示该运动管道属于该类别的可能性。神经网络模型输出的运动管道的置信度组成置信度表。
示例1,目标物体的预设类别为“人”或“背景”,背景是指不包含待跟踪目标物体的图像区域,第一运动管道的对应的目标物体的类别的置信度分别为0.1、0.9,第二运动管道的置信度为0.7、0.3,由于预设类别只有一个,目标物体的类别的可能性包括两种,属于“人”或者“背景”,因此,置信度阈值可设为0.5,由于第一运动管道对应的目标物体的类别属于“人”的置信度0.3小于或等于0.5,即代表该运动管道对应的目标属于人的概率较小,属于“背景”的置信度0.9大于0.5,即属于背景的可能性较大;第二运动管道对应的目标物体的类别属于“人”的置信度0.7大于0.5,代表该运动管道对应的目标属于人的概率较大,属于“背景”的置信度0.3小于0.5,即属于背景的可能性较小。
示例2,目标物体的预设类别为“人”、“车辆”和“背景”,第一运动管道的置信度为0.4、0.1、0.2,第二运动管道的置信度为0.2、0.8、0.1,目标物体的类别的可能性包括三种:“人”、“车辆”或“背景”,1/3≈0.33可作为置信度阈值,由于0.4大于0.33,第一运动管道置信度最高的类别为“人”,即对应的目标物体的类别为人的概率较大,类似的,第二运动管道置信度最高的类别为“车辆”,即对应的目标物体的类别为车辆的概率较大。
1003、删减部分运动管道;
在根据运动管道获取目标物体的跟踪轨迹之前,还可以运动管道进行删减,获取删减后的运动管道,删减后的运动管道用于获取目标物体的跟踪轨迹。对于神经网络模型输出的多个运动管道,可以根据预设条件进行删减。
由于神经网络模型预测得到的多个运动管道中,每个视频帧中每个像素点均对应运动管道,视频帧中出现的目标,通常占用多个像素点位置,因此用于指示同一个目标物体的位置信息的运动管道有多个,本步骤可以对对应于同一目标物体的多个运动管道进行删减,减少后续运动管道连接步骤的计算量。
可选地,若获取了每个运动管道的置信度,可以根据置信度确定每个运动管道对应的目标所属的类别,对每个类别的运动管道分别进行删减。
可选地,获取删减后的运动管道具体包括,若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除第一运动管道和第二运动管道中置信度较低的运动管道,可选地,运动管道的重复率可以是两个运动管道之间的IoU,第一阈值的范围为0.3至0.7,示例性的,的第一阈值为0.5,若第一运动管道与第二运动管道之间的IoU大于或等于50%,则删除置信度较低的一个运动管道。可选地,根据非极大值抑制(non-maximumsuppression,NMS)算法对所述运动管道进行删减,获取删减后的运动管道,设置运动管道IoU阈值为为0.5,通过NMS算法可以对运动管道进行删减,每个视频帧中每个目标仅保留一个对应的运动管道,根据NMS算法删减目标检测结果为现有技术,具体过程此处不再赘述。
由于神经网络模型预测得到的多个运动管道中,每个视频帧中每个像素点均对应运动管道,视频帧中未对应目标物体的背景区域覆盖的像素点位置也同样对应一些运动管道,这部分运动管道可以理解为假的运动管道,置信度通常较低,为减少后续运动管道连接步骤的计算复杂度,可以通过运动管道的置信度进行删减。
可选地,删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值,即预设条件为置信度小于或等于第二阈值,第二阈值与目标物体的预设类别的数量有关,例如,若目标物体的预设类别数量为2:“人”或“背景”,则第二阈值通常在0.3至0.7之间,例如取0.5。若目标物体的类别数量为10,则第二阈值通常在0.07至0.13之间,例如取0.1。
需要说明的是,步骤1003为可选步骤,可以执行,也可以不执行。
1004、连接运动管道,以获取跟踪轨迹;
根据目标物体在至少两个视频帧中的位置信息和至少两个视频帧的时间信息获取目标物体在第一视频中的跟踪轨迹,可选地,由于本实施例中,以运动管道指示目标物体在至少两个视频帧中的位置信息和至少两个视频帧的时间信息,因此可以根据所运动管道获取所述目标物体在所述第一视频中的跟踪轨迹,该跟踪轨迹具体为根据至少两个运动管道对应于时空维度中的四棱台连接形成的目标物体的跟踪轨迹。
具体的,将指示同一目标物体的位置信息的多个运动管道进行连接,得到每个目标对应的跟踪轨迹,运动管道之间的连接,或称为运动管道之间的匹配需满足预设条件。根据运动管道获取目标物体的跟踪轨迹具体包括:对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹。
预设条件的具体内容包括多种,可选地,预设条件包括以下一个或多个:第三运动管道和第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;第三运动管道的运动方向和第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,距离包括欧式距离。
具体的,两个运动管道在时间维度重叠部分对应的运动管道区段之间的交并比大于或等于第三阈值、运动管道之间的运动方向夹角的余弦值大于或等于第四阈值、运动管道的神经网络特征向量之间的距离指标小于或等于第五阈值,距离指标例如可以为欧式距离。运动管道的神经网络特征向量可以神经网络模型中任意一层输出的特征向量,可选地,运动管道的神经网络特征向量为神经网络模型中三维(3D)卷积神经网络最后一层输出的特征向量。
运动管道的运动方向为在时空维度指示运动管道的两个底面对应的目标物体的位置变化的向量,指示目标物体的移动速度和方向,可以理解的是,视频中目标物体的位置变化通常为连续变化,不会发生突变,因此,跟踪轨迹中相邻运动管道区段的运动方向比较接近,在运动管道连接过程中,也可以根据运动管道的运动方向的相似程度进行连接。需要说明的是:运动管道的运动方向可以根据预设的规则确定,例如,将运动管道在时空维度中,以运动管道在时间维度上相距最远的两个底面(例如,图8所示运动管道的Bs和Be)对应的目标物体的位置变化的向量为运动管道的运动方向,或者,设定运动管道中两个相邻底(例如,图8所示运动管道的Bm和Be)面对应的目标物体的位置变化的向量为运动管道的运动方向,或者,设定预设数量的视频帧之间的目标物体的位置变化方向为运动管道的运动方向,预设数量例如为5帧。类似地,跟踪轨迹的方向可以定义为在轨迹末端,设定预设数量的视频帧之间的目标物体的位置变化方向为运动管道的运动方向,或者,在轨迹末端最后一个运动管道的运动方向。可以理解的是,运动管道的运动方向一般定义为在时间维度中,由某一时刻向某一时刻之后的时刻的方向。
第三阈值的取值不做限定,通常为70%至95%,例如75%、80%、85%或90%等,第四阈值的取值不做限定,通常为cos(π/6)至cos(π/36),例如为cos(π/9)、cos(π/12)或cos(π/18)等。第五阈值的取值可以根据特征向量的大小确定,具体数值不做限定。
可选地,下面以预设条件为两个运动管道在时间维度重叠部分对应的管道区段之间的交并比大于或等于第三阈值,且运动管道之间的运动方向夹角的余弦值大于或等于第四阈值为例进行介绍。
请参阅图11为本申请实施例中运动管道之间的匹配的实施例示意图。
示例1,如图11中a部分所示,若两个运动管道时间维度重叠部分对应的运动管道区段之间的交并比大于或等于第三阈值,且两个运动管道的运动方向夹角的余弦值大于或等于第四阈值,即重合度和运动方向均匹配,两个运动管道匹配成功。需要说明的是,两个运动管道之间的重合度是指两个运动管道在时间维度重合部分的运动管道区段之间的IoU。
示例2,如图11中b部分所示,若两个运动管道的运动方向夹角的余弦值小于第四阈值,即运动方向不匹配,则两个运动管道匹配不成功。
示例3,如图11中c部分所示,若两个运动管道时间维度重叠部分对应的运动管道区段之间的交并比小于第三阈值,即重合度不匹配,则两个运动管道匹配不成功。
需要说明的是,由于进行匹配的两个运动管道之间在时间维度具有重叠部分,因此,该重叠部分对应的视频帧中,同一目标物体的位置信息有两个,可以通过求均值的方法确定时间维度重叠部分对应的视频帧中目标物体的位置,或者根据预设的规则指定以某一个运动管道,例如公共底面对应的视频帧的时间维度坐标更早的为准。
可选地,对视频的所有运动管道进行连接的匹配过程中可以使用贪婪算法,通过一系列局部最优的选择进行连接;也可以使用匈牙利算法,进行全局最优匹配。
根据贪婪算法进行运动管道连接具体包括:计算待匹配的两组运动管道两两之间的亲和度(亲和度定义为IoU*cos(θ),θ为运动方向夹角)形成亲和度矩阵。在亲和度矩阵中从最大亲和度开始循环选择匹配的运动管道对(Btube pair)直至匹配完成。
根据匈牙利算法进行运动管道连接具体包括:同样在得到亲和度矩阵之后,使用匈牙利算法选择运动管道对。
可选地,下面介绍本实施例中连接多个运动管道的一个具体过程:
1)将所有起始于第一帧的运动管道作为初始的跟踪轨迹,得到跟踪轨迹的集合;
2)将起始于第二帧的运动管道依次与跟踪轨迹集合中的跟踪轨迹进行连接,若满足预设条件则匹配成功,根据该运动管道更新原跟踪轨迹。若匹配不成功,则作为初始跟踪轨迹新增加到跟踪轨迹的集合中;
3)类似地,将起始于第i帧的运动管道依次与跟踪轨迹集合进行连接,其中,i为大于2小于t的正整数,t为视频的总帧数,若满足预设条件则匹配成功,根据该运动管道更新跟踪轨迹,若匹配不成功,则作为初始跟踪轨迹新增加到跟踪轨迹的集合中。
可选地,本实施例采用贪婪算法,从最大亲和度开始依次将管道与轨迹连接。
示例性的,设起始于第一帧的运动管道的第一组,起始于第二帧的运动管道为第二组,类似地,起始于第i帧的运动管道为第i组,若第一组包括10个运动管道,第二组包括8个运动管道,第三组包括13个运动管道。首先,将第一组中的10个运动管道作为10个初始跟踪轨迹,第二组分别与初始跟踪轨迹进行连接,若满足连接条件,则更新跟踪轨迹,若不满足连接条件,则保留原初始跟踪轨迹,假设第二组中的8个运动管道均满足连接条件,分别与10条初始跟踪轨迹中的8条初始跟踪轨迹连接成功,则跟踪轨迹集合中包括了8条更新的跟踪轨迹,另外2条跟踪轨迹则不变。下一步,将第三组中的13个运动管道分别与跟踪轨迹集合中的轨迹进行连接,由于跟踪轨迹集合中包括10条跟踪轨迹,即使都与第三组的运动管道成功连接,仍然有3个运动管道没有用于更新跟踪轨迹,这3个运动管道可以作为新增的初始跟踪轨迹,即跟踪轨迹集合中新增3条跟踪轨迹。
可选地,根据运动管道的置信度表确定运动管道对应的目标所属的目标类别,分别对不同目标类别的运动管道进行连接,以获取每个目标类别的目标物体的跟踪轨迹。
可选地,可以通过将运动管道差值补全的方法获得被遮挡部分的空间位置。
1005、输出跟踪轨迹;
将连接好的跟踪轨迹按照特定格式输出,例如视频流,轨迹日志等。
处理出跟踪轨迹后,将跟踪轨迹处理为边界框叠加在原始视频上并输出到显示器上,完成实时跟踪部署,实现目标跟踪。
本申请实施例中提供的目标跟踪方法设计预训练的神经网络模型,下面对该神经网络模型的训练方法进行介绍。
请参阅图12,为本申请实施例中神经网络模型的训练方法的一个实施例示意图。
1201、训练准备工作;
训练准备工作包括构建训练的硬件环境,搭建网络模型以及设置训练参数等。
准备训练所需的硬件环境,示例性的,使用32张V100-32G显卡,采用了4个节点的分布式集群,推断过程使用1张V100-16G显卡,在单机情况下完成。
获取视频数据集,可以选用公开数据集,例如MOT数据集。可选地,还可以对数据集中的视频样本进行处理,以提高数据分布的多样性,获得更好的模型泛化能力。可选地,对视频进行的处理包括分辨率缩放,对色彩空间进行白化处理,对视频色彩进行随机HSL(一种色彩空间,或者说色彩表示方式。H:色相,S:饱和度,L:明度)抖动,对视频帧进行随机水平翻转等。
设置训练参数,包括批大小、学习率、优化器模型等,示例性的,批处理大小为32,学习率从10^(-3)开始,并在损失稳定时减小5倍以更好收敛。训练迭代25K次后网络基本收敛。为了增加模型泛化能力,采用了10^(-5)的二阶正则损失,其动量系数为0.9。
1202、根据人工标注的轨迹信息进行拆分,获取运动管道的真值;
获取公开数据集中视频样本的人工标注的轨迹信息,包括目标ID以及每个视频帧中该目标物体的位置框。
根据人工标注的轨迹信息进行拆分,获取每帧中目标物体的位置框为公共底面的运动管道。基于运动管道的第一种数据格式,通过15个数据来表示运动管道。
获取运动管道的具体方法如下:
将跟踪轨迹拆分为单个视频帧的位置框,将每个位置框作为双四棱台结构中的公共底面,并在跟踪轨迹中向前和向后延伸,确定双四棱台结构的另外两个底面,由此得到具有公共底面的双四棱台结构,即该单个视频帧对应的运动管道。
将跟踪轨迹拆分为运动管道的方式有多种:
可选地,根据预设的管道长度进行拆分,即设定双四棱台结构中三个底面之间的间隔,例如,公共底面与另外两个底面之间的间隔均为4,运动管道的长度为8。
可选地,在拆分过程中,在保证双四棱台结构与原跟踪轨迹对应区段之间IoU大于或等于85%的条件下,尽可能延长运动管道在时间维度的长度,将时间维度最长的结构作为最终的扩展后结构。如图13所示。由于运动管道(Btube)的结构为线性的,真实跟踪轨迹(ground truth)的结构为非线性的,所以长的运动管道往往无法更好的拟合运动轨迹,即随着长度延长,IoU会较低(IoU<η)。IoU较大(IoU>η)的运动管道长度通常较短。本申请实施例中,将满足最低IoU阈值的长度最长的运动管道作为拆分后的运动管道,可以在较好的拟合原轨迹的同时扩大时间感受野。如图13所示,运动管道的重叠部分(Overlap Part)可以用于运动管道之间的连接匹配。
类似地,对视频样本中所有目标物体的跟踪轨迹进行拆分,获取多个运动管道的真值。
1203、将视频样本输入初始网络模型进行训练,获取运动管道的预测值;
将视频样本输入初始网络模型中进行训练,输出运动管道的预测值。
可选地,该初始网络模型为三维(3D)卷积神经网络或递归神经网络等,其中,3D卷积神经网络包括:3D残差神经网络或3D特征金字塔网络等。可选地,该神经网络模型为3D残差神经网络和3D特征金字塔网络的组合。
将视频样本输入该初始网络模型,输出所有目标物体的运动管道。
输出的运动管道的数据格式为图8所示的类型,具体的,输入视频I,I∈R^(t×h×w×3),其中,R代表实数域,t代表视频的帧数,h×w代表视频分辨率,3代表RGB色域,输出为运动管道0,0∈R^(t×h’×w’×15),其中,R代表实数域,t代表视频的帧数,h′×w′代表神经网络输出的特征图的分辨率。即输出了t×h’×w’个运动管道,其中,每一个视频帧对应h’×w’个运动管道。
可选地,还输出运动管道的置信度,置信度用于指示运动管道对应的目标物体的类别。
需要说明的是,步骤1202与步骤1203的执行顺序不做限定。
1204、计算训练损失;
由于步骤1202中根据人工标注的轨迹信息进行拆分,获取的运动管道的真值的数据格式(R^(t×h′×w′×15),其中t×h′×w′为运动管道的数量)为运动管道的第一种数据格式;
而步骤1203中初始网络模型输出的运动管道的数据格式(R^(n×15),其中n为运动管道的数量),为运动管道的第二种数据格式。
为了根据真值和预测值计算训练损失值,需要将将步骤1202获取的运动管道真实值和神经网络模型输出的运动管道统一到一个数据格式下。
可选地,本申请实施例中,将运动管道的真值转换为第二种数据格式。请参见图14,由于神经网络模型输出的t×h’×w’个运动管道,包括t×h’×w’个P点,图14中仅以P1和P2为例进行示意,t×h’×w’个P点是分布于时间和空间三个维度上的三维点阵,为实现数据转换,需要将n个运动管道真值转换到类似的三维点阵中,采用以下的规则进行转换:若三维点阵中的一个点位于运动管道的真值对应的双四棱台结构的公共底面中,则将该运动管道真值分配于该点对应的运动管道的位置上。若一个点阵中的点位于多个运动管道真值对应的公共底面(即目标重叠场景),则优先分配体积较小的运动管道。分配完成后,将得到格式同样为R^(t×h’×w’×15)的运动管道真值T,需要说明的是,其中有些点没有被分配到真值,此时可以使用0来补位,同时该真实值伴随一个0/1真值表来表征是否为补位管道。该真值表A’可以作为运动管道真值对应的置信度。
将真值转换到第二种数据格式后,可以计算真值(T)与预测值(0)之间的损失。
可选地,损失函数L为:
L=L1+L2
L1=-ln(Iou(T,O))
L2=CrossEntropy(A,A′)
其中,IoU(T,O)代表运动管道真值(T)与运动管道预测值(0)之间的交并比,A为运动管道预测值(0)的置信度,A′为运动管道真值(T)的置信度,CrossEntropy为交叉熵。
1205、根据训练损失,使用优化器优化神经网络模型。
根据步骤1204获取的训练损失L,通过优化器更新参数,优化神经网络模型,最终得到可以用于实现本申请实施例中目标跟踪方法的神经网络模型。
优化器的类型有多种,可选地,可以是BGD(batch gradient descent)算法、SGD(stochastic gradient descent)算法,或MBGD(mini-batch gradient descent)算法等。
请参阅图15,为本申请实施例中一种目标跟踪方法的另一个实施例示意图;
本方案中,目标跟踪装置可以实时地对视频中的运动目标进行跟踪。
具体的,
1501、***初始化;
方法开始,先进行目标跟踪装置的***初始化,完成装置启动准备工作;
1502、获取视频内容;
可以是目标跟踪装置实时采集的视频,或者是通过通信网络获取的视频。
1503、通过神经网络模型计算,得到运动管道集合;
将1502获取的视频输入预训练的神经网络模型,将得到输入的视频的运动管道集合,包括每个视频帧对应的目标物体的运动管道。
1504、基于贪婪算法(greedy algorithm,又称贪心算法)将运动管道依次连接为跟踪轨迹;
贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。可以理解的是连接运动管道的算法可以替换为其他算法,此处不做限定。
1505、输出跟踪轨迹;
需要说明的是,对于单目标物体的跟踪,输出为一个目标物体的跟踪轨迹,对于多目标跟踪,可以输出每个目标物体的跟踪轨迹,具体地,可以将跟踪轨迹处理为每个视频帧中的边界框叠加在原始视频上通过显示模块显示。
考虑到视频为实时拍摄的视频,目标跟踪装置将继续获取新拍摄得到的视频内容,重复执行步骤1502至步骤1505,直至目标跟踪任务结束,此处不在赘述。
上面介绍了本申请提供的目标跟踪方法,下面对实现该目标跟踪方法的目标跟踪装置进行介绍,请参阅图16,为本申请实施例中目标跟踪装置的一个实施例示意图。
图16中的各个模块的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
该目标跟踪装置,包括:
获取单元1601,用于获取第一视频,所述第一视频包括目标物体;
所述获取单元1601,还用于将所述第一视频输入预训练的神经网络模型,获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息;
所述获取单元1601,还用于根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹,所述跟踪轨迹包括所述目标物体在所述第一视频中的至少两个视频帧中的位置信息。
可选地,所述获取单元1601具体用于:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,其中,所述第一视频包括第一视频帧和第二视频帧;所述运动管道对应于时空维度中的四棱台,所述时空维度包括时间维度和二维空间维度,所述四棱台的第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述四棱台的第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所述四棱台的第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述四棱台的第二底面在所述二维空间维度的位置用于指示所述目标物体在所述第二视频帧中的第二位置信息;所述四棱台用于指示所述目标物体在所述第一视频的所述第一视频帧与所述二视频帧之间的所有视频帧中的位置信息。
可选地,所述获取单元1601具体用于:获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在至少三个视频帧中的位置信息和所述至少三个视频帧的时间信息,其中,所述第一视频包括第一视频帧、第二视频帧和第三视频帧;所述运动管道对应于时空维度中的双四棱台,所述双四棱台包括第一四棱台和第二四棱台,所述第一四棱台包括第一底面和第二底面,所述第二四棱台包括第一底面和第三底面,所述第一底面为所述第一四棱台和所述第二四棱台的公共底面,所述第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所第三底面在所述时间维度的位置用于指示所述第三视频帧的第三时间信息,所述第一视频帧在所述第一视频中的时间顺序位于所述第二视频帧和所述第三视频帧之间,所述第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述第二底面在所述二维空间维度的位置指示所述目标物体在所述第二视频帧中的第二位置信息,所述第三底面在所述二维空间维度的位置指示所述目标物体在所述第三视频帧中的第三位置信息;所述双四棱台用于指示所述目标物体在所述第一视频的所述第二视频帧与所述三视频帧之间的所有视频帧中的位置信息。
可选地,所述获取单元1601具体用于:根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹。
可选地,所述跟踪轨迹具体包括:根据至少两个所述运动管道对应于时空维度中的四棱台连接形成的所述目标物体的跟踪轨迹。
可选地,所述运动管道的长度为预设值,所述运动管道的长度指示所述至少两个视频帧包括的视频帧的数量。
可选地,所述获取单元1601还用于:通过所述预训练的神经网络模型,获取所述目标物体的类别信息;根据所述目标物体的所述类别信息、所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹。
可选地,所述获取单元1601具体用于:通过所述预训练的神经网络模型,获取所述运动管道的置信度,所述运动管道的置信度用于确定所述运动管道对应的目标物体的所述类别信息。
可选地,所述装置还包括:处理单元1602,用于对所述运动管道进行删减,获取删减后的运动管道,所述删减后的运动管道用于获取所述目标物体的跟踪轨迹。
可选地,所述运动管道包括第一运动管道和第二运动管道;所述处理单元1602具体用于:若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除所述第一运动管道和所述第二运动管道中置信度较低的运动管道,所述第一运动管道和第二运动管道之间的重复率为所述第一运动管道和所述第二运动管道之间的交并比,所述第一运动管道和所述第二运动管道属于所述目标物体的运动管道,所述置信度指示运动管道对应的目标物体的类别为预设类别的概率。
可选地,所述处理单元1602具体用于:根据非极大值抑制算法对所述运动管道进行删减,获取删减后的运动管道。
可选地,所述删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值。
可选地,所述获取单元1601具体用于:对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹;所述预设条件包括以下一个或多个:所述第三运动管道和所述第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;所述第三运动管道的运动方向和所述第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,所述运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,所述距离包括欧式距离。
可选地,所述获取单元1601具体用于:对所述运动管道分组,获取t组运动管道,t为所述第一视频中视频帧的总数,所述t组运动管道中第i运动管道组包括所有起始于所述第一视频中第i个视频帧的运动管道,所述i大于或等于1,且小于或等于t;当i为1时,将第i运动管道组中的运动管道作为初始的跟踪轨迹,得到跟踪轨迹集合;按照运动管道组的编号顺序,依次将所述第i运动管道组中的运动管道与所述跟踪轨迹集合中的跟踪轨迹进行连接,获取至少一条跟踪轨迹。
可选地,所述获取单元1601具体用于:将第一视频样本输入所述初始网络模型中训练,获取目标物体损失;根据所述目标物体损失更新所述初始网络模型中的权重参数,获取所述预训练的神经网络模型。
可选地,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道。
可选地,所述目标物体损失具体包括:运动管道真值与运动管道预测值之间的交并比,以及运动管道真值的置信度与运动管道预测值的置信度之间的交叉熵,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道,所述运动管道真值的置信度为所述运动管道真值对应的目标物体的类别属于预设目标物体类别的概率,所述运动管道预测值的置信度为所述运动管道预测值对应的目标物体的类别属于预设目标物体类别的概率。
可选地,所述初始网络模型包括三维卷积神经网络或递归神经网络。
可选地,所述处理单元1602还用于:将所述第一视频划分为多个视频片段;
所述获取单元1601具体用于:将所述多个视频片段分别输入所述预训练的神经网络模型,获取所述运动管道。
本申请实施例提供的目标跟踪装置有多种实现形式,可选地,目标跟踪装置包括视频采集模块、目标跟踪模块和输出模块。其中,视频采集模块,用于获取包括运动目标物体的视频,目标跟踪模块用于输入视频,通过本申请实施例提供的目标跟踪方法输出目标物体的跟踪轨迹,输出模块用于将跟踪轨迹叠加在视频中向用户显示。
在另一种可能的实现方式中,请参阅图17,为本申请实施例中目标跟踪装置的另一个实施例示意图。目标跟踪装置包括视频采集模块、目标跟踪模块,可以理解为前端设备。为实现目标跟踪方法,需前端设备和后端设备协同处理。
如图17所示,视频采集模块,可以是监控摄像头,摄像机,手机或车载图像传感器等中的视频采集模块,负责捕捉视频数据作为跟踪算法的输入;
目标跟踪模块,可以是摄像头处理器,手机处理器、车载处理单元等设备中的处理单元,用于接收视频输入以及后端设备发送的控制信息,控制信息例如跟踪目标类别,跟踪数量,精度控制,模型超参数等。本申请实施例的目标跟踪方法主要部署在该模块中。具体请参阅图18对该目标跟踪模块的介绍。
后端设备包括输出模块和控制模块。
如图17所示,输出模块,例如可以是后台监视器、打印机或硬盘等装置的显示单元,用于显示或车窗跟踪结果;
控制模块,用于分析输出的结果,以及接收用户的指令,并将该指令发送给前端的目标跟踪模块。
请参阅图18,为本申请实施例中目标跟踪装置的另一个实施例示意图。
该目标跟踪装置包括:视频预处理模块1801,预测模块1802和运动管道连接模块1803。
其中,视频预处理模块1801,用于将输入的视频切分为合适的片段,并进行视频分辨率,色彩空间的调整与归一化等。
预测模块1802用于从输入视频片段中提取时空特征并进行预测,输出目运动管道及运动管道的所属类别信息,此外,还可以对目标运动管道的未来位置进行预测。预测模块1802包括两个子模块:
目标类别预测模块18021:基于3D卷积神经网络输出的特征,例如置信度值预测目标所属类别。
运动管道预测模块18022:通过3D卷积神经网络输出的特征预测目标当前运动管道的位置,即运动管道在时空维度的坐标。
运动管道连接模块1803,分析预测模块中输出的运动管道,如果该目标是首次出现则初始化其为新的跟踪轨迹,根据运动管道之间的时空特征相似性以及空间位置临近度作为连接运动管道所需的连接特征。根据运动管道以及运动管道连接特征,通过分析运动管道在空间上的位置重合特性以及时空特征相似性将运动管道连接成为完整的跟踪轨迹。
将连接好的跟踪轨迹按照特定格式输出,例如视频流,轨迹日志等。
请参阅图19,为本申请实施例中电子设备的一个实施例示意图。
该电子设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1901和存储器1902,该存储器1902中存储有程序或数据。
其中,存储器1902可以是易失性存储或非易失性存储。可选地,处理器1901是一个或多个中央处理器(CPU,central processing unit,该CPU可以是单核CPU,也可以是多核CPU。处理器1901可以与存储器1902通信,在电子设备1900上执行存储器1902中的一系列指令。
该电子设备1900还包括一个或一个以上有线或无线网络接口1903,例如以太网接口。
可选地,尽管图19中未示出,电子设备1900还可以包括一个或一个以上电源;一个或一个以上输入输出接口,输入输出接口可以用于连接显示器、鼠标、键盘、触摸屏设备或传感设备等,输入输出接口为可选部件,可以存在也可以不存在,此处不做限定。
本实施例中电子设备1900中的处理器1901所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。
请参阅图20,为本申请实施例提供的一种芯片硬件结构图。
本申请实施例提供了一种芯片***,可以用于实现该目标跟踪方法,具体地,图3和图4所示的基于卷积神经网络的算法可以在图20所示的NPU芯片中实现。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路503,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
统一存储器506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器505(direct memory access controller,DMAC)被搬运到权重存储器502中。输入数据也通过DMAC被搬运到统一存储器506中。
BIU为Bus Interface Unit,即总线接口单元510,用于AXI总线与DMAC和取指存储器509 Instruction Fetch Buffer的交互。
总线接口单元510(bus interface unit,BIU),用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器506或将权重数据搬运到权重存储器502中或将输入数据数据搬运到输入存储器501中。
向量计算单元507可以包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如Pooling(池化),Batch Normalization(批归一化),LocalResponse Normalization(局部响应归一化)等。
在一些实现中,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图3和图4所示的卷积神经网络中各层的运算可以由矩阵计算单元212或向量计算单元507执行。
在本申请的各实施例中,为了方面理解,进行了多种举例说明。然而,这些例子仅仅是一些举例,并不意味着是实现本申请的最佳实现方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (41)

1.一种目标跟踪方法,其特征在于,包括:
获取第一视频,所述第一视频包括目标物体;
将所述第一视频输入预训练的神经网络模型,获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息;
根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹,所述跟踪轨迹包括所述目标物体在所述第一视频中的至少两个视频帧中的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息具体包括:
获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,其中,
所述第一视频包括第一视频帧和第二视频帧;
所述运动管道对应于时空维度中的四棱台,所述时空维度包括时间维度和二维空间维度,所述四棱台的第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述四棱台的第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所述四棱台的第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述四棱台的第二底面在所述二维空间维度的位置用于指示所述目标物体在所述第二视频帧中的第二位置信息;
所述四棱台用于指示所述目标物体在所述第一视频的所述第一视频帧与所述二视频帧之间的所有视频帧中的位置信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息具体包括:
获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在至少三个视频帧中的位置信息和所述至少三个视频帧的时间信息,其中,
所述第一视频包括第一视频帧、第二视频帧和第三视频帧;
所述运动管道对应于时空维度中的双四棱台,所述双四棱台包括第一四棱台和第二四棱台,所述第一四棱台包括第一底面和第二底面,所述第二四棱台包括第一底面和第三底面,所述第一底面为所述第一四棱台和所述第二四棱台的公共底面,所述第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所第三底面在所述时间维度的位置用于指示所述第三视频帧的第三时间信息,所述第一视频帧在所述第一视频中的时间顺序位于所述第二视频帧和所述第三视频帧之间,所述第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述第二底面在所述二维空间维度的位置指示所述目标物体在所述第二视频帧中的第二位置信息,所述第三底面在所述二维空间维度的位置指示所述目标物体在所述第三视频帧中的第三位置信息;
所述双四棱台用于指示所述目标物体在所述第一视频的所述第二视频帧与所述三视频帧之间的所有视频帧中的位置信息。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹具体包括:
根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述跟踪轨迹具体包括:
根据至少两个所述运动管道对应于时空维度中的四棱台连接形成的所述目标物体的跟踪轨迹。
6.根据权利要求2至5中任一项所述的方法,其特征在于,
所述运动管道的长度为预设值,所述运动管道的长度指示所述至少两个视频帧包括的视频帧的数量。
7.根据权利要求1至6中任一项所述的方法,其特征在于,
所述方法还包括:
通过所述预训练的神经网络模型,获取所述目标物体的类别信息;
所述根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹包括:
根据所述目标物体的所述类别信息、所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹。
8.根据权利要求7所述的方法,其特征在于,所述通过所述预训练的神经网络模型,获取所述运动管道对应的目标物体的类别信息具体包括:
通过所述预训练的神经网络模型,获取所述运动管道的置信度,所述运动管道的置信度用于确定所述运动管道对应的目标物体的所述类别信息。
9.根据权利要求1至8中任一项所述的方法,其特征在于,
所述根据所述运动管道获取所述目标物体的跟踪轨迹之前,所述方法还包括:
对所述运动管道进行删减,获取删减后的运动管道,所述删减后的运动管道用于获取所述目标物体的跟踪轨迹。
10.根据权利要求9所述的方法,其特征在于,
所述对所述运动管道进行删减,获取删减后的运动管道具体包括:
所述运动管道包括第一运动管道和第二运动管道;
若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除所述第一运动管道和所述第二运动管道中置信度较低的运动管道,所述第一运动管道和第二运动管道之间的重复率为所述第一运动管道和所述第二运动管道之间的交并比,所述第一运动管道和所述第二运动管道属于所述目标物体的运动管道,所述置信度指示运动管道对应的目标物体的类别为预设类别的概率。
11.根据权利要求9所述的方法,其特征在于,
所述对所述运动管道进行删减,获取删减后的运动管道具体包括:
根据非极大值抑制算法对所述运动管道进行删减,获取删减后的运动管道。
12.根据权利要求9所述的方法,其特征在于,
所述删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值。
13.根据权利要求2至12中任一项所述的方法,其特征在于,
所述根据所述运动管道获取所述目标物体的跟踪轨迹具体包括:
对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹;
所述预设条件包括以下一个或多个:
所述第三运动管道和所述第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;
所述第三运动管道的运动方向和所述第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,所述运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,所述距离包括欧式距离。
14.根据权利要求2至12中任一项所述的方法,其特征在于,
所述根据所述运动管道获取所述目标物体的跟踪轨迹具体包括:
对所述运动管道分组,获取t组运动管道,t为所述第一视频中视频帧的总数,所述t组运动管道中第i运动管道组包括所有起始于所述第一视频中第i个视频帧的运动管道,所述i大于或等于1,且小于或等于t;
当i为1时,将第i运动管道组中的运动管道作为初始的跟踪轨迹,得到跟踪轨迹集合;
按照运动管道组的编号顺序,依次将所述第i运动管道组中的运动管道与所述跟踪轨迹集合中的跟踪轨迹进行连接,获取至少一条跟踪轨迹。
15.根据权利要求1至14中任一项所述的方法,其特征在于,
所述预训练的神经网络模型由初始网络模型训练后得到,所述方法还包括:
将第一视频样本输入所述初始网络模型中训练,获取目标物体损失;
根据所述目标物体损失更新所述初始网络模型中的权重参数,获取所述预训练的神经网络模型。
16.根据权利要求15所述的方法,其特征在于,所述目标物体损失具体包括:
运动管道真值与运动管道预测值之间的交并比,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道。
17.根据权利要求15所述的方法,其特征在于,所述目标物体损失具体包括:
运动管道真值与运动管道预测值之间的交并比,以及运动管道真值的置信度与运动管道预测值的置信度之间的交叉熵,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道,所述运动管道真值的置信度为所述运动管道真值对应的目标物体的类别属于预设目标物体类别的概率,所述运动管道预测值的置信度为所述运动管道预测值对应的目标物体的类别属于预设目标物体类别的概率。
18.根据权利要求15至17中任一项所述的方法,其特征在于,
所述初始网络模型包括三维卷积神经网络或递归神经网络。
19.根据权利要求1至18中任一项所述的方法,其特征在于,
所述将所述第一视频输入预训练的神经网络模型,获取所述目标物体的运动管道具体包括:
将所述第一视频划分为多个视频片段;
将所述多个视频片段分别输入所述预训练的神经网络模型,获取所述运动管道。
20.一种目标跟踪装置,其特征在于,包括:
获取单元,用于获取第一视频,所述第一视频包括目标物体;
所述获取单元,还用于将所述第一视频输入预训练的神经网络模型,获取所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息;
所述获取单元,还用于根据所述目标物体在至少两个视频帧中的位置信息,和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹,所述跟踪轨迹包括所述目标物体在所述第一视频中的至少两个视频帧中的位置信息。
21.根据权利要求20所述的装置,其特征在于,所述获取单元具体用于:
获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在所述第一视频的至少两个视频帧中的时间信息和位置信息,其中,
所述第一视频包括第一视频帧和第二视频帧;
所述运动管道对应于时空维度中的四棱台,所述时空维度包括时间维度和二维空间维度,所述四棱台的第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述四棱台的第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所述四棱台的第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述四棱台的第二底面在所述二维空间维度的位置用于指示所述目标物体在所述第二视频帧中的第二位置信息;
所述四棱台用于指示所述目标物体在所述第一视频的所述第一视频帧与所述二视频帧之间的所有视频帧中的位置信息。
22.根据权利要求20所述的装置,其特征在于,所述获取单元具体用于:
获取所述目标物体的运动管道,所述运动管道用于指示所述目标物体在至少三个视频帧中的位置信息和所述至少三个视频帧的时间信息,其中,
所述第一视频包括第一视频帧、第二视频帧和第三视频帧;
所述运动管道对应于时空维度中的双四棱台,所述双四棱台包括第一四棱台和第二四棱台,所述第一四棱台包括第一底面和第二底面,所述第二四棱台包括第一底面和第三底面,所述第一底面为所述第一四棱台和所述第二四棱台的公共底面,所述第一底面在所述时间维度的位置用于指示所述第一视频帧的第一时间信息,所述第二底面在所述时间维度的位置用于指示所述第二视频帧的第二时间信息,所第三底面在所述时间维度的位置用于指示所述第三视频帧的第三时间信息,所述第一视频帧在所述第一视频中的时间顺序位于所述第二视频帧和所述第三视频帧之间,所述第一底面在所述二维空间维度的位置用于指示所述目标物体在所述第一视频帧中的第一位置信息,所述第二底面在所述二维空间维度的位置指示所述目标物体在所述第二视频帧中的第二位置信息,所述第三底面在所述二维空间维度的位置指示所述目标物体在所述第三视频帧中的第三位置信息;
所述双四棱台用于指示所述目标物体在所述第一视频的所述第二视频帧与所述三视频帧之间的所有视频帧中的位置信息。
23.根据权利要求21或22所述的装置,其特征在于,所述获取单元具体用于:
根据所述运动管道获取所述目标物体在所述第一视频中的跟踪轨迹。
24.根据权利要求21至23中任一项所述的装置,其特征在于,所述跟踪轨迹具体包括:
根据至少两个所述运动管道对应于时空维度中的四棱台连接形成的所述目标物体的跟踪轨迹。
25.根据权利要求21至24中任一项所述的装置,其特征在于,
所述运动管道的长度为预设值,所述运动管道的长度指示所述至少两个视频帧包括的视频帧的数量。
26.根据权利要求20至25中任一项所述的装置,其特征在于,所述获取单元还用于:
通过所述预训练的神经网络模型,获取所述目标物体的类别信息;
根据所述目标物体的所述类别信息、所述目标物体在至少两个视频帧中的位置信息和所述至少两个视频帧的时间信息获取所述目标物体在所述第一视频中的跟踪轨迹。
27.根据权利要求26所述的装置,其特征在于,所述获取单元具体用于:
通过所述预训练的神经网络模型,获取所述运动管道的置信度,所述运动管道的置信度用于确定所述运动管道对应的目标物体的所述类别信息。
28.根据权利要求20至27中任一项所述的装置,其特征在于,所述装置还包括:
处理单元,用于对所述运动管道进行删减,获取删减后的运动管道,所述删减后的运动管道用于获取所述目标物体的跟踪轨迹。
29.根据权利要求28所述的装置,其特征在于,所述运动管道包括第一运动管道和第二运动管道;
所述处理单元具体用于:
若第一运动管道和第二运动管道之间的重复率大于或等于第一阈值,则删除所述第一运动管道和所述第二运动管道中置信度较低的运动管道,所述第一运动管道和第二运动管道之间的重复率为所述第一运动管道和所述第二运动管道之间的交并比,所述第一运动管道和所述第二运动管道属于所述目标物体的运动管道,所述置信度指示运动管道对应的目标物体的类别为预设类别的概率。
30.根据权利要求28所述的装置,其特征在于,所述处理单元具体用于:
根据非极大值抑制算法对所述运动管道进行删减,获取删减后的运动管道。
31.根据权利要求28所述的装置,其特征在于,
所述删减后的运动管道中的任意一个运动管道的置信度大于或等于第二阈值。
32.根据权利要求21至31中任一项所述的装置,其特征在于,所述获取单元具体用于:
对所述运动管道中满足预设条件的第三运动管道和第四运动管道进行连接,获取所述目标物体的跟踪轨迹;
所述预设条件包括以下一个或多个:
所述第三运动管道和所述第四运动管道在时间维度重叠部分的区段之间的交并比大于或等于第三阈值;
所述第三运动管道的运动方向和所述第四运动管道的运动方向之间的夹角的余弦值大于或等于第四阈值,所述运动方向为在时空维度按照预设规则指示运动管道中目标物体的位置变化的向量;以及,运动管道的神经网络特征向量之间的距离小于或等于第五阈值,所述距离包括欧式距离。
33.根据权利要求21至31中任一项所述的装置,其特征在于,所述获取单元具体用于:
对所述运动管道分组,获取t组运动管道,t为所述第一视频中视频帧的总数,所述t组运动管道中第i运动管道组包括所有起始于所述第一视频中第i个视频帧的运动管道,所述i大于或等于1,且小于或等于t;
当i为1时,将第i运动管道组中的运动管道作为初始的跟踪轨迹,得到跟踪轨迹集合;
按照运动管道组的编号顺序,依次将所述第i运动管道组中的运动管道与所述跟踪轨迹集合中的跟踪轨迹进行连接,获取至少一条跟踪轨迹。
34.根据权利要求20至33中任一项所述的装置,其特征在于,所述获取单元具体用于:
将第一视频样本输入所述初始网络模型中训练,获取目标物体损失;
根据所述目标物体损失更新所述初始网络模型中的权重参数,获取所述预训练的神经网络模型。
35.根据权利要求34所述的装置,其特征在于,所述目标物体损失具体包括:
运动管道真值与运动管道预测值之间的交并比,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道。
36.根据权利要求34所述的装置,其特征在于,所述目标物体损失具体包括:
运动管道真值与运动管道预测值之间的交并比,以及运动管道真值的置信度与运动管道预测值的置信度之间的交叉熵,所述运动管道真值为所述第一视频样本中目标物体的跟踪轨迹拆分得到的运动管道,所述运动管道预测值为将所述第一视频样本输入所述初始网络模型得到的运动管道,所述运动管道真值的置信度为所述运动管道真值对应的目标物体的类别属于预设目标物体类别的概率,所述运动管道预测值的置信度为所述运动管道预测值对应的目标物体的类别属于预设目标物体类别的概率。
37.根据权利要求34至36中任一项所述的装置,其特征在于,
所述初始网络模型包括三维卷积神经网络或递归神经网络。
38.根据权利要求20至37中任一项所述的装置,其特征在于,所述处理单元还用于:
将所述第一视频划分为多个视频片段;
所述获取单元具体用于:
将所述多个视频片段分别输入所述预训练的神经网络模型,获取所述运动管道。
39.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于调用所述程序指令,执行如权利要求1至19中任一项所述的方法。
40.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求1至19中任一项所述的方法。
41.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至19中任一项所述的方法。
CN202010519876.2A 2020-06-09 2020-06-09 目标跟踪方法和目标跟踪装置 Pending CN113781519A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010519876.2A CN113781519A (zh) 2020-06-09 2020-06-09 目标跟踪方法和目标跟踪装置
PCT/CN2021/093852 WO2021249114A1 (zh) 2020-06-09 2021-05-14 目标跟踪方法和目标跟踪装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010519876.2A CN113781519A (zh) 2020-06-09 2020-06-09 目标跟踪方法和目标跟踪装置

Publications (1)

Publication Number Publication Date
CN113781519A true CN113781519A (zh) 2021-12-10

Family

ID=78834470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010519876.2A Pending CN113781519A (zh) 2020-06-09 2020-06-09 目标跟踪方法和目标跟踪装置

Country Status (2)

Country Link
CN (1) CN113781519A (zh)
WO (1) WO2021249114A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114972814A (zh) * 2022-07-11 2022-08-30 浙江大华技术股份有限公司 一种目标匹配的方法、装置及存储介质
CN115451962A (zh) * 2022-08-09 2022-12-09 中国人民解放军63629部队 一种基于五变量卡诺图的目标跟踪策略规划方法
CN117011816A (zh) * 2022-05-04 2023-11-07 动态Ad有限责任公司 跟踪对象的踪迹段清理

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116504068A (zh) * 2023-06-26 2023-07-28 创辉达设计股份有限公司江苏分公司 车道级车流量的统计方法、装置、计算机设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182469A1 (en) * 2010-01-28 2011-07-28 Nec Laboratories America, Inc. 3d convolutional neural networks for automatic human action recognition
CN106169187A (zh) * 2015-05-18 2016-11-30 汤姆逊许可公司 用于对视频中的物体设界的方法和设备
CN107492113A (zh) * 2017-06-01 2017-12-19 南京行者易智能交通科技有限公司 一种视频图像中运动目标位置预测模型训练方法、位置预测方法及轨迹预测方法
CN108182696A (zh) * 2018-01-23 2018-06-19 四川精工伟达智能技术股份有限公司 图像处理方法、装置及多目标定位跟踪***
CN110032926A (zh) * 2019-02-22 2019-07-19 哈尔滨工业大学(深圳) 一种基于深度学习的视频分类方法以及设备
CN110188719A (zh) * 2019-06-04 2019-08-30 北京字节跳动网络技术有限公司 目标跟踪方法和装置
CN110188637A (zh) * 2019-05-17 2019-08-30 西安电子科技大学 一种基于深度学习的行为识别技术方法
US20200057935A1 (en) * 2017-03-23 2020-02-20 Peking University Shenzhen Graduate School Video action detection method based on convolutional neural network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1854282B1 (en) * 2004-11-05 2019-02-27 Briefcam Ltd. Method and system for spatio-temporal video warping
EP1955205B1 (en) * 2005-11-15 2012-08-29 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for producing a video synopsis
CN101702233B (zh) * 2009-10-16 2011-10-05 电子科技大学 视频帧中基于三点共线标记点的三维定位方法
EP3023938A1 (en) * 2014-11-21 2016-05-25 Thomson Licensing Method and apparatus for tracking the motion of image content in a video frames sequence using sub-pixel resolution motion estimation
CN108509830B (zh) * 2017-02-28 2020-12-01 华为技术有限公司 一种视频数据处理方法及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182469A1 (en) * 2010-01-28 2011-07-28 Nec Laboratories America, Inc. 3d convolutional neural networks for automatic human action recognition
CN106169187A (zh) * 2015-05-18 2016-11-30 汤姆逊许可公司 用于对视频中的物体设界的方法和设备
US20200057935A1 (en) * 2017-03-23 2020-02-20 Peking University Shenzhen Graduate School Video action detection method based on convolutional neural network
CN107492113A (zh) * 2017-06-01 2017-12-19 南京行者易智能交通科技有限公司 一种视频图像中运动目标位置预测模型训练方法、位置预测方法及轨迹预测方法
CN108182696A (zh) * 2018-01-23 2018-06-19 四川精工伟达智能技术股份有限公司 图像处理方法、装置及多目标定位跟踪***
CN110032926A (zh) * 2019-02-22 2019-07-19 哈尔滨工业大学(深圳) 一种基于深度学习的视频分类方法以及设备
CN110188637A (zh) * 2019-05-17 2019-08-30 西安电子科技大学 一种基于深度学习的行为识别技术方法
CN110188719A (zh) * 2019-06-04 2019-08-30 北京字节跳动网络技术有限公司 目标跟踪方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RUI HOU 等: "Tube Convolutional Neural Network (T-CNN) for Action Dectection in Videos", ARXIV, 2 August 2017 (2017-08-02), pages 1 - 11 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117011816A (zh) * 2022-05-04 2023-11-07 动态Ad有限责任公司 跟踪对象的踪迹段清理
CN114972814A (zh) * 2022-07-11 2022-08-30 浙江大华技术股份有限公司 一种目标匹配的方法、装置及存储介质
CN114972814B (zh) * 2022-07-11 2022-10-28 浙江大华技术股份有限公司 一种目标匹配的方法、装置及存储介质
CN115451962A (zh) * 2022-08-09 2022-12-09 中国人民解放军63629部队 一种基于五变量卡诺图的目标跟踪策略规划方法
CN115451962B (zh) * 2022-08-09 2024-04-30 中国人民解放军63629部队 一种基于五变量卡诺图的目标跟踪策略规划方法

Also Published As

Publication number Publication date
WO2021249114A1 (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
WO2021175050A1 (zh) 三维重建方法和三维重建装置
CN111291809B (zh) 一种处理装置、方法及存储介质
CN112990211B (zh) 一种神经网络的训练方法、图像处理方法以及装置
CN113781519A (zh) 目标跟踪方法和目标跟踪装置
CN111931764B (zh) 一种目标检测方法、目标检测框架及相关设备
CN110222718B (zh) 图像处理的方法及装置
CN111062263B (zh) 手部姿态估计的方法、设备、计算机设备和存储介质
CN111401517B (zh) 一种感知网络结构搜索方法及其装置
CN111368972B (zh) 一种卷积层量化方法及其装置
CN113591872A (zh) 一种数据处理***、物体检测方法及其装置
CN112258565B (zh) 图像处理方法以及装置
CN111368656A (zh) 一种视频内容描述方法和视频内容描述装置
CN114049512A (zh) 模型蒸馏方法、目标检测方法、装置及电子设备
CN115222896B (zh) 三维重建方法、装置、电子设备及计算机可读存储介质
CN113569598A (zh) 图像处理方法和图像处理装置
CN111738074B (zh) 基于弱监督学习的行人属性识别方法、***及装置
Raza et al. Framework for estimating distance and dimension attributes of pedestrians in real-time environments using monocular camera
CN113673505A (zh) 实例分割模型的训练方法、装置、***及存储介质
CN110705564B (zh) 图像识别的方法和装置
Khoshboresh-Masouleh et al. Robust building footprint extraction from big multi-sensor data using deep competition network
CN113139967A (zh) 点云实例分割方法及相关***、存储介质
CN116758212A (zh) 基于自适应去噪算法的3d重建方法、装置、设备及介质
Yu et al. Visual Perception and Control of Underwater Robots
CN115984093A (zh) 基于红外图像的深度估计方法、电子设备以及存储介质
CN113065637B (zh) 一种感知网络及数据处理方法

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