一种3D全景图像生成系统和方法与流程

文档序号:11217284阅读:788来源:国知局
一种3D全景图像生成系统和方法与流程

本发明涉及用于智能汽车的高级驾驶辅助系统领域,特别地,涉及一种汽车上的3d全景图像生成系统和方法。



背景技术:

近年来,随着机动车行业的飞速发展,交通事故也日益增多,使得人们越来越关心汽车的安全问题,其中汽车安全技术更是备受关注。传统的车载全景大都是2d全景,只是简单的对采集的图像进行拼接,采用2d的拼接技术会丢失很多的图像数据,并不能很好的利用广角镜头的优势,对驾驶员而言就是生成的全景图像视野较小,而且基于dsp的处理平台难以实现功能拓展。

高级驾驶辅助系统(advanceddriverassistantsystem,adas)是利用安装在车上的各种传感器,在汽车行驶的过程中随时获取环境数据,进行系统的运算与分析,从而预先让驾驶者察觉到可能发生的危险。高级驾驶辅助系统包括全景驾驶辅助系统,其基于全景图象的生成,提供了汽车周围全景图像,为智能泊车、车道偏离、车道辅助、车距检测等提供了数据支持。

在现有技术中,存在全景图像生成的方法,比如申请号为201210590533.0的发明专利申请描述了一种多摄像机全景系统的曲面投影装置和方法,该方法获取广角摄像机的畸变图像,对其进行畸变矫正后投影到三维曲面上进而生成全景图像。然而,该申请的3d全景生成方法存在以下缺点:1.需要对图像进行畸变矫正,时间复杂度较高;2.在融合区域的图像拼接效果较差;3.没有充分利用嵌入式平台的优势。



技术实现要素:

本发明为了克服上述现有技术中的技术缺陷,提出一种3d全景图像生成装置。本发明的目的是通过以下技术方案实现的。

一种3d全景图像生成系统,该系统包括:电子控制单元(ecu)、显示单元和分别安装在车辆前后左右四处的四路摄像机,该四路摄像机包括安装在车辆前侧的前置摄像头模块、安装在车辆后侧的后置摄像头模块、安装在车辆左侧的左置摄像头模块、安装在车辆右侧的右置摄像头模块,分别用于采集前后左右四个方向上的图像,并将图像发送到电子控制单元,电子控制单元用于根据四个摄像头模块所采集的图像数据,构建360度全景图像,并将所构建的360度全景图像发送给显示单元;显示单元用于将全景图像进行显示。

一种3d全景图像生成方法,其采用上述的系统实现,该方法包括:s11对所述四路摄像机进行标定;s12采用四路摄像头采集图像;s13建立三维曲面模型并对其进行三角剖分,将图像的纹理元素和位置坐标映射到所述三维曲面模型上;s14输出显示3d全景图像。

优选地,其中s13包括如下步骤:

s131在三维曲面模型中建立世界坐标系;

s132将车身四路摄像头模块获得的原始图像的纹理元素和位置坐标映射到三维曲面模型上,得到原始图像的3d重构,实现全景生成。

优选地,其中s132包括如下步骤:

s1320将三维曲面模型分为八个区域,前、后、左、右、左前、左后、右前、右后;其中前、后、左、右四个区域为非融合区域,左前,左后,右前,右后四个区域为融合区域;

s1321非融合区域生成;

s1322融合区域生成。

一种终端系统,包括存储器、一个或多个处理器,以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在存储器中,并且被配置成由所述一个或多个处理器执行,所述计算机程序包括用于执行该方法的步骤。

一种计算机可读存储介质,包括与终端系统结合使用的计算机程序,所述计算机程序可被处理器执行以完成该方法的步骤。

本发明有如下优点:本发明通过四个摄像头模块实现了全景图像的输出,系统简单,便于安装;方法上不需要对图像进行畸变矫正,时间复杂度低,在融合区域的图像拼接效果好,充分利用了嵌入式平台的优势。该系统和方法结构简单易行,运行速度快,图像精确度高,可用性强,适用范围广,同时降低了计算量,降低了硬件、软件成本。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了本发明的3d全景图像生成系统结构图;

附图2示出了本发明的3d全景图像生成方法流程图;

附图3示出了本发明的3d全景图像生成方法中的三维曲面模型示意图;

附图4示出了本发明的3d全景图像生成方法中的将三维曲面模型分为了八个区域的示意图;

附图5示出了本发明的3d全景图像生成方法输出显示的全景图像。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

根据本发明的实施方式,图1示出了一种3d全景图像生成系统,该系统包括电子控制单元(ecu)、显示单元和分别安装在车辆前后左右四处的摄像头模块,即图1所示的前置摄像头模块、后置摄像头模块、左置摄像头模块、右置摄像头模块。其中,四个摄像头模块用于采集前后左右四个方向上的图像,将图像发送给电子控制单元,电子控制单元用于根据四个摄像头模块所采集的图像数据,构建360度全景图像,并将所构建的360度全景图像发送给显示单元进行显示;图像数据由摄像头模块采集并发送到电子控制单元。

