基于DSP的汽车辅助驾驶行人自动检测装置设计
2017-05-18许德衡李昊伦
许德衡,李昊伦,陈 昊
(沈阳理工大学 自动化学院,辽宁 沈阳 110159)
基于DSP的汽车辅助驾驶行人自动检测装置设计
许德衡,李昊伦,陈 昊
(沈阳理工大学 自动化学院,辽宁 沈阳 110159)
针对车辆与行人时常发生碰撞事故现象,文中研究了一种DSP汽车辅助驾驶行人自动检测系统,对基于DM6437的行人检测硬件实现平台进行了设计,采用行人检测系统的图像处理算法,优化了算法代码。实验结果表明,该汽车辅助驾驶行人自动检测装置能够实现对行人的自动检测,并发出相应警告,有效地避免了车辆与行人发生碰撞事故,且代码执行效率高。
行人检测;DM6437;图像处理;代码优化
行人自动检测是利用摄像头从外界环境中获得图像,实现行人的识别与跟踪的一项技术。它能运用数字图像处理与目标识别等技术从中分析并且获得行人的信息[1]。DSP是一个微型计算机,它按照指令对二进制的数字信号进行计算,运算速度快。由于行人检测系统具有高度的实时性和检测算法的复杂性,所以DSP行人自动检测系统能够满足在一般场景下具有实时性处理的要求[2]。本文研究的行人自动检测技术能够有效地自动帮助人们检测车辆前方的行人,而且能够发出相应警告,避免与行人发生碰撞,为双方的生命与财产带来了保障。因此,行人自动检测系统的开发具有较好的使用价值[3]。
1 硬件系统设计
本文设计的基于DSP的汽车辅助驾驶行人自动检测装置的整体系统框图如图1所示,该系统由摄像头、DSP处理器、显示器、报警器等部分构成。该系统通过摄像头获取视频图像,能够将视频图像送到视频模块中。视频模块首先对编解码器进行初始化操作,然后对视频处理子系统中的视频前端和视频后端进行初始化操作,再打开编解码通道,对模拟视频图像进行模/数(A/D)转换,并将经过解码的视频数据接收到视频缓冲区[4-5]。最后系统在视频缓冲区中对所得到的视频数据进行处理,并将最终的结果显示到屏幕上,如有行人经过将发出警报。处理过程也就是执行行人检测算法的过程。
图1 整体系统框图
1.1 DM6437 DSP的结构功能特点
DM6437片内有分为相同的两组8个并行处理单元,其体系结构采用甚长指令字(VLIW)结构,单指令字长为32 bit,8个指令组成一个指令包,总字长为8×32=256 bit。这8个单元可以同时运行:芯片内部设置了专门的指令分配模块,可以将每个256 bit的指令包同时分配到8个处理单元。 为了在处理通信和影像算法中获得最大的并行性,C64x内核的8个功能单元能够在每个周期内执行4组16位MAC运算或8组8位MAC运算。单个C64×DSP在保证有50%的余量留给多通道语音和数据编码的同时,能够完成一个通道的MPEG4视频编码、一个通道的MPEG4视频解码和一个MPEG2视频解码。DM6437包含一个VPSS,它是由可配置的视频接口视频处理前端(VPFE)和视频处理后端(VPBE)组成。VPFE负责为多种标准视频提供接口,对输入的原始图像数据做一些预处理;VPBE用于驱动显示器显示图像。另外,DM6437还提供了丰富的外设接口以更好的控制外部设备和与外部设备进行通信:2个可配置的视频接口,1个10/100 Mbit·s-1的EMAC,1个I2C接口,1个McASP,2个McBSP,1个64位看门狗定时器,1个JTAG仿真器,2个64位的通用定时器和2个无缝的外部存储器接口[6-8]。
1.2 基于DM6437的视频处理
本系统是基于DM6437的DSP平台。摄像头获取图像并实时的传送到DSP开发板上,经过视频解码器芯片TVP5146进行A/D转换,将获取到的模拟信号转化为数字信号,数字图像信号在通过视频处理前端(VPFE)进行一些预处理操作,进入到视频采集队列,等待DSP去获取图片进行处理。在对视频采集队列中的图片经过行人检测算法处理后,输出到视频输出队列中。DSP的视频处理后端(VPBE)将视频处理队列中的处理过的视频在显示器上进行实时显示。一旦前方有需要报警的行人,显示器上便会显示报警信息[9]。
2 软件系统设计
2.1 行人检测系统图像处理算法
行人检测算法可分以下几个步骤:图像获取、预处理、图像分割、特征提取和目标识别[10]。行人检测算法的功能框图如图2所示。
图2 行人检测算法的功能框图
预处理主要包含边缘检测、直方图均值化、中值滤波、去噪等步骤。在边缘检测中,常用的模板有Sobel算子和Prewitt算子。Sobel 算子有两个:一个是检测水平边缘的;另一个是检测垂直边缘的。与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,效果更好,因此本实验采用Sobel算子进行边缘提取。直方图均值化能使图像中像素个数多的灰度级展宽,图像中像素个数少的灰度压缩,从而扩展图像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。中值滤波能在滤除噪声的同时,能够保护信号的边缘,使之不被模糊[11-13]。整个系统的软件框图如图3所示。首先初始化整个系统进行软硬件模块:DSP环境的初始化设置、外部存储器接口的设置和软件的内部变量初始化(整个系统的执行入口地址为c-int00)。然后,程序从main()函数返回,系统进入DSPBIOS调度时间,视频处理主线程开始采集视频图像,并完成对每一帧图像进行算法处理,最终将处理结果在图像上标记出来并显示到屏幕上。
图3 系统软件框图
2.2 代码优化
行人检测算法在DM6437平台上实现后,实验结果与电脑的仿真结果相同。但是,DSP程序并没有充分利用DM6437硬件系统,所以存在着使用时间过长、效率太低的代码和废码[14-15]。所以在代码优化方面,本文将其分为4个阶段。
图4 算法优化流程图
在优化第一阶段本文使用CCS的代码剖析工具Profile去测试C程序中的代码是否高效,低效率的代码直接进入第二阶段。在第二阶段,使用-ms0和-ms1两种函数库对DSP程序进行优化,判断没有通过第一阶段的代码在经过提炼后是否高效,目的在于提高代码的执行效率,达到预定的实时性要求。第二阶段结果发现,部分代码还是没有达到高效,于是再进入到第三阶段。第三阶段本文利用C6000系列DSP程序提供的优化方法去进行代码优化,没有通过优化的代码返回到第一阶段重新进行优化,通过的代码进入到最后阶段。在最后阶段,本文对效率低的代码编写成线性汇编,然后通过软件流水的方式判断代码是否高效,不高效的代码返回第三阶段。具体流程如图4所示。
3 实验结果与分析
利用DM6437硬件平台的视频输入模块和摄像头获取所需要的源图像,获得的源图像如图5所示。
图5 源图像
本实验对源图像采用Sobel算子进行边缘提取,其结果如图6所示,图像中像素灰度急剧变化像素点的集合,即亮度变化明显的点已被标识出,该处理方法降低了图像边缘模糊程度,能够清晰地提取出人体的轮廓特征。
图6 Sobel边缘提取结果
可见光图像如图7所示,根据可见光图像的特点,对可见光图像进行了直方图均衡化,均衡化结果如图8所示,与原可见光图像相比较可看出,经直方图均衡化后的图像对比度和灰度色调都有所提升,图片更加清晰。之后对图像进行了中值滤波,中值滤波结果如图9所示,滤波后图像信号的边缘得以保护,使图像更加清晰。最后检测了可见光目标,可见光目标的检测结果如图10所示。
图7 可见光图像
图8 均衡化结果
图9 中值滤波结果
图10 可见光的目标
DM6437平台对DSP所传送的图像能够进行处理,对可见光图像进行了直方图均值化,然后再进行中值滤波、去噪等。结果显示,经处理后,系统能将图像中感兴趣的目标提取出来。
4 结束语
本文研究了基于DSP的汽车辅助驾驶行人自动检测技术,设计了基于DM6437的行人检测硬件实现平台,同时研究了行人检测系统的图像处理算法,并对算法代码进行了优化。实验结果表明,本文设计的行人检测装置能够较为迅捷、准确的对视频图像进行处理并提取目标,能够满足实时性与准确性的要求。DM6437平台与功能报警模块、距离检测模块相配合,当系统检测出的行人与车辆之间的距离小于距离检测模块的设定值时,功能报警模块发出警报。
[1] 苏松志,李绍滋,陈淑媛,等.行人检测技术综述[J].电子学报,2012,40(4):2-4.
[2] 孙科林.基于多核DSP的实时图像处理平台研究[D].成都:电子科技大学,2012.
[3] 许腾,黄铁军,田永鸿.车载视觉系统中的行人检测技术综述[J].中国图象图形学报,2013,18(4):2-5.
[4] 许俊.基于DSP的视频处理开发平台的硬件设计[D].太原:太原理工大学,2010.
[5] 花魁,沈捷,周柱,等.基于DM6437的图像采集与VGA显示系统设计[J].华侨大学学报:自然科学版,2013,1(20):2-3.
[6] Texas Instruments.DM6437 digital media processor[M].TX,USA:Texas Instruments,2007.
[7] 贾浩,崔慧娟,唐昆.基于TMS320DM6437平台的视频系统设计与实现[J].电视技术,2010,43(5):3-4.
[8] 蒋建国,李明,齐美彬.基于TMS320DM6437的运动目标实时检测与跟踪[J].合肥工业大学学报,2011,34(7):2-3.
[9] 王鹏霏,罗文广,曹月花,等.基于DM6437的视频采集硬件系统研发[J].广西科技大学学报,2016(1):3-4.
[10] 蒋晓瑜,何东亮,汪熙.基于图像处理的自动目标识别和跟踪算法初探[J].火力指挥与控制,2006,31(12):2-3.
[11] 何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究[J].光学技术,2012,38(3):2-4.
[12] 靳鹏飞.一种改进的Sobel图像边缘检测的算法[J].应用光学,2008,29(4):2-3.
[13] 赵高长,张磊,武风波.改进的中值滤波算法在图像去噪中的应用[J].应用光学,2011,32(4):1-4.
[14] 孙悦,陈军,高隽.基于显著性检测与HOG-NMF特征的快速行人检测方法[J].电子与信息学报,2013,35(8):1-3.
[15] 田小永,古志民.基于TMS320C55x DSP的代码优化[J].计算机应用,2003,23(1):1-3.
Driver Assistant Pedestrian Automatic Detection Device Design Based on DSP
XU Deheng,LI Haolun,CHEN Hao
(School of Automatization Engineering, Shenyang Ligong University, Shenyang 110159, China)
In this paper, the automatic detection technology of automobile auxiliary driving based on DSP is studied. An implementation platform of pedestrian detection based on DM6437 is designed. An image processing algorithm for pedestrian detection system is studied and optimized. Experimental results show that the designed vehicle auxiliary driving pedestrian automatic detection device based on DSP realizes automatic detection of pedestrian with efficient code execution.
pedestrian detection; DM6437; image processing; code optimization
2016- 06- 12
沈阳理工大学大学生创新创业训练计划项目(15xx004)
许德衡(1993-),男,本科。研究方向:测控技术与仪器。
10.16180/j.cnki.issn1007-7820.2017.05.048
TP391.41
A
1007-7820(2017)05-176-04