CN111954886A - 对象追踪的系统和方法 - Google Patents

对象追踪的系统和方法 Download PDF

Info

Publication number
CN111954886A
CN111954886A CN201980003192.2A CN201980003192A CN111954886A CN 111954886 A CN111954886 A CN 111954886A CN 201980003192 A CN201980003192 A CN 201980003192A CN 111954886 A CN111954886 A CN 111954886A
Authority
CN
China
Prior art keywords
trajectory
objects
images
image
track
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.)
Granted
Application number
CN201980003192.2A
Other languages
English (en)
Other versions
CN111954886B (zh
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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN111954886A publication Critical patent/CN111954886A/zh
Application granted granted Critical
Publication of CN111954886B publication Critical patent/CN111954886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • 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/10Image acquisition modality
    • G06T2207/10048Infrared 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/20076Probabilistic image processing
    • 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/30236Traffic on road, railway or crossing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

一种方法可以包括获得由多相机拍摄的至少两个图像集。该方法还可以包括从每个图像集包含的至少一部分图像中检测一个或以上对象,以提取一个或以上与至少一个对象相关联的图像特征,并获得至少一个所述对象的轨迹。该方法还可以包括确定至少一个对象的轨迹的一个或以上轨迹特征;基于一个或以上轨迹特征和一个或以上图像特征,将在相机中追踪的对象与在一个或以上其他相机中追踪的第二对象相匹配。

Description

对象追踪的系统和方法
技术领域
本申请一般涉及图像处理技术,更具体地,涉及用于多相机追踪和/或单相机追踪的系统、方法和计算机存储介质。
背景技术
近年来,已采用许多方法来改进车辆追踪,这在智能交通系统(ITS)中是至关重要的。固定相机拍摄的图像可用于交通特征估计、交通异常检测、多相机追踪和其他应用。然而,交通环境中车辆的特征与一般对象(例如,行人)的特征不同,使得在没有重大修改的情况下,直接应用一般对象(例如,行人)的对象追踪模型来分析交通中车辆的图像更加困难。此外,不同车辆之间的相似度、高交通密度、严重的遮挡现象等使多目标和跨相机车辆追踪存在巨大挑战。因此,期望提供用于追踪交通中车辆的有效系统和方法,同时还可以使用方法和系统来精确且快速地追踪任何对象。
发明内容
在本申请的第一方面,提供了一种跨多相机的对象追踪系统。该系统可包括至少一个存储设备和至少一个处理器。至少一个存储介质可以存储可执行指令。所述至少一个处理器可以被配置为与至少一个所述存储设备通信,其中当执行所述可执行指令时,所述系统被配置为执行以下操作中的一个或以上。系统可以获得由多相机拍摄的至少两个图像集。对于每个所述图像集,系统可以从每个所述图像集中包含的至少一部分图像中检测一个或多个对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联。系统可以从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象的轨迹。系统还可以确定至少一个所述对象中的所述轨迹的一个或以上轨迹特征。基于所述轨迹的一个或以上轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,该系统还可以将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
在一些实施例中,一个或以上轨迹特征可包括与至少一个所述对象的所述轨迹相关联的移动方向信息,与所述轨迹相关联的地理位置信息或与所述轨迹相关联的时间信息中的至少一个。
在一些实施例中,所述轨迹可包括至少两个点,每个点表示至少一个所述对象的地理位置,所述对象与其中一个所述图像相对应,以确定至少一个所述对象的所述轨迹的一个或以上所述轨迹特征,系统可以将轨迹划分为多个片段,每个片段包括若干点,所述若干点与至少两个所述图像中的若干图像相对应。系统还可以基于每个片段中的所述若干点确定每个所述片段中的平均点,并且基于每个所述片段的所述平均点确定一个或以上轨迹特征。
在一些实施例中,基于每个片段的所述平均点,确定一个或以上轨迹特征,系统可以指定每个片段的所述平均点的所述地理位置作为其中一个轨迹特征。
在一些实施例中,基于每个片段的所述平均点,可以确定一个或以上轨迹特征,基于多个片段中任意两个相邻片段对应的平均点,系统可以确定多个运动方向;并指定多个运动方向作为一个或以上所述轨迹特征之一。
在一些实施例中,基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,可以将在其中一个所述图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配,比较与所述第一对象相关联的一个或以上所述图像特征,和与所述第二对象相关联的一个或以上所述图像特征,系统可以确定第一相似度。比较所述第一对象的第一轨迹的一个或以上轨迹特征中的至少一个,和所述第二对象的第二轨迹的一个或以上轨迹特征中的至少一个,系统还可以确定第二相似度。基于所述第一相似度或所述第二相似度中的至少一个,系统可以进一步确定所述第一对象是否与至少部分所述第二对象匹配。
在一些实施例中,比较所述第一对象的第一轨迹的所述轨迹特征中的至少一个,和所述第二对象的第二轨迹的所述轨迹特征中的至少一个,确定第二相似度,系统可以确定与所述第一轨迹相关联的第一运动方向信息,所述第一运动方向信息包括所述第一轨迹的一个或以上第一运动方向。系统还可以确定与所述第二轨迹相关联的第二运动方向信息,所述第二运动方向信息包括所述第二轨迹的一个或以上第二运动方向。系统还可以确定每个第一运动方向和每个第二运动方向之间的相似度,以获得一个或以上与所述第一轨迹和所述第二轨迹相关联的相似度;并且比较所述第一轨迹的至少一个轨迹特征,和所述第二轨迹的至少一个轨迹特征,在一个或以上所述相似度中,指定一个最大相似度作为所述第二相似度。
在一些实施例中,比较所述第一对象的第一轨迹的至少一个轨迹特征,和所述第二对象的第二轨迹的至少一个轨迹特征,确定第二相似度,系统可以确定与所述第一轨迹相关联的第一地理位置信息,所述第一地理位置信息包括所述第一轨迹上的一个或以上第一地理位置。系统可以确定与所述第二轨迹相关联的第二地理位置信息,所述第二地理位置信息包括所述第二轨迹上的一个或以上第二地理位置。系统还可以确定每个所述第一地理位置和每个所述第二地理位置之间的地理距离,以获得与所述第一轨迹和所述第二轨迹相关联的一个或以上地理距离。基于一个或以上所述地理距离中的最小地理距离,系统还可以分别确定所述第一轨迹的至少一个所述轨迹特征与所述第二轨迹的至少一个所述轨迹特征之间的所述第二相似度。
在一些实施例中,比较所述第一对象的第一轨迹的至少一个轨迹特征,和所述第二对象的第二轨迹中的至少一个轨迹特征,确定第二相似度,系统可以确定与所述第一轨迹相关联的第一时间信息,所述第一时间信息包括所述第一轨迹的第一时间段;并且确定与所述第二轨迹相关联的第二时间信息,所述第二时间信息包括所述第二轨迹的第二时间段。系统可以进一步基于所述第一时间段与所述第二时间段之间的交并比,确定所述第一轨迹的至少一个所述轨迹特征和所述第二轨迹的至少一个所述轨迹特征之间的所述第二相似度。
在一些实施例中,基于所述第一相似度或所述第二相似度中的至少一个,确定所述第一对象是否与至少部分所述第二对象匹配,基于所述一个或以上轨迹特征,系统可以确定轨迹可访问性,所述轨迹可访问性表示所述第一对象的所述第一轨迹可以访问所述第二对象的所述第二轨迹的概率;并基于所述轨迹可访问性,确定所述第一对象是否与至少部分所述第二对象匹配。
在一些实施例中,基于所述第一相似度和所述第二相似度,确定所述第一对象是否与所述第二对象至少部分匹配,系统可以响应于确定出包括满足第一条件的所述第一相似度或满足第二条件的所述第二相似度中的至少一个,确定所述第一对象与所述第二对象匹配。
在一些实施例中,系统可以根据由所述多相机中的至少一个拍摄的场景,调整所述第一条件或所述第二条件中的至少一个。
在一些实施例中,系统可以响应于所述第一对象和所述第二对象匹配,统一所述第一轨迹和所述第二轨迹,来确定所述第一对象或所述第二对象的目标轨迹。
在一些实施例中,为了确定至少一个所述对象的所述轨迹的一个或以上轨迹特征,系统可以平滑至少一个所述对象的所述轨迹,获得至少一个所述对象的平滑轨迹;以及基于至少一个所述对象的所述平滑轨迹,确定一个或以上所述轨迹特征。
在本申请的第二方面,提供了一种对象追踪系统。该系统可包括至少一个存储设备和至少一个处理器。至少一个存储介质可以存储一组可执行指令。至少一个所述处理器可以被配置为与至少一个所述存储介质通信,其中,当执行所述指令时,至少一个所述处理器被指示使所述系统执行以下操作。系统可以获得由相机收集的图像集,并从所述图像集中包含的每个图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联。系统可以确定对应于多个图像中的每个图像的一个或以上所述对象的地理位置。基于一个或以上与至少一个所述对象相关联的所述图像特征,以及至少一个所述对象的所述地理位置,该系统还可以将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
在本申请的第三方面,提供了一种跨多相机对象追踪方法。该方法可以包括获得由多相机拍摄的至少两个图像集。对于每个所述图像集,从每个所述图像集包含的至少一部分图像中检测一个或以上对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联。该方法可以包括从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象的轨迹。该方法还可以包括确定至少一个所述对象的所述轨迹的一个或以上轨迹特征。基于所述轨迹的一个或以上轨迹特征和一个或以上与至少一个所述对象的相关联的所述图像特征,该方法还可以将在其中一个所述图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
在本申请的第四方面,提供了一种对象追踪方法。该方法可以包括获得由相机收集的图像集,并且从所述图像集包含的每个所述图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象中相关联。该方法还可以包括确定至少一个所述对象中的地理位置,所述对象对应于每个所述图像。基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象中的所述地理位置,该方法还可以将在其中一个所述图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
在本申请的第五方面,提供了一种非暂时性计算机可读存储介质。当由至少一个处理器执行时,所述非暂时性计算机可读存储介质可以包括至少一组所述指令指示至少一个所述处理器实现该方法。所述方法可以包括下述操作中的一个或以上。该方法可以包括获得由多相机拍摄的至少两个图像集。对于每个所述图像集,该方法可以包括从每个所述图像集包含的至少一部分图像中检测一个或以上对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联。该方法可以包括从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象中的所述轨迹。该方法还可以包括确定至少一个所述对象的所述轨迹的一个或以上轨迹特征确。基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,该方法还可以包括将在其中一个所述图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
在本申请的第六方面,提供了一种非暂时性计算机可读存储介质。当由至少一个处理器执行时,所述非暂时性计算机可读存储介质可以包括至少一组所述指令指示至少一个所述处理器实现该方法。所述方法可以包括下述操作中的一个或以上。该方法可以包括获得由相机收集的图像集,并从所述图像集中包含的每个图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图形特征与至少一个所述对象相关联。该方法还可以包括确定至少一个所述对象中的地理位置,所述对象对应于每个所述图像。基于一个或以上与至少一个对象相关联的所述图像特征,和至少一个所述对象的地理位置,该方法可以进一步将在其中一个所述图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
在本申请的第七方面,提供了一种对象追踪系统。该系统可以包括获取模块,被配置为获取由相机收集的图像集;检测模块,被配置为从所述图像集包含的每个图像中检测一个或以上对象,通过采用对象检测到模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;确定模块,被配置为确定至少一个所述对象中的地理位置,所述对象与至少两个所述图像中的每一个相对应;基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象中的所述地理位置,匹配模块,被配置为将在其中一个所述图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
在本申请的第八方面,提供了一种对象追踪系统。该系统可以包括获取模块,被配置为获取由多相机拍摄的至少两个图像集;单相机追踪模块,被配置为对于每个所述图像集,从所述图像集中包含的至少一部分图像中检测一个或以上对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象中的轨迹;以及多相机追踪模块,被配置为确定至少一个所述对象中的所述轨迹的一个或以上轨迹特征;基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,将在其中一个所述图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
这里描述的方法、系统和/或程序将作为示例性的实施例进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例所示的示例性对象追踪系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;
图4A是根据本申请的一些实施例所示的示例性处理设备的框图;
图4B是根据本申请的一些实施例所示的另一示例性处理设备的框图;
图5是根据本申请的一些实施例所示的单相机对象追踪的示例性过程的流程图;
图6是根据本申请的一些实施例所示的匹配两个对象的示例性过程的流程图;
图7是根据本申请的一些实施例所示的匹配单相机追踪的两条轨道的示例性过程的流程图;
图8是根据本申请的一些实施例所示的跨多相机对象追踪的示例性过程的流程图;
图9是根据本申请的一些实施例所示的多相机追踪的示例性过程的流程图;
图10是根据本申请的一些实施例所示的确定两条轨迹之间的相似度的示例性过程的流程图;
图11是根据本申请的一些实施例所示的确定两条轨迹之间的相似度的示例性过程的流程图;
图12A和12B是根据本申请的一些实施例所示的车辆的速度变化的图;
图13A是根据本申请的一些实施例所示的跨多相机追踪车辆的图;以及
图13B是根据本申请的一些实施例所示的如图13A所示的跨多相机追踪车辆的轨迹的图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其他情况下,为了避免不必要地模糊本申请的一些方面,本申请已经以相对高级别概略地描述了公知的方法、程序、系统、组件和/或电路。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
应当理解的是,本文使用的“系统”、“引擎”、“单元”、“模块”和/或“块”是用于按升序区分不同级别的不同构件、元素、部件、部分或组件的方法。然而,如果其他词语可以实现相同的目的,则可通过其他表达来替换所述词语。
通常,这里使用的词语“模块”、“单元”或“块”是指体现在硬件或固件中的逻辑,或者是软件指令的集合。这里描述的模块、单元或块可以实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或从它们自身调用和/或可以响应检测到的事件或中断来调用。配置用于在计算设备上执行的软件模块/单元/块(例如,如图2所示的处理器201)可以在计算机可读介质上提供,例如光盘、数字图像采集光盘、闪存驱动器、磁盘或任何其他有形介质或作为数字下载(并且最初可以以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以嵌入固件中,例如EPROM。将进一步了解,硬件模块(或单元或块)可以包括在连接的逻辑组件中,例如门和触发器和/或可以包括在可编程单元中,例如可编程门阵列或处理器。这里描述的模块(或单元或块)或计算设备功能可以实现为软件模块(或单元或块),但是可以用硬件或固件表示。通常,这里描述的模块(或单元或块)指的是逻辑模块(或单元或块),其可以与其他模块(或单元或块)组合或分成子模块(或子单元或子块),尽管它们的物理组织或存储。
应当理解,当单元、发动机、模块或块被称为“接通”、“连接到”或“耦合到”另一个单元、发动机、模块或块时,除非上下文另有明确说明,否则它可以直接在其他单元、发动机、模块或块上,连接或耦合或与其通信,或者可以存在插入单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关联所列条目或其组合。
这里使用的术语仅用于描述特定示例和实施例的目的,而不是限制性的。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解的是,本申请中的术语“包括”和/或“包含”只详述存在整体、装置、行为、陈述的特征、步骤、元件、操作和/或部件,但是不排除存在或添加一个或多个其他整体、设备、行为、特征、步骤、元件、操作、部件和/或其组合。
本申请的一个方面涉及对象追踪的系统和方法。多相机对象追踪的系统可以获得由多相机拍摄的至少两个图像集。每个图像集可以包括由其中一个多相机拍摄的多个图像。对于每个所述图像集,系统还可以从至少一部分所述多个图像中检测一个或多个对象,并从至少一部分所述多个图像中的每一个中提取一个或以上图像特征,所述图像特征与至少一个检测到的对象相关联。系统还可以从至少一部分所述图像集中追踪至少一个所述对象,以获取至少一个所述对象的轨迹。系统还可以确定至少一个所述对象的所述轨迹的一个或以上轨迹特征。基于所述轨迹的一个或以上轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,该系统还可以将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。因此,系统可以融合所述轨迹特征和所述图像特征以追踪一个或以上对象,这可以提高多相机追踪的准确性。另外,系统可以确定与所述第一对象和所述第二对象相关联的所述图像特征间的第一相似度并确定与所述第一对象和所述第二对象相关联的至少一个所述轨迹特征间的第二相似度。系统可以通过确定第一相似度是否满足第一条件和第二相似度是否满足第二条件来确定第一对象是否与第二对象匹配。以这种方式,系统可以使用分层匹配技术来追踪多相机上的一个或以上对象,这可以进一步提高多相机追踪的准确性。
图1是根据本申请的一些实施例所示的示例性对象追踪系统的示意图。如图所示,对象追踪系统100可以包括服务器110、网络120、相机130、存储设备140、服务提供系统150。对象追踪系统100可以应用于智能交通系统、安全系统、线上到线下服务提供系统等。例如,对象追踪系统100可以应用于交通特征估计、交通异常检测、车辆异常检测等。
服务器110可以处理与对象追踪系统100有关的信息和/或数据,以执行本申请中描述的一个或以上的功能。例如,服务器110可以执行单相机追踪和/或多相机追踪。服务器110可以是单一服务器或服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在相机130和/或存储设备140中的信息和/或数据。又例如,服务器110可以直接连接到相机130和/或存储设备140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110(或其一部分)可以在具有本申请的图2中所示的一个或以上组件的计算设备200上实现。
在一些实施例中,服务器110可包括处理设备112。根据本申请的一些实施例,处理设备112可以处理与对象追踪系统100有关的信息和/或数据,以执行本申请中描述的一个或以上的功能。例如,处理设备112可以将在图像集包含的多个图像之一中检测到的对象(例如,车辆)与在多个图像中的一个或以上其他图像中检测到的对象相匹配。又例如,处理设备112可以将在一个多相机图像集中追踪的对象(例如,车辆)与在多相机的一个或以上其他相机中追踪的对象匹配。附加地或替代地,处理设备112可以生成被追踪对象的轨迹。
在一些实施例中,处理设备112可包括一个或以上处理设备(例如,单核处理设备或多核处理器)。仅作为示例,处理设备112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
网络120可以包括可以促进对象追踪系统100的信息和/或数据交换的任何合适的网络。在一些实施例中,对象追踪系统100中的一个或以上组件(例如,服务器110、相机130和存储设备140)可以经由网络120将信息和/或数据发送到对象追踪系统100中的另一个组件。例如,服务器110可以经由网络120从相机130获取图像集数据。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络等或其任意组合。
相机130可以是和/或包括能够获取图像数据的任何合适的设备。示例性相机130可包括相机(例如,数码相机、模拟相机、IP相机(IPC)等)、图像收集记录器、扫描仪、移动电话、平板计算设备、可穿戴计算设备、红外图像设备(例如,热图像设备)等。在一些实施例中,相机130可包括枪式相机130-1、球型相机130-2、集成相机130-3、双目相机130-4、单目相机等。在一些实施例中,相机130可以包括电荷耦合器件(CCD)、互补金属氧化物半导体(CMOS)传感器、N型金属氧化物半导体(NMOS)、接触图像传感器(CIS)和/或任何其他合适的图像传感器。由相机130获取的图像数据可以包括图像,或任何有关图像的数据,例如图像的一个或以上像素点(或被称为像素点值)的值(例如,图像的一个或以上像素点的亮度、灰度值、强度、色度、对比度)、RGB数据、图像采集数据、音频信息、定时信息、位置数据等。
存储设备140可以存储数据和/或指令。数据和/或指令可以从例如服务器110、相机130和/或对象追踪系统100的任何其他组件获取。例如,存储设备140可以存储由相机130获取的图像数据和/或由处理设备112生成的一个或以上轨迹。在一些实施例中,存储设备140可以存储服务器110(例如,处理设备112)可以执行或使用的数据和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,存储设备140包括大容量存储设备、可移动存储设备、易失性读写内存、只读内存(ROM)等或其任意组合。示例性质量存储设备可以包括磁盘、光盘、固态驱动器等。示例性可移动存储设备可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可以包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可以包括掩模型只读内存(MROM)、可编程只读内存(PROM)、可擦除可编程只读内存(PEROM)、电可擦除可编程只读内存(EEPROM)、光盘只读内存(CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,所述存储设备140可在云端平台上执行。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备140可以连接到网络120以与对象追踪系统100的一个或以上组件(例如,服务器110、相机130等)通信。对象追踪系统100的一个或以上组件可以经由网络120访问存储设备140中存储的数据或指令。在一些实施例中,存储设备140可以直接连接到对象追踪系统100的一个或以上组件(例如,服务器110、相机130等)或与之通信。在一些实施例中,存储设备140可以是服务器110或相机130的一部分。在一些实施例中,对象追踪系统100的一个或以上组件(例如,服务器110、相机130等)可以具有访问存储设备140的许可。在一些实施例中,当满足一个或以上条件时,对象追踪系统100的一个或以上组件可以读取和/或修改存储设备140中存储的信息。
在一些实施例中,服务提供系统140可以被配置为提供服务,例如对象追踪服务、异常检测服务、线上到线下服务(例如,出租车服务、拼车服务、食品配送服务、聚会组织服务、快递服务等)、无人驾驶服务、基于地图的服务(例如、路线规划服务)、实时聊天服务、查询服务、Q&A服务等。服务提供系统140可以生成服务响应,例如,通过将从用户接收的用于对象追踪的服务请求发送到处理设备112以进行对象追踪。例如,服务提供系统140可以包括智能交通系统,安全系统,线上到线下服务提供系统等。
在一些实施例中,服务提供系统140可以是与对象追踪系统交互的设备,平台或其他实体。在一些实施例中,服务提供系统140还可以在具有数据处理的设备中实现,例如移动设备140-1、平板电脑140-2、膝上型计算机140-3和服务器140-4等或其任何组合。在一些实施例中,移动设备140-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能图像采集相机、对讲机等或其任意组合。在一些实施例中,该可穿戴设备可包括一智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能穿着、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售终端(POS)等或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强实境设备可以包括Google Glass、Oculus Rift、HoloLens或Gear VR等。在一些实施例中,服务器140-4可以包括数据库服务器、文件服务器、邮件服务器、网络服务器、应用服务器、计算服务器、媒体服务器、通信服务器等。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,对象追踪系统100可以包括一个或以上终端设备。又例如,处理设备112可以集成到相机130中。然而,这些变化和修改不会背离本申请的范围。
图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和/或软件组件的示意图。计算设备200可用于实现如本文所述的对象追踪系统100的任何组件。例如,服务器110(例如,处理设备112)和/或相机130可以通过其硬件、软件程序、固件或其组合在计算设备200上实现。虽然只是显示了一个这样的计算设备,但为方便起见,如本文所述的与对象追踪系统100有关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负载。
如图2所示,计算设备200可以包括处理器201、存储器203、输入/输出(I/O)205和通信端口207。处理器201可以执行计算机指令(例如,程序代码)并根据本申请中其他地方描述的技术执行对象追踪系统100的功能。计算机指令可以包括例如例程、程序、对象、组件、数据结构、过程、模块和功能,其执行本申请中其他地方描述的特定功能。例如,处理器201可以基于由相机130获取的图像集数据来确定对象的轨迹。在一些实施例中,处理器201可以包括接口电路和其中的处理电路。接口电路可以被配置为从通信端口207接收电子信号,其中电子信号编码结构化数据和/或指令以供处理电路处理。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由通信端口207从处理电路发出电子信号。
在一些实施例中,处理器201可以包括一个或以上硬件处理器,诸如微控制器、微处理器、精简指令集计算机(RISC)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高阶RISC机器(ARM)、可编程逻辑器件(PLD)、能够执行一个或以上功能的任何电路或处理器等或其任何组合。
仅仅为了说明,在计算设备200中可以仅描述一个处理器。然而,应该注意的是,本申请中的计算设备200还可以包括多个处理器,由此执行的操作和/或方法步骤如本申请中所描述的一个处理器也可以由多个处理器联合地或单独地执行。例如,如果在计算设备200的本申请处理器中执行操作A和操作B,应当理解,操作A和操作B也可以由计算设备200中的两个或以上不同的处理器联合或分开执行(例如,第一处理器执行操作A、第二处理器执行操作B,反之亦然,或者第一和第二处理器共同执行操作A和B)。
存储器203可以存储从服务器110、相机130和/或对象追踪系统100的任何其他组件获取的数据/信息。在一些实施例中,存储器203包括大容量存储设备、可移动存储设备、易失性读写内存、只读内存(ROM)等或其任意组合。例如,质量存储设备可以包括磁盘、光盘、固态驱动器等。可移动存储设备可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘和磁带等。易失性读取和写入内存可以包括随机存取内存(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。示例性ROM可以包括掩模型只读内存(MROM)、可编程只读内存(PROM)、可擦除可编程只读内存(EPROM)、电可擦除可编程只读内存(EEPROM)、光盘只读内存(CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,存储器203可以存储一个或以上程序和/或指令以执行在本申请中描述的示例性方法。例如,存储器203可以存储用于对象追踪的程序。
I/O 205可以输入及/或输出信号、数据、信息等。在一些实施例中,I/O 205可以使用户能够与计算设备200进行交互。在一些实施例中,I/O 205可以包括输入设备和输出设备或与其通信,以促进计算设备200与输入设备或输出设备之间的通信。示例性的输入设备可以包括键盘、鼠标、触控屏幕、麦克风等或其任何组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影仪等或其任何组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、弯曲屏幕、电视设备、阴极射线管(CRT)、触摸屏幕等或其任何组合。
通信端口207可以连接到网络(例如,网络120)以促进数据通信。通信端口207可以在计算设备200与对象追踪系统100的一个或以上其他组件或外部源之间建立连接。连接可以是有线连接、无线连接、可以启用数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等或其任何组合。有线连接可以包括例如电缆、光缆、电话线等或其任意组合。无线连接可以包括例如蓝牙链路、Wi-Fi链路、WiMax链路、WLAN链路、紫蜂链路、移动网络链路(例如3G、4G、5G等)等或任意组合。在一些实施例中,通信端口207可以是和/或包括标准化通信端口,诸如RS232、RS485等。在一些实施例中,通信端口207可以是专门设计的通信端口。
图3是根据本申请的一些实施例所示的移动设备300的示例性硬件组件和/或软件组件的示意图。在一些实施例中,可以在移动设备300上实现对象追踪系统100的一个或以上组件(例如,图中未示出的终端设备、处理设备112和/或相机130)。
如图3所示,移动设备300可以包括通信端口310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,移动操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或用于接收和呈现与对象追踪系统100有关的信息的任何其他合适的移动应用程序。通过I/O 350,用户与信息流的交互可以实现并通过网络120提供给对象追踪系统100。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述之一个或以上元素的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若计算机被适当的程序化,计算机亦可用作服务器。
图4A是根据本申请的一些实施例所示的示例性处理设备112的框图。如图4所示,处理设备112可包括获取模块410、检测模块420、确定模块430和匹配模块440。
获取模块410可以被配置为用于对象追踪的数据。例如,获取模块410可以获取由一个或以上相机拍摄的一个或以上图像集。在一些实施例中,获取模块410可以从相机130、存储设备140、服务提供系统150或任何其他存储设备获取一个或以上图像集。获取模块410可以不时地(例如,周期性地)获取一个或以上图像集。又例如,获取模块410可以是配置用于获取对象检测模型。对象检测模型可以被配置用于检测和/或定位图像中的一个或以上对象。
检测模块420可以被配置用于检测和/或定位来自图像集中包括的多个图像的至少一部分中的每一个的一个或以上对象。在一些实施例中,检测模块420可以被配置用于提取一个或以上图像特征,其与使用例如对象检测模型中的至少一个检测到的一个或以上对象相关联。在一些实施例中,检测模块420可以被配置用于确定图像中检测到的对象的位置。确定模块430可以被配置用于确定与多个图像中的每一个相对应的一个或以上对象中的至少一个的地理位置。在一些实施例中,确定模块430可以基于特定图像中的对象的位置来确定与特定图像对应的对象的地理位置。例如,对象的地理位置可以由地理坐标系中的地理坐标表示。特定图像中的对象的位置可以由图像坐标系中的坐标表示。处理设备112可以基于图像坐标系和地理坐标系之间的变换关系将图像坐标系中的坐标转换为地理坐标系中的地理坐标。
匹配模块440可以被配置用于确定在不同图像中呈现的两个匹配对象。例如,匹配模块440可以基于与一个或以上对象中的至少一个相关联的一个或以上图像特征和一个或以上对象中的至少一个的地理位置,将在多个图像之一中检测到的第一对象与在多个图像的一个或以上其他图像中检测到的第二对象匹配。如这里所使用的,分别在两个或以上不同的图像中检测到的两个或以上“匹配对象”可以指代两个或以上对象是相同的对象。在一些实施例中,匹配模块440可以通过匹配在多个图像的两个相邻图像中检测到的第一对象和第二对象,将在多个图像中的一个中检测到的第一对象与在多个图像的一个或以上其他图像中检测到的第二对象相匹配。例如,匹配模块440可以将第一图像中呈现的第一对象与相邻于第一图像的第二图像中呈现的一个对象(即,第二对象)相匹配。在一些实施例中,术语“相邻”意味着在时间序列中接近(例如,紧邻,或在短的固定范围内)。与第一对象匹配的一个或以上对象之一可以被确定为与第一对象相同和/或被指定为第一对象。
在一些实施例中,匹配模块440可以确定相机追踪的所述第一对象的轨迹。在一些实施例中,匹配模块440可以获得检测和/或追踪的第一对象的地理位置,所述地理位置对应于所述确定模块430确定的至少一部分多个图像。基于从至少一部分多个图像中检测和/或追踪的所述第一对象的地理位置,匹配模块440可以确定所述第一对象的轨迹。
图4B是根据本申请的一些实施例所示的另一示例性处理设备112的框图。如图4所示,处理设备112可包括获取模块450、单相机追踪模块420和多相机追踪模块430。
获取模块450可以被配置用于对象追踪的数据。例如,获取模块450可以获取由多相机拍摄的至少两个图像集。在一些实施例中,获取模块450可以从相机130、存储设备140、服务提供系统150或任何其他存储设备获取至少一个图像集。获取模块450可以不时地(例如,周期性地)获取至少一个图像集。又例如,获取模块450可以配置用于获取对象检测模型。对象检测模型可以被配置用于检测和/或定位至少一个图像集的图像的一个或以上对象。
单相机追踪模块460可以追踪由单个相机拍摄的多个图像中的对象。例如,单相机追踪模块460可以从每个图像集包含的多个图像中检测和/或定位一个或以上对象。又例如,单相机追踪模块460可以提取一个或以上与至少一个对象相关联的图像特征。作为又一示例,单相机追踪模块460可以将在一个图像中呈现的对象与在多个图像的一个或以上其他图像中呈现的另一个对象相匹配以追踪该对象。再例如,单相机追踪模块460可以确定被追踪对象的轨迹。
多相机追踪模块470可以被配置为追踪多相机上的对象(车辆)。多相机追踪模块470还可包括特征提取单元471、相似性确定单元472和匹配单元473。特征提取单元471可以被配置为从追踪对象的每一个图像中提取对象的一个或以上图像特征。特征提取单元471可以被配置为提取被追踪对象的一个或以上轨迹特征。相似性确定单元472可以被配置用于确定与由两个不同相机追踪的两个对象相关联的一个或以上图像特征的第一相似度。相似性确定单元472可以被配置用于确定与两个对象相关联的至少一个轨迹特征中的第二相似度。匹配单元473可以被配置用于确定由两个或以上不同的相机追踪的两个匹配对象。例如,基于第一相似度和第二相似度,匹配单元473可以被配置用于确定由一个相机追踪的对象是否与由至少部分的一个或以上其他相机追踪的另一个对象相匹配。在一些实施例中,基于第一相似度、第二相似度和两个对象之间的轨迹可访问性,匹配单元473可以被配置用于确定由一个相机追踪的对象是否与由一个或以上其他相机追踪的另一个对象相匹配。在一些实施例中,基于两个所述对象的所述轨迹,匹配单元473可以被配置用于确定两个所述对象匹配的目标轨迹。
模块可以是处理设备112的全部或部分的硬件电路。模块也可以实现为由处理设备112读取和执行的应用程序或一组指令。此外,模块可以是硬件电路和应用/指令的任何组合。例如,当处理设备112正在执行应用程序/一组指令时,模块可以是处理设备112的一部分。处理设备112中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。
应当注意以上对处理设备112的描述是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,可以省略上述模块的一个或以上。例如,可以省略致动模块420。在一些实施例中,模块的两个或以上可以组合成单个模块,并且模块中的任何一个可以被分成两个或以上单元。例如,确定模块410和致动模块420可以集成到单个模块中。在一些实施例中,处理设备112还可包括一个或以上附加模块,例如存储模块。
图5是根据本申请的一些实施例所示的用于单相机对象追踪的示例性过程的流程图。在一些实施例中,过程500可以由对象追踪系统100执行。例如,过程500可以实现为存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU 340和/或图4中所示的一个或以上模块)可以执行一组指令并因此可以指示执行过程500。
在501中,处理设备112(例如,获取模块410)(例如,处理器201的处理电路)可以获取由相机拍摄的图像集。在一些实施例中,图像集可以是包括多个图像的图像序列。在一些实施例中,图像集可以是包括多个图像(也被称为帧)的视频。多个图像可以按时间顺序排列在图像集中。多个图像中的每一个可以对应于时间戳。图像集可以对应于从开始时间到结束时间的时间段。开始时间可以是多个图像的时间戳中的最早时间戳。结束时间可以是多个图像的时间戳中的最新时间戳。
相机可以是和/或包括能够获取本申请中其他地方描述的场景的图像集的任何合适的设备(例如,图1及其描述)。在一些实施例中,图像集可以由相机(例如,相机130)通过监视相机的范围(即,视野)内的区域来生成。图像集可以记录在一段时间内在相机范围内发生的场景(例如,一秒或以上、一分钟或以上、一小时或以上等)。例如,图像集可以记录在相机视野内移动的一个或以上的车辆或行人。在一些实施例中,处理设备112(例如,获取模块410)可以从相机130、存储设备140、服务提供系统150或任何其他存储设备获取图像集。处理设备112可以不时地(例如,周期性地)获取图像集。例如,处理设备112可以每秒,每分钟或每小时等从相机获取图像集。又例如,处理设备112可以实时从相机获取图像集。作为又一示例,处理设备112可以从相机响应获取图像集,以接收由服务提供系统150由用户(例如,警察)输入的对象追踪请求。
在502中,处理设备112(例如,检测模块420或确定模块430)(例如,处理器201的接口电路)可以从图像集包含的至少一部分多个图像中检测一个或以上对象,通过采用对象检测模型提取一个或以上与至少一个对象相关联的图像特征。包含在图像集中的多个图像可以在操作501的描述中描述。从图像检测到的对象可以包括人、车辆、动物、物理对象等,或其组合。在多个图像的至少一部分中呈现在不同图像中的一个或以上对象可以是不同的或相同的。例如,特定对象可以仅在多个图像中的几个连续图像中呈现。从不同图像检测到的一个或以上对象的计数或数量可以不同或相同。
在一些实施例中,对象检测模型可以被配置用于检测和/或定位图像中的一个或以上对象。例如,对象检测模型可以被配置用于使用边界框标记和/或定位输入图像中的对象。边界框可以指包围输入图像中的检测到的对象的框。边界框可以具有任何形状和/或尺寸。例如,边界框可以具有正方形、矩形、三角形、多边形、圆形、椭圆形、不规则形状等的形状。在一些实施例中,边界框可以是具有预设形状(例如,矩形、正方形、多边形、圆形、椭圆形)的最小边界框,并且将检测到的对象包围在输入图像中。对象检测模型可以被配置为输出具有用于标记对象的边界框的图像或者用检测到的对象输出边界框。在一些实施例中,对象检测模型可以被配置为提取和/或输出与图像中呈现的检测到的对象相关联的一个或以上图像特征。例如,对象检测模型可以被配置为由边界框标记的区域,并提取分割的区域的图像特征。由对象检测模型提取和/或输出的一个或以上图像特征也可以被称为特征图或矢量。示例性图像特征可包括低级特征(例如,边缘特征、纹理特征)、高级特征(例如,语义特征)、复杂特征(例如,深层级特征)等。示例性对象检测模型可以包括基于区域的卷积网络(R-CNN)、空间金字塔汇集网络(SPP-Net)、基于快速区域的卷积网络(Fast R-CNN)、基于更快的区域的卷积网络(Faster R-CNN))等。
处理设备112可以将多个图像的特定图像输入到对象检测模型中。对象检测模型可以检测特定图像中呈现的一个或以上对象,并使用边界框定位一个或以上检测到的对象中的至少一个。对象检测模型可以进一步从由边界框标记的区域中提取与一个或以上检测到的对象中的至少一个相关联的一个或以上图像特征。在一些实施例中,处理设备112可指定序列号或其他符号或识别一个或以上检测到的对象中的至少一个。
在503中,处理设备112(例如,检测模块420或确定模块430)(例如,处理器201的处理电路)可以确定与每个图像对应的至少一个对象的地理位置。如这里所使用的,当图像被相机拍摄或者在图像的时间戳上,对应于图像的对象的地理位置可以指所述对象所处的位置。在一些实施例中,基于特定图像中的对象的位置,处理设备112可以确定对应于特定图像的对象的地理位置。例如,对象的地理位置可以由地理坐标系中的地理坐标表示。特定图像中的对象的位置可以由图像坐标系中的坐标表示。基于图像坐标系和地理坐标系之间的变换关系,处理设备112可以将图像坐标系中的坐标转换为地理坐标系中的地理坐标。变换关系可以是对象追踪系统100的默认设置。
在一些实施例中,基于用于标记和/或定位对象的边界框,处理设备112可以确定特定图像中的对象的位置。例如,处理设备112可以将特定图像中的边界框的中心位置指定为特定图像中的对象的位置。又例如,基于边界框的参数,处理设备112可以确定对象在特定图像中的位置(例如,图像中边界框的顶点位置、边界框每边的长度等)。处理设备112可以将边界框表示为b=(x,y,w,h)。处理设备112可以根据等式1确定用于表示特定图像中的对象的位置的点的坐标,如下:
Figure BDA0002333757090000281
其中,x指的是图像坐标系中边界框的特定顶点(例如左上角)的水平坐标,y指图像坐标系中边界框特定顶点的纵坐标,w指沿图像坐标系的水平方向(即水平轴)的边界框的长度,h指的是沿着图像坐标系的纵向(即纵轴)的边界框的长度(或宽度),
Figure BDA0002333757090000282
是指c点在图像坐标系的水平坐标,
Figure BDA0002333757090000283
是图像坐标系中c点在的纵坐标。处理设备112还可以通过将图像坐标系中的点的坐标转换为地理坐标系中的对象的地理位置的地理坐标来确定对象的地理位置。处理设备112可以根据等式(2)确定对象的地理位置的地理坐标,如下:
(lon,lan,h)=M·(cx,cy,1)T (2),
其中,lon指的是对象的经度,lan指对象的纬度,h指对象的高度,M指的是图像坐标系和地理坐标系之间的变换矩阵(即变换关系)。变换矩阵可以是对象追踪系统100的默认设置。
在504中,基于与至少一个对象相关联的一个或以上图像特征和至少一个对象的地理位置,处理设备112(例如,匹配模块440)(例如,处理器201的处理电路)可以将在多个图像中的一个中检测到的第一对象与在多个图像的一个或以上其他图像中检测到的第二对象相匹配。如这里所使用的,分别在两个或以上不同的图像中检测到的两个或以上“匹配对象”可以指代两个或以上对象是相同的对象。
在一些实施例中,通过匹配在多个图像的两个相邻图像中检测到的第一对象和第二对象,处理设备112可以将在多个图像中的一个中检测到的第一对象与在多个图像的一个或以上其他图像中检测到的第二对象相匹配。例如,处理设备112可以将第一图像中呈现的第一对象与相邻于第二图像的第一图像中呈现的一个对象(即,第二对象)相匹配。在一些实施例中,术语“相邻”意味着在时间序列中接近(例如,紧邻,或在短的固定范围内)。与第一对象匹配的一个或以上对象之一可以被确定为与第一对象相同和/或被指定为第一对象。处理设备112还可以将第二图像中呈现的第一对象与相邻于第二图像的第三图像中呈现的一个或以上对象(即,第二对象)之一相匹配。处理设备112可以将第一对象与在多个图像的两个相邻图像中检测到的第二对象相匹配,直到处理设备112不能确定与第一对象相匹配的第二对象。然后,可以从多个图像或图像集(例如,视频)的至少一部分获得第一对象或第二对象的轨道。在一些实施例中,处理设备112可以提供和统一序列号或符号用于识别从多个图像响应中的至少一部分追踪的第一对象和第二对象,以匹配在多个图像中的一个中检测到的第一对象与多个图像的一个或以上其他图像中检测到的第二对象。多个图像的至少一部分中的匹配对象可以被指定为相同的序列号或符号。如这里所使用的,术语“轨道”可以指从多个连续(例如,连续)图像中检测,定位和/或识别对象。对象的轨迹可以包括对象的标识符(例如,序列号),多个连续图像中的每一个中的对象的位置,对应于多个连续图像中的每一个的地理位置等。如本文所使用的,图像集中的两个相邻图像可以指代在两个相邻图像之间没有布置其他图像。两个相邻的图像也可以被称为图像集中的两个连续图像。
在一些实施例中,至少部分基于与第一对象和第二对象相关联的一个或以上图像特征之间的第一相似度和/或第一对象的地理位置与第二对象之间的第二相似度,处理设备112可以将第一对象与在多个图像的两个相邻图像中检测到的第二对象相匹配。在一些实施例中,响应于确定第一相似度满足第一条件和/或第二相似度满足第二条件,处理设备112可以确定第一对象与第二对象相匹配。例如,响应于确定第一相似度超过第一阈值并且第二相似度超过第二阈值,处理设备112可以确定第一对象与第二对象相匹配。在一些实施例中,基于第一相似度和第二相似度,处理设备112可以确定第一对象和第二对象之间的目标相似度。例如,处理设备112可以将第一相似度和第二相似度之和确定为目标相似度。又例如,通过加权第一相似度和第二相似度,处理设备112可以确定加权和为目标相似度。作为又一示例,处理设备112可以将第一相似度和第二相似度的平均值确定为目标相似度。响应于确定总相似度超过阈值,处理设备112可以确定第一对象与第二对象相匹配。
在一些实施例中,两个相邻图像中的每一个可以包括多个对象。处理设备112可以从多个对象中确定多对匹配的对象。每对对象可以包括两个相邻图像的一个图像中的一个对象和两个相邻图像的另一个图像中的一个对象。基于对应于每对多对对象的第一相似度和第二相似度,处理设备112可以从多对对象中确定一对或以上匹配对象(例如,第一对象和第二对象)。例如,如果第一图像包括对象A和B,并且第二图像毗邻于第一图像包括对象C、D和F。处理设备112可以确定六对对象,包括(A,C)、(A,D)、(A,F)、(B,C)、(B,D)和(B,F)。基于对应于六对对象中的每对对象的第一相似度和第二相似度,处理设备112可以确定来自六对对象的匹配对象的一对或以上(例如,(A,C)、(B,F))。在一些实施例中,处理设备112可以确定与多对对象中的每对对象相关联的一个或以上图像特征之间的第一相似度。处理设备112可以确定每对对象的地理位置之间的第二相似度。在一些实施例中,通过采用匈牙利算法,基于第一相似度和第二相似度,处理设备112可以确定来自多对对象的一对或以上特定对匹配对象(即匹配的第一对象和第二对象)为匹配对象对(例如,匹配的第一对象和第二对象)。在一些实施例中,基于第一相似度和第二相似度,处理设备112可以确定每对对象的目标相似度,以获得多个目标相似度。处理设备112可以将多个目标相似度分类为若干组。在每个组中的目标相似度可以对应于在两个相邻图像中呈现的不同对象。例如,如果第一图像包括对象A和B,并且第二图像相邻于第一图像包括对象C,D和F,处理设备112可以确定六对对象,包括(A,C)、(A,D)、(A,F)、(B,C)、(B,D)和(B,F)。另外,处理设备112可以将对应于(A,C)、(B,D)的目标相似度分类为同一组,将(A,D)、(B,F)分类为另一组,并将(A,F)、(B,C)分类进入另一组。响应于确定若干组之一的目标相似度满足条件,处理设备112可以确定一对或以上来自多对对象的匹配对象的特定对(即匹配的第一对象和第二对象)作为匹配对象对(例如,匹配的第一对象和第二对象)。例如,如果几个组中特定组中的目标相似度的总和在几个组中是最大的,对应于多个组的特定组中的目标相似度的对象对可以被指定为匹配对象。又例如,如果几组中特定组中的每个目标相似度可以大于阈值,则可以将与多个组中的特定组中的目标相似度对应的对象对指定为匹配对象。
在一些实施例中,可以基于与该对对象相关联的距离来确定与一对对象相关联的相似度(例如,第一相似度和/或第二相似度)。这里使用的距离也可以被称为相似距离。示例性相似距离可包括欧几里德距离、曼哈顿距离、闵可夫斯基距离等。在一些实施例中,处理设备112可以确定与多对对象中的每对对象相关联的一个或以上图像特征之间的第一距离。处理设备112可以确定每对多对对象的地理位置之间的第二距离。基于第一距离和第二距离,处理设备112可以确定每对多对对象的目标距离以获取多个目标距离。处理设备112可以将多个目标距离分类为若干组。在几个组中的每个组中的目标距离可以对应于在两个相邻图像中呈现的不同对象。例如,如果第一图像包括对象A和B,并且第二图像相邻于第一图像包括对象C,D和F,处理设备112可以确定六对对象,包括(A,C)、(A,D)、(A,F)、(B,C)、(B,D)和(B,F)。另外,处理设备112可以将对应于(A,C)、(B,D)的目标距离分类为同一组,将(A,D)、(B,F)分类为另一组,并将(A,F)、(B,C)分类为另一组。响应于确定若干组之一的目标距离满足条件,处理设备112可以确定一对或以上来自多对对象的匹配对象的特定对(即匹配的第一对象和第二对象)作为匹配对象对(例如,匹配的第一对象和第二对象)。例如,如果几组中的特定组中的目标距离的总和是几组中目标距离之和中的最小值,在几个组的特定组中对应于目标距离的对象对可以被指定为匹配对象。又如,如果几组特定组中的每个目标距离小于阈值,则可以将与多个组中的特定组中的目标距离对应的对象对指定为匹配对象。
在一些实施例中,处理设备112可以确定用于对象追踪的损失函数。损失函数可以包括被配置用于确定与两个相邻图像中呈现的每对对象相关联的一个或以上图像特征之间的第一距离的第一个组件,和被配置用于确定每对对象的地理位置之间的第二距离的第二个组件。处理设备112可以确定与多对对象的一对或以上相对应的损失函数的值。一对或以上对象可以包括在两个相邻图像中呈现的不同对象。处理设备112可以将与损失函数的最小值相对应的特定对象对确定为匹配的第一对象和第二对象。关于匹配两个对象的更多描述可以在本申请的其他地方找到(例如,图6及其描述)。
在505中,处理设备112(例如,确定模块430或匹配模块440)(例如,处理器201的处理电路)可以确定在相机中追踪的第一对象的轨迹。在一些实施例中,处理设备112可以获取与在操作503中确定的多个图像的至少一部分中的每一个相对应地检测和/或追踪的第一对象的地理位置。基于从多个图像的至少一部分中的每一个中检测和/或追踪的第一对象的地理位置,处理设备112可以确定第一对象的轨迹。
在一些实施例中,第一对象的轨迹可以包括行进路线,第一对象沿着该行进路线在相机的视场内移动并且从相机的视野离开。在一些图像场景中,在一个或以上图像中不能检测和/或追踪第一对象(例如,车辆被阻挡),这可能导致第一对象的轨迹未完成。例如,处理设备112可以检测和/或追踪多个图像的若干图像中的第一对象,以获取第一对象的第一轨道。处理设备112可以检测和/或追踪一个或以上候选对象以获取一个或以上候选对象的一个或以上候选轨道(即,第二轨道)。处理设备112可以将第一对象的第一轨道与一个或以上候选轨道匹配,以确定第一对象的轨迹。如这里所使用的,从图像集中确定的两个匹配轨道可以指两个匹配的轨道属于同一对象(例如,车辆)并且访问两个匹配的轨道。关于匹配两个轨道的更多描述可以在本申请的其他地方找到(例如,图6及其描述)。
应当注意以上对过程500的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程500可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程500的顺序可能不是限制性的。例如,可以省略操作505。操作502和503可以集成到单个操作中。
图6是根据本申请的一些实施例所示的用于匹配两个对象的示例性过程的流程图。在一些实施例中,过程600可以由对象追踪系统100执行。例如,过程600可以实现为存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU 340和/或图4中所示的一个或以上模块)可以执行一组指令并因此可以指示执行过程600。在一些实施例中,可以执行过程600的一个或以上操作以实现如结合图5所描述的操作504的至少一部分。
在601中,处理设备112(例如,匹配模块440)(例如,处理器201的处理电路)可以确定损失函数。损失函数可以包括第一组件被配置用于确定与分别在两个相邻图像中呈现的每对多对对象相关联的一个或以上图像特征之间的第一距离。损失函数还可以包括第二分量被配置用于确定每对多对对象的地理位置之间的第二距离。一对对象可以包括在两个相邻图像中的一个中检测到的一个对象,以及在两个相邻图像的另一个图像中检测到的一个对象。例如,两个相邻的图像可以包括第一图像和第二图像。如果处理设备112检测到第一图像中的M个(例如2个)对象和第二图像中的N个(例如,3个)对象,处理设备112可以确定来自两个相邻图像的M×N(例如,2×3个)对象对。此外,处理设备112可以分别确定两个相邻图像中的两个对象和三个对象,例如在第一图像中检测到的A和B,以及在第二图像中检测到的C、D和F。处理设备112可以确定六对对象,包括(A,C)、(A,D)、(A,F)、(B,C)、(B,D)和(B,F)。又例如,两个相邻的图像可以包括第一图像和第二图像。如果处理设备112检测到第一图像中的M个(例如2个)对象和第二图像中的N个(例如,3个)对象,处理设备112可以确定来自两个相邻图像的M个(例如,2个)或N个(例如,3个)对象对。此外,处理设备112可以分别确定两个相邻图像中的两个对象和三个对象,例如在第一图像中检测到的A和B,以及在第二图像中检测到的C、D和F。处理设备112可以确定3对对象,包括(A,C)、(A,D)、(A,F)或3对对象,包括(B,C)、(B,D)和(B,F)。
如这里所使用的,与一对对象相关联的一个或以上图像特征之间的第一距离可以用于表示与该对对象相关联的一个或以上图像特征之间的相似性。第一距离也可以被称为相似距离。在一些实施例中,与该对对象相关联的一个或以上图像特征之间的第一距离越大,与该对对象相关联的一个或以上图像特征之间的相似性越小。一对对象的地理位置之间的第二距离可用于表示该对对象的地理位置之间的相似性。第二距离也可以被称为相似距离。在一些实施例中,该对对象的地理位置之间的第二距离越大,该对对象的地理位置之间的相似性越小。第一距离和/或第二距离可以包括欧几里德距离、曼哈顿距离、闵可夫斯基距离等。
在一些实施例中,损失函数可以由等式(3)表示如下:
losstracking(i,j)=||ri-rj||2g||gj-gj||2 (3),
其中,ri是指从两个相邻图像中的一个检测到的第一对象的图像特征,rj是指从两个相邻图像的另一个图像中检测到的第二对象的图像特征,gi是指第一对象的地理坐标,gj是指第二对象的地理坐标,和λg是指第二个组件的权值。λg可以是对象追踪系统100的默认设置。例如,λg可以是0到1范围内的常数值,例如0.05、0.1、0.2等。又例如,λg可以是超过1的常数值。
在602中,响应于确定对应一个或以上特定对象对的损失函数的值是最小的,处理设备112(例如,匹配模块440)(例如,处理器201的处理电路)可以从多对对象中确定一个或以上特定对象对。
在一些实施例中,处理设备112可以确定损失函数的多个值。基于与多对对象中的一对相关联的图像特征和根据等式(3)的多对对象中的一对的地理位置,处理设备112可以确定损失函数的多个值中的每一个。可以结合如图5所示的操作502所描述的那样,处理设备112可以提取与对象相关联的图像特征。结合如图5所示的操作503所描述的那样,处理设备112可以确定对象的地理位置。损失函数的多个值中的每个值可以对应于两个相邻图像中的多对对象中的一对。处理设备112可以确定损失函数的多个值中的最小值。处理设备112可以将与最小值对应的特定对象对确定为两个匹配对象(即,匹配的第一对象和第二对象)。
在一些实施例中,处理设备112可以将多对对象分类为若干组。几组中的每一组可以对应于在两个相邻图像中呈现的不同对象。例如,如果第一图像包括对象A和B,并且第二图像相邻于第一图像包括对象C、D和F,处理设备112可以确定六对对象,包括(A,C)、(A,D)、(A,F)、(B,C)、(B,D)和(B,F)。另外,处理设备112可以将(A,C)、(B,D)分类为同一组,将(A,D)、(B,F)分类为另一组,并且(A,F)、(B,C)进入另一组。在一些实施例中,基于若干组中的每一对对象,处理设备112可以确定损失函数的多个值。损失函数的多个值中的每一个可以对应于几个组中的一个组。处理设备112可以确定多个值中的最小值。处理设备112可以将对应于最小值的特定组中的一个或以上对象对确定为匹配对象的一个或以上特定对。
根据操作601和602,可以处理图像集的至少一部分多个图像中的每两个相邻图像以确定匹配对象的一对或以上。基于匹配对象的一对或以上,处理设备112可以将在多个图像中的一个中检测到的第一对象与在多个图像的一个或以上其他图像中检测到的一个或以上第二对象相匹配。例如,如果处理设备112确定在第一图像中检测到的第一对象与在相邻于第一图像的第二图像中检测到的第二对象相匹配,并且处理设备112确定在第二图像中检测到的第二对象与在相邻于第二图像的第三图像中检测到的第三对象相匹配,处理设备112可以确定第一对象、第二对象和第三对象是匹配的,即第一对象、第二对象和第三对象是同一对象。因此,处理设备112可以追踪其他图像中的第一对象。当相机检测到多个目标并且多个目标之间的相似性很高时,基于图像特征和地理位置,处理设备112可以将在两个相邻图像中检测到的两个对象相匹配,这可以提高单相机追踪的准确性。
应当注意以上对过程600的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程600可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程600的顺序可能不是限制性的。例如,操作601和602可以集成到单个操作中。
图7是根据本申请的一些实施例所示的用于在单相机追踪中匹配两个轨道的示例性过程的流程图。在一些实施例中,过程700可以由对象追踪系统100执行。例如,过程700可以实现为存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU340和/或图4中所示的一个或以上模块)可以执行一组指令并因此可以指示执行过程700。在一些实施例中,可以执行过程700的一个或以上操作以实现如图5所描述的操作504或操作506的至少一部分。
在701中,处理设备112(例如,匹配模块440)(例如,处理器201的处理电路)可以从图像集包含的多个图像中的第一部分中获取第一对象的第一轨道。如这里所使用的,术语“轨道”可以指来自多个连续图像的对象的检测、定位和/或识别。对象的轨迹可以包括对象的标识符(例如,数字),多个连续图像中的每一个中的对象的位置,对应于多个连续图像中的每一个的地理位置等。
在一些实施例中,可以根据如图5所示的过程500的至少一部分(例如,操作501-504)来确定第一对象的第一轨道。例如,基于图像特征和与多个图像的第一部分中的每一个相关联的第二对象的地理位置,处理设备112可以从图像集中追踪第一对象获得第一轨道。在一些实施例中,基于多个对象中的每个对象的图像特征和地理位置,处理设备112可以从图像集中追踪多个对象以获取至少两个轨道。每个轨道可以对应于多个对象中的一个。处理设备112可以获取至少两个轨道中的一个作为第一轨道,并且将与至少两个轨道中的一个相对应的多个对象中的一个指定为第一对象。包含在图像集中的多个图像的第一部分可以是图像集的一部分。第一部分中的图像可以是连续的。例如,如果图像集包括2000帧,则第一部分可以包括0-100帧或200-300帧等。可以从每个图像中检测第一对象。第一部分中的每个图像可以对应于一个时间戳,表示相机拍摄每个图像的时间。
在702中,处理设备112(例如,匹配模块)(例如,处理器201的处理电路)可以从图像集包含的多个图像的第二部分中获取第二对象的第二轨道。在一些实施例中,处理设备112可以根据如图5所示的过程500的至少一部分(例如,操作501-504)来确定第一对象的第二轨道。例如,基于与多个图像的第二部分中的每一个相关联的第二对象的图像特征和地理位置,处理设备112可以从图像集中追踪第二对象获取第二轨道。在一些实施例中,处理设备112可以如操作701中所述,将至少两个轨道中的另一个确定为第二轨道,并将与至少两个轨道中的另一个相对应的多个对象中的另一个指定为第二对象。第一轨道可以与第二轨道不同。第一对象可以与第二对象相同或不同。在图像集包含的多个图像中的第二部分可以是图像集的另一个部分,其部分或完全不同于多个图像的第一部分。例如,如果图像集包括2000帧,并且第一部分包括0-100帧,则第二部分可以包括150-1000帧等。第二部分中的图像可以是连续的。处理设备112可以从第二部分中的每个图像中检测第二对象。第二部分中的每个图像可以对应于一个时间戳,表示第二部分中的每个图像被相机拍摄的时间。
在703中,处理设备112(例如,匹配模块)(例如,处理器201的处理电路)可以确定第一轨道和第二轨道是否属于同一对象。如本文所用,第一轨道和第二轨道是否属于同一对象也可以参考第一对象和第二对象是否是同一对象或第一轨道和第二轨道是否相匹配。在一些实施例中,基于第一轨道和第二轨道之间的相似度,处理设备112可以确定第一轨道和第二轨道是否至少部分属于同一对象。例如,如果第一轨道和第二轨道之间的相似度大于相似阈值,处理设备可以确定第一轨道和第二轨道属于同一对象(即,第一对象或第二对象)。在一些实施例中,通过确定第一轨道和第二轨道之间的距离是否小于距离阈值,处理设备112可以确定第一轨道和第二轨道之间的相似度是否大于相似阈值。如这里所使用的,第一轨道和第二轨道之间的距离可以指相似距离,如本申请中其他地方所述。
在一些实施例中,至少部分基于与第一对象和第二对象相关联的图像特征,所述图像特征分别从第一部分中的一个或以上图像和第二部分中的一个或以上图像中提取,处理设备112可以确定第一轨道和第二轨道之间的相似距离。此外,假设第一部分包括M图像而第二部分包括N图像,处理设备112可以从第一部分中的每个M图像中提取与第一对象相关联的图像特征,并从第二部分中的每个N图像中提取与第二对象相关联的图像特征,如本申请中其他地方所述(例如,图5及其描述)。处理设备112可以确定与从每一个M图像中提取的第一对象相关联的图像特征和与从第二部分中的每个N图像中提取的第二对象相关联的图像特征之间的候选距离以获取至少两个候选距离(例如,M×N候选距离)。至少两个候选距离中的每一个可以对应于一对图像。一对图像中的一个图像可以来自第一部分中的M图像,并且图像对中的另一个图像可以来自第二部分中的N图像。在一些实施例中,处理设备112可以将至少两个候选距离中的最小候选距离确定为第一轨道和第二轨道之间的相似距离。在一些实施例中,处理设备112可以将至少两个候选距离的平均距离确定为第一轨道和第二轨道之间的相似距离。在一些实施例中,处理设备112可以将至少两个候选距离中的一个确定为第一轨道和第二轨道之间的相似距离。例如,处理设备112可以确定与至少两个候选距离相对应的特定候选距离,该特定候选距离对应于包括第二部分中的第一帧和第一部分中的最后帧或包括在第一部分中的第一帧和第二部分中的最后一帧的一对图像。处理设备112可以将特定候选距离确定为第一轨道和第二轨道之间的相似距离。
在一些实施例中,响应于确定第一轨道和第二轨道之间的相似距离满足条件(例如,超过相似度阈值),处理设备112可以至少部分地基于与第一轨道和第二轨道的每一个相关联的时间信息,确定第一轨道和第二轨道是否属于同一对象。时间信息可以包括与第一轨道和第二轨道中的每一个相关联的时间段,与第一轨道和第二轨道相关联的时间点或时间戳等。例如,基于第一轨道的开始时间和结束时间,处理设备112可以确定与第一轨道相关联的第一时间段。第一时间段的开始时间可以对应于图像的第一部分中的最早时间戳。第一时间段的结束时间可以对应于图像的第一部分中的最新时间戳。基于第二轨道的开始时间和结束时间,处理设备112可以确定与第二轨道相关联的第二时间段。第二时间段的开始时间可以对应于图像的第二部分中的最早时间戳。第二时间段的结束时间可以对应于图像的第二部分中的最新时间戳。
在一些实施例中,如果在确定第一轨道和第二轨道之间的相似度大于相似阈值之后的第一时间段和第二时间段不重叠,处理设备112可以确定第一轨道和第二轨道属于同一对象。例如,如果第一轨道的第一结束时间早于第二轨道的第二开始时间,则处理设备112可以确定第一时间段和第二时间段不重叠。如果第一轨道的第一开始时间早于第二轨道的第二结束时间,并且第一轨道的第一结束时间晚于第二轨道的第二开始时间,处理设备112可以确定第一时间段和第二时间段重叠。
在一些实施例中,在确定第一轨道和第二轨道之间的相似度大于相似度阈值和/或确定第一时间段和第二时间段不重叠之后,如果第一轨道和第二轨道之间的时间差小于时间阈值(例如,50毫秒、100毫秒、150毫秒、200毫秒等),则处理设备112可以确定第一轨道和第二轨道属于同一对象。第一轨道和第二轨道之间的时间差指的是第一轨道的第一开始时间与第二轨道的第二结束时间之间的差异,或者第一轨道的第一结束时间与第二轨道的第二开始时间之间的差异。例如,如果第一轨道的第一开始时间和第二轨道的第二结束时间分别是上午9:15:50和上午9:15:51,第一轨道和第二轨道之间的时间差可以是1秒(即,1000毫秒)。
在704中,响应于确定第二轨道属于第一对象或第二对象,处理设备112(例如,匹配模块)(例如,处理器201的处理电路)可以确定第一对象或第二对象的轨迹。基于在第一部分中的每个图像中检测到的第一对象的位置,处理设备112可以确定第一对象的地理位置,并且基于在第二部分中的每个图像中检测到的第二对象的位置,处理设备112可以确定第二对象的地理位置。例如,基于第一对象的地理位置,处理设备112可以确定对应第一轨道的第一轨迹,并且可以基于第二对象的地理位置,确定对应第二轨道的第二轨迹。处理设备112可以连接第一轨迹和第二轨迹确定第一对象的轨迹。
根据过程700,在对图像集执行单相机追踪之后,基于图像特征和时间信息,可以执行后处理以匹配两个轨道,这可以改善由对象遮挡,图像丢失和多目标匹配等引起的单相机追踪对象的追踪损失。
应当注意以上对过程700的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程700可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程700的顺序可能不是限制性的。例如,操作701和702可以集成到单个操作中。可以省略操作704。
图8是根据本申请的一些实施例所示的用于跨多相机的对象追踪的示例性过程的流程图。在一些实施例中,过程800可以由对象追踪系统100执行。例如,过程800可以实现存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU 340和/或图4中所示的一个或以上模块)可以执行一组指令并因此可以指示执行过程800。
在801中,处理设备112(例如,获取模块450)(例如,处理器201的处理电路)可以获取由多相机拍摄的至少两个图像集。每个图像集可以由其中一个多相机(例如,相机130)通过监视一个多相机的范围(即,视野)内的区域来拍摄。图像集可记录在一段时间(例如,10分钟、30分钟、1小时等)内在相机范围内发生的场景。例如,图像集可以包括在相机的视野内移动和/或离开相机的视野的一个或以上的车辆或行人。图像集可以包括多个图像。多个图像中的每一个可以对应于时间戳。在一些实施例中,多相机可以同时或大约同时拍摄至少两个图像集。换句话说,至少两个图像集中的每一个的开始时间和/或结束时间可以是接近的或相同的。
多相机中的相机可以是和/或包括能够获取本申请中其他地方所描述的场景的图像集的任何合适的设备(例如,图1及其描述)。在一些实施例中,多相机可以固定地安装在区域内。两个相邻相机之间的距离可以小于阈值。例如,两个相邻相机中的一个可以安装在两个相邻相机中的另一个相机的视场内。在一些实施例中,处理设备112(例如,获取模块410)可以从相机130,存储设备140或任何其他存储设备获取至少两个图像集。处理设备112可以不时地(例如,周期性地)获取至少两个图像集。例如,处理设备112可以每周,或每月,或每季度等从多相机或存储设备获取至少两个图像集。又例如,响应于从用户(例如,警察)输入的终端(例如,服务提供系统150)接收对象追踪的请求,处理设备112可以从多相机中获取至少两个图像集。
在802中,处理设备112(例如,检测模块420或单相机追踪模块460)(例如,处理器201的接口电路)可以检测每个图像集包含的多个图像以提取与至少一个对象相关联的一个或以上图像特征。
对象可以包括人、车辆、动物、物理对象等,或其组合。从每个图像集包含的多个图像中的一个或以上对象的检测可以包括从多个图像的至少一部分中的每一个检测一个或以上对象。在一些实施例中,多个图像中的一些图像可以不包括对象。在多个图像的至少一部分中以不同图像呈现的一个或以上对象可以是不同的或相同的。在多个图像的至少一部分中从不同图像检测到的一个或以上对象的计数或数量可以不同的或相同的。
对于至少两个图像集中的一个,通过采用对象检测模型,处理设备112可以检测和/或定位多个图像的至少一部分的每个图像中呈现的一个或以上对象,如本申请中其他地方所述(例如,图5及其描述)。例如,处理设备112可以将图像输入到对象检测模型中。对象检测模型可以被配置为检测输入图像中的一个或以上对象,并输出具有一个或以上边界框的图像,用于定位和/或标记一个或以上对象。然后,处理设备112可以使用目标检测模型提取和/或输出一个或以上与从输入图像中的边界框标记的区域中检测到的每个对象相关联的图像特征。由对象检测模型提取和/或输出的一个或以上图像特征也可以被称为特征图或特征向量。示例性图像特征可包括低级特征(例如,边缘特征、纹理特征)、高级特征(例如,语义特征)、复杂特征(例如,深层级特征)等。示例性对象检测模型可以包括基于区域的卷积网络(R-CNN)、空间金字塔汇集网络(SPP-Net)、基于快速区域的卷积网络(Fast R-CNN)、基于更快的区域的卷积网络(Faster R-CNN)等。有关图像特征提取的更多描述可以在本申请的其他地方找到(例如,图5及其描述)。
在803中,处理设备112(例如,检测模块420或单相机追踪模块460)(例如,处理器201的处理电路)可以从至少两个图像集的至少一部分中的每一个追踪至少一个对象,以获取至少一个对象中的轨迹。对象的轨迹可包括至少两个点。每一个点可以表示对象在这一时间的地理位置,这一时间与检测到该对象的图像集合中的图像的时间戳对应。基于图像中的对象的位置可以确定此时对象的地理位置。关于基于图像可以确定对象地理位置的更多描述可以在本申请的其他地方找到(例如,如图5中所描述的操作503)。
在一些实施例中,采用单相机追踪技术,处理设备112可以从一个图像集中追踪至少一个对象。示例性单相机追踪技术可以包括应用联合概率数据关联算法、深度神经网络算法、对变换算法的期望等。在一些实施例中,根据如图5中所描述的过程500的至少一部分,处理设备112可以追踪一个图像集的至少一个对象中。例如,处理设备112可以确定对应图像集包含的至少一部分多个图中的至少一个对象的地理位置位置。基于与一个或以上对象中的至少一个相关联的一个或以上图像特征和一个或以上对象中的至少一个的地理位置,处理设备112可以将在至少一部分多个图像中的其中一个中检测到的对象与在少一部分多个图像种的一个或以上其他图像中检测到的对象相匹配。基于对应于检测和追踪对象的至少一部分多个图像中的每一个的对象的地理位置,处理设备112可以确定被追踪对象的轨迹。关于在至少一部分中多个图像中的一个检测到的对象与在至少一部分多个图像的一个或以上其他图像中检测到的对象相匹配的更多描述可以在本申请的其他地方找到(例如,图6及其描述)。用于确定追踪对象的轨迹的更多描述可以在本申请的其他地方找到(例如,图7及其描述)。
在804中,处理设备112(例如,多相机追踪模块470或特征提取单元471)(例如,处理器201的处理电路)可以确定至少一个对象的轨迹的一个或以上轨迹特征。一个或以上轨迹特征可以包括与每个对象的轨迹相关联的移动方向信息、与轨迹相关联的地理位置信息、与轨迹相关联的时间信息等。与轨迹相关联的运动方向信息可以由与轨迹的两个点(例如,两个相邻点)相关联的运动矢量或基于轨迹的至少两个点确定的附加点来表示。例如,轨迹可以表示为Trajj={p1,p2,p3,...,pn},其中p1,p2,p3,...,pn指的是轨迹Trajj的点。轨迹Trajj的一个点可以表示为pi={id,loni,lati,ti},其中,id表示轨迹,ti是轨迹Trajj的每个点pi的时间戳、loni以及lati指的是时间戳ti时的轨迹点pi的经度和纬度。与轨迹点pi-1和对象的轨迹点pi相关联的运动矢量
Figure BDA0002333757090000471
可以表示为(loni-loni-1,lati-lati-1)。与轨迹的任何两个相邻点相关联的运动向量可以形成一个轨迹的运动向量序列。与轨迹相关联的地理位置信息可以包括轨迹的至少两个点的地理位置,或者基于轨迹的至少两个点的地理位置可以确定一个或以上附加地理位置。例如,通过平均轨迹的至少一部分轨迹点的地理位置可以确定附加地理位置。与轨迹相关联的时间信息可以包括每个轨迹点的时间戳、轨迹的持续时间、轨迹的开始时间和/或结束时间等。
在一些实施例中,处理设备112可以将轨迹划分为多个片段,基于多个片段的每片的若干点可以确定多个片段的每一片段的平均点,并基于多个片段的每片的平均点确定一个或以上轨迹特征。多个片段中的每片可以包括对应于多个图像的若干图像的若干点。片段中的若干点的计数或数量也可以被称为片段的长度。一个片段中的若干点的计数或数量可以是对象追踪系统100的默认设置。例如,基于轨迹的总长度(即,至少两个点的总数),处理设备112可以设置片段的长度。轨迹的总长度(即,至少两个点的总数)越大,片段的长度可以越大。每个片段中的若干点的计数或数量可以相同或不同。在一些实施例中,通过对多个片段中的每一片段的若干点的坐标求平均值,处理设备112可确定多个片段中的每一片段的平均点。在一些实施例中,通过对多个片段的每个片段的任何两个点(例如,起始点和结束点)的坐标求平均值,处理设备112可以确定多个片段中的每一片段的平均点。在一些实施例中,处理设备112可以指定多个片段中的每个片段中的若干点中的一个(例如,中点)作为平均点。平均点也可以被称为附加点。平均点可以是轨迹的其中一个或者与每个点不同。基于多个片段中的每一片段的平均点,处理设备112可以确定一个或以上轨迹特征。例如,处理设备112可以确定任何两个相邻片段的任何两个相邻平均点之间的运动矢量。又例如,基于每个片段的平均点的地理位置,处理设备112可以确定轨迹的位置信息。关于轨迹特征的更多描述可以在本申请的其他地方找到(例如,图10和11,以及其描述)。
在一些实施例中,在提取对象的轨迹的一个或以上轨迹特征之前,处理设备112可以对轨迹执行平滑操作以删除或调整轨迹的一个或以上异常值。基于与轨迹相关联的对象的运动速度可以识别和/或确定轨迹的一个或以上异常值。由于对象(例如,车辆)的运动速度不能突然改变,并且相邻点之间的速度(例如,两个相邻点、三个相邻点)可以是稳定的。处理设备112可以比较相邻点之间的速度以识别和/或确定一个或以上的异常值。例如,轨迹可以表示为Trajj={p1,p2,p3,...,pn},其中p1,p2,p3,...,pn是轨迹Trajj的点。轨迹Trajj可以表示为pi={id,loni,lati,ti},其中id表示轨迹,ti是轨迹Trajj的每个点pi的时间戳loni以及lati指的是时间戳ti时轨迹点pi的经度和纬度。处理设备112可以将pi、pi-1和pi-2之间的速度与λspeed t进行比较,以确定点pi是否是异常值。速度可以根据等式(4)确定如下:
Figure BDA0002333757090000491
其中,
Figure BDA0002333757090000492
是对象的运动矢量,表示为(loni-loni-1,lati-lati-1).。表示判断的三个命题是Q:si,i-1>λspeed、R:si-1,i-2>λspeed,并且T:si,i-2>λspeed。如果点pi足等式(5),则处理设备112可以确定点pi是异常值,如下:
Figure BDA0002333757090000493
其中,∨是“OR”操作,∧是“AND”操作,
Figure BDA0002333757090000494
是“NOR”操作。根据等式(9),如果si,i-1>λspeed,或者si,i-1≤λspeed,并且si-1,i-2>λspeed,并且si,i-2>λspeed,处理设备112可以确定点pi是异常值。
在805中,基于轨迹的一个或以上轨迹特征以及与每个或以上对象相关联的一个或以上图像特征,处理设备112(例如,多相机追踪模块470)(例如,处理器201的处理电路)可以将在至少两个图像集中的其中一个中追踪到的第一对象与在至少两个图像集的一个或以上其他图像集中追踪到的第二对象相匹配。
在一些实施例中,比较与第一对象相关联的一个或以上图像特征和与第二对象相关联的一个或以上的图像特征,处理设备112可以确定第一相似度。比较第一对象的第一轨迹的至少一个轨迹特征和第二对象的第二轨迹的至少一个轨迹特征,处理设备112可以确定第二相似度。基于第一相似度或第二相似度中的至少一个,处理设备112可以确定第一对象是否与第二对象至少部分匹配。在一些实施例中,通过确定第一相似度是否超过第一阈值并且第二相似度超过第二阈值,处理设备112可以确定第一对象是否与第二对象匹配。如果第一相似度超过第一阈值并且第二相似度超过第二阈值,则处理设备112可以确定第一对象与第二对象匹配。在一些实施例中,基于第一相似度和第二相似度,处理设备112可以确定目标相似度。例如,处理设备112可以将第一相似度和第二相似度之和确定为目标相似度。又例如,处理设备112可以确定第一相似度和第二相似度中的每一个的加权值。处理设备112可以加权第一相似度和第二相似度,并确定第一相似度和第二相似度的加权值之和作为目标相似度。如果目标相似度超过目标阈值,则处理设备112可以确定第一对象与第二对象匹配。第一阈值、第二阈值、第一相似度和第二相似度中的每一个的加权值和/或目标阈值可以是对象追踪系统100的默认设置。第一阈值、第二阈值、第一相似度和第二相似度中的每一个的加权值和/或目标阈值可以根据例如图像场景来调整。例如,对于主干道路场景,第一阈值可以大于十字路口场景的第一阈值。对于十字路口场景,第二阈值可能大于主干道路场景的第二阈值。
在806中,处理设备112(例如,多相机追踪模块470)(例如,处理器201的处理电路)可以确定在多相机中追踪的第一对象或第二对象的轨迹。如果第一轨迹和第二轨迹匹配,则处理设备112可以结合第一轨迹和第二轨迹以确定第一对象和第二对象的轨迹。例如,处理设备112可以将第一轨迹(或第二轨迹)的起始位置与第二轨迹(或第一轨迹)的结束位置连接。
应当注意以上对过程800的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程800可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程800的顺序可能不是限制性的。例如,操作802和803可以集成到单个操作中。可以省略操作806。
图9是根据本申请的一些实施例所示的用于多相机追踪的示例性过程的流程图。在一些实施例中,过程900可以由对象追踪系统100执行。例如,过程900可以实现存储设备(例如,存储设备140,存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU 340和/或图4中所示的一个或以上模块)可以执行一组指令并可以指示执行过程900。在一些实施例中,可以执行过程900的一个或以上操作以实现如结合图8所描述的操作805的至少一部分。
在901中,比较与第一对象相关联的一个或以上图像特征和与第二对象相关联的一个或以上图像特征,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定第一相似度。通过采用对象检测模型,与第一对象相关联的一个或以上特征可以从追踪第一对象的多个第一图像(即,多个图像集中的一个的图像的至少一部分)中的每一个中提取,如本申请中其他地方所述。与从多个第一图像中的每一个中提取的第一对象相关联的一个或以上特征也可以被称为第一图像特征。采用对象检测模型,与第二对象相关联的一个或以上特征可以从追踪第一对象的多个第二图像中的每一个(即,多个图像集中的另一个中的图像的至少一部分)中提取,如本申请中其他地方所述。与从多个第二图像中的每一个中提取的第二对象相关联的一个或以上特征也可以被称为第二图像特征。基于对应多个第一图像中的每一个的特征和对应多个第二图像中的每一个中的第二图像特征,可以确定第一相似度。
在一些实施例中,处理设备112可以从多个第一图像和每个多个第二图像中的每一个中提取的第一图像特征和第二图像特征确定候选相似度,以获取至少两个候选相似度。例如,基于多个第一图像和多个第二图像,处理设备112可以确定多对图像。每对多对图像可以包括一个第一图像和一个第二图像。处理设备112可以确定从第一图像和第二图像中提取的第一图像特征和第二图像特征中的候选相似度,分别在每对多对图像中获取至少两个候选相似度。基于至少两个候选相似度来,处理设备112可以确定第一相似度。例如,处理设备112可以将至少两个候选相似度中的最大候选相似度确定为第一相似度。又例如,处理设备112可以将至少两个候选相似度的平均值确定为第一相似度。
在902中,比较第一对象的第一轨迹的至少一个轨迹特征和第二对象的第二轨迹的至少一个轨迹特征,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定第二相似度。根据过程500和/或过程800的至少一部分可以确定第一对象的第一轨迹和/或第二对象的第二轨迹。至少一个轨迹特征中的第二相似度可以包括移动方向相似度、时间相似度、位置相似度等。
第一轨迹与第二轨迹之间的运动方向相似度可以指与第一轨迹和第二轨迹相关联的运动矢量或运动方向之间的相似度。基于余弦相似度可以确定移动方向相似度。在一些实施例中,第一轨迹可以包括第一运动向量序列,其包括如操作804中所述确定的至少两个第一运动向量。第二轨迹可以包括第二运动向量序列,其包括如操作804中所述确定的至少两个第二运动向量。处理设备112可以确定每一个第一运动矢量与每一个第二运动矢量中的余弦相似度,以获取至少两个余弦相似度。每一个余弦相似度可以对应于一对第一运动矢量和第二运动矢量。例如,如果第一运动矢量序列包括2个第一运动矢量,包括A1和B1,第二运动矢量序列包括2个第二运动矢量,包括A2和B2,一对第一运动矢量和第二运动矢量可以是(A1,A2)、(A1,B2)、(B1,A2)和(B1,B2)。在一些实施例中,处理设备112可以将至少两个余弦相似度中的最大值(即,最大相似度)确定为移动方向相似度。在一些实施例中,处理设备112可以将至少两个余弦相似度的平均值确定为移动方向相似度。关于确定移动方向的更多描述相似度可以在本申请的其他地方找到(例如,图10及其描述)。
位置相似度可以与第一轨迹相关联的地理位置和与第二轨迹相关联的地理位置之间的距离相关联。例如,位置相似度可以与第一轨迹的起始点和第二轨迹的终点的地理位置之间的距离相关联。又例如,位置相似度可以与第一轨迹的终点和第二轨迹的起始点的地理位置之间的距离相关联。作为又一示例,位置相似度可以与第一轨迹的平均点和第二轨迹的平均点的地理位置之间的距离相关联。基于轨迹的至少两个点的地理位置可以确定轨迹的平均点。例如,平均点的坐标可以是至少两个点的坐标的平均值。在一些实施例中,基于第一轨迹的至少两个点的一个点(例如,中间点)与第二轨迹的至少两个点的一个点(例如,中间点)之间的地理距离,处理设备112可以确定相似度。
在一些实施例中,第一轨迹可以包括第一位置序列,该第一位置序列包括与操作804中描述的第一轨迹相关联的点(例如,每个片段的平均点)的至少两个第一地理位置。第二轨迹可以包括第二位置序列,该第二位置序列包括与如操作804中所述确定的第一轨迹相关联的点(例如,每个片段的平均点)的至少两个第二地理位置。处理设备112可以确定每个第一地理位置与每个第二地理位置之间的地理距离,以获取至少两个地理距离(即,地理距离序列)。至少两个地理距离中的每一个可以对应于一对第一地理位置和第二地理位置。例如,如果第一位置序列包括2个第一位置,包括p1和p2,则第二位置序列包括2个第二位置,包括q1和q2,一对第一位置和第二位置可以是(p1,q1)、(p1,q2)、(p2,q1)和(p2,q2)中的一对。在一些实施例中,处理设备112可以确定至少两个地理距离中的最大值(即,最小距离)作为位置相似度。在一些实施例中,处理设备112可以将至少两个地理距离的平均值确定为位置相似度。关于确定位置的更多描述相似度可以在本申请的其他地方找到(例如,图11及其描述)。
时间相似度可以指第一轨迹的时间段与第二轨迹的时间段之间的相似度。轨迹的时间段可以由轨迹的开始时间和结束时间来定义。时间相似度可以基于Jaccard系数确定,也称为交并比(IOU)。Jaccard系数越大,相似度可能越大。例如,第一轨迹可以包括第一开始时间s0和第一结束时间s1,并且第一轨迹的第一时间段可以表示为t1=(s0,s1)。第二轨迹可以包括第二开始时间s0′和第二结束时间s1′,并且第二轨迹的第二时间段可以表示为t2=(s0′,s1′)。第一轨迹和第二轨迹的时间信息之间的Jaccard系数可以根据等式(6)确定如下:
Figure BDA0002333757090000541
在一些实施例中,由于图像集传输中的噪声,可以在一些图像集中跳过一个或以上图像,可以允许时间波动。对于第一时间段和/或第二时间段可以扩展以增强容错性。例如,第一时间段t1=(s0,s1)可以扩展为t1+=(s0-δ,s1+δ),和/或第二时间段t2=(s0′,s1′)可以被扩展为t2+=(s0′-δ,s1′+δ)。第一轨迹和第二轨迹的时间信息之间的Jaccard系数可以根据等式(7)确定如下:
Figure BDA0002333757090000551
在903中,基于一个或以上轨迹特征,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定轨迹可访问性。轨迹可访问性可以指示第一对象的第一轨迹可以访问第二对象的第二轨迹的概率。两个轨迹之间的轨迹可访问性可以指从一个轨迹到另一个轨迹的可访问性。换句话说,两个轨迹之间的轨迹可访问性可以指对象(例如,车辆)可以在一段时间内从一个轨迹的结束位置行进到另一个轨迹的起始位置的概率。第一轨迹和第二轨迹之间的轨迹可访问性可以基于运动相似度、位置相似度、第一轨迹和第二轨迹的起始位置之间的运动矢量、第一轨迹和/或第二轨迹的平均运动矢量等来确定。例如,如果处理设备112确定位置相似度小于阈值或第一轨迹与第二轨迹之间的距离(例如,最小距离)超过距离阈值,处理设备112可以确定第一轨迹和第二轨迹之间的轨迹可访问性等于0,这意味着第一轨迹和第二轨迹具有一些重叠部分。如果处理设备112确定位置相似度超过阈值或第一轨迹与第二轨迹之间的距离(例如,最小距离)小于距离阈值,并且运动方向相似度小于第一轨迹和第二轨迹的起始位置之间的运动矢量与第一轨迹和/或第二轨迹的平均运动矢量之间的相似度值或相似度小于相似阈值,处理设备112可以确定第一轨迹和第二轨迹之间的轨迹可访问性等于-1,这意味着第一轨迹和第二轨迹没有轨迹可访问性。如果处理设备112确定移动方向相似度超过相似阈值或第一轨迹和第二轨迹的起始位置之间的运动矢量与第一轨迹和/或第二轨迹的平均运动矢量之间的相似度超过相似度阈值,处理设备112可以确定第一轨迹和第二轨迹之间的轨迹可访问性等于1,这意味着第一轨迹和第二轨迹具有轨迹可访问性。例如,轨迹可访问性可以根据等式(8)确定如下:
Figure BDA0002333757090000561
其中,Dismin指的是最小距离,λdis指的是距离阈值,Simmax指的是最大相似度,即,运动方向相似度,λsim指的是相似阈值,Vp0,q0指的是第一轨迹和第二轨迹的起始位置之间的运动矢量,Vmean指的是第一轨迹和/或第二轨迹的平均运动矢量并且S(Vp0,q0,Vmean)指的是Vp0,q0,以及Vmean之间的相似度。
在904中,基于第一相似度、第二相似度和轨迹可访问性,处理设备112(例如,匹配单元473)(例如,处理器201的处理电路)可以确定第一对象与第二对象是否匹配。在一些实施例中,处理设备112可以确定第一对象与第二对象相匹配,响应于确定第一相似度满足第一条件,第二相似度满足第二条件,并且轨迹可访问性满足第三条件。例如,响应于确定第一相似度超过第一阈值,第二相似度超过第二阈值,轨迹可访问性等于1或0,处理设备112可以确定第一对象与第二对象匹配。又例如,响应于确定第一对象与第二对象匹配、运动方向相似度、位置相似度或时间相似度中的至少一个超过第二阈值,并且轨迹可访问性等于1或0,处理设备112可以确定第一相似度超过第一阈值。作为又一个例子,响应于确定第一相似度超过第一阈值,运动方向相似度(例如,最大相似度)超过第三阈值,最小距离小于距离阈值,时间相似度超过时间阈值,和/或轨迹可达性等于1或0,处理设备112可以确定第一对象与第二对象相匹配。在一些实施例中,第一条件和/或第二条件可以根据不同的图像场景来调整。例如,对于主干道路场景,第一阈值可以大于十字路口场景的第一阈值。对于十字路口场景,第二阈值可能大于主干道路场景的第二阈值。
应当注意以上对过程900的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程900可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程900的顺序可能不是限制性的。例如,操作901、902和/或903可以集成到单个操作中。可以省略操作904。
图10是根据本申请的一些实施例所示的用于确定两个轨迹之间的相似度的示例性过程的流程图。在一些实施例中,过程1000可以由对象追踪系统100执行。例如,过程1000可以实现存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU340和/或图4中所示的一个或以上模块)可以执行一组指令并可以指示执行过程1000。
在1001中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以将第一轨迹划分为多个第一片段。根据过程500和/或过程800的至少一部分(例如,操作801-803),第一轨迹可以从第一单相机获取的至少两个第一图像中追踪第一对象中确定。第一轨迹可包括至少两个第一点。至少两个第一点中的每一个可以表示在某个时间第一对象的地理位置。第一对象的每个第一点和对应的每个地理位置可以对应于每个第一图像。每个第一片段可包括至少两个第一点中的若干连续第一点。每个第一片段可以对应于第一长度。如本文所使用的,片段的长度可以指片段中的点数或数量。每个第一片段的第一长度可以相同或不同。在一些实施例中,基于至少两个第一点的计数或数量(即,第一轨迹的总长度)和/或多个片段的总数,处理设备112可以将第一轨迹划分为多个第一片段。例如,处理设备112可以将第一轨迹划分为多个第一片段,每个片段包括相同数量的第一点(即,相同的长度)。
在1002中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以将第二轨迹划分为多个第一片段。根据过程500和/或过程800的至少一部分(例如,操作801-803),第二轨迹可以从第二相机获取的至少两个第二图像中追踪第二对象来确定。第二轨迹可包括至少两个第二点。每一个第二点可以表示在某个时间第二对象的地理位置。第二对象的每个第二点和对应的每个地理位置可以对应于至少两个第二图像中的一个。每个第二片段可以包括至少两个第二点中的若干连续第二点。每个第二片段中的若干连续第二点可以相同或不同。每个第二片段可以对应于第二长度。每个第二片段中的第二长度可以相同或不同。在一些实施例中,处理设备112可以基于至少两个第二点的计数或数量(即,第二轨迹的总长度)将第二轨迹划分为多个第二片段。例如,处理设备112可以将第二轨迹划分为多个第二片段,每个第二片段包括相同数量的第二点。
在1003中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以确定每个第一片段的第一平均点。在一些实施例中,第一片段的第一平均点可以表示第一片段中的若干第一点的地理位置的平均地理位置。例如,第一点的地理位置可以由第一点的地理坐标(例如,经度和纬度)表示。几个第一点的地理位置的平均地理位置可以由几个第一点的平均地理坐标(例如,平均经度和平均纬度)表示。再例如,第一片段的第一平均点可以根据等式(9)确定如下:
Figure BDA0002333757090000591
其中,pj指的是第j片段的平均点,l指的是每个片段的长度,loni是指第j片段各点的经度,loni是指第j片段各点的纬度。l可以是对象追踪系统100的默认设置。例如,l可以等于10、20、30等。
在1004中,处理设备112(例如,特征提取单元431)(例如,处理器201的处理电路)可以确定每个第二片段中的第二平均点。可以将每个多个第二片段中的第二平均点确定为类似于每个第一片段中的第一平均点。例如,可以根据等式(9)确定每个第二片段中的第二平均点。
在1005中,基于与多个第一片段中的任意两个相邻片段相对应的第一平均点,处理设备112(例如,特征提取单元431)(例如,处理器201的处理电路)可以确定一个或以上第一运动方向。可以基于两个相邻第一平均点的地理坐标(例如,经度和纬度)来确定第一移动方向。例如,第一运动方向可以根据等式(10)确定如下:
Figure BDA0002333757090000592
其中,lonj是指第j片段平均点的经度,和lonj是指第j片段平均点的纬度,lonj+1是指(j+1)片段平均点的经度,并且lonj+1是指第(j+1)个片段的平均点的纬度。在一些实施例中,一个或以上第一运动方向可以表示为第一运动序列。
在1006中,基于与多个第二片段中的任意两个相邻片段相对应的第二平均点,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以确定一个或以上第二运动方向。可以基于两个相邻的第二平均点的地理坐标(例如,经度和纬度)来确定第二移动方向。例如,可以根据等式(10)确定第二移动方向。在一些实施例中,一个或以上第二运动方向可以表示为第二运动序列。
在1007中,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定一个或以上第一运动方向的每个之间的相似度,以获取与第一轨迹和第二轨迹相关联的一个或以上相似度。可以基于两个运动方向确定一个或以上相似度中的每一个。两个运动方向中的每一个可包括一个第一运动方向和一个第二运动方向。例如,处理设备112可以确定运动方向的一个或以上对。每对运动方向的一对或以上对可以包括第一运动方向和第二运动方向。处理设备112可以确定每对运动方向的一对或以上对之间的相似度,以获取一个或以上相似度。
一个第一运动方向和一个第二运动方向之间的相似度可以由一个第一运动方向和一个第二运动方向之间的余弦相似性表示。一个第一运动方向与一个第二运动方向之间的余弦相似度越大,第一运动方向和第一运动方向之间的相似度可以越大。第一轨迹和第二轨迹之间的一个或以上相似度可以表示为相似性序列。在一些实施例中,如果第一轨迹包括sp第一片段并且第二轨迹包括sq第二片段,第一轨迹的第一运动方向可以表示为根据等式(10)确定的第一运动矢量序列
Figure BDA0002333757090000611
第二轨迹的第二运动方向可以表示为根据等式(10)确定的第二运动矢量序列
Figure BDA0002333757090000612
1。第一轨迹和第二轨迹的相似性序列可以根据等式(11)确定如下:
Figure BDA0002333757090000613
其中,
Figure BDA0002333757090000614
Figure BDA0002333757090000615
在1008中,处理设备112(例如,相似性确定单元432)(例如,处理器201的处理电路)可以在一个或以上相似度中指定最大相似度作为第一轨迹和第二轨迹的一个或以上轨迹特征中的至少一个之间的第二相似度。
应当注意以上对过程1000的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程1000可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程1000的顺序可能不是限制性的。例如,操作1001和1002可以集成到单个操作中。可以省略操作1004。
图11是根据本申请的一些实施例所示的用于确定两个轨迹之间的相似度的示例性过程的流程图。在一些实施例中,过程1100可以由对象追踪系统100执行。例如,过程1100可以实现为存储设备(例如,存储设备140、存储器203和存储器390)中存储的一组指令(例如,应用程序)。在一些实施例中,处理设备112(例如,计算设备200的处理器201、移动设备300的CPU340和/或图4中所示的一个或以上模块)可以执行一组指令并可以指示执行过程1100。在一些实施例中,可以执行过程900的一个或以上操作以实现如结合图11所描述的操作902的至少一部分。
在1101中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以将第一轨迹划分为多个第一片段。
在1102中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以将第二轨迹划分为多个第一片段。
在1103中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以确定每个第一片段中的第一平均点。
在1104中,处理设备112(例如,特征提取单元471)(例如,处理器201的处理电路)可以确定每个第二片段中的第二平均点。可以分别如结合操作1001-1004所描述的那样执行操作1101-1104。
在1105中,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定每个第一平均点与每个第二平均点之间的地理距离,以获取与第一轨迹和第二轨迹相关联的一个或以上地理距离。例如,第一轨迹可以包括一个或以上第一平均点,每个平均点对应于多个第一片段中的一个。第二轨迹可以包括一个或以上第二平均点,每个平均点对应于多个第二片段中的一个。第一平均点可以表示为pp=(lonp1,latp1),(lonp2,latp2),...,(lonpm,latpm)。第二平均点可以表示为pq=(lonq1,latq1),(lonq2,latq2),...,(lonqn,latqn).。处理设备112可以确定第一平均点中的每一个与第二平均点中的每一个之间的距离。例如,处理设备112可以确定一对或以上的平均点对,例如,{(lonp1,latp1),(lonq1,latq1)},{(lonp1,latp1),(lonq2,latq2)},...{(lonp1,latp1),(lonqn,latqn)},...{(lonp2,latp2),(lonq1,latq1)},...{(lonpm,latpm),(lonqn,latqn)}。每对平均点的一对或以上对可以包括第一平均点和第二平均点。处理设备112可以确定每对平均点的一对或以上对之间的地理距离,以获取包括与第一轨迹和第二轨迹相关联的一个或以上地理距离的距离序列。距离序列可以根据等式(12)确定如下:
Dp,q={||(lonpi-lonpj),(latpi-latpj)||2} (12),
其中i从0到m,从0到n。在一些实施例中,每个第一平均点与每个第二平均点之间的地理距离也可以被称为每个第一平均点与每个第二平均点之间的欧氏距离。
在1106中,基于一个或以上地理距离之间的最小地理距离,处理设备112(例如,相似性确定单元472)(例如,处理器201的处理电路)可以确定第一轨迹和第二轨迹的至少一个轨迹特征中的第二相似度。例如,一个或以上地理距离之间的最小地理距离越大,第一轨迹和第二轨迹的一个或以上轨迹特征中的至少一个之间的第二相似度可以越小。
应当注意以上对过程1100的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程1100可以利用未描述的一个或以上附加操作和/或没有在此讨论的一个或以上操作来完成。另外,过程1100的顺序可能不是限制性的。例如,操作1101和1102可以集成到单个操作中。可以省略操作1108。
图12A和12B是根据本申请所示的一些实施例所示的车辆的速度变化的图。图12A为基于如图8所示确定的车辆轨迹确定的车辆速度。如图12A所示,基于车辆的轨迹确定的车辆速度突然改变,例如,在帧序列(即,图像集)中对应于40-120帧的时间戳,这意味着通过从帧序列追踪车辆确定的车辆轨迹具有多个异常值。但是,车辆轨迹上相邻点之间的速度应该是稳定的。图12B示出了通过对图12A中所示的轨迹执行平滑操作,基于如图8所示的车辆平滑轨迹确定的车辆速度。如图12B所示,基于车辆的轨迹确定的车辆速度是稳定的。
图13A是根据本申请所示的一些实施例所示的跨多相机追踪车辆的图。如图13A中的图1至4所示,由边界框标记的车辆由四个相机记录。记录在不同图像或相机中的车辆可能具有不同的外观特征,这可能给跨相机追踪车辆带来挑战。
图13B是根据本申请的一些实施例所示的如图13A所示的跨多相机追踪车辆的轨迹的图。基于图像特征和轨迹特征追踪在多相机中检测到的车辆,如本申请中其他地方所述(例如,图8和9)。图13B中的图像1至4示出了通过从多相机中的每一个追踪车辆而确定的轨迹,如图13A中的图像1至4所示。图13B中的图像5示出了根据过程800和过程900匹配图13B中的图像1至4中的每一个中的轨迹。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括面向对象程序设计语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化程序设计语言如C程序设计语言、Visual Basic、Fortran2103、Perl、COBOL 2102、PHP、ABAP,动态程序设计语言如Python、Ruby和Groovy,或其他程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为仅软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。例如,除非另有说明,否则“约”、“近似”或“基本上”可表示其描述的值的某一变化(例如,±1%、±5%、±10%或±20%)。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
本文中提及的所有专利、专利申请、专利申请公布和其他材料(如论文、书籍、说明书、出版物、记录、事物和/或类似的东西)均在此通过引用的方式全部并入本文以达到所有目的,与上述文件相关联的任何起诉文档记录、与本文件不一致或冲突的任何上述文件或对迟早与本文件相关联的权利要求书的广泛范畴有限定作用的任何上述文件除外。举例来说,如果在描述、定义和/或与任何所结合的材料相关联的术语的使用和与本文件相关联的术语之间存在任何不一致或冲突,则描述、定义和/或在本文件中使用的术语以本文件为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

