基于DSP平台的行人检测的实现和优化

摘 要:在嵌入式DSP系统上完成行人检测时,由于行人检测系统具有高度的实时性和检测算法的复杂性,DSP的运算速度又有限制,这就造成实现实时的行人检测系统具有较大的困难.文章通过分析行人检测各个模块的运行CPU周期,再结合TMS320DM6437的硬件结构特点,提出一些优化实现方案,最终在DM6437平台上实现了一个在一般场景下高检测率、低虚警的行人检测系统.测试结果表明,经过优化,行人检测处理速度有了很大的提高,能够满足在一般场景具有实时性处理的要求.

关 键 词:数字信号处理;DM6437;行人检测

中图分类号:TP391文献标识码:A文章编号:1009-2374(2013)36-0093-03

随着社会汽车交通事故发生概率不断地上升,全世界每年有几百万人死于交通事故.因此,保证驾驶员和行人安全是现在汽车系统急需解决的一个问题.红外的主动报警是基于图像处理和模式识别领域,为避免碰撞行人而采用的智能化技术.红外报警的关键技术之一是如何从红外传感器信息中分析得到有效的行人信息特征.2005年Dalal等提出了用梯度方向直方图(HistogramsofOrientedGradients,HOG)特征来描述行人特征的方法,该方法尽管检测速度慢,可是由于其检测精度高,逐渐在行人检测领域得到广泛的应用和完善.Dalal等进一步用线性支持向量机(supportvectormachine,SVM)训练HOG和光流场方向直方图特征,实现了运动及变化背景情况下的行人检测.目前,多数夜间行人检测系统以红外摄像头为基础.O'Malley等,利用方向梯度直方图(HOG)特征对远红外行人进行描述,结合支持向量机(SVM)实现行人检测,该方法检测效果较好,但计算开销稍大.

TMS320DM6437DSP处理器是TI公司最新推出的一款基于C64+核的高性能DSP处理器.本文主要介绍行人检测系统在TI公司的TMS320DM6437评估板上的代码实现及优化方法,简要介绍TMS320DM6437DSP的结构功能特点;提出检测算法在TMS320DM6437上优化实现的方法途径;并给出了结果及结论.

1TMS320DM6437DSP的结构功能特点

DM6437片内有8个并行处理单元,分为相同的两组,其体系结构采用甚长指令字(VLIW)结构,单指令字长为32bit,8个指令组成一个指令包,总字长为8×32等于256bit.芯片内部设置了专门的指令分配模块,可以将每个256bit的指令包同时分配到8个处理单元,并由8个单元同时运行.新型C64xDSP以其C64x内核的先进超长指令字(VLIW)结构,获得当前应用所需的最高性能.C64x内核的8个功能单元能够在每个周期内执行4组16位MAC运算或8组8位MAC运算,以便在处理通信和影像算法中获得最大的并行性.单个C64×DSP能够同时完成一个通道的MPEG4视频编码、一个通道的MPEG4视频解码和一个MPEG2视频解码,并仍有50%的余量留给多通道语音和数据编码.

DM6437包含一个VPSS,它是由两个可配置的视频接口组成:一个是视频处理前端VPFE,另一个是视频处理后端VPBE.VPFE负责输入数字图像,为多种标准视频提供接口,并对输入的原始图像数据做一些预处理;VPBE用于驱动显示器显示图像.

DM6437还提供了丰富的外设接口,用于控制外部设备和与外部设备进行通信:2个可配置的视频接口,1个10/100Mb/s的EMAC,1个I2C接口,1个McASP,2个McBSP,1个64位看门狗定时器,1个JTAG仿真器,2个64位的通用定时器和2个无缝的外部存储器接口.处理器框图如图1

所示:

图1DM6437处理器框图

2基于DM6437的红外的行人检测硬件实现平台

系统是以DM6437为硬件平台,硬件结构框图如图2所示.红外摄像头获取实时红外图像,经过视频芯片TVP5150进行A/D转换,变成数字信号.数字图像信号在通过视频处理前端(VPFE)进行一些预处理操作(比如:尺度变化),进入到视频采集队列,等待DSP去获取图片进行处理.在对视频采集队列中的图片经过行人检测算法处理后,输出到视频输出队列中.DSP的视频处理后端(VPBE)将视频处理队列中的处理过的视频在显示器上显示.一旦前方有需要报警的行人,显示器上便会显示报警信息.另外,通过GPIO口,在需要报警的时候把GPIO口电平置1操作,在外部进行声音报警的操作.通过串口UART发送和接收命令,上位机可以控制行人检测系统是否工作.下位机DSP也可以返回当前DSP运行的状态到上位机,实现上位机和下位机的通信.

图2硬件结构框图

3行人检测的软件实现和优化

3.1行人检测的软件实现

