基于ARM11的旅游车辆监控系统的设计
扫描二维码
随时随地手机看文章
随着经济的发展和人民生活水平的提高,旅游业蓬勃发展。对旅游车辆的监控与管理成为一个不容忽视的问题。近年来,各式各样的旅游车辆监管系统相继出现。这些系统完成了对旅游车辆的监控和管理,保证车辆的正常运行;但没有涉及到对旅客身份的识别和认证,难以获取准确的旅客信息;同时旅游公司很难实时地得到旅游车辆的运行状态和准确的地理位置。
针对现存旅游车辆监控系统的不足之处,同时考虑到嵌入式系统软硬件可剪裁的特点,本文提出了一种基于ARM—Linux嵌入式系统的旅游车辆监控系统的设计方案。剪裁移植嵌入式Linux作为该旅游车辆监控终端的操作系统;利用基于PCA的人脸识别算法,实现对旅客身份的识别和验证;利用RFID技术对旅客携带的行李物品信息进行归档;采用GPS获取旅游车辆的实时位置信息;通过GPRS方式实现旅游车辆和调度中心的通信。该监控系统可以对旅游车辆的运行状况进行实时的监控,确保旅客的人身与财产安全。
1 旅游车辆监控系统的组成及其功能
旅游车辆监控终端主要由图像采集模块、电子标签阅读器、GPRS模块、GPS模块组成,其工作原理如图1所示。
图像采集模块完成旅客人脸图像的采集,并进行相应的图像预处理,得到旅客的面部图像信息。当旅客上车时,对旅客面部图像进行采集,并与预先存储的信息进行匹配,如果信息正确,进行人数统计,如果身份信息不对,进行语音报警。这能够在旅游景点自动清点旅客人数,避免出现丢客的现象,同时减轻工作人员的工作量。
电子标签阅读器读取旅客携带行李的信息,把所读取的数据进行索引存储和电子归档。当发现旅客的行李缺失时,系统将发出实时语音提示,提醒旅客携带好自己的行李物品。
GPS模块主要利用全球卫星定位系统对旅游车辆实时定位,并且在车载终端上显示相关的信息,同时通过GPRS模块把旅游车辆的位置信息传送给旅行社的车辆管理中心。
GPRS模块主要通过移动通信网把车辆的运行状态、旅行车辆的地理位置信息和车辆人员的安全状况实时传送到车辆管理中心,同时把车辆管理中心对旅游车辆的调度信息传送到旅游车辆,实现对旅游车辆的调度和管理。
2 旅游车辆监控系统的硬件设计
旅游车辆监控系统的硬件平台主要由带三星公司的S3C6410处理器的核心板、图像采集模块、LCD显示模块、GPS定位模块、GPRS无线通信模块及相应的通信接口模块构成,其硬件系统结构如图2所示。
本系统选用三星公司的S3C6410作为系统微处理器。S3C6410是由三星公司推出的一款低功耗、高性价比的RSIC处理器,它基于ARM11内核(ARM1176JZF—S)。S3C6410为2.5G和3G通信服务提供了优化的硬件性能,内置强大的硬件加速器:包括运动视频处理、音频处理、2D加速、显示处理和缩放等:集成了一个MFC(Multi—Format video Codec)支持MPEG4/H.263/H.264编解码和VC1的解码,能够提供实时的视频会议以及NRSC和PAL制式的TV输出;除此之外,该处理器内置一个采用最先进技术的3D加速器,支持OpenGLES 1.1/2.0和D3DMAPI,能实现4M triangles/s的3D加速;同时,S3C6410包含了优化的外部存储器接口,该接口能满足在高端通信服务中的数据带宽要求。稳定频率可达400M Hz,内部集成USB、UART、SDRAM和FLASH等控制器,以配合外围的网络和键盘等设备,可以方便地实现系统的扩展。
本系统通过两片K4X51163PC芯片的级联组成128M的32bit位宽DDR存储器,DDR数据传输总线频率可达266MHz。同时,选用K9G8G08U0A芯片的NAND Flash作为外部存储系统,存储容量达到1G,主要存放Bootloader,Linux内核及根文件系统;选用AM29L160DB的Nor Flash存储器存储专用引导程序。电路板上设有4路串口,包括1个五线RS-232电平串口和3个三线TTL电平串口,串口通信采用的是MAX202E,其中串口0主要用来测试用。利用串口1、2、3,可分别与GPS定位模块、电子标签阅读器和GPRS无线通信模块相连接,实现车辆定位、电子标签的数据读取以及与车辆管理中心的无线通信功能。USB接口采用AT43301芯片,将USB分成1个主机和1个从机接口。系统的USB摄像头采用VIMICRO的VC0326感光芯片,它具有像素高、内置支持MIC及USB2.0等特点。由USB摄像头直接采集为数字图像信号,避免了额外的视频信号的模/数转换过程。USB的即插即用特性使得设备接插连接更加的方便快捷。
3 旅游车辆监控系统的软件件设计
3.1 监控系统的软件设计思想
嵌入式软件系统的开发主要包含3个部分:系统引导加载程序(BootLoader)、嵌入式Linux内核定制、根文件系统以及应用程序设计。整个监控终端系统软件结构如图3所示。
BootLoader采用飞凌公司开发的U—Boot来引导操作系统。由于U—Boot对S3C6410处理器平台的完整支持,故只需进行少量地修改就可应用于具体设计项目中。
嵌入式操作系统采用较新的Linux-3.0.1版本,该内核对视频及大数据量的处理都进行了优化,内核也具有更好的内核调度策略,实时性有较大的提高。
根文件系统主要实现对Shell命令集的定制、系统配置脚本的编写以及相关嵌入式库文件的生成与添加。考虑到嵌入式系统Flash资源有限,本设计方案利用mkcramfs工具制作压缩根文件系统,以节约系统资源。
3.2 人脸图像的检测与识别
在旅游车辆监控系统中,对人脸图像的检测与识别是设计的关键技术。在这里主要采用主成分分析方法(PCA)来完成对人脸图像的自动识别。经典的PCA方法由于提取的是图像的全局特征,因此受光照条件和人脸表情变化影响比较大,造成识别效果不太理想。在本设计中采用伽马变换对图像进行预处理,使光照不均匀对图像识别的影响降低,便于采用PCA方法对人脸图像进行识别。
人脸图像的识别过程主要包括人脸库建立和对输入人脸的识别。人脸库的建立过程大致如下:首先,系统把人脸检测器装入系统中,对系统进行初始化;再从摄像头中取得图像,当检测到人脸图像后,对人脸区域进行定标;然后对该人的人脸图片进行一定的预处理,然后存入人脸库。识别过程如下:首先对人脸数据库进行训练,然后对检测出的人脸进行特征提取,使用分类器进行识别。
3.2.1 人脸图像的预处理
伽马变换是一种常用的非线性变换,其基本表达形式为s=crγ,其中c和γ为正常数,r表示输入图像灰度值,s表示输出图像的灰度值。当γ>1时,将输入中范围较窄的高灰度值映射为较宽输出值,图像的高灰度区对比度得到增强;γ<1时,将输入中范围较窄的低灰度值映射为较宽范围输出值,图像的低灰度区对比度得到增强;当γ=1时,属于线性变换,不改变原图像。当γ值增大时,输出灰度s会随着指数的增加而迅速增大,但当指数达到2或更高时,会使曲线变成一条近似的垂线而使产生的图像几乎全黑。因而要使r的取值在0~1之间。
3.2.2 人脸识别
PCA方法是人脸识别中常用的一种方法,它从人脸图像的全局出发,运用K—L变换理论,在原始人脸空间中求得一组正交向量,并以此构成新的人脸空间,达到降维的目的。
设xi∈Rn(i=1,2,…,m)是M个n维的观测样本,X=(s1,s1,…,s1)T为观测样本矩阵,其总体样本的均值为:
3.3 系统应用程序设计
系统的功能是由应用程序来完成。为了节约系统资源和有效利用CPU,本系统采用多进程技术实现系统任务的调度。嵌入式系统启动时,先加载设备驱动程序,完成设备的初始化工作,然后调用应用程序,完成如下功能:
1)信息数据的采集
通过USB接口采集图像信号(带USB接口的摄像头);通过串口采集车辆定位信息(带串口的GPS模块)、旅客的物品信息(带串口的电子标签阅读器)。
2)信息的处理模块
对采集的图像进行识别处理,进而实现对旅客身份的确认;对车辆进行GPS定位;对旅客的行李物品进行登记并与旅客进行关联。
4 结论
本系统采用基于ARM11微处理器为主控硬件平台,利用带USB接口的摄像头模块实现人脸图像的采集,同时采用PCA算法对人脸进行识别;利用带串口的电子标签阅读器对旅客行李物品进行登记并与旅客相关联;利用带串口的GPS模块实现车辆的定位;采用GPRS模块把旅客车辆的控制信息通过无线网络传送到远程的旅游车辆监控中心。旅游车辆监控系统是基于Linux操作系统开发,得益于Linux系统具有源代码开放的优点,开发成本可大大降低。采用嵌入式系统,完成车辆、人员和财物的检测与监控是智能管理系统的一个崭新的发展方向,有广阔的应用前景。