车辆全景图像的生成方法和装置与流程

文档序号:12748840阅读:524来源:国知局
车辆全景图像的生成方法和装置与流程

本发明涉及图像处理技术领域,尤其涉及一种车辆全景图像的生成方法和装置。



背景技术:

随着交通状况的日益复杂,促使人们对安全驾驶有了更高的要求,从倒车雷达到倒车影像,再到后来的平面的全景影像,人们总是在驾驶安全方面不断的寻求创新,其中平面的全景影像给驾驶员在倒车入库及窄道通行方面提供了很大的帮助。

平面的全景影像是通过安装在车身周围的四个超广角摄像头采集图像,由于鱼眼摄像头畸变严重,控制器对采集过来的图像先进行鱼眼矫正,将图像中弯曲的部分拉直,再通过透视变换的方法,将四幅矫正后的非俯视的图像变换为俯视图像,并完成图像重叠部分的拼接。其中畸变矫正是对整幅图像做拉伸,从而导致很多立体的物体被拉伸的严重,而且透视变换也只使用了一种视角,即俯视视角,这样也进一步加剧了物体被拉伸严重的情况,这就使得很多立体物体在图像中失去了参考价值。由于这些原因,平面的全景影像的视野都做的很小,与此同时,平面的全景影像中的立体物体也被拉伸的很严重,让用户很难识别出具体的物体。这样,当车辆在行驶过程中出现变道的时候,平面全景很难被派上用场,无法给用户以有力的帮助,利用率很低。



技术实现要素:

本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种车辆全景图像的生成方法。通过该方法,将每一个小的网格区域映射到摄像头的图像上,由于是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围,并且通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,提高了全景图像的利用率。

本发明的第二个目的在于提出一种车辆全景图像的生成装置。

为了实现上述目的,本发明第一方面实施例的车辆全景图像的生成方法,包括:确定当前观察点和参考点的位置,以及需要观察的视景窗口的大小;将建立的网格模型根据所 述观察点和所述参考点的位置映射到所述视景窗口上;将车辆上安装的摄像头所拍摄的图像映射到所述视景窗口上,调整所述网格模型中的每个网格顶点在所述图像上的映射位置,以将所述图像在所述网格模型上拼接整齐;通过透视映射,将当前观察点所观察的方位的网格顶点映射到所述视景窗口上,并将所述摄像头拍摄的图像映射到所述视景窗口上,获得当前观察点所观察的方位的网格顶点在所述图像上的映射点;改变所述观察点和所述参考点的位置,获得所述网格模型中的每个网格顶点在所述图像上的映射点,以生成所述车辆的全景图像。

本发明实施例的车辆全景图像的生成方法,将每一个小的网格区域映射到摄像头的图像上,由于是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围,并且通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,提高了全景图像的利用率。

为了实现上述目的,本发明第二方面实施例的车辆全景图像的生成装置,包括:确定模块,用于确定当前观察点和参考点的位置,以及需要观察的视景窗口的大小;映射模块,用于将建立的网格模型根据所述观察点和所述参考点的位置映射到所述视景窗口上;以及将车辆上安装的摄像头所拍摄的图像映射到所述视景窗口上,调整所述网格模型中的每个网格顶点在所述图像上的映射位置,以将所述图像在所述网格模型上拼接整齐;通过透视映射,将当前观察点所观察的方位的网格顶点映射到所述视景窗口上,并将所述摄像头拍摄的图像映射到所述视景窗口上,获得当前观察点所观察的方位的网格顶点在所述图像上的映射点;生成模块,用于改变所述观察点和所述参考点的位置,获得对应观察方位的网格顶点在上述图像上的映射点,以生成所述车辆的全景图像。

本发明实施例的车辆全景图像的生成装置,将每一个小的网格区域映射到摄像头的图像上,由于是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围,并且通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,提高了全景图像的利用率。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显 和容易理解,其中:

图1为本发明车辆全景图像的生成方法一个实施例的流程图;

图2为本发明车辆全景图像的生成方法另一个实施例的流程图;

图3为本发明车辆全景图像的生成方法中的摄像头安装位置示意图;

图4为本发明车辆全景图像的生成方法中网格模型的示意图;

图5为本发明车辆全景图像的生成方法中观察点、参考点和视景窗口一个实施例的示意图;

图6为本发明车辆全景图像的生成方法中任意一个视角的模型图;

