增强现实融合场景的方法及仿真结果批量验证方法
技术领域
本发明涉及计算机科学与技术领域中的虚拟现实融合领域、计算机三维建模领域、模式识别领域、网络应用技术领域,特别地,涉及一种增强现实场景融合及批量验证方法。
背景技术
虚拟现实(virtual reality),又称虚拟实境,是伴随着计算机图形学技术与模式识别技术发展诞生的一项研究领域,其主要特点与用途是由计算机模拟真实环境中出现的视觉、听觉等信号,并通过各种传感器将这些模拟信号展示给受众,使受众产生身临其境的感觉。增强现实(augmented reality)技术,是虚拟现实的一项现实应用,是指通过技术手段将虚拟的视觉、听觉等信号与现实环境的真实信号进行融合,生成虚拟与现实结合的场景,达到对现实场景增强的目的。随着技术的成熟,增强现实技术越来越应用于社会的方方面面。
机动车自动驾驶系统是近年来工业界研究的热门领域。随着人民生活水平的提高,小轿车等交通工具成为人们主要的代步工具,而交通工具的智能化,将越来越简化出行,为大众提供更多的生活便利。通常情况下,自动驾驶系统的开发需要经历漫长的开发、测试、验证、应用过程,这一过程通常是及其复杂和反复的,如果训练自动驾驶系统所需要的大量的训练数据全部从真实环境中采集,将耗费大量的人力、财力、物力。而虚拟仿真作为一种低成本、快速迭代、可复现的测试方法,为自动驾驶系统验证提供了一种良好的替代手段。通过增强现实技术,可以快速有效的对自动驾驶算法的正确性与性能进行验证。本申请提出一种增强现实场景融合及批量验证方法,该方法不仅可以用于机动车自动驾驶系统的仿真,还可扩展应用于各类以现实环境数据为基础的自动化决策系统。另外,对于仿真融合场景的生成,还缺少高效的批量产生的方式,这影响了对自动化决策算法的验证。
发明内容
本发明的第一个方面,是提供一种增强现实场景融合方法,该方法用于自动驾驶算法的正确性与性能进行验证;所述融合方法包括下列步骤:
S1摄像机标定:根据真实图像获得摄像机的内外参数配置;其中包括对摄像机模型坐标到融合图像坐标的映射;
S2场景重建:通过真实环境中可用的传感器组,建立真实世界的三维描述,并对真实场景中可识别目标的坐标、类别特征进行标注;
S3场景融合:将虚拟场景与真实场景进行融合。
优选的,所述步骤S2场景重建包括:将二维图像坐标反推三维世界坐标,从而恢复三维场景;其中对于多幅图像的配准,首先采用SIFT算子方法提取出特征点,然后利用外极线约束剔除局外点,最后利用互相关匹配公式进行对应点计算。
优选的,所述步骤3)的场景融合包括:
S31初始化融合引擎:所述融合引擎包括虚拟场景管理、真实场景管理和融合计算三个模块,还包括将所述虚拟场景生成引擎生成的虚拟图像叠加到真实图像的应用软件;所述虚拟场景管理模块用于生成虚拟摄像机和虚拟目标物;
S32根据所述步骤S1的摄像机标定结果,设定虚拟摄像机的参数;根据来自步骤S2的设定数据,初始化虚拟场景中需要设置的目标物;
S33建立t时刻的虚拟场景环境,包括虚拟目标物及其特征;
S34重建t时刻的真实场景环境,通过步骤S2)的方法获得真实目标物及其特征;
S35根据步骤S33和S34的结果,生成t时刻的融合场景;所述虚拟目标物通过融合引擎生成,所述真实目标物通过计算机视觉方法从真实图像中提取,且所述虚拟目标物和真实目标物的特征相同。
优选的,其中步骤S32中的所述目标物包括目标物的种类、数量、纹理,初始时刻t1的运动特征;
优选的,其中所述运动特征包括目标物的坐标、朝向、运动方式。
优选的,所述融合方法还包括:
S36根据需要,生成融合场景的渲染图像。
S37如果已是最后时刻,则退出。否则,更新虚拟场景的设定数据,设置时刻t=t2并返回S33。
本发明的第二方面,提供一种基于增强现实融合场景的仿真结果批量验证方法,包含如下步骤。
1)对于自动化决策算法,准备若干虚拟场景,并确定虚拟场景预设定数据;
2)将虚拟场景预设定数据批量保存到验证服务器;
3)当所有所述虚拟场景准备完毕,在所述验证服务器上开启批量验证;所述验证服务器对每一个所述虚拟场景,依次执行下列任务:
3.1)调用所述步骤1)的场景融合方法,生成融合场景;
3.2)将场景融合的结果传递给自动化决策算法;
3.3)由所述自动化决策算法生成决策结果;
3.4)所述验证服务器评价所述决策结果,并根据所有的所述决策结果综合生成评价报告。
本发明的发明点包括但不限于以下几点:
本发明将虚拟场景与真实场景进行融合,可以为自动驾驶、无人驾驶提供数据采集用环境;其中将二维图像坐标反推三维世界坐标,从而恢复三维场景用到了互相关匹配公式进行对应点计算,提高了仿真环境的逼真度。
本发明提供了场景融合方法及系统;其中生成t时刻的融合场景;该融合场景将虚拟目标物通过融合引擎生成,真实目标物通过计算机视觉方法从真实图像中提取,且所述虚拟目标物和真实目标物的特征相同,这保证了某些特殊场合例如对自动驾驶算法的正确性与性能进行验证的需要。
本发明在场景融合的基础上,提供了一种仿真结果批量验证方法,该批量验证方法建立在该增强现实场景融合方法基础之上,使用了自动化决策算法。使仿真结果批量验证更加科学准确。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明的与现实场景结合的增强现实场景融合方法流程图;
图2是针孔摄像机模型中不同坐标系关系示意图;
图3是双目摄像机模型的外极线约束示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
实施例1所述的一种与现实场景结合的增强现实场景融合方法,用于建立与真实环境相符的虚拟场景三维模型,并将虚拟场景与真实场景融合。下面结合图1进行具体说明。
该方法包含下面3个关键步骤:
1)摄像机标定:根据真实图像获得摄像机的内外参数配置,以便使虚拟生成的三维场景与现实环境无缝融合。
2)场景重建:通过真实环境中可用的传感器组,建立真实世界的三维描述,并对真实场景中可识别目标的坐标、类别等特征进行标注。
3)场景融合:将虚拟场景与真实场景进行融合。
摄像机标定是确定真实场景中摄像机内参数和外参数的过程。摄像机的内参数包括焦距、畸变因子等,外参数包括旋转矩阵和平移矩阵。摄像机标定的主要目的是保证真实场景与虚拟场景的几何一致性。无论是自动驾驶算法还是真正的人,终端用户能看到的都是二维图像,而二维图像是三维世界通过摄像机模型的映射,因此如果要保证虚拟物体与真实物体的几何一致,就必须要保证虚拟摄像机模型与真实摄像机模型的一致。摄像机标定就是为了获取真实的摄像机模型,这也是本发明得到场景融合的关键前提。为后续进行车辆参数的仿真验证提供保障。
摄像机模型可以由针孔模型描述。引入三个坐标系统:世界坐标系、摄像机坐标系和图像坐标系。其关系如图2所示。图中C1为世界坐标系;C2为图像坐标系;C3为摄像机坐标系。假设三维世界中的一点X,其在真实或者虚拟世界坐标系中的坐标为(Xw,Yw,Zw),在对应的摄像机坐标系中的坐标为(Xc,Yc,Zc),在二维图像中的坐标为(u,v)。坐标系OwXwYwZw表示世界坐标系,是系统中的绝对坐标系,世界坐标系用来定义客观世界中物体的绝对坐标。坐标系OcXcYcZc表示摄像机坐标系,该坐标系以摄像机光心为原点,以摄像机光轴为Z轴建立,表示客观世界中的物体相对于摄像机本身的坐标。图像坐标系Oouv是位于成像平面内的二维坐标系,与摄像机光轴OcZc垂直,表示图像空间中的像素相对于图像原点的坐标偏移。
无论是真实世界还是虚拟世界,物体的三维坐标是(Xw,Yw,Zw),而其在融合图像中的坐标是(u,v)。因此摄像机模型便是(Xw,Yw,Zw)到(u,v)的映射。这一映射可以由如下两个式子描述:
式子(1)中R,t分别为旋转矩阵和平移矩阵,是摄像机外参数;式子(2)中f为摄像机焦距,s为畸变因子,r是二维图像水平与垂直方向比值,(u0,v0)是摄像机光心在图像平面上的投影坐标,上述参数是摄像机内参数;λ为参数
由此可见,摄像机外参数与世界坐标系的参考点选取有关,如果将真实世界与虚拟世界的世界坐标系原点都选取在摄像机光心,那么外参数自然重合。因此只需要保证内参数一致即可。
通过三维几何模型建立的场景是不包含纹理的。为了使融合场景更加逼真,还需要进行纹理映射,将物体表面的真实纹理映射到融合场景中,这是本发明的创新点之一。现有技术中还没有对场景进行纹理映射的需要,这是因为没有将该场景融合用于车辆的仿真数据采集或验证环境中。本发明对场景进行纹理映射,有助于仿真数据采集或验证的逼真性,这一纹理映射也只是在该环境中有存在的必要和需求。
对于三维世界中的平面,映射到二维图像上将会产生透视畸变,如图3所示。
场景重建是通过摄像机等传感器对周围环境进行信号采集,并通过算法还原真实环境信息的过程。在场景重建的过程中,通常是以摄像机为主,激光测距仪、扫描仪,各种标定设备为辅,采集还原环境信息所需要的原始信号。环境信息包括:摄像机(可以认为是增强现实系统的使用者)在真实环境中的相对位置坐标,环境中可识别目标的类型、位置和尺寸等。
下面给出一个通过摄像机重建场景的示例。
根据前文描述,三维世界坐标与二维图像坐标存在映射关系,因此可以从二维图像坐标反推三维世界坐标,从而恢复三维场景。要恢复场景的三维结构至少需要两台摄像机。因此,如果要通过摄像机视觉系统重建三维环境,核心是要解决多幅图像的配准问题。
图像配准方法在业界已有较为丰富的研究,可以采用SIFT算子等方法提取出特征点,再利用外极线约束剔除局外点,最后利用互相关匹配公式进行对应点计算。
外极线约束可以描述如下。
如图3,摄像机光心分别为Oc1和Oc2,空间一点P在两个成像平面的投影分别为p1和p2。摄像机Oc1和Oc2的成像平面分别记为Π1和Π2。平面Π1与平面Π的交线记作l1,平面Π2与平面Π的交线记作l2。连接两摄像机光心,与平面Π1和平面Π2分别相交于两点,记作e1和e2。由几何关系可知,p1与e1在直线l1上,且p2与e2在直线l2上。因此可以得知:像点p1在另一幅图像中的对应像点p2一定在一条直线(l2)上,该约束条件又被称为外极线约束。
互相关匹配方法具体如下:
给定参考区域(模板)R以及待匹配图像I,区域匹配的目的是从I中寻找一个点(i,j),使得以该点为中心的区域与模板R之间的归一化互相关度量最大,其中归一化互相关度量定义如下:
其中,NCC(I,j)表示以图像中以坐标(I,j)为中心的邻域与模板R之间的互相关度量。E(R)表示模板R的期望值(灰度平均值),E(I)表示以(I,j)为中心的邻域内的灰度平均值,I(I,j)表示像素(I,j)的灰度值。E表示数学期望。使用该归一化互相关度量,能够满足在特殊环境例如自动驾驶算法的正确性与性能进行验证的需要。这是本发明的创新点之一。
场景融合是将自定义的虚拟场景与前述获得的真实场景相融合的过程。该部分可以细分为如下步骤。
i)初始化融合引擎。融合引擎包括虚拟场景管理、真实场景管理和融合计算三个模块,是将虚拟场景生成引擎生成的虚拟图像叠加到真实图像的应用软件。虚拟场景管理模块的主要作用是生成虚拟摄像机和虚拟目标物,如第ii步所述;真实场景管理模块的主要作用如步骤2)所述,主要是用来重建真实场景,并对场景中的目标物作标注;融合计算模块的作用是综合虚拟场景管理模块与真实场景管理模块的输出,根据真实物体与虚拟物体之间的相对坐标、视角遮挡情况等约束,渲染生成融合场景。融合引擎还提供了实时获取目标物参数的接口。
ii)根据步骤1)的标定结果,设定虚拟摄像机的参数。根据来自步骤2的设定数据,初始化虚拟场景中需要设置的目标物,包括目标物的种类、数量、纹理,初始时刻t1的运动特征。运动特征包括目标物的坐标、朝向、运动方式等。初始化时刻t=t1。
iii)建立t时刻的虚拟场景环境,包括虚拟目标物和它们的特征。
iv)重建t时刻的真实场景环境,通过步骤2)的方法获得真实目标物和特征。
v)根据iii和iv的结果,生成t时刻的融合场景。虚拟目标物是融合引擎生成的,真实目标物是通过计算机视觉方法从真实图像中提取出来的,但描述它们所用到的特征是一致的,而且必须一致,这样才能置于同样的融合场景中,这是本发明的创新点之一。
vi)根据需要,生成融合场景的渲染图像(步骤2中的在线展示模式用到)。
vii)如果已是最后时刻,则退出。否则,更新虚拟场景的设定数据,设置时刻t=t2并返回iii。
这里的虚拟场景可以定义为包括以下几个方面:
场景设定:包括地图描述,这里的地图描述可以包括地库道路,停车位,车道线、车位线、障碍物、地库路牌标识等;
事件:在某条件(例如达到的时间,达到的地点)下进行某动作(例如生成障碍物,移动障碍物)。例如第5秒在十字路口出现一个行人;
任务:由多个条件组成,条件可对应不同分数,如:自车通过十字路口的耗时,不同耗时对应不同分数。
实施例2
一种基于增强现实融合场景的仿真结果批量验证方法,其主要用途在于以更高的效率,批量地生成仿真融合场景,并用于验证以仿真融合场景为基础的自动化决策算法。包含如下步骤。
b.1)对于某自动化决策算法A,准备若干虚拟场景,并确定虚拟场景预设定数据,这些预设定数据是生成虚拟场景所需要的一些必要参数。例如场景的类型(城市、乡村、山路等),建筑物的类型、尺寸、坐标,道路的数量、坐标等。
b.2)将虚拟场景预设定数据批量保存到验证服务器。
b.3)所有场景准备完毕,在验证服务器上开启批量验证。服务器对每一个虚拟场景,依次执行下列任务:
b.3.1)调用步骤1的场景融合方法,生成融合场景;
b.3.2)将场景融合的结果传递给自动化决策算法;
b.3.3)自动化决策算法生成决策结果。
b.4)服务器评价决策结果,并根据所有的决策结果综合生成评价报告
上述的自动化决策算法,从原理上可以理解为根据某种条件做出相应判断的方法,数学上相当于一个分类器。具体的分类器有很多种,比如朴素贝叶斯分类器、支持向量机分类器、神经网络分类器等。
这里给出一个形式上最简单的、朴素贝叶斯分类器(bayes classifier)及相关算法:
已知A和B是两个事件,则概率公式:
表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生情况下事件A的条件概率。根据条件概率的定义,定义贝叶斯公式如下:
贝叶斯公式描述了事件B发生情况下事件A的条件概率与事件A发生情况下事件B的条件概率之间的关系。上式中,P(A)被称为事件A的先验概率,P(A|B)称为A的后验概率。贝叶斯公式是朴素贝叶斯算法的基础。
设样本空间的维数为n,即样本X={x1,x2,…,xn};待分类的类别数为m,记作C1,C2,…Cm。若给定一个类别未知的样本X,采用朴素贝叶斯法(Naive Bayes)的分类决策函数定义为:
f(X)=argcmaxP(c|X),c∈{C1,C2,...,Cm} (3)
根据贝叶斯定理,可得:
对于给定的训练样本集,P(X)为常数,因此,求取式(4)的值仅需最大化分子P(X|c)P(c)即可。通常,每一类的先验概率P(Ci)=si/s,si为Ci类样本的个数,s为训练样本的总数。由于样本X是n维向量,直接计算P(X|c)的开销可能非常大,因此,可以作样本属性值之间相互独立的假设,即:
其中,P(xk|Ci)为每个样本属性值的后验概率,容易从训练样本估值。
若xk是离散值属性,可以通过计数来确定概率P(xk|Ci)的值,计算方法为
sik表示Ci类样本集中第k个属性值为xk的样本的个数,si为Ci类中训练样本的个数。
若xk是连续值属性,可以假定该属性满足某种概率分布。以高斯分布为例,概率P(xk|Ci)可以写为:
上式(6)中,G(xk,μi,σi)为类Ci样本集满足的高斯分布函数,其中μi与σi分别为高斯分布的均值和标准差。
得知每一类的先验概率P(Ci)和样本的后验概率P(X|Ci),即可对未知样本X按照式(4)进行分类。样本X被分到Ci类中,当且仅当:
由于P(X)为常数,则上式可进一步简化为:
P(X|Ci)P(Ci)>P(X|Cj)P(Cj),i,j∈{1,2,...,m},i≠j (8)
上式(8)中,P(X|Ci)又被称为给定Ci时数据X的似然度(likelihood)。