嵌入式方向

关键词: 工控 方向 全球 网络

嵌入式方向(精选四篇)

嵌入式方向 篇1

一、培养复合型人才为目标的课程体系研究思路

综合分析大量企业的核心需求之后, 我们将整个课程体系设计为专业技术、项目经验和职业素质3条主线。在专业技术方面, 课程囊括目前主流的J2EE、J2ME、i Phone以及极具发展潜力的Android平台, 将J2EE技术与J2ME、Android等技术平滑过渡, 通过项目有效地整合, 以确保学生掌握客户端应用技术开发的同时, 又能开发服务器端程序, 就业后可以在技术方面独挡一面或者领导团队开发项目;在项目经验方面, 课程设计了3G前端开发 (XHTML和Java Script) 、J2EE SSHA服务器端开发、J2ME客户端开发、i Phone客户端开发和Android客户端开发5个方面, 共计32个实训项目, 超过64000行代码编写量;在职业素质方面, 课程以职业规划为主线, 强化训练职业心态、职业能力、职业准则和十类型应用背景。整体课程学习完毕后, 学生将成长为优秀的复合型人才, 能够适应未来职场的快速变化。

二、逆向工程为导向的课程体系设计方法。

在设计课程之前, 我们对大量企业和院校进行了调研。在企业方面, 我们深入分析了前程无忧、智能招聘和中华英才三大热门招聘网站中1748家企业共计2826条招聘信息, 汇总整理了438家企业提交的调查问卷, 同在北京、上海、广州和深圳29家企业技术主管及人力资源主管进行了深度访谈;在院校方面, 我们收集了23所院校提交的76份教师问卷、1322份学生问卷。最终, 根据企业调研结果确定培养方案, 并进行关键技能方向细分;根据院校调研结果确定阶段目标和定位, 将关键技能点和阶段目标及定位组合起来形成学习领域, 最后编排课程形成课程体系。嵌入式软件3G方向专业课程体系如表1所示 (不含公共基础和职业素质课) 。

三、以项目案例+知识模块为主线的双核内容组织思路。

传统意义上的课程内容组织多以知识模块为主线, 即按照理论知识体系由简至繁、由易到难进行讲解知识模块组织思路主要是以应试为目的, 覆盖全面、循序渐进, 对于理论性较强的科目优势显而易见, 如数据结构和C语言程序开发。对于具有较强实践性的课程, 重点在于对框架、结构层面掌握和应用。采用企业真实项目案例, 根据软件工程学方法, 将项目按功能划分为功能模块, 以项目作为载体融合知识模块, 学生在学习的过程中同时也是做项目开发。使学生既有效地加深了对理论知识理解, 同时又积累了项目经验, 嵌入式软件3G方向设计的项目如表2所示。

3G技术的快速发展, 嵌入式软件3G技术人才的短缺, 为高职嵌入式技术专业教育的利好发展提供了机遇。然而嵌入式系统会随着应用的复杂性以及性能的无止境需要而变得越来越复杂, 为了适应市场变化的需要, 嵌入式3G人才的培养必须与嵌入式行业的发展相适应, 始终跟随企业的实际需要做出动态调整。在课程体系的构建上, 要把握专业培养目标的一致性和连贯性、课程体系的可扩展性、课程内容与技能目标的一致性、课程内容的前后衔接性等基本原则。

参考文献

[1]申华, 周国顺, 闫慧琦.嵌入式系统工程专业课程体系逆向设计研究[J].计算教育, 2012, (21) :64-67.

[2]郭建宏.高职院校嵌入式软件专业建设及其人才培养[J].辽宁高职学报, 2006, (5) .

嵌入式方向 篇2

计算机科学与技术专业专业基础课)第七学期

一、嵌入式系统教学实验平台配置 1.平台的硬件配置

