机器视觉图像采集设计与研究

机器视觉图像采集设计与研究

ID:32471345

大小:1.89 MB

页数:66页

时间:2019-02-06

上传者:U-3868
机器视觉图像采集设计与研究_第1页
机器视觉图像采集设计与研究_第2页
机器视觉图像采集设计与研究_第3页
机器视觉图像采集设计与研究_第4页
机器视觉图像采集设计与研究_第5页
资源描述:

《机器视觉图像采集设计与研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

大庆石油学院硕士研究生学位论文摘要机器视觉是一门新兴的发展迅速的学科,八十年代以来.机器视觉的研究已经历了从实验室走向实际麻圳的发展阶段。目前,机器视觉系统正在J.‘泛地应朋丁.I玺|像监控、视觉检测、机器人导航及视觉伺服等系统中⋯。一般来说,机器视觉系统是以计算机技术为中心,主要由视觉传感器、高速图像采集系统及专州幽像处理系统等部分构成的一个智能系统口I.本文从嵌入式系统和嵌入式操作系统入手,开发设计山一个融合嵌入式技术和人脸检测的智能视频监控系统。该系统以ARM9微处理器为核心.扩展相应的外嗣设备,搭建了一个嵌入式系统平台。然后使HjUSB摄像头和无线网鼻实现了实时视频的采集和传输功能。并在此基础上实现了运动检测,人脸检测等功能。本文首先探讨了嵌入式系统的特点.分类和前景,然后介钔了基丁.ARM的视频幽像采集和传输的嵌入武系统的总体结构.介纠了所构建的嵌入式系统的便卅:殴计。包括嵌入式系统主控制器和外部器件的选型,井给出了相应器件的设计电路。接着在考虑系统硬件结构和软伺:平台的基础上,文中重点阐述了图像采集传输系统的软件设计与实现。详细介绍了视频图像采集和无线传输过程。随后本文结合运动检测、肤色建模和构建多级分类器的方法实现了视频图像的实时人脸检测。首先根据运动检测模块确定监控系统山现运动行为,f:人致确定运动范罔.启动人脸检测模块;然后建立人脸的肤色模型并根据此模型进行人脸的预定位.缩小J玺|像中待识别的范围,井勾勒出人脸的候选区域;最后系统采用了基丁=.AdaBoost算法,挑选特征井构建多级分类器的方法完成了对人脸的精确检测定位。进一步对结果进行验证.这种技术非常适合予象实时视频监控系统这样的场合,较好地解决了实时视频图像中对人脸检测的问题,取得了一定的效果。关键词:l挺入式系统;酗像采集;人脸检测:无线传输:运动检测 AbstractAbstractMachinevisionisaquick-developingdomain.Theresearchfocuswaschangingfromtestinlaboratorytoapplicationinpracticein1980’s.TheMachinevisionisappliedwidely,such∞videomonitoring,visioninspection,robotnavigationandvisionservosystem.Thecompueristhecenterofamachinevisionsystem,whichismademainlybyvisionsenser'high·speedcapturingsystemandspecialimageprocessingsystem.Thispaperdesignsawirelessvideomonitoringsystemwhichcombinedtheembeddedsystemandhuman—faceinspectiontechnology.ThesystemcapturesthemaMimeimagebasedontheARM9microprocessorandmanyperipherydevice,thentransfersthevideostreamwithwirelessnetworkcard.wecompletethemotioninspectionandhuman—faceinspecitionfunctionsinthisembeddedsystem.Thispaperdiscussestheconceptoftheembeddedsystem,anditsclassification,characteristics,thenmakesaanalyzationofthewholevideocapturingandcommunicatingsystem。includingthearmmicroprocessor,peripherydeviceandelectricalcircuit.Lately,thepaperintroducesthesoftwaresystemandexplainsdetailedlytheprocessofimagecapturingandwirelesscommunication.Weproposedafacedetectionmethod,itcombinedthemotiondetection。humanskincolormodel.andamulti-stageclassfier.Firstly,ifthereissomemotion,thefaceinspectionmodulewillworkautomatically;Secondly,weusedaskincolormoduletolocatetheregionoffacepreliminarilyandselectedthepotentialregion.Finally,weusedAdaBoostalgorithmtoextracthuman-faceregionsandverifytheresult;Themethodofthispaperissuitabletothereal-timevideosystem,andtheexperimentialresultsshowthatthismethodCanmakethefacedetectionmoreaccurate.Keywords:embeddedsystem;imagecapture;faceinspection;wirelesscommunication;motioninspectionIl 人庆。油学院硕l‘研究生学位论文前言近几年来,数字视频监控和人脸检测已成为许多研究领域的关键技术,成为机器视觉领域的蕈要课题和前沿方向,备受研究者的关注。随着信息化时代的来临,更多的智能化需求不断涌现。数字视频监视系统作为一种新型的监视手段,它以数字视频处理为核心,综合利用光电传感器、计算机网络、自动控制和人工智能等先进技术,近年来,迅速在各行各业得到了广泛的应用p】。例如金融证券保险业的安全监控、电信行业的安全监控、政府机关的安全监控、考场的监控、制造业生产过程的监控和安全监视、商业系统的应用、物业管理的安全监视、交通运输业的安全监视等等。可见视频监视在安全防范、信息获取和指挥调度等方面都具有强大的功能和巨大的应用价值。视频监控系统监视的主要对象就是入,而人脸是视频监控系统中最感兴趣的对象。将基于人体生物特征的识别技术融入到视频监视系统中,必将给监控行业注入新的活力,使其更趋向现代化、智能化。与别的技术相比较,人脸检测和识别技术具有简便、准确、经济及町扩展性良好等众多优势,可广泛应用于出入口控制、安全验证、安防监控与搜寻罪犯等方面。基于上述背景,本文研究设计了基于ARM微处理器的嵌入式系统,系统充分利用了ARM处理器高性能、低功耗、低成本的优点,扩展了平台的通用接口,以WinCE操作系统和ARM硬件平台为核心实现了对现场的实时监控,并通过无线局域网络把视频图像传输到上位机。在上位机端,本文采用了运动检测、肤色建模和AdaBoost算法完成了对人脸的检测功能,取得了一定的效果。同时,本系统的构建也为今后在机器视觉领域方面的后续研究提供了试验平台,为以后的工作奠定了坚实的基础。 学位论文独创性声明本人所呈交的学位论文是我在指导教师的指导下进行的研究工作及取得的研究成果.据我所知,除文中已经注明gI用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果.对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意.作者戥垒组学位论文使用授权声明日期:塑!!』本人完全了解大庆石油学院有关保留,使用学位论文的规定,学校有权保留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版.有权将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅.有权将学位论文的内容编入有关数据库进行检索.有权将学位论文的标题和摘要汇编出版.保密的学位论文作者签名:孝甥宝导师签名:坎孓上.日期:o≯7.歹,j’日期:,纠.3,/6 大庆石油学院硕l二研究生学位论文创新点摘要本论文首先介绍了嵌入式系统的基本概况,并对其应Ⅲ技术一基y-AP弛19微处理器的实时视频监控系统进行了研究,提出了系统设计方案。实现了嵌入式系统硬件开发平台的搭建和实时视频图像的传输。然后基丁.此平台,成功的构造出一个人脸检测系统,完成了人脸检测功能,最后对实验结果进行了分析。本论文的主要创新点为:1、破计完成了一款基丁ARM9的嵌入式平台。并且基丁.此平台完成了实时视频的采集和无线传输功能,实现了实时视频监控功能。2、本文详细介缃了运动物体检测、肤色建模和基于Harr特征构建多级分类器的原理和实现过程,进而对以上三种方法加以综合,实现了对人脸的检测功能。111 人庆“油学院坝lj研究生学位论史1.1机器视觉介绍第一章绪论人们从外界环境获取的信息中,80%来自于视觉。视觉使人类得以感知和理解周边的世界,是人类最重要的感觉。机器视觉就是用计算机模拟人眼的视觉功能,从图像或图像序列中提取信息,对客观世界的三维景物和物体进行形态和运动识别14l。机器视觉系统可以快速获取大量信息,迅速感知外部客观世界,同时也易于理解,易于同设计信息以及加工控制信息集成。而且机器视觉不会有人眼的疲劳,有着比人眼更高的精度和速度,借助红外线,紫外线,X射线,超声波等高新探测技术,机器视觉在探测不可视物体和高危险场景时,更具有其突出的优点。机器视觉既是工程领域,也是科学领域中的一个富有挑战性的重要研究领域【扪。机器视觉是-r]综合性的学科,它己经吸引了来自各个学科的研究者参与研究,其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学、神经生理学和认知科学等诸多学科领域。现在机器视觉己成为-f]不同于人工智能、图像处理、模式识别等相关领域的成熟学科。在我们国家,视觉行业尚属于一个新兴的领域,而且由于机器视觉产品技术的普及程度不够,导致许多行业的应用几乎空白,或者只是低端方面的应用。但目前随着我国基础设施的逐步完善,资金技术的沉淀积累,各行各业对采用图像和机器视觉技术的产品需求丌始广泛出现。国内有关大专院校、研究所和企业近两年在图像和机器视觉技术领域也进行了积极探索和大胆的尝试,带动了机器视觉产业的进一步发展,也决定了机器视觉将由过去单纯的采集、分析、传递数据、判断动作,逐渐朝着开放性的方向发展,这一趋势也预示着机器视觉在军事、工业、民用等很多领域也有着良好的发展空间。1,2人脸检测介绍1.2.1人脸检测的意义人脸检测(FaceDetection)是指在输入图像中确定是否存在人脸,如果存在,则确定所有人脸的位置、大小和数量,并将人脸部分从背景图像中分离出来。根据应用场合的不同,人脸检测可分为可控背景下的人脸检测和复杂背景下的人脸检测,如计算机前的人脸检测是可控背景下的人脸检测;机场,海关等入口处的人脸检测是复杂背 第一章绪论景下的人脸检测【6I。人脸检测是人脸跟踪(FaceTracking)、人脸识另lJ(FaeeRecognition)以及由此衍生出来的姿态和表情等分析中最重要的,也是最基础的一环,是任何人脸信息处理系统中的一个关键步骤。只有检测到人脸并将人脸图像从背景图像中分离出来后,其它的工作爿‘得以展丌、进行。人脸检测在整个系统中的重要性可用图1.1表示:图1.1人脸检测的意义近年来,随着视频采集传输技术和计算机图像处理技术的快速发展,人脸检测技术已成为与机器视觉、人工智能和模式识别等领域密切楣连的一项受到普遍重视、研究十分活跃的课题。1.2.2人脸检测的现状人脸检测问题最初来源于人脸识别。人脸识别的研究可以追溯到上个世纪六、七十年代,经过几十年的曲折发展已经R趋成熟,人脸检测是人脸识别系统中的一个关键环节。随着信息技术的高速发展,智能人机交互系统等的应用需求,尤其是近些年电子商务的蓬勃发展对安全性提出了更高的要求,人脸作为人固有的生物特征所具有的明显优势使得对它的识别成为最有潜力的身份验证手段,这种应用背景使得人脸检测开始作为一个独立的课题受到研究者的重视。目前,国内外对人脸检测的研究越来越热,国外比较著名的有MIT、CMU、UIUC等:国内的清华大学,北京工业大学、中科院计算所、自动化研究所以及四川大学等都有专门机构从事人脸检测的相关研究【7】【引。今天,人脸检测的应用领域已经远远超出了人脸识别系统的范畴。它在基于内容的检索、数字视频处理、视频会议、智能人机交互接口以及小区门禁系统、银行监控系统等安全方面有着重要的应用价值。1.3嵌入式系统概述1.3.1嵌入式系统嵌入式系统本身是一个相对模糊的定义。根据IEEE(国际电机工程师协会)的定义.嵌入式系统足“控制、嗡视或疗!}llij仍装胃,机器羽I设衙运彳了fn旋代”。几l】i『I目内2 人庆石油学院颂I:研究生学位论文一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性,成本、体积、功耗严格要求的专用计算机系统。按照以上定义.嵌入式系统(EmbeddedSystems)是指不同于常见计算机系统的一种计算机系统,它不以独立设备的物理形惫出现,即它没有一个统一的外观,它的部件根据主体设备以及应用的需要嵌入在设备的内部,发挥着运算、处理、存储以及控制作用。从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。其中嵌入式处理器通常是单片机或微控制器;硬件通常包括微处理器、存储器、外部设备和I/O端口、图形控制器等等。嵌入式系统的层次结构如图1.2所示:图1.2嵌入式系统的层次结构图1.3.2嵌入式系统的特点嵌入式系统和通用的计算机系统相比具有以下几个重要特点:l、系统内核小。出于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。2、系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不管是硬件还是软件都要高效率的设计,力争在相同的资源条件下实现更高的性能。3.0川批强.,I侠入,代系统洒常址l『f『m特定心川的,嵌入』℃系统的改计嗣fJI:发必须要考虑特定环境和系统的婴求。而且嵌入式系统将软件系统、硬件和具体应用及行业特点有机的结合在一起,一般要针对硬件进行系统的移植或根据系统硬件的变化和增减不断进行修改。4、而且为了提赢系统的执行速度和可靠性,嵌入式系统的软件一般都固化在存储器芯片或单片机中;同时软件代码要求高质量和高可靠性。5、由f嵌入式系统其本身不具备自举丌发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。1.3.3嵌入式系统发展现状随着信息化、智能化、网络化的发展,嵌入式系统技术在上世纪末以来获得了广阔的发展空I.日J·进入20世纪90年代,特别是进入21世纪后,嵌入式技术全面展丌, 第一章绪论目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术,而数字技术的核心就是嵌入式系统技术;在个人领域中,嵌入式产品将主要是作为个人移动的数据处理和通信软件;对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用;自动控制领域,不仅可以用于ATM机、自动售货机、工业控制等专用设备,而且和移动通信设备、GPS等相结合,发挥了巨大的作用【9】;在家庭和娱乐方面,宠物机器人、清扫机器人、除草机器人等也在开韩和欧美国家得到了广泛的应用【IoJ。1.4嵌入式操作系统1.4.1嵌入式操作系统的概念和特点嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得丌发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。其中,其最大的特点就是可定制性,也就是它能够提供可配胃或可剪裁的内核功能和其它功能,可以根据应用的需要有选择的提供或不提供某些功能以减少系统丌销。1.4.2嵌入式操作系统的分类目前市场上的嵌入式操作系统中,有深嵌入系统,也有浅嵌入式系统;有多任务,也有单任务系统;有实时系统,也有分时系统。。嵌入式操作系统是与应用环境密切相关的,从应用范围角度来看,大致可以分为通用型的嵌入式操作系统如WindowsCE、VxWorks、嵌入式Linux等和专用型的嵌入式操作系统如PalmOS、Symbian,SmartPhone等。从实时性的角度看,又可以分为两类。一类是面向控制、通信等领域的实时操作系统,如Microsoft公司的WindowsCE、WindRiver公司的VxW6rkS、lSI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等,如现在非常流行的Microsoft公司的SmartPhone操作系统等等。4 大庆石油学院硕b研究生学位论文1。5ARM概述1.5.1ARM简介ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器设备约占掘了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面⋯。1.5.2AIO,t微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点【121:l、体积小、低功耗、低成本、高性能;2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快:4i大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定。1.5.3ARM微处理器系列ARM微处理器目前包括ARM7,ARM9,ARM9E,ARMl0E,SecurCore,Xscale,Stror】IgARM几个系列,除了具有ARM体系结构的共同特点以外,每~个系列的ARM微处理器都有各自的特点和应用领域“”⋯’。ARM9系列微处理器在高性能和低功耗特性方面提供了最佳的性能。具有以下特点:1、5级整数流水线,指令执行效率更高:2、提供1.1MIPS/MHz的哈佛结构:3、支持32位ARM指令集和16位Thumb指令集:4、支持32位的高速AMBA总线接口;5、全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统:6、MPU支持实时操作系统:7、支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 第一章绪论1.6本文的主要工作l、嵌入式系统硬件丌发平台的搭建系统的视频采集及无线传输部分要求在嵌入式软硬件平台上实现,我们根据系统的具体要求,设计了一个基于SAMSUNG公司ARM9系列的$3C2410嵌入式微处理器的开发板,为其配置了1M的NORFlash,64M的NANDFlash,64M的SDRAM。并向外扩展了电源、复位、串口、USB、键盘等一系列的功能模块。2、嵌入式系统软件平台的搭建我们根据系统的具体要求,使用内核定制工具,向目标平台添加了基本的操作系统特性,以使它能够完成基本的控制任务,同时还向目标平台加入了外部设备的驱动程序和其它一些附加的设置。并在此基础上进行调整,定制出适合本系统的目标操作系统平台。3、基于ARM的图像采集和传输系统首先通过USB摄像头采集来自现场的实时视频信息,然后使用两块无线网卡在ARM开发板与上位机之间构建一个无线局域网络,使用RTP协议将实时视频数据传输到主机端,从而在主机端实现对实时视频图像的入脸检测功能。4、视频图像的实时人脸检测系统结合运动检测、肤色建模和构建多级分类器的方法实现了视频图像的实时人脸检测。这种方法比较适合实时视频监控系统,较好地解决了实时视频图像中对人脸检测的问题,取得了一定的效果。6 人庆Ⅱ油学院硕}:研究生学位论文2.1功能需求分。第二章系统总体设计一般来说,嵌入式系统的构架可以分成处理器、存储器、输入输出和软件四个部2.1.1嵌入式处理器图2.1嵌入式系统构架嵌入式处理器是嵌入式系统最核心的部分。目前,世界上具有嵌入式功能特点的处理器己经超过了1000多种,30多个系列。不同的处理器有其不同的功能和优势。但是低成本、低功耗、高性能是嵌入式系统应用的特殊要求。目前主要的嵌入式处理器类型有PowerPC、X86、MIPS、ARM/StrongARM系列等。2.1.2输入设备系统为了实时获取外部动念图像,需要选择一款摄像头。目静,市面上的摄像头种类繁多,所用的传感器和图像处理芯片也千差万别,为了满足本系统的要求,需要选择一款压缩比高、性价比高、采集效果清晰稳定的摄像头,同时此采集设备还要能够与嵌入式平台之间保持高速的数据传输,以保证图像的传输带宽.2.1.3输出设备图像采集端与上位机之间的数据传输采用的是无线传输方式,本系统需要在二者 第二章系统总体设计之间构建一个无线局域网络,从而将压缩的视频数据传输到主机端。选择此无线设备时需要考虑设备接口及传输数据的速率、距离和协议等要求。2.1.4存储器及其它外围设备存储器也是构建嵌入式系统的重要部分。虽然存储器的选择依赖于处理器的选择,但是就功能需求来说,需要考虑容量大的、性能稳定的存储器。就FLASH来说,还需要考虑FLASH的擦除软件操作是否方便。本系统是一个完整的嵌入式系统,结合实际情况和处理器的功能需要以下接口:1、RS232串行接口目前RS.232是PC机与通信工业中应用最广泛的一种串行接口,RS一232被定义为一种在低速率串行通信中增加通信距离的单端标准。系统需要通过串口下载程序和进行串行通信。2、USB接口USB接口以其方便、传输速率高等优点逐渐成为计算机行业的外设接口标准。嵌入式设备要与输入设备和输出设备进行高速通信,那么USB接口当然是理想的选择。同时本系统的USB接口主要是用来外接摄像头和无线网卡。3、JTAO接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等;4、键盘键盘是常用的输入输出设备,以充分发挥系统功能,同时可以用于现场调试。2.1.5软件部分本系统软件分为嵌入式平台端软件和上位机端软件两部分。嵌入式平台端需要嵌入式操作系统和开发工具的支持。对于操作系统和丌发工具的选择有几个方面:1、是否支持目标硬件平台;2、支持多任务并具有实时性;3、开发工具的支持程度;4、源代码还是目标代码;5、诈:可。上位机端软件需要完成对接收到的视频图像进行解码、显示和目标检测等功能,所以要根据图像解码和传输协议的要求,充分考虑开发成本和开发难度来选择一款功能强大、方便开发和调试的工具。‘8 人庆“油肇硫域f:研究生学位论义2.2功能规划2.2.1嵌入式处耻器及扩J琏部分根据以上的需求,考虑到应用的领域、成本问题和丌发的难易程度等因素,我们采用集成了ARM9TDMICPU核的嵌入式处理器。同时系统需扩展1MNORFLASH和64MNANDFLASH,用于存放所有的指令代码和参变量;扩展64M的同步动态数据存储器(SDRAM),用于存放数据和运行程序;扩展USB模块,以便接收实时图像数据和组建无线局域网络:扩展RS232口,下载程序用于调试;扩展键盘,用于调试和现场操作,另外还有复位电路(RESET),实时时钟(CLOCK)模块等。2.2.2输入设备图像采集部分的硬件资源采用USB接口的CMOS摄像头,该摄像头应可与$3C2410集成的USB主机接口直接相连,具有高性能的图像压缩芯片,输出M.IPEG视频流数掘。同时造价低廉,成像效果好,能够体现出较高的性价比。2.2.3输出设备图像传输主要是通过两块USB接口的无线网卡来实现的.该无线网卡应可与$3C2410集成的USB主机接口直接相连,能够满足局域网内视频传输的速度和距离的要求。本系统通过两块丌发板和主机之间的无线网卡来构建无线局域网络,通过此无线网络可以完成视频通信等功能。2.2.4软件部分在嵌入式系统端,系统选用了MicmsofiWindowsCE(简称winCE)操作系统和EmbeddedVisualC++(简称EVC)应用程序丌发工具。在WinCE产品丌发中,主要有内核定制和应用程序丌发两个非常重要的过程,微软在两方面都提供了良好的丌发工具,即内核定制工具PlatformBuilder(简称PB)和应用程序开发工具EVC.在上位机端,系统选用了VisualC++6.0丌发平台。VisualC+十6.0是Microsoft公司推出的功能强大的软件开发平台,以ANSIC++为基础,并在此基础上进行了大量的扩展,以适应丌发各种Windows应用程序的需要。到目前为止。绝大多数Windows应用程序都是用VisualC+十6。O或其早期版本开发而成的,VisualC抖6.0已成为在Windows环境下进行大型软件开发的酋选【151。9 编,一帝乐统总体议汁根据以上所述,我们设计的系统总体结构如图2.2所示:图2.2系统总体结构框图我们最终设计的系统实际如图20所示:2.3本章小结图2.3嵌入式系统实际效果图’本章对嵌入式系统的总体结构进行了规划,对各个模块进行了功能上的划分和定义,并根搌具体情况给出了系统各部分的设计原则。tl 人庆石油学院硕。L研究生学位论文第三章系统硬件设计本系统的系统硬件平台结构如图3.1所示。图3.1基于$3C2410的系统硬件平台结构图图中各部分基本功能描述如下:l、USB接口主要是用来外接摄像头和无线网卡,以采集和传输实时视频图像;2、复位电路可完成系统上电复位和在系统工作时用户按键复位;3、电源电路可提供5V、3.3V和1.8V的电压,给系统及其它需要电源的外围电路供电;4、FLASH存储器可存放已调试好的用户应用程序、嵌入式操作系统或其它在系统掉电后需要保存的用户数据等;5、SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中:6、JTAG接13可对芯片内部的所有部件进行访问,通过该接Dn-I对系统进行调试、编程等;7、串行接口电路用于调试时的程序下载及系统与其它应用系统的短距离双向串行通讯。3.1系统主要硬件选型3.1.1微处理器的选型ARM微处理器有着众多优点,但是,为了适应不同的应用领域,ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合。如果希望使用WinCE或Linux等操作系统以减少软件丌发时间,就需要选择ARM720T以上带有MMU(MemoryManagemcntUnit)功能的ARM芯片。ARM9系列微处理器包含ARM920T、AR_M922T和ARM940T三种类型,以适用于不同的应用 第三章系统硬件设计场合。微处理器是系统的核心,控制着系统内其它部分的正常工作。本文选用的是SAMSUNG公司的$3C2410微处理器。该处理器是一款为手持设备等相关应用设计的,低功耗、高集成度的微处理器,采用272脚FBGA封装,包含一个ARM920T内核,能够满足嵌入式系统中的低成本低功耗高性能小体积的要求。ARM920T是ARM9TDMI系列微处理器之一,具有哈佛缓存结构,主要用于全存储器管理、高性能和低功率都重要的多道程序应用。ARM920T支持ARM调试结构,包含硬件调试和软件调试的辅助逻辑,并支持协处理器,能输出跟随简单握手信号的指令和数据总线。$3C2410微处理器是利用ARM的ARM920T内核,采用O.18微米标准CMOS技术制造的。它的小巧低功耗全静念设计特别适合于价格和功耗敏感的系统。它采用了一利t全新的总线设汁,即AMBA(ADVANCEDMICROCONTROLLERBUSARCHITECTURE)。ARM920T内核实现了MMUkAMBA总线和分离的指令和数据CACHE哈佛结构。提供完整的系统外围使得S3C2410能够尽可能的减少系统的整体成本和减少另外的设备组件。集成在片上的功能包括【’6】:l、内核1.8V供电,3.3V外部加接口及存储器供电;2、16KB的指令CACHE和16KB的数据CACHEMMU;3、外部存储器控制器(SDRAM控制器和外部片选信号产生逻辑);4、LCD控制器并有一个通道的DMA能支持商达4K的STN和256K的n叮;5、4通道带有外部请求引脚的DMA:6、3通道的UART和2通道的SPI;7、l通道的多主IIC总线和t通道的IIS总线控制器:8、SD存储器控制接口;9、2个USB主口和一个通道的USB从口;10、4通道的PWM定时器和一个通道的内部定时器;1l、带有看门狗定时器;12,117个通用抛口包括24个外部中断源;13、4种电源模式:一般模式、低速、休眠、掉电。Arm微处理器内部结构如图3.2所示:12 人庆石油学院碗七研究生学位论文图3.2Arm内部结构13 第三章系统硬件设计3.1.2Flash选型在嵌入式系统领域中,Flash存储器作为一种安全、快速的存储体,具有体积小、容量大、成本低、掉电数据不丢失等一系列优点。目前已经逐步取代其它半导体存储元件,成为嵌入式系统中主要数据和程序载体。而目前的主流Flash可分为NorFlash和NandFlash两种。众所周知,以往在嵌入式微处理器上使用的FlashRom都是Nor架构的,这种NOR架构的FlashMemory技术是由Intel公司在1988年首先开发成功。而紧接着,1989年Toshiba公司发表了NandFlash结构,强调降低每Bit的成本,具有更高的性能,并且象磁盘一样可以通过接口轻松升级。如今,这两种Flash技术在市场上占有主导地位,两者各有优缺点。操作Flash需要注意以下几点:l、必须以几K~几十K的块为单位进行数据的操作;2、擦除操作耗时较多,应减少擦除操作;3、尽最避免频繁地对同一地址操作。以免造成局部单元提前损坏;4、Nand结构提供极商的单冗密度。可以达到高存储密度,并且写入和擦除的速度也很快;5、应用Nand的困难在于Flash的管理需要特殊的系统接口。NorFlash的特点是芯片内执行(XIP,eXecuteInPlace),这样应用程序可以直接在FlashN存内运行,不必再把代码读到系统RAM中。NorFlash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NandFlash结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NandFlash的困难在于Flash的管理和需要特殊的系统接口。根据以上分析,考虑到本系统的特点和实际情况,在本存储系统中,我们采用了AMD公司的AM29LV800B的NorFLASH和SamSung公司的K9F1208UOM—YC80的NandFlash。3.1.3SDRAM选型SDRAM(SynchronousDRAM):同步动态随机存储器,是一种新的DRAM架构的技术,它运用晶片内的Clock使输入及输出能同步进行。所谓Clock同步是指记忆体时钟与CPU的时钟能同步存取资料。SDRAM节省执行指令及数据传输的时间,可提升计算机效率。SDRAM还具有单位空『自J存储容量大和价格便宜的优点,己广泛应用在各种嵌入式系统中。与Flash存储器相比较。SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Hash存储器,且具有读/写的属性。因此,SDRAM在系统中主要用作程序的运行窄『日J,数掘及堆栈区。当系统启动时,CPU首先从复位地址0x00处读取启动代14 人庆“油学院硕t:tof究生学位论文码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中.小系统果川IIYNIX公-_『J的lIY57V561620B’1"-IIJI'J.SDRAM。IhI^Ii”16化数据钯度的SDRAM存储器并联为32位数据宽度的SDRAM存储系统,一共64MB,用于设置程序堆栈和存放再种变景。3.1.4输入输出设备选型图像采集模块的硬件资源选用了当荫市面上应用最广泛的USB接口的中星微摄像头。中星微摄像头采用了中星微30lPLUS快速主控芯片,该芯片是一款高性能图像压缩芯片,输出MJPEG视频流数据,该摄像头造价低廉,成像效果好,用于本系统中体现出了较高的性价比。图像传输模块主要通过USB接口的无线网卡来实现的。该无线网卡可与S3C2410集成的USB辛机接口真接相连,工作在2.4GHz的ISM频段,采用直接序列扩频通信方式,遵从802.1lg咖议,传输速度可达到54M,室内有效距离100米,能够满足局域网内视频传输的要求。本系统使用两块无线网卡,在丌发板和主机之间构建无线局域网络,实现了点对点的无缝连接,用户通过此无线网络即可完成文件传输、视频通信等应用。3.2电路设计3.2.1电源电路设计系统要求三种电压等级的供电,分别为5v,3.3V和1.8v。电源电路设计所采用的SPXlll7为⋯个低功耗『F向电压调节器,有0.8A稳定的输出电流,具有过流和温度保护的特点。这款器件非常适合嵌入式系统的应用,因为其具有高效率,小封装和低功耗的特点。SPXlll7在满负载时其压差仅为1.1V,这个特点可以把3.3v的电压输出作为SPXlll7·1.8的输入电压。当输出电流减少时,静态电流随负载变化,并提高效率。SPXlll7有多种输出电压等级。为了确保SPXtll7的稳定性,输出端接入了一个109F电容,同时100nF的瓷片电容可以滤除高频纹波。本系统的电源电路原理图设计如图3.3所示: 蚺三章系统翻l!件改计3.2.2复位电路设计图3.3电源电路原理图S3C2410微处理器具有NRsT和NTRsT两个复位信号,NRST复位信号用于系统复位,而NTRST复位信号用于JTAG/ICE复位,初始化处理器内嵌的ICETAP控制器,方便连硬件仿真器进行产品初期的调试。任何时刻只要有一个复位信号有效,都将使ARM处理复位并从复位向量指向的地址处开始执行程序。本系统中电源监控芯片使用的是MAX811T,MAXSIlT是MAXIM公司生产的应用于低功耗微处理器监控电路的4脚封装芯片,此芯片能提供复位及电源电压监测等功能,具有去抖动的手动复位输入;电源电压复位门限值为3,08V,电压低至1.0V时仍可输出复位电平。本系统的复位电路如图3.4所示。6图3.4复位电路原理图 人庆“油学院硕I:研究生学位论文3.2.3存储系统电路设计l、SDRAM接口电路本系统中使用HY57V561620BT-H,它的存储容量为4Banksx4Mx16Bit(32M字节),工作电压为3.3V.常见封装为54脚TSOP,兼容L.VTTL接口,支持自动刷新(Auto.Refresh)和自刷新(Self-Refresh),16位数据宽度。根据系统需求,可构建16位或32位的SDRAM存储嚣系统。系统选用的两片HY57V561620BT-H并联构建32位的SDI认M存储器系统,共64MB的SDRAM空『白J,可满足嵌入式操作系统及各种相对较复杂的功能运行要求⋯】。与Flash存储器相比,SDRAM的控制信号较多。其连接电路也要相对复杂。使用如图3.5所示的两片HY57V561620BT-H并联构建成32位的SDRAM存储器,其中一片为高16位,另一片为低16位,映射到$3C2410BANK6,地址范围为0x3000.000000x33FF-FFFF。$3C2410微处理器内部的4KB一体化Cache/SRAM通常被配置为Cache以提高系统性能。若要将其部分或全部用作高速的片内SRAM,用户必须舀:应川袱序‘}J重新配置相应的特殊功能寄存器。本系统fIt}JSDRAM接口电路如图3.5所示。L00Mr6匹UDOM则ix.EcAs9口(EnWE蚍V1)00嘲VDOJV疆IV∞2嫩VDD00VSS00VDDOIVSS)IvD衄VS9q2vD邸VSSOl|YⅢ56160D汀H【3魏四图3.5SDRAM电路原理图加刖舡时MM拍时船舶枷川舭啪叫唧J冒 第三章系统硬件设计2、NORFlash接口电路NORFLASH采用AMD公司的AM29LV800B,容量为1MB。其工作电压可在2.7V到3.6V之间,访问时间为70ns,可以作为BootROMFlash。与其它的Flash不同的是它具有灵活的页面结构,一个16K字节页,2个8K字节页,一个32K字节页和15个64K字节页。它的读写和擦除操作与一般的线性闪存没有区别。在这里NORFLASH9,1存主要用于前期的调试和操作系统的下载。本系统的NORFLASH接口电路如图3.6所示。U5^㈣~8%图3—6NORFIash电路原理图3、NANDFlash接口电路在本存储系统中,我们采用的是韩国SUMSANG公司64MX8位的NANDFLASH,型号为K9F1208UOM-YC80。该芯片为48脚贴片TSOP(12x20/0.5mmpitch)封装,具有大容量、高密度、擦写速度快的优点。支持2.7V到3.6V电压范围操作。每片分为4096个Block,每块Block含32个页,每页大小为(512+16)字节,一共64M字节大小。其操作可以以字节为单位进行读写操作,也可对一页进行最大528字节的连续读写操作。该片以Block为单位进行擦除。操作时间典型的为2ms进行16K字节大小的Block擦除操作.200¨s进行528字节页写操作和撮小50ns侮宁节连续读.或展大12Its每字节随机读。其町靠性尚,可经受100K次的擦写,数据可保存10年。本系统的NANDFLASH接口电路如图3.7所示. 叁堡垒塑!!兰堕丝!:型丛生兰竺堡苎一V嘲V3.2.4usb接口电路设计图3-7嘲V她∥一.1SnF呃一17ALE16cLEl,1n9lnRSEgnFRENANDFIash电路原理图AT91RM9200内部集成了USB主端口控制器(UHP)。该USB主机控制端同时支持低速(1.5pMpbs)和全速(12Mpbs)USB连接,最多可连接127个USB设备,如打日J机、数码朋l机、鼠标、键m等,它兼容USB2.0标准,究个符合OHCI舰范(OpenHostControllerInterface)标准。集成有根集线器(roothub),收发器(transceivers),流传输端H(downstreampons)。具有以下特性:l、符合开放OHCII.0版本规范(OpenHostControllerInterface);2、符合USB2.0版本全速和低速传输规范;3、同时支持低速1.5Mbps和全速12MbpsUSB设备;4、根集线器集成有两个流传输端口;5、嵌入有USB收发器:6、支持电源管理功能。USB电路只需要设计外围电路,本系统的USB接口电路如图3.8所示。19 第三章系统硬件设计HDMAHDPAF2020A3.3本章小结图3-8USB接口原理图硬件设计不仅要考虑系统的功能,还要考虑价格以及制板等技术因素,硬件设计在嵌入式系统的整个丌发过程中起着重要的作用。本章根据系统的总体功能设计进行了硬件的选型。并针对各个模块进行了具体的电路设计llS][191。 第四章系统软件设计4.1嵌入式系统的程序设计方法4.1.1嵌入式软件丌发与Pc机软件开发『自J的差异嵌入式软件开发与PC机软件开发的差异主要体现在一下几个方面【20J:l、无操作系统概念。一切动作都由应用程序完成,包括:系统硬件初始化、不同任务的Iji『后台调整、任务间通讯等。直接对处理器及各种外围硬件等的寄存器操作。2、程序编译和执行处于不同的两个平台。Host端包含编译调试环境,一般指桌面电脑。Target端指目标平台,是程序的最终执行环境。这是嵌入式开发的一个重要的特点13、输入及输出界面不同。桌上电脑以键盘为输入,显示器为输出;嵌入式系统中通常是少量的按键或者是矩阵键盘和触摸面板为输入,液晶屏、串口或总线接口为输出。输入输出受限,不能给丌发人员太多的消息,资料等信息。4、可利用的资源有限。在桌上型电脑丌发程序的时候,常常假设资源无穷大,内存及储存空间索求无度,而且没有很正确的释放,这在嵌入式系统里是一件很可怕的行为,因为嵌入式系统常常是利用速度并不很快的处理器配上小小的内存及储存空间,通常没有硬盘当作虚拟内存,一旦使用过多的内存,那程序可能就因为要不到更多的内存而发生错误。5、经常与硬件打交道。这在嵌入式系统玎发里,无法避免的是软件跟硬件几乎密不可分,特别是发生无法理解的错误时,您无法确认到底是程序写错,还是目的平台的线路有问题,因此程序设计师不但要了解如何写作高级程序((C/C++&Java)与初级程序(各种不同CPU的汇编语言)之外,甚至要了解硬件设计及排错的部分.6、此外。由于嵌入式系统一般都应用在环境比较恶劣的场合,易受各种干扰,从而影响到系统的可靠性,因此,应用程序的抗干扰技术也是必须考虑的,这也是嵌入式系统应用程序不同于其它应用程序的一个重要特点。4.L2嵌入式系统开发过程不同于基于PC平台的程序‘丌发,嵌入式系统的程序设计具有其自身的特点,程序设计的方法也会因系统或因人而异,但其程序设计还是有其共同的特点及规律的。在编写嵌入式系统应用程序时,可采取如下几个步骤: 第州章系统软件设计l、明确所要解决的问题。根据问题的要求,将软件分成若干个相对独立的部分,并合理设计软件的总体结构。2、合理配置系统资源。与基于8位或16位微控制器的系统相比较,基于32位微控制器的系统资源要丰富得多,但合理的资源配置可最大限度的发挥系统的硬件潜能,提高系统的性能。对于一个特定的系统来说,其系统资源,如Flash、EEPROM、SDRAM、中断控制等,都是有限的,应合理配置系统资源。3、程序的设计、调试与优化。根据软件的总体结构编写程序,同时采用各种调试手段,找出程序的各种语法和逻辑错误,最后应使各功能程序模块化,缩短代码长度以节省存储窄f}l】并减少程穿执行时间。嵌入式系统的测试相当复杂,如果没有一个很好的除错环境,那就只能依靠人力和经验来做Try.and.Error的测试动作。原因在于目的平台通常没有很好的显示或输出能力,而且我们不是直接在目的平台上写程序。一般说来,对于一个完整的嵌入式应用系统的开发,硬件的设计与调试工作仅占整个工作量的一半,应用系统的程序设计也是嵌入式系统设计一个非常重要的方面,程序的质量直接影响整个系统功能的实现,好的程序设计可以克服系统硬件设计的不足,提高应用系统的性能,反之,会使整个应用系统无法正常工作。嵌入式系统是一种依据特定用途所开发的系统,因此它的丌发过程和开发环境也随之和一般的桌上型系统开发应用有显著的不同。首先它需要有相应硬件设备的支撑,一般的硬件供应商都提供一些他们设备的相应资料和技术,甚至开发环境,这些技术在丌发过程中要多加利用。有些技术已经比较成熟,而且已经公‘丌,开发过程中也要从多种渠道获得相应成熟的、可以利用的技术。充分获得可以获得的技术之后,根据系统的需要看哪些技术还需要开发,最后将各种技术整合进行测试后就可以得到整个嵌入式系统。4.2软件开发环境4.2.1嵌入式操作系统wince简介WindowsCE.net是目前市场上比较常见的嵌入式操作系统,它是由微软公司发稚的。MicrosoftWindOW$CE是一个32位的、紧凑的、高效和可扩展的操作系统,适用于各种嵌入系统和产品。它拥有多线程、多任务、确定性的实时、完全抢占式优先级的操作系统环境,专门面向只有有限资源的硬件系统。同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,可以选择、组合和配置WindowsCE的模块和组件来创建用户版的操作系统,例如客户电子设备、专用工业控制器以及嵌入式通信设备等等。WindowsCE直接支持多类硬件外围设备,如键盘、鼠标设备、触摸面板、串行口、以太网卡、调制解调器、USB设备等等。 人庆钉油学院颂I:研究生学位论文windoWSCE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumption),通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。WindowsCE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows95/98,但WindowsCE是基于Win32API重新丌发的、新型的信息设备平台。WindowsCE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。同时,WindowsCE支持超过1400条最频繁使用的Win32API,因此WindowsCE开发者就能利用大量其它的编程资源、工具、软件例子以及文档来进行WindowsCE的丌发工作。内核对敛存储GWES通竹图4.1WindOWSOE模块化结构图WindowsCE.net虽然发布了力短短几年,但出于他的多任务、实时性、模块化及可伸缩性、强大的通信能力等特点,已经在嵌入式系统的诸多领域有了广泛的应用。WindowsCE.net的成功。一方面是因为微软强大的市场营销和推广能力,以及微软在Windows操作系统市场的成功:另一方面,WindowsCE.net在结构设计上的合理性、先进性,适合嵌入式系统的应用系统丌发。也是其取得成功的重要因素。相比目前最为流行的嵌入式操作系统Linux,由于Linux开发难度较高,核心调试工具不全,没有很好的用户图形界面,占用内存大等缺点,WindowsCE已经迅速的抢占了很大的一份市场份额,成为目前深受欢迎的嵌入式操作系统。而在PDA领域,微软对WindowsCE进行区分丽产生的PocketPC操作系统,也对掌上电脑市场上独占其霸主地位已久的3Com公司的PalmOS进行了强有力的冲击,由于WindowsCE系列系统开放型好、应用程序开发商多、功能强大等优点,已经逐步在目前的PDA类市场中占据了上风。另外,在工业控制等领域,WindowsCE也逐渐被人们所接受,取代VxWorks等嵌入式OS成为实现各种嵌入式系统的主流开发环境。4.2.2PlatformBuilder和EmbeddedVisualC++简介在WindowsCE.net产品的开发中,有两个重要的方面,一个是内核定制.一个是应用程序的丌发,微软在这两个方面都提供了非常好的开发工具,这就是内核定制 第叫章系统软件设计工具PlatforillBuilder和应用程序开发工具EmbeddedVisualC++。l,Platfo咖Builder简介PlatformBuilder是微软提供给WindowsCE.net开发人员进行基于WindowsCE.net平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试WindowsCE.net操作系统平台的工具。它运行在桌面Windows下,丌发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时,开发人员还可以利用PlatformBuilder来进行驱动程序开发和应用程序项目的开发等。PlatformBuilder的强大功能,已使其成为WindowsCE.net平台下嵌入式操作系统开发和定制的必备工具。WindowsCE.net一般应用于特定的嵌入式系统中,在许多情况下,不但需要向目标平台添加基本的操作系统特性,以使它能够完成基本的控制任务,而且还要向目标平台中NA#I"部设备的驱动程序和一些附加的设置。但是,对于一些通用性较强的嵌入式系统,微软都为其特别定制了专用的操作系统,开发者可以利用这些特定的操作系统,并在此基础上进行调整,从而更快地定制出适合需要的目标操作系统平台。2、EVC简介编写在WindowsCE.net下运行的应用程序,需要使用专门用于WindowsCE.net的丌发工具。工具的选择由使用的编程语言而定,可以选择的编程工具有VisualC++和VisualBasic。但是最佳选择莫过于VisualC++,因为嵌入式系统资源有限,C*编译器效率高、性能好,编译出的应用程序结构紧凑;而VisualBasic应用程序代码过于冗长且效率低下。现在应用最广泛的开发工具就是EmbeddedVisualC++(EvC)。最新版本是4.0。(1)EVC编程的特点WindowsCE.net下的EVC编程都是对特定目标硬件的编程,运行WindowsCE.net的机器通常比台式计算机的资源贫乏得多,所以编程时首先要明确目标硬件的特点和要求,比如有的嵌入式系统没有显示器,则编程中就不需要进行显示信息;有的嵌入式系统的内存限制较大,则编程中对内存的使用要格外注意;不同的系统使用不同的CPU等。这是EVC编程与VC编程的重要不同。(2)模拟器EVC编程环境提供了模拟器(Emulator)来模仿目标硬件进行调试。因为目标硬件的运行环境与台式机的运行环境绝大多数都是不同的,所以EVC编程无法像VC编程一样随时运行、调试。但EVC提供了与大多数硬件平台相似的模拟器,这样就方便了编程人员,可以直接在EVC下调试程序。一般EVC开发人员都是先在模拟器中将应用程序界面设计好,然后再加入对特定硬件操作的功能,到硬件平台上进行调试,这样就加快了歼发速度。(3)WIN32编程与WindowsCE.netAPI由于WindowsCE.net是32位操作系统,它不支持任何16位函数,所以EVC编 人庆☆油学院顾I:gf究生学位论文程是WIN32编程。另外,WindowsCE.netAPI与WIN32API也不完全相同。Windows.CE.net支持WIN32APl中的绝大部分函数,但有些是不支持的,同时它又扩充了一些特定的WindowsCE.net函数,只在WindowsCE.net下可以使用.4.3操作系统的定制尽管WindowsCE.Net最大程度继承了桌面版Windows操作系统的丰富功能,但是,WindoWSCE.Net并不是一个通用的安装版操作系统,它是可定制和可剪裁的,以面对各种嵌入式应用,嵌入式处理器和各种硬件平台。所以,利用WindowsCE.Net开发嵌入式产品,必须根掘特定的硬件平台和实际需求定制操作系统【2l】。然而这并不意味着我们要从头_丌始,编写每一行代码。微软为我们提供了强大的集成丌发环境。PlatfoITnBuilder4.2是Microsoft公司提供给WindOWSCE.Net开发人员进行基于WindowsCE.Net平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建,编译、测试和调试WindowsCE.Net操作系统平台的工具。开发人员可以通过交互式的环境束设计和定制内核、选择系统特性,然后进行编译和调试。同时,还可以利用PlatformBuilder来进行驱动程序开发和应用程序项目的开发等。PlatformBuilder的强大功能,己使其成为WindowsCE.Net平台下嵌入式操作系统丌发和定制的必备工具。下面简单介绍一下如何使用PlatformBuilder来定制WindowsCE系统。”】、首先,选择操作系统的基本配置,并且为特定的平台选择相应的微处理器和平台支持包BSP(BoardSupportPacket),即板级支持包,是由主板厂家提供的CE组件。以x86为例,有三种选择,CEPC是在x86架构上以PC机的硬件为基础的BSP:EMULATOR是在x86架构上的模拟器,即在PC机上用软件模拟一个硬件平台,如果我们手中没有硬件平台那么就可以利用这个模拟器在自己的PC机上模拟一个平台,当然功能是有限的:NATIONALGEODE是利用GEODE微处理器的x86结构,如果使用的CPU是这种那么就应该选择此项BSP。可以选择其一或自己定制特定平台的BSP。2、其次,制定平台。在此阶段可开发设备驱动,适当地裁剪、添加组件,如有必要还需对某些配置文件进行修改。然后,封装所需要的各功能模块,编译生成Os镜像文件。若设备为自己定制的目标设备,则需开发OAL(OEMAdaptationLayer)、BSP和BootLoader。接着,把镜像文件下载到目标设备,进行调试;需要的话,进行重复配置、封装、下载及调试直到满足要求,完成平台的创建。3、最后导出相应的SDK(SoftwareDevelopmentKit)软件开发工具包,运行后加到EVC中,使得可以进行特定硬件平台上的应用程序开发。SDK包含程序库、头文件、示例程序源代码和库函数使用文档,同时还包括编程指导和API参与以及设备驱动工具包(DDK)。 第叫帝系统软件垃计WindowsCE定制系统流私如图4.2所示。图4.2WindowsCE定制系统流程图WindowsCE定值完成后启动界丽如阁4.3所;J÷。图4.3WindowsCE的启动界面 人庆“油学院颂I:ldf究生学位论史4.4视频图像采集4.4.1WindowsCE编程要点WindowsCE下的EmbeddedVisualC++(以下简称EVC)编程都是对特定目标硬件的编程,运行WindowsCE的机器通常比台式计算机的资源贫乏很多,所有编程时要特别注意目标硬件的特点和要求,操作系统和应用软件都要尽可能减少对系统资源的消耗,同时还要保证很高的执行效率,这是EVC编程与普通的VC编程的最重要的不同点之一。WIN32API是WindowsCE提供给上层应用程序、驱动程序的接口程序。WindowsCE的API函数和其它Windows操作系统的API函数声明基本一致。这样就能够很容易的将为PC开发的软件源码稍加修改后移植到WindowsCE中使用。大多数使用VC开发的软件全部或者部分采用MFC(微软开发类库)来编写,在EVC下也同样如此。采用MFC库来建立应用程序框架和编写界面,而主要功能由WIN32API实现,这种设计方法合理而且尚效,充分发挥了MFC和API的优点。但是,我们在丌发中遇到了不少难点,主要是出于WindowsCE的MFC库和PCWindows下的MFC库有所不同所造成的。基于WindowsCE的设备不如PC功能那么强大,WindowsCE的MFC和Win32API不支持一些类库,如CHttpView,DAO等等。另外还有一些类库是WindowsCE支持而又进行了一些修改的。对于这些类库必须在使用前仔细查看帮助文档,否则会对编程造成很大麻烦。此外,还要注意WindowsCE足Unicode环境,不能在WindowsCE上处理一个ANSI字符串,因为没有操纵它们的库函数。最好的解决办法是将ANSI字符串转换成Unicode字符串用到H/PC上,然后再将Unicode字符串转换回ANSI字符串用到PC上。为了完成这些转换,可采用MultiByteToWideChar(1和WideCharl.0MultiByte0Win32API函数。4.4.2摄像头驱动图像采集模块的硬件资源选用了当前市面上应用最广泛的USB接口的中星微摄像头,该款摄像头造价低廉,成像效果好,用于本系统中体现出了较高的性价比。系统在进行视频采集前需先检测设定视频源。系统启动后,WinCE操作系统会自动检测摄像头是否连接好。本系统在定制WinCE操作系统时,通过修改操作系统配霄和修改注册表,可以使系统自动加载摄像头在WindowscE下的驱动程序ZXW30X.DLL。系统自动加载驱动程序时,首先要将驱动程序复制到、WINDOwS文件夹下,然后向注册表中写入摄像头的驱动信息: 第四章系统软件设计【HKEYLOCAL_MACHINE\Ddvers、_Builtln\CAMERA]”Index”--dword:l“Prefix’’=“CAM””D11”=”ZXW30X.DLL””Ordcr’’---dword:100【HKEY.-LOcAL_-MAcHIN肋rivers\USB、Loadclien融2760_12315kDefaultⅡ)efault]”Prefix’’=”CAM””D11”=”ZXW30X.DLL”【HKEYLOCAL_MACHINEkDrivers\USB、LoadCIientsk2760_t2315\DefaultkDefaultUZXW30X】”DLL”=”ZXW30X”其中,prefix为设备文件名,Dll为驱动的文件名。Order为设备文件名索引。硬件配置完成后启动操作系统,就可以自动加载驱动,运行应用程序进行图像采集了。4.4.3图像采集程序中星微摄像头采用了中星微301PLUS快速主控芯片,该芯片是一款高性能图像压缩芯片,输出MJPEG视频流数据。MJPEG(MotionJPEG)主要是基于静态视频压缩发展起来的技术,特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩,通常可达到6:1的压缩率。它的误差稳定性非常好,可以获取清晰度很高的视频图像,而且还可以灵活设置每路视频清晰度,压缩帧数田1。本系统直接从摄像头驱动中获取MJPEG视频流数据,图像采集流程如图4.4所示: 人庆,fi}Ili学院预I:研究生学位论文图4.4圈1象采集模块流程图图像采集模块用到的主要函数有:caplnitCamera():用来初始化视频设备,并获取当前可用的视频设备数目。capSetVideoFormat():设置视频格式和分辨率,本系统使用的是视频格式为MJPEG,分辨率为320*240像素。capGrabFrameO..从驱动中抓取一帧图像,并存储在缓存lpFrameBuffer中。capGetLastJpe90:将抓取的MJPEG格式的图像送到无线发送模块。capCloseCamera():关闭视频设备。视频采集部分还有查询视频采集格式、设黄明暗度、设置对比度等相关函数【231。4.5视频传输部分4.5.1配置无线网卡图像传输模块t-要通过USB接口的无线网卡来实现的。该无线网卡可与$3C2410集成的USB主机接13直接相连,工作在2.4GHz的ISM频段,采用直接序列扩频通信方式,遵从802.1lg协议,传输速度可达到54M,室内有效距离100米,能够满足 第州章系统软件设计局域网内视频传输的要求。本系统通过开发板和主机之间的无线网卡构建无线局域网络,能够实现点对点的无缝连接,用户通过此无线网络可以完成文件传输、视频通信等应j啊p4]。丌发板端的无线网卡也需要加载驱动才’能运行。本系统在定制winCE操作系统时,首先将无线网卡的驱动程序复制到\WINDOWS文件央下,然后向注册表中写入无线网卡的驱动信息。WinCE操作系统启动后会自动检测无线网卡是否连接好,并加载驱动程序,此时,就可以通过应用程序调用此无线网一g-了。在无线传输时,注意要把开发板和主机设置在同一IP网段。4.5.2RTP协议和RTCP协议介绍RTP是一种实时流式传输协议,能够保证媒体信号带宽与当前网络状况相匹配,在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现流媒体数据的实时传输。RTP通常使用UDP来进行多媒体数据的传输,整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTCP控制协议瞄J。1、RTP狮议f26lRTP是英文Real.timeTransportProtocol的缩写,中文名称是实时传输协议,用来传输具有实时特点的数据,包括音频、视频。RTP协议主要完成对数据包进行编码、加盖时戳、丢包检查、安全与内容认证等工作。通过这些工作,应用程序会利用RTP协议的数据信息保证流数据的同步和实时传输。RTP协议一般建立在UDP协议之上,由多媒体应用程序生成的声音和视频数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。RTP数据包的位置和结构如图4.5所示。RTP数据包由固定报头和有效载荷两部分组成,其中固定报头又包括时间戳、顺序标号、同步源标识、贡献源标识等,有效载荷就是传输的音频和视频等多媒体数据。图4.5IP包中的RTP数据通过RTP协议传输的是RTP包,任何RTP包中都包含着一个固定头部,用来提供与该RTP包有关的基本信息。固定头部开始的12个字节出现在每个RTP包中,而贡献源标识(Contr-butingsource,cSRC)列表仅在有混合器捅入情况时出现【27】。其格 大庆石油学院硕士研究生学位论文式如图4.2所示。卜————————一32能—————————————叫VlPXlccIMlPTl序列号时间戳SSRC标识CSRC标识列表图4.6RIP包RTP报头各字段含义如下:版本(V):2位,表示RTP的版本。填充(P):1位,填充位为l表示包尾部包含一个或多个不属于载荷部分的附加填充字节。填充的最后一个字节包含应该被忽略的填充字节的数目。某些加密算法需要固定大小的填充字,填充也可能为在低层协议数据单元中携带几个RTP包的需要。扩展(x):1位,扩展位为l表示固定头部后紧跟一个头部扩展。CSRC计数(CC):4位,表示包括跟在固定头部后的CSRC标识的数目.标记(M):l位,其解释由相关协议子集定义,目的在于允许诸如帧边界一类的重要事件在包流中标记出来。载荷类型(PT):7位,用来标识RTP载荷的格式,并由应用确定其解释。协议子集指定载荷类型码对载荷格式的缺省静态映射。其它载荷类型码可以通过非RTP方法动态定义。在任意给定时刻,一个RTP发送者只发出一种RTP载荷类型。序列号:16位,序列号随每个RTP数据包被发送而加I,可由接收者用来检测包丢失和恢复包序列。序列号的初值是随机且不可预知的,以使得加密上的己知空白文本攻击更加困难。时间戳:32位,反映了RTP数据包中第一个字节的采样时刻。采样时刻必须来f1。个前喇、线性增加l的时钟,以允i,I:同步和抖动计算。时钟必须有足够分辨率以满足所需同步精确和测定包到达抖动。时钟频率依赖所携带载荷数据的格式,并在协议子集或定义格式的载荷格式规范中静态指定,对通过非RTP方法定义的载荷格式也可以动态指定。SSRC标识:32位,用来标识同步源。同步源指一个RTP包流的源。来自同一个同步源的所有包具有相同的计时和序列号空间以方便各接收者组进行回放。同步源可随时间改变其数据格式。SSRC标识是一个随机选择的值,为的是使SSRC在一个特定RIP会话中全局唯一。尽管多个源选择相同标识的概率很低,但RTP实现仍必须准备检测并解决冲突。如果一个参加者在一个RTP会话中产生多个流,则每个都必须被一个不同的SSRC标识。如果一个源改变它的源传输地址,它也必须选择一个新标识以避免被解释为一个成回路资源。CSRC标识列表:指出对包含在包内的载荷起作用的源,有0到15项,每项32位,分别标识一个作用源。作用源指对由RTP混合器产生出的组合流起作用的RTP 第四帝系统软件设计包流的源。一些源对特定包的产生起了作用,混合器向所产生包的RTP头部插入这些源的SSRC标识列表。这个列表叫做CSRC列表。CSRC标识数由CC字段给出。如果有超过15项作用源,也只标识15个。CSRC标识采用作用源的SSRC标识,由混合器插入。例如,对音频包。被混合起来形成一个包的所有源的SSRC标识被列出,以允许正确的发言者在接收者处被指出。2、RTCP控制协议【2⋯。RTCP是英文Real—timeControlProtocol的缩写,中文名称是实时传输控制协议。RTCP协议是RTP协议的控制部分的协议,它的设计目的是与RTP协议共同合作,为顾序传输数据包提供可靠的传送机制,并对网络流量和阻塞进行控制。RTCP的基本做法是周期性地向所有参与者进行通信,采用和RTP数据包分配传送的相同机制束发送控制包。通过RTCP携带的信息,实时监测音频、视频数据包的延时、抖动、丢包状况,以及网络的带宽变化情况,从而可在应用层对视频源的发送参数做出调整。适应网络的变化。每个RTCP包的前~部分是固定的,类似于RTP的数据包,后面的结构根据包的类型不同长度也不同,但总是32位的整数倍。长度在固定部分的长度域中标明。多个RTCP包不需要任何分隔符就可以组合成一个混合RTCP包在底层协议中传输。RTCP数据包可以分为5种1291:(1)sR:发送端报告,由活动的发送端产生,它包含发送端信息部分、媒体间的同步信息、数据包累计计算、发送的字节数等。(2)RR:接收端报告,由非活动的发送端产生,主要是数据传输的接收质量反馈,包括接收的最大数据包数、丢失的数据包数、计算发送端和接收端的往返延迟等。(3)SDES:源描述,包含源描述的信息。(4)BYE:表示结束参与。(5)APP:应用特殊功能。RTP报文的接收者可以利用SR和RR提供有关数据接收质量的统计信息,具体选用SR报文还是RR报文要看该接收者是否同时是RTP报文的发送者。SR报文与RR报文的区别在与前者包含20字节长度的有关发送者的信息报文格式。通过上述5种控制信息数据包,RTCP可以完成下列控制功能【30】:(1)QoS监视和网络阻塞控制这是RTCP最主要的功能。大致可和其它传输协议的流量控制和搠塞控制相对应。RTCP应用程序提供数据发布质量的反馈。这些参数包括包丢失率、抖动、延迟、接收到的最大顺序号等。这个控制信息无论对发送端、接收端,还是第三方监视都很有用。发送端可以根据接收端反馈的信息调整数据的发送,而接收端可以得到网络阻塞的情况。另外,在IP组播机制的支持下,R1℃P的这一功能允许监视者通过接收反馈报文来推断网络的服务质量。该功能由SR和RR共同完成。(2)源标识 人庆石油学院顾卜研究生学位论文RTCP为每一个RTP源分配一个永久的传输层标志CNAME,虽然在RTP数据包中的数据源的标识SSRC标志可以区分同一会话中的不同码流,当RTP发现不同码流的SSRC标志发生冲突或应用重新启动时,SSRC的值就会被更改,接收者需要利用CNAME而非SSRC来跟踪每一个会话参与者。另外借助于CNAME接收者可以关联来自同一用户、经由不同RTP会话传来的码流以完成特定的任务,如视频流和音频流的同步。CNAME由RTCP的SDES报文所携带。(3)调节报文的发送速率RTCP数掘包在多个会话参与者之间周期性的发送,当参与者数量增加的时候,我们需要在得到最新的控制信息和限制控制通信之例调节。RTCP给出了关于调整控制报文发送速率的方法,一个RTP用户能够通过接收来自其他用户的RTCP报文,独立了解会话参与者的数目,RTCP利用该数值参数为每个会话参与者计算控制报文的时间问隔,以达到RTCP所占的通信带宽不超过会话带宽5%的目的。“)可靠性和安全性出y-RTP的设汁目的是传输实时数据流,而不是可靠的数据流,因此它不提供有关错误检测和包顺序监控的机制。RTCP协议在设计上考虑到安全功能,支持对数据加密和身份鉴别认证功能。4.5.3建立RTP的数据发送和接收RTP是解决视频实时传输问题的比较好的办法,要在Wince平台上进行实时传送编程,可以考虑使用一些开放源代码的RTP库,如LIBRTP、JRTPLIB等。JRTPLIB是一个面向对象的RTP库,它完全遵循RFCl889设计,在很多场合下是一个非常不错的选择。JRTPLIB是一个用C++语言实现的RTP库,这个库使用socket机制实现网络通讯因此可以运行在Windows、Linux、FreeBSD、Solaris、Unix和VxWorks等多种操作系统上口”。本系统使用两块无线网卡,在Arm开发板端和主机之间构建起一个无线局域网络,在二者之『自J通过RTP协议实现视频图像的实时传输【321。在实际中,实现视频传输的具体流程如图4.7所示: 第时章系统软件设计图4.7下面是实现视频传输的具体过程:在Arm丌发板端:l、在使用JRTPLIB进行实时数据传输之前,首先应生成RTPSession类的一个实例来表示此次RTP会话,然后设置会话的各项参数。RTPSessiOnrtpSession;RTPSessionParamssessParams;sessParams.SetOwnTimestampUnit(1.0/l5.0);//每秒l5帧sessParams.SetMaximumPacketSize(MAXPACKETSIZE);调用JTHREAD.LIB中的线程函数,以供程序接收数据。sessParams.SetUsePollThread(1);设置会话所使用的端口:RTPUDPv4TransmissionParamstransParams;transParams.SetPortbase(SERVER_PORT);使用Creat函数仞始化会话:intstatus=rtpSession.Create(sessParams,&transParams);2、为了消除丢包、失序、抖动等问题,确保视频传输的正确,在RTP包头设置了载荷类型、标识和时间戳增量。rtpScssion.SetDefaultPayloadType(骶¥.HjPEG);却Session.SetDefaultMark(false);rtpScssion.SetDefaultTimestamplncrement(160); 人庆“油学院顾t研究生学位论文3、设置图像数据的发送地址,即上位机的IP地址。rtpSession.AddDestination(rtpAddr);4、目标地址指定之后,接着就可以调用RTPSession类的SendPaeketO方法,把视频采集模块采集出来的视频图像发送到上位机端。npSession.SendPacket(scndBuf,dam_len,RTP—P1jPEG,false,OUL);其中sendBuf里存放的是jpeg格式图像。5、当要离开此RTP会话时,需要删除且标地址,并删除此RTP会话对象。rtDSession.DeleteDestination(rtpAddr);rtpSession.Destroy();在上位机端:l、PC端RTP会话初始化过程与Arm端相似,需要注意的是在选择端口时一般要大于1024,避免与PC机上其它应用程序的端口冲突,否则将会产生错误,导致RTP会话对象建立不成功。2、在接收端开辟一个单独的线程供接收视频使用。CreateThread州ULL,0,(LPTHREAD-START-ROUTINE)CapturcThreadProc,this,0,NULL);3、与发送端建立通信关系,这样发送端就能把视频传送到PC上了。JoinMulticastGroup(rtpAddr);4、调用OnRTPPacket0接收数据。0nRTPPacket(RTPPacket*pack,constRTPTime&receivetime。constRTPAddress+senderaddress);这罩的pack就是发送端传来的RTP数据包。5、通过GetPayloadDataoi函数得到有效载荷数据,保存在buffer中。6、由于发送端传来的是jpeg图像,这罩需要将其解码,以便能够以位图的形式显示。解码函数为ZXW30X。_outpicture07、将解码的数掘在接收程序上显示。StretchDIBits(hdc⋯00rcClient,right-rcClient.1eft,rcClient。bottom-rcClient.top,o,o,320,240,m_pDlg->frame.data,(BITMAPlNFO’)&BmpHdr,DIB—RGB_COLORS,SRCCOPY);程序运行结果如图4.8所示。 第四章系统软件设计图4.8视频采集效果图JRTPLIB是一个高度封装后的RTP库,只要PollData0或者SendPaeket0方法被成功调用,JRTPLIB就能够自动对达到的RTCP数据报进行处理,并且还会在需要的时候发送RTCP数据报,从而能够确保整个RTP会话过程的J下确性。4.6本章小结本章首先通过USB摄像头采集来自现场的实时视频信息,然后使用两块无线网卡在ARM丌发板与上位机之间构建一个无线局域网络,使用RTP协议将实时视频数据传输到主机端,从而在主机端实现对视频图像的实时监控。 人庆石油学院顾1:研究生学位论文第五章人脸检测的实例研究所谓人脸检测,是指在给定静止图像或动态视频中确定出人脸的位置及大小哪J。它的输出包含以下信息:给定图像中是否包含人脸?如果包含,人脸的个数、位置、大小如何?人脸检测技术是进行人脸识别、人脸跟踪等技术的的第一环节,也是人脸信息处理中的一项关键技术。人脸检测具有十分广阔的应用背景。首先,它作为实现完全自动的人脸识别系统的第一步是必不可少的而且起着至关重要的作用,它的好坏直接影响着识剐系统性能的优劣。本文所指的人脸检测,主要是针对数字监控录像系统的人脸检测问题。事实上,大部分现有研究都是将人脸检测作为人脸识别研究的一部分进行的。只是近几年在国际上彳‘将它作为一个独立课题来研究,并且现在已经成为一个研究热点。人脸检测实质上是一个模式识别问题。它包括了自动分割(找出可能的人脸区域)和识别(将人脸与背景中的其它模式相区分)。由于人脸的位置和尺寸都是未知的,因此人脸检测是一个十分困难的问题。它的学术价值在于人脸是一类自然形体,它具有比较复杂而细致的模式变化,是一个有挑战性的模式分类问题。如果能构造出一个成功的人脸检测系统,将能为解决其它类似的复杂模式的检测问题提供有益的启示041。人脸检测是~个难点,主要在于;’1、人脸具有相当复杂的细节变化,不同的外貌如脸形、肤色等,不同的表情如眼、嘴的丌与闭等:2、人脸的遮挡,如眼镜、头发、伤痕和头部饰物以及其它外部物体等;3、由于成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转,其中深度旋转影响较大;4、光照的影响,如图像中的亮度、对比度的变化和阴影等;5、图像的成像条件,如摄像设备的焦距、成像距离,图像获得的途径等等。本文的人脸检测主要由三大模块组成:运动检测模块、人脸粗略定位模块和人脸验证模块。运动检测模块主要是确定当前视频系统有运动行为发生,并确定出运动目标大致范围,尽量缩小待检图像区域。人脸粗略定位模块是在运动检测结果的基础上,利用皮肤颜色建模得到人脸候选区域(硎f36J。由于这是一个粗略的定位过程,所以还需要验证来排除非人脸,较准确地定位出入脸区域。人脸验证模块则采用了基于AdaBoost算法挑选特征并构建多级分类器的方法完成对人脸的精确检测定位。5.1运动检测模块本文介绍的人脸检测技术主要用于现场监控的实时运动图像序列,由运动检测模 第五章人脸检测的实例研究块的结果来决定是否激活人脸检测程序,即如果运动检测结果未发现运动目标,则不会触发人脸检测程序,否则,立即启动该程序。运动检测有利于缩小待检图像范围,提高人脸检测的速度和精度。⋯般的视频图像是三维图像的二维投影,因此视频图像能客观的反映三维图像的变化。本系统的视频图像具有连续性的特点,若图像中没有物体运动变化,连续帧图像之间的灰度变化很小,反之若有运动产生则会引起较大的狄度差。因此,检测相邻两帧图像的差异是解决问题的关键。5.1.1视频图像视频图像又称为动态图像,它由一系列图像组成,它们具有给定的或假设的相对次序,并给出相邻两图像获取的时间间隔关系【371。它们的一般表示如下所示:{厂(x,,YJ,to)f(xi,Yi,t1),...,f(xi,Y,,tn—1))f,/=0,1⋯2..,n一1所谓相对次序一般是指时刻tk在tk.1(k=0,l,2,...,n—1)之后相邻两图像获取的lr4f,jf.J隔定义为:Atk=tk—tk.1k=O,l,2,...,n—l△ltk(尼=0,l,2,⋯,/'/一1)可以不等,也可以相等。一般取AtkEttk=0,1,2,⋯,甩一l也就是说所有图像的获取时间『自J隔均相等。视频图像的每一幅,在电视技术术语中称为帧,其中的各个运动物体在不同的时刻其空间位胃是不同的。空阳J物体点P从第k.1帧上的(x“。,Y“。)点运动到第k帧上(工‘,Y‘)点,其『白J产生的位移量为(Ax‘,Ay‘),又称物体表面的点在相邻两时刻图像上相应位置的移位为视差,根据视差进而可求得瞬时位置速度场。5.1.2运动检测对采集到的实时视频图像进行运动检测,用于判断图像是否存在异常运动,若检测到运动则启动人脸检测功能。一般来说,运动检测最简单的方法是直接计算帧差绝对值。判别条件为:∑I厂(x,Y,i)-f(x,Y,州>丁;(5-1)(J.yes)其中,f(x,Y,i).f(x,只,)为序列图像在iJ时刻点(x,y)的狄度值,T为狄度阈值(该值取决于运动速度和光照条件,可以动态设置),狄度阈值的大小决定运动检测的灵敏度,同时帧1IHj隔也会对检测灵敏度有影响。当帧f.Bj变化和超过固定值T时,则判定有运动发生。这种方法运算简单,检测速度快,易于实现。但易受光线、天气、小目标物体的干扰,检测准确度低【471。 大庆石油学院硕L研究生学位论文在实现过程中,我们将图片分为8x6的48块,则我们图像采集模块所创建的320x240的图像可分为40x40大小的48个区。在每个区域中直接比较两帧图像对应象素点的灰度值。对于图像区域S,判别条件是:f1吒@∥卜0∑do(x,y)>N‘J,)*^}当lfCx,y,f)一f(x,Y,川>r其它(5.2)其中,0sf(x,Y,i),f(x,Y√)≤255。T为域值,表示统计差值超过域值的象素点的数目,当数目大于固定值N时,则判定有运动发生,本算法不仅从阈值的变化上进行判断同时又从变化的点数上予以限制,此算法可根据N值的设定来控审4报警图像的大小,大大降低了因小目标物体而产生的误报警。运动图像检测的准确率较(5.1)式有所提高。为了避免天气、光线等因素发生变化时,产生误判断。我们增加了一个附加判别条件:乏:l,(x,Y,f)一f(x,Y,州>t(5.3)(J,yEss)光线、天气变化会对整个图像产生影响,变化比较均匀,分布于整个区域。若是有人闯入则变化是局部的个别的。通过判断四个角区域Sl,S2,S3,S4的灰度变化大小即可柬判断是否为光线等分和均匀的干扰信号。当Sl,S2,S3,S4四个区域都满足(5.3)式时,说明反度变化是光线的影响,不是有运动发生。该判别条件进一步提高了检测的准确度,同时运算简单,对检测速度影响不大,避免了由于光线等的干扰而导致虚警,大大减少了误报现象的产生,提高了报警的准确性。5.2人脸粗略定位模块肤色是人脸的重要信息,不依赖于面部的细节特征,对于旋转,表情等变化情况都能适用,具有相对的稳定性;而且和大多数背景物体的颜色相区别。因此肤色特征在人脸检测中是最常用的一种特征,在人脸特征定位中也经常作为图像预处理的方法。肤色特征主要由肤色模型描述。5.2.1基于肤色特征的人脸检测人脸的肤色在颜色空间中的分布相对比较集中,利用这个特点可以检测人脸.这种方法的最大优点是对姿态变化小敏感。用彩色信息检测入脸的关键是合理选择色度坐标。常用的方案是将彩色的R、G、B分量归一化。目前人们研究更多的是如何提 第五帝人脸榆测的实例研究取彩色的色度信息,即将RGB彩色空间转化为其它的彩色空『自J,以突出色度信息。5.2.2人脸检测常用的几种色彩空间一个色彩空间其实就是一个颜色集合的数学表达。最常见的是RGB空问,其余的还有HS[空间、YCrCb空间、YIQ空间和YuV空间等,这些都可以从RGB空间转换而来。在大多数情况下,图像信息是以RGB的颜色体系保存,然而在人脸肤色分析中,由于R(3B颜色的R、G、B三个颜色分量都包含亮度信息,存在极强的相关性,一般不适合肤色处理。所以一般情况下在进行肤色检测之前,要将RGB颜色体系转换到其它颜色体系中,而不直接利用RGB彩色空『自J。1.RGB彩色空间由于彩色图像是多光谱图像的一种特殊情况,对应于人类视觉的三基色即红、绿、蓝三个波段,是对人眼光谱量化性质的近似,因此利用R、G、B三基色这三个分量来表征颜色是很自然的一种格式,而且多数的图像采集设备都是以CCD技术为核心,直接感知色彩的R、G、B三个分量,这也使得三基色模型成为图像成像、显示、打印等设备的基础,具有十分重要的作用。RGB颜色模型主要用于CRT监视器和图形刷新设备中。尽管玖彩色空间是最普遍的,但是由于R、G、B三色之间存在强烈的相关性,因此在大多数的肤色分割中一般没有直接利用它,而是利用其变换后的彩色空间进行分割【381。2.标准RGB彩色空间出于RGB彩色空问中的向量(r'g,b)表示了一种颜色,故相同方向、不同模的向量具有相同的色度,所不同的只是亮度。颜色(r’g,b)的色度坐标定义为各个分量在R十G+B中所占的比例,即:R胄+G+占g:——竺~(5.4)2雨i万。’’4’b:里R十G+B有:什g十b=1,而RGB对可见颜色子空间与截面r}g+b=l产生的交区域在坐标平面唱上的投影产生了色度图。 大庆石油学院硕蛐开究生学位论文a图5,IRG8单位立方体3.HSI彩色空间HSI颜色空间直接对应着人眼视觉的三要素,通道阃各自独立。三个分量分别为色调H(Hue)、饱和度S(Saturation)和亮度I(Intensity),从RGB空间转换到HSI空『自J的转换公式如下:,=(R+G十B)/3(5-5).厅S=l一孚min(g,G,回(5.6)日:担曼>B(5.7)J2石-目G≤B⋯’口:挑。o。h墼三竺兰!堡三型11(5.8)√(月一G)(口一G)十(R—B)CG—B)。在HSI空间上,肤色信息有如下特点:色调信息上,它包括一个比较宽的阈值范围,从红色到棕黄色,都有可能是肤色:饱和度信息上,肤色的饱和度值占据一个更宽的阈值范围;亮度信息上,由于人的肤色是略显黄白色,因而有着较高的亮度值。综合H、S、I可以得到比较理想的分割效果。图5.2H$1的圆柱体状的颜色空间41 第五章人脸榆测的实例研究淞K65.42871—1勰28.553.24966iilwI:I蛔◇。,忖斟3翟一勰.+呼纠◇9)5.2.3光线补偿因为摄像机拍到的图片可能会存在光线不平衡的情况,同时系统中要用到YCbCr色彩空间,所以有必要对光线进行补偿。光线补偿所用的方法是:把图片中亮度最大的5%的像素提取出来,然后线性放大,使得这些象素的平均亮度达到255。根据求得的系数把整个图片的亮度进行线性放大,具体说就是调整图片象素的RGB值。这一做法的合理性可以从两个角度进行解释:一方面,绝大部分的图像中都包含有纯白色,特别是包含人脸在内的图像中,在眼球外围等处通常就是纯白色,所以将具有最大亮度的像素的色彩值调整为纯白色是合理的;另一方面,存在色彩偏差的图像在原来是白色的区域有着很明显、直观的体现,所以按照这些区域的调整方法对整个图像进行调整也是比较合理和有效的。如图5.3所示,可以看出光线补偿后图片的整体亮度变大了。 人庆{J汕‘譬院坝IjⅢ究生学位论殳图5.3光线补偿结果图对于一幅被检测的彩色图像,首先将它转换到YCbCr色彩空间中,在被检测图像中逐点扫描,根据每个像素点的R,GB值计算得到相应的Y、Cb、Cr值,得到该像采mJ《{:窄M-f-的像鬃值(Cb,Cr)。通过肤色概率密度函数:e(Cb,Cr)=exp[一0.5(x一肌)。c。(x一,”)】(5-10)找到该(Cb,Cr)值所对应的肤色概率值,也即肤色似然度,并且得到整幅图像的最大肤色似然度。每一点像素的肤色似然度值除以最大肤色似然度所得到的值,作为该像素点的灰度值,从而得到肤色似然度图像。肤色似然度图像上某点像素点的灰度值表征了这个像素点属J:皮肤的概率。图5.4中(a)(c)是光线补偿阿后的照片,(b)(d)是分别琏于光线补偿胁和补偿后肤色分割的结果。不难看出,照片经过光线补偿后更有利于肤色分割。(a)(b)(c)图5.4光照补偿结果5.2.4II:线忭转换~般说束。神!进行人脸检测的时候,YCbCr空间中亮度和色度的分离度越大越好,fI』足红实勋i的操作中人们发现包度值对亮度值总是存在着一定的非线性依赖关系,这种依赖火系在搬人程度上影响了图像的检测.所以本文l{1对YCrCb空I’HJ义进行了一次非线性的转换,用来消除色度对亮度的依赖关系。下面是一组实现非线性转换的公式,其中,i代表r或b。f一肜一(∽:{((',∥)_c(y"赢K∽Jifyp“。,矧其中,x是20*20的图像窗口,代表训练集中的一个样本,Z(功表示图像在第j个特征下的特征值;色表示对应于第j个特征下的判决闽值;日决定不等号方向,即确定只是上阈值还是下阈值;hi(x)表示图像在第j个特征下的判决输出。使用下式可以得到对应每个特征j的判决参数口,为:口:丝!竺!±些z竺2(5-26)其中,Ⅳl为人脸样本的数目,N2为非人脸样本的数目,M为该特征在所有人脸样本上的特征值的和从脸样本的数目,M2为该特征在所有非人脸样本上的特征值的和月E人脸样本的数目。对于岛,若Mt>q,则Pj=l,这种情况下t当测试图像的特征值大于q时,弱分类器将该图像判别为人脸图像,如果所=-1,则当测试图像的特征值小于岛时,弱分类器将该图像判别为人脸图像。2、强分类器(strongclassifier)的训练及选取使用AdaBoost算法构建强分类器之前,需要确定该强分类器的最大误检率J一,最小检测率atmin。计算每个样本窗口内的所有矩形特征值。对每个样本赋初始权值。首先,应确定对于每个训练样本的初始化权值Ⅵ,,可由人脸分布的先验知识D(f)决定,实际中可使用均匀分布。其次。由于每个强分类器包含的弱分类器的数目是由学习算法迭代的次数决定的,因此要考虑循环次数T。实际中,使用一个自适应的方式来确定T的数目。具体算法步骤如下:(1)对于训练集中的图像,将其表示为(而,M),(工:,Y:),...,(工。,Y。),其中YJ=0表示其为负样本(非人脸),Y,=I表示其为正样本(人脸)。n为一共的训练样本数量。 第五章人脸检测的实例研究(2)对于y,=o,1分别初始化权值Ⅵ,=·÷,=I,其中,脚,,分别表示训练集中非人ZmZl脸样本和脸样本的数目。(3)开始迭代循环:fort=1⋯·,7’:利用AdaBoost算法,得到强分类器。注意该强学习器学习完毕后,要满足最大误检率歹.眦和最小检测率d。;。这两个条件。每次循环添加一个弱分类器到强分类器甩,该弱分类器必须满足它较其它弱分类器分类错误低。更新每个样本的权重。更新权重的目的是增强那些非正确分类部分,以提高分类器的分类能力。当满足/0和d。。时,循环终止。-个强分类器可以包含若干个弱分类器,检测效果一般来说都比较令人满意。但是实验表明,检测率和误检率是一对矛盾.要提高检测率往往带来了较高的误检率,而为了降低误检率也需要牺牲检测率。经过T次迭代后,获得了T个最佳弱分类器^(x),⋯,%(x),可以按照下面的方式组合成一个强分类器:h(x)=11磐№)≥ji善r,q+m(,功)10其它那么,当这个强分类器对待一幅待检测的图像时,相当于让所有弱分类器投票,再对投票结果按照弱分类器的错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果。平均投票结果,即假设所有的弱分类器投“赞同”票和“反对”票的概率都相同下,求出的概率平均,÷(∑i.a,·I+∑:。a,·o)=÷∑:。a,·一般来说,当T=200时,构成的强分类器可以获得很好的检测效果。(4)进入下一极强分类器的学习过程如图5.14所示为一种强分类器级联的结构,将各级强分类器连接起来。 人庆“油学院颂I:gf究生学位论立图5.14强分类器级联结构图将判决计算分级进行,只要不能通过其中任何一级,就立即排除。只有通过全部各级分类器的图像才能被认定为人脸图像。这种方式可在前几级就能排除一些明显的非人脸图像。3、错误率上限可以证明用上述强分类器进行人脸检测的错误率上限为:占≤2,兀T√而现证明如下。首先:∑w』扎.=∑Ⅵ.,∥一。≤∑w.,【l一(1一届I)(1一q)】=(窆屹)【l一(1一鳅l一∑。南)】“1己fIlⅥo=(∑Ⅵ加一(1一局))0-Zq。q】=(∑Ⅵ;..)[1-(1-5,))(1一日)】(5.28)_k式用N7(1+x)”=l+懈+⋯;将上式按照t=l,.,T个分类器迭代,可以得到 第五章人脸检测的实例研究Hr∑‰1.』s丌[1-O-p,)O-e,)]●·l,-l由强分类器的判断条件:TlT∑啪∞2{∑qt。I‘I-I并且:(5.29)(5.30)善q恿(∞=∑109去曩(工)=logt-I{:l厉M“(5.31)l-I,1f-I⋯‘7圭善Tq=孑1善T·os万1=·。g(冉屈一”。,.,2,所以强分类器对样本i判断错误的条件为:兀所。2(丌届)。”又有样本i最终的权重为:r珥-f’,=D(f)兀爿√因此可以得到所有的权重和的下限:∑w7吐.≥∑崎圳,·l,r.·l如叫酬2狰协r\I-I/(5.33)(5.34)(5.35) 人庆廿油学院硕}研究生学位论文占=∑D(j)即为最终的错误率。由以上可得:rT、。’72rFsIn屈I兀[1-(1一层)(1一‘)】\l-I/,·I,2{:l半r=兀,-l2e,;zr卉后F可(5-36)证毕。下面简单分析一下强分类器的错误率。设^=÷一毛,那么上式可改写为:s≤兀伍万一(1nn厮]?⋯⋯佃厮]@,,,=exp|寺∑ln(1—4以2)IseXpf·2Yr,2l上式最后一步用到了泰勒展开ln(1一工)=一0+⋯)。特别的,如果所有的弱分类器错误率岛=岛相等,力=Yo,上式可简化为:£≤exp(-2rrdj(5—38)可见,强分类器错误率随着弱分类器数量增多和弱分类器错误率的降低而迅速降低。具体地,如果r=200,eo=0.40,那么占<0.018(正确率高于98%)。这也说明了,只要有足够多的弱分类器,就可以使强分类器达到任意低的错误率。如图5.15所示为上述人脸检测算法的实际效果图。图5.15实验检测结果 第五帝人脸榆测的实例研究5.4实验结果及分析在实际的实验中,测试的人脸图像集包括了不同环境下、不同复杂背景的人脸图像。本图像集一共包括150幅图像,267个人脸,其中单人脸图像100幅,多人脸图像50幅,图像的大小为320*240像素。图像主要是从前文介绍的实时视频监控系统上获取的,还有一部分来自互联网。实验统计数据如表5.1中所示。图像人脸正确数(%)误检数(%)漏检数(%)类型总数肤色建模Haar特征肤色建模Haar特征肤色建模Haar特征单人10069(69%189(89%)19(19%)7(7%)12(12%)4(4%)多人16789(53.3%1124(74.3%)53(3I.7%126(15.6*/0)25(15%、17(10.1%)合计267I58(59.2%)213(79.8%172(26.9%133(12.3%)37(13.9%)21(7.9%)表5.1人脸检测结果从表5.1的统计数据来看,与基于Haar特征的多级分类器相比,基于肤色模型的误检率和错检率较高,主要原因有以下几个方面:1、在进行肤色区域定位时,如果背景和人的肤色色调很接近,容易造成肤色区域定位不准确,这将直接影响后面的人脸检测的效果。2、图像的质量不好,例如饱和度、亮度过高或过低,致使肤色区域的定位不准确。虽然论文人脸检测算法采用了光线补偿处理来尽量较少这些影响,但是在图像质量很差的情况下,光线补偿也无能为力。3、从统计数据来看,对单人脸图像的检测在表中的三个指标均比对多人脸图像的检测效果好,原因在于多人脸图像中,人脸密度较大,肤色区域粘连的部分较多,复杂程度也相对大一些,这是造成检测单人脸图像和多人脸图像时差异很大的一个重要因素。通过实验,我们还得出了基于肤色模型和基于Haar特征的多级分类器的入脸检测方法各自的优缺点:基于肤色的方法算法简单,计算量少,检测速度很快,但是对光照很敏感,检测率也不理想;而基于Haar特征的多级分类器方法,检测率高,但运算复杂,检测速度不如基于肤色的方法。本系统结合了上述两种方法对人脸进行检测,基本达到了预期的效果。5.5本章小结基于肤色建模和AdaBoost算法的方法都是目的效果较好的人脸检测方法。系统综合利用了这两种方法,并结合运动物体检测,提出了一种方案。主要特点是首先根据运动检测模块确定监控系统出现运动行为并大致确定运动范围:然后通过建立人脸的肤色模型进行人脸的预定位;最后系统采用了基于AdaBoost算法,挑选特征并构建多级分类器的方法完成了对人脸的精确检测定位,进一步对结果进行验证。 人庆舡油学院碗l:研究生学位论叟第六章总结本文从嵌入式系统和嵌入式操作系统开始,开发设计出一个融合嵌入式技术和人脸检测的智能视频监控系统。本系统采用基于ARM9微处理器的嵌入式系统,使用USB摄像头和无线网卡实现了实时视频监控系统。并在此基础上实现了运动检测,人脸检测等功能。具体工作如下:l、搭建了嵌入式系统软硬件开发平台:系统的视频采集及无线传输部分要求在嵌入式软硬件平台上实现,我们根据系统的具体要求,设计了一个基于ARM9微处理器的开发板,并定制了专有的操作系统平台,完成了具体的程序编制工作,实现了嵌入式平台与外围设备的无缝连接,并保证了整个系统运行的稳定性和可靠性。2、实现了视频图像的实时采集和无线传输:系统通过摄像头采集来自现场的视频图像,然后使用两块无线网卡在ARM丌发板与上位机之间构建一个无线局域网络,使用RTP协议将实时视频数据传输到主机端。在实测中,系统分辨率为320*240时,采集速度稳定在每秒15帧,视频较为流畅,丢包现象较少,基本达到了监控的性能。3、实现了视频图像的人脸检测:系统提出了一种结合运动检测、肤色建模和构建多级分类器的方法实现了视频图像的人脸检测。这种方法比较适合实时视频监控系统,较好地解决了实时视频图像中对人脸检测的问题,取得了一定的效果。实验结果表明,本系统的图像采集和传输可靠稳定,人脸检测算法简单实用,所提方案具有一定的成效和实用性。但同时还存在许多不足,需要在迸一步的研究和完善,主要有以下几个方面:’l,流畅的视频效果是一个实时监控系统的重要指标,本系统的图像大小和传输速度相对来说还有一定的差距,我们以后可以在图像编码和传输协议方面进一步深入研究、优化算法,争取获得更好的视频效果。2、一个良好的、鲁棒性强的肤色模型在人脸检测过程中起着重要的作用。我们可以通过更大量的实验样本、更新颖的色彩空间、更合理的统计模型来寻求肤色信息更好的数学模型,将更多的肤色信息应用于人脸检测算法中。3、在实验中,基于Hart特征的AdaBoost算法虽然比较准确,但运算速度较慢,我们可以进一步优化选择特征值,加快检测速度。人脸检测过程比较复杂,人脸检测算法也多种多样,我们今后还应对这一方向作更深入、更广泛的研究,以期获得准确、快速、实用的人脸检测算法。 参考文献[1]艾海舟.机器视觉及其麻用[J】.科学中国人.1997t23—25.[2]贾云得.机器视觉[M],科学出版村=2000.4.[3]肖玉.数字化视频监控在安全防范l。程中的麻f}j[J】.麻j{{科技.2003,30(1):17-19.[4]周国消,唐晓芳.计算机视觉及其麻川[J].中国计算机_Hj户,1996,(08):6-7.[5]张杰.基丁.机器视觉的幽像采集与处理系统研究[D].四川:成都理,J:人学,2006.[6]邓加琼.复杂背景下的彩色人脸检测算法与实现[D].四川:电子科技人学。2004:卜2.[7]LuXG。ZhouJ,ZhangCS.Anovelalgorithmforrotatedhumanfacedetection[J].ProcIEEEConferenceonComputerVisionandPatternRecognition,HiltonHeadIsland,SouthCarolina,USA,2000.760—764.[8]MiaoJ,YinBC。WangKQetal.AhieraehicalmultiscaleandmultianglesystemforhumanfacedetectioninacomplexbackgroundUSinggrayitycentertemplate[J].PatternRecognition。1999,32(10):1237—1248.[9]探矽【:作室.嵌入式系统开发圣经[M].北京:中国青年出版社.2002:6—7.[10]http://m.zdnet.com。cn/news/hardwares/story/0,3800055190,39288843,00.htm,2004-09-02.[1i]S删SuNGelectronic$3C2410UserManual[EB/OL].ww.samsungsemi.com[12]张大波.嵌入式系统原理、设计与应用[M].北京:机械j亡业出版社.2005.卜3.[13]杜春雷.A贼体系结构与编程(M].北京:消华大学出版社,2003[14]马忠梅,码J’’云.ARM嵌入式处理器与应川基础[M].北京:北京航空航大人学出版社,2003.[15]陈众,方璐.VC环境F小,张l:业监控软什的开发[J],计算机自动测越丁.控制,2000:33—35.[16]张义磊.基于$3C2410嵌入式.I:业控制器的关键技术研究[D].吉林:中国科学院长春光学精密机械与物理研究所.2004.12-13.[17]HY57V641620DataSheet.HynixSemiconductorInc.May2003.[18]刘瑞新.ProtelDXP实用教程.北京:机械l:业出版社.2003.[19]谷树忠,闰胜利.ProtelDXP实JL}J教科一原理l笙I与PCB设计.北京:电子.I:业出版社.2003.[20]李威远.陈新.刘发彪.基T-ARM的无线I鳘}像传输系统的设计与实现【J].福州人学学报,2004,32(6):684—688.[21]H,Schulzrinne,S.Casner,R.Frederick.RTP:ATransportProtocolforReal-TimeApplicatiOOS.RFC1889.1996,1.【22]S,Casner,V.Jacobson.CompressingIP/UDP/RTPHeadersforLow—SpeedSerialLinks[DB/OL].RFc2508.1999.2.[23]M.Greiffenhagen,D.Comaniciu。H.Niemann.Design、analysiSandengineeringofvideomonitoringsystems[J].ProceedingsoftheIEEE,2001,89(10):1498—1517.[24]S.C.Hui,F.Wang.RemoteVideoMonitoringOverthewww[J].MultimediaToolsandAppliCations,2002.21(2):173—195.[25]施博学,于忠良,刘冀伟。基丁RTP实时远张l鳘|像传输研究与实现[J].微计算机信息,2005。21(2):178—179.[26]M.Speer。D.Hoffman.RTPPayloadFormatofSun’sCellBVideoEncodingRFC[J].2029.1996.10.[27]J.Rosenberg.H.Sehulzrinne.SamplingoftheGroupMembershipinRTP[DB/oL].RFC2762.2000.2.[28]张丽.流媒体技术人全[M].北京:中国青年出版社。2001.15—19.[29]joriLiesenborgsJRTPLIB3.1.0[EB/OL],http://research.edm.1uc.ac.be/jori/jrtplib/jrtplib.pdf.2006—2007. 叁堕型苎兰堕型!:型壅生兰垡堡兰[30]L.Berc,■.Fenner。R.Frederick.RTPPayloadFormatforJPEGcompressedVideo[DB/OL].RFC2435.1998.10.[31】粱路宏,艾海舟,徐光佑等.人脸检测研究综述.计算机学报.200225(5):449-458.[32]刘宝林,酬博.范小安,千行言.基丁.RTP协议的MPEG4视频传输系统的设计与实现[J].实验技术与管理,2004,21(5):39—42.[33]唐伟,陈兆乾,吴建鑫等.静态灰度图像中的人脸检测方法综述[J].计算机科学,2002t29(2):134—135.[34】Abdel—MottalebM,ElgommalA.Facedetectionincomplexenvironmentsfromcolorimages.ProcIEEEConferenceonImageProcessing.1999(3):622—626.[35]YangM-H,AhujaN.KriegmanD.Asurveyonfacedetectionmethods[DB/OL].http"/ivision.ai.uiBe.edu/mhyang/papers/survey.ps.gz.[36]YangM—H。andAhujaN.Detectinghumanfacesincolorimages[J].ProceedingsoftheInternationalConferenceonImageProcessing,1998,127—130.[37]张宁.基‘丁.彩色运动序列倒像中的人脸检测系统的研究[D].四川:四JII大学,2005.8-9.[38]刘直芳.入脸检测丰¨识别的研究[D].成都:四川大学,2004.146—147.[39]KarlekarJ,DesaiUB.FindingfacesincolorimagesusingwavelettransformCC】.ProcIEEEConferenceonImageAnalysisandProcessing。Venice。Italy。1999.1085—1088.[40]MenserB.BrunigM.Facedetectionandtrackingforvideocodingapplications[C],ConferenceRecordofthe24thAsilomaronSignalS,SystemsandComputers,2000:49—53.[4I]KearnsM。ValiantL.G.LearningBooleanFormulaeorFactoring[J],TechnicalReportTR-1488。Cambridge。RavardUniversityAikenComputationLaboratory,1988.[42]SchapireRE.TheStrengthofWeakLearnability[J】.MachineLearning,1990,5(2):197—227.[43】FreundY.BoostingaWeakAlgorithmbyMajority[J].InformationandComputation.1995.12l(2):256—285.[44]FreundY,SchapireRE.ADeciSion-TheoreticGeneralizationofOn—LineLearningandAnAppIicationtoBoosting[J].JournalofComputerandSystenSciences,1997。55(1):119—139..[45]ViolaP。Jones.M.J.RobustReal-TimeFaceDetection[J].InternationalJournalofComputerVision57(2),2004:137-154.[46]孔潇,刘党辉,沈兰荪.基于多级分类器的快速人脸检测方法[C].北京:第二二届全国智能视觉监控学术会议,2003:179—183.[46]沈二荪,卓力.小波编码与网络视频传输【M].科学出版社。2005:271-293.[47]张利欣,吴井臻,尹偷欣.无线I划像监控系统的研制[J].微计算机信息,2003(8):40-41. 参考文献发表文章目录[1]关学忠,李洪宇,李国盛.基于WinCE的ARM视频监控系统,单片机与嵌入式系统应用.2006:12.[2]李国盛,刘继承,李洪宇.基于WINCE的无线传输系统的研究,计算机技术与发展.2006:10(16).60 人庆☆油学院顺l‘研究生学位论义致谢本文是在我的导师关学忠教授的全面指导下完成的,论文从最初的选题到最后的定稿,导师都给予了我很多有益的指导。在这里,我衷心感谢导师对我学业上的无私传授、科研中的精心指导、生活上的亲切关怀!导师渊博的学识、敏锐的思维、严谨的治学精神,平易近人的处世风范都使我受益匪浅,是我今后工作和生活中学习的榜样。感啪U4L。7:院给我们提供的良好的学习工作环境,感谢自动化系的各位老师在毕业设计过程中给予我的指导和帮助。感谢和我一起度过两年多研究生生活的胡松、李国盛和李佳明同学,感谢李明军和李彦林同学给予我论文写作上的帮助,感谢实验室的其他所有师弟师妹给予我的热情帮助和支持。最后,感谢父母和家人对我的支持。多年来,他们深切的鼓励和鞭策使我一直保持f;{『进的动力取I希望,l卜是他们的帮助,我才能达到令天的学业成就,在此献上我衷心的感谢和祝福!向所有帮助过我的老师、同学、朋友和家人致谢!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