图2示出了根据本发明实施方式的3d全景生成方法,其采用上述的3d全景图像生成系统实现,该方法的主要步骤包括:s11对摄像机进行标定;s12四路摄像头采集图像;s13建立三维曲面模型并对其进行三角剖分,将图像的纹理元素和位置坐标映射到模型上;s14输出显示。具体地,

s11、对摄像机进行标定包括:标定摄像机,获得世界坐标系到摄像机坐标系的旋转矩阵和平移向量,以及摄像机的畸变参数,即建立世界坐标系和图像坐标系之间的联系,实现外参和内参的计算。

s12、采用四路摄像头采集图像包括:采用分别安装在车辆前后左右四处的摄像头模块,分别从车身的前、后、左、右四个方向拍摄并采集图像。

优选地,位于前后左右四处的前置摄像头模块、后置摄像头模块、左置摄像头模块、右置摄像头模块都是鱼眼镜头。

s13、建立三维模型及纹理映射(建立三维模型以及对模型进行三角剖分),将图像的纹理元素和位置坐标映射到模型上。

通常地,在渲染一个带纹理的球面时,首先将球面用三角剖分,计算三角剖分上每个顶点的世界坐标系位置坐标和纹理坐标,将纹理图像放入opengl中,当渲染时,根据顶点的世界坐标系位置坐标和摄像头内参外参,得到该顶点在最终图像中的投影位置,并根据该顶点的纹理坐标,从纹理图像中采样得到顶点对应的像素值。其中,三角剖分顶点之间的顶点像素值可以由opengl插值实现。

本发明的3d全景生成方法的s13包括采用s12从车身的前、后、左、右四个方向采集的图像来生成最终的3d全景图像,该3d全景图像可以用于3d车载环视辅助驾驶全景图像。采用车身的前、后、左、右四个方向采集的图像来生成该3d全景图像是通过三维曲面模型(该三维曲面为碗状曲面)的渲染来实现的,即s13包括如下步骤:

s131在三维曲面模型中建立世界坐标系。

在图3中,以车辆中点为原点,车辆右侧方向为x轴方向,车辆前侧方向为y轴方向,垂直于地面平面向上为z轴方向,由此可以得到三维曲面模型中的每一个点的顶点坐标。

s132将车身四路摄像头模块获得的原始图像的纹理元素和位置坐标映射到三维曲面模型上,得到原始图像的3d重构,实现全景生成。

通常地,通过s131获得了曲面的顶点坐标,只是得到了一个没有上色的曲面而已,观察这个曲面不会获取任何的车辆周围场景信息。因此,需要给曲面上色,色彩的来源即为四路摄像头采集到的四路原始图像,将四路摄像头模块采集到图像像素值“贴”到曲面上(即,将原始图像像素值反映到三维曲面模型上),观察这个曲面,可以获取到原始图像的3d重构。

优选地,s132包括对原始图像的纹理元素进行渲染,将原始图像像素值反映到三维曲面模型上(即,曲面上的点找到原始图像中的对应点(可能为浮点数),并用该对应点的像素值填充到曲面上的该点),包括如下步骤:

s1320将三维曲面模型分为八个区域,前、后、左、右、左前、左后、右前、右后。,如图4所示,类似椭圆形的区域中央为汽车本体,周围被分为8个区域,其中前、后、左、右四个区域为非融合区域,如图4的略浅灰色区域所示,左前,左后,右前,右后四个区域为融合区域,如图4略深灰色区域所示。

s1321非融合区域生成

对于前、后、左、右四个区域,分别可以投影到前后左右四个方向的摄像头上。

以前侧区域为例,前侧区域中的一个点p,那么p在前侧摄像头oc图像像素坐标系下的坐标pc(u,v)和世界坐标系下坐标pw(xw,yw,zw)的关系为:

其中,λ表示归一化参数,r和t为世界坐标系到前侧摄像机坐标系的旋转矩阵和平移向量(r是一个3*3矩阵,t是3*1的向量,即,外参和内参)。cx,cy为前侧鱼眼镜头图像的形变中心。为像素点到形变中心的距离。f(ρ)=a0+a1ρ+a2ρ2+…+anρn摄像头曲面方程的泰勒展开式f(ρ)=a0+a1ρ+a2ρ2+…+anρn

后侧区域、左侧区域、右侧区域均参照前侧区域的坐标生成方法,由此,前后左右四个区域的四路原始图像作为纹理图像,根据上述的方法,通过获取到前后左右四个区域曲面上的每一个点的世界坐标到前后左右四路原始图像坐标的投影,可以获取到曲面上每一个点的纹理坐标。

s1232非融合区域生成

对于左前,左后,右前,右后四个区域,这四个区域为相交区域,左前区域,该区域中的每一个点都可以投影到前侧和左侧摄像头图像中,需要从前侧图像中取得一个像素坐标,从左侧图像中取得一个像素坐标,并采用式(4-2)的接缝处融合算法,将从前侧获取到的像素值和左侧获取到的像素值融合起来,得到一个全新的像素值。

