CN112734811B - 一种障碍物跟踪方法、障碍物跟踪装置和芯片 - Google Patents
一种障碍物跟踪方法、障碍物跟踪装置和芯片 Download PDFInfo
- Publication number
- CN112734811B CN112734811B CN202110083050.0A CN202110083050A CN112734811B CN 112734811 B CN112734811 B CN 112734811B CN 202110083050 A CN202110083050 A CN 202110083050A CN 112734811 B CN112734811 B CN 112734811B
- Authority
- CN
- China
- Prior art keywords
- obstacle
- frame
- current frame
- linked list
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种障碍物跟踪方法、障碍物跟踪装置和芯片,涉及障碍物跟踪技术领域,以解决现有技术中不能准确检测,跟踪障碍物的问题。所述障碍物跟踪方法包括:获取当前帧障碍物信息,根据当前帧障碍物信息建立当前帧障碍物模型链表;确定当前帧障碍物信息所在数据帧大于初始帧的情况下,根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表;根据当前帧轨迹链表对当前帧障碍物进行追踪。其中,每帧轨迹链表包括:当前帧障碍物轨迹标识、当前帧障碍物模型位置、预测的下一帧障碍物模型位置、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。本发明提供的障碍物跟踪装置和芯片用于执行上述障碍物跟踪方法。
Description
技术领域
本发明涉及障碍物跟踪技术领域,尤其涉及一种障碍物跟踪方法、障碍物跟踪装置和芯片。
背景技术
在驾驶车辆过程中,需要对障碍物进行检测和跟踪,以保证安全行使,例如对车辆和行人的检测和跟踪。
现有技术中,通常采用双目立体相机对车辆周围的环境进行检测。但是在实际应用过程中,车辆周围的障碍物数量繁多,大小不一,存在相互遮挡的情况,此时会导致双目立体相机不能有效,准确的检测,跟踪障碍物。
发明内容
本发明的目的在于提供一种障碍物跟踪方法、障碍物跟踪装置和芯片,用于准确、有效的检测跟踪障碍物。
为了实现上述目的,本发明提供如下技术方案:
第一方面,本发明提供了一种障碍物跟踪方法,包括以下步骤:
获取当前帧障碍物信息;
根据当前帧障碍物信息建立当前帧障碍物模型链表;
确定当前帧障碍物信息所在数据帧大于初始帧的情况下,根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表;
根据当前帧轨迹链表对当前帧障碍物进行追踪。其中,每帧轨迹链表包括:当前帧障碍物轨迹标识、当前帧障碍物模型位置、预测的下一帧障碍物模型位置、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。
与现有技术相比,本发明第一方面提供的障碍物跟踪方法中,通过获取当前帧障碍物信息,并根据上述当前帧障碍物信息建立当前帧障碍物模型链表。当确定当前帧障碍物信息所在数据帧大于初始帧的情况下,根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表。之后根据当前帧轨迹链表对当前帧障碍物进行检测和追踪。利用本发明提供的方法可以有效的检测不同类别的障碍物,并准确的对障碍物进行跟踪,确保行车、路面的安全。进一步地,该方法还可以用于检测车辆(障碍物)是否存在超速,不安全行驶的问题。检测行人(障碍物)是否存在闯红灯,翻越护栏的问题。同时还可以为交通事故的取证、判定,追责等提供数据支持。综上所述,利用该方法不仅可以为无人自主车(正常行驶的车辆)准确、有效的检测跟踪障碍物,还可以维护行人、车辆以及路面的安全。
第二方面,本发明还提供了一种障碍物跟踪装置。该障碍物跟踪装置包括处理器以及与处理器耦合的通信接口。上述处理器用于运行计算机程序或指令,以实现上述障碍物跟踪方法。
与现有技术相比,本发明第二方面提供的障碍物跟踪装置的有益效果与上述技术方案所述第一方面描述的障碍物跟踪方法的有益效果相同,此处不做赘述。
第三方面,本发明还提供了一种芯片。该芯片中存储有指令,当指令被运行时,实现上述障碍物跟踪方法。
与现有技术相比,本发明第三方面提供的芯片的有益效果与上述技术方案所述第一方面描述的障碍物跟踪方法的有益效果相同,此处不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的车载系统的结构图;
图2示出了本发明实施例提供的障碍物跟踪方法的流程示意图;
图3示出了本发明实施例提供的利用栅格地图法检测障碍物的流程示意图;
图4示出了本发明实施例提供的栅格地图与无人自主车的相对位置关系的示意图;
图5示出了本发明实施例提供的卡尔曼滤波的流程示意图;
图6示出了本发明实施例提供的盒子模型的示意图;
图7示出了本发明实施例提供的匈牙利算法的流程示意图;
图8示出了本发明实施例提供的障碍物跟踪装置的结构框图;
图9示出了本发明实施例提供的通信设备的集成模块示意图;
图10示出了本发明实施例提供的芯片的结构示意图。
附图标记:
10-雷达设备, 11-终端设备;
12-栅格地图, 13-无人自主车;
20-障碍物跟踪装置, 21-处理单元;
22-通信单元, 23-存储单元;
30-通信设备, 31-第一处理器;
32-通信接口, 33-通信线路;
34-第一存储器, 35-第二处理器;
40-芯片, 41-处理器;
42-通信接口, 43-第二存储器;
44-总线系统。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
在介绍本发明实施例之前首先对本发明实施例中涉及到的相关名词作如下释义:
凸包:在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造。在二维欧几里得空间中,凸包可以是一条刚好包着所有点的橡皮圈。例如:给定二维平面上的点集,凸包可以是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。
非结构化道路:非结构化道路一般是指城市非主干道、乡村街道等结构化程度较低的道路,这类道路没有车道线和清晰的道路边界,再加上受阴影和水迹等的影响,道路区域和非道路区域难以区分。
本发明实施例提供的方法可以应用于车载系统中,但不仅限于此。图1示出了本发明实施例提供的车载系统的结构图。如图1所示,该车载系统包括车辆以及设在车辆上的雷达设备10和终端设备11。雷达设备10和终端设备11采用通信连接。
上述车辆可以为无人驾驶交通工具,也可以为有人驾驶的交通工具。交通工具也可以为汽车。应理解,示例系统还可实现在其它车辆上或采取其它车辆的形式,诸如轿车、卡车、摩托车、公交车、船、飞机、直升机、割草机、铲雪车、休旅车、游乐园车辆、农业设备、施工设备、有轨电车、高尔夫球车、火车和电车等其它车辆。此外,机器人装置也可用于执行本文描述的方法和系统。
上述雷达设备可以采集障碍物信息。所述雷达设备可以为激光雷达等各种雷达设备。
上述终端设备可以为行人所持有的终端设备。例如:车载终端、手机、平板电脑、PDA等终端设备。
随着传感器技术,控制系统,人工智能的不断发展,地面移动机器人取得了很大的进步。在军事上作为侦查机器人,能够自主导航,智能避障,独立完成各种侦查和战斗任务。在科技上,有月球无人车,用来完成月球探测、收集、考察和分析样品等复杂任务的专用移动机器人。在民用上,无人自主驾驶技术可以在自动驾驶和辅助驾驶系统等方面帮助减少交通事故,用于解决城市交通问题。因此,对于地面移动机器人的研究具有广泛的科学意义和现实价值。
近年来,在自主式移动机器人系统中,常用的传感器有视觉传感器(相机),激光传感器(单线和多线),惯性导航(Inertial Navigation System,缩写为INS),GPS定位系统(Global Positioning System,全球定位系统)等等。移动机器人通过传感器获取数据,然后经过相应的信号处理算法,得到车体周围的感知信息,规划模块依据感知模块所获得的信息给出目标路径,传给底层控制系统最后做出相应的决策,确保安全驾驶。其中,视觉传感器主要用于道路检测、目标检测跟踪、交通信号灯和交通标志信号检测等。激光传感器主要用于障碍检测、目标分类、目标跟踪、地形分类、同步建图(simultaneous localizationand mapping,缩写为SLAM)等。视觉传感器有较好的角分辨率但缺乏距离信息,而距离传感器有较精确的距离信息但缺少颜色信息,因此在实际的自主式系统中,往往会融合视觉传感器和距离传感器的信息,相互补充。
在现实动态环境中,自主机器人在环境感知中能够稳定准确的检测障碍物并且对障碍物进行跟踪,对于路径规划建立运动模型可以起到很大帮助,从而做出智能决策行为。通常自主机器人在环境中主要有两大类动态物体:车辆和行人。对于车辆,在交通中是主要的交互对象,速度比较快,需要保持一定的安全距离,在交通规则允许的情况下需要选择是跟车还是超车。对于行人,由于行人的运动具有很大的随意性,需要保持较大的横向距离,以确保行人安全。
在室外环境中的环境感知技术是实现无人自主驾驶汽车自主导航的关键技术,而障碍物的检测与跟踪对于正确、安全的导航是必不可少的。在无人车系统中,实现障碍物的检测常用的方法是采用双目立体相机。但是由于在室外环境中,车辆周围的障碍物数量繁多,大小不一,存在相互遮挡的情况,此时会导致双目立体相机不能有效,准确的检测,跟踪障碍物,进而不能为无人车系统提供正确、可靠的环境信息。
为了解决上述情况,本发明实施例提供一种障碍物跟踪方法。本发明实施例提供的方法中由雷达设备执行的步骤,也可以由应用于雷达设备中的芯片执行;由终端设备执行的步骤,也可以由应用于终端设备中的芯片执行。下述实施例以雷达设备和终端设备分别作为执行主体为例。
图2示出了本发明实施例提供的障碍物跟踪方法的流程示意图。如图2所示,本发明实施例提供的障碍物跟踪方法包括以下步骤:
步骤101:雷达设备采集障碍物的三维点云数据。
上述雷达设备可以设置在汽车等交通工具上。在实际应用中,汽车可以在路面上行驶,也可以在停在路边。汽车的运动状态可以根据实际情况进行设置。上述障碍物信息可以是障碍物的位置,大小等信息。
示例性的,采用安装在行驶车辆上的激光雷达实时采集障碍物的三维点云数据。当采用激光雷达时,激光雷达与路面成一定倾斜角采集行驶车辆前方和路面上方的信息。当采用环视激光雷达时,环视激光雷达则会自动采集360°的数据信息。上述雷达设备采集的障碍物的三维点云数据可以包括当前帧、初始帧等任意一帧障碍物的三维点云数据。上述三维点云数据中包含障碍物的点云信息。
步骤102:雷达设备向终端设备发送障碍物的三维点云数据。
步骤104:终端设备获取当前帧障碍物信息。
步骤105:终端设备根据当前帧障碍物信息建立当前帧障碍物模型链表。
步骤107:终端设备确定当前帧障碍物信息所在数据帧大于初始帧的情况下,终端设备根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表。
示例性的,当初始帧为第一帧,当前帧为第二帧时,前一帧等于初始帧,即前一帧等于第一帧。此时终端设备可以根据第二帧障碍物信息建立第二帧障碍物模型链表,根据第一帧障碍物信息建立第一帧障碍物模型链表。之后,终端设备根据第二帧障碍物模型链表和第一帧障碍物模型链表,可以获得第二帧障碍物链表。通过选取初始帧(上述初始帧可以是一幅图中的第一帧或第二帧或任意一帧),利用初始帧之后的当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表。此时可以不断检测,预测、跟踪障碍物的运动轨迹,为正常行驶的车辆提供路况信息,可以提前调整行车路线,以确保行车便捷和安全性。
步骤1010:终端设备根据当前帧轨迹链表对当前帧障碍物进行追踪。其中,上述每帧轨迹链表包括:当前帧障碍物轨迹标识、当前帧障碍物模型位置、预测的下一帧障碍物模型位置、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。
示例性的,终端设备根据上述当前帧轨迹链表对当前帧障碍物进行检测和追踪,以确定障碍物距离车辆的位置,保持一定的距离,确保车辆以及路面上的障碍物(例如其他车辆,行人)的安全。
上述属性中的当前帧障碍物轨迹标识是指当前帧障碍物的轨迹ID(Identitydocument)。累计帧数M是指从轨迹创建到现在经过的数据帧数age。累计匹配帧数F是指自从轨迹创建到现在已经匹配到的目标的帧数toalVisibleCount。累计未匹配帧数E是指自从轨迹创建到现在未匹配到的目标的帧数consecutiveInvisibleCount。
由上可知,本发明实施例提供的障碍物跟踪方法,通过终端设备接收当前帧障碍物信息,并根据上述当前帧障碍物信息建立当前帧障碍物模型链表。当终端设备确定当前帧障碍物信息所在数据帧大于初始帧的情况下,终端设备根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表。进一步地,上述每个帧轨迹链表中具有关于障碍物的属性信息,该障碍物的属性信息可以反应检测到的障碍物的数量、大小、位置,以及是否存在相互遮挡等信息,有效的避免了现有技术中由于车辆周围的障碍物数量繁多,大小不一,存在相互遮挡所导致的不能有效的检测,跟踪障碍物的情况。之后终端设备根据当前帧轨迹链表对当前帧障碍物进行追踪。利用本发明实施例提供的方法不仅可以有效的检测不同类别的障碍物,并准确的对障碍物进行跟踪,同时还为车辆的行驶以及避让提供了依据,确保了行车、路面的安全。进一步地,该方法还可以用于检测车辆(障碍物)是否存在超速,不安全行驶等问题。检测行人(障碍物)是否存在闯红灯,翻越护栏等问题。同时还可以为交通事故的取证、判定,追责等提供数据支持。综上所述,利用本发明实施例提供的方法不仅可以为无人自主车(正常行驶的车辆)准确、有效的检测跟踪障碍物,还可以维护行人、车辆、路面的安全。
作为一种可能的实现方式中,终端设备确定当前帧障碍物信息为初始帧障碍物信息的情况下,终端设备根据初始帧障碍物信息创建初始帧障碍物模型链表,根据初始帧障碍物模型链表创建初始帧轨迹链表。初始帧轨迹链表包括:初始帧障碍物轨迹标识、初始帧障碍物模型、预测的下一帧障碍物模型、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。
示例性的,当当前帧等于初始帧,并且初始帧为第一帧时,终端设备可以根据第一帧障碍物信息建立第一帧障碍物模型链表,根据第一帧障碍物模型链表建立第一帧轨迹链表。由于创建的是关于检测跟踪的障碍物的轨迹链表,所以在第一帧轨迹链表中包含的信息可以有:第一帧障碍物轨迹标识(即第一帧障碍物的轨迹ID)、第一帧障碍物模型、预测的第二帧障碍物模型、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。当第一帧中匹配到目标障碍物,此时累计匹配帧数F=1,累计未匹配帧数E=0,累计帧数M=1。当然,初始帧不限于是激光雷达检测到的第一帧,初始帧还可以是链表轨迹中的任意一帧,初始帧主要是用于为链表轨迹后续检测的数据帧提供数据基础。
作为一种可能的实现方式中,终端设备获取当前帧障碍物信息前,障碍物跟踪方法还包括:
步骤103:终端设备接收当前帧障碍物的点云信息(即障碍物的三维点云数据)。并采用栅格地图法检测当前帧障碍物的点云信息,以获取当前帧障碍物信息。
示例性的,在本发明实施例中,通过激光雷达获得大量的障碍物的三维点云数据,由于障碍物的三维点云数据中包含障碍物的点云信息,所以利用上述三维点云数据可以获得障碍物信息。当终端设备接收障碍物的三维点云数据后,终端设备采用栅格地图法检测当前帧障碍物的点云信息(三维点云数据),以获得当前帧障碍物信息。由于栅格地图法,在每个栅格中都保存了部分数据信息,使得需要处理的数据量变小,从而提高了数据的处理效率。
在实际应用过程中,上述终端设备采用栅格地图法检测当前帧障碍物的点云信息,获得当前帧障碍物信息的过程可以包括以下步骤:
图3示出了本发明实施例提供的利用栅格地图法检测障碍物的流程示意图。如图3所示,下面以Velodyne HDL 64E激光雷达,正常行驶的车辆为无人自主车为例进行描述,应理解,以下描述仅用于解释说明,不用于具体限定。
步骤103.1:终端设备根据雷达设备的精度确定栅格尺寸。
示例性的,终端设备可以采用极坐标方法,估算雷达水平测量距离的分辨率。极坐标方法中的极坐标表示对(angle,distance),其中angel表示水平角分辨率,distance表示正常行驶的车辆与障碍物的距离。当激光雷达的工作频率在的10HZ,angel为0.1728°时,根据弧长计算公式,可以得到雷达水平距离分辨率公式:Resolution=angel×distance×π/180。若设定无人自主车前方扫描安全距离是60米时,Resolution=0.1728×60×π/180=0.18,即Resolution为0.18米。此时,可以确定栅格尺寸要大于0.18米,为了便于处理,选取的栅格大小是0.20米×0.20米。图4示出了本发明实施例提供的栅格地图与无人自主车的相对位置关系的示意图。如图4所示,在本发明实施例中,上述栅格地图12可以是40米×80米,栅格大小是0.20米×0.20米。无人自主车13位于栅格地图12的中后部,其前方的可视范围为60米,左右的可视范围均为20米。
步骤103.2:终端设备将原始数据转化到车体坐标,之后投影到栅格地图上。
示例性的,在确定好栅格地图后,需要将激光雷达获得的障碍物的三维数据点(即来源于障碍物的三维点云数据中的三维数据点,也可以称为原始数据)投影到栅格地图上。在此之前需要将每一个原始数据(包含距离和角度信息的数据)转化为车体坐标系下的三维坐标。具体的,先根据内参标定得到的文件,进行距离、角度信息的误差校正。其中,可以包括旋转校正角度、垂直校正角度、距离校正角度、垂直偏移因子以及水平偏移因子等。在得到相对较为准确的距离角度信息后,通过下列公式将其转化为激光雷达坐标系下的三维位置点(X(r),Y(r),Z(r)):
X(r)=d×cosα×sinθ,
Y(r)=d×cosα×sinθ,
Z(r)=d×sinα;
其中,d为三维位置点距离雷达的距离;α仅为三维位置点所在的雷达线的俯仰角,即垂直方向的角度;θ为水平方向的航向角。
然后通过外参标定得到的旋转矩阵R和平移矩阵T将每个三维位置点转化为车体坐标系下的位置点(X(v),Y(v),Z(v))。
上述旋转矩阵R和平移矩阵T可以根据实际情况进行设置,在此不做具体限定。
将转化为车体坐标系下的位置点(X(v),Y(v),Z(v)),根据X,Y坐标投影到栅格地图对应的栅格中。
步骤103.3:终端设备判断栅格内点数是否<2。
示例性的,经过投影之后,栅格地图内包含的三维位置点的个数、最大高度、最小高度等信息。遍历每个栅格,判断该栅格的属性。属性可以分为可通行区域、不可通行区域、以及检测盲区三类。其中,可通行区域可以包括平坦地面,坡面等。不可通行区域一般是指影响无人自主车安全行驶的障碍物。检测盲区表示雷达的检测盲点。在实际应用过程中,可以通过判断栅格内点数是否<2,以判断该栅格代表的区域。
步骤103.4:若终端设备判断后栅格内点数<2,则该栅格是检测盲区。
步骤103.5:若终端设备判断后栅格内点数≥2,则终端设备计算栅格内最大高度差Δh。
示例性的,当栅格内点数≥2时,表示该栅格代表的是可通行区域或不可通行区域。由于在实际应用过程中会存在以下两种情况:第一种,由于车辆在非结构化道路上行驶时,无人自主车会发生颠簸,从而影响俯仰角,导致障碍物的高度测量出现误差。第二种,若无人自主车在行驶过程中,前方道路为一个坡度较大的上坡路,虽然激光雷达测量到一个有一定高度的物体,但是该物体并不是障碍物是可以通行的。所以为了避免出现以上情况,采用相对高度来判断栅格具体代表的结构。即通过计算栅格内最大高度与最小高度之间的高度差,此时高度差为栅格内最大高度差Δh。利用栅格内最大高度差Δh与设定的阈值进行比较,以进一步判断栅格具体代表的物体或地形。上述阈值可以是0.2m,当然也可以是人为设定的任意数值。
步骤103.6:终端设备判断Δh是否大于阈值。
步骤103.7:若终端设备判断后Δh大于阈值,则该栅格是障碍物。
步骤103.8:若终端设备判断后Δh小于阈值,则该栅格是平路或者坡路。
作为一种可能的实现方式中,上述当前帧障碍物模型链表为当前帧障碍物盒子模型链表。
步骤105:终端设备根据当前帧障碍物信息建立当前帧障碍物模型链表包括:
步骤105.1:终端设备采用区域标记算法对当前帧障碍物信息中的障碍点进行相关性聚类,获得当前帧障碍物聚类信息。
示例性的,由于自然环境的多变性和复杂性,激光雷达扫描得到的三维点云数据中包含了障碍物之间的距离信息,在没有先验信息的条件下,待聚类的个数和空间分布是未知的。并且障碍物聚类结果的程度直接影响后期对障碍物的跟踪检测,为了快速准确的对障碍物进行聚类,本发明实施例采用基于距离相关性的聚类法。即本发明实施例采用基于距离相关性的区域标记算法对前面障碍物检测获得的障碍点进行相关性聚类,以将障碍物中离散的点聚集在一起,最终获得障碍物聚类信息。当然,还可以采用DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法、K-means聚类算法、欧氏(Euclidean)聚类算法以及利用深度图像进行聚类分析。
步骤105.2:终端设备检测当前帧障碍物聚类信息,获得当前帧障碍物模型。当前帧障碍物模型为当前帧障碍物的盒子模型。
示例性的,终端设备可以采用最小凸包法检测障碍物聚类信息,获得每个障碍物的最小矩形框,并用盒子模型来代表障碍物。即当前帧障碍物模型为当前帧障碍物的盒子模型,当前帧障碍物模型链表为当前帧障碍物盒子模型链表。当然,不仅可以采用最小凸包法检测障碍物聚类信息,还可以采用深度学习的方法进行检测,例如Region-CNN(R-CNN),Fast R-CNN,Faster R-CNN,CenterNet等。上述代表障碍物的不仅限于使用盒子模型,也可以采用基于中心的CenterNet模型。CenterNet模型中,对每一个目标都用其边界框中心的一个点表示。
作为一种可能的实现方式中,终端设备根据当前帧障碍物信息建立当前帧障碍物模型链表后,终端设备根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表前,障碍物跟踪方法还包括:
步骤106:终端设备获得当前帧障碍物模型的中心位置到目标的位置,并且按照距离从近到远将链表中的当前帧障碍物模型排序。
示例性的,利用终端设备获得当前帧障碍物模型的中心位置到目标的位置之后,按照距离从近到远将链表中的当前帧障碍物模型排序。上述目标是指正常行驶的车辆(例如无人自主车)。此时可以为正常行驶的车辆(例如无人自主车)提供障碍物的距离信息,使正常行驶的车辆(例如无人自主车)优先对近处的障碍物进行避让,确保车辆以及路面上的障碍物(例如其他车辆,行人)的安全。
步骤107:终端设备确定当前帧障碍物信息所在数据帧大于初始帧的情况下,终端设备根据当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表。
作为一种可能的实现方式中,终端设备获得当前帧轨迹链表后,终端设备根据当前帧轨迹链表对当前帧障碍物进行追踪前,障碍物跟踪方法还包括:终端设备预测当前帧轨迹链表中预测的下一帧障碍物模型位置。
步骤108:终端设备预测当前帧轨迹链表中预测的下一帧障碍物模型位置包括:采用所述卡尔曼滤波器根据所述当前帧障碍物模型位置预测当前帧轨迹链表中预测的下一帧障碍物模型位置。
在本发明实施例中,当当前帧为第二帧时,从第二帧开始重复以下步骤。利用卡尔曼滤波器预测第三帧(下一帧)中盒子模型出现的位置(即预测轨迹新的位置),并利用第三帧中盒子模型位置覆盖第二帧轨迹链表中的“预测的下一帧障碍物模型位置”这一属性。之后利用“预测的下一帧障碍物模型位置”这一属性与激光雷达检测到的真实的障碍物“下一帧障碍物模型位置”进行比较,处理。通过不断调整卡尔曼滤波器的参数,对预测值和检测值的权重进行调整,进而修正预测值。使后期预测到的障碍物的位置趋近于真实的障碍物的位置,或者后期预测到的障碍物的位置等于真实的障碍物的位置,以用于为正常行驶的车辆预先提供障碍物的行驶路线,出现的位置,使正常行驶的车辆提前做出路径规划,避让障碍物,以确保车辆和障碍物的安全。
图5示出了本发明实施例提供的卡尔曼滤波的流程示意图。如图5所示,下面以一种可能的实现方式为例描述卡尔曼滤波的步骤:
步骤108.1:终端设备设定卡尔曼滤波相关参数。
示例性的,设置参数time、A、H、KalmanQ、KalmanR。time表示雷达的工作周期T。图6示出了本发明实施例提供的盒子模型的示意图。如图6所示,A表示8×8状态转移矩阵(x,y,w,h,dx,dy,dw,dh),其中,(x,y)表示盒子模型的质心坐标、w表示盒子模型的长度、h表示盒子模型的宽度、dx表示盒子模型在质心X轴方向上的移动速度、dy表示盒子模型在质心Y轴方向上的移动速度,dw表示盒子模型在长度方向上的移动速度,dh表示盒子模型在宽度方向上的移动速度。
H是4×8观测矩阵;
KalmanQ是8×8状态转移矩阵的协方差矩阵。KalmanR是8×8观测矩阵的协方差矩阵。
步骤108.2:终端设备根据第k-1时刻的状态预测第k时刻的状态X(k|k-1)。
示例性的,终端设备根据第k-1时刻的状态预测第k时刻的状态X(k|k-1),公式如下:X(k|k-1)=AX(k-1)。其中,第k-1时刻表示激光雷达在第k-1时刻检测到障碍物的状态,第k时刻表示在第k时刻障碍物的状态。
步骤108.3:终端设备根据第k-1时刻的系统预测误差估计第k时刻的系统预测误差P(k|k-1)。
示例性的,终端设备根据第k-1时刻的系统预测误差估计第k时刻的系统预测误差P(k|k-1),公式如下:P(k|k-1)=AP(k-1|k-1)A’+Q。其中,A’表示8×8状态转移矩阵(x,y,w,h,dx,dy,dw,dh)的转置,此处为了进行矩阵运算,进而采取了转置。Q表示kalmanQ,是8×8状态转移矩阵的协方差矩阵。
步骤108.4:终端设备计算卡尔曼增益Kg。
示例性的,终端设备计算卡尔曼增益Kg,公式如下:Kg(k)=P(k|k-1)H’/(H P(k|k-1)H’+R)。其中,H’表示4×8观测矩阵的转置,此处为了进行矩阵运算,进而采取了转置,R表示KalmanR,是8×8观测矩阵的协方差矩阵。
步骤108.5:终端设备计算系统最优估算值X(k|k)。
示例性的,终端设备计算系统最优估算值X(k|k),公式如下:X(k|k)=X(k|k-1)+Kg(k)(Z(k)-H X(k|k-1)),其中Z(k)为k时刻的观测数据。
步骤108.6:终端设备计算系统当前时刻的系统预测误差P(k|k)。
步骤108.7:跳转到步骤108.2,循环执行该过程。
卡尔曼滤波的算法主要包含两步:预测和更新。在预测阶段,通常是对状态变量和协方差进行预测,这里具体指的是障碍物盒子模型的参数,包括位置和速度即(x,y,w,h,dx,dy,dw,dh)。在更新阶段,通过调整卡尔曼滤波器的参数,对预测值和观测值的权重进行调整,进而修正预测值。
作为一种可能的实现方式中,终端设备检测前一帧障碍物轨迹链表与当前帧轨迹链表之间的关联关系包括:采用匈牙利算法检测前一帧障碍物轨迹链表与当前帧轨迹链表之间的关联关系。
示例性的,数据关联是多障碍物跟踪任务中的关键步骤,其目的主要是为了进行帧与帧之间的多个障碍物的匹配,其中包括新障碍物的出现,旧障碍物的消失,以及前一帧与当前帧的障碍物ID匹配,即将相邻两帧的障碍物检测框(盒子模型)尽可能准确的两两匹配。例如:利用卡尔曼滤波预测出的A时刻的盒子和检测出的A时刻的盒子进行匹配,若匹配上了,就用A时刻的检测值修正A时刻的预测值。
图7示出了本发明实施例提供的匈牙利算法的流程示意图。如图7所示,作为一种可能的实现方式中,步骤109:终端设备采用匈牙利算法检测前一帧障碍物轨迹链表与当前帧轨迹链表之间的关联关系的步骤包括:
步骤109.1:终端设备对前一帧障碍物轨迹链表和当前帧轨迹链表进行预处理,并初始化标杆。
示例性的,匈牙利算法(即二分法)可以用来将卡尔曼滤波器预测结果和检测结果进行关联,通过外观信息、马氏距离,或者IoU(Intersection-over-Union,交并比)来计算代价矩阵。一般情况下,常用IoU来做为判断标准。当卡尔曼滤波器预测结果和检测结果的IoU大于或等于IoU阈值时,则认为是同一个目标,匹配成功将其保留。当卡尔曼滤波器预测结果和检测结果的IoU小于IoU阈值时,则认为不是同一个目标,未成功匹配将其删除。
步骤109.2:终端设备利用匈牙利算法寻找前一帧障碍物轨迹链表和当前帧轨迹链表之间的完备匹配。
示例性的,完备匹配是匈牙利算法匹配中的一个概念,即如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配。在本发明实施例中,通过匈牙利算法将障碍物检测框(盒子模型)和障碍物预测框(盒子模型)两两匹配,为后期修正卡尔曼滤波器提供数据基础。例如:一般情况下,可以利用t-1时刻和t时刻的轨迹链表,计算两帧之间的代价矩阵,通过最小化代价矩阵,寻找完备匹配。
步骤109.3:终端设备确定是否找到完备解。
示例性的,当卡尔曼滤波器预测结果和检测结果的外观信息、马氏距离,或者IoU计算出的代价矩阵为最小代价矩阵时,即为找到完备解(由于可能同时存在多个障碍物预测框和障碍物检测框的IoU值满足大于等于IoU阈值,但是需要求得的代价矩阵最小。即平衡所有的障碍物检测框和障碍物预测框,使得代价矩阵最小。)。上述代价矩阵的值可以是外观信息距离、马氏距离、IoU值。例如:如果用IoU距离作为权重,并且当IoU小于一定数值(IoU阈值,即标杆)时,不认为是同一个目标,理论基础是视频中两帧之间物体移动不会过多。此时,就能得到障碍物检测框(盒子模型)和障碍物预测框(盒子模型)两两最优匹配的组合。上述完备解是满足完备匹配的唯一解。
步骤109.4:若找到完备解,则结束;否则终端设备修改标杆并再次利用匈牙利算法寻找前一帧障碍物轨迹链表和当前帧轨迹链表之间的完备匹配,直至获得完备解。
示例性的,若没有找到完备解,则修改标杆并跳转步骤109.2,循环执行此过程,直至获得完备解。
步骤1010:终端设备根据当前帧轨迹链表对当前帧障碍物进行追踪。
步骤1010.1:终端设备使用匹配的新的障碍物的属性,更新已匹配到障碍物的轨迹属性。
示例性的,上述属性可以包括当前帧障碍物模型位置、卡尔曼滤波器、累计帧数M(即从轨迹创建到现在经过的数据帧数),累计匹配帧数F(即自从轨迹创建到现在已经经历的匹配到障碍物的帧数)、累计未匹配帧数E(即自从轨迹创建到现在已经经历的未匹配到障碍物的帧数),M=F+E。由于卡尔曼滤波预测的目的是通过预测障碍物在后续帧中的位置,避免在进行障碍物盒子模型关联时出现误差。所以在预测阶段结束后,再根据预测的结果,结合真实检测的结果进行更新。利用更新过后的盒子模型作为下一时刻的盒子模型。
步骤1010.2:终端设备更新未匹配到障碍物的轨迹属性。
示例性的,上述属性可以包括累计匹配帧数F,累计未匹配帧数E。终端设备不断更新障碍物的轨迹属性,即终端设备不断更新障碍物的位置。此时可以实时监测到障碍物相对于无人自主车(正常行驶的车辆)的位置,为后期判断障碍物是否对无人自主车(正常行驶的车辆)形成威胁提供数据支持。由于终端设备可以检测出障碍物第一帧和第二帧所处的位置,所以该方法可以用于检测车辆(障碍物)是否存在超速,不安全行驶等问题。检测行人(障碍物)是否存在闯红灯,翻越护栏等问题。同时还可以为交通事故的取证、判定,追责等提供数据支持。所以该方法不仅可以为无人自主车(正常行驶的车辆)检测跟踪障碍物,还可以维护行人、车辆、路面的安全。
步骤1011:当当前帧轨迹链表满足删除条件:累计未匹配帧数E>激光雷达的频率数。和/或,累计帧数M<跟踪历史次数阈值且累计匹配帧数F/累计帧数M<有效跟踪次数阈值时,终端设备删除当前帧轨迹链表。
示例性的,当轨迹链表满足上述两个条件中的任意一个或同时满足上述两个条件时,就可以将该轨迹链表删除。例如:当累计未匹配帧数E>激光雷达的频率数时,表示由于激光雷达检测范围较大,当障碍物已经不在激光雷达的检测范围之内时,该障碍物不再对正常行驶的车辆造成影响。
当累计帧数M<跟踪历史次数阈值且累计匹配帧数F/累计帧数M<有效跟踪次数阈值时,可以理解为累计帧数M<跟踪历史次数阈值&&累计匹配帧数F/累计帧数M<有效跟踪次数阈值,这里的“&&”表示“逻辑和”关系,即两条件同时成立时,执行下一步。此公式表示在给定的时间内,激光雷达未能达到有效跟踪次数的目标,即跟踪失败的目标,需要对其进行删除。上述“跟踪历史次数阈值”和“有效跟踪次数阈值”均是通过训练得到的阈值。
步骤1012:终端设备利用未匹配到轨迹的新障碍物,创建新的障碍物轨迹链表。
示例性的,当激光雷达检测到新障碍物时,重复步骤101-步骤107为新障碍物创建障碍物轨迹链表,以便于后期终端设备对该新障碍物的检测和跟踪。采用本发明实施例提供的检测跟踪方法,不断更新无人自主车(正常行驶的车辆)周围的障碍物信息,使其在乡村道路、国道以及城市道路等不同环境下,能够在每帧100毫秒的时间内实现准确、稳定地识别和跟踪。为无人自主车系统的规划模块提供了必要的动态障碍信息,为其采取跟随、超车和避障等策略提供依据,充分有效地保证了自主车的安全行驶。
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如采集设备和终端设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对采集设备和终端设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
上面结合图1至图7,对本发明实施例的方法进行了说明,下面对本发明实施例提供的执行上述障碍物跟踪方法进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本发明实施例提供的通信设备可以执行上述障碍物跟踪方法中由雷达设备和终端设备执行的步骤。
本发明实施例可以根据上述方法示例对雷达设备和终端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图8示出了本发明实施例提供的障碍物跟踪装置的结构框图。如图8所示,上述障碍物跟踪装置20包括:通信单元22和处理单元21。可选的,该障碍物跟踪装置20还可以包括存储单元23,该存储单元23,用于存储终端的应用、图片等。
如图8所示,一种示例,该障碍物跟踪装置20为雷达设备,或者为应用于雷达设备中的芯片。在这种情况下,通信单元22,用于支持该障碍物跟踪装置20执行上述实施例中由雷达设备执行步骤101、步骤102。处理单元21用于支持该障碍物跟踪装置20执行上述实施例中由终端设备执行步骤103~步骤1012。
如图8所示,在一种可能的实现方式中,处理单元21,用于支持障碍物跟踪装置20执行上述实施例中由雷达设备执行的步骤103.1~步骤103.8。
如图8所示,在一种可能的实现方式中,处理单元21,还用于支持该障碍物跟踪装置20执行上述实施例中由终端设备执行的步骤105.1、步骤105.2,步骤108.1~步骤108.7,步骤109.1~步骤109.4,步骤1010.1、步骤1010.2。
其中,如图8所示,处理单元21可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital SignalProcessor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理单元也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元可以是收发器、收发电路或通信接口等。存储单元可以是存储器。
如图8所示,以上通信单元22可以是该装置的一种通信接口,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该通信单元22是该芯片用于从其它芯片或装置接收信号或发送信号的通信接口。
当上述处理单元21为处理器,通信单元22为通信接口,存储单元23可以是存储器时,本发明实施例所涉及的雷达设备或终端设备可以为图9所示的通信设备。
如图9所示,本发明实施例提供的通信设备的集成模块示意图,该通信设备30包括第一处理器31以及与第一处理器31耦合的通信接口32。
如图9所示,在一种示例中,通信接口32可以用于支持设备执行上述实施例中由雷达设备,或者应用于雷达设备中的芯片执行的步骤101和步骤102。第一处理器31用于支持设备执行上述实施例中由雷达设备,或者应用于雷达设备中的芯片执行的步骤103~步骤1012。
如图9所示,上述第一处理器31可以是一个通用中央处理器(central processingunit,CPU),微处理器,专用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
如图9所示,上述通信接口32可以为一个或多个。通信接口32可使用任何收发器一类的装置,用于与其他设备或通信网络通信。
如图9所示,上述通信设备30还可以包括通信线路33。通信线路33可包括一通路,在上述组件之间传送信息。
如图9所示,该通信设备30还可以包括第一存储器34。第一存储器34用于存储执行本发明方案的计算机执行指令,并由第一处理器31来控制执行。第一处理器31用于执行第一存储器34中存储的计算机执行指令,从而实现本发明下述实施例提供的通信方法。
如图9所示,第一存储器34可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。第一存储器34可以是独立存在,通过通信线路33与第一处理器31和第二处理器35相连接。第一存储器34也可以和第一处理器31和第二处理器35集成在一起。
可选的,本发明实施例中的计算机执行指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
在具体实现中,作为一种实施例,如图9所示,第一处理器31可以包括一个或多个CPU,如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,如图9所示,该设备可以包括多个处理器,如图9中的第一处理器31和第二处理器35。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。
图10示出了本发明实施例提供的芯片的结构示意图。如图10所示,该芯片40包括一个或两个以上(包括两个)处理器41和通信接口42。
可选的,如图10所示,该芯片40还包括第二存储器43。第二存储器43可以包括只读存储器和随机存取存储器,并向处理器41提供操作指令和数据。第二存储器43的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图10所示,第二存储器43存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本发明实施例中,如图10所示,通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
如图10所示,处理器41控制本发明实施例中电子设备包括的处理器和电源中任一个的处理操作,处理器41还可以称为中央处理单元(central processing unit,CPU)。
如图10所示,第二存储器43包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。第二存储器43的一部分还可以包括NVRAM。例如应用中处理器41、通信接口42以及第二存储器43通过总线系统44耦合在一起,其中总线系统44除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图10中将各种总线都标为总线系统44。
如图10所示,上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第二存储器43,处理器41读取存储器中的信息,结合其硬件完成上述方法的步骤。
一种可能的实现方式中,如图10所示,通信接口42用于支持上述芯片40执行上述实施例中的设备的接收和发送的步骤。处理器41用于支持上述芯片40执行上述实施例中设备的处理的步骤。
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现如图9和图10中处理器的功能。
一方面,提供一种芯片,该芯片应用于通信设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现上述实施例中由图9和图10中处理器执行的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (9)
1.一种障碍物跟踪方法,其特征在于,包括以下步骤:
获取当前帧障碍物信息;
根据所述当前帧障碍物信息建立当前帧障碍物模型链表;
确定所述当前帧障碍物信息所在数据帧大于初始帧的情况下,根据所述当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表;
根据所述当前帧轨迹链表对当前帧障碍物进行追踪;
其中,每帧轨迹链表包括:当前帧障碍物轨迹标识、当前帧障碍物模型位置、预测的下一帧障碍物模型位置、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E;
所述获取当前帧障碍物信息前,所述障碍物跟踪方法还包括:
接收当前帧障碍物的点云信息;
采用栅格地图法检测所述当前帧障碍物的点云信息,以获取当前帧障碍物信息;和/或,
所述当前帧障碍物模型链表为当前帧障碍物盒子模型链表;根据所述当前帧障碍物信息建立当前帧障碍物模型链表包括:
采用区域标记算法对所述当前帧障碍物信息中的障碍点进行相关性聚类,获得当前帧障碍物聚类信息;
检测所述当前帧障碍物聚类信息,获得当前帧障碍物模型;所述当前帧障碍物模型为当前帧障碍物的盒子模型。
2.根据权利要求1所述的障碍物跟踪方法,其特征在于,确定所述当前帧障碍物信息为初始帧障碍物信息的情况下,根据所述初始帧障碍物信息创建初始帧障碍物模型链表;根据所述初始帧障碍物模型链表创建初始帧轨迹链表;所述初始帧轨迹链表包括:初始帧障碍物轨迹标识、初始帧障碍物模型、预测的下一帧障碍物模型、卡尔曼滤波器、累计帧数M、累计匹配帧数F、累计未匹配帧数E,M=F+E。
3.根据权利要求1所述的障碍物跟踪方法,其特征在于,所述根据所述当前帧障碍物信息建立当前帧障碍物模型链表后,根据所述当前帧障碍物模型链表和前一帧障碍物轨迹链表,获得当前帧轨迹链表前,所述障碍物跟踪方法还包括:
获得当前帧障碍物模型的中心位置到目标的位置,并且按照距离从近到远将链表中的所述当前帧障碍物模型排序。
4.根据权利要求1所述的障碍物跟踪方法,其特征在于,所述获得当前帧轨迹链表后,根据所述当前帧轨迹链表对当前帧障碍物进行追踪前,所述障碍物跟踪方法还包括:预测所述当前帧轨迹链表中预测的下一帧障碍物模型位置;和/或,
所述预测所述当前帧轨迹链表中预测的下一帧障碍物模型位置包括:
采用所述卡尔曼滤波器根据所述当前帧障碍物模型位置预测所述当前帧轨迹链表中预测的下一帧障碍物模型位置。
5.根据权利要求1所述的障碍物跟踪方法,其特征在于,所述根据所述当前帧轨迹链表对当前帧障碍物进行追踪后,所述障碍物跟踪方法还包括:
当所述当前帧轨迹链表满足删除条件:
累计未匹配帧数E>激光雷达的频率数;
和/或,
累计帧数M<跟踪历史次数阈值且累计匹配帧数F/累计帧数M<有效跟踪次数阈值时;
删除所述当前帧轨迹链表。
6.根据权利要求1所述的障碍物跟踪方法,其特征在于,检测所述前一帧障碍物轨迹链表与所述当前帧轨迹链表之间的关联关系包括:
采用匈牙利算法检测所述前一帧障碍物轨迹链表与所述当前帧轨迹链表之间的关联关系。
7.根据权利要求6所述的障碍物跟踪方法,其特征在于,所述采用匈牙利算法检测所述前一帧障碍物轨迹链表与所述当前帧轨迹链表之间的关联关系包括:
对所述前一帧障碍物轨迹链表和所述当前帧轨迹链表进行预处理,并初始化标杆;
利用匈牙利算法寻找所述前一帧障碍物轨迹链表和所述当前帧轨迹链表之间的完备匹配;
确定是否找到完备解;
若找到完备解,则结束;否则修改标杆并再次利用匈牙利算法寻找所述前一帧障碍物轨迹链表和所述当前帧轨迹链表之间的完备匹配,直至获得完备解。
8.一种障碍物跟踪装置,其特征在于,包括:处理器以及与所述处理器耦合的通信接口;所述处理器用于运行计算机程序或指令,执行权利要求1~7任一项所述障碍物跟踪方法。
9.一种芯片,其特征在于,所述芯片中存储有指令,当所述指令被运行时,执行权利要求1~7任一项所述障碍物跟踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083050.0A CN112734811B (zh) | 2021-01-21 | 2021-01-21 | 一种障碍物跟踪方法、障碍物跟踪装置和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110083050.0A CN112734811B (zh) | 2021-01-21 | 2021-01-21 | 一种障碍物跟踪方法、障碍物跟踪装置和芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112734811A CN112734811A (zh) | 2021-04-30 |
CN112734811B true CN112734811B (zh) | 2021-08-24 |
Family
ID=75595176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110083050.0A Active CN112734811B (zh) | 2021-01-21 | 2021-01-21 | 一种障碍物跟踪方法、障碍物跟踪装置和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112734811B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037736B (zh) * | 2021-11-15 | 2024-05-14 | 重庆大学 | 一种基于自适应模型的车辆检测与跟踪方法 |
CN115061470B (zh) * | 2022-06-30 | 2023-03-21 | 哈尔滨理工大学 | 适用狭窄空间的无人车改进teb导航方法 |
CN118015047A (zh) * | 2024-04-08 | 2024-05-10 | 天津所托瑞安汽车科技有限公司 | 多目标跟踪方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106023244A (zh) * | 2016-04-13 | 2016-10-12 | 南京邮电大学 | 基于最小二乘法轨迹预测及智能避障模型的行人跟踪方法 |
CN108734124A (zh) * | 2018-05-18 | 2018-11-02 | 四川国软科技发展有限责任公司 | 一种激光雷达动态行人检测方法 |
CN111192296A (zh) * | 2019-12-30 | 2020-05-22 | 长沙品先信息技术有限公司 | 一种基于视频监控的行人多目标检测与跟踪方法 |
CN112050810A (zh) * | 2019-12-23 | 2020-12-08 | 华北电力大学(保定) | 一种基于计算机视觉的室内定位导航方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108152831B (zh) * | 2017-12-06 | 2020-02-07 | 中国农业大学 | 一种激光雷达障碍物识别方法及系统 |
CN110018496A (zh) * | 2018-01-10 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 障碍物识别方法及装置、电子设备、存储介质 |
US20190050653A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Perception device for obstacle detection and tracking and a perception method for obstacle detection and tracking |
CN112154356B (zh) * | 2019-09-27 | 2024-03-15 | 深圳市大疆创新科技有限公司 | 点云数据处理方法及其装置、激光雷达、可移动平台 |
CN110910416A (zh) * | 2019-11-20 | 2020-03-24 | 河北科技大学 | 运动障碍物跟踪方法、装置及终端设备 |
-
2021
- 2021-01-21 CN CN202110083050.0A patent/CN112734811B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106023244A (zh) * | 2016-04-13 | 2016-10-12 | 南京邮电大学 | 基于最小二乘法轨迹预测及智能避障模型的行人跟踪方法 |
CN108734124A (zh) * | 2018-05-18 | 2018-11-02 | 四川国软科技发展有限责任公司 | 一种激光雷达动态行人检测方法 |
CN112050810A (zh) * | 2019-12-23 | 2020-12-08 | 华北电力大学(保定) | 一种基于计算机视觉的室内定位导航方法及系统 |
CN111192296A (zh) * | 2019-12-30 | 2020-05-22 | 长沙品先信息技术有限公司 | 一种基于视频监控的行人多目标检测与跟踪方法 |
Non-Patent Citations (2)
Title |
---|
RGB-D Object Tracking with Occlusion Detection;Yujun Xie,and etc;《2019 15th International Conference on Computational Intelligence and Security (CIS)》;20200305;第11-15页 * |
基于三维激光雷达的无人车障碍物检测与跟踪;谢德胜等;《汽车工程》;20180831;第40卷(第8期);第952-959页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112734811A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7070974B2 (ja) | 自律車両ナビゲーションのための疎な地図 | |
US11530924B2 (en) | Apparatus and method for updating high definition map for autonomous driving | |
US11719821B2 (en) | Method for object avoidance during autonomous navigation | |
US11175145B2 (en) | System and method for precision localization and mapping | |
CN112734811B (zh) | 一种障碍物跟踪方法、障碍物跟踪装置和芯片 | |
Suhr et al. | Sensor fusion-based low-cost vehicle localization system for complex urban environments | |
CN107646114B (zh) | 用于估计车道的方法 | |
CN108628324B (zh) | 基于矢量地图的无人车导航方法、装置、设备及存储介质 | |
GB2620695A (en) | Systems and methods for vehicle navigation | |
JP2022535351A (ja) | 車両ナビゲーションのためのシステム及び方法 | |
EP3818339A1 (en) | Systems and methods for vehicle navigation | |
WO2021038294A1 (en) | Systems and methods for identifying potential communication impediments | |
KR20200134313A (ko) | 자율주행 차량을 위한 상대적인 아틀라스 및 그 생성 | |
WO2021053393A1 (en) | Systems and methods for monitoring traffic lane congestion | |
GB2613692A (en) | Systems and methods for vehicle navigation | |
CN105667518A (zh) | 车道检测的方法及装置 | |
JP2023106536A (ja) | 画像分析に基づく車両ナビゲーションのためのシステム | |
US11680801B2 (en) | Navigation based on partially occluded pedestrians | |
US10796571B2 (en) | Method and device for detecting emergency vehicles in real time and planning driving routes to cope with situations to be expected to be occurred by the emergency vehicles | |
Verma et al. | Vehicle detection, tracking and behavior analysis in urban driving environments using road context | |
EP4204768A1 (en) | Systems and methods for map-based real-world modeling | |
US11754415B2 (en) | Sensor localization from external source data | |
EP4160154A1 (en) | Methods and systems for estimating lanes for a vehicle | |
EP4160153A1 (en) | Methods and systems for estimating lanes for a vehicle | |
WO2023067385A2 (en) | Radar-camera fusion for vehicle navigation |
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 | ||
GR01 | Patent grant |