一种基于OPENGL的车载环视多视角全景生成方法与流程

文档序号:14912350发布日期:2018-07-10 23:46阅读:878来源:国知局

本发明涉及汽车电子技术领域,特别是一种基于OPENGL的车载环视多视角全景生成方法。



背景技术:

近年来,随着经济的发展和人民生活水平的提高,越来越多的家庭选择汽车作为日常出行工具。然而,由于车窗及后视镜等辅助观测设备可提供的视野范围有限,经常导致一些剐蹭及碾压等悲剧的发生。

为了解决该问题,一种仅在车辆尾部安装一颗镜头的倒车辅助系统应运而生。该系统实时将尾部摄像头画面传送至车内中控屏幕,较雷达相比观测结果更为直观,可有效帮助驾驶员在倒车时快速理解周围环境,从而减少事故的发生。

然而,该系统仅消除了驾驶员的车尾部观测盲区,且仅在倒车时起到一定驾驶安全辅助作用,并未消除车辆A柱,B柱及引擎盖等部位的盲区,车辆仍存在较大的剐蹭及碰撞风险。

为了全面提升驾驶员的视野范围,使驾驶员能够更为快速的感知理解车辆周围环境,基于鱼眼镜头的2D全景泊车辅助系统应运而生。该系统利用安装于车辆前后保险杠及左右后视镜的四个鱼眼相机实时生成虚拟于车顶上方的俯视观测结果,有效减少了驾驶员的观测盲区,进一步提升了驾驶安全。

但是,由于该系统将所有物体投影到地面,当观测视野较大时,场景拉伸十分严重,驾驶员观测时很难快速理解周围场景,故该系统通常只在低速泊车时有效。当车速较高时,由于其有限的视野范围,其辅助驾驶的作用不大。

为了解决该问题,专利《用于辅助驾驶的车辆多视角全景生成方法》及专利《一种全景辅助泊车系统、装置及全景图像显示方法》等提出了基于平底球或平底碗的多视角全景生成方法,该类方法有效解决了距车身较远场景在2D全景中畸变严重的问题,将全景驾驶辅助系统的应用范围扩展至车辆快速行驶的情形。

然而,由于该类方法未将单应性矩阵转换为相机坐标系相对于世界坐标系的旋转角及平移向量,故超出地平面的部分无法通过精确计算得到,其3D全景存在较大误差。除此之外,由于该类算法在运算过程中未使用GPU,故不同3D视角间只能瞬间切换,无法实现连续观测的效果,用户的沉浸感较差。

因此,为了克服上述已有方法的缺陷,有必要提出一种基于OPENGL的多视角全景生成方法,已提升3D多视角全景的精度并提升用户的沉浸感。



技术实现要素:

本发明拟解决传统基于CPU的3D多视角全景沉浸感较差的问题,提供一种基于OPENGL的车载环视多视角全景生成方法。

本发明为解决上述技术问题采用以下技术方案

(1)铺设标定布于车辆四周,测量并记录标定布上各特征点在世界坐标系中的三维坐标。标定布铺设:

在车辆四周按既定尺寸铺设标定布,用以确定标定布中各特征点在世界坐标系中的坐标;铺设标定布时,需精确测量标定布在世界坐标系中的位置,并记录关键的距离参数,通过该距离参数,即可精确计算标定布中各特征点在世界坐标系中的坐标。图2所示的标定布布局为标定布铺设的一种具体实施方式,但本方法所述的标定布不限于该具体形式,但需至少保证每个鱼眼相机至少可观测到4个特征点,以确保后续步骤可正确解出单应性矩阵H。

(2)手动选取或自动检测图像中标定布上的特征点,根据镜头厂商提供或手动标定计算得到的镜头畸变曲线以及其他相机参数,计算得到这些特征点所对应的相机坐标系中的入射光线向量;图像内标定布中特征点检测及入射光线计算:

为精确求解相机在世界坐标系中的具体位置,对于每个相机,需建立该相机坐标系及世界坐标系之间的方程组,将世界坐标系及图像坐标系中的特征点坐标作为已知量,带求解的相机位置及朝向作为未知量,以解方程组的方式求解世界坐标系及各相机坐标系之间的单应性矩阵H。

其中,对于图像内任一特征点像素坐标p(u,v),根据公式(1)去除相机内切向畸变,可得切向畸变去除后特征点像素坐标p'(u',v')。

然后,根据标定得到的相机径向畸变参数或厂商提供的镜头畸变参数,即可计算得到该特征点所对应的相机坐标系中的入射向量以通过相机标定得到的径向畸变参数为例,如公式(2)所示:

其中,

公式(2)为使用相机标定得到的相机径向畸变参数求解像素点对应的入射向量所提方法不限于使用该方法。当使用镜头厂商提供的畸变曲线时,将公式(2)中曲线函数替换为查表操作即可。

(3)通过直接线变换法(Direct Line Transformation,DLT)计算得到前后左右四相机坐标系同世界坐标系间的单应性矩阵H。单应性矩阵H计算:

将世界坐标系中特征点坐标P=(X,Y,Z)经透视变换后即可得到其相机坐标系中的坐标,通过鱼眼相机模型亦可计算得到的自动检测或手动选取像素点在相机坐标系中的坐标,分别将此二坐标视为向量,由其共线可知:

其中λ为尺度因子,H为3*3维矩阵,由共线可知两向量叉积为零向量,故有:

其中,

故将坐标带入公式(6)并展开可得

由于单应性矩阵H含八自由度(最后意为可归一化为1)以及世界坐标系中地面上Z坐标为0,故当样本点对数目为4时(世界坐标系中特征点坐标及相机坐标系中对应特征点坐标组成一个样本点对),方程组存在唯一解。当样本点对数目大于4时,待求解方程组为超定方程组,此时该求解结果可以避免一些误检测干扰点的影响,具有更好的鲁棒性,可利用SVD分解或LU分解等方法对该方程组进行求解。当样本点对数目小于4时,方程组存在多解,故无法精确求得相机位置参数。因此,每个相机画面内至少需包含4个特征点对,以确保方程组有解。

(4)利用Rodrigues变换计算上述单应性矩阵H所对应的相机坐标系到世界坐标系的旋转角θ及平移向量t。利用Rodrigues变换计算世界坐标系到相机坐标系的旋转角θ及平移向量t:

由于单应性矩阵为描述世界坐标系到相机坐标系间投影的透视变换,故若采用此方法则无法保留3D碗状模型中超出地平面之外部分的有效像素。故而,需要将上述单应性转换为欧拉角θ及平移向量t,以确保3D全景中所有高于地平线部分像素有效保留。根据Rodrigues变换即可求得相机世界坐标系及各相机坐标系间的对应关系,反之亦可求解出相机在世界坐标系中的精确位置。此小节由于采用通用方法,故在此不再赘余。

(5)以车辆在地面投影中心为世界坐标系原点,建立平底碗状模型,并确定融合区域及融合方法。平底碗状模型的建立:

本发明采用平底碗状模型作为基础投影面。同以往2D全景采用平面作为投影面不同,该方法有效避免了2D全景投影模型中无法保留3D全景中地平面以上部分及距车较远处拉伸严重的现象,同时弥补了通过单镜头无法恢复处物体深度的弊端,在一定程度上提升了驾驶员对周围环境的快速感知能力。本发明并不限制基础投影面为平底碗模型,当底面不为平面或侧面为抛物面等模型亦可,但要确保模型的连续性。

对于相邻相机间需要进行融合的部分,可采用按角度线性融合,按x或y方向线性融合等方法。本发明不对融合方法进行限制,但需却确保融合系数的连续性及底面与立面间融合系数的连续性。

(6)利用(4)中旋转角θ及平移向量t计算平底碗状模型中各关键点与原图像素坐标的映射关系。

本发明的示例说明中,所求解参数均为世界坐标系到相机坐标系的参数变换,但该变换不限于此方向。当所求解参数为相机坐标系到世界坐标系的参数变换时,其反向变换参数的计算公式如公式(8)所示:

(7)实时获取原始鱼眼畸变图像并将其转化为纹理,利用(6)中所得到的映射关系对(5)中模型进行贴图。

根据公式(8)即可求得空间世界坐标系内任一位置在各相机坐标系中的坐标,再根据相机内参,即可求得该位置在鱼眼图像中的坐标。然后,即可使利用该变换关系,将鱼眼图像中关键点通过确定好的规则映射到(5)中碗状模型的表面,通过纹理坐标获取纹理对象中的纹理,最终显示在屏幕区域上。配置纹理间隔时,可根据GPU性能选择合理间隔,已达到更加逼真的效果。

(8)设置虚拟观测相机参数及运动路径,监测CAN或LIN信号,当检测到触发信号时,控制虚拟相机按既定路径运动并实时输出渲染结果至显示屏进行显示。

