处理中...

首页 > 资料大全 > 技术资料 >

牛汽车环视系统设计,实现360度无死角的安全驾驶

牛汽车环视系统设计,实现360度无死角的安全驾驶
来源:EEFOCUS 时间:2015-09-02

一. 项目概述

随着当前国民经济的快速发展和人民生活水平的提高,越来越多的家庭拥有汽车作为代步工具,如何安全便捷地泊好车成为了众多驾驶者共同面对的难题。

 

传统的泊车系统主要通过三种手段使司机能够看到汽车后方情况,这些手段分别是倒后镜、倒车雷达和倒车摄像头。然而,这三种手段都存在车侧面这个盲区。对于一些较复杂路段,司机只能看到前后方向,而车体两侧则容易被路边异物刮伤。

 

因此,对汽车360°环视系统进行研究和开发具有很高的前景性和应用性。本项目采用Xilinx Spartan 6  FPGA进行算法的开发及系统控制。

 

二.系统功能描述

2.1 系统功能

根据本项目的设计目标,本设计需要完成的功能有:

  1. 采集车的前方后方共四个摄像机的图像信息
  2. 将四个摄像机得到的视频信息通过视频处理技术,拼接成一幅360度环视图像
  3. 360度环视图像需要有连贯性, 不能感觉到有明显拼接迹象

 

2.2 时间性能

根据本项目的设计目标,汽车环视系统应该能够对连续视频帧图像进行实时处理, 以保证汽车驾驶的安全性。

 

三. 方案设计

3.1 系统工作原理

3.1.1 理论分析

为了达到360°全景的目标,每个摄像头必须具有90°以上的视角,因此设计中我们采用了视角达170度的广角鱼眼镜头。

 

使用中因为镜头视角足够大,不同摄像头的影像就会存在部分重叠现象,这样只要合理配置摄像头的位置,同时对重叠部分进行合理拼接,就可以从4个摄像头的影像恢复出360度视角的环视影像。

 

3.1.2 系统整体结构

本系统采用Xilinx Spartan 6  FPGA进行系统控制及图像处理算法的开发,根据系统功能需求和性能要求的分析,可得到其系统框图如下所示:

 

系统框图

 

由图可见,本系统主要由3部分组成,分别为摄像头(4个),信号处理和显示等。由摄像头采集的视频信号经过采样后送到信号处理部分进行图像处理和拼接,后送到VGA液晶显示器显示。

 

3.2 系统方案实现

3.2.1 系统硬件设计

系统硬件设计如下图所示:

 

 

摄像头采集图像信号后送到ADV7184进行PAL信号解码,解码后的数字信号送到Spartan-6 FPGA进行各种图像处理,完成以后再将RGB信号送到ADV7123进行VGA格式视频输出。

 

  1. ADV7184是一款集成式视频解码器,能够自动检测与全球NTSC、PAL和SECAM标准兼容的标准模拟基带电视信号,并将其转换为与16位或8位CCIR 601/CCIR 656兼容的4:2:2分量视频数据。
  2. Spartan – 6是本系统的核心器件,其具有如下特点:

 

• 专用于低成本设计

• 极低的静态与动态功耗

• 多电压、多标准 SelectIO™ 接口 bank

• 高效率 DSP48A1 Slice

• 高性能算术与信号处理

• 快速 18 x 18 乘法器和 48 位累加器

• 流水线与级联功能

• 用于协助滤波器应用的预加法器

• 集成存储器控制器模块

• 针对以流水线应用而设计的 LUT,具有双触发器

• 具有各种粒度的 Block RAM

• 低噪声,高灵活度的时钟控制

 

  1. ADV7123是一款高速数模转换器,内置三个高速、10位、带互补输出的视频数模转换器、一个标准TTL输入接口以及一个高阻抗、模拟输出电流源,用于驱动VGA输出。其具有以下特点:
    • 吞吐量:330 MSPS
    • 三通道、10位数模转换器
    • 无杂散动态范围(SFDR)
    • RS-343A/RS-170兼容输出
    • 互补输出
    • DAC输出电流范围:2 mA至26 mA
    • TTL兼容输入

 

 

3.2.2 系统软件设计

 

如图所示,本环视系统工作分为8步,其中,YCrCb到RGB制式转换、图像去噪、形状校正、图像裁切和拼接都由FPGA完成。

 

  1. 在ADV7184解码完毕后输出YCrCb信号,为了方便后续处理过程,将其转换为RGB格式。YCrCb与RGB制的转换如下:
  2. 由于摄像头(如CCD等)在成像时或多或少会引入噪声,尤其景物亮度不足时噪声很明显,这将影响后续的处理工作。因此,需要对转换好的信号进行去噪。
  3. 由于采用鱼眼镜头,边缘处的部位会发生变形,因此,要进行形状校正。
  4. 在进行完前述的几步处理后,接下来就可以对图像进行裁切和拼接了。图像拼接的办法有很多,这里可以采用先计算出每个镜头需要的形状,然后按计算结果进行裁切和拼接。