MICETEK EV44B0II是一个适用于手持设备和一般应用的S3C44B0X处理器的教学开发平台。它包括采用ARM7TDMI的S3C44B0X处理器、8位LCD连接器和触摸屏接口、10MHz外部时钟、1M×16位的FLASH、4M×16位的SDRAM,2个RS232串行口、一个JTAG接口、1个并行调试接口、1个RTC、1个I²C E²PROM、1个10/100MB网络接口、1个USB接口、1个具有扬声器和麦克的音频接口、一位8段码显示器、1个4×4键盘、特殊功能引脚和总线扩展接口。2. 软件开发环境

操作系统和图形界面API采用开源的μCLinux和MicroWindows(GUI)等。开发工具采用上海祥佑数码公司提供的LinuxView软件。它是在WINDOWS环境下用于嵌入式Linux内核调试和应用程序调试的集成开发环境。试和调试硬件和BSP。

二、实验目的

《嵌入式系统设计与实现(实验课)》的实验内容分为2个层次。基本部分目的是让学生了解认识)嵌入式软件硬件的一般开发环境与流程;让学生熟悉实验开发工具掌握实验开发工具操作方法及使用,熟悉软件编程环境,根据《实验指导书》的内容进行基本的嵌入式程序开发。综合应用部分目的是让学生综合运用前面所学到的知识,按照指定的题目,自行设计开发嵌入式应用程序。

三、基本型和研究性实验

(一)基本实验

实验一

Hitools for uClinux开发环境 1. 实验目的及意义

熟悉Hitools for uClinux开发环境,学会JEDI仿真器的使用。了解使用Hitools for uClinux进行uClinux开发的基本过程。2.实验要求:

必修

3.实验步骤:

(1)安装 Hitool for ARM supporting uClinux

(2)建立开发环境

(3)配置内核和必要的应用程序

(4)编译内核和根文件系统

(5)调试内核

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验二

44B0 初始化 1. 实验目的及意义

完成S3C44B0的初试化配置,顺利进入C程序。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。

(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验三

JTAG调试和MDB调试 1. 实验目的及意义

学会使用 Hitools for uClinux进行系统级调试和任务级调试。2.实验要求:

必修

3.实验步骤:

(1)创建一个新工程,添加源文件hello.c,编译。(2)使用JTAG调试应用。

(3)使用MDB 调试应用程序。

4.试验类型:

设计

5.需开实验组数:

30组 6.消耗材料金额

实验四

Timer调试 1. 实验目的及意义

用中断方式,定时改变8-SEG的某段的显示时间。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验五

FLASH操作调试 1. 实验目的及意义

熟悉Flash的基本操作方法,完成对BOOT Flash的擦除及烧入。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),超级终端和EV44B0-II的UART0 相连。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)把要烧入的文件下载到SDRAM(注意不要和你所建项目的地址重合)。

(4)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验六

Keyboard调试 1. 实验目的及意义: 利用其I/O口和外部中断,构成一个键盘扫描电路。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验七

UART调试 1. 实验目的及意义

用中断和BDMA方式,在UART0输出一串字符,然后把在键盘上键入的在超级终端上显示出来。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验八

RTC & WDT调试 1. 实验目的及意义

用RTC功能,在超级终端和LCD上显示小时,分,秒,就象一个时钟,还结合WDT的RESET功能,当在超级终端键入一时,系统重启。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),依附录连接超级终端和UART0。(2)运行Hitool for ARM, 建立项目并加入五个源文件,编译。

(3)加载目标文件,运行,在超级终端上会要求依次输入年,月,日,星期,小时,分和秒。然后在超级终端显示全部,并在LCD显示小时,分和秒,并实时更新。(4)在PC键盘摁“1”,评估板进入WDT测试,在超级终端上显示0~10,然后在2秒种后重起。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验九

ADC & TOUCH PANEL调试 1. 实验目的及意义

利用S3C44B0的I/O和ADC,做一个触摸屏的实验。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十

LCD调试 1. 实验目的及意义

