黄扬帆,邰国钦,冯 俊
(重庆大学 通信工程学院,重庆 400044)
数字图像处理是电子信息工程及通信工程等相关专业的核心课程[1],并在工业工程上得到了广泛的应用。在教学实践的基础上,为提高学生对图像处理的理解能力和动手能力,开发了一种基于视频感知的导航仪实验设计。目前,已经研制出很多基于不同平台的导盲设计[2-4],如嵌入式、单片机、超声波、光电定位等,实现形式也是多种多样,有的是触摸型的导盲棒,有的是感知型的视频转换系统。为了达到更加方便快捷的目的,本文利用数字图像处理技术[5],探索一款基于视频感知的导盲系统设计。
系统设计框图主要由3个部分组成:摄像头、图像处理器系统、外接语音装置。摄像头部分主要是摄取使用者前方道路视频的,是一切信息的来源和基础。PC机内先由采集卡一帧一帧地从视频中获得图像[6],然后通过数字图像处理的相关程序[7-9]实现辨别哪些部分是可能障碍物。分析完图像信息后,如果有障碍物,就发出指令执行语音提示,如果没有障碍物,直接进行下一帧分析,同时保留此帧信息,以待与下一帧作比较,获得更多的信息。
借助数字摄像头对前方的图像采集后,经过数据采集传输至处理器,进行图像处理,待识别出前方预判范围内的障碍后,转化为语音,同时进行报警,并且提示障碍的大概距离及竖直高度。可用音量调节旋纽调节报警声音量的大小,同时从处理器接出耳机,供使用者使用。图1为本项目设计的系统结构框图。
图1 系统结构框图
摄像头采用常规CCD摄像头,传感器芯片为SONY CCD 1/3“,AV视频输出接口,便于与视频采集卡的AV输入端直接连接。
本系统采用的是天敏SDK2500型的采集卡。该采集卡采用的是Philips 7130芯片。相比于同类产品,Philips 7130芯片是一颗9bit ADC,使得采集的图像无论是质量还是颜色的饱和度方面均有足够的保障。该采集卡同时还具有二次开发功能,便于对其进行自定义功能开发。
在使用本系统时,当使用者使用本导盲装置系统时,摄像头捕捉到行进路面上的情景图片后,将数据经过视频采集卡传递到处理器中,处理器经过图像处理[10-11]识别出每一帧图片中的物体是否含有障碍物的信息,进而按照数字图像处理的知识分辨[12-14]出是否有障碍物,如果有障碍物,就通过系统软件程序指令,调出声音系统,指示使用者垮过障碍物。图2是本系统的基本工作流程。
系统主要可以分为3部分:图像采集、图像处理、控制操作。图3为控制流程图。
(1)图像采集。由摄像头与采集卡部分组成,主要功能是为处理器提供投影幕布的图像,为后续图像处理提供数据源,为系统的输入部分。
(2)图像处理。由Intel处理器执行,是本系统的核心。通过对捕捉过来的幕布图像进行处理,确定出有障碍物图片中障碍物的位置,处理结果直接影响下一步执行指令的准确度。
(3)生成语音控制指令。由Intel处理器执行,是本系统的后续关键部分。事先编辑好的系统软件程序对图像处理后的信息进行核对,例如当视频的某些帧中出现的类似障碍物的信息,进入系统判断如何避开,通过语音提示使用者的行进情况。
图2 系统流程图
图3 控制流程图
视频图像的采集由硬件部分的“天敏SDK 2500视频采集卡”完成,摄像头采集的模拟信号经过A/D转换形成视频数据流,然后通过PCI总线送至上位机。由于国内的广播电视信号传输均采用PAL制,即在传输端把RGB三基色信号转成YUV格式(Y为亮度信号,U、V分别为红、蓝色差信号)后传输。
为还原图像,程序应首先进行YUV到RGB的转换。CCD摄像头显示的图像范围一般和投影仪幕布不符,故在下一步处理之前需要确定图像的范围。PAL制信号的帧频为25Hz,每张图片的有效像素点为720×576,又采用4︰2︰2格式的YUV信号,每个像素需要用3×8=24bit(即3个字节)编码表示,故每张图片平均都超过了1MB,每秒须处理25MB以上的数据内容。这样大的数据量既占用系统资源,又对最后的处理结果没有必要,因此使得设置抓拍的频率成为必要。另外选择图像格式、设置处理时延等也被集成在了功能子模块“自定义抓拍”中。具体流程如图4所示。
图4 图像采集流程图
图像处理根据图像记录方式的不同分为模拟图像和数字图像。本设计完全是用数字(即计算机存储的数据)来记录图像亮度信息,故属于数字图像。本设计采用的图像格式即为BMP文件。
在图像进行数字化处理之后,发现有可疑障碍物出现,就马上判定生效有障碍物,并开始与上一张进行比较,从而得知可疑障碍物的远近,然后通过SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafe-Hdc(),0)这个指令,调用系统语音程序,发出命令示警语音,提示使用者可疑障碍物的距离,使得使用者顺利通过。
通过多次的系统调试实验,设计出了一款能简单辨别障碍物的导盲系统。主要是通过数字图像处理,对摄像头收集来的使用者当前环境内的视频照片进行分析,得出可疑障碍物的信息,然后根据含有可疑障碍物信息的每一帧图片之间的差异,分析计算,提示使用者如何避开障碍物。图5即是实验设计的结果。
当障碍物的信息在图片中出现的时候,系统将记下图片中障碍物的位置和大小比例,同时启动语音程序,提示使用者前方有障碍物,注意绕道前行。然后继续收集下一帧图片的信息。
图5 出现障碍物图片和对应二值化图
二值化后,同一地方的明暗明显不同,这就说明阈值的高低使得灰度大小不同的地方成为可疑障碍物的几率不同,用这个方法就可以解决白天不同时段,甚至是夜晚因为光亮的强弱不同而带来的不便。可以使用自动阈值灰度,然后自动二值化后,根据当时不同的光照强度确定当时所需的阈值。
相关改进就是在阈值设定的程序处,修改为自动阈值设定的程序。该自动设定阈值的程序是以环境的光照强度为标准设定的,在不同光照强度的情况下,系统自动调节阈值。这样就可以在不同光照强度时,很准确地判断障碍物和正常路线不同的灰度值,从而就能准确地判断出障碍物的情况。
本系统通过数字摄像头对前方的图像获取视频后,经过数据采集卡采集图片传输至处理器进行图像处理,待识别出前方预判范围内的障碍物后,转化为语音信号,同时进行报警,并且提示障碍物的大概距离及竖直高度。从掌上电脑接出耳机,可用音量调节旋纽调节报警声音量的大小,供使用者使用。实验结果表明,该导航仪对障碍物距离和竖直高度的测量比较准确,具有测量精度高、体积小、使用方便的特点。该实验可用在数字图像处理等相关课程上,能极大地提高学生的动手能力和对图像处理的理解能力。
(
)
[1]冈萨雷斯.数字图像处理 [M].2版.北京:电子工业出版社,2007.
[2]Mu Kezhi,Shi Yikai.Applying research of threshold methods in pupil detetion[J].Beijing Biomedical Engineering,2005,24(6):443-445.
[3]Kiyoaki Tokunou,Youshinobu Ebisawa.Automated thresholding for real-time image processing in video-based eye-gaze detection[J].Proc of 20thAnn Int Conf of IEEE Eng In Med and Bio Soc,1998,20(2):748-751.
[4]Hutchinson T E,White Jr K P,Reichert K C,et al.Human-computer interaction using eye-gaze input[J].IEEE Trans.Syst Man Clyburn,1989,19(11/12):1527-1533.
[5]何斌.Visual C++数字图像处理[M].北京:人民邮电出版社,2001.
[6]张桂勇,陈芳琼.API for Windows 2000/XP 详解[M].北京:清华大学出版社,2003.
[7]谭浩强.C语言设计[M].北京:清华大学出版社,2006.
[8]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.
[9]谢丹凤,赵丹培.Visual C++ 数字图像处理[M].北京:电子工业出版社,2008.
[10]韩文静,李晶,孙农亮.基于HPF和Hough变换的人眼精确定位[J].计算机工程与应用,2008,44(10):64-66.
[11]张宏林.Visual C++数字图像识别技术及工程实践[M].北京:人民邮电出版社,2003.
[12]邵洁.虹膜内外边缘定位算法[J].上海电力学院学报,2008,24(1):54-56.
[13]徐春青,张健.虹膜图像定位方法的研究[J].辽宁工学院学报,2007,26(6):368-371.
[14]邓智明.虹膜快速定位及虹膜图像质量评估算法研究[D].西安:西安电子科技大学,2007.