虚拟成像方法、装置、非易失性存储介质和计算机设备与流程

文档序号:32337728发布日期:2022-11-26 08:37阅读:46来源:国知局
虚拟成像方法、装置、非易失性存储介质和计算机设备与流程

1.本发明涉及汽车设计和制造领域,具体而言,涉及一种虚拟成像方法、装置、非易失性存储介质和计算机设备。


背景技术:

2.车载摄像头是实现智能车辆的众多高级驾驶辅助系统功能的基础,例如车辆预警、场景识别等。在众多的高级驾驶辅助系统功能中,视觉影像处理系统较为基础,而摄像头是视觉影像处理系统的输入,因此智能驾驶必备车载摄像头。车载摄像头主要包括前视摄像头,后视摄像头,侧视摄像头和环视摄像头等。
3.在视觉算法开发过程中,经常需要在拼接缝处放置立体物体对算法进行评估或者对成像效果评估;而放置立体物体,使用车载摄像头对立体物体进行拍摄并采集数据经常是繁琐且耗时耗力的。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种虚拟成像方法、装置、非易失性存储介质和计算机设备,以至少解决相关技术中获取车辆周围物体的真实图像的过程复杂繁琐的技术问题。
6.根据本发明实施例的一个方面,提供了一种虚拟成像方法,包括:确定虚拟相机在世界坐标系中的第一位姿参数;根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
7.可选地,根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,包括:根据第一位置坐标和第二位置坐标,确定虚拟相机的相机焦距,其中,第一位姿参数包括第一位置坐标;根据相机焦距以及第一位姿参数,确定虚拟相机对虚拟物体进行成像时的投影平面;将虚拟物体投影到投影平面中,得到第一虚拟图像。
8.可选地,将虚拟物体成像到投影平面中,得到第一虚拟图像,包括:获取虚拟相机的第一相机内参;根据第一位姿参数和第二位置坐标,确定虚拟相机对应的第一相机外参;根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像。
9.可选地,根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像,包括:获取虚拟物体的点云;根据第一相机内参和第一相机外参,生成第一图像矩阵,其中,第一图像矩阵为第一内参矩阵和第一外参矩阵的乘积,第一内参矩阵用于描述第一相机内参,第一外参矩阵用于描述第一相机外参;根据第一图像矩阵,将点云投影到投影平面中,得到第一虚拟图像。
10.可选地,根据第一位姿参数生成虚拟物体,包括:获取虚拟相机的视场角度;根据第一位姿参数和视场角度,确定成像区域范围;在成像区域范围内,生成虚拟物体。
11.可选地,上述中任意一项虚拟成像方法,还包括:确定真实相机的第二位姿参数和
第二相机内参,其中,虚拟物体位于真实相机和虚拟相机各自成像区域范围的重叠区域内;根据第二位姿参数和第一位姿参数,确定真实相机对应的第二相机外参;根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
12.可选地,根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像,包括:根据第二相机内参和第二相机外参,生成第二图像矩阵,其中,第二图像矩阵为第二内参矩阵和第二外参矩阵的乘积,第二内参矩阵用于描述第二相机内参,第二外参矩阵用于描述第二相机外参;根据第二图像矩阵,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
13.根据本发明实施例的另一方面,还提供了一种虚拟成像装置,包括:确定模块,用于确定虚拟相机在世界坐标系中的第一位姿参数;生成模块,用于根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;成像模块,用于根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
14.根据本发明实施例的又一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述中任意一项虚拟成像方法。
15.根据本发明实施例的再一方面,还提供了一种计算机设备,计算机设备包括处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项虚拟成像方法。
16.在本发明实施例中,通过确定虚拟相机在世界坐标系中的第一位姿参数;根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,达到了无需使用真实车载摄像头对物体进行拍照即可生成一张图像的目的,从而实现了减少得到物体的点与图片的像素点的对应关系的复杂程度的技术效果,进而解决了相关技术中获取车辆周围物体的真实图像的过程复杂繁琐的技术问题。
附图说明
17.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
18.图1示出了一种用于实现虚拟成像方法的计算机终端的硬件结构框图;
19.图2是根据本发明实施例提供的一种虚拟成像方法的流程示意图;
20.图3是根据本发明可选实施例提供的虚拟物体的坐标变换的示意图;
21.图4是根据本发明实施例提供的一种虚拟成像装置的示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
23.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.根据本发明实施例,提供了一种虚拟成像的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
25.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现虚拟成像方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
26.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
27.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的虚拟成像方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的虚拟成像方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
28.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10的用户界面进行交互。
29.图2是根据本发明实施例提供的虚拟成像方法的流程示意图,如图2所示,该方法包括如下步骤:
30.步骤s202,确定虚拟相机在世界坐标系中的第一位姿参数。
31.在对虚拟物体进行虚拟成像的过程中,为了方便描述虚拟物体表面上的点和成像
后得到的图像中的像素点的对应关系,可以分别建立包括虚拟物体的世界坐标系、针对虚拟相机建立相机坐标系、对成像后得到的图片建立图像坐标系和像素坐标系,其中,世界坐标系是为了方便对虚拟物体的位置描述而对虚拟物体所在的空间建立的坐标系,当使用虚拟相机对虚拟物体进行成像时,可以确定虚拟相机在世界坐标系中所处的位置,还可以确认虚拟相机的摆放姿态,总体而言,可以确定虚拟相机在世界坐标系中的第一位姿参数,第一位姿参数包括虚拟相机在世界坐标系中所处的位置和摆放姿态。其中,虚拟相机的摆放姿态可以描述虚拟相机的镜头朝向,可以决定虚拟相机的成像范围,进而决定最终的成像结果。
32.步骤s204,根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内。
33.本步骤中,在生成虚拟相机之后,根据虚拟相机的位置和镜头朝向,得到虚拟相机的成像范围,进而可以在虚拟相机的成像范围内生成虚拟物体。虚拟物体的形状没有限制和要求,为了方便成像,生成虚拟物体时可以将虚拟物体设置为正方体、长方体或圆柱体。
34.步骤s206,根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
35.本步骤中,第一位姿参数可以描述虚拟相机的位置和镜头朝向,第二位置坐标可以描述虚拟物体的位置,根据第一位姿参数和第二位置坐标就可以唯一确定虚拟相机和虚拟物体的空间位置关系,进而使用虚拟相机对虚拟物体成像,就可以得到第一虚拟图像。需要说明的是,虚拟相机对虚拟物体的成像具体为根据算法进行计算,得到一张虚拟相机对虚拟物体成像后的照片,具体地,根据算法可以对相机对物体的成像实现仿真和模拟,得到一张模拟相机对物体成像的照片,这个过程可以描述为使用虚拟相机对虚拟物体进行成像,而不是采用物理意义上的成像过程和动作。
36.通过上述步骤,可以实现减少得到物体的点与图片的像素点的对应关系的复杂程度的技术效果,进而解决了相关技术中获取车辆周围物体的真实图像的过程复杂繁琐的技术问题。
37.作为一种可选的实施例,根据第一位姿参数生成虚拟物体的过程可以包括如下步骤:获取虚拟相机的视场角度;根据第一位姿参数和视场角度,确定成像区域范围;在成像区域范围内,生成虚拟物体。
38.本可选的实施例中,虚拟相机的视场角度可以描述虚拟相机的视野范围,具体的可以用一个角度数值来表示,进而根据相机的位置、镜头朝向和视野范围,可以确定在这个位置下相机能对世界坐标系中的哪一部分区域成像,则这个区域就是成像区域范围。在根据虚拟相机的第一位姿参数生成虚拟物体时,需要将虚拟物体生成在成像区域范围内,这样才可以实现使用虚拟相机对虚拟物体成像,这个成像区域范围在三维空间中可以被描述为一个锥形的空间区域。
39.作为一种可选的实施例,根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,可以通过以下步骤实现:根据第一位置坐标和第二位置坐标,确定虚拟相机的相机焦距,其中,第一位姿参数包括第一位置坐标;根据相机焦距以及第一位姿参数,确定虚拟相机对虚拟物体进行成像时的投影平面;将虚拟物体投影到投影平面中,得到第一虚拟图像。
40.可选的,使用虚拟相机对虚拟物体成像的过程可以简化为将虚拟物体投影在确定的投影平面,对虚拟物体成像得到的图像即为虚拟物体在投影平面上的投影图像,所以本可选实施例的步骤可以实现将虚拟物体投影至确定的投影平面,以便后续获取投影平面上的图像作为虚拟相机对虚拟物体成像的图像。为了将虚拟物体投影至投影平面,首先要确定投影平面的位置。可选的,投影平面可以根据虚拟相机的焦距确定,当投影平面与虚拟相机的焦平面重合时,可以得到更清晰的图像,更有利于对图像进行后续的处理。因为虚拟相机对虚拟物体的成像是在模拟真实相机的成像过程,真实相机可以根据相机与物体的距离自动调整焦距,所以虚拟相机也可以根据相机与物体的距离自动调整焦距。需要说明的是,投影平面的位置也可以确定为位置上与焦平面接近的其他平面,将虚拟物体投影到这样的其他平面中也可以实现本技术的上述技术方案,但是投影及成像效果与上述优选实施例相比并不较优。本可选实施例中,虚拟相机的相机焦距可以根据虚拟物体和虚拟相机的位置关系确定,第一位置坐标描述了虚拟相机的位置,第二位置坐标描述了虚拟物体的位置,所以根据第一位置坐标和第二位置坐标可以确定虚拟相机的焦距,进而确定投影平面的位置。第一位姿参数可以描述虚拟相机的位置和镜头朝向,其中,第一位置坐标可以描述虚拟相机的位置,第一位姿参数包括第一位置坐标。
41.作为一种可选的实施例,将虚拟物体成像到投影平面中,得到第一虚拟图像,可以通过以下步骤实现:获取虚拟相机的第一相机内参;根据第一位姿参数和第二位置坐标,确定虚拟相机对应的第一相机外参;根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像。
42.可选的,虚拟相机对虚拟物体的成像具体为根据算法进行计算,得到一张虚拟相机对虚拟物体成像后的照片,也就是说,将虚拟物体投影至投影平面中并得到投影图像作为第一虚拟图像的过程也可以根据算法进行计算。本可选实施例中说明了算法层面上实现将虚拟物体投影至投影平面中并得到投影图像作为第一虚拟图像的步骤,具体的,可以获取第一相机内参和第一相机外参,根据这两个参数,算法可以实现将虚拟物体投影至投影平面中。其中,第一相机内参包括虚拟相机的焦距和图像坐标系或像素坐标系中一个像素在相机反光板上的物理长度,图像坐标系和像素坐标系是在成像过程中,为了方便描述图像的像素点对图片建立的坐标系,图像坐标系和像素坐标系的区别是两张坐标系在图像上选择的坐标原点不同。
43.作为一种可选的实施例,根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像,可以通过以下步骤实现:获取虚拟物体的点云;根据第一相机内参和第一相机外参,生成第一图像矩阵,其中,第一图像矩阵为第一内参矩阵和第一外参矩阵的乘积,第一内参矩阵用于描述第一相机内参,第一外参矩阵用于描述第一相机外参;根据第一图像矩阵,将点云投影到投影平面中,得到第一虚拟图像。
44.可选的,将虚拟物体投影至投影平面中并得到投影图像作为第一虚拟图像的过程是根据算法进行计算,本可选实施例中具体说明了算法层面上的计算方法,具体的,可以先获取虚拟物体表面的点的集合,即点云,再将第一相机内参和第一相机外参生成对应的矩阵,可以将第一相机内参矩阵左乘第一相机外参矩阵得到第一图像矩阵,将第一图像矩阵左乘虚拟物体的点云可以得到位于同一个平面上的点的集合,这个平面就是投影平面,得到的点的集合就是第一虚拟图像中的像素点的集合。
45.上述实施例中,可以用如下公式表示坐标系之间的关系:
[0046][0047]
相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。其中,表示一个点在世界坐标系中的坐标,表示该点在像素坐标系中的坐标,像素坐标系即为对第一虚拟图像所建立的坐标系,且坐标系的原点位于第一虚拟图像的中心。k[r|t]中,k表示相机内参,[r|t]表示相机外参,r表示旋转矩阵,t表示平移向量;f表示相机焦距,dx,dy分别表示在x,y方向上的一个像素在相机反光板上的物理长度。u0和v0表示相机感光板中心在像素坐标系下的坐标。
[0048]
作为一种可选的实施例,上述中任意实施例中叙及的虚拟成像方法还可以包括以下步骤:确定真实相机的第二位姿参数和第二相机内参,其中,虚拟物体位于真实相机和虚拟相机各自成像区域范围的重叠区域内;根据第二位姿参数和第一位姿参数,确定真实相机对应的第二相机外参;根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0049]
需要说明的是,真实相机可以是位于车辆上的物理相机,真实相机通过拍摄车辆周围区域的照片或者视频来为车辆的辅助驾驶系统提供图像支持。相关技术中,为了获取真实相机对车辆周围物体的成像效果或者车辆上多摄像头之前的图像交叠关系,往往需要采用实际拍摄的方式采集到物体的图像,然后进行图像分析,这样的处理方式费时费力,难以高效地达到目的。因此,本技术上述可选实施例中提出在采用虚拟相机对车辆周围的虚拟物体进行成像的基础上,基于真实相机与虚拟相机的位姿差异,将虚拟相机所成的第一虚拟图像转换为真实相机拍摄虚拟物体才能得到的第二虚拟图像,进而实现了在不采用真实相机进行实际拍摄的情况下,就能得到车辆上的真实相机对车辆周围的物体的成像结果的技术目的,大大提高了获取车辆上真实相机的成像图像的效率。
[0050]
可选的,本实施例中可以根据上述实施例中的虚拟相机对虚拟物体拍照,模拟真实相机对虚拟物体拍照并得到对应的图像。具体的,上述实施例中已经使用虚拟相机对虚拟物体进行成像并得到了对应的第一虚拟图像,由于当真实相机和虚拟相机的位姿关系和相机内参比较接近时,虚拟相机可以较为准确地模拟真实相机对虚拟物体拍照并得到对应的图像,所以可以确定上述实施例中的虚拟相机能够模拟的真实相机的第二位姿参数和第二相机内参,根据虚拟相机和真实相机的位置可以确定真实相机对应的第二相机外参,根据这两个相机参数,算法可以模拟真实相机对第一虚拟图像成像,得到真实相机对虚拟物体的成像图像即第二虚拟图像。
[0051]
作为一种可选的实施例,根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像,可以通过以下步骤实现:根据第二相机内参和第二相机外参,生成第二图像矩阵,其中,第二图像矩阵为第二内参矩阵和第二外参矩阵的乘积,第二内参矩阵用于描述第二相机内参,第二外参矩阵用于描述第二相机外参;根据第二图
像矩阵,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0052]
本可选的实施例中,根据第二相机内参和第二相机外参生成第二图像矩阵并依据该第二图像矩阵进行成像,可以认为相当于将第一虚拟图像作为平面的物体投影到真实相机的投影平面中,然后采用真实相机对其自身的投影平面中的图像进行成像的过程。具体的,根据第二相机内参和第二相机外参生成对应的矩阵,可以将第二相机内参矩阵左乘第二相机外参矩阵得到第二图像矩阵。将第二图像矩阵左乘第一虚拟图像的点集,可以得到位于同一个平面上的点的集合,得到的点的集合就是第二虚拟图像中的像素点的集合,第二虚拟图像就是真实相机对虚拟物体的成像图像。
[0053]
作为本发明一种可选的实施例,虚拟相机可以模拟位于车辆上的一个真实相机的成像。具体步骤可以为:获取真实相机的第二位姿参数和第二相机内参,第二位姿参数包括真实相机的物理位置和镜头朝向;根据第二位姿参数和第二相机内参,可以确定用于模拟真实相机的虚拟相机的第一位姿参数和第一相机内参,优选的,第一位姿参数和第二位姿参数相同,第一相机内参和第二相机内参相同;根据第一位姿参数、第二位姿参数、第一相机内参和第二相机内参可以分别确定真实相机和虚拟相机的成像区域范围,在真实相机和虚拟相机的成像区域范围内的重叠范围内生成虚拟物体,优选的,当虚拟相机和真实相机的参数相同时,它们的成像区域范围也相同,整个成像区域范围都是重叠范围;根据虚拟物体、虚拟相机和真实相机的位置关系建立坐标系:建立世界坐标系、对相机建立相机坐标系、对图片建立图像坐标系和像素坐标系,将虚拟物体的点对应值像素坐标系的点即为完成对虚拟物体的成像过程的模拟。
[0054]
可选的,将虚拟物体的点对应至像素坐标系的点的具体步骤可以为:先获取虚拟物体的点在世界坐标系的具体坐标;将在世界坐标系的点通过刚体变换后可以变为相机坐标系的点;再将相机坐标系的点通过透视投影变为图像坐标系的像素点,最后经过一个简单的坐标变换可以得到像素坐标系下的像素点。需要说明的是,由于像素坐标系和图像坐标系的区别仅在于对同一张图像而言两个坐标系建立的坐标原点不同,所以认为当物体在世界坐标系的点对应至图像坐标系的像素点时,成像过程已经完成,并不重点说明像素点还要从图像坐标系转换至像素坐标系。可选的,将虚拟物体在世界坐标系的点通过刚体变换后可以变为相机坐标系的点,具体算法为将虚拟物体的点进行刚体变换即仅仅进行平移和旋转的变换后,转换了坐标系,没有改变物体的形状。
[0055]
图3是根据本发明可选实施例提供的虚拟物体的坐标变换的示意图,如图3所示,xyz为世界坐标系,xcyczc为相机坐标系,x'o'y'为图像坐标系,图像坐标系所在的平面为投影平面,图中的虚拟物体为一个平面上的正方形,投影至投影平面上得到一个平行四边形,在投影平面上得到的图像即为第一虚拟图像,根据真实相机和虚拟相机的位姿差异,可以调整第一虚拟图像得到第二虚拟图像,即真实相机对虚拟物体的成像结果,当虚拟物体为三维立体图形时,投影至投影平面也得到一个平面图形,后续步骤是一致的。
[0056]
图3中,xcyczc为相机坐标系,定义为左手坐标系;x'o'y'为投影平面。xyz为世界坐标系,定义为右手坐标系。xoy为虚拟物体所在的平面。根据中心透视投影的性质,p点、p点在投影平面上的像p'以及oc在一条直线上。进一步的,
[0057]
透视投影坐标变换如公式(2)所示:
[0058]
[x
c y
c z
c 1]=[x y z 1]t
[0059]
其中,t可以为如下公式
[0060][0061]
其中,d表示虚拟相机到虚拟物体的距离。
[0062]
上述的步骤可以使用算法在计算机中计算完成,世界坐标系下的点转换至投影平面上的像素点,计算方法为:第一相机内参生成第一相机内参矩阵,第一相机外参生成第一相机外参矩阵,第一相机外参为虚拟相机和虚拟物体的相对位置;世界坐标系下的点先左乘第一相机外参矩阵后,再左乘第一相机内参矩阵,得到的点的坐标即为投影平面的像素点,这些像素点的集合即为第一虚拟图像。根据真实相机和虚拟相机的位姿差异调整第一虚拟图像得到第二虚拟图像,计算方法为:第二相机内参生成第二相机矩阵,第二相机外参生成第二相机外参矩阵,第二相机外参为虚拟相机和真实相机的相对位置;第一虚拟图像的像素点先左乘第二相机外参矩阵后,再左乘第二相机内参矩阵,得到的点的坐标即为第二虚拟图像的像素点。需要注意的是,当真实相机和虚拟相机没有位姿差异时,可以不用对第一虚拟图像进行调整,第一虚拟图像是真实相机对虚拟物体的成像结果。
[0063]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0064]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的虚拟成像方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0065]
根据本发明实施例,还提供了一种用于实施上述虚拟成像方法的装置,图4是根据本发明实施例提供的虚拟成像装置的结构框图,如图4所示,该虚拟成像装置包括:确定模块42,生成模块44和成像模块46,下面对该虚拟成像装置进行说明。
[0066]
确定模块42,用于确定虚拟相机在世界坐标系中的第一位姿参数。
[0067]
生成模块44,与确定模块42连接,用于根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内。
[0068]
成像模块46,与生产模块44连接,用于根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
[0069]
此处需要说明的是,上述确定模块42,生成模块44和成像模块46对应于实施例中的步骤s202至步骤s206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中。
[0070]
本发明的实施例可以提供一种计算机设备,可选地,在本实施例中,上述计算机设
备可以位于计算机网络的多个网络设备中的至少一个网络设备。该计算机设备包括存储器和处理器。
[0071]
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的虚拟成像方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟成像方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0072]
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定虚拟相机在世界坐标系中的第一位姿参数;根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
[0073]
可选的,上述处理器还可以执行如下步骤的程序代码:根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,包括:根据第一位置坐标和第二位置坐标,确定虚拟相机的相机焦距,其中,第一位姿参数包括第一位置坐标;根据相机焦距以及第一位姿参数,确定虚拟相机对虚拟物体进行成像时的投影平面;将虚拟物体投影到投影平面中,得到第一虚拟图像。
[0074]
可选的,上述处理器还可以执行如下步骤的程序代码:将虚拟物体成像到投影平面中,得到第一虚拟图像,包括:获取虚拟相机的第一相机内参;根据第一位姿参数和第二位置坐标,确定虚拟相机对应的第一相机外参;根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像。
[0075]
可选的,上述处理器还可以执行如下步骤的程序代码:根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像,包括:获取虚拟物体的点云;根据第一相机内参和第一相机外参,生成第一图像矩阵,其中,第一图像矩阵为第一内参矩阵和第一外参矩阵的乘积,第一内参矩阵用于描述第一相机内参,第一外参矩阵用于描述第一相机外参;根据第一图像矩阵,将点云投影到投影平面中,得到第一虚拟图像。
[0076]
可选的,上述处理器还可以执行如下步骤的程序代码:根据第一位姿参数生成虚拟物体,包括:获取虚拟相机的视场角度;根据第一位姿参数和视场角度,确定成像区域范围;在成像区域范围内,生成虚拟物体。
[0077]
可选的,上述处理器还可以执行如下步骤的程序代码:上述中任意一项虚拟成像方法,还包括:确定真实相机的第二位姿参数和第二相机内参,其中,虚拟物体位于真实相机和虚拟相机各自成像区域范围的重叠区域内;根据第二位姿参数和第一位姿参数,确定真实相机对应的第二相机外参;根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0078]
可选的,上述处理器还可以执行如下步骤的程序代码:根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像,包括:根据第二相机内参和第二相机外参,生成第二图像矩阵,其中,第二图像矩阵为第二内参矩阵和第二外参矩
阵的乘积,第二内参矩阵用于描述第二相机内参,第二外参矩阵用于描述第二相机外参;根据第二图像矩阵,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0079]
采用本发明实施例,提供了一种虚拟成像的方案。通过确定虚拟相机在世界坐标系中的第一位姿参数;根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,达到了无需使用真实车载摄像头对物体进行拍照即可生成一张图像的目的,从而实现了减少得到物体的点与图片的像素点的对应关系的复杂程度的技术效果,进而解决了由于使用真实车载摄像头对物体拍照造成的得到物体的点与图片像素点的对应关系的过程过于复杂的技术问题。
[0080]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0081]
本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的虚拟成像方法所执行的程序代码。
[0082]
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
[0083]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定虚拟相机在世界坐标系中的第一位姿参数;根据第一位姿参数生成虚拟物体,其中,虚拟物体对应于世界坐标系中的第二位置坐标,第二位置坐标位于虚拟相机的成像范围内;根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像。
[0084]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:根据第一位姿参数和第二位置坐标,使用虚拟相机对虚拟物体进行成像,得到第一虚拟图像,包括:根据第一位置坐标和第二位置坐标,确定虚拟相机的相机焦距,其中,第一位姿参数包括第一位置坐标;根据相机焦距以及第一位姿参数,确定虚拟相机对虚拟物体进行成像时的投影平面;将虚拟物体投影到投影平面中,得到第一虚拟图像。
[0085]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:将虚拟物体成像到投影平面中,得到第一虚拟图像,包括:获取虚拟相机的第一相机内参;根据第一位姿参数和第二位置坐标,确定虚拟相机对应的第一相机外参;根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像。
[0086]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:根据第一相机内参和第一相机外参,将虚拟物体投影到投影平面中,得到第一虚拟图像,包括:获取虚拟物体的点云;根据第一相机内参和第一相机外参,生成第一图像矩阵,其中,第一图像矩阵为第一内参矩阵和第一外参矩阵的乘积,第一内参矩阵用于描述第一相机内参,第一外参矩阵用于描述第一相机外参;根据第一图像矩阵,将点云投影到投影平面中,得到第一虚拟图像。
[0087]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:根据第一位姿参数生成虚拟物体,包括:获取虚拟相机的视场角度;根据第一位姿
参数和视场角度,确定成像区域范围;在成像区域范围内,生成虚拟物体。
[0088]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:上述中任意一项虚拟成像方法,还包括:确定真实相机的第二位姿参数和第二相机内参,其中,虚拟物体位于真实相机和虚拟相机各自成像区域范围的重叠区域内;根据第二位姿参数和第一位姿参数,确定真实相机对应的第二相机外参;根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0089]
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:根据第二相机内参和第二相机外参,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像,包括:根据第二相机内参和第二相机外参,生成第二图像矩阵,其中,第二图像矩阵为第二内参矩阵和第二外参矩阵的乘积,第二内参矩阵用于描述第二相机内参,第二外参矩阵用于描述第二相机外参;根据第二图像矩阵,模拟真实相机对第一虚拟图像成像,得到第二虚拟图像。
[0090]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0091]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0092]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0093]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0094]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0095]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0096]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1