设置虚拟观测相机的起止位置、相机朝向、运动路径及速度等参数,当检测到CAN或LIN信号中对应信号触发时,控制该虚拟相机按既定的起止位置、相机朝向、速度等参数运动,并实时将观测结果渲染至输出缓存供显示屏显示。

本发明采用以上技术方案与现有技术相比,具有以下技术效果。

(1)较传统2D全景相比,有效减少了距车体较远物体的畸变,有助于驾驶员能够快速理解车辆周围环境。

(2)采用Rodrigues变换求解相机的朝向及位置,有效克服了传统基于单应性矩阵无法保留地平线以上物体的弊端,为驾驶员提供了更为宽广的视野范围。

(3)较传统基于CPU的多视角全景相比,基于OPENGL的多视角全景生成方法无需生成查找表,绝大部分操作均在GPU内完成。有效克服了当需要对车身场景进行连续变换时基于CPU的多视角全景生成方法受限于嵌入式平台有限的运算能力,无法实现动态连续观测效果的问题,提升了驾驶员的沉浸感及车身周围环境快速感知能力,进而提升了驾驶安全。

附图说明

图1是本发明的处理流程图;

图2是本发明中一种标定布铺设的具体实施方式;

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明一种基于OPENGL的车载环视多视角全景生成方法,包括以下8个步骤,具体如下:(1)铺设特定的标定布于车辆四周,测量并记录标定布上各特征点在世界坐标系中的三维坐标。标定布铺设:

在车辆四周按既定尺寸铺设标定布,用以确定标定布中各特征点在世界坐标系中的坐标。铺设标定布时,需精确测量标定布在世界坐标系中的位置,并记录关键的距离参数,通过该距离参数,即可精确计算标定布中各特征点在世界坐标系中的坐标。吐2所示的标定布布局为标定布铺设的一种具体实施方式,但本方法所述的标定布不限于该具体形式,但需至少保证每个鱼眼相机至少可观测到4个特征点,以确保后续步骤可正确解出单应性矩阵H。

(2)手动选取或自动检测图像中标定布上的特征点,根据镜头厂商提供或手动标定计算得到的镜头畸变曲线以及其他相机参数,计算得到这些特征点所对应的相机坐标系中的入射光线向量;图像内标定布中特征点检测及入射光线计算:

为精确求解相机在世界坐标系中的具体位置,对于每个相机,需建立该相机坐标系及世界坐标系之间的方程组,将世界坐标系及图像坐标系中的特征点坐标作为已知量,带求解的相机位置及朝向作为未知量,以解方程组的方式求解世界坐标系及各相机坐标系之间的单应性矩阵H。

其中,对于图像内任一特征点像素坐标p(u,v),根据公式(1)去除相机内切向畸变,可得切向畸变去除后特征点像素坐标p'(u',v')。

然后,根据标定得到的相机径向畸变参数或厂商提供的镜头畸变参数,即可计算得到该特征点所对应的相机坐标系中的入射向量以通过相机标定得到的径向畸变参数为例,如公式(2)所示:

其中,

公式(2)为使用相机标定得到的相机径向畸变参数求解像素点对应的入射向量所提方法不限于使用该方法。当使用镜头厂商提供的畸变曲线时,将公式(2)中曲线函数替换为查表操作即可。

(3)通过直接线变换法(Direct Line Transformation,DLT)计算得到前后左右四相机坐标系同世界坐标系间的单应性矩阵H。单应性矩阵H计算:

将世界坐标系中特征点坐标P=(X,Y,Z)经透视变换后即可得到其相机坐标系中的坐标,通过鱼眼相机模型亦可计算得到的自动检测或手动选取像素点在相机坐标系中的坐标,分别将此二坐标视为向量,由其共线可知:

其中λ为尺度因子,H为3*3维矩阵,由共线可知两向量叉积为零向量,故有:

其中,

故将坐标带入公式(6)并展开可得

由于单应性矩阵H含八自由度(最后意为可归一化为1)以及世界坐标系中地面上Z坐标为0,故当样本点对数目为4时(世界坐标系中特征点坐标及相机坐标系中对应特征点坐标组成一个样本点对),方程组存在唯一解。当样本点对数目大于4时,待求解方程组为超定方程组,此时该求解结果可以避免一些误检测干扰点的影响,具有更好的鲁棒性,可利用SVD分解或LU分解等方法对该方程组进行求解。当样本点对数目小于4时,方程组存在多解,故无法精确求得相机位置参数。因此,每个相机画面内至少需包含4个特征点对,以确保方程组有解。