图7为本发明车辆全景图像的生成方法中标记点的位置设置示意图;

图8为本发明车辆全景图像的生成装置一个实施例的结构示意图;

图9为本发明车辆全景图像的生成装置另一个实施例的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1为本发明车辆全景图像的生成方法一个实施例的流程图,如图1所示,该车辆全景图像的生成方法可以包括:

步骤101,确定当前观察点和参考点的位置,以及需要观察的视景窗口的大小。

其中,参考点即为观察点要看的方位上的中心点,在未标定之前,需要将观察点设置在建立的网格模型的正上方,这样参考点即为网格模型的中心点。

上述需要观察的视景窗口的大小即为想要看到参考点的视野范围的大小。

步骤102,将建立的网格模型根据上述观察点和上述参考点的位置映射到上述视景窗口上。

步骤103,将车辆上安装的摄像头所拍摄的图像映射到上述视景窗口上,调整上述网格模型中的每个网格顶点在上述图像上的映射位置,以将上述图像在上述网格模型上拼接整齐。

步骤104,通过透视映射,将当前观察点所观察的方位的网格顶点映射到视景窗口上,并将上述摄像头拍摄的图像映射到上述视景窗口上,获得当前观察点所观察的方位的网格顶点在上述图像上的映射点。

步骤105,改变观察点和参考点的位置,获得对应观察方位的网格顶点在上述图像上的映射点,以生成上述车辆的全景图像。

本实施例中,上述网格模型为碗状的3维(three dimensions;以下简称:3D)网格模型;上述摄像头包括至少4个摄像头,分别安装在上述车辆的前后左右4个方向上;其中,安装在上述车辆的左右两个方向的摄像头偏向上述车辆的车身外,与上述车身的夹角为预定角度。其中,该预定角度的大小可以在具体实现时自行设定,本实施例对预定角度的大小不作限定,举例来说,上述预定角度可以为45度。

本实施例中,步骤103,将上述图像在上述网格模型上拼接整齐之后,还可以将上述网格模型中的每个网格顶点在上述图像上的映射位置记录在上述车辆对应的第一映射表中。

进一步地,在上述车辆的车身的4个角方向的地面上设置预定数量的标记点,将上述标记点在上述摄像头拍摄的图像上的位置记录在上述车辆对应的第二映射表中。其中,预定数量可以在具体实现时自行设定,本实施例对预定数量的大小不作限定,举例来说,上述预定数量可以为2。

进一步地,在步骤105,获得上述车辆的全景图像之后,当对车型和摄像头安装位置与上述车辆的车型和摄像头安装位置均相同的另一车辆进行标定时,在上述另一车辆的4个角方向的地面上设置与上述车辆位置和数量均相同的标记点,将另一车辆的标记点的位置记录在另一车辆对应的第三映射表中;然后计算第三映射表中的每个标记点与第二映射表中对应点的位置差,以及对第一映射表中记录的每个网格顶点在上述摄像头拍摄的图像上的映射位置与第三映射表中记录的标记点的位置做权重运算,获得第三映射表中记录的标记点的权重;根据上述位置差、上述权重和第一映射表中记录的每个网格顶点在上述摄像头拍摄的图像上的映射位置,计算获得另一车辆对应的第一映射表;然后利用上述另一车辆对应的第一映射表即可生成另一车辆的全景图像。

上述车辆全景图像的生成方法,将每一个小的网格区域映射到摄像头的图像上,由于是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围,并且通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,提高了全景图像的利用率。

图2为本发明车辆全景图像的生成方法另一个实施例的流程图,如图2所示,该车辆全景图像的生成方法可以包括:

步骤201,将4个超广角鱼眼摄像头分别安装在车辆的前后左右四个方向。

其中,安装在上述车辆的左右两个方向的摄像头偏向上述车辆的车身外,与上述车身 的夹角为45度左右;图3为本发明车辆全景图像的生成方法中的摄像头安装位置示意图,为实现大视野,安装在上述车辆的左右两个方向的摄像头偏向上述车辆的车身外,且与上述车身的夹角为45度左右。

步骤202,用3D建模软件建立碗状3D网格模型,记录网格模型上每个网格顶点在三维坐标系上的坐标位置。

图4为本发明车辆全景图像的生成方法中网格模型的示意图。