系统的软件构成主要由算法构成.通过红外摄像头获取到的红外图片,对图像进行亮度信息的提取操作.对亮度图像采取一系列的图像处理,分析手段进行图像的预处理操作,在图像中找到可能的行人目标位置,在提取可能行人的位置提取HOG特征,它反映了行人的外形特征,再结合SVM判决机制对获取到的HOG特征判断是否是行人来达到行人检测系统的实现.系统的软件结构如图3所示:


图3系统的软件结构

行人检测系统在由C语言完成和调试后,算法在DM6437平台上基本是实现了,但由于程序没有充分利用DM6437的硬件体系结构的特点,比如:EDMA的优化,因此存在着某些未被优化得足够有效率的代码,DM6437处理的速度达不到25帧/秒,根本不能满足实时性要求.因此,必须通过各种优化策略对DSP程序进行全面的优化,以提高代码的执行效率,满足系统的实时性要求.

3.2行人检测的优化针对行人检测系统处理的效率不高,不满足实时性的特点,难以在实际场景中使用.因此,必须对行人检测系统进行优化操作.对于行人检测模块的优化主要包括系统优化和软件算法结构优化.

系统优化主要是对CCS提供的各种编译参数进行选择、搭配、调整.主要从以下两个方面进行优化:(1)编译器的优化.首先设定合适的编译选项,控制编译器生成更高效、代码尺寸更小的汇编代码.本系统采用的选项包括:

-pm、-op2、-o3、-mt、-mh等.(2)任务调度.文中设计行人检测系统通过采用多线程实现,一个线程处理获取到的图片帧,另外一个线程显示处理过的图片帧到显示器.软件算法结构优化主要是根据DSP处理并行性的特征,我们适当地将程序的循环操作展开,由以前的多重循环变成单循环操作,以便发挥DSP并行处理的特征,加快图像的处理操作.

在系统的优化过程中,提取出了主要耗时的模块包括:提取ROI、ROI的HOG特征提取、SVM判决.针对这些模块进行重点的优化,除了利用上面提到的优化方法,还对这些模块进行了重点的优化,比如说:尽量少进行函数调用,使用内联函数,合理设计数据类型,减小存储器相关性等.

行人检测系统的实现流程一般包括3个阶段的操作:第一阶段:首先,产生C代码并进行时间评估.一般情况下,这个阶段į 40;代码性能很低.如果经过评估后,仍然满足不了实时要求的话,需要进入第二阶段以进一步改进代码性能.第二阶段:利用优化选项、内联函数以及其他优化方法改进C代码.如果代码仍不能达到所期望的效率,则进入第三阶段.第三阶段:从C代码中抽出对性能影响大的代码段,用线性汇编重新写这段代码,然后利用汇编优化器优化该代码,直到代码满足要求为止.本文在经过前两个阶段的优化以后已经基本达到实时处理的要求,并未进行第三阶段的优化操作.

4实验和结果分析

为了说明本文的行人检测的有效性和算法优化的效果,在主频为600MHz的DM6437硬件平台上对采集的分辨率为720×480视频序列进行了实验.通过仿真器和实验,我们对优化前后的代码进行了比较,下表是行人检测模块几个关键模块在优化前后消耗的平均时间的统计.可以看出,优化效果还是很明显的.优化结果如表1:

5结语

本文重点探讨了在DSPTMS320DM6437平台上对行人检测实现和相关优化的方法.首先,能够充分利用DSPDM6437的硬件资源及开发工具CCS,使代码达到所期望的性能.然后,针对TMS320DM6437芯片的结构和行人检测的特点,我们从代码和软件结构两方面对程序进行了优化.实验结果证明,优化效果明显,经过优化后的行人检测系统基本能够满足实时性要求.下一步将考虑结合新的检测算法和更多的人体形态特征,进一步提高检测率和降低虚警.

类似论文

基于ARM9平台的人脸检测的实现

摘 要:本文以ARM9系列处理器中的S3C2440为硬件平台,搭载嵌入式Linux操作系统,完成了该操作系统的剪裁、制。
更新日期:2024-9-18 浏览量:118913 点赞量:25832

行人检测分类器的与设计

摘 要:行人检测的重点在于分类器的设计,分类器的性能直接决定了行人检测的精度 选定样本特征。
更新日期:2024-11-14 浏览量:142162 点赞量:30302

铝合金检测服务平台市场化运作

摘 要:本文以肇庆高新区为例对铝合金检测服务平台市场化运作进行了分析 通过调研发现,许多中小企业缺乏大型仪器设备,对平台建设。
更新日期:2024-3-14 浏览量:44850 点赞量:10847

在线检测产品疵点系统的DSP实现

摘 要:为了提高出厂产品的质量,需要在生产线上对产品进行高速在线检测,该文采用基于机器视觉的检测系统来。
更新日期:2024-7-16 浏览量:94319 点赞量:20908

小型汽油机整机检测平台设计

摘 要:文章介绍了一种针对小型汽油机的集功率、转速、油耗检测为一体测试平台 通过快速装夹机构,可以对139F型等小型汽油在出。
更新日期:2024-1-18 浏览量:20456 点赞量:5802