(4)利用Rodrigues变换计算上述单应性矩阵H所对应的相机坐标系到世界坐标系的旋转角θ及平移向量t。利用Rodrigues变换计算世界坐标系到相机坐标系的旋转角θ及平移向量t:

由于单应性矩阵为描述世界坐标系到相机坐标系间投影的透视变换,故若采用此方法则无法保留3D碗状模型中超出地平面之外部分的有效像素。故而,需要将上述单应性转换为欧拉角θ及平移向量t,以确保3D全景中所有高于地平线部分像素有效保留。根据Rodrigues变换即可求得相机世界坐标系及各相机坐标系间的对应关系,反之亦可求解出相机在世界坐标系中的精确位置。此小节由于采用通用方法,故在此不再赘余。

(5)以车辆在地面投影中心为世界坐标系原点,建立平底碗状模型,并确定融合区域及融合方法。平底碗状模型的建立:

本发明采用平底碗状模型作为基础投影面。同以往2D全景采用平面作为投影面不同,该方法有效避免了2D全景投影模型中无法保留3D全景中地平面以上部分及距车较远处拉伸严重的现象,同时弥补了通过单镜头无法恢复处物体深度的弊端,在一定程度上提升了驾驶员对周围环境的快速感知能力。本发明并不限制基础投影面为平底碗模型,当底面不为平面或侧面为抛物面等模型亦可,但要确保模型的连续性。

对于相邻相机间需要进行融合的部分,可采用按角度线性融合,按x或y方向线性融合等方法。本发明不对融合方法进行限制,但需却确保融合系数的连续性及底面与立面间融合系数的连续性。

(6)利用(4)中旋转角θ及平移向量t计算平底碗状模型中各关键点与原图像素坐标的映射关系。

本发明的示例说明中,所求解参数均为世界坐标系到相机坐标系的参数变换,但该变换不限于此方向。当所求解参数为相机坐标系到世界坐标系的参数变换时,其反向变换参数的计算公式如公式(8)所示:

(7)实时获取原始鱼眼畸变图像并将其转化为纹理,利用(6)中所得到的映射关系对(5)中模型进行贴图。

根据公式(8)即可求得空间世界坐标系内任一位置在各相机坐标系中的坐标,再根据相机内参,即可求得该位置在鱼眼图像中的坐标。然后,即可使利用该变换关系,将鱼眼图像中关键点通过确定好的规则映射到(5)中碗状模型的表面,通过纹理坐标获取纹理对象中的纹理,最终显示在屏幕区域上。配置纹理间隔时,可根据GPU性能选择合理间隔,已达到更加逼真的效果。

(8)设置虚拟观测相机参数及运动路径,监测CAN或LIN信号,当检测到触发信号时,控制虚拟相机按既定路径运动并实时输出渲染结果至显示屏进行显示。

设置虚拟观测相机的起止位置、相机朝向、运动路径及速度等参数,当检测到CAN或LIN信号中对应信号触发时,控制该虚拟相机按既定的起止位置、相机朝向、速度等参数运动,并实时将观测结果渲染至输出缓存供显示屏显示。

本发明采用以上技术方案与现有技术相比,具有以下技术效果。

(1)较传统2D全景相比,有效减少了距车体较远物体的畸变,有助于驾驶员能够快速理解车辆周围环境。

(2)采用Rodrigues变换求解相机的朝向及位置,有效克服了传统基于单应性矩阵无法保留地平线以上物体的弊端,为驾驶员提供了更为宽广的视野范围。

(3)较传统基于CPU的多视角全景相比,基于OPENGL的多视角全景生成方法无需生成查找表,绝大部分操作均在GPU内完成。有效克服了当需要对车身场景进行连续变换时基于CPU的多视角全景生成方法受限于嵌入式平台有限的运算能力,无法实现动态连续观测效果的问题,提升了驾驶员的沉浸感及车身周围环境快速感知能力,进而提升了驾驶安全。

如图1所示,首先,根据采集得到的包含标定布的鱼眼相机原始图像及标定得到的或厂商提供的摄像机内参,通过DLT变换即可求解得到描述相机坐标系与世界坐标系之间变换关系的单应性矩阵H。然后,利用该矩阵即可求解相机的旋转角θ及平移向量t,从而有效精确的保留场景中地平面以上部分信息。进一步的,对车身周围环境采用碗状模型进行建模,并结合相机内外参确定模型及鱼眼相机原始图像间的映射关系。最后,设置虚拟相机观测及运动参数并实时获取4幅原图进行渲染,得到输出结果以进行显示。

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