步骤203,确定当前观察点G的坐标位置(x1,y1,z1)和参考点C的坐标位置(x2,y2,z2),并确定需要观察的视景窗口大小(w,h)。

其中,参考点即为观察点要看的方位上的中心点,在未标定之前,需要将观察点设置在建立的网格模型的正上方,这样参考点即为网格模型的中心点。

上述需要观察的视景窗口的大小即为想要看到参考点的视野范围的大小。

图5为本发明车辆全景图像的生成方法中观察点、参考点和视景窗口一个实施例的示意图。

步骤204,将建立的网格模型根据上述观察点和上述参考点的位置映射到上述视景窗口上。

具体地,由于视景窗口与点G和点C的连线垂直,利用步骤203中点G和点C的坐标位置可以建立视景窗口面M的方程为:

(x1-x2)(x-x2)+(y1-y2)(y–y2)+(z1–z2)(z-z2)=0 ①

然后,确定经过网格顶点P与观察点G的直线,空间中的一条直线需用两个面的方程组来表示,任意建立两个均经过点P和点G的面,联立两个面的方程组:

A1x+B1y+C1z+D1=0

A2x+B2y+C2z+D2=0 ②

于是,经过点P和点G的直线与面M的交点P1即为网格顶点P在视景窗口上的映射点,联立方程①②进行求解即可获得点P1的坐标,然后将P1点的三维坐标变为在视景窗口平面坐标系上的坐标。

步骤205,将车辆上安装的摄像头所拍摄的4幅图像映射到上述视景窗口上,调整上述网格模型中的每个网格顶点在上述图像上的映射位置,以将上述4幅图像在上述网格模型上拼接整齐。

然后将上述网格模型中的每个网格顶点在上述图像上的映射位置记录在上述车辆对应的Map表中,Map表中的参数为基础表参数。

步骤206,通过透视映射,将当前观察点所观察的方位的网格顶点映射到视景窗口上, 并将上述摄像头拍摄的图像映射到上述视景窗口上,获得当前观察点所观察的方位的网格顶点在上述图像上的映射点。

具体地,对视景窗口上的每个小网格区域可使用透视变换公式,利用上述车辆对应的Map表求解透视变换方程组。

u0=(c01x+c02y+c03)/(c21x+c22y+c23)

v0=(c11x+c12y+c13)/(c21x+c22y+c23) ③

其中(u0,v0)为Map表中记录的网格顶点在摄像头拍摄的图像上的映射点的坐标,(x,y)为上述网格顶点在视景窗口中的点坐标,利用每个网格区域的四个顶点可以求解出这个网格区域的透视变换系数c01、c02、c03、c11、c12、c13、c21、c22、c23,再利用这个透视变换公式对网格区域中的每个网格顶点进行透视变换即可求解出该网格顶点在摄像头拍摄的图像上的映射点的坐标位置。

步骤207,改变观察点和参考点位置,重复步骤203~步骤206可得到对应视角的映射图像,从而获得上述车辆的全景图像。

图6为本发明车辆全景图像的生成方法中任意一个视角的模型图。

进一步地,可以在上述车辆的车身的4个角方向的地面上各设置2个标记点,将上述标记点在上述摄像头拍摄的图像上的位置记录在上述车辆对应的Mop表中,Mop表中的参数为基础表参数;图7为本发明车辆全景图像的生成方法中标记点的位置设置示意图。

这样,在对车型和摄像头安装位置与上述车辆的车型和摄像头安装位置均相同的另一车辆进行标定时,同样在另一车辆的4个角方向的地面上设置与上述车辆位置和数量均相同的标记点。然后将另一车辆的标记点的位置记录在另一车辆对应的CMop表中。

计算CMop表中的每个标记点与Mop表中对应点的坐标的差值,记为d1、d2、d3和d4,以及对Map表记录的每个网格顶点在上述摄像头拍摄的图像上的映射点的坐标与CMop表中记录的四个标记点的坐标做权重运算,获得第三映射表中记录的标记点的权重,分别记为q1、q2、q3、q4,则上述另一车辆对应的Map表中映射点的坐标可以为:

x0=(q1d1+q2d2+q3d3+q4d4)x

y0=(q1d1+q2d2+q3d3+q4d4)y ④

其中,(x,y)为网格顶点在另一车辆的视景窗口中的坐标,(x0,y0)为另一车辆对应的Map表中映射点的坐标,通过上述过程可以建立另一车辆对应的Map表。

