CN114549579A - 一种目标物跟踪方法及装置 - Google Patents
一种目标物跟踪方法及装置 Download PDFInfo
- Publication number
- CN114549579A CN114549579A CN202210116754.8A CN202210116754A CN114549579A CN 114549579 A CN114549579 A CN 114549579A CN 202210116754 A CN202210116754 A CN 202210116754A CN 114549579 A CN114549579 A CN 114549579A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- target object
- dimensional
- determining
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/223—Analysis of motion using block-matching
-
- 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
Abstract
本说明书公开了一种目标物跟踪方法及装置,通过确定目标物在当前帧点云数据中的初始点云,再确定初始点云对应的深度图像,进而根据深度图像中各像素分别对应的深度值,确定并剔除初始点云中的不稳定点,得到目标物的当前平稳点云,再将当前平稳点云中各三维点和历史平稳点云中各三维点进行匹配,根据匹配结果确定目标物的速度,以对目标物进行跟踪。本方法剔除了初始点云中的不稳定点,使得在无人驾驶设备和目标物的相对位置之间发生变化时,确定出的目标物的移动受相对位置影响更小,使得对目标物的跟踪结果更准确。
Description
技术领域
本说明书涉及无人驾驶技术领域,尤其涉及一种目标物跟踪方法及装置。
背景技术
目前,无人驾驶设备行驶过程中,通常会对周围环境中的目标物进行跟踪,以基于各目标物的跟踪结果,确定无人驾驶设备的运动策略以保证无人驾驶设备的行驶安全。其中,目标物通常可为障碍物、指示牌、信号灯等会影响无人驾驶设备行驶的对象。
在现有技术中,一般可基于点云数据对目标物进行跟踪。具体的,首先可基于目标物上一时刻的速度,对获取到的点云数据进行目标物检测并分类,确定各目标物对应的三维点。然后,针对每个目标物,根据该目标物对应的各三维云,确定该目标物对应的质心点。最后,根据目标物在当前时刻的质心点的位置,以及目标物在历史时刻的质心点的位置,确定当前时刻目标物的移动速度,以基于当前时刻目标物的移动速度,对目标物下一时刻的位置进行跟踪。
但是,在无人驾驶设备移动过程中,随着无人驾驶设备和目标物相对位置的改变,目标物对应的点云的稠密区域会随着相对位置的改变而改变,使得确定出的目标物当前时刻的速度不准确,进而导致难以实现对目标物的跟踪,确定运动策略的效率较低。
发明内容
本说明书提供一种目标物跟踪方法及装置,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种目标物跟踪方法,包括:
确定当前帧点云数据中目标物对应的初始点云;
根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云;
将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点,进行匹配;
根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
可选的,根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定所述初始点云中包含的各不稳定点,具体包括:
根据点云数据和深度图像之间的映射关系,将所述当前帧点云数据投影至深度坐标系,确定当前帧深度图像;
从所述当前帧深度图像中,确定所述目标物对应的区域,并针对所述区域中的每个像素,确定该像素的深度值与其周围像素的深度值的深度差,所述深度值表征所述像素对应的三维点与采集设备之间的距离;
当所述深度差大于预设的差距阈值时,确定该像素对应的三维点为不稳定点。
可选的,在对所述历史稳定点云中包含的各三维点和所述当前稳定点云中包含的各三维点进行匹配前,所述方法还包括:
将所述当前稳定点云所在的三维区域进行分割,确定各单元区域;
针对每个单元区域,根据该单元区域包含的三维点的位置,确定该单元区域对应的目标三维点;
根据各单元区域分别对应的目标三维点,对所述当前稳定点云进行更新。
可选的,确定历史帧点云数据中所述目标物对应的历史稳定点云,具体包括:
确定采集设备当前时刻对应的移动速度;
根据所述移动速度、所述采集设备采集单帧点云数据的耗时以及预设的位移阈值,确定与所述当前帧点云数据中所述目标物的位置差距大于预设位移阈值的历史帧点云数据;
将所述历史帧点云数据中所述目标物对应的稳定点云,作为所述历史稳定点云。
可选的,将历史帧点云数据中所述目标物对应的历史稳定点云中包含的各三维点,与所述当前稳定点云中包含的各三维点,进行匹配,具体包括:
确定所述目标物对应的三维区域;
根据所述三维区域、所述当前稳定点云中各三维点和所述三维区域的相对位置以及所述历史稳定点云中各三维点和所述三维区域的相对位置,对所述历史稳定点云中包含的各三维点和所述当前稳定点云中包含的各三维点进行匹配。
可选的,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,具体包括:
根据所述目标物的速度,确定所述目标物在下一时刻的预估位置;
根据所述预估位置以及下一时刻获取到的点云数据,确定所述目标物的初始点云;
根据当前时刻所述目标物的初始点云和下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
可选的,在确定所述目标物的速度前,所述方法还包括:
根据所述历史稳定点云中包含的各三维点和所述当前稳定点云中包含的各三维点,确定该目标物对应的各三维点对;
针对每个三维点对,确定该三维点对之间的距离;
根据各三维点对之间的距离,对所述历史稳定点云和所述当前稳定点云进行更新。
本说明书提供一种目标物跟踪装置,所述装置包括:
第一确定模块,用于确定当前帧点云数据中目标物对应的初始点云;
第二确定模块,用于根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云;
匹配模块,用于将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点,进行匹配;
跟踪模块,用于根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述目标物跟踪方法。
本说明书提供了一种无人驾驶设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述目标物跟踪方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的目标物跟踪方法中,通过确定目标物在当前帧点云数据中的初始点云,再确定初始点云对应的深度图像,进而根据深度图像中各像素分别对应的深度值,确定并剔除初始点云中的不稳定点,得到目标物的当前平稳点云,再将当前平稳点云中各三维点和历史平稳点云中各三维点进行匹配,根据匹配结果确定目标物的速度,以对目标物进行跟踪。
从上述方法中可以看出,本方法剔除了初始点云中的不稳定点,使得在无人驾驶设备和目标物的相对位置之间发生变化时,确定出的目标物的移动受相对位置影响更小,使得对目标物的跟踪结果更准确。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为目标物周围环境数据的示意图;
图2为本说明书中提供的目标物跟踪方法的流程示意图;
图3为本说明书提供的更新当前稳定点云的示意图;
图4为本说明书提供的目标物跟踪装置;
图5为本说明书提供的对应于图2的无人驾驶设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
一般的,在无人驾驶领域,通常可基于无人驾驶设备周围的环境数据,对无人驾驶设备周围环境中的目标物进行跟踪,以确定无人驾驶设备的运动策略。其中,一种常见的对目标物进行跟踪的方法,是基于无人驾驶设备上的点云采集设备采集到的点云数据实现的。
具体的,无人驾驶设备可对点云数据进行目标物检测以及目标物分类,确定目标物对应的点云数据。然后,再根据目标物对应的点云数据中包含的各三维点,将各三维点对应的坐标叠加并平均,确定该目标物对应的质心点。再根据历史时刻的目标物的质心点和当前时刻的目标物的质心点,确定目标物的速度,并对目标物进行跟踪。
但无人驾驶设备中的点云采集设备采集到的目标物点云数据,在无人驾驶设备移动过程中,会随着目标物和无人驾驶设备之间的相对位置变化而变化。如图1所示。
图1为目标物周围环境数据的示意图,矩形A为无人驾驶设备,矩形B为目标物,矩形A周围的圆环为无人驾驶设备上的点云采集设备采集到的各三维点。矩形B上的黑色原点为目标物对应的各三维点,各三维点组成该目标物对应的点云数据。左图为目标物位于无人驾驶设备右前方时的场景,显然,目标物对应的点云数据在左下方位置最为稠密。右图为目标物位于无人驾驶设备右方时的场景,显然,目标物对应的点云数据在左方位置最为稠密。
显然,目标物的点云数据会随着目标物和无人驾驶设备之间的相对位置变化而变化,而目标物的质心点由该目标物对应的各三维点确定。而若假设目标物为静止目标物,在现有技术中由于其对应的质心点改变了,则该无人驾驶设备可确定该目标物为动态目标物,导致确定出的错误的移动速度,对目标物跟踪失败,或难以基于跟踪结果确定无人驾驶设备的运动策略。
另外,除目标物的点云的稠密程度会随着目标物和无人驾驶设备之间的相对位置的变化而变化,在目标物存在水平面的情况下,如,平板卡车上的平板,路面静止的石块上的水平面等,在无人驾驶设备移动过程中,采集设备采集到的水平面上的点云数据会随着无人驾驶设备的移动而移动,导致确定出目标物的移动速度不准确。以路边静止的试块为目标物为例,石块为静止物体,但由于其上的水平面,导致在采集到的不同帧点云数据中,石块对应的点云数据不同,确定出的质心点也不同,进而将该石块判定为缓慢移动的目标物,则基于该石块的移动速度对该石块进行跟踪,并根据跟踪结果确定无人驾驶设备的运动策略时,确定出的运动策略不够准确。
且当存在较多上述静止目标物被判定为缓慢移动的目标物的情况下,不仅确定运动策略所需的计算资源较多,还可能出现无法确定出运动策略,使得无人车停止的情况,存在安全隐患。
图2为本说明书中提供的目标物跟踪方法的流程示意图,具体包括以下步骤:
S100:确定当前帧点云数据中目标物对应的初始点云。
一般的,在无人驾驶设备行驶过程中,周围环境会随着时间改变。因此,该无人驾驶设备可通过设置在自身上的采集设备,连续采集自身四周或前进方向上的环境数据,并在需要对目标物进行跟踪时,确定当前帧点云数据中各目标物对应的点云数据,再基于当前帧点云数据中各目标物对应的点云数据和历史帧点云数据中各目标物对应的点云数据,确定目标物在历史帧和当前帧的位置变化,并基于该位置变化确定目标物的速度,并对目标物进行跟踪。
通常情况下,在点云传感器采集到点云数据后,可由无人驾驶设备基于采集到的点云数据,对点云数据进行目标物检测和目标物跟踪,确定各目标物分别对应的初始点云,进而基于各目标物对应的初始点云,确定下一时刻的运动策略。当然,本说明书中的该目标物跟踪方法,也可由无人驾驶设备执行。
具体的,在无人驾驶设备行驶过程中,该无人驾驶设备上设置的采集设备可持续采集点云数据,于是,该无人驾驶设备可获取当前采集的点云数据,作为当前帧点云数据。其中,通常采集设备采集点云数据的帧率可根据需要进行设置,例如24帧每秒(Frame PerSecond,FPS)、60FPS,本说明书对此不做限制。
然后,该无人驾驶设备可对获取到的当前帧点云进行目标物检测以及目标物跟踪,确定当前帧点云数据中包含的各目标物的类型以及各目标物的位置。其中,针对每个目标物,该目标物的位置通常用包含该目标物的点云数据的包围框表征。
最后,在确定各目标物分别对应的位置后,针对每个目标物,该无人驾驶设备可将该目标物分别对应的包围框内的点云数据,作为该目标物对应的初始点云。
当然,上述目标物对应的检测结果和分类结果可为预先确定出的,则无人驾驶设备可直接根据确定出的分类结果,将目标物包围框内的点云数据,作为该目标物对应的点云数据。该无人驾驶设备也可将采集到的点云数据发送至服务器中,由服务器对点云数据进行识别并分类,进而确定目标物对应的点云数据。
在本说明书提供的一个或多个实施例中,无人驾驶设备可以是指无人车、机器人、自动配送设备等能够实现自动驾驶的设备。基于此,应用本说明书提供的目标物跟踪方法的无人驾驶设备可以用于执行配送领域的配送任务,如,使用无人驾驶设备进行快递、物流、外卖等配送的业务场景。
S102:根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云。
区别于现有技术中使用目标物的质心点确定目标物的运动速度,以基于运动速度实现对目标物的跟踪,但存在水平面的目标物的点云数据会随着无人驾驶设备的移动而移动,导致确定出的目标物的速度存在较大误差,进而导致无法对目标物进行准确追踪。本说明书提供一种新的目标物跟踪方法,使得可将水平面点进行剔除,确定目标物对应的稳定点云,进而基于稳定点云对目标物进行跟踪。
基于此,该无人驾驶设备可确定目标物对应的初始点云中包含的不稳定点。
具体的,该无人驾驶设备可根据点云数据和深度图像之间的映射关系,将初始点云映射至深度图像坐标系中,确定目标物对应的深度图像。
然后,该目标物可针对每个像素,确定该像素对应的深度值与该像素周围像素的深度值之间的深度差。
最后,根据该深度差,该无人驾驶设备可确定该初始点云中包含的不稳定点。则将不稳定点剔除后,该无人驾驶设备可确定该目标物对应的稳定点云。
进一步的,当点云扫描过垂直面时,相邻两个三维点与采集设备之间的距离大致相同,而当点云采集设备扫描过水平面时,相邻两个三维点与采集设备之间的距离的差距较大。而直接根据三维点确定差距时,由于三维点数量较多,且无法确定各三维点分别对应于目标物的各部分,可能会误删掉垂直面上的点。而若将点云投影,得到点云数据对应的神帝图像,再根据各像素的深度值之间的深度差确定不稳定点,确定出的不稳定点更准确。
基于此,该无人驾驶设备可基于深度图像中各像素与其周围像素的深度差,确定不稳定点。
具体的,该无人驾驶设备可根据预设的点云数据和深度图像之间的映射关系,将当前帧点云数据投影至深度坐标系,确定当前帧深度图像。其中,该当前帧深度图像中的各像素的深度值,表征各像素对应的三维点和采集设备之间的距离,该采集设备为点云采集设备,如,激光雷达、毫米波雷达等。
然后,该无人驾驶设备可根据目标物对应的初始点云,从当前帧深度图像中,确定目标物分别对应的各像素,并针对每个像素,确定该像素点的深度值与其周围像素的深度值的深度差。
当该深度差大于预设的差距阈值时,确定该像素对应的三维点为不稳定点。
其中,确定深度差的方法可为将该像素的深度值与周围像素的深度值之间的差距进行叠加,确定深度差,还可为从该像素对应的深度值与各周围像素的深度值之间的深度差中,选择最小的深度差或最大的深度差,作为确定出的深度差。具体的确定深度差的方式和手段以及差距阈值的具体数值可根据需要进行设置,本说明书对此不做限制。
需要说明的是,上述深度图像,为二维图像,可为将点云数据投影至柱面确定,也可为将点云数据投影至无人驾驶设备采集到的图像数据的坐标系中确定,以便于该无人驾驶设备根据点云数据和图像数据执行其他业务。
另外,若将目标物划分为若干单元区域,且将每个单元区域中包含的三维点浓缩为一个点,则确定出的目标物对应的稳定点云随着无人驾驶设备和目标物之间的相对位置变化的程度则会大幅下降,使得可更准确地对目标物进行跟踪。
基于此,该无人驾驶设备可对目标物对应的稳定点云进行更新。
具体的,该无人驾驶设备可首先确定目标物对应的三维区域,并将当前稳定点云所在的三维区域进行分割,确定若干单元区域。其中,该单元区域的形状可为长方体、正方体、多边体等,各单元区域的形状和尺寸可相同也可不同,具体的划分规则以及单元区域的形状和尺寸可根据需要进行设置,本说明书对此不做限制。
然后,该无人驾驶设备可针对每个单元区域们根据该单元区域包含的各三维点,确定该单元区域内各三维点对应的质心点,作为该单元区域对应的目标三维点。其中,除质心点外,该目标三维点还可为将各三维点对应的坐标进行统计,将统计得到的中位数、众数、平均数等作为目标三维点的坐标,进而确定目标三维点,具体的目标三维点的确定方式可根据需要进行设置,本说明书对此不做限制。
最后,该无人驾驶设备可根据各单元区域分别对应的目标三维点,对该当前稳定点云进行更新。即,将各单元区域中的目标三维点更新为稳定点云。如图3所示。
图3为本说明书提供的更新当前稳定点云的示意图。图中将目标物对应的三维区域划分为了四个大小、形状相同的立方体,以左上方的单元区域为例,该单元区域内包含了五个三维点,则该无人驾驶设备可根据该五个三维点的位置,确定该单元区域的目标三维点,并将确定出的目标三维点更新为稳定点云中的三维点。也就是说,更新后的稳定点云中包含的三维点的数量为四个。
当然,具体每个单元区域可保留的三维点的数量等可根据需要进行设置,本说明书对此不做限制。
S104:将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点,进行匹配。
在本说明书提供的一个或多个实施例中,目标物跟踪需基于目标物在历史时刻的位置以及当前时刻的位置实现。因此,该无人驾驶设备可在对当前帧点云中的不稳定点进行滤除后,确定历史帧点云数据中该目标物对应的历史稳定点云,并将该目标物对应的当前稳定点云包含的三维点和历史帧中该目标物对应的稳定点云包含的三维点进行匹配,以实现对目标物的追踪。
具体的,该无人驾驶设备可获取当前时刻的上一时刻对应的点云数据,作为历史帧点云数据。其中,该历史帧点云数据还可为随机从采集到的各历史帧点云数据中随机确定的。
然后,该无人驾驶设备可根据历史时刻确定出的目标物的包围框,确定历史帧点云数据中包含的该目标物对应的历史稳定点云。
最后,该无人驾驶设备可对该历史稳定点云包含的各三维点,与该当前稳定点云包含的各三维点进行匹配,确定匹配的各三维点。
其中,上述对历史稳定点云包含的各三维点和当前稳定点云包含的各三维点进行匹配,可采用迭代最近点算法(Iterative Closest Point,ICP)、点对面的迭代最近点算法(Point to Line-ICP,PL-ICP)等算法,由于对两帧点云包含的三维点进行匹配,确定匹配结果已经是较为完善的现有技术了,本说明书对此不再赘述。
进一步的,若采用上一时刻对应的点云数据和当前时刻对应的点云数据进行匹配,则可能会出现缓慢移动的目标物由于速度过慢,导致确定出的位移过小、速度过小,被认为是静止障碍物,进而导致无人驾驶设备确定出错误的运动策略的情况。因此,该无人驾驶设备还可基于预设位移阈值,确定历史稳定点云的情况。
具体的,该无人驾驶设备可将自身当前移动速度,作为采集设备当前时刻对应的移动速度。
然后,该无人驾驶设备可根据该移动速度、该采集设备采集单帧点云数据的耗时以及预设的位移阈值,确定与当前帧点云数据中所述目标物的位置差距大于预设位移阈值的历史帧点云数据。
最后,该无人驾驶设备可将所述历史帧点云数据中所述目标物对应的稳定点云,作为历史稳定点云。以保证历史稳定点云和当前稳定点云确定出的目标物的位置变化大于预设的位移阈值。
更进一步的,由于步骤S102中,针对每个单元区域确定出的目标三维点对稳定点云进行更新,因此,在对各三维点进行匹配时,还可针对每个单元区域,对该单元区域对应的三维点进行匹配,以快速确定各分别匹配的三维点对。
另外,根据上述ICP算法对当前稳定点云包含的三维点和历史稳定点云包含的三维点进行匹配时,由于ICP不仅考虑到目标物的位置变化,还考虑到了目标物姿态变化,使得对计算资源的要求较大。而在无人驾驶设备移动过程中,由于点云采集设备采集一帧点云所需的时间较短,因此,该无人驾驶设备在进行匹配时,可仅考虑目标物的位置变化,而认为目标物的姿态未进行变化。
具体的,该无人驾驶设备可确定目标物对应的当前稳定点云和历史稳定点云。
其次,针对当前稳定点云中的每个三维点,根据预设的长度阈值,在以该三维点为中心,以该长度阈值为半径的区域内,从历史稳定点云中,确定与该三维点距离最近的点。其中,该距离可用欧式距离、三维距离等来表征。
然后,根据确定出的各三维点对,确定各三维点对之间的距离,进而确定各三维点对之间的平均距离,作为该目标物对应的位移。
最后,根据该位移,将历史稳定点云按照该位移进行平移,并将平移后的历史稳定点云和当前稳定点云重新进行匹配,直至目标物的位移小于预设阈值为止。
当然,考虑到对计算资源的要求,当重新确定的次数高于预设的次数阈值时,该无人驾驶设备可不再重新匹配,而直接根据确定出的目标物的位移,确定目标物的速度。
S106:根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
在本说明书提供的一个或多个实施例中,本说明书提供的目标物跟踪方法,可应用于确定无人驾驶设备运动策略时,具体用于对无人驾驶设备周围环境中的目标物进行跟踪,以确定无人驾驶设备的运动策略的场景中,以使无人驾驶设备能够基于目标物的跟踪结果,在确定下一时刻该无人驾驶设备的运动策略时,采取相应的策略,以使下一时刻无人驾驶设备正常行驶而不发生交通事故。
基于此,该无人驾驶设备可确定目标物的速度。
具体的,该无人驾驶设备可根据步骤S104中的匹配结果,从历史稳定点云包含的各三维点和当前稳定点云包含的各三维点中,确定该目标物对应的各三维点对。
然后,针对每个三维点对,该无人驾驶设备可确定该三维点对之间的距离。
最后,该该无人驾驶设备可根据各三维点对之间的距离,确定该目标物对应的速度。
当然,该无人驾驶设备可基于确定的速度和无人驾驶设备的移动速度,对该确定出的速度进行更新,并将更新结果作为该目标物对应的速度。
进一步的,在无人驾驶设备行驶过程中,由于噪声的影响,还可能出现确定出的三维点对之间的距离过长或过短,导致确定出的速度的误差较大的情况。因此,该无人驾驶设备还可对各三维点进行更新。
具体的,该无人驾驶设备可确定各三维点对之间的距离,并将各距离进行据统计,确定距离对应的高斯分布。
然后,该无人驾驶设备可基于该高斯分布,确定距离高于预设的第一距离阈值以及距离小于预设的第二距离阈值的三维点,作为受噪声影响的点,并将确定出的三维点进行剔除。
最后,该无人驾驶设备可将剔除受噪声影响的点后的三维点作为目标物对应的平稳点云,并对当前平稳点云和历史平稳点云进行匹配,确定目标物对应的运动速度。
基于图2的目标物跟踪方法,通过确定目标物在当前帧点云数据中的初始点云,再确定初始点云对应的深度图像,进而根据深度图像中各像素分别对应的深度值,确定并剔除初始点云中的不稳定点,得到目标物的当前平稳点云,再将当前平稳点云中各三维点和历史平稳点云中各三维点进行匹配,根据匹配结果确定目标物的速度,以对目标物进行跟踪。本方法剔除了初始点云中的不稳定点,使得在无人驾驶设备和目标物的相对位置之间发生变化时,确定出的目标物的移动受相对位置影响更小,使得对目标物的跟踪结果更准确。
另外,对于步骤S104确定中确定的历史稳定点云,还可能出现历史稳定点云与当前稳定点云的差距过小的情况,因此,若历史稳定点云与当前稳定点云的差距小于距离阈值,该无人驾驶设备还可继续从历史帧中确定历史稳定点云,若重新确定出的历史稳定点云与当前稳定点云的差距仍然过小,则该无人驾驶设备可确定该目标物为静止目标物。
需要说明的是,上述仅以单个目标物为例进行说明,该无人驾驶设备还可确定周围环境中的若干目标物,并针对每个目标物,执行上述步骤,对该目标物进行跟踪,以确定无人驾驶设备的运动策略。
以上为本说明书的一个或多个实施例提供的目标物跟踪方法基于同样的思路,本说明书还提供了相应的目标物跟踪装置,如图4所示。
图4为本说明书提供的目标物跟踪装置,包括:
第一确定模块200,用于确定当前帧点云数据中目标物对应的初始点云。
第二确定模块202,用于根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云。
匹配模块204,用于将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点进行匹配。
跟踪模块206,用于根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
可选的,所述第二确定模块202,用于根据点云数据和深度图像之间的映射关系,将所述当前帧点云数据投影至深度坐标系,确定当前帧深度图像,从所述当前帧深度图像中,确定所述目标物对应的区域,并针对所述区域中的每个像素,确定该像素的深度值与其周围像素的深度值的深度差,所述深度值表征所述像素对应的三维点与采集设备之间的距离,当所述深度差大于预设的差距阈值时,确定该像素对应的三维点为不稳定点。
可选的,所述第二确定模块202,用于将所述当前稳定点云所在的三维区域进行分割,确定各单元区域,针对每个单元区域,根据该单元区域包含的三维点的位置,确定该单元区域对应的目标三维点,根据各单元区域分别对应的目标三维点,对所述当前稳定点云进行更新。
可选的,所述匹配模块204,用于确定采集设备当前时刻对应的移动速度,根据所述移动速度、所述采集设备采集单帧点云数据的耗时以及预设的位移阈值,确定与所述当前帧点云数据中所述目标物的位置差距大于预设位移阈值的历史帧点云数据,将所述历史帧点云数据中所述目标物对应的稳定点云,作为所述历史稳定点云。
可选的,所述匹配模块204,用于确定所述目标物对应的三维区域,根据所述三维区域、所述当前稳定点云中各三维点和所述三维区域的相对位置以及所述历史稳定点云中各三维点和所述三维区域的相对位置,对所述历史稳定点云包含的各三维点和所述当前稳定点云包含的各三维点进行匹配。
可选的,所述跟踪模块206,用于根据所述目标物的速度,确定所述目标物在下一时刻的预估位置,根据所述预估位置以及下一时刻获取到的点云数据,确定所述目标物的初始点云,根据当前时刻所述目标物的初始点云和下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
可选的,所述跟踪模块206,用于根据所述历史稳定点云中包含的各三维点和所述当前稳定点云中包含的各三维点,确定该目标物对应的各三维点对,针对每个三维点对,确定该三维点对之间的距离,根据各三维点对之间的距离,对所述历史稳定点云和所述当前稳定点云进行更新。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2提供的目标物跟踪方法。
本说明书还提供了图5所示的无人驾驶设备的示意结构图。如图5所述,在硬件层面,该无人驾驶设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图2所述的目标物跟踪方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种目标物跟踪方法,其特征在于,所述方法包括:
确定当前帧点云数据中目标物对应的初始点云;
根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云;
将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点,进行匹配;
根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
2.如权利要求1所述的方法,其特征在于,根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定所述初始点云中包含的各不稳定点,具体包括:
根据点云数据和深度图像之间的映射关系,将所述当前帧点云数据投影至深度坐标系,确定当前帧深度图像;
从所述当前帧深度图像中,确定所述目标物对应的区域,并针对所述区域中的每个像素,确定该像素的深度值与其周围像素的深度值的深度差,所述深度值表征所述像素对应的三维点与采集设备之间的距离;
当所述深度差大于预设的差距阈值时,确定该像素对应的三维点为不稳定点。
3.如权利要求1所述的方法,其特征在于,在对所述历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点进行匹配前,所述方法还包括:
将所述当前稳定点云所在的三维区域进行分割,确定各单元区域;
针对每个单元区域,根据该单元区域包含的三维点的位置,确定该单元区域对应的目标三维点;
根据各单元区域分别对应的目标三维点,对所述当前稳定点云进行更新。
4.如权利要求1所述的方法,其特征在于,确定历史帧点云数据中所述目标物对应的历史稳定点云,具体包括:
确定采集设备当前时刻对应的移动速度;
根据所述移动速度、所述采集设备采集单帧点云数据的耗时以及预设的位移阈值,确定与所述当前帧点云数据中所述目标物的位置差距大于预设位移阈值的历史帧点云数据;
将所述历史帧点云数据中所述目标物对应的稳定点云,作为所述历史稳定点云。
5.如权利要求1所述的方法,其特征在于,将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点,进行匹配,具体包括:
确定所述目标物对应的三维区域;
根据所述三维区域、所述当前稳定点云中各三维点和所述三维区域的相对位置以及所述历史稳定点云中各三维点和所述三维区域的相对位置,对所述历史稳定点云包含的各三维点和所述当前稳定点云包含的各三维点进行匹配。
6.如权利要求1所述的方法,其特征在于,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,具体包括:
根据所述目标物的速度,确定所述目标物在下一时刻的预估位置;
根据所述预估位置以及下一时刻获取到的点云数据,确定所述目标物的初始点云;
根据当前时刻所述目标物的初始点云和下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
7.如权利要求4所述的方法,其特征在于,在确定所述目标物的速度前,所述方法还包括:
根据所述历史稳定点云包含的各三维点和所述当前稳定点云包含的各三维点,确定该目标物对应的各三维点对;
针对每个三维点对,确定该三维点对之间的距离;
根据各三维点对之间的距离,对所述历史稳定点云和所述当前稳定点云进行更新。
8.一种目标物跟踪装置,其特征在于,所述装置包括:
第一确定模块,用于确定当前帧点云数据中目标物对应的初始点云;
第二确定模块,用于根据点云数据和深度图像之间的映射关系以及所述初始点云,确定所述目标物对应的深度图像,并根据所述深度图像中各像素与其周围像素的深度差,确定并剔除所述初始点云中包含的各不稳定点,得到所述目标物对应的当前稳定点云;
匹配模块,用于将历史帧点云数据中所述目标物对应的历史稳定点云包含的各三维点,与所述当前稳定点云包含的各三维点进行匹配;
跟踪模块,用于根据匹配结果,确定所述目标物的速度,以确定下一时刻所述目标物的初始点云,对所述目标物进行跟踪。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种无人驾驶设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210116754.8A CN114549579A (zh) | 2022-02-07 | 2022-02-07 | 一种目标物跟踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210116754.8A CN114549579A (zh) | 2022-02-07 | 2022-02-07 | 一种目标物跟踪方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114549579A true CN114549579A (zh) | 2022-05-27 |
Family
ID=81674263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210116754.8A Pending CN114549579A (zh) | 2022-02-07 | 2022-02-07 | 一种目标物跟踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114549579A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740114A (zh) * | 2023-08-11 | 2023-09-12 | 之江实验室 | 一种基于凸包检测的目标物边界拟合方法及装置 |
-
2022
- 2022-02-07 CN CN202210116754.8A patent/CN114549579A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740114A (zh) * | 2023-08-11 | 2023-09-12 | 之江实验室 | 一种基于凸包检测的目标物边界拟合方法及装置 |
CN116740114B (zh) * | 2023-08-11 | 2023-11-21 | 之江实验室 | 一种基于凸包检测的目标物边界拟合方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112733813B (zh) | 一种数据降噪的方法及装置 | |
CN111311709A (zh) | 一种生成高精地图的方法及装置 | |
CN111882611B (zh) | 一种地图构建方法及装置 | |
CN112001456B (zh) | 一种车辆定位方法、装置、存储介质及电子设备 | |
CN111238450B (zh) | 视觉定位方法及装置 | |
CN112712558A (zh) | 一种无人驾驶设备的定位方法及装置 | |
CN112130165A (zh) | 一种定位方法、装置、介质及无人设备 | |
CN111288971A (zh) | 一种视觉定位方法及装置 | |
CN112327864A (zh) | 一种无人驾驶设备的控制方法及控制装置 | |
CN111797711A (zh) | 一种模型训练的方法及装置 | |
CN113887433A (zh) | 一种障碍物的检测方法、装置、计算机设备及存储介质 | |
CN114549579A (zh) | 一种目标物跟踪方法及装置 | |
CN111127551A (zh) | 一种目标检测的方法及装置 | |
CN112818968A (zh) | 一种目标物分类方法及装置 | |
WO2022099620A1 (zh) | 三维点云分割方法和装置、可移动平台 | |
CN112734810B (zh) | 一种障碍物追踪方法及装置 | |
CN117008615A (zh) | 一种策略切换的无人车轨迹规划方法和系统 | |
CN114332201A (zh) | 一种模型训练、目标检测的方法以及装置 | |
CN114623824A (zh) | 一种确定障碍物速度的方法及装置 | |
CN112184901B (zh) | 一种深度图确定方法及装置 | |
CN112731447B (zh) | 一种障碍物跟踪方法、装置、存储介质及电子设备 | |
CN111426299B (zh) | 一种基于目标物的景深进行测距的方法及装置 | |
CN111104908A (zh) | 一种道路边沿确定方法及装置 | |
CN114187355A (zh) | 一种图像标定方法及装置 | |
CN112329547A (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 |