文献标识码:A
文章编号: 0258-7998(2014)10-0020-03
0 引言
360°全景泊车影像系统是近年来兴起的一项热门的汽车安全应用,有效弥补了倒车雷达和倒车影像存在盲区的不足。其基本原理为:在车的前后保险杠和左右后视镜下安装4个超广角鱼眼摄像头,摄像头采集到的视频信号送到视频处理器,视频处理器首先使用鱼眼矫正算法和鸟瞰变换算法把畸变的图像变成俯视的非畸形的视频图像,再使用全景拼接技术把四幅图像进行裁剪拼接,形成汽车周围的360°全景影像[1]。其原理如图1所示。
1 系统方案与指标
系统主要由三部分组成:水平视角为180°的鱼眼摄像头、主机板卡、7英寸TFT显示屏幕。全景泊车影像系统是安装于汽车上的电子设备,因此其各类接口以及可靠性设计必须符合车载环境的要求。系统的性能指标如表1所示。
2 硬件系统设计与实现
TMS320DM6437是TI公司的32位定点DSP达芬奇技术的处理器,主频最高可达700 MHz,具有32 bit、256 MB寻址空间的DDR2存储器接口和8 bit、64 MB寻址空间的异步存储器接口,片上集成了视频处理子系统VPSS,支持汽车上用于电子设备通信的CAN总线,因此TMS320DM6437非常适合车载视频设备的开发应用[2]。主机板卡主要由视频采集模块、外围存储模块、视频输出接口、通信接口和电源模块5部分构成,其结构如图2所示。
(1)视频采集模块:视频采集模块将4路180°鱼眼摄像头采集的模拟视频信号通过标准AV接口输入到4路视频编解码芯片TVP5158中,TVP5158芯片对模拟视频信号进行AD采样、滤波、压缩编码,使用该芯片独有的行交叉模式以8位BT.656数据格式输入到TMS320DM6437中。
(2)外围存储模块:板卡使用三星公司的2片K4T51163芯片扩展1 GB容量的DDR2 SDRAM,用于存放运行过程中的数据和程序,使用1片飞索公司的S29GL128P扩展128 MB Flash用于存放固定程序和数据。
(3)视频输出接口:TMS320DM6437通过芯片内部集成的视频处理子系统VPSS将处理后的图像经DA变换形成CVBS的模拟视频信号,然后通过视频滤波放大器OPA361输出到标准AV接口上。
(4)通信接口:板卡通过JTAG接口进行仿真和调试。预留RS232串行接口用于与PC通信。预留CAN总线接口连接汽车的OBD接口,用于高级功能扩展。
(5)电源模块:板卡采用5 V单电源供电,使用4片TI公司的高精度开关稳压电源芯片TPS54310,为各芯片提供所需的+1.1 V、+1.2 V、+1.8 V、+3.3 V电源,其最大输出电流可达3 A[3],并使用TPS54310的启动控制功能将板卡上电顺序严格控制为先内核再IO,确保板卡上电时逻辑状态的确定性。
在PCB布线中运用了DDR芯片分组等长走线、数字部分和模拟部分单点共地、电源层不规则分割等抗干扰技术保证了主机板卡运行的可靠性和稳定性。
3 软件构架以及核心算法的实现
本文使用了CCS3.3集成开发环境、DSP/BIOS操作系统和数字视频软件开发包DVSDK来建立系统的软件构架,其主要由图像采集、4路视频分离、鱼眼矫正、鸟瞰变换、全景拼接、图像显示六部分组成,系统的软件组成如图3所示。
(1)图像采集与显示:图像的采集与显示通过DSP/BIOS操作系统在软件后台自动维护一个采集队列和一个显示队列来实现。当板卡上电后,DSP/BIOS自动生成并调用BIOS_init()函数初始化注册的VPFE0、VPBE0、I2C0微型驱动,再调用main()函数对DM6437的功能寄存器进行初始化配置,DSP/BIOS创建视频采集、显示任务线程后调用IDL_loop()函数使DSP进入空闲循环,等待采集中断VDINT0和显示中断VENC。当接收到VDINT0时DSP将从VPFE采集到的一帧放入到采集队列中,当接收到VENC时DSP从显示队列中取出一帧交给VPBE显示,这样视频的采集和显示在后台自动运行,应用程序只需要从采集队列里取出一帧处理后交给显示队列即可。流程图如图4所示。
(2)4路视频分离:TVP5158将4路D1格式的视频帧先分别压缩为cif格式即360×240大小的帧,再将4个cif格式帧采用行交叉的模式复合成720×1 052大小的超级帧,并在每一行有效数据的前端插入通道号和行号以标识这一行有效数据的位置,应用程序中通过读取超级帧中每行数据的通道号和行号将有效数据剥离并拼接成4个视频帧[4]。4路视频分离的示意图如图5所示。
(3)鱼眼矫正:本文将鱼眼镜头整体上理解为一个非线形系统,如图6所示,其中点P(u,v,z)为镜头球面上一点,P′(x,y)为校正后P点对应坐标,鱼眼镜头可以用下面的方程式来描述:
至此便完成了鱼眼图像与正常图像之间的坐标变换,通过图像处理中的双线性插值法,便可以得到校正后的图像。鱼眼矫正的效果如图7所示。
(4)鸟瞰变换:系统的前后摄像头是以一定的角度向前后照的,因此前后图像会产生梯形形变,需要用鸟瞰变换将梯形形变矫正成俯视的效果。本文自制了标定盘,在前后摄像头中首先标定出矩形的角点,由6对角点的坐标来计算透射变换矩阵,利用双线性差值将图像变换成鸟瞰图像[5],鸟瞰变换的原理如图8所示。
(5)全景拼接:将标定板分别放置于车体的前后,标定板中线与车身中轴线重合,在4个摄像头中会分别看见重合的区域,在每个摄像头中通过标定重合点作为裁剪的参考,最后以标定点的位置将裁剪图像拼接在一起。全景拼接的原理如图9所示。
4 系统测试与效果
在实验室搭建测试平台,使用400 cm×150 cm×90 cm的桌子模拟汽车,在桌子前后左右固定了4个鱼眼摄像头,将主机板卡和显示器固定在桌子上,使用开关稳压电源为系统提供12 V和5 V电源。系统调试实验的效果如图10所示。
通过系统联调实验得出以下结论:
(1)图像鱼眼矫正和鸟瞰变换效果基本达到设计要求,但图像边缘处仍有一些变形。
(2)拼接效果良好,如图10(b)所示,在图像拼接处放置白纸,可以看到接缝处的拼接准确。
(3)经过时间分析软件的测试,图像的处理速度在每秒28帧左右,视频动态效果流畅。
(4)系统连续工作4 h,发热量很小,且工作稳定无异常。
参考文献
[1] 丁鑫.全景视觉泊车辅助系统研究[D].杭州:浙江大学,2010.
[2] Texas Instrument.TMS320DM6437 datasheet[Z].2006.
[3] Texas Instrument.TPS54310 datasheet[Z].2002.
[4] Texas Instrument.TVP5158 datasheet[Z].2009.
[5] 马颂德,张友正.计算机视觉——计算理论与算法基础[M].北京:科学出版社,1998.