EV44B0-II现配有160*240的黑白的显示屏,本实验就是在其上面显示一个160*240的图片出来,是4bit单扫描的。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端也可连上。(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十一

IIS调试 1. 实验目的及意义

EV44B0-II利用IIS接口和PHILIPS的UDA1341TS,完成音频的线路,并结合S3C44B0的BDMA,实现声音的录放。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口),超级终端和EV44B0-II的UART0相连。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端会依次提示。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验十二

uClinux下串口设备的使用 1. 实验目的及意义

学习在uClinux系统中使用串口设备,通过读写该设备对应的设备文件与其他设备通信;同时了解uClinux系统中设备文件与设备驱动程序的关系,以及系统读写调用与驱动程序读写函数关系。2.实验要求:

必修

3.实验步骤:

(1)将44b0上的uClinux系统启动,在超级终端上运行。

(2)按照MDB的起动步骤,使Hitool For uCinux ARM在MDB方式下调试。(3)用另一条串口线将44b0评估板的com2与计算机的com2连接。新建一超级终端。(4)启动Hitool For uClinux ARM 将编译好的elf文件down下去。

(5)运行程序。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

(二)综合应用实验 实验一

USB调试 1. 实验目的及意义

利用EV44B0-II上的USB的线路,进行基本的操作,以此来熟悉USB和S3C44BO。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端和EV44B0的UART0相连(见附录)。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端出现下图。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验二

ETHERNET调试 1. 实验目的及意义

利用EV44B0-II上的乙太网的线路,进行基本的操作,以此来熟悉以太网和S3C44BO。2.实验要求:

必修

3.实验步骤:

(1)连接EV44B0-II 和PC(JTAG或并口,),超级终端和EV44B0的UART0相连(见附录)。

(2)运行Hitool for ARM, 建立项目并加入四个源文件,编译。(3)加载目标文件,运行,在超级终端出现下图。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验三

TCP/IP网络 1. 实验目的及意义

熟悉uClinux环境下TCP/IP协议栈的使用,学习如何实现TCP/IP操作,编写CS(client-server)结构的程序,掌握uClinux下TCP/IP编程学会在Hitools for uClinux环境下使用MDB调试TCP/IP程序。2.实验要求:

必修

3.实验步骤:

(1)编译好一个带MDB的uClinux内核,将linux_bootrom.bin通过Hitools烧录到评估板。(2)查看系统的路由信息。

(3)在Hitools环境下创建一个新工程,添加nettime.c文件,编译。

(4)配置Hitools的调试协议为MDB,启动主机的Target Server。(5)启动服务端程序,选择Hitools菜单Project下的Init Debugger。(6)启动客户端程序,在超级终端中,进入目录/var/tmp ,键入./nettime –c 10.10.16.220 –o 8888 回车。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验四

文件系统操作 1. 实验目的及意义

熟悉uClinux环境下文件系统,了解uClinux中文件系统的体系结构,编写文件系统处理程序。知道如何添加文件系统到内核中。

2.实验要求:

必修

3.实验步骤:(1)编译好一个带MDB的uClinux内核,将linux_bootrom.bin通过Hitools烧录到评估板。(2)配置启动评估板,利用ifconfig命令配置以太网口,启动MDB。(3)在Hitools环境下创建一个新工程,添加fileop.c文件,编译,配置Hitools的调试协议为MDB,启动主机的Target Server。(4)下载程序,并指定参数/etc/test.tmp。(5)开始调试,观察console中的操作结果。(6)重复1-4,并指定参数为/tmp/test.tmp(7)开始调试,观察console中的操作结果。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验五

uClinux下的web服务器 1. 实验目的及意义

熟悉Web服务器的工作原理了解uClinux环境下的Web技术添加一个Web服务器到uClinux系统中。

2.实验要求:

必修

3.实验步骤:

(1)在按实验内容对程序进行修改后,重新编译uClinux内核,使用HITOOLS中的编程工具,将linux_bootrom.bin通过JEDI烧写到EV44B0II评估板。