Claims (30)

1.一种跨多相机的对象追踪系统,包括:
至少一个包括一组指令的存储介质;
与至少一个所述存储介质通信的至少一个处理器,其中,当执行所述一组指令时,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
获得由多相机拍摄的至少两个图像集;
对于每个所述图像集,从每个所述图像集中包含的至少一部分图像中检测一个或多个对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;
从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象的轨迹;
确定至少一个所述对象的所述轨迹的一个或以上轨迹特征;以及
基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
2.根据权利要求1所述的系统,其特征在于,一个或以上所述轨迹特征包括以下至少一个:
运动方向信息,所述运动方向信息与至少一个所述对象的所述轨迹相关联,
地理位置信息,所述地理位置信息与所述轨迹相关联,或
时间信息,所述时间信息与所述轨迹相关联。
3.根据权利要求1或2所述的系统,其特征在于,所述轨迹包括至少两个点,每个点表示至少一个所述对象的地理位置,所述对象与其中一个所述图像相对应,以确定至少一个所述对象的所述轨迹的一个或以上所述轨迹特征,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
划分所述轨迹为多个片段,每个所述片段包括若干点,所述若干点与至少两个所述图像中的若干图像相对应;
基于每个所述片段中的若干点,确定每个所述片段的平均点;以及
基于每个所述片段的所述平均点,确定一个或以上所述轨迹特征。
4.根据权利要求3所述的系统,其特征在于,基于每个所述片段的所述平均点,确定一个或以上所述轨迹特征,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
指定每个所述片段的所述平均点的所述地理位置作为其中一个所述轨迹特征。
5.根据权利要求3或4所述的系统,其特征在于,基于每个所述片段的所述平均点,确定一个或以上所述轨迹特征,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
基于多个片段中任意两个相邻片段对应的平均点,确定多个运动方向;以及
指定多个运动方向作为一个或以上所述轨迹特征之一。
6.根据权利要求1至5任一项的所述系统,其特征在于,基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,将在其中一个所述图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
比较与所述第一对象相关联的一个或以上所述图像特征,和与所述第二对象相关联的一个或以上所述图像特征,确定第一相似度;
比较所述第一对象的第一轨迹的一个或以上轨迹特征中的至少一个,和所述第二对象的第二轨迹的一个或以上轨迹特征中的至少一个,确定第二相似度;以及
基于所述第一相似度或所述第二相似度中的至少一个,确定所述第一对象是否与至少部分所述第二对象匹配。
7.根据权利要求6所述的系统,其特征在于,比较所述第一对象的第一轨迹的所述轨迹特征中的至少一个,和所述第二对象的第二轨迹的所述轨迹特征中的至少一个,确定第二相似度,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
确定与所述第一轨迹相关联的第一运动方向信息,所述第一运动方向信息包括所述第一轨迹的一个或以上第一运动方向;
确定与所述第二轨迹相关联的第二运动方向信息,所述第二运动方向信息包括所述第二轨迹的一个或以上第二运动方向;
确定每个第一运动方向和每个第二运动方向之间的相似度,以获得一个或以上与所述第一轨迹和所述第二轨迹相关联的相似度;以及
比较所述第一轨迹的至少一个轨迹特征,和所述第二轨迹的至少一个轨迹特征,在一个或以上所述相似度中,指定一个最大相似度作为所述第二相似度。
8.根据权利要求6或7所述的系统,其特征在于,比较所述第一对象的第一轨迹的至少一个轨迹特征,和所述第二对象的第二轨迹的至少一个轨迹特征,确定第二相似度,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
确定与所述第一轨迹相关联的第一地理位置信息,所述第一地理位置信息包括所述第一轨迹上的一个或以上第一地理位置;
确定与所述第二轨迹相关联的第二地理位置信息,所述第二地理位置信息包括所述第二轨迹上的一个或以上第二地理位置;
确定每个所述第一地理位置和每个所述第二地理位置之间的地理距离,以获得与所述第一轨迹和所述第二轨迹相关联的一个或以上地理距离;以及
基于一个或以上所述地理距离中的最小地理距离,分别确定所述第一轨迹的至少一个所述轨迹特征与所述第二轨迹的至少一个所述轨迹特征之间的所述第二相似度。
9.根据权利要求6至8任一项所述的系统,其特征在于,比较所述第一对象的第一轨迹的至少一个轨迹特征,和所述第二对象的第二轨迹中的至少一个轨迹特征,确定第二相似度,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
确定与所述第一轨迹相关联的第一时间信息,所述第一时间信息包括所述第一轨迹的第一时间段;
确定与所述第二轨迹相关联的第二时间信息,所述第二时间信息包括所述第二轨迹的第二时间段;以及
基于所述第一时间段与所述第二时间段之间的交并比,确定所述第一轨迹的至少一个所述轨迹特征和所述第二轨迹的至少一个所述轨迹特征之间的所述第二相似度。
10.根据权利要求1至9任一项所述的系统,其特征在于,基于所述第一相似度或所述第二相似度中的至少一个,确定所述第一对象是否与至少部分所述第二对象匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
基于所述一个或以上轨迹特征,确定轨迹可访问性,所述轨迹可访问性表示所述第一对象的所述第一轨迹可以访问所述第二对象的所述第二轨迹的概率;以及
基于所述轨迹可访问性,确定所述第一对象是否与至少部分所述第二对象匹配。
11.根据权利要求6至10任一项所述的系统,其特征在于,基于所述第一相似度和所述第二相似度,确定所述第一对象是否与所述第二对象至少部分匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
响应于确定出包括满足第一条件的所述第一相似度或满足第二条件的所述第二相似度中的至少一个,确定所述第一对象与所述第二对象匹配。
12.根据权利要求11所述的系统,其特征在于,根据由所述多相机中的至少一个拍摄的场景,调整所述第一条件或所述第二条件中的至少一个。
13.根据权利要求6至12任一项所述的系统,其特征在于,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
响应于所述第一对象和所述第二对象匹配,统一所述第一轨迹和所述第二轨迹,来确定所述第一对象或所述第二对象的目标轨迹。
14.根据权利要求1至13任一项所述的系统,其特征在于,确定至少一个所述对象的所述轨迹的一个或以上轨迹特征,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
平滑至少一个所述对象的所述轨迹,获得至少一个所述对象的平滑轨迹;以及
基于至少一个所述对象的所述平滑轨迹,确定一个或以上所述轨迹特征。
15.一种对象追踪系统,包括:
至少一个包括一组指令的存储介质;
与至少一个所述存储介质通信的至少一个处理器,其中,当执行所述指令时,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
获得由相机收集的图像集;
从所述图像集中包含的每个图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;
确定对应于多个图像中的每个图像的一个或以上所述对象的地理位置;以及
基于一个或以上与至少一个所述对象相关联的所述图像特征,以及至少一个所述对象的所述地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
16.根据权利要求15所述的系统,其特征在于,确定对应于多个图像中的每个图像的一个或以上所述对象的地理位置,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
在每个所述图像中,通过采用所述对象检测模型,定位一个或以上所述对象;以及
基于至少一部分所述图像中的至少一个所述对象的位置,确定至少一个所述对象的所述地理位置。
17.根据权利要求15或16所述的系统,其特征在于,基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象的地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
对于至少一部分所述图像中的每两个相邻图像,
比较相邻图像中与所述第一对象相关联的一个或以上所述图像特征,和相邻图像中与所述第二对象相关联的一个或以上所述图像特征,确定第一相似度;
比较所述第一对象的地理位置和所述第二对象的地理位置,确定第二相似度;以及
基于所述第一相似度或所述第二相似度中的至少一个,确定所述第一对象是否与所述第二对象至少部分匹配。
18.根据权利要求15或16所述的系统,其特征在于,基于所述一个或以上与至少一个所述对象相关联的图像特征,和至少一个所述对象的地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
对于至少一部分所述图像的每两个相邻图像,
在一个或以上与每对对象对相关联的所述图像特征之间,确定第一相似度,每对所述对象对包括在所述两个相邻图像中的其中一个中检测到的一个所述对象和在所述两个相邻图像中的另一个中检测到的一个所述对象;
在每对所述对象对的所述地理位置中,确定第二相似度;
基于所述第一相似度和所述第二相似度,通过采用匈牙利算法,从至少两对所述对象对中确定一对特定对象对作为匹配的第一对象和第二对象。
19.根据权利要求17所述的系统,其特征在于,基于一个或以上与至少一个所述对象的相关联的所述图像特征和至少一个所述对象的所述地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
对于至少一部分所述图像中的每两个相邻图像,
确定与每对对象对相关联的一个或以上所述图像特征之间的第一距离,每对所述对象对包括在所述相邻图像中的其中一个中检测到的一个所述对象和在两个所述相邻图像中的另一个中检测到的一个所述对象;
确定每对所述对象对的所述地理位置之间的第二距离;
通过采用匈牙利算法,从至少两对所述对象对中,确定一对特定对象对作为匹配的所述第一对象和所述第二对象。
20.根据权利要求17所述的系统,其特征在于,基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象的地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
对于至少一部分所述图像中的每两个相邻图像,
确定包括第一组件和第二组件的损失函数,所述第一组件被配置用于确定与一对对象对相关联的一个或以上图像特征之间的第一距离,所述第二组件被配置用于确定每对所述对象对的所述地理位置之间的第二距离,每对所述对象对包括在所述相邻图像中的其中一个中检测到的一个所述对象,和在两个所述相邻图像中的另一个中检测到的一个所述对象;以及
响应于确定一个或多个特定对象对对应的损失函数值是最小值,确定在两个所述相邻图像中呈现的一个或以上特定对象对,所述一个或以上特定对象对之一作为匹配的第一对象和第二对象。
21.根据权利要求15至20任一项所述的系统,其特征在于,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
响应于所述第一对象与所述第二对象匹配,确定所述第一对象或所述第二对象的第一轨道;
获得候选对象的第二轨道;
基于所述第一轨道和所述第二轨道之间的至少一个轨迹特征,与所述第一对象或所述第二对象和所述候选对象相关联的图像特征,或与所述第一轨道和所述第二轨道相关联的时间信息,确定所述第二轨道是否属于所述第一对象或所述第二对象。
22.根据权利要求21所述的系统,其特征在于,从第一部分所述图像中检测所述第一轨道,以及从第二部分所述图像中检测所述第二轨道,确定所述第二轨道是否属于所述第一对象或所述第二对象,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
对于所述第一部分和所述第二部分中的任何两个图像,分别确定在第一部分和第二部分的任何两个图像中呈现的与所述第一对象或所述第二对象和候选对象相关联的图像特征之间的距离,以获得至少两个距离;以及
在至少两个所述距离中确定最小距离;以及
至少部分基于所述最小距离,确定所述第二轨道是否属于所述第一对象或所述第二对象。
23.根据权利要求21或22所述的系统,其特征在于,与所述第一轨道和所述第二轨道相关联的所述时间信息包括以下中的至少一个:
所述第一轨道和所述第二轨道之间的时间间隔或所述第一轨道和所述第二轨道各自的时间段。
24.根据权利要求21至23任一项所述的系统,其特征在于,至少一个所述处理器被指示使所述系统执行以下操作,所述操作包括:
响应于确定所述第二轨道属于所述第一对象或所述第二对象,统一所述第一轨道和所述第二轨道,以确定所述第一对象或所述第二对象的轨迹。
25.一种在计算装置上实现的跨多相机的对象追踪方法,所述计算装置包括至少一个处理器和至少一个存储设备,所述方法包括:
获得由多相机拍摄的至少两个图像集;
对于每个所述图像集,从每个所述图像集中包含的至少一部分图像中检测一个或多个对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;
从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象的轨迹;
确定至少一个所述对象的所述轨迹的一个或以上轨迹特征;以及
基于所述轨迹的一个或以上轨迹特征,和一个或以上与至少一个所述对象的相关联的所述图像特征,将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
26.一种存储至少一组指令的非暂时性计算机可读存储介质,其特征在于,当由至少一个处理器执行时,至少一组所述指令指示至少一个所述处理器执行以下动作:
获得由多相机拍摄的至少两个图像集;
对于每个所述图像集,从每个所述图像集包含的至少一部分图像中检测一个或以上对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;
从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象中的所述轨迹;
确定至少一个所述对象的所述轨迹的一个或以上轨迹特征;以及
基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
27.一种在计算装置上实现对象追踪的方法,所述计算装置包括至少一个处理器和至少一个存储设备,所述方法包括:
获得由相机收集的图像集;
从所述图像集包含的每个所述图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象中相关联;
确定对应于每个所述图像中的至少一个所述对象中的地理位置;以及
基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象中的所述地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
28.一种存储至少一组指令的非暂时性计算机可读存储介质,其特征在于,当由至少一个处理器执行时,至少一组所述指令指示至少一个所述处理器执行以下动作:
获得由相机收集的图像集;
从所述图像集中包含的每个图像中检测一个或以上对象,通过采用对象检测模型,以提取一个或以上图像特征,所述图形特征与至少一个所述对象相关联;
确定对应于每个所述图像中的至少一个所述对象中的地理位置;以及
基于一个或以上与至少一个对象相关联的所述图像特征,和至少一个所述对象的地理位置,将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
29.一种跨多相机的对象追踪系统,包括:
获取模块,被配置为获取由相机收集的图像集;
检测模块,被配置为从所述图像集包含的每个图像中检测一个或以上对象,通过采用对象检测到模型,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;
确定模块,被配置为确定对应于每个所述图像中的至少一个所述对象中的地理位置;以及
匹配模块,基于一个或以上与至少一个所述对象相关联的所述图像特征,和至少一个所述对象中的所述地理位置,被配置为将在其中一个图像中检测到的第一对象与在一个或以上其他图像中检测到的第二对象相匹配。
30.一种对象追踪系统,包括:
获取模块,被配置为获取由多相机拍摄的至少两个图像集;
单相机追踪模块,被配置为对于每个所述图像集,从所述图像集中包含的至少一部分图像中检测一个或以上对象,以提取一个或以上图像特征,所述图像特征与至少一个所述对象相关联;从每个所述图像集中追踪至少一个所述对象,以获得至少一个所述对象中的轨迹;以及
多相机追踪模块,被配置为确定至少一个所述对象中的所述轨迹的一个或以上轨迹特征;基于所述轨迹的一个或以上所述轨迹特征,和一个或以上与至少一个所述对象相关联的所述图像特征,将在其中一个图像集中追踪的第一对象与在一个或以上其他图像集中追踪的第二对象相匹配。
CN201980003192.2A 2019-06-14 2019-06-14 对象追踪的系统和方法 Active CN111954886B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/091357 WO2020248248A1 (en) 2019-06-14 2019-06-14 Systems and methods for object tracking

