恩智浦双目视觉ADAS解决方案
双目视觉ADAS芯片-S32V234
S32V234采用了4颗ARM Cortex A53作为核心CPU,以获得更高的性能功耗比。利用一颗ARM Cortex M4作为片上MCU,用于关键IO(如CAN-FD)的实时控制,并支持AutoSAR操作系统。芯片内部包含可编程的图像信号处理器(ISP),所以配搭的图像传感器可以输出raw data,从而降低物料成本,节省空间尺寸。
另外,芯片还包含了两个名为APEX2CL的视觉加速引擎。每个APEX2CL拥有64个本地计算单元(CU),并配有本地内存和专用DMA,通过SIMD/MIMD(单指令多数据/多指令多数据)方式对图像识别过程进行加速。
另外值得指出的是,考虑到ADAS系统对安全性和可靠性的严苛需求,S32V234在设计时加入了诸如ECC(错误检查与纠正),FCCU(故障收集与控制单元),M/L BIST(内存/逻辑内置自测)等多种安全机制,能够满足ISO26262 ASIL B~C的需求。
双目视觉ADAS的优势
相比于单目视觉,双目视觉(Stereo Vision)的关键区别在于可以利用双摄像头从不同角度对同一目标成像,从而获取视差信息,推算目标距离。具体到视觉ADAS应用来说,如果采用单目摄像头,为了识别行人和车辆等目标,通常需要大规模的数据采集和训练来完成机器学习算法,并且难以识别不规则物体;而利用毫米波雷达和激光雷达进行测距的精度虽然较高,但是成本和难度亦较高。
双目视觉的最大优势在于维持开发成本较低的前提下,实现一定精度的目标识别和测距,完成FCW(前方碰撞预警)等ADAS功能。
双目视觉测距的基本原理如图2所示:目标点P在两个相机中的视差为d=EC+DF,根据三角形的相似性,推导可得距离z=(fq)/d。其中焦距f和相机光轴距离q可认为是固定参数,所以求出视差信号d即可求得距离z。
双目视觉的测距步骤
相机标定
图像获取
图像预处理
特征提取与立体匹配
三维重构
其中,相机标定是为了得到相机的内外参数和畸变系数等,可以离线进行;而左右相机图像获取的同步性,图像预处理的质量和一致性,以及立体匹配(获取视差信息)和三维重构(获取距离信息)算法的实时性要求带来的巨大运算量,对在嵌入式平台上实现双目视觉ADAS提出了挑战。
双目视觉ADAS的应用
S32V234芯片上具有两路MIPI-CSI2相机接口,每一路最大可提供6Gbps的传输速率,可用于左右两路相机的视频输入。由于两路相机分别输入两个MIPI通道,需要考虑二者之间的同步问题。在外部图像传感器的配合下,S23V324能够支持不同的同步方式。如图3所示,图像传感器通常具有场同步信号(VSYNC)和行同步信号(HSYNC)来进行信号同步:
⊿ 当两路相机工作在主从模式时,由Master向Slave发送同步信号
⊿ 当两路相机都工作在从模式时,可由S32V234内部定时器产生同步信号,同时发送给两路相机。
在S32V234获取外部相机的图像信号后,可以由内部的ISP进行预处理。ISP模块包含多个内部处理单元,利用片上SRAM对输入信号和中间结果进行缓存,并采用专用协处理器来管理ISP处理单元的时序,从而实现流水线式的ISP处理。内置ISP不仅能够节省双路相机的成本,且其运算资源和带宽能够支持对双路高清图像信号的实时处理,保证了双路图像信号的质量和一致性。
双目视觉ADSA的解决方案
在双目视觉ADAS应用中,最大的挑战来自于对两路图像进行立体匹配和三维重构所需要的巨大运算量。以FCW应用为例,既要求视差信号的提取具有足够的精度以保证测距精度,又要求处理帧频维持一定水平以保证预警的响应速度,因此要求嵌入式平台具有足够的处理能力。
S32V234中集成的图像加速引擎APEX2的结构如图4所示,其并行计算结构,本地内存和专用DMA等设计保证了对图像信号具有极高的处理效率。ISP对图像信号预处理完毕后送入DDR,APEX2引擎将图像分割后经由专用DMA将其送入每个CU对应的本地内存CMEM中,而立体匹配所需要的块匹配(Block Matching)等算法可以在不同的CU中并行处理,处理完毕后的数据经由DMA送回DDR,由CPU进行进一步处理(如生成预警信号),或送至专门的DCU(Display Control Unit)模块输出显示。
综上所述,基于S32V234的双目视觉应用数据流如图5所示。在该应用中,数据流按照ISP-APEX2-DCU的方向流动,A53作为主控CPU完成逻辑控制和必要的数据处理。通过这种流水线式的处理方式,可以使各部分计算资源充分利用。
利用S32V234开发板搭建双目视觉平台,对双路720p@30fps视频信号进行处理,其输出结果如图6所示。其中从左至右的三幅图中目标与相机的距离分别为
ARM Cortex M4 ADAS 解决方案 恩智浦 相关文章:
- 基于ARM+FPGA的大屏幕显示器控制系统设计(06-30)
- 基于ARM和μC/OS-II的车载定位终端的设计(06-24)
- 解读物联网时代下的ARM mbed 操作系统(05-03)
- 用ARM和FPGA搭建神经网络处理器通信方案(07-19)
- ARM新一代Cortex-A73架构解析 千元机也能有高端SoC(05-06)
- 阿里巴巴将大量采用ARM处理器 Intel怎么办?(11-14)