(2)使用ifconfig命令确认EV44B0II的IP地址。(3)运行boa-c /tmp/ &,启动web服务器。

(4)打开PC上的浏览器(如IE6或Netscape)输入EV44B0II的IP作为网址,例如http://192.168.1.125/,这时就可以看到要测试的网页内容。网页内容是/tmp/index.html文件。(5)在lamp number 文本框中,写入“1”,然后点击 “display”。(6)在浏览器上显示“Demo Web Page”。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验六

uClinux下的声音设备的使用 1. 实验目的及意义

了解S3C44B0提供的IIS总线接口的功能特性,熟悉IIS总线标准,熟悉WAV文件的格式和EV44B0II实验板声音部分的原理,最后通过一个实验程序了解uClinux下声音设备的使用。

2.实验要求:

必修

3.实验步骤:

(1)首先配置Hitool for ARM uClinux,使其以MDB方式调试。(2)运行Hitool。选择Project菜单下的New,新建一工程。(3)增加源文件到新建的sound工程。(4)对工程进行编译。

(5)将程序下载到实验版上进行调试。

(6)本例程序首先将同一目录下的Test.wav播放出来,然后进行3秒的录音。

4.试验类型:

设计

5.需开实验组数:

30组

6.消耗材料金额

实验七 uClinux下的LCD显示 1. 实验目的及意义

了解LCD显示原理,学习S3C44B0的LCD控制器特性,熟悉LCD控制器与LCD驱动器的连接接口,了解uClinux下framebuffer显示驱动的使用。

2.实验要求:

必修

3.实验步骤:

(1)首先配置Hitool for ARM uClinux,使其以MDB方式调试。(2)运行Hitool。选择Project菜单下的New,新建一工程。(3)在workspace中我们可以看到一个名为lcd的Project已经建立。下面需要将源程序加入到source files中。鼠标右健点击source files文件夹,选择Add source Files。(4)对工程进行编译。

(5)将程序下载到实验版上进行调试。

4.试验类型:

设计

5.需开实验组数:

30组

嵌入式创新是未来的发展方向 篇3

嵌入式的研究和应用已历经了许多年的发展,目前在存储、通信、医疗、工业、车载等多个应用领域得到了大量实现,使得设备更智能、更多样化和个性化。我们估计到2015年时,会有近150亿个嵌入式设备与互联网连接,那时中国也将成为世界上最具潜力的嵌入式设备生产与消费大国。

基于这一趋势,2009年英特尔研究院对外宣布,成立英特尔中国研究院(英特尔至今唯一非美国本土的研究院),并且让它致力于世界一流的嵌人式系统研究。嵌入式在多方面的创新应用,为英特尔的发展提供了方向与动力

我们认为,嵌入式市场正在经历显著的全球增长以及技术变革,同时,中国已经成为世界上最大也是增长最快的手持设备、消费电子、嵌入式设备市场之一,强劲的市场需求鼓舞着前沿技术和新型应用模式不断涌现。

比如中国在交通基础设施方面投资巨大,嵌入式在智能交通上的应用,将为个人与公共交通的安全、环保、体验等多方面带来革命性的进步。我想也许有一天,嵌入式应用足够成熟后,汽车无人驾驶也可以实现。

比如城市人口密集。电能消耗巨大。嵌入式在个人能源管理上的应用,将带来巨大的节能潜力。英特尔发明的一种新型无线设备,只需插入家庭线路,即可监控能源利用情况,并推荐更高效的能源使用方案。据统计,它可为一个美国家庭平均每年节约高达470美元电费!

当然,嵌入式还将促进众多个人互联设备的创新。它将使智能手机、上网本、智能电视、数码相框、电纸书等设备更加善解人意,拥有更多的通信、信息、娱乐等个性化功能,成为个性化互联网时代人们形影不离的数码伴侣。让设备为人服务,这是嵌入式创新的核心利益点所在,也是产业未来的机遇。但是,嵌入式的发展也面临着技术与商业模式上的多重挑战

