本公开涉及多传感器多对象跟踪。
背景技术:
:现代车辆(例如,小汽车、摩托车、船或任何其他类型的汽车)可以配备有车辆通信系统,该车辆通信系统促进了车辆与其他实体之间的不同类型的通信。例如,车辆通信系统可以提供车辆到基础设施(v2i)、车辆到车辆(v2v)、车辆到行人(v2p)和/或车辆到电网(v2g)通信。总的来说,这些可以称为车辆到所有(v2x)通信,该通信使信息能够从车辆传递到任何其他合适的实体。各种应用程序(例如,v2x应用程序)可以使用v2x通信来发送和/或接收安全消息、维护消息、车辆状态消息等。现代车辆可以配备有用于跟踪对象的不同传感器。例如,这样的车辆可以包括一个或多个摄像机,这些摄像机可提供后援帮助,拍摄车辆驾驶员的图像以确定驾驶员的睡意或注意力,提供车辆行驶中的道路图像以防止碰撞,提供结构识别,例如,道路标志等。车辆可以配备多个摄像机,并且多个摄像机(称为“环视摄像机”)中的图像可以用于创建车辆的“环视”或“鸟瞰”视图。某些摄像机(称为“远距离摄像机”)可用于捕获远距离图像(例如,用于对象检测以避免碰撞,识别结构等)。这样的车辆还可以配备有雷达设备、激光雷达设备和/或类似物以执行目标跟踪。目标跟踪包括识别目标对象,并且随着目标对象相对于观察目标对象的车辆移动而随时间跟踪目标对象。来自车辆的一个或多个摄像机的图像也可以用于执行目标跟踪。技术实现要素:在一个示例性实施例中,提供了一种用于多传感器多对象跟踪的计算机实现的方法。该方法包括通过处理设备将跟踪目标投影到虚拟圆柱全向摄像机(vcoc)上。该方法还包括通过处理设备将检测目标投影到vcoc上。该方法还包括通过处理设备计算跟踪目标与检测目标之间的二维交并比(2d-iou)。该方法进一步包括通过处理设备至少部分地基于所计算的交并比(iou)来执行跟踪目标与检测目标之间的关联。该方法进一步包括通过处理设备至少部分地基于该关联来控制车辆。在另外的示例中,针对多个不重叠的传感器,同时执行计算跟踪目标和检测目标之间的2d-iou。在另外的示例中,跟踪目标是三维的。在另外的示例中,将跟踪目标和检测目标投影为投影的四边形。在另外的示例中,计算2d-iou包括计算两个投影的四边形之间的交集(intersection)。在另外的示例中,两个投影的四边形之间的2d-iou由以下等式给出:其中,面积(q)=(h2-h1)·(φ2-φ1)·fr。在另外的示例中,处理设备被设置在车辆中。在另一个示例性实施例中,一种系统包括具有计算机可读指令的存储器;以及用于执行计算机可读指令的处理设备,用于执行用于多传感器多对象跟踪的方法。该方法包括通过处理设备将跟踪目标投影到虚拟圆柱全向摄像机(vcoc)上。该方法还包括通过处理设备将检测目标投影到vcoc上。该方法还包括通过处理设备计算跟踪目标与检测目标之间的二维交并比。该方法进一步包括通过处理设备至少部分地基于所计算的iou来执行跟踪目标与检测目标之间的关联。该方法进一步包括通过处理设备至少部分地基于该关联来控制车辆。在另外的示例中,针对多个非重叠传感器,同时执行计算跟踪目标和检测目标之间的2d-iou。在另外的示例中,跟踪目标是三维的。在另外的示例中,将跟踪目标和检测目标投影为投影的四边形。在另外的示例中,计算2d-iou包括计算两个投影的四边形之间的交集。在另外的示例中,两个投影的四边形之间的2d-iou由以下等式给出:其中,面积(q)=(h2-h1)·(φ2-φ1)·fr。在另外的示例中,处理设备被设置在车辆中。在又一示例性实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有在其上实施的程序指令,其中,该计算机可读存储介质本身不是瞬态信号,该程序指令可通过处理设备执行以引起处理设备执行用于多传感器多对象跟踪的方法。该方法包括通过处理设备将跟踪目标投影到虚拟圆柱全向摄像机(vcoc)上。该方法还包括通过处理设备将检测目标投影到vcoc上。该方法还包括通过处理设备计算跟踪目标与检测目标之间的二维交并比(2d-iou)。该方法进一步包括通过处理设备至少部分地基于所计算的iou来执行跟踪目标与检测目标之间的关联。该方法进一步包括通过处理设备至少部分地基于该关联来控制车辆。在另外的示例中,针对多个非重叠传感器,同时执行计算跟踪目标与检测目标之间的2d-iou。在另外的示例中,跟踪目标是三维的。在另外的示例中,将跟踪目标和检测目标投影为投影的四边形。在另外的示例中,计算2d-iou包括计算两个投影的四边形之间的交集。在另外的示例中,两个投影的四边形之间的2d-iou由以下等式给出:其中,面积(q)=(h2-h1)·(φ2-φ1)·fr。当结合附图考虑时,从以下详细描述,本公开的以上特征和优点以及其他特征和优点将显而易见。附图说明其他特征、优点和细节仅通过示例的方式在下面的详细描述中出现,该详细描述参考附图,在附图中:图1a描绘了根据本文所述的一个或多个实施例的车辆;图1b描绘了根据本文所述的一个或多个实施例的投影摄像机视图;图1c描绘了根据本文所述的一个或多个实施例的包括传感器和用于多传感器多对象跟踪的处理系统的车辆;图2描绘了根据本文描述的一个或多个实施例的用于多传感器多对象跟踪的方法的流程图;图3描绘了根据本文所述的一个或多个实施例的虚拟圆柱全向摄像机的表示;图4描绘了根据本文所述的一个或多个实施例的具有虚拟圆柱全向摄像机的图1的车辆,该虚拟圆柱全向摄像机使用来自车辆的传感器的数据来生成围绕车辆的投影;图5描绘了根据本文所述的一个或多个实施例的虚拟圆柱全向摄像机的表示的图;和图6描绘了根据示例性实施例的用于实现本文描述的技术的处理系统的框图。具体实施方式以下描述本质上仅是示例性的,并且无意于限制本公开,其应用或用途。应当理解,在所有附图中,相应的附图标记表示相同或相应的部件和特征。如本文所使用的,术语模块是指可以包括专用集成电路(asic)、电子电路、(共享的、专用的或成组的)处理器以及执行一个或多个软件或固件程序的存储器的处理电路、组合逻辑电路和/或提供所述功能的其他合适的部件。本文描述的技术解决方案提供了使用在其上投影有目标的二维交并比(2d-iou)进行的多传感器多对象跟踪。该虚拟摄像机是全向的,不会像标准摄像机投影那样遭受非重叠视场或投影数值不稳定的困扰。特别地,本技术提供了对与车辆相关联的不同传感器(即,摄像机、雷达传感器、激光雷达传感器等)生成的数据进行数据融合。可以在跟踪的对象和观察值之间形成关联。根据本文所述的一个或多个实施例,通过将跟踪目标和检测目标投影到虚拟圆柱全向摄像机上,计算跟踪目标和检测目标之间的2d-iou,以及至少部分地基于所计算的2d-iou在跟踪目标和检测的目标之间执行关联,来执行多传感器、多对象跟踪。图1a描绘了根据本文所述的一个或多个实施例的车辆100。在该示例中,示出了两个被跟踪目标(被跟踪目标150和目标152)。这些目标由与车辆100相关联的传感器(例如,摄像机、雷达传感器、激光雷达传感器等)检测。还示出了两个检测(检测151和检测153)。相对于相对于车辆100的相应视线154、155跟踪/检测目标/检测。图1b描绘了根据本文所述的一个或多个实施例的投影摄像机视图102。投影的摄像机视图102示出了图1a的检测1、目标1、检测2和目标2。多传感器系统试图以最少数量的传感器获得大覆盖;这会导致传感器视场(fov)之间重叠最少或没有重叠的区域。多传感器系统中的多对象跟踪利用跟踪目标(例如,跟踪目标150、152)和检测(例如,分别为检测151、153)之间的关联。该关联使用目标检测对之间的成本/相似性(affinity)函数。摄像机平面中的交并比(iou)是一种有吸引力的相似性度量,因为它可以减轻可能会限制摄像机的传感器范围估计噪声。当传感器具有最小的重叠或没有重叠和/或在摄像机视图中检测到的对象被截断时,这可能会成为问题。投影被截断和/或在摄像机投影中心后面的对象在数值上不稳定。当不同的模态传感器(不是摄像机)检测到对象时,通常不清楚如何使用2d-iou。当通过不同的不重叠传感器检测到多个目标时,处理按顺序进行,一次一个传感器,这会占用大量时间和大量资源。本技术解决了这些问题。图1c描绘了根据本文描述的一个或多个实施例的包括传感器和用于多传感器多对象跟踪的处理系统110的车辆100。在图1的示例中,车辆100包括处理系统110和传感器。传感器包括摄像机120、121、122、123,摄像机130、131、132、133,雷达传感器140和激光雷达传感器141。车辆100可以是小汽车、卡车、货车,公共汽车、摩托车、船、飞机或其他合适的车辆100。摄像机120–123是环视摄像机,其捕获车辆100外部和附近的图像。由摄像机120–123捕获的图像一起形成车辆100的环视图(有时称为“俯视图”或“鸟瞰图”。这些图像可用于操作车辆(例如,停车、倒车等)。摄像机130-133是远程摄像机,其捕获车辆外部并且与摄像机120-123相比更远离车辆100的图像。例如,这些图像可用于对象检测和避免。应当理解,尽管示出了八个摄像机120-123和130-133,但是在各种实施例中可以实现更多或更少的摄像机。所捕获的图像可以显示在显示器(未示出)上,以向车辆100的驾驶员/操作者提供车辆100的外观。所捕获的图像可以被显示为实时图像、静止图像或其某种组合。在一些示例中,图像可以被组合以形成合成视图,诸如环视图。雷达传感器140通过发送电磁波并利用传感器测量反射波来测量到目标对象的距离。该信息对于确定目标对象相对于车辆100的距离/位置很有用。激光雷达(光检测和测距)传感器141通过用脉冲激光照亮目标并利用传感器测量反射脉冲来测量到目标对象的距离。该信息对于确定目标对象相对于车辆100的距离/位置很有用。从摄像机120-123、130-133,雷达传感器140和/或激光雷达传感器141生成的数据可用于跟踪相对于车辆100的目标对象。目标对象的示例包括其他车辆、行人、自行车、动物等。这样的数据还可以用于生成表示围绕车辆100的虚拟圆柱全向摄像机的视图。因此,本技术提供了将多个不同的传感器投影到虚拟全向圆柱形摄像机上。这在非重叠的多传感器系统中提供了强大的相似性,并且还可以在单个周期内而不是逐个传感器地处理来自非重叠传感器的多个输入。为实现此,处理系统110包括并利用检测引擎112、关联引擎114和控制引擎116。尽管未示出,但是处理系统110可以包括其他部件、引擎、模块等,例如处理器(例如中央处理器、图形处理单元、微处理器等),存储器(例如随机存取存储器、只读存储器等),数据存储区(例如固态驱动器、硬盘驱动器等)。本文进一步描述处理系统110的部件的特征和功能。车辆100的处理系统110执行多传感器多对象跟踪。参考以下附图进一步描述该过程。图2描绘了根据本文所述的一个或多个实施例的用于多传感器多对象跟踪的方法200的流程图。方法200可以由任何合适的处理设备(例如,图6的处理器621)和/或处理系统(例如,图1的处理系统110或图6的处理系统600)来实现。在框202处,检测引擎112将跟踪目标(可以是三维的)投影到虚拟圆柱全向摄像机(vcoc)上。在框204处,检测引擎112将检测目标投影到vcoc上。根据本文所述的一个或多个实施例,vcoc以任意焦距(例如0.25m、0.33m、0.5m、0.7m、1.0m、1.2m)定位在车辆100的中心。使用投影技术将跟踪目标(例如,跟踪目标150、152)和检测(例如,检测151、153)投影到vcoc上。一旦将目标和检测投影到vcoc上,就可以使用此处所述的高效轴对齐iou计算技术来计算2d-iou。可以同时对多个不重叠的传感器执行此计算(例如,参见图4),从而提高了效率。在框206处,检测引擎112计算跟踪目标和检测目标之间的二维交并比(iou)。参照图3进一步描述包括检测引擎112的功能的框202、204和206,图3描绘了根据本文所述的一个或多个实施例的虚拟圆柱全向摄像机(vcoc)的表示300。参照图3,并且在不失一般性的情况下,vcoc的投影中心被定义在主体坐标系(即,充当主体的车辆100的坐标系)中的(x,y,z)=(0,0,0)处。圆柱半径由fr表示。圆柱壳外部的某一3d点pi=(xi,yi,zi)到vcoc上的投影由给出,使得:φi=arctan2(xi,yi)(2)其中,这样,跟踪目标和检测的目标就被投影到vcoc上(框202,204)。接下来,可以计算两个3d长方体的投影之间的2d-iou(框206)。对于给定的3d长方体,这样的长方体的角表示为ci=(xi,yi,zi),其根据等式(1)和(2)的圆柱投影表示为将所有8个长方体角投影到圆柱体上之后,我们计算由qj=(hj1,φj1,hj2,φj2)给出的投影边界四边形,其中是qj为“四边形j”,使得:如果(max(φi)-min(φi))>π,则φi=φi+2πh1=min(hi),φ1=min(φi)h2=max(hi),φ2=max(φi).两个投影四边形之间的交并比(iou)由以下给出:其中:面积(q)=(h2-h1)·(φ2-φ1)·fr(4)在图5中描绘了两个投影的四边形,检测目标502和跟踪目标504各一个。特别地,图5描绘了根据本文所描述的一个或多个实施例的虚拟圆柱全向摄像机的表示500的示意图。再次参考图3,对于交集(q1,q2),通过考虑以下四种情况来确定交集四边形:情况1φ12,φ22≤π,对于q1和q2二者情况2φ12≤π,对于q1;但φ22>π,对于q2情况3φ22≤π,对于q2;但φ12>π,对于q1情况4φ12,φ22>π,对于q1和q2二者在情况1和情况4中,交集四边形由以下给出:q交集=(max(h11,h21),max(φ11,φ21),min(h12,h22),min(φ12,φ22))(5)其中,qi=(hi1,φi1,hi2,φi2)。因此,交集(q1,q2)=面积(q交集)(6)在情况2中,计算两个交集四边形:第一个四边形是如情况1和4一样计算的,而第二个四边形是在进行φ11=φ11+2π和φ12=φ12+2π转换之后计算的。交集面积被视为两次计算之间的最大交集。在情况3中,还计算了两个交集四边形。在这种情况下,第一个四边形是如情况1和4那样计算的(即原始四边形),而第二个四边形是在进行φ21=φ21+2π和φ22=φ22+2π转换之后进行计算。同样,交集面积被视为两次计算之间的最大交集。再次参考图2,在框208处,关联引擎114至少部分地基于所计算的iou在跟踪目标和检测的目标之间执行关联。该关联可以以几种方式执行。例如,可以应用贪婪(greedy)关联算法或匈牙利(hungarian)算法来执行关联。关于贪婪关联算法,该方法的目标是使整体关联成本最小化。贪婪关联算法将目标和观测值m之间的成本矩阵作为输入,并输出一组关联s。贪婪关联算法执行如下:(1)将关联集初始化为空,其中s=[];(2)在矩阵m中为第i列和第j行找到一个最小值;(3)如果mij<阈值,(i)将(i,j)添加到关联集,(ii)从m中删除列i,并且(iii)从m中删除行j;(4)其他结束;以及(5)如果m没有更多的行或列,则停止;否则重复。匈牙利算法采用成本矩阵m并使用以下等式解决优化问题s.t.:x=argminx∑xijmij其中xij是指标变量s.t.,当且仅xij=1,则目标i与检测j相关联。匈牙利算法通过给定成本矩阵m提供最佳分配来解决此优化问题。在框210处,控制引擎116至少部分地基于来自框208的关联来控制车辆。控制引擎116至少部分地基于跟踪目标对象来控制车辆。控制车辆100可以包括增加/减小速度,改变方向等。例如,如果目标对象相对于车辆100的位置将引起碰撞,则控制引擎116可以控制车辆100避开目标对象。这是可能的,因为根据本文所述的多传感器多对象跟踪的示例,跟踪目标对象并基于计算出的iou在跟踪目标和检测的目标之间执行关联。结果,通过使用这种跟踪和关联来控制车辆来改善车辆技术。还可以包括附加过程,并且应当理解,图2中描绘的过程仅用于说明,并且可以在不脱离本公开的范围和精神的情况下添加其他过程或者可以删除,修改或重新布置现有过程。图4描绘了根据本文所述的一个或多个实施例的具有vcoc430的图1的车辆100,该vcoc430使用来自车辆的传感器的数据生成关于车辆100的投影432。传感器可以包括摄像机、雷达传感器和/或激光雷达传感器。在图2的示例中,车辆100的传感器包括六个摄像机:420a,420b,420c,420d,420e,420f(统称为“摄像机420”)。每个摄像机420包括视场(fov)。例如,摄像机420a包括由边界420a1、420a2限定的fov;摄像机420b包括由边界420b1、420b2限定的fov;对于其他摄像机420c-420f,依此类推。摄像机420在它们各自的fov内捕获图像数据。图像数据可用于对象检测和跟踪。例如,摄像机420捕获对象401a,401b,401c,401d(统称为“对象401”)的图像。对象401被描绘为车辆,但是可以是任何合适的对象。本文示例中,vcoc430可同时处理来自多个不重叠传感器(例如,摄像机420a-420f)的检测。这比一个接一个地处理传感器输入更有效,并且因此表示处理系统110的功能上的改进,因为它可以同时处理来自多个非重叠传感器的检测。应当理解,本公开能够与现在已知或以后开发的任何其他类型的计算环境结合实现。例如,图6描绘了用于实现本文描述的技术的处理系统600的框图。在示例中,处理系统600具有一个或多个中央处理单元(处理器)621a,621b,621c等(统称为或总称为处理器621和/或称为处理设备)。在本公开的各方面中,每个处理器621可以包括精简指令集计算机(risc)微处理器。处理器621经由系统总线633耦接到系统存储器(例如,随机存取存储器(ram)624)和各种其他部件。只读存储器(rom)622耦接到系统总线633,并且可以包括基本输入/输出系统(bios),其控制处理系统600的某些基本功能。进一步描绘了输入/输出(i/o)适配器627和耦接到系统总线633的网络适配器626。i/o适配器627可以是与硬盘623和/或存储设备625或任何其他类似部件通信的小型计算机系统接口(scsi)适配器。i/o适配器627、硬盘623和存储设备625在本文中统称为大容量存储器634。用于在处理系统600上执行的操作系统640可以存储在大容量存储器634中。网络适配器626将系统总线633与外部网络636互连,使处理系统600能够与其他这样的系统通信。显示器(例如,显示器监视器)635通过显示器适配器632连接到系统总线633,显示器适配器632可以包括图形适配器以改善图形密集型应用程序和视频控制器的性能。在本公开的一方面,适配器626、627和/或632可以连接到一个或多个i/o总线,该i/o总线经由中间总线桥(未示出)连接到系统总线633。用于连接外围设备(例如硬盘控制器、网络适配器和图形适配器)的合适i/o总线通常包括通用协议,例如外围组件互连(pci)。附加的输入/输出设备被示为经由用户接口适配器628和显示适配器632连接到系统总线633。输入设备629(例如,键盘、麦克风、触摸屏等)、输入指针630(例如,鼠标、触控板、触摸屏等)和/或扬声器631可以经由用户接口适配器628互连到系统总线633,该用户接口适配器628可以包括例如将多个设备适配器集成到单个集成电路中的superi/o芯片。摄像机120-123、130-133中的一个或多个也连接到系统总线633。在本公开的一些方面,处理系统600包括图形处理单元637。图形处理单元637是专用电子电路,其被设计为操纵和改变存储器以加速用于输出到显示器的帧缓冲器中的图像的创建。通常,图形处理单元637在操纵计算机图形和图像处理方面非常有效,并且具有高度并行的结构,这使其对于并行处理大数据块的算法而言比通用cpu更有效。因此,如本文所配置的,处理系统600包括处理器621形式的处理能力,包括系统存储器(例如,ram624)、大容量存储器634、诸如键盘629和鼠标630的输入装置的存储能力,以及包括扬声器631和显示器635的输出能力。在本公开的一些方面中,一部分系统存储器(例如,ram624)和大容量存储器634共同存储操作系统640,以协调在处理系统600中示出的各个部件的功能。已经出于说明的目的给出了本公开的各个示例的描述,但是这些描述并不旨在是穷举的或限于所公开的实施例。在不脱离所描述技术的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文使用的术语是为了最好地解释本技术的原理,对市场上发现的技术的实际应用或技术改进,或使本领域的其他普通技术人员能够理解本文公开的技术。尽管已经参考示例性实施例描述了以上公开,但是本领域技术人员将理解,在不脱离其范围的情况下,可以进行各种改变并且可以用等同物代替其元件。另外,在不脱离本公开的实质范围的情况下,可以做出许多修改以使特定情况或材料适应本公开的教导。因此,意图是本技术不限于所公开的特定实施例,而是将包括落入本申请范围内的所有实施例。当前第1页12