《智能交警手势识别系统.doc》由会员分享,可在线阅读,更多相关《智能交警手势识别系统.doc(5页珍藏版)》请在金锄头文库上搜索。
1、智能交警手势识别系统1.作品介绍 1.1 作品概述: 本产品采用先进的动作识别技术提供手势识别方案,解决交警实际指挥中的重要问题。具有识别可靠性高、速度快、可读性强等优点。在恶劣天气或夜间可以起到增加可视距离、保证交警执法安全等作用。 1.2 系统构成: 系统框图:图一(系统框图)1.2.1手持端(信号采集模块) 采用 MXR9500 采集手部挥动所产生的加速度,加速度相应的模拟量通过nRF24E1 内部的ADC 转换为 8 位的数字量,并使用 nRF24E1 内部的2401模块 通过 2.4G无线频段发射出去。 由于 MXR9500 产生的电压范围超出了 nRF24E1 上 ADC 的参考电
2、压,所以采用电阻分压来降低电压,随之而来的误差将在识别算法中被修正。手持端采用锂电池供电,电源管理相对简单。过流保护板与锂电池电压转换芯片构成稳定电源,再配以相应电容就得到芯片与传感器的电源。充电使用通用充电器直接连接保护电路即可,同时电压转换芯片将保护系统芯片不受充电电流影响。图二(手持端示意图)nRF24E1 发射信号可设置发射频率,并可设置地址码,同时其内部有 CRC校验功能,这样使用同一信道的信号也不会错误接收。本系统使用两个nRF24E1同时在不同的频段发射信号,并通过一个 nRF24E1 来轮询接收。对于本系统,nRF24E1的信道切换速度足够识别需求。 1.2.2 主机(核心处理
3、模块) 采用 nRF24E1 接收手持端传来的无线信号,经过简单处理通过串口发送至 ATmega128 微处理器。微处理器将传来的信号进行软件算法滤波之后进行识别处理,并对识别数据与数据库中数据进行比对,最终得出识别结果,通过 IO 口传递给挂载在一条总线上的下一级芯片。下一级芯片可以是:声音芯片、车载显示屏驱动芯片、佩戴式显示屏驱动芯片或者其他功能扩展模块(如温度、噪声、GPRS模块等)。 识别过程中需要处理的数据是加速度在时域中的变化值。手部动作虽然具有规律,但所产生的加速度值会与挥动速度、挥动力度有关系。同一个动作可能存在着多种路径,所以在识别的时候需要考虑这些不确定因素。 滤波采用简洁
4、高效的时域滤波法,将时域中一定时间内的数据进行加权平均得出较平滑的波形。之后对波形进行采样提取特征值,和数据库中已存的特征值进行对比,最终即可识别出动作名称。 1.2.3 扩展模块 扩展模块包括: 车载显示屏驱动模块 ; 佩戴式显示屏驱动模块 ;声音驱动模块 ;温度或噪声采集模块以及其他扩展模块。 1.2.3.1 车载显示屏驱动模块采用 ATMega16 实现,将显示屏内容通过 IO 串行送入车载 LED显示屏,并同时产生行选信号。显示模式为逐行扫描模式 1.2.3.2 佩戴式显示屏模块采用 ATMega8 控制,在演示产品中使用市面上可购买到的电子胸卡,该胸卡采用串口接收数据并显示。用 AT
5、Mega8 模拟 PC 串口所发送的控制数据对电子胸卡进行控制,以实现显示内容。 1.2.3.3 声音驱动模块采用凌阳单片机实现,通过 IO 口获取识别结果,并使用其内部语音模块驱动扬声器播放声音。所有扩展模块均通过统一标准的 IO 口接入主控识别芯片,并可实现同一模拟总线上同时挂载多个模块。 1.3.开发流程 1.3.1 系统构架 为了实现手势识别并将结果显示在车载屏幕上,所以采用无线信号采集解决方案。为使系统可以扩展更多功能以便接入未来立体信息化交通管理系统,系统采用分工明确的模块化结构。整个构架包括信号采集、信号处理、信号识别、结果显示及扩展功能部分。 核心为信号识别部分,该部分负责信号
6、的识别,并将识别结果通过一条模拟总线发送给下一级功能模块。 1.3.2 芯片选型 无线传输为本系统的基本框架,选择低功耗、通用性好的无线传输芯片是选型的主要参考。nRF24E1 除了具有 2.4G 无线发射接收模块,其内部还带有增强型的 51 控制器,并且有 ADC 及 UART 功能模块。可以直接将传感器产生的模拟信号转换成数字信号并进行无线传输。该芯片在无线传输时还可进行硬件CRC校验,可保证传输信号安全可靠。 核心处理模块选型的主要参考有:处理速度、存储器容量、通用性。ATmege128 具有足够的识别运算能力,并且具有 128K 的 Flash 存储器,可完整保存识别对比数据。同时该芯
7、片所需外围电路简单,通用性好,可大大缩短开发周期。 1.3.3 识别算法建模首先建立硬件信号采集环境,将采集到的数据通过串口发送至PC进行分析以得出识别算法。 PC 端使用 Labview 获取串口数据,对数据进行简单索引拆分后生成波形图表。(如下图)图三(Labview窗体)Labview 通过对波形分析,发现同一动作所产生的六路波形的包络十分相似,但在幅度以及时域尺度上有所区别。如果采用波形包络进行对比识别的可行性较大,但这样会面临一个主要问题:开始点与结束点的确定。因为对数据进行做差再比较需要对波形整体进行时域中尺度的调整才可具有可比性,而且这种识别方式在ATMega128 上实现会遇到
8、存储空间上的问题。图四(Labview图表)放弃整体波形识别模型,从动作分解动作特征来寻找解决方案。在每一个动作做出的时候都会产生一个启动方向以及一个停止方向。这两个量通过实际波形观察具有可识别性,通过六个轴产生加速度的趋势来获得这个量并进行编码,之后按照时序先后与数据库中的数据进行对比即可得出结果。 以上方案在PC端使用Labview进行信号跟踪,并人工模拟记录数据,得到验证。并在移植到ATMega128 后运行正常。 核心算法具有创新性,涉及知识产权。各位专家如需了解详细算法请直接与我们联系。1.3.4 系统测试 测试采用 C+生成 160 个随机数并除以 8 取余来选取 0-7 之中的一个编号,对编号所对应的动作进行识别,并记录识别结果。记录结果如下: 测试结果显示,本系统识别正确率达到100%。