首先,嵌入式开发需要用更短的时间集成更多技术,以支持产品进行最快的更新。嵌入式产品的开发周期已经进入6+6模式,即6个月完成设计,6个月之内变成产品上市。而且,嵌入式产品都是高度个性化与专业化的,为了满足不同层面的功能,就需要集成硬件软件、服务、内容等多方面的技术

其次,嵌入式产品要求小巧,低功耗、高性能、稳定可靠一个都不能少。未来工程师需要在比32纳米更小的工艺上进行开发。同时,由于大部分嵌入式产品都使用电池供电,还将面临着越来越苛刻的功耗要求。另外,嵌入式系统需要适应各种各样的应用条件,比如车载系统要适应-30~+40℃的工作环境,因此对稳定性要求也会越来越高。

嵌入式方向 篇4

当今社会,计算机发展迅速,人们日常生活已经离不开计算机,它作用于我们生活的各个领域,而现在,人与计算机的交互也成为人们研究热点问题。随着人机交互技术的发展,手势识别作为人机交互领域中的重要组成部分得到了广泛的关注。 手势识别分为基于数据手套的手势识别和基于视觉的手势识别[1,2]。由于基于数据手套的手势识别对于硬件要求高、不易随时随地实现等缺点,已经渐渐退出日常手势识别研究领域。基于视觉的手势识别由于不干扰用户、符合人眼观察属性、更加自然等优点,逐渐成为手势识别研究领域的主流[3]。多数研究者是在计算机平台上研究手势识别,识别的准确性时效性高,但实用性欠缺。嵌入式系统实用性高,硬件构造简单,运行高效,针对性强,易于产品开发[4]。直方图算法简单易行,速度快,抗干扰能力强,对于平移和尺度变化稳健性好,适合嵌入式平台开发[5]。所以本文针对DSP嵌入式系统研究手势识别,用方向直方图的方法进行手势识别,增加识别的抗干扰能力,以增加手势识别研究实用性

1 基于方向直方图的嵌入式手势识别方法

1.1 嵌入式系统

本系统采用TI公司的DM642芯片作为主控芯片。DM642是TI公司专门为多媒体应用而开发的DSP,采用TI的第二代高级超长指令字结构(VelociTI),使得在一个指令周期能够并行处理多条指令。它可在600 MHz时钟频率下工作,每个指令周期可并行8条32位指令,因此,可达到4 800 Minstruction/s(兆指令/秒)的峰值计算速度。容量较大的两级缓存和EDMA通道可以节省CPU资源,提高程序执行效率。DM642具有丰富的外围设备接口,包括3个可配置的双通道视频端口(video port),可以提供视频输出和输入。DM642可以接外扩的存储器,外扩的存储器通过DM642的外部存储器接口(EMIF)进行扩展,能够存储较大的数据。可见DM642功能强大,很适合做视频处理应用开发。

1.2 手势识别

手势识别有很多经典算法,其中有些是准确率很高的算法,但是算法本身庞大,若移植到嵌入式系统会出现种种问题,尤其是时效性问题。所以本文在选择识别算法时主要关注的是时效性较好的算法。经过比对,最终选择了基于方向直方图的算法,并对其算法进行改进,在嵌入式系统上实现。

1.2.1 方向直方图

图像是由像素组成的,而每个像素都有自己的灰度变化最大方向,这个方向就是当前像素的灰度梯度。用这个梯度来代表当前像素的属性,将所有像素的这个属性集合,就可以生成整幅图像的方向直方图。将此方向直方图和数据库中的标准手势方向直方图匹配,即可得出当前手势的含义。

当前像素的梯度方向θ可以用式(1)表示