接下来,利用上述另一车辆对应的Map,通过步骤206~步骤207即可获得另一车辆的全景图像。

上述车辆全景图像的生成方法,将每一个小的网格区域映射到摄像头的图像上,由于 是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围。另外,通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,使全景图像得到了更多的应用,提高了全景图像的利用率。

图8为本发明车辆全景图像的生成装置一个实施例的结构示意图,本实施例中的车辆全景图像的生成装置可以实现本发明图1所示实施例的流程,如图8所示,该车辆全景图像的生成装置可以包括:确定模块81、映射模块82和生成模块83;

其中,确定模块81,用于确定当前观察点和参考点的位置,以及需要观察的视景窗口的大小;其中,参考点即为观察点要看的方位上的中心点,在未标定之前,需要将观察点设置在建立的网格模型的正上方,这样参考点即为网格模型的中心点。上述需要观察的视景窗口的大小即为想要看到参考点的视野范围的大小。

映射模块82,用于将建立的网格模型根据上述观察点和上述参考点的位置映射到上述视景窗口上;以及将车辆上安装的摄像头所拍摄的图像映射到上述视景窗口上,调整上述网格模型中的每个网格顶点在上述图像上的映射位置,以将所述图像在所述网格模型上拼接整齐;通过透视映射,将当前观察点所观察的方位的网格顶点映射到所述视景窗口上,并将所述摄像头拍摄的图像映射到所述视景窗口上,获得当前观察点所观察的方位的网格顶点在所述图像上的映射点;

生成模块83,用于改变上述观察点和参考点的位置,获得对应观察方位的网格顶点在上述图像上的映射点,以生成上述车辆的全景图像。

本实施例中,上述网格模型为碗状的3维网格模型;上述摄像头包括至少4个摄像头,分别安装在上述车辆的前后左右4个方向上;其中,安装在上述车辆的左右两个方向的摄像头偏向上述车辆的车身外,与上述车身的夹角为预定角度。其中,该预定角度的大小可以在具体实现时自行设定,本实施例对预定角度的大小不作限定,举例来说,上述预定角度可以为45度。

图9为本发明车辆全景图像的生成装置另一个实施例的结构示意图,与图8所示的车辆全景图像的生成装置相比,不同之处在于,图9所示的车辆全景图像的生成装置中,还可以包括:记录模块84和设置模块85;

记录模块84,用于在将上述图像在所述网格模型上拼接整齐之后,将上述网格模型中的每个网格顶点在上述图像上的映射位置记录在上述车辆对应的第一映射表中。

设置模块85,用于在上述车辆的车身的4个角方向的地面上设置预定数量的标记点;其中,预定数量可以在具体实现时自行设定,本实施例对预定数量的大小不作限定,举例 来说,上述预定数量可以为2。

记录模块84,还用于将设置模块85设置的标记点在上述摄像头拍摄的图像上的位置记录在上述车辆对应的第二映射表中。

进一步地,上述装置还可以包括:计算模块86;

设置模块85,还用于当对车型和摄像头安装位置与上述车辆的车型和摄像头安装位置均相同的另一车辆进行标定时,在另一车辆的4个角方向的地面上设置与上述车辆位置和数量均相同的标记点;

记录模块84,还用于将上述另一车辆的标记点的位置记录在另一车辆对应的第三映射表中;

计算模块86,用于计算第三映射表中的每个标记点与第二映射表中对应点的位置差,以及对第一映射表中记录的每个网格顶点在上述摄像头拍摄的图像上的映射位置与第三映射表中记录的标记点的位置做权重运算,获得第三映射表中记录的标记点的权重;以及根据上述位置差、上述权重和上述第一映射表中记录的每个网格顶点在上述摄像头拍摄的图像上的映射位置,计算获得另一车辆对应的第一映射表;

这时,生成模块83,还用于利用另一车辆对应的第一映射表生成另一车辆的全景图像。

上述车辆全景图像的生成装置,将每一个小的网格区域映射到摄像头的图像上,由于是对每一个小网格做单独处理,避免了物体拉伸严重的问题,并且摄像头采集的图像在全景图像上都可以得到显示,提升了观察的视野范围,并且通过改变观察点的位置可以实现环绕整车360度观察周围路况,大大提升了全景的使用价值,提高了全景图像的利用率。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路 的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(Programmable Gate Array;以下简称:PGA),现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1