Publications (2)

Publication Number Publication Date
CN111954886A true CN111954886A (zh) 2020-11-17
CN111954886B CN111954886B (zh) 2024-10-15

Family

ID=73336806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980003192.2A Active CN111954886B (zh) 2019-06-14 2019-06-14 对象追踪的系统和方法

Country Status (2)

Country Link
CN (1) CN111954886B (zh)
WO (1) WO2020248248A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749625A (zh) * 2020-12-10 2021-05-04 深圳市优必选科技股份有限公司 时序行为检测方法、时序行为检测装置及终端设备
CN113012194A (zh) * 2020-12-25 2021-06-22 深圳市铂岩科技有限公司 目标追踪方法、装置、介质和设备
CN114926795A (zh) * 2022-07-19 2022-08-19 深圳前海中电慧安科技有限公司 信息关联性的确定方法、装置、设备及介质
CN115574831A (zh) * 2022-09-28 2023-01-06 曾丽红 一种基于地图融合的无人机导航方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819889B (zh) * 2020-12-30 2024-05-10 浙江大华技术股份有限公司 位置信息的确定方法及装置、存储介质、电子装置
CN114067270B (zh) * 2021-11-18 2022-09-09 华南理工大学 一种车辆追踪方法和装置、计算机设备及存储介质
CN114494358B (zh) * 2022-04-07 2022-06-21 中航信移动科技有限公司 一种数据处理方法、电子设备及存储介质
CN115776639B (zh) * 2023-01-30 2023-04-25 北京数原数字化城市研究中心 一种定位方法、定位装置、电子设备及存储介质
CN115937498A (zh) * 2023-03-14 2023-04-07 天津所托瑞安汽车科技有限公司 一种目标检测方法、装置及电子设备
CN116883458B (zh) * 2023-09-06 2024-01-09 中国科学技术大学 基于Transformer并融合以观测为中心运动特征的多目标跟踪系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170163868A1 (en) * 2015-07-23 2017-06-08 Hanwha Techwin Co., Ltd. Apparatus and method for controlling network camera
US20170193648A1 (en) * 2016-01-05 2017-07-06 The Mitre Corporation Camera surveillance planning and tracking system
CN108629791A (zh) * 2017-03-17 2018-10-09 北京旷视科技有限公司 行人跟踪方法和装置及跨摄像头行人跟踪方法和装置
CN108875666A (zh) * 2018-06-27 2018-11-23 腾讯科技(深圳)有限公司 运动轨迹的获取方法、装置、计算机设备及存储介质
CN109664854A (zh) * 2017-10-17 2019-04-23 杭州海康威视数字技术股份有限公司 一种汽车预警方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170163868A1 (en) * 2015-07-23 2017-06-08 Hanwha Techwin Co., Ltd. Apparatus and method for controlling network camera
US20170193648A1 (en) * 2016-01-05 2017-07-06 The Mitre Corporation Camera surveillance planning and tracking system
CN108629791A (zh) * 2017-03-17 2018-10-09 北京旷视科技有限公司 行人跟踪方法和装置及跨摄像头行人跟踪方法和装置
CN109664854A (zh) * 2017-10-17 2019-04-23 杭州海康威视数字技术股份有限公司 一种汽车预警方法、装置及电子设备
CN108875666A (zh) * 2018-06-27 2018-11-23 腾讯科技(深圳)有限公司 运动轨迹的获取方法、装置、计算机设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749625A (zh) * 2020-12-10 2021-05-04 深圳市优必选科技股份有限公司 时序行为检测方法、时序行为检测装置及终端设备
CN112749625B (zh) * 2020-12-10 2023-12-15 深圳市优必选科技股份有限公司 时序行为检测方法、时序行为检测装置及终端设备
CN113012194A (zh) * 2020-12-25 2021-06-22 深圳市铂岩科技有限公司 目标追踪方法、装置、介质和设备
CN113012194B (zh) * 2020-12-25 2024-04-09 深圳市铂岩科技有限公司 目标追踪方法、装置、介质和设备
CN114926795A (zh) * 2022-07-19 2022-08-19 深圳前海中电慧安科技有限公司 信息关联性的确定方法、装置、设备及介质
CN115574831A (zh) * 2022-09-28 2023-01-06 曾丽红 一种基于地图融合的无人机导航方法