{θ(x,y)=arctan[Sy/Sx]Sx=Ι(x,y)-Ι(x-1,y)Sy=Ι(x,y)-Ι(x,y-1)(1)

式中:(x,y)是当前图像的坐标;I(x,y)是图像(x,y)的灰度。

θ(x,y)[0~2π]均匀地分成M份,将每一份角度区间的像素个数记为

ϕ(k)=x,y1,θ(x,y)[(k-1)×360Μ,k×360Μ](2)

式中:k=1,2,…,M,将M个ϕ(k)集合,即生成了当前图像的方向直方图。

1.2.2 边缘的方向直方图

由于本文讨论的是嵌入式系统算法,需要算法计算简单,所以只对手的边缘做方向直方图。本文采用Sobel算子的算法,因为Sobel可以同时检测边缘和计算当前像素的灰度梯度,减少了计算量,适合嵌入式系统。

Sobel算子如图1所示。

假设当前像素如图2所示。

Sobel算子分为水平方向和竖直方向,将当前像素和2个Sobel算子卷积计算分别得出SxSy,公式为

{Sx=-a1+a3-2a4+2a6-a7+a9Sy=a1+2a2+a3-a7-2a8-a9(3)

SxSy分别代表当前像素的灰度的水平变化和竖直变化值,由式(4)取它们绝对值的和S近似表示当前像素的灰度变化值

S=|Sx|+|Sy|(4)

S大于某一阈值N,就认为当前像素为边缘点。通过这种方法即可检测出所有的边缘像素。由式(5)得出当前像素的梯度方向θ(x,y)

θ(x,y)=arctan(Sy/Sx) (5)

对之前通过S检测出的所有边缘像素进行式(5)的计算,并将结果带入式(2),即可得出当前图像的边缘方向直方图。

2 嵌入式手势识别系统实现

2.1 硬件设计

根据上述方法,对理论进行实现。实验硬件框图如图3所示。

实验设备采用实验室SOPC平台和一个CCD摄像头。

通过PAL制摄像头,实时采集手势视频数据,通过视频解码器将模拟信号转化为数字信号YCbCr制式,将此数字信号传给DSP(DM642)芯片,DSP芯片将当前视频信号进行图像处理,生成边缘的方向直方图,并与数据库中的模版匹配得出当前手势含义。

2.2 软件设计

软件流程图如图4所示。

2.2.1 训练建立标准库过程

在实验前,先通过对一系列需要识别的手势进行训练,建立一个方向直方图的数据库,被用来在实验中对实验手势匹配。对每种需要识别的手势分别做10次实验,将10次记录的直方图取均值,将平均后的直方图作为此手势的标准直方图模板。由于数据库的数据量可能发展很大,所以将这些数据存放在DSP外接的SDRAM内,以节省DSP内部资源。

2.2.2 手势识别过程

整个图像处理过程可分为3个部分:分割前景,提取特征,匹配模版。

1) 分割前景。

考虑嵌入式系统的局限,本文选用简单的背景差分法做前景提取。固定摄像头,进行视频采集,提取前16帧图像取均值做为本次背景模型。在16帧之后,前景(手)进入摄像头取景范围,DSP将当前图像和背景模型做减法(背景分割),即可得出前景图像。由于图像的一些干扰导致的图像不完美,所以进行滤波、开闭运算对图像进行处理,去除干扰,得到较完整的前景。由于进入摄像头范围的物体包括手和其他物体(如手臂、身体等),所以需要用肤色分割的方法去除干扰物体。先去背景再肤色分割而不采用去背景直接肤色分割的原因是直接肤色分割的精确度受背景影响严重以及DSP对整幅图像做肤色分割计算量过大影响效率。肤色分割为避免亮度影响,故将YCbCr图像转为HSV图像,再进行肤色分割。肤色分割之后就得到了完整的前景(手)。

2) 特征提取。

得出完整手的图像之后,用式(3)和式(4)的Sobel边缘检测算法进行边缘检测,得出当前图像中手的边缘的像素。为了避免背景对直方图的影响,故将背景灰度值设为0。对这些边缘像素进行式(5)和式(2)的运算即可得出这些边缘像素的方向直方图。为了增加此方法对于不同大小的手的适用性,将直方图做归一化处理,公式如下