具体地,以左前侧区域为例,对于左前侧区域中的一点p,首先得到在前侧图像中的投影点p1′和左侧图像中的投影点p2′,采用加权融合的方法,得到p点的像素值为:

pixel(p)=λpixel(p′1)+(1-λ)pixel(p′2)式(4-2)

其中,λ∈[0,1]为融合参数,越靠近左侧区域和左前区域的相交线,λ越小。

左后区域、右前区域、右后区域均参照左前区域的坐标生成方法,由此,获取到左前,左后,右前,右后四个区域到曲面上每一个点的纹理坐标。

在一个具体实施例中,采用opengl实现上述s1231和s1232。opengl是一套程序库,提供了渲染3d模型的一些工具。在该具体实施方式中,包括如下方面:

仿照球面模型的渲染,我们将曲面模型进行三角剖分,计算每一个顶点的位置坐标和纹理坐标,曲面三角剖分内部的点的像素值由opengl自动插值实现。三角剖分越密,生成得到的全景图像质量越高。

对于非融合区域中的三角剖分顶点,我们需要传入世界坐标系坐标和纹理坐标:

如上所示,第一到三列为顶点的世界坐标系坐标,第四到五列为顶点的纹理坐标。

对于融合区域中的三角剖分点,我们需要传入世界坐标系坐标,两个纹理坐标和融合参数λ。

如上所示,第一到三列为顶点的世界坐标系坐标,第四到五列为顶点的第一个纹理坐标(例如前侧图像纹理坐标),第六到七列为第二个纹理坐标(例如左侧图像纹理坐标),最后一列为融合参数λ。

如果采用opengles1.0固定编程管线,对于融合区域的两个纹理坐标和一个融合参数的传入,都会带来很大的困难,我们可能需要依靠模板图像等方法取巧生成,但对于opengles2.0可编程管线来说,带入多个顶点数组和多个纹理图像都是非常容易的问题。

对于非融合区域,相应的顶点着色器为:

这里aposition为顶点坐标,atexcoord为纹理坐标,uprojmatrix为世界坐标系到opengl虚拟摄像机的变换矩阵。

相应的片元着色器为:

这里vtexcoord为纹理坐标,stexture为当前某一路原始图像,texture2d(stexture,vtexcoord)即为在stexture中得到vtexcoord对应的像素值,赋值给最终显示的片元颜色变量gl_fragcolor。

对于融合区域,相应的顶点着色器为:

atexcoord1和atexcoord2为两个纹理坐标,aweight为融合参数λ,aposition和uprojmatrix同上所示。

相应的片元着色器为:

如上所示,stexture1和stexture2为两路原始图像,通过采样函数,我们得到在第一路原始图像中的像素值color1和第二路原始图像中的像素值color2,将两个颜色值通过融合参数vweight融合得到最终的片元颜色。

由于四个摄像头的光照不同,生成的原始四路图像的的亮度也不一致,我们需要在全景图像中平衡四路原始图像的亮度,为此,我们需要给四路原始图像分配不同的亮度补偿值,并将其传入到片元着色器中,如下,非融合区域片元着色器中的ucompensation,首先通过texture2d(stexture,vtexcoord)得到vtexcoord对应的像素值,再将其由rgb转换为yuv,将ucompensation加到yuv中的y分量中,之后,再将变换之后的yuv转换为rgb,亮度调整的代码如下所示:

s14输出显示

将处理后得到的全景图像通过显示单元进行显示输出。

在一个具体实施例中,采用opengl实现该方法时,如上述代码所示,当在main函数里写入了gl_fragcolor时,opengl框架随机会进行显示输出,所输出的全景图像如图5所示。

根据本发明的一种实施方式,还公开了一种终端系统,包括存储器、一个或多个处理器,以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在存储器中,并且被配置成由所述一个或多个处理器执行,所述计算机程序包括用于执行前述的3d全景生成方法的各步骤(特别地,s132中包括的各步骤,更特别地,上述实施例中采用opengl所实现的上述s1231和s1232步骤)。

根据本发明的一种实施方式,还公开了一种计算机可读存储介质,包括与上述的终端系统结合使用的计算机程序,所述计算机程序可被处理器执行以完成前述的3d全景生成方法的各步骤(特别地,s132中包括的各步骤,更特别地,上述是实施例中采用opengl所实现的上述s1231和s1232步骤)。

本发明的3d全景图像生成装置以飞思卡尔的i.mx6平台作为硬件平台,将采集到的图像利用opengl技术映射到事先建立好的三维模型上,再通过显示设备进行显示输出。本发明通过四个摄像头模块实现了全景图像的输出,系统简单,便于安装;方法稳定,简单易行,运行速度快,图像精确度高,可用性强,适用范围广,同时降低了计算量,降低了硬件、软件成本。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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