基于S32V的汽车360环视解决方案

* 来源: * 作者: 布谷鸟科技 * 发表时间: 2019-07-19 18:00:00 * 浏览: 1475


概述

 

环视系统是利用车身周围四个广角鱼眼摄像头,通常将其安装在车身的前方后方和两侧后视镜下方,形成对车身周围的360度无盲区覆盖。环视系统提供了从全景泊车视频辅助到集多种预警功能于一体的系统,成为主流ADAS市场中的重要构成部分。在自动驾驶的传感器组成中,环视传感器也因其车身周围无盲区的覆盖,成为重要组成部分。

 


系统架构

 

S32V主要负责图形图像处理,实现360环视功能, S32V与S32K系统之间通过UART接口通信。S32K作为主控单元,负责系统整体各单元协调工作并与车辆进行通信。



系统简单示意图

 

S32V处理器:该芯片是NXP提供的第二代视觉处理器系列,旨在支持图像处理的计算密集型应用,并提供了一个ISP、强大的3D GPU、双APEX-2视觉加速器和安全性,以及支持SafeAssure™。S32V适用于ADAS、NCAP前视摄像头、异物检测和识别、环视、机器学习和传感器融合应用,S32V专为汽车级可靠性、功能安全和安全措施而设计,以支持汽车和工业自动化。

 

  计算单元与环视摄像头接口

 

环视摄像头视频信号通过并行信号转MIPI接入串行器,同轴信号经过解串器(MAX9286)解串后通过Mipi接口接入S32V处理器。S32V内部(GPU或ISP)完成处理,然后通过S32V内部总线将拼接好的视频信号送给S32V显示控制器。

 

S32V摄像头单元驱动:摄像头经过串行/解串芯片连接进入S32V的MipiCsi接口。I2C负责摄像头初始化,并提供用户空间API接口,方便在用户空间读写传感器寄存器。通过用户空间的I2C API可以配置和控制各种类型的摄像头传感器。

 

摄像头驱动架构分为三层,第一层在内核空间,实现了I2C设备的基础通讯;第二层在用户空间,实现了camera的配置;第三层完成驱动的大部分功能。


S32V显示单元驱动

 

视频与数据流接口:利用S32V DCU控制器结合FPDLINK串行解串芯片,把环视视频数据输出给显示屏,为驾驶者提供360度的无盲区画面,以此提高行车安全。


环视成像系统软件设计流程



环视成像设计流程


环视成像系统软件主要分为三个部分:视角转换、全景视图拼接和图像增强。系统软件流程如上图所示,首先初始化系统的参数,设置摄像头水平方向和垂直方向视角、安装角度和安装高度等参数;然后获取车身四周的图像,将图像分为两组,即车身前方和后方的透视效果图与车身左方和右方的俯视效果图;根据设置好的参数使用图像逆投影变换算法将车身前方和后方的透视效果图转换成俯视效果的鸟瞰图;将车身周围图像全部转换成俯视效果图后,在相邻摄像头覆盖的公共区域内标定待拼接点;分别在两幅待拼接图像中确定拼接点的位置,并以此确定两幅图像的接缝;将车身周围图像两两进行拼接的各个参数生成全景图像拼接映射表保存,系统硬件通过查询此表完成全景图像的拼接生成一幅车身周围的全景图像;最后驾驶员可以根据车身周围亮度情况选择是否需要对全景图像进行图像增强处理,输出增强处理后的全景鸟瞰视频图像。



环视成像系统的算法说明


环视成像系统主要由摄像头内参标定算法、摄像头外参标定算法、环视合成算法构成。每个算法模块又可以拆分为几个子模块。


环视成像系统算法构成


内参标定,用于获取鱼眼镜头的内部结构参数,该参数与镜头的位置姿态无关,仅与光学部分以及Image Sensor的位置等内部结构有关。该模块分为四部分:首先通过膨胀腐蚀算法对原始棋盘格标定板(如下图所示)进行处理,以提高角点提取的成功率。然后,以腐蚀算法处理后得到的四边形顶点信息为依据,提取角点数据。其次,运用最小二乘法对内部参数进行粗标定。最后,利用LM非线性优化算法逐次迭代,得到包括畸变中心、畸变多项式系数、仿射变换系数在内的内部参数


鱼眼镜头标定板


外参标定模块用于确定四路鱼眼镜头相对于平铺地面标定板的姿态与位置(如下图所示),以供后面全景融合算法调用。该模块在由最小二乘法计算外参时,同时也被用来作为下一次内参迭代的新值,因此与内参标定模块相互联系。该模块的计算主要用到矩阵的SVD求解,并结合坐标变换矩阵的单位正交性质,最终得到四路摄像头的外参矩阵


外参标定示意图


环视拼接模块利用前面两模块得到的四路鱼眼摄像头的内外参数值,通过坐标变换,将其归一化到统一坐标系下,并最终合成全景环视效果。该模块主要包含四部分:首先通过坐标变换将四路棋盘格坐标系转换为统一的汽车坐标系。然后,在统一坐标系下将车身周围区域划分为四个子系统,并在各个部分依据得到的内参和外参数据,索引原始的图像坐标系下的像素值,实现重投影。其次,对外围立体部分,进行曲面重投影。最后,依据平面部分和曲面部分分区融合的原则,对合成图像进行融合,消除拼接缝隙得到最终的环视图像。