Also Published As

Publication number Publication date
CN111954886B (zh) 2024-10-15
WO2020248248A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
CN111954886B (zh) 对象追踪的系统和方法
WO2019218824A1 (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
US9547908B1 (en) Feature mask determination for images
CN105404860B (zh) 用于管理走失人员信息的方法和设备
US10037607B2 (en) Topology determination for non-overlapping camera network
CN105630897B (zh) 一种内容感知的地理视频多层次关联方法
EP3731110A1 (en) Decomposition of a video stream into salient fragments
KR102069390B1 (ko) 비디오에서 이동 물체들을 추적하기 위해 핑거프린트들을 이용하기 위한 방법 및 시스템
CN109785363A (zh) 一种无人机航拍视频运动小目标实时检测与跟踪方法
US20180039860A1 (en) Image processing apparatus and image processing method
Li et al. Data fusion for intelligent crowd monitoring and management systems: A survey
CN111199556A (zh) 基于摄像头的室内行人检测和跟踪方法
Sun et al. Moving vehicle detection and tracking based on optical flow method and immune particle filter under complex transportation environments
CN112101195A (zh) 人群密度预估方法、装置、计算机设备和存储介质
CN111179318B (zh) 基于双流法的复杂背景运动小目标检测方法
CN111144337A (zh) 火灾检测方法、装置及终端设备
CN111899279A (zh) 一种目标对象的运动速度检测方法及装置
CN106612385A (zh) 视频检测方法和视频检测装置
Wu et al. Real‐time running detection system for UAV imagery based on optical flow and deep convolutional networks
Laupheimer et al. On the association of LiDAR point clouds and textured meshes for multi-modal semantic segmentation
CN110910379A (zh) 一种残缺检测方法及装置
Truong et al. Single object tracking using particle filter framework and saliency-based weighted color histogram
Chen et al. Detection of appearance and behavior anomalies in stationary camera videos using convolutional neural networks
US11217032B1 (en) Augmented reality skin executions
CN112651351B (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
GR01 Patent grant