ϕ(k)=ϕ(k)÷c(k=1Μϕ(k))(6)

由于DSP做浮点运算速度不如定点运算,所以将式(6)做改进,避免浮点运算。式(7)中的ϕ′(k)即为改进后的归一化方向直方图

ϕ(k)=1000×ϕ(k)÷c(k=1Μϕ(k))(7)

3) 模版匹配。

将当前图像的方向直方图和数据库模版的方向直方图比较,最接近的模版即为当前手势含义。这里采用了适合直方图比较的Bhattacharyya距离的方法。假设当前手势方向直方图和数据库中一个模版z的方向直方图分别为ϕ(k)和φz(k),k=1,2,…,M,用Bhattacharyya系数衡量两者相似性的数学表达式为

ρz=k=1Μϕ(k)φz(k)(8)

式中:ρz越大,表示2个直方图越相似。ρz最大的模版z就是当前手势的含义。

3 实验结果

3.1 建立手势标准库

本实验需要先建立手势库,先通过对一系列需要识别的手势进行训练,建立一个方向直方图的数据库,被用来在实验中对实验手势进行匹配。对每种需要识别的手势分别做10次实验,将10次记录的直方图取均值,将平均后的直方图作为此手势的标准直方图模板

通过实验和前人的经验,最终确定以上公式的M为36。这样既能区分手势,又使计算量不是过大。

部分手势及其边缘及其方向直方图如图5所示,左侧图是原始图像,中间是图像处理后的手势边缘图,右侧是手势边缘的方向直方图。其中直方图的横坐标为1~36的整数,代表式(5)求出的像素梯度方向的角度值,1代表[0°,10°),2代表[10°,20°),以此类推,36代表[350°,360°);纵坐标代表梯度方向在当前角度段的像素的个数占图像总像素个数的百分比值。

3.2 识别的正确性

实验中,设置一变量记录匹配结果,根据变量值指示本次实验的识别结果,若此结果与实验者的手势本意相同,则认为识别成功。根据数据库中每种标准手势测试20次,并记录识别结果,识别率达到92.14%。实验数据如表1所示。

3.3 对于平移和尺寸变化不敏感

由于本方法提取的特征是前景边缘像素的方向直方图,表示的是前景边缘像素的灰度变化最大值方向,与前景在图像中的位置无关,所以本方法对于手在摄像头中出现位置不敏感,如图6所示。

由于本方法中直方图的提取用了归一化直方图,直方图每个元素的值都表示的是当前角度像素个数占图像总像素个数的百分比,是用比值表示的,所以手的大小远近不敏感,如图7所示。

4 小结

本文改进了手势识别的算法,并在嵌入式系统上实现,将手势识别的现实意义推进了一步。该方法的特点是:计算量适中,只对边缘像素进行特征提取;对于手的位置和远近不敏感;实时性较好;能够实现复杂背景下的手势识别,但是不同的背景的识别效果不同;由于背景算法简单,所以对于光照变化大的环境不适用。所以下一步的工作是对背景算法进行研究改进,进一步完善将嵌入式手势识别的算法。

参考文献

[1]TRIESCH J,MALSBURG C V D.A system for person independent hand poature recognition against complex backgrounds[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2001,23(12):1492-1453.

[2]WILLIAM T.Orientation histograms for hand gesture recognition[C]//Proc.IEEE International Conference on Automatic Face and Gesture Rec-ognition.Zurich:IEEE Press,1995:296-301.

[3]张长青,宋旭.一种实时手势识别应用开发框架[J].微型机与应用,2011(9):48-51.

[4]徐成,马翌伦,刘彦.一种基于嵌入式系统实时交互的手势识别方法[J].计算机应用研究,2011(7):37-39.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:2025年农机监理个人总结报告 农机监理人员工作总结(3篇) 下一篇:2025年机电监理个人工作总结(十五篇)