CN113490879A - 使用实时光线跟踪以用于透镜重新映射 - Google Patents
使用实时光线跟踪以用于透镜重新映射 Download PDFInfo
- Publication number
- CN113490879A CN113490879A CN202080016503.1A CN202080016503A CN113490879A CN 113490879 A CN113490879 A CN 113490879A CN 202080016503 A CN202080016503 A CN 202080016503A CN 113490879 A CN113490879 A CN 113490879A
- Authority
- CN
- China
- Prior art keywords
- lens
- model
- image
- ray
- cameras
- 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
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000005266 casting Methods 0.000 claims 4
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 238000002156 mixing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241001124569 Lycaenidae Species 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R11/00—Arrangements for holding or mounting articles, not otherwise provided for
- B60R11/04—Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B13/00—Optical objectives specially designed for the purposes specified below
- G02B13/06—Panoramic objectives; So-called "sky lenses" including panoramic objectives having reflecting surfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
Abstract
本发明提供了一种用于生成环绕视图(SV)图像以用于在SV处理系统的视图端口中显示的方法,该方法包括:由至少一个处理器从多个相机中的每个相机捕获(800)视频流的对应图像;以及由至少一个处理器使用光线跟踪以进行透镜重新映射来生成(802)SV图像,以识别与SV图像中的像素相对应的图像中的像素的坐标。
Description
背景技术
汽车环绕视图(SV)相机系统是高级驾驶员辅助系统(ADAS)市场空间中的新兴技术。虽然汽车SV相机系统最初用于通过向驾驶员展示车辆(vehicle)环绕360度的自上而下视图来辅助车辆的驾驶员安全地停放车辆,但其现在越来越多地被部署为自主驾驶和自主停车的一部分。汽车SV相机系统可以包括安装在车辆周围的四个或更多个广角(鱼眼透镜)相机,每个相机面向不同方向。根据这些相机输入,合成车辆周围环境的复合视图。
一些三维(3D)SV相机系统使用由图形处理单元(GPU)支持的栅格(raster)处理来渲染车辆周围的3D场景的视图。随着环绕视图实施方式的复杂性由于对特征(诸如自适应深度、分屏视图和真实感反射)的需求而增加,期望指数缩放的GPU资源来实现期望的性能。
发明内容
一些实施例涉及用于使用实时光线跟踪来进行透镜重新映射的方法和系统。在一个方面,提供了一种用于生成环绕视图(SV)图像以用于在SV处理系统的视图端口中显示的方法,该方法包括:由至少一个处理器从多个相机中的每个相机捕获视频流的对应图像;以及由至少一个处理器使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与SV图像中的像素相对应的图像中的像素的坐标。
在一个方面,提供了一种环绕视图(SV)处理系统,其包括:多个相机;显示设备;至少一个处理器,其耦接到多个相机和显示设备;以及非暂时性计算机可读存储介质,其存储供至少一个处理器执行的程序,该程序包括用于以下的指令:从多个相机中的每个相机捕获视频流的对应图像;以及使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与SV图像中的像素相对应的图像中的像素的坐标。
在一个方面,提供了一种用于透镜重新映射以确定视图端口中的像素的值的方法,该方法包括:由至少一个处理器将第一光线从视点通过视图端口中的像素的位置投射到场景的模型中;由至少一个处理器将第二光线从模型中的第一光线的相交点投射到透镜模型的中心,该透镜模型在对应于透镜模型的透镜的视场中具有相交点;以及由至少一个处理器基于第二光线的透镜模型上的相交点来确定像素的值。
在一个方面,提供了一种包括环绕视图(SV)处理系统的车辆。SV处理系统包括:安装在车辆上的多个相机,其中相邻相机具有重叠的视场;显示设备;能够进行光线跟踪的图形处理单元(GPU);至少一个处理器,其耦接到多个相机、显示设备和GPU;以及非暂时性计算机可读介质,其存储供至少一个处理器和GPU执行的程序,该程序包括用于以下的指令:从多个相机中的每个相机捕获视频流的对应图像;以及使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与SV图像中的像素相对应的图像中的像素的坐标,其中GPU使用与多个相机中的相应相机相对应的半球透镜模型来执行光线跟踪;以及处理器,其耦接到存储器以执行软件指令。
在一个方面,提供了一种用于生成环绕视图(SV)图像以用于在车辆中包括的SV处理系统的视图端口中显示的方法,该方法包括:从安装在车辆上的多个相机中的每个相机捕获视频流的对应图像,其中相邻相机具有重叠的视场;以及使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与SV图像中的像素相对应的图像中的像素的坐标,其中被包含在SV处理系统中的能够进行光线跟踪的图形处理单元(GPU)使用与多个相机中的相应相机相对应的半球透镜模型来执行光线跟踪。
附图说明
图1是示出用于三维(3D)环绕视图(SV)图像的栅格处理的模型的示例;
图2是包括3D汽车SV相机系统的示例车辆200的自上而下视图;
图3是被包括在图2的车辆中的汽车SV相机系统的实施例的框图;
图4描绘了图2的车辆周围的四个校准图表的示例布置;
图5是由图3的汽车SV相机系统实施的校准过程的框图;
图6是示出半球透镜模型顶点到透镜坐标的映射的示例;
图7是用于确定半球透镜模型上的顶点的透镜坐标的方法的流程图;
图8是用于使用光线跟踪来生成SV图像的方法的流程图;
图9是用于使用光线跟踪来确定SV图像中的像素的值的方法的流程图;并且
图10是示出使用光线跟踪来确定像素的值的示例。
具体实施方式
参考附图详细描述了具体实施例。为了一致性,在各个图中,相似元素由相似附图标记表示。
在三维(3D)汽车环绕视图(SV)相机系统中,通过从安装在车辆周边的多个相机捕获视频流并将视频流“拼接”在一起来实现车辆的周围环境的3D环绕视图图像。具有宽视场的相机(例如,配备有鱼眼透镜)用于在由相邻相机捕获的视频中实现重叠。重叠提供高质量的拼接输出。
由图形处理单元(GPU)支持的栅格处理可以用于渲染车辆周围的3D场景的视图。在基于栅格处理的解决方案中,场景定义在3D世界坐标空间中并且场景中的对象使用3D顶点来定义。为了从期望的视点或眼睛位置生成3DSV图像,使用模型、视图和投影矩阵以将场景中的对象的每个3D顶点从世界空间变换到眼睛空间,并且将经变换顶点投影到屏幕空间。一旦处于屏幕空间,就执行栅格化以在顶点之间填充线/实体,并且对每个像素进行阴影化(shade)以确定每个像素值。
许多实施方式将相机图像渲染为表示车辆周围世界的3D网格。如图1所示,对于3DSV图像的栅格处理,生成表示车辆周围世界的碗状3D网格100。靠近车辆的世界区域位于碗的平坦表面(表示地面)上,并且远离车辆的区域(表示对象)位于碗的升高表面上。车辆102的3D模型被创建并覆盖在碗状网格104上。
为了使用GPU渲染来自四个相机的3D SV图像,从至少两个相机计算对应于碗状网格上的每个3D顶点的像素坐标。针对相机计算像素坐标包括将每个3D顶点投影到相机平面上以确定二维(2D)图像平面坐标,以及执行透镜重新映射以根据图像平面坐标确定相机传感器像素坐标。透镜重新映射使用由透镜制造商提供的查找表来将图像像素位置从未畸变的图像平面重新映射到实际的图像平面。对于完全自适应环绕视图,这些计算是针对每个输入图像的碗状网格的每个顶点执行的。这种处理对于基于栅格的GPU而言是限制因素,因为该处理可以对于每个顶点消耗若干GPU周期,并且碗状网格中的顶点的数量可以近似500,000或更多。此外,对于每个图像,可能需要对车辆模型的500,000个或更多个顶点进行变换。
一些实施例提供了在使用广角相机(诸如,例如3D汽车SV相机系统)来生成3D图像的应用中使用实时光线跟踪来进行透镜重新映射。光线跟踪的使用将基于栅格的处理中的计算开销最大的两个操作(将世界点投影到相机平面上和透镜重新映射)移出每个图像渲染循环。这些操作可以作为校准过程的一部分脱机执行一次,并且除非相机被改变或移动,否则结果是恒定的。另外,与针对诸如复杂汽车模型、多个视点、场景中的变化深度以及显示反射和阴影的用例的栅格处理相比,在3D SV系统中使用光线跟踪以用于透镜重新映射可以降低复杂性并提高性能。
图2是包括3D汽车SV相机系统的示例车辆200的自上而下视图。车辆200包括安装在车辆200上的不同点处的具有广角透镜的四个相机202、204、206、208,以及耦接到四个相机的SV处理系统(未具体示出)。每个相机被放置成具有至少180度视场(FOV)。SV处理系统包括硬件和软件以接收由相机202、204、206、208捕获的视频流并且处理视频流以生成3DSV图像。处理包括使用光线跟踪以进行透镜重新映射,从而确定要在3D SV图像中显示的像素的值。车辆200还包括位于车辆200内部的3D显示设备218,其耦接到SV处理系统以显示由SV处理系统产生的3D SV图像。
相机202安装在车辆200的前部上(例如,安装在格栅上),相机204和206安装在车辆200的相对侧上(例如,安装在侧视镜上),并且相机208安装在车辆200的后部上(例如,安装在行李箱门上)。相机202、204、206、208被定位成使得各自具有相应视场(FOV)角210、212、214、216,并且相邻相机对的FOV重叠到某种程度(例如,约90度)。
图3是被包括在图2的车辆200中的汽车SV相机系统300的实施例的框图。汽车SV相机系统300包括相机202-208、显示设备218以及耦接到相机和显示设备的SV处理系统302。SV处理系统302包括耦接到相机202-208和显示设备218并且耦接到存储器306的片上系统(SOC)304。例如,存储器306(例如,非暂时性计算机可读存储介质)可以是诸如随机存取存储器、只读存储器和/或闪速存储器的存储器技术的任何合适组合。存储器306存储要在SOC304的一个或多个处理器上执行的SV处理系统302的可执行软件指令。可执行软件指令包括实施用于使用光线来生成SV图像的方法的实施例的指令。在一些实施例中,软件指令包括实施本文描述的校准过程的实施例的指令。
SOC 304可以是适合于实时3D SV图像生成的任何SOC。SOC 304包括能够进行实时光线跟踪的光线跟踪加速器(RTA)310。RTA 310可以是例如能够光线跟踪的GPU或可编程处理器(例如,数字信号处理器),其能够以所需的性能执行光线跟踪软件。
在部署之前或在需要维护时,使用几何校准图表来校准汽车SV相机系统300以提供由多个相机202-208捕获的图像的适当整合。校准过程的一个输入是适用于进行光线跟踪以生成SV图像的世界模型。世界根据经验被模拟为3D网格并且可以是具有网格顶点的任何合适间距的任何合适形状。在一些实施例中,车辆200周围的世界由3D碗状网格(参见例如,图1)表示,其中靠近车辆200的区域位于碗状物的平坦区域上并且远离车辆200的区域位于碗状物的升高表面上。在以下假定的情况下定义网格的顶点,网格中心在0,0,0处,其中相邻点之间的距离在x和y方向上为一个单位。单位的大小是根据经验选择的。在某个根据经验确定的距离内,z的值保持为零,并使用线性函数以在边缘附近给予碗某个高度。线性函数是根据经验确定的。世界模型被存储为顶点表。
作为校准过程的一部分,车辆200的模型和相机202-208的透镜模型被合并到世界模型中。在一些实施例中,透镜模型是使用相应相机204-210的固有参数来生成的半球透镜模型,并且每个模型被表示为定义半球的一组顶点。半球的每个顶点由透镜模型空间中的x,y,x值以及对应于特定顶点的相机图像坐标u,v表示。下面将更详细地描述透镜模型的生成。车辆模型是3D模型,其表示为顶点连同属性(诸如车辆模型的法线或取向)的表格、用于向车辆模型添加颜色、纹理或其他表面细节的纹理图等。通过适当的相机配置,碗状网格上的每个位置可以被映射到车辆200上的一个相机或两个相邻相机。车辆的中心被放置在世界模型的位置0,0,0处,并且透镜模型基于相应外部参数被放置在世界空间中的对应x,y,z位置,如下所述。
在没有适当的校准和模型生成的情况下,由系统300产生的SV图像可能是不准确的。图4描绘了将由校准过程使用的图2的车辆200周围的四个校准图表402、404、406、408的示例布置。四个校准图表被定位成使得每个图表的图像可以由两个相邻相机同时捕获。例如,校准图表402的图像可以由相机202和相机204同时捕获,并且校准图表404的图像可以由相机202和相机206同时捕获。另外,校准图表408的图像可以由相机206和相机208同时捕获,并且校准图表406的图像可以由相机208和相机204同时捕获。
图5是由图3的SV相机系统300实施的校准过程的框图。校准过程的部件包括相机参数确定部件500、透镜模型放置部件502和输出生成部件504。执行特定部件500、502、504的位置取决于实施方式。在一些实施例中,在数字信号处理器上执行相机参数确定部件500,并且在通用处理器上执行透镜模型放置部件502和输出生成部件506。
存储器306存储在校准过程期间使用的预定平台相关参数,其包括校准图表402、404、406、408的大小、图表相对于彼此的位置等。在各种实施例中,其他平台相关参数的某个组合也可以存储在存储器306中,例如,相机的数量、透镜特定的固有参数、车辆模型、世界模型、透镜模型等。在校准过程期间,在显示设备216上显示包括来自四个相机202-208的视频流的校准屏幕。
相机参数确定部件500基于所显示的视频流中的校准图表来确定四个相机202-208中的每一者的外部参数。更具体地说,相机参数确定部件500确定每个相机的旋转矩阵和平移矩阵。任何合适的技术可以用于生成这些矩阵。一些合适技术的示例在2016年12月28日提交的美国专利申请公开号2018/0184078中描述,该专利申请通过引用以其整体并入本文。
透镜模型放置部件502使用相应相机204-210的外部参数(例如,相对于世界模型或车辆200的中心的位置和取向)将透镜模型放置在覆盖在世界模型上的车辆200的3D模型周围。为了将每个透镜模型转换到世界空间,将模型中的每个顶点乘以相应透镜的模型矩阵。
输出生成部件504执行在SV相机系统300的操作期间将各种模型转换为生成SV图像所需的格式需要的任何最终处理,并且将结果存储在存储器306中。
如前所述,在一些实施例中,相机202-208的透镜模型是半球透镜模型。使用相应相机202-208的固有参数来生成每个半球透镜模型。相机的固有参数对于每个相机是固定的并且由相机制造商提供。固有参数包括透镜焦距和透镜畸变模型。通常,为了生成透镜的半球透镜模型,将半球上的每个点的顶点投影到对应相机的图像平面上,并且使用由相机/透镜制造商提供的透镜畸变查找表将所投影的顶点分配给对应于相机图像的透镜坐标。所得的透镜模型是定义半球的一组顶点,其中半球的每个顶点由透镜模型空间中的x,y,x值以及对应于特定顶点的相机图像坐标u,v表示。
用于确定顶点的透镜坐标的计算是在局部透镜模型空间中执行的,其中原点位于图像平面的中心处。可以使用单位半球(r=1)。半球上的点的数目取决于诸如透镜的像素分辨率、目标显示设备(例如,显示设备218)的像素分辨率和内插准确度的因素。另外,半球上的点的数量应足够密集以不影响用于生成SV图像的输出质量。
图6是示出半球透镜模型顶点到透镜坐标的映射的示例。如图7中更详细地描述的,半球透镜模型表面600上的每个点或顶点(例如,P1和P2)通过以下来映射到透镜(图像)坐标:在数学上朝向透镜表面604(也称为传感器平面)投影每个顶点,以及确定与透镜表面的相交点的图像坐标x,y。该映射对应于当光线通过顶点朝向透镜的中心602投射时的光线与透镜模型表面604的相交。例如,光线R1朝向透镜表面604的中心602投射并在顶点P1处与模型表面600相交,并且光线R2朝向透镜表面604的中心602投射并在顶点P2处与模型表面600相交。光线箭头表示投射的方向,而不是实际的相交点。映射到相应顶点P1、P2的透镜(图像)坐标识别光线与透镜表面604相交的相应图像像素的位置。
图7是用于确定半球模型上的顶点的透镜坐标的方法的流程图。该方法可以用于确定相机202-208的半球透镜模型的每个顶点的透镜坐标。该方法可以在任何适当配置的计算机上执行。方法的输入是本文称为vIn的矢量[x,y,z,w],其中x,y,z是半球的表面上的顶点的坐标并且w=1.0。x,y,z坐标是相对于位于相机透镜中心的半球中心的,其中“向上”方向是从原点朝向传感器平面上的传感器的顶部。
最初,对顶点坐标vIn执行700投影变换以将顶点投影到传感器平面上。按照vOut=mP*vIn执行投影变换,其中mP是基于相机固有参数的投影矩阵。然后按照xu=vOut.x/vInz和yu=vOut.y/vInz计算702对应于所投影的顶点的未畸变传感器平面坐标xu和yu。
然后使用透镜畸变查找表来计算704对应于所投影的顶点的实际畸变传感器平面坐标xd和yd。在一些实施例中,查找表被定义为相机的法线与从沿着法线(称为透镜的焦距)的一点到径向距离(ru)的矢量之间的角度θu的函数,该径向距离是原点与未畸变图像平面坐标xu和yu之间的径向距离。查找操作的输出是原点和畸变域中的传感器上的对应点之间的径向距离(rd)。
首先,按照ru=length(xu,yu)计算从传感器的中心到xu,yu的未畸变域中的径向距离ru。然后按照θu=arctan(ru*fl)计算角度θu,其中fl是透镜的焦距。然后使用θu作为表中的索引从查找表确定rd的值。最后,按照xd=(rd/ru)*xu和yd=(rd/ru)*yu计算xd和yd。需注意,这些坐标是从图像中心的偏移量,而传感器的像素坐标的原点是左上角。实际坐标需要使用透镜分辨率和透镜的中心的坐标来计算。
图8是可以由图3的SV相机系统300执行的用于生成SV图像以用于在视图端口中显示的方法的流程图。该方法使用光线跟踪以用于透镜重新映射,作为生成要在显示设备218的视图端口(也称为输出窗口)中显示的SV图像的一部分。光线跟踪的使用实现了动态和自适应的环绕视图的实时性能,其中场景中的相机取向和位置可以改变或者场景本身可以改变。此外,与其中每个顶点需要针对每个视点变化进行处理的栅格处理不同,光线跟踪的使用消除了在场景变化时处理每个顶点的需要。
视图端口可以是整个显示屏218或其矩形子集。另外,视图端口可以是由显示设备218支持的任何分辨率。该方法假定如本文前面所述生成的世界模型数据存储在存储器306中以用于光线跟踪。该方法还假定为视图端口指定视点(也称为眼点)。可以例如由操作包括SV相机系统300的车辆的用户指定任何任意视点。
最初,SV处理系统302接收800由每个相机202-208捕获的每个视频流的对应图像。然后,SV处理系统302使用光线跟踪根据图像生成802SV图像,并且在显示设备218上的视图端口中显示804所得SV图像。光线跟踪用于确定要在视图端口中显示的SV图像的每个像素的值。换句话说,光线跟踪用于确定视图端口中的每个像素的值。图9是用于使用光线跟踪来确定视图端口中显示的像素的值的方法的流程图。对视图端口中的每个像素重复该方法。使用图10的示例来示出方法的部分。
最初,将光线从视点通过像素投射902到表示场景的世界模型中,并且计算相交点。如图10所示,光线1012、1016、1020和1024从视点1002通过视图端口1010的像素投射到世界模型1004中。
如果光线与车辆模型1006相交903,则基于与车辆模型的相交点来计算910像素值。可以使用任何合适的技术来确定相交点处的像素的值。例如,车辆模型中的相交点处的像素值可以用作SV图像的像素值。在另一个示例中,如图10所示,光线1012与车辆模型1006相交。光线1014从车辆模型上的相交点反射并且不与世界模型1004相交。反射的光线1014“终止”在世界模型1004之外并被假定击中天空。对应于天空颜色的颜色与来自车辆模型1006上的相交像素的像素颜色混合。如何确定天空颜色取决于实施方式。例如,天空颜色可以被假定为白天是蓝色和晚上是黑色。反射的光线也可以与世界模型1004相交。在这种情况下,光线可以从世界模型相交点朝向在透镜FOV中具有相交点的两个透镜模型的中心投射,并且透镜模型相交点处的像素值可以与车辆模型1006上的相交像素的像素值混合。
再次参考图9,如果光线与世界模型或场景中的对象相交904,则将光线从相交点朝向在透镜FOV中具有相交点的位于车辆模型周围的两个透镜模型的中心投射906。在图10的示例中,光线1016和光线1020都与世界模型1004相交。光线1018从光线1016的相交点朝向在透镜FOV中具有相交点的车辆模型1006上的两个透镜模型1008的中心投射。光线1022从光线1020的相交点朝向在透镜FOV中具有相交点的车辆模型1006上的两个透镜模型1008的中心投射。需注意,光线1018、1022是为了说明简单而用单线描绘的两个光线。
基于光线的(一个或多个)相交点计算908像素值。如前所述,由对应于透镜模型的相机捕获的图像中的像素的坐标与透镜模型的顶点相关联。如果光线直接与透镜模型中的顶点相交,则使用对应图像坐标(u,v)来获得像素值。如果光线在顶点之间穿过,则光线跟踪加速器310在最近顶点的u,v值之间执行内插。一旦确定了其中光线相交的透镜模型的顶点,就知道图像中的像素的坐标,并且该像素的值可以用于确定SV图像/视图端口中的像素的值。
如果两个光线都达到相应透镜模型,则混合来自两个图像的像素值以确定SV图像/视图端口中的像素的值。可以使用任何合适的方法进行混合。例如,可以使用加权混合,其中场景中的每个像素被假定在两个相邻相机之间的重叠区域内。对于大多数像素,混合权重为0或1,这指示整个像素值仅取自一个相机。对于在每个方向上从法线开始的可配置窄区域,混合权重被选择为使得对于一个相机存在从0到1的平滑过渡并且对于另一个相机存在从1到0的平滑过渡。在图10的示例中,两个光线1018与相应透镜模型1008相交,并且通过混合来自与透镜模型相对应的相机的两个图像的像素值来确定SV图像/视图端口中的像素值。类似地,两个光线1022与相应透镜模型1008相交,并且通过混合来自与透镜模型相对应的相机的两个图像的像素值来确定SV图像/视图端口中的像素值。
再次参考图9,如果只有一个光线达到相应透镜模型,或者如果两个光线都不达到相应透镜模型,则可以使用任何合适的技术来确定SV图像/视图端口中的像素值。例如,在前一种情况下,来自对应图像的像素值可以用作SV图像/视图端口中的像素值。在后一种情况下,SV图像/视图端口中的像素值可以被视为阴影区域的一部分。
如果最初投射的光线不与场景相交904,例如,图10中的光线1024,则可以以任何合适的方式确定SV图像/视图端口中的像素值。例如,可以将像素值设置为黑色或透明或背景色。
其他实施例
虽然已经相对于有限数量的实施例描述了本说明书,但可以设计不偏离本文所描述的本发明范围的其他实施例。
例如,本文描述了其中SV相机系统包括具有广角透镜的四个相机的实施例。在其他实施例中,系统中包括更多或更少的相机。
在一些实施例中,半球透镜模型用于光线跟踪。在一些实施例中,透镜模型可以是另一个合适的几何形状。另外,在一些实施例中,相机透镜可以表示为点。在此类实施例中,校准过程生成对相机像素到透镜角度映射进行编码的查找表,并且表查找基于入射光线与相机的法线之间的角度。通过在RTA 310上执行的软件使用查找表来执行光线跟踪。欧几里得代数可以用于在给定相机的取向和位置的情况下计算光线与相机法线之间的角度。
在一些实施例中,世界模型可以基于场景变化以及对象出现和消失而动态变化。
一些实施例引用汽车SV相机系统。例如,合并SV相机系统的除汽车以外的车辆的其他实施例包括机器人、空中车辆(诸如无人机)、农场装备(诸如收割机、联合收割机和拖拉机)、仓库车辆(诸如叉车)、水上车辆(诸如船和艇),以及头盔。
一些实施例引用示例3D汽车SV系统。使用实时光线跟踪以用于透镜重新映射可以用于将相机图像重新映射到不同视点的其他应用。对于此类应用,相机模型可以放置在3D场景中的与世界中的物理相机相对应的位置处。在一些实施例中,可以为每个相机透镜生成几何模型(诸如本文描述的半球模型),其将透镜模型上的顶点映射到相机图像坐标。在其他实施例中,每个透镜可以表示为点,并且可以生成对相机像素到透镜角度映射进行编码的查找表。为了找到实际的图像坐标,可以以与本文针对3D汽车SV系统所描的方式类似的方式将光线投射到场景中并且从场景投射到透镜模型。
所附权利要求涵盖落入本说明书的真正范围内的实施例的任何此类修改。
Claims (22)
1.一种用于生成环绕视图图像即SV图像以用于在SV处理系统的视图端口中显示的方法,所述方法包括:
由至少一个处理器从多个相机中的每个相机捕获视频流的对应图像;以及
由所述至少一个处理器使用光线跟踪以进行透镜重新映射来生成所述SV图像,以识别与所述SV图像中的像素相对应的所述图像中的像素的坐标。
2.根据权利要求1所述的方法,其中所述多个相机安装在车辆上。
3.根据权利要求1所述的方法,其中生成所述SV图像还包括,针对所述视图端口中的每个像素:
将第一光线从视点通过所述视图端口中的所述像素的位置投射到世界模型中;
从所述世界模型中的所述第一光线的相交点投射多个光线,其中所述多个光线中的每个光线朝向在视场中具有所述相交点的所述多个相机中的相机的透镜模型中的相应透镜模型的中心投射;以及
基于所述相应透镜模型上的所述多个光线中的一个光线的至少一个相交点来确定所述像素的值。
4.根据权利要求3所述的方法,其中每个透镜模型将使用对应于所述透镜模型的透镜来捕获的图像中的像素的坐标与所述透镜模型的相应顶点相关联。
5.根据权利要求4所述的方法,其中每个透镜模型是半球模型。
6.根据权利要求3所述的方法,其中被包括在所述SV处理系统中的能够进行光线跟踪的图形处理单元执行所述第一光线的所述投射和所述多个光线的所述投射。
7.一种环绕视图处理系统即SV处理系统,所述SV处理系统包括:
多个相机;
显示设备;
至少一个处理器,所述至少一个处理器耦接到所述多个相机和所述显示设备;以及
非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储供所述至少一个处理器执行的程序,所述程序包括用于以下的指令:
从所述多个相机中的每个相机捕获视频流的对应图像;以及
使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与所述SV图像中的像素相对应的所述图像中的像素的坐标。
8.根据权利要求7所述的SV处理系统,其中所述SV处理系统被包括在车辆中并且所述多个相机安装在所述车辆上。
9.根据权利要求7所述的SV处理系统,其中所述指令还包括用于针对视图端口中的每个像素的用于以下的指令:
将第一光线从视点通过所述视图端口中的所述像素的位置投射到世界模型中;
从所述世界模型中的所述第一光线的相交点投射多个光线,其中所述多个光线中的每个光线朝向在视场中具有所述相交点的所述多个相机中的相机的透镜模型中的相应透镜模型的中心投射;以及
基于所述相应透镜模型上的所述多个光线中的一个光线的至少一个相交点来确定所述像素的值。
10.根据权利要求9所述的SV处理系统,其中每个透镜模型将使用对应于所述透镜模型的透镜来捕获的图像中的像素的坐标与所述透镜模型的相应顶点相关联。
11.根据权利要求10所述的SV处理系统,其中每个透镜模型是半球模型。
12.根据权利要求9所述的SV处理系统,其中所述至少一个处理器包括能够进行光线跟踪的图形处理单元,以用于投射所述第一光线和投射所述多个光线。
13.一种用于透镜重新映射以确定视图端口中的像素的值的方法,所述方法包括:
由至少一个处理器将第一光线从视点通过所述视图端口中的所述像素的位置投射到场景的模型中;
由所述至少一个处理器将第二光线从所述模型中的所述第一光线的相交点投射到透镜模型的中心,所述透镜模型在对应于所述透镜模型的透镜的视场中具有相交点;以及
由所述至少一个处理器基于所述第二光线的所述透镜模型上的相交点来确定所述像素的所述值。
14.根据权利要求13所述的方法,其中所述透镜模型将使用对应于所述透镜模型的透镜来捕获的图像中的像素的坐标与所述透镜模型的顶点相关联。
15.根据权利要求14所述的方法,其中所述透镜模型是半球模型。
16.根据权利要求14所述的方法,其中所述至少一个处理器包括能够进行光线跟踪的图形处理单元,其执行所述第一光线的所述投射和所述第二光线的所述投射。
17.一种包括环绕视图处理系统即SV处理系统的车辆,所述SV处理系统包括:
多个相机,所述多个相机安装在所述车辆上,其中相邻相机具有重叠的视场;
显示设备;
能够进行光线跟踪的图形处理单元即GPU;
至少一个处理器,所述至少一个处理器耦接到所述多个相机、所述显示设备和所述GPU;以及
非暂时性计算机可读介质,所述非暂时性计算机可读介质存储供所述至少一个处理器和所述GPU执行的程序,所述程序包括用于以下的指令:
从所述多个相机中的每个相机捕获视频流的对应图像;以及
使用光线跟踪以进行透镜重新映射来生成SV图像,以识别与所述SV图像中的像素相对应的所述图像中的像素的坐标,其中所述GPU使用与所述多个相机中的相应相机相对应的半球透镜模型来执行所述光线跟踪。
18.根据权利要求17所述的车辆,其中所述指令还包括用于针对视图端口中的每个像素的用于以下的指令:
将第一光线从视点通过所述视图端口中的所述像素的位置投射到世界模型中;
从所述世界模型中的所述第一光线的相交点投射多个光线,其中所述多个光线中的每个光线朝向在视场中具有所述相交点的所述多个相机中的相机的相应半球透镜模型的中心投射;以及
基于所述相应半球透镜模型上的所述多个光线中的一个光线的至少一个相交点来确定所述像素的值。
19.根据权利要求17所述的车辆,其中每个半球透镜模型将使用对应于所述半球透镜模型的相机来捕获的图像中的像素的坐标与所述半球透镜模型的相应顶点相关联。
20.一种用于生成环绕视图图像即SV图像以用于在车辆中包括的SV处理系统的视图端口中显示的方法,所述方法包括:
从安装在所述车辆上的多个相机中的每个相机捕获视频流的对应图像,其中相邻相机具有重叠的视场;以及
使用光线跟踪以进行透镜重新映射来生成所述SV图像,以识别与所述SV图像中的像素相对应的所述图像中的像素的坐标,其中被包括在所述SV处理系统中的能够进行光线跟踪的图形处理单元即GPU使用与所述多个相机中的相应相机相对应的半球透镜模型来执行所述光线跟踪。
21.根据权利要求20所述的方法,其中生成所述SV图像还包括,针对所述视图端口中的每个像素:
将第一光线从视点通过所述视图端口中的所述像素的位置投射到世界模型中;
从所述世界模型中的所述第一光线的相交点投射多个光线,其中所述多个光线中的每个光线朝向在视场中具有所述相交点的所述多个相机中的相机的相应半球透镜模型的中心投射;以及
基于所述相应半球透镜模型上的所述多个光线中的一个光线的至少一个相交点来确定所述像素的值。
22.根据权利要求20所述的方法,其中每个半球透镜模型将使用对应于所述半球透镜模型的相机来捕获的图像中的像素的坐标与所述半球透镜模型的相应顶点相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/290,855 | 2019-03-01 | ||
US16/290,855 US11050932B2 (en) | 2019-03-01 | 2019-03-01 | Using real time ray tracing for lens remapping |
PCT/US2020/020600 WO2020180767A1 (en) | 2019-03-01 | 2020-03-02 | Using real time ray tracing for lens remapping |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113490879A true CN113490879A (zh) | 2021-10-08 |
Family
ID=72235968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080016503.1A Pending CN113490879A (zh) | 2019-03-01 | 2020-03-02 | 使用实时光线跟踪以用于透镜重新映射 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11050932B2 (zh) |
CN (1) | CN113490879A (zh) |
WO (1) | WO2020180767A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018102990A1 (en) * | 2016-12-06 | 2018-06-14 | SZ DJI Technology Co., Ltd. | System and method for rectifying a wide-angle image |
US10861359B2 (en) * | 2017-05-16 | 2020-12-08 | Texas Instruments Incorporated | Surround-view with seamless transition to 3D view system and method |
US11341607B2 (en) * | 2019-06-07 | 2022-05-24 | Texas Instruments Incorporated | Enhanced rendering of surround view images |
KR20210045106A (ko) * | 2019-10-16 | 2021-04-26 | 현대자동차주식회사 | 차량 및 차량의 제어방법 |
US11410387B1 (en) * | 2020-01-17 | 2022-08-09 | Facebook Technologies, Llc. | Systems, methods, and media for generating visualization of physical environment in artificial reality |
US10950034B1 (en) | 2020-01-27 | 2021-03-16 | Facebook Technologies, Llc | Systems, methods, and media for generating visualization of physical environment in artificial reality |
US11884312B2 (en) * | 2020-12-14 | 2024-01-30 | Mimax, Inc. | Object macrocells in frame locked rasters for real-time driving, positive train control, and general purpose anti-collision |
US11593996B2 (en) | 2021-02-09 | 2023-02-28 | Waymo Llc | Synthesizing three-dimensional visualizations from perspectives of onboard sensors of autonomous vehicles |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104859538A (zh) * | 2013-10-22 | 2015-08-26 | 通用汽车环球科技运作有限责任公司 | 车辆图像显示系统中基于视觉的物体感测和突出显示 |
US20160209647A1 (en) * | 2015-01-19 | 2016-07-21 | Magna Electronics Inc. | Vehicle vision system with light field monitor |
US20160360104A1 (en) * | 2015-06-02 | 2016-12-08 | Qualcomm Incorporated | Systems and methods for producing a combined view from fisheye cameras |
US20170195564A1 (en) * | 2016-01-06 | 2017-07-06 | Texas Instruments Incorporated | Three Dimensional Rendering for Surround View Using Predetermined Viewpoint Lookup Tables |
CN108572663A (zh) * | 2017-03-08 | 2018-09-25 | 通用汽车环球科技运作有限责任公司 | 目标跟踪 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185667A (en) * | 1991-05-13 | 1993-02-09 | Telerobotics International, Inc. | Omniview motionless camera orientation system |
US6990228B1 (en) * | 1999-12-17 | 2006-01-24 | Canon Kabushiki Kaisha | Image processing apparatus |
US20080298674A1 (en) * | 2007-05-29 | 2008-12-04 | Image Masters Inc. | Stereoscopic Panoramic imaging system |
US20090087013A1 (en) * | 2007-09-28 | 2009-04-02 | Zoom Information Systems (The Mainz Group Ll) | Ray mapping |
US9225942B2 (en) * | 2012-10-11 | 2015-12-29 | GM Global Technology Operations LLC | Imaging surface modeling for camera modeling and virtual view synthesis |
US20140114534A1 (en) * | 2012-10-19 | 2014-04-24 | GM Global Technology Operations LLC | Dynamic rearview mirror display features |
US9445011B2 (en) * | 2012-10-22 | 2016-09-13 | GM Global Technology Operations LLC | Dynamic rearview mirror adaptive dimming overlay through scene brightness estimation |
US10119809B2 (en) * | 2015-02-16 | 2018-11-06 | Intel Corporation | Simulating multi-camera imaging systems |
AU2016250919A1 (en) * | 2015-04-22 | 2017-11-09 | Esight Corp. | Methods and devices for optical aberration correction |
GB2538502B (en) * | 2015-05-18 | 2018-04-04 | Roadmetric Ltd | Detection and documentation of tailgating and speeding violations |
US10491879B2 (en) * | 2016-01-15 | 2019-11-26 | Blue River Technology Inc. | Plant feature detection using captured images |
US20170359561A1 (en) * | 2016-06-08 | 2017-12-14 | Uber Technologies, Inc. | Disparity mapping for an autonomous vehicle |
US10410328B1 (en) * | 2016-08-29 | 2019-09-10 | Perceptin Shenzhen Limited | Visual-inertial positional awareness for autonomous and non-autonomous device |
US10460511B2 (en) * | 2016-09-23 | 2019-10-29 | Blue Vision Labs UK Limited | Method and system for creating a virtual 3D model |
US10186075B2 (en) * | 2016-11-30 | 2019-01-22 | Adcor Magnet Systems, Llc | System, method, and non-transitory computer-readable storage media for generating 3-dimensional video images |
US10911745B2 (en) | 2016-12-28 | 2021-02-02 | Texas Instruments Incorporated | Calibration of a surround view camera system |
GB201716768D0 (en) * | 2017-10-13 | 2017-11-29 | Nokia Technologies Oy | An apparatus a method and a computer program for coding and rendering volumetric video |
JP7346401B2 (ja) * | 2017-11-10 | 2023-09-19 | エヌビディア コーポレーション | 安全で信頼できる自動運転車両のためのシステム及び方法 |
US10657391B2 (en) * | 2018-01-05 | 2020-05-19 | Uatc, Llc | Systems and methods for image-based free space detection |
US11042163B2 (en) * | 2018-01-07 | 2021-06-22 | Nvidia Corporation | Guiding vehicles through vehicle maneuvers using machine learning models |
WO2019168869A1 (en) * | 2018-02-27 | 2019-09-06 | Nvidia Corporation | Real-time detection of lanes and boundaries by autonomous vehicles |
WO2019166688A1 (en) * | 2018-03-01 | 2019-09-06 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
US20190349571A1 (en) * | 2018-05-11 | 2019-11-14 | Ford Global Technologies, Llc | Distortion correction for vehicle surround view camera projections |
US10948297B2 (en) * | 2018-07-09 | 2021-03-16 | Samsung Electronics Co., Ltd. | Simultaneous location and mapping (SLAM) using dual event cameras |
US10916035B1 (en) * | 2018-11-30 | 2021-02-09 | Zoox, Inc. | Camera calibration using dense depth maps |
US10896335B2 (en) * | 2019-01-07 | 2021-01-19 | Ford Global Technologies, Llc | Adaptive transparency of virtual vehicle in simulated imaging system |
-
2019
- 2019-03-01 US US16/290,855 patent/US11050932B2/en active Active
-
2020
- 2020-03-02 WO PCT/US2020/020600 patent/WO2020180767A1/en active Application Filing
- 2020-03-02 CN CN202080016503.1A patent/CN113490879A/zh active Pending
-
2021
- 2021-06-29 US US17/361,433 patent/US11303807B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104859538A (zh) * | 2013-10-22 | 2015-08-26 | 通用汽车环球科技运作有限责任公司 | 车辆图像显示系统中基于视觉的物体感测和突出显示 |
US20160209647A1 (en) * | 2015-01-19 | 2016-07-21 | Magna Electronics Inc. | Vehicle vision system with light field monitor |
US20160360104A1 (en) * | 2015-06-02 | 2016-12-08 | Qualcomm Incorporated | Systems and methods for producing a combined view from fisheye cameras |
US20170195564A1 (en) * | 2016-01-06 | 2017-07-06 | Texas Instruments Incorporated | Three Dimensional Rendering for Surround View Using Predetermined Viewpoint Lookup Tables |
CN108572663A (zh) * | 2017-03-08 | 2018-09-25 | 通用汽车环球科技运作有限责任公司 | 目标跟踪 |
Also Published As
Publication number | Publication date |
---|---|
US11050932B2 (en) | 2021-06-29 |
US20200280678A1 (en) | 2020-09-03 |
US20210329169A1 (en) | 2021-10-21 |
US11303807B2 (en) | 2022-04-12 |
WO2020180767A1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11303807B2 (en) | Using real time ray tracing for lens remapping | |
CN109741455B (zh) | 一种车载立体全景显示方法、计算机可读存储介质及系统 | |
US8817079B2 (en) | Image processing apparatus and computer-readable recording medium | |
KR101265667B1 (ko) | 차량 주변 시각화를 위한 3차원 영상 합성장치 및 그 방법 | |
JP6311020B2 (ja) | 映像合成システムとそのための映像合成装置及び映像合成方法 | |
US9858639B2 (en) | Imaging surface modeling for camera modeling and virtual view synthesis | |
JP6310652B2 (ja) | 映像表示システム、映像合成装置及び映像合成方法 | |
WO2000064175A1 (fr) | Dispositif de traitement d'images et systeme de surveillance | |
JP6276719B2 (ja) | 画像生成装置、座標変換テーブル作成装置および作成方法 | |
EP3206184A1 (en) | Apparatus, method and system for adjusting predefined calibration data for generating a perspective view | |
CN113870161A (zh) | 基于人工智能的车载3d环视拼接方法及装置 | |
JP2013207637A (ja) | 画像処理装置及び方法、並びにコンピュータプログラム | |
KR20190062102A (ko) | 비디오 영상기반 2d/3d ar 실감체험 방법 및 장치 | |
JP2003091720A (ja) | 視点変換装置および視点変換プログラムならびに車両用画像処理装置 | |
US9317895B1 (en) | Non-linear image mapping | |
CN111815752B (zh) | 图像处理方法、装置和电子设备 | |
KR101351911B1 (ko) | 카메라의 영상 처리 장치 및 방법 | |
EP3098777B1 (en) | Drawing apparatus, drawing method, and drawing program | |
Gao et al. | A calibration method for automotive augmented reality head-up displays based on a consumer-grade mono-camera | |
WO2018016274A1 (ja) | 画像処理装置 | |
JP5413502B2 (ja) | ハレーションシミュレーション方法、装置、及びプログラム | |
US10902669B2 (en) | Method for estimating light for augmented reality and electronic device thereof | |
CN113345074A (zh) | 一种车载3d环视影像显示方法 | |
WO2011113447A1 (en) | Method for camera mounting in a vehicle | |
Huo et al. | Research on the auxiliary panoramic parking technology based on fast image mosaic |
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 |