一种车辆定位方法、系统及相关设备与流程

文档序号:30801546发布日期:2022-07-19 22:10阅读:204来源:国知局
一种车辆定位方法、系统及相关设备与流程

1.本技术涉及人工智能(artificial intelligence,ai)领域,尤其涉及一种车辆定位方法、系统及相关设备。


背景技术:

2.随着智慧高速、车路协同、智慧交通、自动驾驶等领域的不断发展,人们对车辆定位算法精度需求不断提升。但是,由于复杂交通场景下的图像传感器采集的图像中,车辆遮挡的情况不可避免,比如大货车遮挡小汽车,远处的车辆遮挡近处的车辆等等,导致车辆定位算法的精度十分受限。
3.通常情况下,可通过部署多视角传感器来避免图像传感器采集的图像中出现车辆遮挡,比如在十字路口的每侧都部署多个摄像头。但是,多视角传感器的部署成本很高,并且在一些交通场景并没有部署多视角传感器的条件,比如高速路段和直行路段,因此如何提高车辆在被遮挡情况下的车辆定位算法的精度是一个亟待解决的问题。


技术实现要素:

4.本技术提供了一种一种车辆定位方法、系统及相关设备,可提高车辆在被遮挡情况下的车辆定位算法的精度。
5.第一方面,提供了一种车辆定位方法,该方法包括以下步骤:获取视频帧的特征数据,视频帧来自于采集交通道路上的车辆的行驶状况的摄像机,根据特征数据,确定视频帧中目标车辆的遮挡率、检测位置和预测位置,根据视频帧中目标车辆的遮挡率、检测位置和预测位置,确定视频帧中目标车辆的目标地理位置,其中,特征数据包括视频帧中目标车辆的像素区域和历史轨迹,遮挡率用于描述视频帧中目标车辆被其他物体遮挡的程度,检测位置是根据视频帧中目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是根据视频帧中目标车辆的历史轨迹以及周边车辆状况预测的地理位置。
6.需要说明的,视频帧的特征数据可包括该视频帧中每个车辆的像素区域、车辆属性、车辆姿态、车牌、车速、历史轨迹中的一种或者多种,其中,像素区域指的是目标车辆在图像帧中所在的区域,值得注意的是,若车辆被完全遮挡,那么像素区域可以为空、为0或其他默认符号代替,本技术不作具体限定;车辆属性是车辆的属性特征,比如车辆的颜色、类型、材质、像素大小等等,车辆姿态是车辆的行驶姿态,比如正在左拐、正在右拐、正向直行、反向直行等等。具体实现中,该车辆属性、车辆姿态、车牌等特征可以通过目标检测网络和目标识别网络获得,像素区域、车速、历史轨迹等特征可以通过目标检测、轨迹生成等算法获得,本技术不作具体限定。
7.具体实现中,可结合图像识别、目标检测等算法确定每个车辆的像素区域、车辆属性、车辆姿态、车牌、车速、历史轨迹等等特征数据。需要说明的,本技术中的目标检测模型和图像识别模型可采用业界已有的用于目标检测具有较优效果的神经网络模型中的任意一种,例如:目标检测模型可以是一阶段统一实时目标检测(you only look once:
unified,real-time object detection,yolo)模型、单镜头多盒检测器(single shot multi box detector,ssd)模型、区域卷积神经网络(region convolutional neural network,rcnn)模型或快速区域卷积神经网络(fast region convolutional neural network,fast-rcnn)模型等,图像识别模型可以是alexnet、图像识别模型可以是超分辨率测试序列网络(visual geometry group network,vggnet)、残差网络(residual network,resnet)等等,本技术不作具体限定。
8.实施第一方面描述的方法,通过目标车辆的遮挡率、预测位置和检测位置确定的目标地理位置和行驶轨迹,是综合了多方因素获得的地理位置和行驶轨迹,不仅考虑到了目标车辆被遮挡的情况和目标车辆的周边车辆状况,还考虑到了目标车辆历史行驶轨迹和通过像素区域获得的检测位置,使得目标车辆在被遮挡时,获得的目标地理位置和行驶轨迹的准确度也能够得到保障,从而解决被遮挡的车辆的定位算法精度差的问题。
9.在第一方面的一种可能的实现方式中,确定目标车辆的目标地理位置时,可以将视频帧中目标车辆的遮挡率、检测位置和预测位置输入目标地理位置模型,从而获得视频帧中目标车辆的目标地理位置。其中,目标地理位置模型是使用第一样本集对神经网络进行训练后获得的,第一样本集包括多个车辆的已知遮挡率、已知检测位置、已知预测位置以及多个车辆的已知目标地理位置。
10.具体地,上述第一样本集中的已知遮挡率、已知检测位置和已知预测位置作为样本的输入数据,已知目标地理位置则为该样本的真实值。使用该第一样本集对目标地理位置模型进行训练时,将样本的已知遮挡率、已知检测位置和已知预测位置输入该目标地理位置模型,将模型的输出值与样本的真实值之间的均方差作为loss,对上述目标地理位置模型的模型参数进行调整直至收敛,使得目标地理位置模型的预测结果趋近于真实值,获得从输入的遮挡率、检测位置和预测位置中提取特征确定对应目标地理位置的能力,从而获得训练好的目标地理位置模型。具体实现中,目标地理位置模型的网络结构可采用业界已有神经网络模型中的任意一种,比如卷积神经网络(convolutional neural networks,cnn)、长短期记忆网络(long short-term memory,lstm)等等,本技术不作具体限定。
11.值得注意的是,参考前述内容可知,在目标车辆被遮挡的情况下,无法获取目标车辆的检测位置,因此在车辆的遮挡率为100%时可以将检测位置输入网络模型中,或者,将检测位置以默认坐标的形式,与遮挡率和预测位置一同输入上述目标地理位置模型,本技术不作具体限定。
12.实施第一方面描述的方法,使用第一样本集对目标地理位置模型进行训练的过程中,根据样本的输入数据和对应的真实值不断对目标地理位置模型的模型参数进行调整,可以使得目标地理位置模型能够对不同遮挡率下预测位置和检测位置之间的动态权重进行调整,若遮挡率较低,那么根据视频帧和标定数据获得的检测位置对应的权重较高,而基于目标车辆的周边车辆情况和历史轨迹的获得的预测位置对应的权重较低;如果遮挡率较高,那么根据视频帧和标定数据获得的检测位置对应的权重较低,而基于目标车辆的周边车辆情况和历史轨迹的获得的预测位置对应的权重较高,目标地理位置模型在预测过程中综合了遮挡率、检测位置和预测位置三方因素,可以使得目标车辆无论是否被遮挡,获得的目标地理位置和车辆轨迹的准确率都可得到提升。
13.在第一方面的一种可能的实现方式中,目标车辆的遮挡率的确定方式可以如下:
先根据特征数据,从车辆区域库中获取目标车辆的全显示区域,再根据目标车辆的全显示区域和像素区域,确定遮挡率,其中,遮挡率是遮挡区域与全显示区域之间的比值,遮挡区域是根据全显示区域与像素区域确定的,全显示区域表示目标车辆在未被遮挡的情况下在视频帧中应显示的图像区域,车辆区域库用于存储不同特征数据的车辆对应的全显示区域。
14.可选地,该车辆区域库中可预先存储有多条对应关系,每条对应关系包括不同车辆的特征数据对应的全显示区域大小,在确定目标车辆的全显示区域时,可以根据目标车辆的特征数据,获取与该特征数据对应的全显示区域。其中,该车辆区域库可通过摄像头采集的视频帧,确定不同品牌和类型的车辆在未被遮挡的情况下,与摄像头距离为x米时,各种姿态行驶的车辆的全显示区域,然后将不同品牌类型、不同距离和不同姿态的车辆与对应的全显示区域之间的对应关系存储在车辆区域库中,从而获得车辆区域库,x为正数。比如编号1记录的对应关系为:x1品牌y1车型的车辆,在正向直行姿态(即面对摄像机的方向直向行驶的姿态)时,若该车辆与摄像头之间的距离为10米,那么该车辆的全显示区域大小为20
×
50,以此类推,可存储有多条对应关系。在确定目标车辆的遮挡率时,可以根据目标车辆的品牌、车型、距离以及姿态,确定目标车辆全显示区域。
15.举例来说,若视频帧t1中目标车辆为x1品牌y1车型,姿态为正向直行(即面对摄像机的方向直向行驶的姿态),且该目标车辆与摄像机之间的距离为10米,从车辆区域库实例中的对应关系可获得该目标车辆的全显示区域为“40
×
75”,假设该目标车辆的像素区域为20
×
75,那么根据公式1可确定该车辆的遮挡率为(40
×
75-20
×
75)/(40
×
75)=50%。应理解,上述举例用于说明,本技术不作具体限定。
16.可选地,像素区域指的是目标车辆在图像中的区域,该区域是不包括背景信息的区域,像素区域的获取方式可以如下:先获取视频帧中目标车辆的第一可视区域,获取视频帧直接相邻的视频帧(比如视频帧的前序视频帧后者后序视频帧)中目标车辆的第二可视区域,然后将第一可视区域与第二可视区域进行匹配,匹配一致的部分即为目标车辆的像素区域。其中,可视区域指的是用目标检测模型对视频帧和上一帧进行检测后,获得目标车辆所在的图像区域。应理解,由于目标检测模型的检测结果通常以检测框(bounding box)的形式框选出目标车辆在图像中的区域,该检测框中的图像区域并不完全是目标车辆,还可能会包括背景或者其他物体,因此将视频帧中的第一可视区域,与上一帧中的第二可视区域进行匹配后,根据匹配结果获得的像素区域,可以剔除掉背景和其他物体,提高遮挡率计算的准确性。
17.举例来说,假设帧2的上一帧是帧1,在该应用场景下,对帧2进行目标检测可获得第一可视区域,对帧1进行目标检测可获得第二可视区域,其中,第一可视区域和第二可视区域中均包含有背景部分,因此将第一可视区域和第二可视区域进行匹配,将匹配结果为一致的区域作为像素区域,可以剔除第一可视区域中的背景部分,使得遮挡率计算的准确度得到提升。
18.具体实现中,第一可视区域与第二可视区域进行匹配时,可先将第一可视区域进行网格化处理,获得第一可视区域的网格化特征,比如将第一可视区域划分为p
×
q个网格,然后将第一可视区域的每个网格化特征与第二可视区域进行匹配,保留匹配一致的网格化特征从而获得上述可视区域。应理解,网格化处理的精度越高,网格数量越多,像素区域的
精度越高,本技术不对网格数量进行限定。
19.值得注意的是,通过上述匹配方式获得像素区域的方法用于举例说明,本技术还可使用其他方式对第一可视区域和第二可视区域进行匹配获得像素区域,比如通过相似度匹配、欧式距离计算等等,本技术也不对此进行限定。
20.实施上述实现方式,获得的全显示区域和像素区域不包括背景区域,根据全显示区域和像素区域获得的遮挡率的准确率可以得到保障,进而提高最终获得的目标车辆的目标地理位置的精度,解决遮挡车辆的定位精度差的问题。
21.在第一方面的一种可能的实现方式中,可根据特征数据,确定视频帧中目标车辆的周边车辆的特征数据以及目标车辆的历史轨迹,然后将历史轨迹和周边车辆的特征数据输入预测位置模型,获得预测位置,其中,预测位置模型是使用第二样本集对神经网络进行训练后获得的,第二样本集包括多个车辆的已知历史轨迹、多个车辆的已知周边车辆的特征数据以及多个车辆对应的已知预测位置。
22.应理解,上述预测位置与检测位置之间的区别在于,预测位置是将目标车辆的周边车辆的特征数据以及目标车辆的历史轨迹后,将其输入预测位置模型后获得的,其中,周边车辆的特征数据包括目标车辆周边n个车辆的像素区域、检测位置、车辆属性、车辆姿态、车速、车牌和历史轨迹等,目标车辆的历史轨迹包括了目标车辆历史m秒的历史轨迹。因此预测位置的预测过程充分考虑到了目标车辆被周边车辆遮挡的可能性,在目标车辆被其他物体遮挡的情况下,预测位置相比检测位置的准确率更高,在目标车辆被完全遮挡的情况下,无法获取目标车辆的检测位置,此时可以根据预测位置获得目标车辆的地理坐标,从而确保无论目标车辆是否被其他物体遮挡,最终获得的目标地理位置的精确度都可以得到保障。
23.可选地,在获取视频帧的特征数据之前,可使用第二样本集对上述预测位置模型进行训练,该第二样本集中可包括已知历史轨迹、已知周边车辆的特征数据以及对应的已知预测位置,其中,已知历史轨迹、已知周边车辆的特征数据作为样本的输入数据,已知预测位置作为样本的真实值,每个样本的输入数据与真实值之间存在对应关系。使用该第二样本集对预测位置模型进行训练时,可将样本的已知历史轨迹和已知周边车辆的特征数据输入该预测位置模型,将模型的输出值与样本的真实值之间的均方差作为损失,对上述预测位置模型的模型参数进行调整直至收敛,使得预测位置模型的输出结果趋近于样本的真实值,从而获得训练好的预测位置模型。
24.具体实现中,上述预测位置模型的输入数据包括目标车辆的历史轨迹和周边车辆的特征数据,该输入数据的维度较长,因此可以将n个周边车辆的特征数据和m秒历史轨迹构建成一个n
×
m维的特征图,预测位置模型的网络结构可采用图网络结构(graph networl,gn)中的任一种,比如图卷积网络(graph convolutional network,gcn)结构,使得预测位置模型可以从输入的多维特征图中提取特征、实现推理过程。应理解,预测位置模型的输入是多维特征,可以更加详细的描述出目标车辆的周边车辆情况以及历史行驶轨迹,因此预测位置模型推理出的预测位置的精确度更高。
25.值得注意的是,使用预测位置模型获得预测结果之后,可将新产生的预测结果与对应的目标车辆的历史轨迹和周边车辆的特征数据作为增量样本,对上述预测位置模型进行进一步的增量训练和优化,使得预测位置模型的预测结果越来越精确,提高遮挡车辆定
位的精准度。具体实现中,可以在增量数据的数据量达到阈值后统一对预测位置模型进行增量训练,本技术不对增量训练的时间点进行限制。
26.实施上述实现方式,在确定目标车辆的预测位置时,若只考虑目标车辆的周边车辆情况,获得的目标车辆的预测位置可能会出现“碰撞”,也就是说目标车辆在不同视频帧中的预测位置可能相同,若只考虑目标车辆的历史轨迹,获得的目标车辆的预测位置可能会出现错误,比如目标车辆由于周边车辆较多减速慢行,那么仅根据历史轨迹获得的预测位置将会不准确。本技术提供的预测位置模型综合考虑周边车辆状况和历史轨迹,可以良好的解决该问题。
27.在第一方面的一种可能的实现方式中,确定视频帧中目标车辆的目标地理位置之后,还可获取其他视频帧的特征数据;将其他视频帧中多个车辆的特征数据与视频帧中目标车辆的特征数据进行分类匹配,获得多个类别的特征匹配结果;根据多个类别的特征匹配结果,确定其他视频帧中的目标车辆;根据其他视频帧中的目标车辆的目标地理位置和视频帧中的目标车辆的目标地理位置,确定目标车辆的行驶轨迹。
28.具体实现中,可先根据特征数据确定视频帧和上一帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据,然后将视频帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据,分别与上一帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据输入特征匹配模型进行匹配,获得前一帧中每个车辆与视频帧中每个车辆之间的图像特征的匹配度、运动特征的匹配度以及周边车辆匹配度,最后将上述图像特征的匹配度、运动特征匹的配度以及周边车辆的匹配度输入目标关联模型,确定视频帧和上一帧中的相同车辆。当然,也可以将视频帧与下一帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据进行匹配,确定视频帧和下一帧中的相同车辆,下一帧指的是与视频帧直接相邻的后序视频帧,本技术不作具体限定。
29.其中,图像特征用于确定两个车辆在图形上的匹配程度,因此图像特征可包括车辆的车辆姿态、车辆属性(比如车辆的颜色、类型、材质、像素大小等等)和车牌。运动特征用于确定两个车辆在运动参数方面的匹配程度,因此运动特征可包括车速、历史轨迹、加速度、转弯半径、转向角等等。周边车辆的特征数据可参考前述内容,这里不重复赘述。
30.可选地,在获得视频帧的特征数据之前,可使用第三样本集对特征匹配模型进行训练,获得训练好的特征匹配模型。该第三样本集中可包括样本输入数据以及对应的样本真实值,其中,样本输入数据包括两个车辆的已知图像特征、已知运动特征、已知周边车辆的特征数据,样本真实值包括上述两个车辆之间的已知图像特征的匹配度、已知运动特征的匹配度和已知周边车辆的匹配度。使用该第三样本集对上述特征匹配模型进行训练时,可将样本输入数据输入该特征匹配模型,将模型的输出值与样本的真实值之间的均方差作为loss,对上述特征匹配模型的参数进行调整直至收敛,从而获得训练好的特征匹配模型。
31.可选地,该目标关联模型可采用投票机制建立。具体地,可先基于两个车辆之间的图像特征匹配度对两个车辆是否为同一个车辆进行投票,获得图像匹配度投票结果,基于两个车辆之间的运动特征匹配度对两个车辆是否为同一个车辆进行投票,获得运动匹配度投票结果,基于两个车辆之间的周边车辆的匹配度对两个车辆是否为同一个车辆进行投票,获得周边车辆的匹配度投票结果,最后目标关联模型根据上述投票结果确定两个车辆是否为同一个车辆。举例来说,若图像特征匹配度进行投票的结果显示两个车辆不属于同
一个目标,基于运动特征匹配度进行投票的结果显示两个车辆属于同一个目标,基于周边车辆的匹配度进行投票的结果显示两个车辆属于同一个目标,即属于同一个目标的投票数量最大,则目标关联模型输出值为1,标识两个车辆属于同一个目标。应理解,上述举例用于说明,本技术不作具体限定。
32.具体实现中,上述特征匹配模型和目标关联模型的网络结构可采用业界已有的神经网络模型中的任一种,本技术不作具体限定。
33.上述实现方式,可以根据视频帧中每个车辆的特征数据确定每个视频帧中的同一个车辆,然后根据同一个车辆的目标地理位置确定每个车辆的行驶轨迹,该方法可以解决被遮挡的车辆的轨迹获得难的问题。
34.在第一方面的一种可能的实现方式中,向应用系统发送目标车辆的目标地理位置和行驶轨迹,其中,应用系统包括智慧交通系统、车路协同系统、或者自动驾驶系统。
35.在第一方面的一种可能的实现方式中,可通过相机标定(camera calibration)算法,获取摄像机的标定数据,然后根据目标车辆的像素区域和标定数据,获得视频帧中目标车辆的检测位置,其中,标定数据包括摄像机拍摄的视频帧中的像素坐标和真实世界中的地理坐标之间的对应关系,根据该对应关系可确定像素区域对应的检测位置。值得注意的是,若车辆被完全遮挡,那么检测位置可以为空、为0或其他默认坐标代替,本技术不作具体限定。
36.第二方面,提供了一种车辆定位系统,该系统包括:特征提取单元,用于获取视频帧的特征数据,视频帧来自于采集交通道路上的车辆的行驶状况的摄像机;确定单元,用于根据特征数据,确定视频帧中目标车辆的遮挡率、检测位置和预测位置,其中,特征数据包括视频帧中的车辆的像素区域和历史轨迹,遮挡率用于描述视频帧中的目标车辆被其他物体遮挡的程度,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是根据视频帧中的目标车辆的历史轨迹以及周边车辆状况预测的地理位置;目标地理位置确定单元,用于根据视频帧中目标车辆的遮挡率、检测位置和预测位置,确定视频帧中的目标车辆的目标地理位置。
37.在第二方面的一种可能的实现方式中,目标地理位置确定单元,用于将视频帧中目标车辆的遮挡率、检测位置和预测位置输入目标地理位置模型,获得视频帧中目标车辆的目标地理位置,其中,目标地理位置模型是使用第一样本集对神经网络进行训练后获得的,第一样本集包括多个车辆的已知遮挡率、已知检测位置、已知预测位置以及多个车辆的已知目标地理位置。
38.在第二方面的一种可能的实现方式中,确定单元,用于根据特征数据,从车辆区域库中获取目标车辆的全显示区域,其中,全显示区域表示目标车辆在未被遮挡的情况下在视频帧中应显示的图像区域,车辆区域库用于存储不同特征数据的车辆对应的全显示区域;确定单元,用于根据目标车辆的全显示区域和像素区域,确定遮挡率,其中,遮挡率是遮挡区域与全显示区域之间的比值,遮挡区域是根据全显示区域与像素区域确定的。
39.在第二方面的一种可能的实现方式中,确定单元,用于获取摄像机的标定数据,其中,标定数据包括摄像机拍摄的视频帧中的图像坐标与真实世界中的地理坐标之间的对应关系;确定单元,用于根据目标车辆的像素区域和标定数据,获得视频帧中目标车辆的检测位置。
40.在第二面的一种可能的实现方式中,确定单元,用于根据特征数据,确定视频帧中目标车辆的周边车辆的特征数据以及目标车辆的历史轨迹;确定单元,用于将历史轨迹和周边车辆的特征数据输入预测位置模型,获得预测位置,其中,预测位置模型是使用第二样本集对神经网络进行训练后获得的,第二样本集包括多个车辆的已知历史轨迹、多个车辆的已知周边车辆的特征数据以及多个车辆对应的已知预测位置。
41.在第二方面的一种可能的实现方式中,该系统还包括轨迹生成单元,轨迹生成单元,用于获取其他视频帧的特征数据;轨迹生成单元,用于将其他视频帧中多个车辆的特征数据与视频帧中目标车辆的特征数据进行分类匹配,获得多个类别的特征匹配结果;轨迹生成单元,用于根据多个类别的特征匹配结果,确定其他视频帧中的目标车辆;轨迹生成单元,用于根据其他视频帧中的目标车辆的目标地理位置和视频帧中的目标车辆的目标地理位置,确定目标车辆的行驶轨迹。
42.在第二方面的一种可能的实现方式中,该系统还包括发送单元,发送单元用于向应用系统发送目标车辆的目标地理位置和行驶轨迹,其中,应用系统包括智慧交通系统、车路协同系统、或者自动驾驶系统。
43.第三方面,提供了一种计算机程序产品,包括计算机程序,当计算机程序被计算设备读取并执行时,实现如第一方面所描述的方法。
44.第四方面,提供了一种计算机可读存储介质,包括指令,当指令在计算设备上运行时,使得计算设备实现如第一方面描述的方法。
45.第五方面,提供了一种计算设备,包括处理器和存储器,处理器执行存储器中的代码实现如第一方面描述的方法。
附图说明
46.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
47.图1是本技术提供的一种车辆定位系统的架构图;
48.图2是本技术提供的一种车辆定位系统的部署示意图;
49.图3是本技术提供的一种车辆定位方法的步骤流程示意图;
50.图4是本技术提供的一种车辆定位方法中的像素区域和全显示区域的示例图;
51.图5是本技术提供的一种车辆定位方法中确定遮挡率的步骤流程示意图;
52.图6是本技术提供的一种车辆定位方法中像素区域的获取流程示意图;
53.图7是本技术提供的一种车辆定位方法周边车辆划分示例图;
54.图8是本技术提供的一种车辆定位方法中的预测位置模型的预测示例图;
55.图9是本技术提供的一种车辆定位方法中的目标地理位置模型的预测示例图;
56.图10是本技术提供的一种车辆定位方法中的特征匹配模型和目标关联模型的示例图;
57.图11是本技术提供的一种车辆定位系统的结构示意图;
58.图12是本技术提供的一种计算设备的硬件结构示意图。
具体实施方式
59.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
60.下面对本技术涉及的应用场景进行说明。
61.随着ai技术的不断发展,交通领域逐渐向数字化、自动化和智慧化方向进行演变,其中,车辆定位算法是支撑交通领域实现上述演变的重要算法之一。车辆定位算法指的是对图像传感器采集的视频中出现的车辆进行定位,获得每个车辆的地理位置和行驶轨迹。根据车辆定位算法获得的车辆的地理位置和行驶轨迹可反馈到终端或者云端处理器中,实现更加丰富的应用,比如智慧高速、车路协同、智慧交通、自动驾驶等。
62.由于复杂交通场景下的图像传感器所采集的视频图像中,车辆遮挡的情况不可避免,比如路口摄像头拍摄到的视频中,常会出现待检测的车辆被其他物体遮挡的图像,比如大货车遮挡小汽车,远处的车辆遮挡近处的车辆等等,使用上述遮挡图像进行车辆定位,往往会出现被遮挡的车辆定位不准的问题,导致车辆定位算法的精度受到限制。
63.通常情况下,可通过部署多视角传感器来避免图像传感器采集的图像中出现车辆遮挡,以提升车辆定位算法的精度,比如在十字路口的每侧都部署多个摄像头。但是,多视角传感器的部署成本很高,并且在一些交通场景并没有部署多视角传感器的条件,比如高速路段和直行路段,因此如何提高单视角场景中,车辆在被遮挡情况下的车辆定位算法的精度是一个亟待解决的问题。
64.为了解决当前单视角场景下,被遮挡的车辆的定位算法精度差的问题,本技术提供了一种车辆定位系统,该系统可根据单视角的图像传感器采集的视频帧的特征数据,确定车辆的遮挡率、预测位置和检测位置,从而确定车辆的目标地理位置和行驶轨迹。其中,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是基于目标车辆的历史轨迹和目标车辆的周边车辆的特征数据获得的,遮挡率用于描述目标车辆在视频帧中被其他物体遮挡的程度,因此根据上述遮挡率、预测位置和检测位置获得的车辆的目标地理位置和行驶轨迹,是综合了多方因素获得的地理位置和行驶轨迹,不仅考虑到了车辆被遮挡的情况和周边车辆状况,还考虑到了车辆历史行驶轨迹,使得被遮挡的车辆的目标地理位置和行驶轨迹的准确度得到提升,从而解决单视角场景下被遮挡的车辆的定位精度差的问题。
65.如图1所示,本技术提供了一种车辆定位系统的架构图。如图1所示,该车辆定位系统的架构可包括数据采集装置120、车辆定位系统110以及应用系统130。其中,车辆定位系统110与数据采集装置120通过网络连接,应用系统130与车辆定位系统110通过网络连接,上述网络可以是有线网络也可以是无线网络,本技术不作具体限定。
66.数据采集装置120用于对交通道路上行驶的车辆进行拍摄,获得至少一个视频帧,数据采集装置120可以是拍摄交通道路上行驶的车辆状况的摄像机,比如交通路口、事故频发路段、高速路段等地的摄像头、电子警察、深度摄像机、无人机等等。
67.应用系统130用于根据车辆定位系统110发送的目标地理位置和行驶轨迹,实现自动驾驶、车路协同、智慧交通等功能。具体实现中,应用系统130可以是单个服务器,也可以是多个服务器组成的服务器集群,服务器是通用的物理服务器实现的,例如,arm服务器或者x86服务器,也可以是结合网络功能虚拟化(network functions virtualization,nfv)
技术实现的虚拟机(virtual machine,vm),比如数据中心内的虚拟机,本技术不作具体限定。
68.车辆定位系统110用于根据数据采集装置120采集的至少一个视频帧,从至少一个视频帧中获取目标车辆的特征数据,根据该特征数据确定目标车辆的遮挡率、预测位置和检测位置,并根据目标车辆的遮挡率、预测位置和检测位置确定目标车辆的目标地理位置,进而获得行驶轨迹,将目标车辆的目标地理位置和行驶轨迹发送至应用系统130,以供应用系统130实现自动驾驶、智慧高速、车路协同等功能。
69.其中,遮挡率用于描述视频帧中的目标车辆被其他物体遮挡的程度,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是根据视频帧中的目标车辆的历史轨迹以及周边车辆状况预测的地理位置。特征数据包括视频帧中目标车辆的像素区域和历史轨迹,还可包括车辆属性、车辆姿态、车牌、车速中的一种或者多种,其中,车辆属性包括车辆的颜色、类型、品牌、车型中的一种或者多种。
70.应理解,车辆定位系统110的部署灵活,可部署在边缘环境,具体可以是边缘环境中的边缘计算设备或运行在一个或者多个边缘计算设备上的软件系统。边缘环境指在地理位置上距离用于采集特征数据的数据采集装置120较近的,用于提供计算、存储、通信资源的边缘计算设备集群,比如位于道路两侧的边缘计算一体机。举例来说,车辆定位系统110可以是距离道路较近的位置的一台边缘计算设备或者是运行在距离道路较近的位置的边缘计算设备的软件系统,该道路中设置有摄像机对该道路进行数据采集,摄像机作为数据采集装置120,采集并发送至少一个视频帧至该边缘计算设备后,该边缘计算设备可根据上述先从视频帧中提取特征数据,然后根据特征数据确定目标车辆的遮挡率、预测位置和检测位置,并根据目标车辆的遮挡率、预测位置和检测位置确定目标车辆的目标地理位置,进而获得目标车辆的行驶轨迹,以供应用系统130实现车路协同、智慧交通等功能。
71.车辆定位系统110还可以部署在云环境,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,该云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源)。具体地,车辆定位系统110可以是云数据中心的服务器,也可以是创建在云数据中心中的虚拟机,还可以是部署在云数据中心中的服务器或者虚拟机上的软件系统,该软件系统可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,车辆定位系统110还可部署在距离某道路较远的云数据中心,该道路中设置有摄像机对该道路进行数据采集,采集并发送至少一个视频帧至该边缘计算设备后,该边缘计算设备可先从每个视频帧中提取特征数据,然后根据特征数据确定目标车辆的遮挡率、预测位置和检测位置,并根据目标车辆的遮挡率、预测位置和检测位置确定目标车辆的目标地理位置,进而获得目标车辆的形式轨迹,以供应用系统130实现车路协同、智慧交通等功能。
72.车辆定位系统110还可以部分部署在边缘环境,部分部署在云环境。例如图2所示,该道路中设置有摄像机作为数据采集装置120对道路进行数据采集,摄像机可采集并发送至少一个视频帧至道路两侧的边缘计算设备,边缘计算设备可以从每个视频帧中获取特征数据,然后将特征数据发送给云数据中心,云数据中心可根据特征数据确定目标车辆的检测位置、预测位置以及遮挡率确定目标车辆的目标地理位置,进而获得目标车辆的行驶轨迹,以供应用系统130实现车路协同、智慧交通等功能。应理解,图2仅用于举例说明,并不能
构成具体限定。
73.应理解,车辆定位系统110内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本技术不对其进行限制。图1为一种示例性的划分方式,如图1所示,车辆定位系统110包括遮挡率确定模块112、特征提取模块111、预测位置确定模块114、检测位置确定模块113、目标地理位置确定模块115以及轨迹生成模块116。需要说明的,由于车辆定位系统110部署灵活,因此车辆定位系统110中的各个模块可以部署于同一个边缘计算设备、或者同一个云数据中心、或者同一个物理机上,当然,也可以是部分部署于边缘计算设备,部分部署于云数据中心,比如特征提取模块111和遮挡率确定模块112部署于边缘计算设备,预测位置确定模块114、目标地理位置确定模块115以及轨迹生成模块116部署于云数据中心,本技术不作具体限定。
74.特征提取模块111可接收数据采集装置120采集的至少一个视频帧,然后对至少一个视频帧进行特征提取,获得每个视频帧的特征数据。其中,每个视频帧的特征数据至少可包括视频帧中车辆的像素区域和历史轨迹,具体实现中,还可包括该视频帧中每个车辆的车辆属性、车辆姿态、车牌、车速中的一种或者多种,其中,像素区域指的是目标车辆在图像帧中所在的区域,值得注意的是,若车辆被完全遮挡,那么像素区域可以为空、为0或其他默认符号代替,本技术不作具体限定;车辆属性是车辆的属性特征,比如车辆的颜色、类型、材质、像素大小等等,车辆姿态是车辆的行驶姿态,比如正在左拐、正在右拐、正向直行、反向直行等等。具体实现中,该车辆属性、车辆姿态、车牌等特征可以通过目标检测网络和目标识别网络获得,像素区域、车速、历史轨迹等特征可以通过目标检测网络、轨迹生成等算法获得,本技术不作具体限定。
75.具体实现中,特征提取模块111可结合图像识别、目标检测等算法确定每个车辆的像素区域、车辆属性、车辆姿态、车牌、车速、历史轨迹等等特征数据。需要说明的,本技术实施例中的目标检测模型和图像识别模型可采用业界已有的用于目标检测具有较优效果的神经网络模型中的任意一种,例如:目标检测模型可以是一阶段统一实时目标检测(you only look once:unified,real-time object detection,yolo)模型、单镜头多盒检测器(single shot multi box detector,ssd)模型、区域卷积神经网络(region convolutional neural network,rcnn)模型或快速区域卷积神经网络(fast region convolutional neural network,fast-rcnn)模型等,图像识别模型可以是alexnet、图像识别模型可以是超分辨率测试序列网络(visual geometry group network,vggnet)、残差网络(residual network,resnet)等等,本技术不作具体限定。
76.遮挡率确定模块112用于根据视频帧的特征数据,获得视频帧中目标车辆的遮挡率,并将该遮挡率发送至目标地理位置确定模块115。具体地,遮挡率用于描述视频帧中的目标车辆被其他物体遮挡的程度,具体可以是目标车辆的遮挡区域与全显示区域之间的比值,其中,全显示区域指的是目标车辆在未被遮挡的情况下,在视频帧中应显示的图像区域,遮挡区域可以是根据全显示区域与像素区域确定,其中,像素区域指的是目标车辆在视频帧中实际显示出的图像区域,值得注意的是,全显示区域和像素区域都不包括背景区域,从而提高最终获得的遮挡率的准确率。
77.具体实现中,全显示区域可以是根据目标车辆的类型、属性和姿态等特征,从预先存储的车辆区域库获取,车辆区域库用于存储不同特征数据的车辆对应的全显示区域。遮
挡区域可以是目标车辆的全显示区域与像素区域之间的差值,示例性的,车辆的遮挡率可以如公式1所示:
[0078][0079]
简单来说,如果目标车辆在图像上没有被其他物体遮挡,目标车辆的像素区域与全显示区域相等,那么目标车辆的遮挡区域为0,目标车辆的遮挡率为0%;同理,如果目标车辆在图像上完全被其他物体遮挡,目标车辆的像素区域为0,那么目标车辆的遮挡区域为目标车辆的全显示区域,目标车辆的遮挡率为100%。应理解,上述举例用于说明,本技术不作具体限定。
[0080]
检测位置确定模块113用于根据视频帧的特征数据,获得视频帧中目标车辆的检测位置,其中,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,具体可以是一个世界坐标,值得注意的是,若车辆被完全遮挡,那么检测位置可以为空、为0或其他默认坐标代替,本技术不作具体限定。
[0081]
具体实现中,检测位置确定模块113可以获取摄像机的标定数据,然后根据目标车辆的像素区域和标定数据,获得视频帧中目标车辆的检测位置,其中,标定数据包括摄像机拍摄的视频帧中的像素坐标和真实世界中的地理坐标之间的对应关系,根据该对应关系可确定像素区域对应的检测位置。
[0082]
预测位置确定模块114可用于根据视频帧的特征数据,获得视频帧中目标车辆的周边车辆的特征数据以及目标车辆的历史轨迹,然后将周边车辆的特征数据以及目标车辆的历史轨迹输入至预测位置模型,从而获得视频帧中的目标车辆的预测位置,并将该预测位置发送至目标地理位置确定模块115。其中,周边车辆的特征数据可包括目标车辆的周边的每个车辆的像素区域、检测位置、车辆属性、车辆姿态、车牌、车速、历史轨迹中的一种或者多种。
[0083]
具体实现中,周边车辆的特征数据和目标车辆的历史轨迹可以进行特征工程后,生成特征向量再输入预测位置模型。其中,在车辆被完全遮挡的情况下,可能会出现无法获得目标车辆的像素区域和检测位置的情况,此时检测位置和像素区域可以以0或者默认坐标序列的方式,与其他特征数据一同转化为特征向量,或者,可以不将检测位置和像素区域与其他特征数据一同转化为特征向量,具体可以根据实际情况选择对应的方案,本技术不对此进行限定。
[0084]
目标地理位置确定模块115可用于将遮挡率确定模块112输出的遮挡率、特征提取模块111输出的检测位置以及预测位置确定模块114输出的预测位置,输入目标地理位置模型,获得视频帧中目标车辆的目标地理位置,并将该目标地理位置发送至轨迹生成模块116。
[0085]
轨迹生成模块116可用于在接收到目标地理位置确定模块115发送的多个车辆的目标地理位置之后,确定前后两个连续视频帧中的同一个车辆,然后根据上述多个车辆的目标地理位置,生成每一个车辆的行驶轨迹。其中,连续视频帧指的是直接相邻的两个视频帧。
[0086]
具体地,轨迹生成模块116可以将前后两个连续视频帧中的目标车辆的周边车辆的特征数据、运动特征和图像特征进行匹配,根据匹配结果确定前后两个连续视频帧中的
同一个车辆,其中,目标车辆的周边车辆的特征数据可参考上述预测位置确定模块114中的描述,这里不重复赘述,运动特征用于描述车辆的运动情况,具体可以是车辆的速度、加速度、转向角度、侧向加速度等参数,图像特征用于描述车辆的外观和属性,具体可以是车辆的颜色、类型、车牌等等,匹配结果可包括周边车辆的匹配度、运动特征的匹配度以及图像特征的匹配度,从而达到综合多方特征确定前后两个连续视频帧中同一个车辆的目的。
[0087]
综上可知,本技术提供的车辆定位系统,可根据单视角的图像传感器采集的特征数据,分别确定目标车辆的遮挡率、预测位置和检测位置,并根据上述遮挡率、预测位置和检测位置,获得目标车辆的目标地理位置和行驶轨迹。由于检测位置是根据视频帧中目标车辆的像素区域转换得到的地理位置,遮挡率是根据车辆遮挡状况获得,因此在车辆的目标地理位置和行驶轨迹的预测过程中,不仅考虑到了车辆的遮挡情况,还参考了车辆的周边车辆状况,使得被遮挡的车辆的目标地理位置和行驶轨迹的准确度得到提升,从而提高被遮挡的车辆的定位算法的精度,解决了单视角场景下,车辆被遮挡情况下的定位算法精度差的问题。
[0088]
下面结合附图,对本技术提供的上述车辆定位系统如何根据特征数据获得车辆的地理位置和行驶轨迹的具体步骤进行详细介绍。
[0089]
如图3所示,本技术提供了一种车辆定位方法,该方法包括以下步骤:
[0090]
s310:获取视频帧的特征数据。其中,特征数据至少可包括视频帧中车辆的像素区域和历史轨迹,其中,该视频帧来自于采集交通道路上行驶的车辆的行驶状况的摄像机,该视频帧可以是实时采集的视频中的视频帧,也可以是离线读取的视频中的视频帧,本技术不作具体限定。
[0091]
具体实现中,特征数据可包括视频帧中每个车辆的像素区域、历史轨迹、车辆属性、车辆姿态、车牌、车速中的一种或者多种,特征数据可包括视频帧中目标车辆的像素区域、车辆属性、车辆姿态、车牌、车速、历史轨迹中的一种或者多种,车辆属性包括所述车辆的颜色、类型、品牌、车型中的一种或者多种。具体可通过相机标定、目标检测、图像识别、等技术获得视频帧中多个车辆的特征数据。应理解,关于特征数据、像素区域、车辆属性的具体描述可参考图1实施例的描述,这里不重复赘述。
[0092]
具体实现中,可结合图像识别、目标检测等算法确定每个车辆的像素区域、车辆属性、车辆姿态、车牌、车速、历史轨迹等等特征数据。需要说明的,本技术实施例中的目标检测模型和图像识别模型可采用业界已有的用于目标检测具有较优效果的神经网络模型中的任意一种,例如:目标检测模型可以是yolo模型、ssd模型、rcnn模型或快速区域卷积神经网络fast-rcnn模型等,图像识别模型可以是alexnet、vggnet、resnet等等,本技术不作具体限定。
[0093]
s320:根据特征数据,确定视频帧中目标车辆的遮挡率。其中,目标车辆的遮挡率用于描述视频帧中目标车辆被其他物体遮挡的程度。具体实现中,目标车辆的遮挡率可以是目标车辆的遮挡区域与目标车辆的全显示区域之间的比值,其中,遮挡区域是目标车辆的全显示区域与目标车辆的像素区域之间的差值,具体可参考前述内容中的公式1获得目标车辆的遮挡率。其中,像素区域指的是目标车辆在视频帧中显示出的区域,目标车辆被其他车辆遮挡时,像素区域可能只有半个车身,全显示区域指的是视频帧中目标车辆若未被遮挡时应显示的图像区域大小。举例来说,如图4所示,假设视频帧为帧2,目标车辆为帧2中
的轿车,此时轿车被巴士遮挡,在该应用场景下,像素区域和全显示区域可以如图4所示,应理解,图4用于举例说明,本技术不作具体限定。值得注意的是,像素区域和全显示区域指的都是不包括背景的图像区域,这样计算出的遮挡率准确度可以得到保障。
[0094]
在一实施例中,全显示区域可以根据目标车辆的特征数据从车辆区域库中获得,该车辆区域库中可预先存储有多条对应关系,每条对应关系包括不同车辆的特征数据对应的全显示区域大小,在确定目标车辆的全显示区域时,可以根据目标车辆的特征数据,获取与该特征数据对应的全显示区域。示例性地,该车辆区域库中存储的内容可以如下表1所示,应理解,该表根据目标车辆的类型、距离和姿态确定目标车辆的全显示区域,表1只是一种示例,具体实现中,车辆区域库还可以包括更多特征数据,可根据更多类型的特征数据确定目标车辆的全显示区域,本技术不作具体限定:
[0095]
表1车辆区域库中的对应关系示例表
[0096]
编号类型距离姿态全显示区域1x1品牌y1车型10米正向直行20
×
502x1品牌y1车型5米正向直行40
×
753x1品牌y2车型10米反向直行15
×
40
…………ꢀ…………
[0097]
其中,该车辆区域库可通过摄像头采集的视频帧,确定不同品牌和类型的车辆在未被遮挡的情况下,与摄像头距离为x米时,各种姿态行驶的车辆的全显示区域,然后将不同品牌类型、不同距离和不同姿态的车辆与对应的全显示区域之间的对应关系存储在车辆区域库中,从而获得上述车辆区域库,x为正数。比如编号1记录的对应关系为:x1品牌y1车型的车辆,在正向直行姿态(即面对摄像机的方向直向行驶的姿态)时,若该车辆与摄像头之间的距离为10米,那么该车辆的全显示区域大小为20
×
50,以此类推,可存储有多条对应关系。在确定目标车辆的遮挡率时,可以根据目标车辆的品牌、车型、距离以及姿态,确定目标车辆全显示区域,以编号2为例,若视频帧t1中目标车辆为x1品牌y1车型,姿态为正向直行(即面对摄像机的方向直向行驶的姿态),且该目标车辆与摄像机之间的距离为10米,从车辆区域库实例中编号2的对应关系可获得该目标车辆的全显示区域为“40
×
75”,假设该目标车辆的像素区域为20
×
75,那么根据公式1可确定该车辆的遮挡率为(40
×
75-20
×
75)/(40
×
75)=50%。应理解,上述举例用于说明,本技术不作具体限定。
[0098]
在一实施例中,像素区域指的是目标车辆在图像中的区域,该区域是不包括背景信息的区域,像素区域的获取方式可以如下:先获取视频帧中目标车辆的第一可视区域,获取视频帧直接相邻的视频帧(比如视频帧的前序视频帧后者后序视频帧)中目标车辆的第二可视区域,然后将第一可视区域与第二可视区域进行匹配,匹配一致的部分即为目标车辆的像素区域。其中,可视区域指的是用目标检测模型对视频帧和上一帧进行检测后,获得目标车辆所在的图像区域。应理解,由于目标检测模型的检测结果通常以检测框(bounding box)的形式框选出目标车辆在图像中的区域,该检测框中的图像区域并不完全是目标车辆,还可能会包括背景或者其他物体,因此将视频帧中的第一可视区域,与上一帧中的第二可视区域进行匹配后,根据匹配结果获得的像素区域,可以剔除掉背景和其他物体,提高遮挡率计算的准确性。
[0099]
举例来说,假设图4所述的帧2的上一帧是图5中的帧1,在该应用场景下,如图5所
示,对帧2进行目标检测可获得第一可视区域420,对帧1进行目标检测可获得第二可视区域410。可以理解的,图5所示的场景中,第一可视区域420和第二可视区域410中均包含有背景部分,因此将第一可视区域420和第二可视区域410进行匹配,将匹配结果为一致的区域作为像素区域430,可以剔除第一可视区域中的背景部分,使得遮挡率计算的准确度得到提升。
[0100]
具体实现中,第一可视区域与第二可视区域进行匹配时,可先将第一可视区域进行网格化处理,获得第一可视区域的网格化特征,比如将第一可视区域划分为p
×
q个网格,然后将第一可视区域的每个网格化特征与第二可视区域进行匹配,保留匹配一致的网格化特征从而获得上述可视区域。仍以图4~图5所示的场景为例,如图6所示,将第一可视区域420进行网格化处理获得多个网格区域,然后将每个网格区域与第二可视区域410进行匹配,保留匹配一致的网格区域,从而获得如图6所示的像素区域430,应理解,网格化处理的精度越高,网格数量越多,像素区域的精度越高,图6是一种示例性的网格化处理结果,本技术不对网格数量进行限定。并且,上述匹配方式用于举例说明,本技术还可使用其他方式对第一可视区域和第二可视区域进行匹配获得像素区域,比如通过相似度匹配、欧式距离计算等等,本技术也不对此进行限定。
[0101]
s330:根据特征数据,确定视频帧中目标车辆的检测位置。其中,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置。具体可以是一个世界坐标,也可以是世界坐标的集合表示出的地理区域,本技术不作具体限定。值得注意的是,若车辆被完全遮挡,那么检测位置可以为空、为0或其他默认坐标代替,本技术不作具体限定。
[0102]
具体实现中,可以在步骤s310之前通过相机标定(camera calibration)算法,获取摄像机的标定数据,然后根据目标车辆的像素区域和标定数据,获得视频帧中目标车辆的检测位置,其中,标定数据包括摄像机拍摄的视频帧中的像素坐标和真实世界中的地理坐标之间的对应关系,根据该对应关系可确定像素区域对应的检测位置。
[0103]
s340:根据特征数据,确定视频帧中目标车辆的预测位置。其中,该预测位置是通过预测获得的目标车辆在真实场景中的可能的位置坐标,该预测位置与特征数据中的检测位置是同一坐标系下的位置坐标。
[0104]
具体实现中,可将目标车辆的周围分为多个邻域,提取每个邻域中的车辆数量和车辆的特征数据,比如每个邻域中每个车辆的像素区域、检测位置、车辆属性、车辆姿态、车速、车牌和历史轨迹等。示例性的,可以将目标车辆的周围分为8个邻域,该8邻域可以如图7所示,图7是本技术提供的一种车辆定位方法周边车辆划分示例图,应理解,图7用于举例说明,本技术不对划分的邻域数量进行限定。
[0105]
在一实施例中,在步骤s310之前,可使用第二样本集对预测位置模型进行训练,该第二样本集中可包括已知历史轨迹、已知周边车辆的特征数据以及对应的已知预测位置,其中,已知历史轨迹、已知周边车辆的特征数据作为样本的输入数据,已知预测位置作为样本的真实值,每个样本的输入数据与真实值之间存在对应关系。使用该第二样本集对预测位置模型进行训练时,可将样本的已知历史轨迹和已知周边车辆的特征数据输入该预测位置模型,将模型的输出值与样本的真实值之间的均方差作为损失(loss),对上述预测位置模型的模型参数进行调整直至收敛,使得预测位置模型的输出结果趋近于样本的真实值,从而获得训练好的预测位置模型。可以理解的,预测位置模型在预测过程中充分考虑到了
周边车辆对于目标车辆的遮挡影响,比如周边车辆的行驶姿态、速度、与目标车辆之间的距离等等对于在历史轨迹上行驶的目标车辆的影响,使得目标车辆在被遮挡时,预测位置模型获得的预测位置精确度更高。
[0106]
具体实现中,上述预测位置模型的输入数据包括目标车辆的历史轨迹和周边车辆的特征数据,该输入数据的维度较长,因此可以将n个周边车辆的特征数据和m秒历史轨迹构建成一个n
×
m维的特征图,预测位置模型的网络结构可采用图网络结构(graph networl,gn)中的任一种,比如图卷积网络(graph convolutional network,gcn)结构,使得预测位置模型可以从输入的多维特征图中提取特征、实现推理过程。应理解,预测位置模型的输入是多维特征,可以更加详细的描述出目标车辆的周边车辆情况以及历史行驶轨迹,因此预测位置模型推理出的预测位置的精确度更高。
[0107]
应理解,若只考虑目标车辆的周边车辆情况,获得的目标车辆的预测位置可能会出现“碰撞”,也就是说目标车辆在不同视频帧中的预测位置可能相同,若只考虑目标车辆的历史轨迹,获得的目标车辆的预测位置可能会出现错误,比如目标车辆由于周边车辆较多减速慢行,那么仅根据历史轨迹获得的预测位置将会不准确。本技术提供的预测位置模型综合考虑周边车辆状况和历史轨迹,可以良好的解决该问题。
[0108]
示例性的,步骤s340的具体流程可以如图8所示,图8是本技术提供的一种车辆定位方法中的预测位置模型结构示意图,先从视频帧的特征数据中获取目标车辆的历史轨迹和周边车辆的特征数据,周边车辆的特征数据包括n个周边车辆的特征数据,目标车辆的历史轨迹包括目标车辆历史m秒的历史轨迹。然后将目标车辆的历史轨迹和周边车辆的特征数据组成的n
×
m维特征图输入预测位置模型,推理出目标车辆的预测位置。
[0109]
值得注意的是,在步骤s340使用预测位置模型获得预测结果之后,可将新产生的预测结果与对应的目标车辆的历史轨迹和周边车辆的特征数据作为增量样本,对上述预测位置模型进行进一步的增量训练和优化,使得预测位置模型的预测结果越来越精确,提高遮挡车辆定位的精准度。具体实现中,可以在增量数据的数据量达到阈值后统一对预测位置模型进行增量训练,本技术不对增量训练的时间点进行限制。
[0110]
在一实施例中,上述步骤s320~步骤s340可并行处理,也可先后处理,具体可根据车辆定位系统110的处理能力确定,本技术不对步骤s320~步骤s340的步骤顺序进行限定。比如车辆定位系统是处理能力较强的云服务器,那么步骤s320~步骤s340可以同时处理,如果数据处理能力较弱,比如是边缘计算设备,那么车辆定位系统110可先执行步骤s320获得遮挡率,再执行步骤s330获得检测位置,再执行步骤s340获得预测位置。当然,在车辆定位系统110部分部署于边缘计算设备,部分部署于云服务器时,可以步骤s320在边缘计算设备处理,步骤s330和步骤s340在云服务器处理。应理解,上述举例用于说明,本技术不作具体限定。
[0111]
s350:根据视频帧中目标车辆的遮挡率、检测位置和预测位置,确定视频帧中目标车辆的目标地理位置。其中,该目标地理位置也是目标车辆在真实场景中的位置坐标,该目标地理位置与预测位置、检测位置是同一坐标系下的位置坐标。
[0112]
在一实施例中,在步骤s310之前,可使用第一样本集对目标地理位置模型进行训练,该第一样本集中可包括已知遮挡率、已知检测位置、已知预测位置和已知目标地理位置,其中,已知遮挡率、已知检测位置和已知预测位置作为样本的输入数据,已知目标地理
位置则为该样本的真实值。使用该第一样本集对目标地理位置模型进行训练时,将样本的已知遮挡率、已知检测位置和已知预测位置输入该目标地理位置模型,将模型的输出值与样本的真实值之间的均方差作为loss,对上述目标地理位置模型的模型参数进行调整直至收敛,使得目标地理位置模型的预测结果趋近于真实值,获得从输入的遮挡率、检测位置和预测位置中提取特征确定对应目标地理位置的能力,从而获得训练好的目标地理位置模型。
[0113]
可以理解的,使用第一样本集对目标地理位置模型进行训练的过程中,根据样本的输入数据和对应的真实值不断对目标地理位置模型的模型参数进行调整,可以使得目标地理位置模型能够对不同遮挡率下预测位置和检测位置之间的动态权重进行调整,若遮挡率较低,那么根据视频帧和标定数据获得的检测位置对应的权重较高,而基于目标车辆的周边车辆情况和历史轨迹的获得的预测位置对应的权重较低;如果遮挡率较高,那么根据视频帧和标定数据获得的检测位置对应的权重较低,而基于目标车辆的周边车辆情况和历史轨迹的获得的预测位置对应的权重较高。目标地理位置模型在预测过程中综合了遮挡率、检测位置和预测位置三方因素,可以使得车辆在单视角场景下无论是否被遮挡,其定位效果都可得到提升。
[0114]
示例性的,上述目标地理位置模型的预测过程可以如图9所示,将步目标车辆的遮挡率,目标车辆的检测位置以及目标车辆的预测位置输入该目标地理位置模型后,输出该目标车辆的目标地理位置。具体实现中,目标地理位置模型的网络结构可采用业界已有神经网络模型中的任意一种,比如卷积神经网络(convolutional neural networks,cnn)、长短期记忆网络(long short-term memory,lstm)等等,本技术不作具体限定。
[0115]
值得注意的是,参考前述内容可知,在目标车辆被遮挡的情况下,无法获取目标车辆的检测位置,因此在车辆的遮挡率为100%时可以将检测位置输入网络模型中,或者,将检测位置以默认坐标的形式,与遮挡率和预测位置一同输入上述目标地理位置模型,本技术不作具体限定。
[0116]
s360:根据多个帧的特征数据和多个帧中目标车辆的目标地理位置,确定目标车辆的行驶轨迹。其中,该行驶轨迹包括了车辆在一段时间内运动的坐标集合,该坐标集合中的每一个坐标是步骤s340获得的目标地理位置。具体地,可根据特征数据确定前后两个连续视频帧中的同一个车辆,然后根据同一个车辆的目标地理位置确定该车辆的行驶轨迹。
[0117]
在一实施例中,可先根据特征数据确定视频帧和上一帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据,然后将视频帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据,分别与上一帧中每个车辆的图像特征、运动特征以及周边车辆的特征数据输入特征匹配模型进行匹配,获得前一帧中每个车辆与视频帧中每个车辆之间的图像特征的匹配度、运动特征的匹配度以及周边车辆的匹配度,最后将上述图像特征的匹配度、运动特征匹的配度以及周边车辆的匹配度输入目标关联模型,确定视频帧和上一帧中的相同车辆。当然,也可以将视频帧与下一帧进行匹配,确定视频帧和下一帧中的相同车辆,下一帧指的是与视频帧直接相邻的后序视频帧,本技术不作具体限定。
[0118]
其中,图像特征用于确定两个车辆在图形上的匹配程度,因此图像特征可包括车辆的车辆姿态、车辆属性(比如车辆的颜色、类型、材质、像素大小等等)和车牌。运动特征用于确定两个车辆在运动参数方面的匹配程度,因此运动特征可包括车速、历史轨迹、加速
度、转弯半径、转向角等等。周边车辆的特征数据可参考前述内容,这里不重复赘述。
[0119]
在一实施例中,在步骤s310之前,可使用第三样本集对特征匹配模型进行训练,获得训练好的特征匹配模型。该第三样本集中可包括样本输入数据以及对应的样本真实值,其中,样本输入数据包括两个车辆的已知图像特征、已知运动特征、已知周边车辆的特征数据,样本真实值包括上述两个车辆之间的已知图像特征的匹配度、已知运动特征的匹配度和已知周边车辆的匹配度。使用该第三样本集对上述特征匹配模型进行训练时,可将样本输入数据输入该特征匹配模型,将模型的输出值与样本的真实值之间的均方差作为loss,对上述特征匹配模型的参数进行调整直至收敛,从而获得训练好的特征匹配模型。
[0120]
在一实施例中,该目标关联模型可采用投票机制建立。具体地,可先基于两个车辆之间的图像特征匹配度对两个车辆是否为同一个车辆进行投票,获得图像匹配度投票结果,基于两个车辆之间的运动特征匹配度对两个车辆是否为同一个车辆进行投票,获得运动匹配度投票结果,基于两个车辆之间的周边车辆的匹配度对两个车辆是否为同一个车辆进行投票,获得周边车辆的匹配度投票结果,最后目标关联模型根据上述投票结果确定两个车辆是否为同一个车辆。举例来说,若图像特征匹配度进行投票的结果显示两个车辆不属于同一个目标,基于运动特征匹配度进行投票的结果显示两个车辆属于同一个目标,基于周边车辆的匹配度进行投票的结果显示两个车辆属于同一个目标,即属于同一个目标的投票数量最大,则目标关联模型输出值为1,标识两个车辆属于同一个目标。应理解,上述举例用于说明,本技术不作具体限定。
[0121]
示例性的,上述特征匹配模型和目标关联模型可以如图10所示,先根据特征数据获得帧t1中车辆1的图像特征、运动特征以及周边车辆的特征数据,获得帧t2中车辆2的图像特征、运动特征以及周边车辆的特征数据,其中帧t1和帧t2是两个连续的视频帧,然后将前后两帧中的两个目标的图像特征、运动特征和周边车辆的特征数据输入训练好的特征匹配模型,获得车辆1与车辆2之间的图像特征的匹配度、运动特征的匹配度以及周边车辆的匹配度,最后将上述图像特征的匹配度、运动特征的匹配度以及周边车辆的匹配度输入目标关联模型,确定车辆1与车辆2是否为同一目标。其中,目标关联模型可根据图像特征的匹配度对车辆1与车辆2是否为同一目标进行投票,根据运动特征的匹配度对车辆1和车辆2是否为同一目标进行投票,根据周边车辆的匹配度对车辆1与车辆2是否为统一目标进行投票,最后根据三种投票结果确定车辆1与车辆2是否为同一目标,进而根据同一目标的目标地理位置,生成每个车辆的行驶轨迹。应理解,图10用于举例说明,本技术不作具体限定。
[0122]
具体实现中,上述特征匹配模型和目标关联模型的网络结构可采用业界已有的神经网络模型中的任一种,本技术不作具体限定。
[0123]
综上可知,本技术提供的车辆定位方法,可根据单视角的图像传感器采集的特征数据,分别确定车辆的遮挡率、预测位置和检测位置,并根据上述遮挡率、预测位置和检测位置,获得车辆的目标地理位置和行驶轨迹。其中,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是基于目标车辆的历史轨迹和目标车辆的周边车辆的特征数据获得的,遮挡率用于描述目标车辆在视频帧中被其他物体遮挡的程度,因此根据上述遮挡率、预测位置和检测位置获得的车辆的目标地理位置和行驶轨迹,是综合了多方因素获得的地理位置和行驶轨迹,不仅考虑到了车辆被遮挡的情况和周边车辆状况,还考虑到了车辆历史行驶轨迹,使得被遮挡的车辆的目标地理位置和行驶轨迹的准确度得
到提升,从而解决单视角场景下被遮挡的车辆的定位精度差的问题。
[0124]
上面详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
[0125]
本技术中的车辆定位方法可以由前述车辆定位系统110执行,车辆定位系统110按照功能进行模块或者单元的划分可以有多种划分方式。例如前述图1所示的,车辆定位系统110可以包括特征提取模块111、遮挡率确定模块112、检测位置确定模块113、预测位置确定模块114、目标地理位置确定模块115。具体各个模块的功能可以参照前述描述,此处不赘述。在另一种实施例中,车辆定位系统110还可以根据功能进行单元划分,例如,图11是本技术提供的另一种车辆定位系统110的结构示意图。
[0126]
如图11所示,该车辆定位系统110可包括特征提取单元1101、确定单元1102、目标地理位置确定单元1103,以及,可选的,车辆定位系统110还可以包括轨迹生成单元1104和发送单元1105。应理解,特征提取单元1101可以与前述特征提取模块111的功能相同或相似,确定单元1102可以包括前述遮挡率确定模块112、检测位置确定模块113和预测位置确定模块114的功能,目标地理位置确定单元1103可以与前述目标地理位置确定模块115的功能相同或相似。
[0127]
具体地,特征提取单元1101,用于获取视频帧的特征数据,视频帧来自于采集交通道路上的车辆的行驶状况的摄像机。
[0128]
确定单元1102,用于根据特征数据,确定视频帧中目标车辆的遮挡率、检测位置和预测位置,其中,特征数据包括视频帧中的车辆的像素区域和历史轨迹,遮挡率用于描述视频帧中的目标车辆被其他物体遮挡的程度,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是根据视频帧中的目标车辆的历史轨迹以及周边车辆状况预测的地理位置。
[0129]
目标地理位置确定单元1103,用于根据视频帧中目标车辆的遮挡率、检测位置和预测位置,确定视频帧中目标车辆的地理位置。
[0130]
在一实施例中,目标地理位置确定单元1103,用于将视频帧中目标车辆的遮挡率、检测位置和预测位置输入目标地理位置模型,获得视频帧中目标车辆的目标地理位置,其中,目标地理位置模型是使用第一样本集对神经网络进行训练后获得的,第一样本集包括多个车辆的已知遮挡率、已知检测位置、已知预测位置以及多个车辆的已知目标地理位置。
[0131]
在一实施例中,确定单元1102,用于根据特征数据,从车辆区域库中获取目标车辆的全显示区域,其中,全显示区域表示目标车辆在未被遮挡的情况下在视频帧中应显示的图像区域,车辆区域库用于存储不同特征数据的车辆对应的全显示区域;确定单元1102,用于根据目标车辆的全显示区域和像素区域,确定遮挡率,其中,遮挡率是遮挡区域与全显示区域之间的比值,遮挡区域是根据全显示区域与像素区域确定的。
[0132]
在一实施例中,确定单元1102,用于获取摄像机的标定数据,其中,标定数据包括摄像机拍摄的视频帧中的图像坐标与真实世界中的地理坐标之间的对应关系;确定单元1102,用于根据目标车辆的像素区域和标定数据,获得视频帧中目标车辆的检测位置。
[0133]
在一实施例中,确定单元1102,用于根据特征数据,确定视频帧中目标车辆的周边车辆的特征数据以及目标车辆的历史轨迹;确定单元1102,用于将历史轨迹和周边车辆的特征数据输入预测位置模型,获得预测位置,其中,预测位置模型是使用第二样本集对神经
网络进行训练后获得的,第二样本集包括多个车辆的已知历史轨迹、多个车辆的已知周边车辆的特征数据以及多个车辆对应的已知预测位置。
[0134]
在一实施例中,车辆定位系统110还包括轨迹生成单元1104。轨迹生成单元1104用于获取其他视频帧的特征数据;轨迹生成单元,用于将其他视频帧中多个车辆的特征数据与视频帧中目标车辆的特征数据进行分类匹配,获得多个类别的特征匹配结果;轨迹生成单元1104,用于根据多个类别的特征匹配结果,确定其他视频帧中的目标车辆;轨迹生成单元1104,用于根据其他视频帧中的目标车辆的目标地理位置和视频帧中的目标车辆的目标地理位置,确定目标车辆的行驶轨迹。
[0135]
在一实施例中,车辆定位系统110还包括发送单元1105。发送单元1105用于向应用系统130发送目标车辆的目标地理位置和行驶轨迹,其中,应用系统包括智慧交通系统、车路协同系统、或者自动驾驶系统。
[0136]
在一实施例中,视频帧的特征数据还包括视频帧中的多个车辆的像素位置、车辆属性、车辆行驶姿态、车牌和车速中的一种或者多种,车辆属性包括车辆的颜色、类型、品牌、车型中的一种或者多种。
[0137]
应理解,车辆定位系统110内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本技术不对其进行限制。图1和图11均为示例性的划分方式,举例来说,在一些可行的方案中,图11中的特征提取单元也可以省略;在另一些可行的方案中,图11中的轨迹生成单元1104、发送单元1105也可省去;在另一些可行的方案中,图11中的确定单元也可进一步划分为图1所示的遮挡率确定模块、检测位置确定模块以及预测位置确定模块,本技术不对此进行限定。
[0138]
综上可知,本技术提供的车辆定位系统,可根据单视角的图像传感器采集的特征数据,分别确定车辆的遮挡率、预测位置和检测位置,并根据上述遮挡率、预测位置和检测位置,获得车辆的目标地理位置和行驶轨迹。其中,检测位置是根据目标车辆在视频帧中的像素区域转换得到的地理位置,预测位置是基于目标车辆的历史轨迹和目标车辆的周边车辆的特征数据获得的,遮挡率用于描述目标车辆在视频帧中被其他物体遮挡的程度,因此根据上述遮挡率、预测位置和检测位置获得的车辆的目标地理位置和行驶轨迹,是综合了多方因素获得的地理位置和行驶轨迹,不仅考虑到了车辆被遮挡的情况和周边车辆状况,还考虑到了车辆历史行驶轨迹,使得被遮挡的车辆的目标地理位置和行驶轨迹的准确度得到提升,从而解决单视角场景下被遮挡的车辆的定位精度差的问题。
[0139]
图12是本技术提供的一种计算设备900的结构示意图,该计算设备900可以是前述内容中的车辆定位系统110。如图12所示,计算设备900包括:处理器910、通信接口920以及存储器930。其中,处理器910、通信接口920以及存储器930可以通过内部总线940相互连接,也可通过无线传输等其他手段实现通信。本技术实施例以通过总线940连接为例,总线940可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0140]
处理器910可以由至少一个通用处理器构成,例如中央处理器(central processing unit,cpu),或者cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路
(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。处理器910执行各种类型的数字存储指令,例如存储在存储器930中的软件或者固件程序,它能使计算设备900提供多种服务。
[0141]
存储器930用于存储程序代码,并由处理器910来控制执行,以执行上述实施例中超载车辆识别系统的处理步骤。程序代码中可以包括一个或多个软件模块,这一个或多个软件模块可以为图11实施例中提供的软件模块,如特征提取单元、确定单元以及目标地理位置确定单元,其中,特征提取单元用于获取视频帧的特征数据,确定单元用于根据特征数据,确定视频帧中目标车辆的遮挡率、检测位置和预测位置,目标地理位置确定单元用于根据上述遮挡率、检测位置和预测位置,确定目标车辆的目标地理位置。具体可用于执行图3实施例中的s310-步骤s360及其可选步骤,还可以用于执行图1-图10实施例描述的其他由车辆定位系统110执行的步骤,这里不再进行赘述。
[0142]
需要说明的是,本实施例可以是通用的物理服务器实现的,例如,arm服务器或者x86服务器,也可以是基于通用的物理服务器结合nfv技术实现的虚拟机实现的,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,本技术不作具体限定。
[0143]
存储器930可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器930也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器930还可以包括上述种类的组合。存储器930可以存储有程序代码,具体可以包括用于执行图1-图10实施例描述的其他步骤的程序代码,这里不再进行赘述。
[0144]
通信接口920可以为有线接口(例如以太网接口),可以为内部接口(例如高速串行计算机扩展总线(peripheral component interconnect express,pcie)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与与其他设备或模块进行通信。
[0145]
需要说明的,图12仅仅是本技术实施例的一种可能的实现方式,实际应用中,计算设备900还可以包括更多或更少的部件,这里不作限制。关于本技术实施例中未示出或未描述的内容,可参见前述图1-图10实施例中的相关阐述,这里不再赘述。
[0146]
应理解,图12所示的计算设备还可以是至少一个服务器构成的计算机集群,本技术不作具体限定。
[0147]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在处理器上运行时,图1-图10所示的方法流程得以实现。
[0148]
本技术实施例还提供一种计算机程序产品,当计算机程序产品在处理器上运行时,图1-图10所示的方法流程得以实现。
[0149]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。计算机程
序产品包括一个或多个计算机指令。在计算机上加载或执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd)、或者半导体介质。半导体介质可以是ssd。
[0150]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1