基于DSP的电子行走辅助系统的设计与实现
2015-12-23彭玉青李虹阳田红丽
彭玉青,李虹阳,田红丽,李 木
(河北工业大学 计算机科学与软件学院,天津300401)
0 引 言
数字图像处理技术的发展为导盲研究提供了新的途径,在嵌入式图像处理领域,DSP处理器独立的数据程序总线、多级流水线等特性,可灵活的实现各种复杂的算法,大大提高系统工作效率,使其成为实时图像处理的最佳选择[1]。
随着电子行走辅助系统研究的发展,各种形式的导盲设备也应运而生,如超声波电子导盲仪、GPS定位导盲拐杖、基于RFID 电子标签的助盲辅具等等。目前电子行走辅助系统使用成本均相对较高,例如建立大型RFID 系统需铺设大量电子标签,工程量浩大[2,3]。目前各城市的盲道设施均已普及,文章以图像处理为基础,以城市中现有的盲道为主要处理对象,将处理结果以语音的形式对视障者进行提示,实现图像的可听化,不仅能加强视障者对周围环境的理解,还可以大大降低使用成本。
1 系统的功能与框架
ETA 系统 (电子行走辅助系统)是利用传感器获取环境数据信息,提取环境特征信号转换成易于视障者理解的非视觉信号,进而辅助视障者独立而安全行走的系统[4]。本系统通过摄像头实时的采集使用者行进前方的视频图像并进行存储,之后送DSP处理器处理,进行路面情况的检测。对检测到的盲道、障碍物、人行横道、上下楼台阶等等行进过程可能遇到的情况分类,把处理结果送音频提示终端进行相应提示,提示使用者前方路面情况并根据需要调整行进方向和速度。如图1所示,系统主要由图像采集、数据存储、图像处理和音频输出4大部分构成。
图1 系统主要功能模块
2 系统硬件设计
2.1 图像采集模块
本系统的图像采集模块主要由图像传感器和视频解码器组成。图像传感器选取的是CCD 摄像头,其功能为采集视频信号并以PAL制式输出,将该信息输出给视频解码器进行数字化,以便于DSP处理器进行数字信号处理。数字化后的视频信号经DSP的VP端口内部FIFO 队列缓冲后,以EDMA 的方式传至片外SDRAM 中存储[5]。
其中视频解码器采用TI公司的TVP5150PBS,它是一款使用简易、超低功耗、封装极小的多制式数字视频解码器。可通过I2C总线控制它内部寄存器的参数,比如色调,对比度,亮度等[6]。
图像信号采集过程:首先,对TVP5150进行初始化,这是通过I2C总线进行的。本系统中TVP5150的初始设定为:一路模拟视频信号输入、自动增益控制、PAL 制式、YUV422 (16bit)数字视频信号输出。其次,TVP5150芯片产生的数字视频信号、控制信号和状态信号送入DM642中,即把解码器的行场同步信号、视频信号等管脚连接到DSP的视频端口VP[7,8],从而建立数据通道,以便进行相应的数据传输。最后,通过DSP 处理器发出图像采集命令后进行图像采集。由CCD 摄像头采集并输出图像模拟信号,经视频解码芯片,把模拟信号转化成数字信号,存储在SDRAM 中。
2.2 数据存储模块
2.2.1 DSP与SDRAM 的接口电路设计
经过图像采集到的数据需要进行实时的存储,由于DSP内部自带的二级缓存对于实时图像数据存储来说是远远不够的,所以实时图像的存储要通过外部SDRAM 来完成[9]。系统选用两片型号为HY57V283220T 的SDRAM 存储实时图像数据,其容量为32M 的,存储格式为4Banks×1 M×32Bit。
图2所示为其中一片SDRAM 与DSP 的外部存储器接口EMIF电路连接示意图,SDRAM 的CLK 与DSP的二分频时钟输出端TCLK 相连,以满足HY57V283220T 时钟100 MHz的要求。DSP的TED[0:31]和TBE[0:3]接到一片SDRAM 的DQ[0:31]和DQM[0:3],TED[32:63]和TBE[4:7]接到另一片SDRAM 的DQ 和DQM,用于读写SDRAM 时控制和屏蔽数据的输入输出。
图2 SDRAM 与DSP的EMIF电路连接
2.2.2 DSP与FLASH 的接口电路设计
本系统采用型号为AM29LV033C 的FLASH 芯片,容量为4 M×8bit,FLASH 主要用于存放用户程序代码,以及一些相关的数据,由于FLASH ROM 掉电不擦除,所以系统算法程序调试好之后,将程序烧写固化到FLASH 中,硬件板即可脱离PC机在线调试模式,独立的完成工作,系统上电后,用户程序代码自动从FLASH 搬移到SDRAM然后开始执行[10]。与SDRAM类似,FLASH芯片通过EMIF与DSP相连。
2.3 图像处理模块
本模块主要是对数字化的图像信号进行算法处理,经过图像预处理,特定图像算法处理,包括盲道识别,障碍物检测,人行横道检测等算法,根据图像处理结果进行图像声音映射,并发出相应的音频提示信号。
本系统的主处理器采用TI公司的高性能DSP 芯片TMS320DM642,其内核有64个32位字长的通用寄存器和8个独立的功能单元,每秒可提供2880百万个MAC,片内采用2级高速缓存Cache结构,片外有强大的外部存储器接口EMIF,64个独立通道的增强型EDMA 控制器,提供了3个视频端口,支持多种视频标准,配置灵活[11],片上资源丰富。
在本系统中,视频解码器通过3个可配置的视频端口(VP0、VP1、VP2)接入DSP,由于系统采用一路视频输入,默认使用VP0端口采集图像数据,DM642通过I2C 总线控制图像采集过程,并设置视频解芯片内部寄存器的相关参数;外部存储器SDRAM 和FLASH 都通过EMIF (外部存储器接口)与DM642 相连接,采用增强的EDMA 方式进行数据传输,从而建立起了高速数据传输通道;语音处理芯片通过McASP (多通道音频串行接口)与DM642相连。DM642的McASP 接口主要用于音频处理,提供了一个发射时钟和一个接收时钟,使得数据的发送与接收工作可以完全独立的进行,也可以同步进行。
2.4 音频模块
系统音频处理芯片采用的是TI公司的音频编解码器TLV320AIC23BPW,它内置耳机输出放大器,输入和输出都具有可编程的增益调节功能,并且具有很低的功耗。这使得它成为一款非常理想的音频处理芯片[12]。TLV320AIC23通过McASP接入DM642。
TLV320AIC23与DM642通过控制接口和数字音频接口相连,控制接口用于设置AIC23的工作参数;数字音频接口用于TLV320AIC23与DM642的音频数据传输。
如图3 所示为TLV320AIC23 与DM642 连接。其中BCLK 为串行数据传输时钟,当TLV320AIC23BPW 为主模式时BCLK 由其自身产生并提供给DSP,频率为主时钟的1/4,当AIC23为从模式时由DSP产生;DIN 为串行数据输入端,送入立体声DAC,DOUT 为串行数据输出端,由立体声ADC 产生;XTI/MCLK 为外部时钟输入端,用来产生AIC23内部时钟[13]。
图3 TLV320AIC23与DM642连接
2.5 系统总体硬件结构
综上所述,系统总体硬件结构及器件选择如图4所示。
图4 系统总体硬件结构
系统主要是以DSP为核心,通过摄像头实时采集图像数据,经过视频解码器TVP5150PBS解码,将解码后的数字信号在外部SDRAM 中做实时的存储,然后由DSP 数字信号处理器TMS320DM642对图像数字信号进行处理,根据处理结果控制输出的音频提示信息,经过音频处理芯片TLV320AIC23BPW,将相应的音频提示信息由耳机输出。其中FLASH 用于存储用户程序代码,SDRAM 用于存储实时图像数据,另设有可扩展的以太网接口、异步通信串口、PCI接口供系统进行其它模块的扩展。例如,可通过PCI接口扩展为双核DSP系统,通过网口接入GPS等模块,使系统具有较好的可扩展性。
3 系统软件设计
在系统上电启动后,DSP 程序加载与启动。系统流程如图5所示。
(1)进行DSP和系统板的初始化,包括初始化BIOS和初始化CSL库。并且设置Cache,使用256K 的2级高速缓存。设置DMA 优先队列的长度取最大值。设置2级高速缓存的优先级最高。
(2)进行通道模块的初始化,包括I2C 总线的初始化和消息队列的初始化。I2C总线用于内部单元通讯,SCOM消息队列用于任务间传递消息。并且分别建立和启动一个采集和播放通道[14]。
(3)进行视频解码器和音频处理芯片的初始化。设置相关参数,打开视频采集和音频播放通道。
在完成初始化任务之后,BIOS调度程序启动,系统进入DSP/BIOS调度程序管理下,此时系统中有3 个任务,任务通过消息队列互相发送消息,3 个任务分别为输入任务、处理任务和输出任务,处理任务在收到输入任务采集到图像的消息后开始进行图像处理,处理完成后,发送消息到输出任务,输出任务收到来自处理任务的消息将消息中的音频输出,然后发送消息到输入任务,输入任务收到输出任务消息开始下一次图像采集任务,如此往复循环进行。
图5 系统软件工作流程
4 实验测试与分析
本文设计的硬件平台能够通过使用不同算法检测盲道、障碍物、人行横道、台阶、转角等等路况,下面以盲道为例进行验证。
4.1 图像处理结果
由于系统输出为音频模式,无法对图像处理结果进行直观验证,在研究设计过程中加入了视频显示部分,将图像处理结果通过显示屏进行输出,以便直接观察系统的流畅性和图像处理效果。在系统运行过程中,图像能够实时的将摄像头采集图像的处理结果显示到显示屏上,且画面清晰流畅。以下为盲道处理的部分实时实验结果图像。
图6所示为实验对比使用不同边缘提取算子处理的盲道图像,分别为采用Prewitt边缘算子,Laplacian 边缘算子,Sobel边缘算子的结果,由实验结果看出,Prewitt边缘算子比较清晰的提取出了盲道内部的纹理信息,但丢失了左边缘信息,不能够获取完全的盲道边缘信息;Laplacian边缘算子提取边缘效果较模糊,能够提取盲道内部纹理,左边缘完全丢失;Sobel算子提取出的边缘信息较为全面,但冗余信息较多。
图6 不同边缘提取算子结果对比
鉴于直接进行边缘提取,图像中冗余信息较多,所以先对图像进行滤波处理,除去部分噪声和次要信息,图7所示为先采用高斯低通滤波器消除部分噪声和冗余信息然后进行Sobel边缘提取效果图,截止频率分别设置为60、50、40,由实验结果可以看出,在截止频率为50时,盲道大部分信息冗余可以被去除而不影响盲道边缘的提取。
图7 采用滤波器处理结果
对盲道做滤波处理,滤去部分冗余信息后,进行边缘提取,结果如图8所示,可以看出Prewitt算子提取的边缘不连续,Laplacian边缘算子提取的盲道边缘非常模糊,sobel算子提取的边缘效果较为清晰。
图8 滤波后不同边缘算子结果对比
实验显示系统首先经过高斯低通滤波处理,然后采用Sobel算子能够比较清楚的提取出盲道边缘。
图9为系统进行阈值分割的处理效果图,由结果看出,系统能够正确的分割出盲道区域,进而可以得到盲道两条边缘直线,然后通过霍夫变换提取出盲道两条边缘线的角度θ1和θ2,即可确定使用者偏离盲道的程度,从而进行音频提示[15]。
图9 盲道阈值分割效果
4.2 听觉映射方案
图像声音映射,主要是把从图像处理中获取的盲道的方向和障碍物信息,通过映射模型转换成相应的音频参数,再用这些音频参数控制音频的播放。
构成视障碍者在盲道行走障碍的环境信息主要可以分成两种:
(1)道路方向。即偏离盲道行走程度,提取盲道的边缘线来代表盲道方向,θ1和θ2分别表示盲道两根边缘线的角度。当若θ1和θ2异号,说明在盲道上,若θ1和θ2同为负,说明偏左;若θ1和θ2同为正,说明偏右。
(2)障碍物。即盲道附近的会影响盲人行走的物体,障碍物距离Ly。
本系统采用音频的响度和间隔时间两个参数来表示盲道偏离程度,偏离程度越大,响度越大,间隔时间越短,使用户更容易辨别。用锣声来表示障碍物,笛声和水声分别表示偏左和偏右,声音响度的大小和持续时间表示偏离盲道的程度。表1所示为环境信息的声音映射方案。
表1 环境信息的声音映射方案
5 结束语
本系统以DSP 为核心构建了一套能够帮助盲人独立行走的电子行走辅助系统,详述了系统的硬件模块设计和软件工作流程,并以盲道处理为例分析了图像处理结果并给出了听觉映射方案。实验结果表明,系统整体运行流畅,具有良好的实时性,且能够正确分割出盲道区域,提取出盲道边缘。
系统充分利用DSP强大的数据处理能力,通过摄像头实时采集图像数据,经DSP 芯片处理,以声音的形式输出,从而帮助视障者独立行走,实现了不借助pc机任何资源即可完成对图像的实时采集、转换、存储、处理以及音频输出等相关工作,大大降低了系统成本,提高了系统可靠性。系统的听觉映射方案切实可行,配合传统导盲杖使用具有较好使用效果。与传统助盲设备相比提高了导盲精度,与大型电子盲道或全球定位系统相比又节省了成本,且设备精简小巧,便于携带,具有较强的推广和实用价值。
[1]ZHANG Shengyan,HE Yizheng,SUN Jun.A hardware design of video processing system based on processor TMS320DM642 [J].Avionics Technology,2009,40 (1):39-42 (in Chinese).[章圣焰,何仪征,孙军.基于TMS320DM642的视频处理模块的硬件设计 [J].航空电子技术,2009,40(1):39-42.]
[2]Shuang Z,Gang J,Yu-ping Q.DSP-based parallel processing model of image rotation [J].Procedia Engineering,2011,15:2222-2228.
[3]LIU Yanjun.Design and implementation of embedded DSP image processing system [J].Foreign Electronic Measurement Technology,2013,32 (9):11-14 (in Chinese). [刘岩俊.嵌入式DSP图像处理系统设计与实现 [J].国外电子测量技术,2013,32 (9):11-14.]
[4]XU Yonghui,YANG Jingli,LIN Lianlei.TMS320DM642 DSP principle and application practice [M].1st ed.Beijing:Electronic Industry Press,2012:10-11 (in Chinese). [徐永辉,杨京礼,林连雷.TMS320DM642 DSP 原理与应用实践[M].1版.北京:电子工业出版社,2012:10-11.]
[5]Wasfy W,Zheng H.General structure design for fast image processing algorithms based upon FPGA DSP slice[J].Physics Procedia,2012,33:690-697.
[6]JI Yatai.Research and design of the image acquisition and processing system based on DSP [J].Software,2013,34 (2):22-25 (in Chinese).[吉亚泰.基于DSP的图像采集与处理系统的研究与设计 [J].软件,2013,34 (2):22-25.]
[7]LIU Yan.Design and implement of embedded real-time image processing system based on DSP [J].Journal of Dalian Nationalities University,2013,15 (1):77-79 (in Chinese). [刘燕.基于DSP 嵌入式实时图像处理系统的设计与实现 [J].大连民族学院学报,2013,15 (1):77-79.]
[8]LV Qiang,LIU Zhijun,WANG Keke.Design of real-time image processing system based on TMS320DM642/Matlab[J].Electronic Design Engineering,2009,17 (4):26-28(in Chinese).[吕强,刘志军,王珂珂.基于TMS320DM642_Matlab 的实时图像处理系统设计 [J].电子设计工程,2009,17 (4):26-28.]
[9]LONG Yingxue,ZHANG Chunxi,YI Xiaosu.Design and realization of video capture and compression system based on DM642 [J].Electronic Measurement Technology,2012,35(9):52-55 (in Chinese). [龙映雪,张春熹,伊小素.基于DM642的视频采集与处理系统设计及实现 [J].电子测量技术,2012,35 (9):52-55.]
[10]GAO Xiong,WANG Min,ZONG Dawei.Design of video capture system based on TMS320DM642 [J].Journal of Huazhong University of Science and Technology,2011,39(S2):144-146 (in Chinese). [高熊,王敏,宗大伟.基于TMS320DM642的视频采集系统设计 [J].华中科技大学学报,2011,39 (S2):144-146.]
[11]CHEN Bukang,WANG Yuanqin,ZHOU Chenggang.Airplane’s video image real-time compression system with TMS320DM642 [J].Foreign Electronic Measurement Technology,2011,30 (1):61-63 (in Chinese).[陈步康,王元钦,周成刚.基于TMS320DM642的机载视频图像实时压缩与处理系统[J].国外电子测量技术,2011,30 (1):61-63.]
[12]DAI Quan,YANG Yingping,JIA Xinting.Design of realtime image acquisition and processing platform based on DSP and FPGA [J].Microcomputer and Its Applications,2013,32 (11):45-46 (in Chinese).[戴权,杨应平,贾信庭.基于DSP和FPGA 的实时图像采集处理系统的设计 [J].微型机与应用,2013,32 (11):45-46.]
[13]ZHAO Zebiao,CHANG Danhua.Gesture recognition for wearable motion sensors based on DSP [J].Computer Engineering and Design,2013,34 (4):1250-1254(in Chinese).[赵泽彪,常丹华.基于DSP的穿戴式动作传感器的手势识别[J].计算机工程与设计,2013,34 (4):1250-1254.]
[14]Chavarrias M,Pescador F,Garrido M J,et al.A DSP-Based HEVC decoder implementation using an actor language dataflow model[J].IEEE Transactions on Consumer Electronics,2013,59 (4):839-847.
[15]Jun-long F,Dong Z,Yi-bo Q.Back ground segmentation of cucumber target based on DSP [J].Journal of Northeast Agricultural University (The English Version),2013 (3):78-82.