一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆定位方法与装置

2023-05-17 15:08:11 来源:中国专利 TAG:


1.本技术涉及定位与神经网络技术,具体地,涉及使用单摄像头对行驶中的车辆进行定位的方法与装置。


背景技术:

2.智慧交通场景中通常需要获取在道路上运行的车辆的实时位置信息。大部分情况下无法在每台车辆上安装主动定位设备(gps终端等),也难以有效收集车辆的gps终端数据,而只能使用外部观测手段,例如激光雷达、毫米波雷达、摄像头等,来获取车辆实时位置信息。激光雷达价格昂贵,受环境影响也较大。毫米波雷达定位精度低,难以识别静止不动的物体。摄像头是性价比最高的解决方案。
3.真实的3维世界中的物体(诸如车辆)具有坐标(x,y,z)(也称为世界坐标),例如,用车辆中心在地面投影的坐标作为车辆的坐标(x,y,z)。世界坐标的z轴垂直于地面,而xoy面与地面平行。通过摄像头采集物体的图像,物体在图像中具有2维坐标,将同坐标(x,y,z)对应的在图像中的2维坐标记为(u,v)(也称为图像坐标)。现有技术中,根据3维世界坐标(x,y,z),计算对应的图像坐标的计算公式如(1)所示:
[0004][0005]
其中,s是尺度,例如在垂直于成像平面的方向上摄像头光心到物体的距离,u和v分别是物体在图像中的横纵坐标;(x,y,z)是世界坐标,矩阵是相机内参矩阵,可以通过内参标定的方法获得(例如张正友标定法),矩阵是相机外参矩阵,在已完成内参标定的基础上,通过外参标定(例如采集足够多的《(u,v),(x,y,z)》数据点后按上述关系式拟合)得到。
[0006]
对相机进行内、外参标定后,按照公式(1),对于真实世界3维空间中每个已知点(x,y,z),可以计算出其在由该相机获得的图像上的图像坐标(u,v)。但反过来,对于该相机获得的图像上的已知像素点(u,v),由于不确定s,从而无法计算出该点对应的3维世界坐标。
[0007]
现有技术中还存在3d建模技术。例如通过3d建模软件或3d仿真软件,能构建虚拟的3维空间,所构建的虚拟3维空间可以设置物体(称为虚拟物体)。例如,中国专利申请cn113177429a公开了利用3d建模技术构建合成视频数据来替代真实世界的视频数据用于神经网络训练。


技术实现要素:

[0008]
本技术希望解决的问题在于,在诸如交通路口通过单个(普通)摄像头采集视频图像,从图像中精确定位交通路口的车辆的实时位置。更一般地,希望通过从真实世界采集的视频图像中,定位图像中的物体在真实世界的世界坐标。
[0009]
根据本技术第一方面,提供了根据本技术第一方面的第一车辆定位方法,包括:通过单目摄像头采集真实世界中应用场景的图像;从图像中识别包括待定位车辆的识别区域;将所述识别区域提供给车辆定位神经网络进行处理,根据所述车辆定位神经网络输出获得所述待定位车辆在真实世界中的位置;其中所述车辆定位神经网络是用包括在3d仿真场景中的车辆模型在所述3d仿真场景的虚拟摄像头所获得的图像中的识别区域的位置以及所述车辆模型所代表的车辆在真实世界中的位置的训练数据所训练;其中,所述3d仿真场景是根据所述真实世界的应用场景构建,并同所述真实世界的应用场景对应一致。
[0010]
根据本技术第一方面的第一车辆定位方法,提供了根据本技术第一方面的第二车辆定位方法,其中用识别区域的中心、构成识别区域的多边形的顶点、和/或构成识别区域的多个像素的位置代表识别区域。
[0011]
根据本技术第一方面的第二车辆定位方法,提供了根据本技术第一方面的第三车辆定位方法,其中通过单目摄像头采集的真实世界中应用场景的图像,包括在第一连续多个时刻采集的多个图像;提供给车辆定位神经网络进行处理的识别区域包括从所述多个图像中识别的对应于所述第一连续多个时刻的多个识别区域;以及所述训练数据包括在所述3d仿真场景的虚拟摄像头所获得的第二连续多个时刻的多个图像中的多个识别区域,以及所述车辆模型所代表的车辆在真实世界中在所述第二连续多个时刻的位置或者在所述第二连续多个时刻的最后时刻的位置。
[0012]
根据本技术第一方面的第一至第三车辆定位方法之一,提供了根据本技术第一方面的第四车辆定位方法,其中所述3d仿真场景中的位置同真实世界的应用场景的位置一一对应,根据所述车辆模型在所述3d仿真场景中的位置确定所述车辆模型所代表的车辆在真实世界的应用场景中的位置,或者根据在真实世界的应用场景中的位置在所述3d仿真场景中的对应位置设置所述车辆模型。
[0013]
根据本技术第一方面的第四车辆定位方法,提供了根据本技术第一方面的第五车辆定位方法,其中将所述识别区域与所述单目摄像头的位置和/或姿态提供给车辆定位神经网络进行处理,所述车辆定位神经网络输出所述待定位车辆在真实世界中的位置;以及所述训练数据还包括所述虚拟摄像头采集图像时的位置和/或姿态。
[0014]
根据本技术第一方面的第四车辆定位方法,提供了根据本技术第一方面的第六车辆定位方法,其中所述单目摄像头的位置与姿态保持不变;以及所述虚拟摄像头采集图像时的位置与姿态与所述单目摄像头的位置与姿态相同。
[0015]
根据本技术第一方面的第一至第六车辆定位方法,提供了根据本技术第一方面的第七车辆定位方法,其中在所述3d仿真场景中的第一位置设置所述车辆模型,所述第一位置对应所述真实世界的应用场景中的第二位置;通过所述虚拟摄像头以指定的位置和/或姿态采集所述3d仿真场景中的图像;在所述虚拟摄像头所获得的图像中识别包括所述车辆模型的所述识别区域;将所述识别区域在所述虚拟摄像头所获得的图像中的位置与所述第二位置作为所述训练数据,其中在对所述车辆定位神经网络的训练中,所述识别区域在所
述虚拟摄像头所获得的图像中的位置作为所述车辆定位神经网络的输入,所述第二位置所述车辆定位神经网络的预期输出。
[0016]
根据本技术的第二方面,提供了根据第二方面的第一车辆定位方法,包括:通过单目摄像头采集真实世界中应用场景的图像;从图像中识别包括待定位车辆的识别区域;将所述识别区域提供车辆定位神经网络进行处理,根据所述车辆定位神经网络输出获得所述待定位车辆在真实世界中的位置;其中所述车辆定位神经网络是用包括在3d仿真场景中的车辆模型在所述3d仿真场景的虚拟摄像头所获得的图像中的识别区域的位置以及所述车辆模型所代表的车辆在真实世界中的位置在所述虚拟摄像头所获得的图像中的对应位置的训练数据所训练;其中,所述3d仿真场景是根据所述真实世界的应用场景构建,并同所述真实世界的应用场景对应一致。
[0017]
根据第二方面的第一车辆定位方法,提供了根据本技术第二方面的第二车辆定位方法,其中所述真实世界中应用场景具有世界坐标系,所述世界坐标系为空间直角坐标系,具有相互垂直的x轴、y轴与z轴,所述应用场景的的地面在世界坐标系中表示为z=0的平面;所述车辆定位神经网络输出所述待定位车辆在所述单目摄像头采集的图像中的由图像坐标系表示的位置(u,v);
[0018]
根据所述单目摄像头的内参外参与所述车辆定位神经网络的输出(u,v),根据计算所述待定位车辆在真实世界中的位置(x,y,z),其中z=0。
[0019]
根据本技术的第三方面,提供了信息处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现根据本技术第一方面与第二方面的方法之一。
附图说明
[0020]
当连同附图阅读时,通过参考后面对示出性的实施例的详细描述,将最佳地理解本技术以及优选的使用模式和其进一步的目的和优点,其中附图包括:
[0021]
图1a展示了真实世界的交通路口的3d仿真场景;
[0022]
图1b展示了图1a的虚拟摄像头所拍摄的3d仿真场景内的图像;
[0023]
图2a展示了根据本技术又一实施例的真实世界的交通路口的3d仿真场景;
[0024]
图2b展示了图2a的虚拟摄像头所拍摄的3d仿真场景内的图像;
[0025]
图3a展示了根据本技术实施例的真实世界的交通路口的3d仿真场景;
[0026]
图3b是图3a的虚拟摄像头拍摄到的图像;
[0027]
图3c是图3a的虚拟摄像头拍摄到的图像的识别区域的示意图;
[0028]
图4a展示了根据本技术实施例获取训练数据集来训练车辆定位神经网络的流程图;
[0029]
图4b展示了根据本技术实施例利用训练好的车辆定位神经网络对车辆进行定位
的流程图;
[0030]
图5a与图5b展示了根据本技术又一实施例的获取用于神经网络的训练数据的方式的示意图。
具体实施方式
[0031]
下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
[0032]
图1a展示了真实世界的交通路口的3d仿真场景。
[0033]
作为举例,交通路口是两条或更多行车道的交汇处,通常包括不同方向的行车道以及交通信道灯等设施。根据本技术的实施例,在交通路口设置摄像头,以获取临近交通路口的行车道内图像,并从图像中识别存在车辆的区域,以及确定所识别的车辆的在真实世界中的世界坐标。为了便于拍摄行车道内的车辆,摄像头被设置在较高处,例如,设置在交通灯处,或者设置于路旁的柱或横跨道路的横杆处。依然可选地,摄像头位于行车道临近路口位置的正上方,以沿行车道方向从上向斜下方拍摄图像。作为又一个例子,摄像头位于道路的侧方,以垂直于行车道或者同行车道方向具有一定角度地从行车道的侧面拍摄图像。从侧面拍摄行车道图像有助于降低行车道上前车(更靠近路口位置为前)对后车的遮挡。
[0034]
根据本技术的实施例,对要采集图像以及识别车辆的交通路口(包括摄像头以及架设摄像头的设施等)建立3d仿真模型。仿真模型中,道路的位置与尺寸、摄像头的位置与姿态(角度),都与真实世界一致。例如,对于交通路口所处场景中的每个物体,在3d仿真模型中都设置具有对应相同形状、尺寸的物体。又例如,3d仿真模型中的物体,与交通路口场景中的对应物体在几何上相似(等比例缩放)。在另一个例子中,3d仿真模型中的物体,与交通路口场景中的对应物体,在各自的度量单位下的形状与尺寸完全相同,例如交通路口车道宽3.5米,而3d仿真模型中的对应车道宽度以仿真模型内的度量单位也是3.5“米”,仿真模型内的单位“米”可由例如像素数量换算得到;又例如,交通路口的摄像头焦距为4mm,而仿真模型的对应摄像头的焦距也是4“mm”。
[0035]
对于要应用本技术的实施例的每个不同的路口,都分别建立同真实世界一致的3d仿真模型。在3d仿真模型中的摄像头(为了区分,称为虚拟摄像头)的内参也同真实世界的摄像头内参一致,为此目的,需要预先获取真实世界中用于拍摄图像的特定摄像头的内参。虚拟摄像头用于在3d仿真模型中采集图像,所采集的图像是从虚拟摄像头所处位姿观测到的3d仿真模型中的图像。
[0036]
图1b展示了图1a的虚拟摄像头所拍摄的3d仿真场景内的图像。
[0037]
虚拟摄像头位于车道正上方,以斜向下的角度拍摄行车道。图1b的箭头对应于图1a中的箭头。图1b的梯形深色四边形代表车道上的车辆(在图1a中未示出)。为了本技术实施例的车辆定位的目的,在3d仿真场景中设置车辆模型。车辆模型位于例如行车道内,以仿真真实世界中的车辆。可选地,车辆模型也位于行车道外,以仿真真实世界中可能出现的情况(例如,车辆违章行驶)。依然可选地,根据本技术的实施例,车辆模型在3d仿真场景中的重要信息在于其位置,而车辆的外观、颜色、品牌等特征可被忽略,以简化车辆模型的构建过程。依然可选地,车辆模型为了便于在虚拟摄像头获得的图像中被识别而被优化。例如,
为车辆模型设置具有特殊的颜色,从而在虚拟摄像头获得图像中通过识别具有特殊颜色的连通区域来识别车辆模型在图像中占据的区域或位置。依然可选地,在3d仿真场景中,设置行驶的车辆模型,从而虚拟摄像头获取的图像或包括时间连续的多帧图像的视频中,车辆的位置随时间发生变化,并且多帧图像中车辆位置形成的轨迹,符合道路上行驶的车辆的运动特征(例如,沿道路平面运动,不会跳跃,行驶速度在合理范围等)。
[0038]
根据本技术的实施例,通过在真实世界的交通路口中的指定位置(记为p)设置车辆,并在对应3d仿真场景中对应位置p的设置对应的车辆模型,以及通过虚拟摄像头车辆获取3d仿真场景的图像,并从图像中识别车辆模型所在的区域(记为a),获取数据对《a,p》。并将基于不同位置p获得的大量的数据对《a,p》作为训练数据,来训练神经网络来根据真实世界的摄像头所拍摄图像中真实车辆所在区域(记为a’)估计车辆在真实世界中的位置(记为p’)。
[0039]
图2a展示了根据本技术又一实施例的真实世界的交通路口的3d仿真场景。图2b展示了图2a的虚拟摄像头所拍摄的3d仿真场景内的图像。
[0040]
图2a展示了十字路口的3d仿真场景。路口设置有红绿灯(210),用于指引其对向车道220的车辆。在红绿灯210的位置还设置虚拟摄像头,调整虚拟摄像头的角度使其拍摄车道230。从而虚拟摄像头从侧面拍摄车道230,以减少车道230的车辆在所拍摄的图像中对后车的遮挡。车道上标记的箭头代表车辆行车方向。
[0041]
图2b展示的图像中还包括车道上的多个车辆(在图2a中未示出)。
[0042]
下面结合图3a、图3b与图3c说明根据本技术实施例获取用于神经网络的训练数据的方式。
[0043]
参看图3a,获取车道230所对应的真实世界车道上的位置p(其世界坐标为(x,y,z)),用于设置车辆。位置p是随机选取的,并且符合若干约束条件,例如,在车道230内,在摄像头所拍摄的画面内,和/或相对地面的高度同真实车辆的中心位置接近等。
[0044]
图3a还标注了世界坐标的坐标系。z轴垂直于地面,x轴沿水平的车道方向,y轴与x轴垂直,且与地面平行。
[0045]
在所构建的3d仿真场景中对应位置p的位置,设置车辆模型(310)。3d仿真场景与真实世界的交通路口是一致的,因而对于位置p,在3d仿真场景中存在对应位置。图3a中,作为举例,以及简化车辆模型的复杂度,车辆模型310被设置为立方体。以及虚拟摄像头在3d仿真场景中的位置(以及姿态),与其代表的真实摄像头在真实世界中的位置(以及姿态)对应一致。
[0046]
图3b是图3a的虚拟摄像头拍摄到的图像。图3b中包括车辆模型310的图像,由白色长方体310’表示。图3c展示了对图3b拍摄的图像进行识别,以提取其中存在车辆的区域。作为识别结果,识别出在矩形区域320中存在车辆,或者说识别出的车辆位于矩形区域320。矩形区域在图像中具有位置,该位置由图像坐标表示。图像坐标是例如图像的像素矩阵中的行号与列号。矩形区域320在图像中的位置(记为a),可由矩形区域320的指定顶点和/或中心位置表达,也可由其所覆盖的区域的多个或所有像素的坐标序列表达。
[0047]
从而矩形区域320(图3c)的位置a对应于车辆模型(310)在真实世界中的位置p。通过在真实世界中的多个位置p设置车辆,利用图3a到图3c所展示的建模与处理过程,能得到对应多个p的每个的在图像中的位置a,并得到数据对《a,p》的集合作为训练数据集。
[0048]
可选地,从图像中识别车辆模型本身在图像中的位置,而无需用矩形320的位置代表车辆模型的位置。
[0049]
在进一步的实施方式中,真实世界中,摄像头的姿态与位置(简称位置)可被改变,以获得对交通路口的更大的观察范围。相应地,所建模的虚拟摄像头具有同真实世界的摄像头对应一致的位姿。在获取训练数据中,还改变虚拟摄像头的位姿,以在多种不同位姿获取3d仿真场景中的图像。将虚拟摄像头的位姿记为pp,训练数据相应表示为《a,pp,p》。
[0050]
为获得充分的训练数据,根据真实世界中可能存在待识别车辆的位置、待识别车辆可能的形状、大小、摄像头可能的位姿,在3d仿真场景中设置车辆模型,并利用虚拟摄像头获取图像。例如,对于摄像头每个可能的位置与姿态,记录其位姿。对于每个车辆模型,让它依次在摄像头可观测的每个车道上沿道路行驶,行驶范围至少穿越摄像头的可见区域。车辆模型行驶过程中使用虚拟摄像头以合理的时间间隔连续拍摄来获取图像。以及也记录拍摄时,车辆模型在真实世界中的对应位置以及摄像头的位姿。
[0051]
根据本技术的实施例,用所获取的数据集训练神经网络,以车辆模型在真实世界中的位置p,以及可选的虚拟摄像头的位姿pp作为神经网络的输入,而用虚拟摄像头采集的图像中车辆模型在图像中的区域a作为训练用的数据标签(神经网络的预期输出)。所使用的神经网络具有例如已知结构的多层神经网络,例如卷积神经网络(cnn)。
[0052]
对于训练好的神经网络,在应用中,利用真实世界的摄像头采集交通路口的图像,利用图像识别技术从图像中识别车辆,并获取所识别车辆在图像中的位置(用例如图像坐标表达),将车辆在图像中的位置提供给训练好的神经网络,神经网络相应地输出所识别车辆在真实世界中的坐标的预测值。
[0053]
图4a展示了根据本技术实施例获取训练数据集来训练车辆定位神经网络的流程图。
[0054]
根据本技术的实施例,根据要布置单目摄像头来实施车辆定位的指定应用场景来构建3d仿真场景(410)。指定应用场景包括例如特定的交通路口,摄像头支架、所使用的单目摄像头等。所使用的摄像头具有已知的内参,或者另外地标定该摄像头的内参。
[0055]
可以理解地,为将根据本技术的实施例应用于不同的应用场景(例如,不同的交通路口),要根据各应用场景构建对应的3d仿真场景,并通过图4a展示的处理流程,为各应用场景获取神经网络的训练数据集并训练同各应用场景分别对应的神经网络。
[0056]
返回图4a,设置多种车辆在该指定应用场景中的位置(记为位置p),并在所构建的3d仿真场景中根据所设置的位置(p)生成车辆模型(420)。车辆模型可选地呈现车辆的外观、形状特征,或者为了便于后续的图像识别,而呈现特殊颜色或标记。
[0057]
所构建的3d仿真场景中还包括虚拟摄像头,虚拟摄像头同应用场景中的单目摄像头对应一致(位姿对应,内参相同等)。利用虚拟摄像头获取3d仿真场景中的图像,以及从获取的图像中识别车辆模型所在的区域(也称识别区域)(430)。利用虚拟摄像头获取的3d仿真场景中的图像,是以虚拟摄像头为视角,利用相机成像原理拍摄或观察到的3d仿真场景的指定区域或空间的2维图像。
[0058]
将车辆模型在虚拟摄像头获取的图像中的识别区域在图像中的位置(由图像坐标表示),与对应的车辆在真实世界的应用场景中的位置(由世界坐标表示),作为训练数据,用在多个位置、多种车辆、以及可选的虚拟摄像头的多种位姿获得的多份训练数据作为训
练数据集(440)。
[0059]
用训练数据集训练用于车辆定位的神经网络(450)。车辆模型在虚拟摄像头获取的图像中的识别区域在图像中的位置作为神经网络的输入,而车辆在真实世界的应用场景中的位置作为神经网络的预测输出。可选地,虚拟摄像头的位姿也作为神经网络的输入。
[0060]
训练数据集的获取与车辆定位神经网络的训练,可在应用场景之外(例如实验室或研发环境)实施。
[0061]
图4b展示了根据本技术实施例利用训练好的车辆定位神经网络对车辆进行定位的流程图。
[0062]
在真实世界的指定应用场景中,通过具有指定位姿的摄像头获取应用场景的图像(460)。在一个例子中,摄像头的位姿同在3d仿真场景中采集图像的虚拟摄像头的位姿相同。在另一个例子中,利用虚拟摄像头采集图像时,已在多种位姿采集了数据,相应的在对车辆定位时,对摄像头的位姿的约束较少或没有。
[0063]
从真实世界的摄像头采集的图像中识别车辆并获取车辆的识别区域在图像中的位置(由图像坐标表示)(470)。从图像中识别车辆所在区域的位置属于现有技术,也可以利用将来出现的技术方案实施。
[0064]
利用针对真实世界的指定应用场景已训练好的神经网络,处理车辆的识别区域在图像中的位置。将车辆的识别区域,以及可选地的真实世界的摄像头的位姿,作为输入提供给训练好的车辆定位神经网络(480)。识别区域在图像中的位置包括例如代表识别区域的矩形的中心和/或顶点的位置,或者识别区域的多个像素的位置数组。位姿包括位置与姿态。可选地,提供给神经网络的位姿包括位置和/或姿态信息。
[0065]
车辆定位神经网络作为对输入的响应而输出车辆在真实世界的应用场景中的位置(例如以世界坐标表示)。
[0066]
图5a与图5b展示了根据本技术又一实施例的获取用于神经网络的训练数据的方式。
[0067]
参看图5a,在3d仿真场景内令车辆模型沿车道行驶。可选地,也令车辆模型在3d仿真场景中以不限于遵守交通规则(但遵循物理定律)方式行驶。图5a中,由长方体所代表的车辆模型沿车道由远及近驶向交叉路口。车辆模型行驶过程中,虚拟摄像头拍摄视频,视频包括记录了不同时刻(例如,t0、t1、t2与t3)的图像的多个视频帧。附图标记tx中,x的数值越大,代表越靠后的时刻。t0时刻,车辆模型510位于位置p0(记为510(p0,t0));t1时刻,车辆模型511位于位置p1(记为511(p1,t1));t2时刻,车辆模型512位于位置p2(记为512(p2,t2));t3时刻,车辆模型513位于位置p3(记为513(p3,t3))。根据图5a与图5b展示的实施例,用连续多个时刻的车辆模型的轨迹(包括多个位置)作为训练神经网络的训练数据的部分。图5a中,位置(p0、p1、p2与p3)代表3d仿真场景中的位置,也代表同仿真场景中的位置对应的真实世界中的位置,从而其各自具有世界坐标。
[0068]
图5b是图5a的虚拟摄像头拍摄到的图像。图5b中包括车辆模型(520、521、522与523)的图像,分别由白色长方体表示。图5b还展示了对图像中的车辆模型进行识别,以提取其中存在车辆的区域(520’、521’、522’与523’)。作为识别结果,识别出在矩形区域中存在车辆,或者说识别出的车辆位于矩形区域(由虚线框表示)。矩形区域在图像中具有位置。
[0069]
从而从视频的连续多帧图像中,提取的连续时间的多个矩形区域(520’、521’、
522’与523’)对应于车辆模型在真实世界中的移动轨迹(p0、p1、p2与p3)。根据本技术实施例,将从视频中提取的连续时间的多个矩形区域(520’、521’、522’与523’)各自在图像中的位置所形成的位置序列,与真实世界中车辆轨迹最后时刻的位置p3(例如世界坐标),作为神经网络的训练数据。或者,将从视频中提取的连续时间的多个矩形区域(520’、521’、522’与523’)各自在图像中的位置所形成的位置序列,与真实世界中的位置序列(p0、p1、p2与p3),作为神经网络的训练数据。进而,获取多个训练数据形成训练数据集。通过例如改变车辆模型在3d仿真场景的位置、移动轨迹、速度、形状、颜色等特征,来获得多样化的训练数据。
[0070]
在训练神经网络时,用训练数据中的从视频中提取的多个视频帧中存在车辆模型的识别区域的位置序列作为输入数据,而用车辆模型对应的真实世界中的车辆的轨迹序列或轨迹最后时刻的位置作为神经网络的预期输出。
[0071]
在应用所训练的神经网络进行车辆定位时,从摄像头采集的视频或连续时间的多帧图像中识别车辆所在区域(识别区域),并提取对应同一车辆的连续时间的多个识别区域,将多个识别区域的图像位置序列作为神经网络的输入,将神经网络的输出作为对所识别车辆在真实世界中的最终位置或轨迹的预测。
[0072]
根据本技术的进一步的实施例,对待定位车辆所在的应用场景建立世界坐标系时,取道路的地面所在平面作为z=0平面。对于真实世界中的摄像头与虚拟摄像头,其内参已知或通过内参标定获得。进一步对于摄像头(也包括虚拟摄像头)的每种位姿进行外参标定,获得每种位姿的外参从而,根据上面关系式(1)能够将真实世界中,“车辆地面投影中心”(世界坐标)(x,y,z=0)转化为“车辆地面投影中心”图像坐标(u,v)。
[0073]
为获取训练数据,在真实世界的道路上设置车辆(其车辆地面投影中心位置p=(x,y,0)),根据上述关系式(1),将位置p坐标代入,求解方程组得到位置p在摄像头(包括虚拟摄像头)所采集图像中的对应图像位置(记为p img),将该图像位置p img作为训练数据的部分。
[0074]
根据真实世界与3d仿真场景的关系,位置p在3d仿真场景中具有对应位置p’。在位置p’设置同待定位车辆对应的车辆模型,以及利用虚拟摄像头(位姿为pp,其内参与外参均已知或已获得)获取车辆模型的图像或包括连续多帧图像的视频。在采集的图像中识别车辆模型,并得到图像中包括车辆模型的识别区域ap。将识别区域ap作为训练数据的又一部分,其对应于图像位置p img。图像位置p img是真实世界中车辆的位置p通过关系式(1)求解得出的,而识别区域ap是从虚拟摄像头采集的图像中识别出的。
[0075]
通过改变车辆位置、车辆形状、行驶方向/速度、摄像头位姿等,获得多份训练数据,以形成训练数据集。
[0076]
可选地,为获取训练数据,在3d仿真场景中设置位于位置p’(随机,且满足车辆模型应位于道路上等约束条件)的车辆模型,并通过虚拟摄像头获得图像,从图像中提取包括车辆模型的识别区域ap。以及根据真实世界与3d仿真场景的关系,根据位置p’对应的真实
世界的位置p,并根据关系式(1)计算在摄像头所采集图像中位置p的对应图像位置(记为p img)。将识别区域ap与对应的图像位置p img作为训练数据。
[0077]
在对车辆定位神经网络训练中,以采集的图像中车辆模型的识别区域ap以及摄像头位姿pp(其对应的外参已获得)作为神经网络的输入,以根据车辆模型所代表的车辆在真实世界中的位置p与关系式(1)计算出的车辆模型在所采集图像中的位置p img为神经网络的预期输出,训练神经网络。
[0078]
训练好的神经网络,用于根据从摄像头采集的图像中识别的识别区域a,推断出识别区域a内的车辆的地面投影中心在图像中的位置(由例如图像坐标表示,记为(u,v))。此时摄像头的内参已知,而对应摄像头当前位姿的外参也已知,从而取z=0,代入关系式(1),寻找使得关系式(1)成立的s,x,与y的值,得到车辆的地面投影中心在真实世界中的位置p=(x,y,z=0)。
[0079]
在该实施例中,所训练的神经网络是根据真实世界的应用场景中,车辆在摄像头采集的图像中的位置估计车辆的地面投影中心在该图像中的位置。因为只涉及图像坐标,可以更好地容忍畸变带来的误差,也便于进行过拟合错误检测(例如,车辆的地面投影中心的图像坐标一定落在车辆所在的识别区域内)。
[0080]
上述根据本技术的实施例以在交通路口对车辆进行定位为例描述,可以理解地,根据本技术的实施例可应用于交通路口之外的其他区域来定位车辆。进一步地,除了定位车辆,对于真实世界的多种应用场景中的其他待定位对象,也可使用根据本技术的实施例所提供的方式或构思进行定位。
[0081]
虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本技术的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本技术的范围。
[0082]
这些实施方式所涉及的、从上面描述和相关联的附图中呈现的教导获益的领域中的技术人员将认识到这里记载的本技术的很多修改和其他实施方式。因此,应该理解,本技术不限于公开的具体实施方式,旨在将修改和其他实施方式包括在所附权利要求书的范围内。尽管在这里采用了特定的术语,但是仅在一般意义和描述意义上使用它们并且不是为了限制的目的而使用。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表