基于ARM的智能家居监控系统项目计划书.doc

上传人:小小飞 文档编号:3264375 上传时间:2019-08-06 格式:DOC 页数:16 大小:229.52KB
返回 下载 相关 举报
基于ARM的智能家居监控系统项目计划书.doc_第1页
第1页 / 共16页
基于ARM的智能家居监控系统项目计划书.doc_第2页
第2页 / 共16页
基于ARM的智能家居监控系统项目计划书.doc_第3页
第3页 / 共16页
基于ARM的智能家居监控系统项目计划书.doc_第4页
第4页 / 共16页
基于ARM的智能家居监控系统项目计划书.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于ARM的智能家居监控系统项目计划书.doc》由会员分享,可在线阅读,更多相关《基于ARM的智能家居监控系统项目计划书.doc(16页珍藏版)》请在三一文库上搜索。

1、基于ARM的智能家居监控系统项目计划书团队:S.T小组成员: 1. 引言.12. 项目概述.12.1 项目功能12.2 项目开发流程23. 硬件环境搭建.23.1 硬件基础23.2 BootLorder移植.23.3 USB摄像头驱动移植并重新编译内核33.4内核移植、测试.44. 项目分解.5 4.1 视频采集.5 4.2 图像分析并标记.7 4.3 图像编码压缩.7 4.4 视频图像传输.8 4.5 图像解码解压缩.9 4.6 图像显示及存储10 4.7 人脸识别模块10 4.8 报警模块12 4.9 各模块整合及调试优化125. 项目分工126. 进度安排131. 引言随着人民生活水平的

2、不断提高,安防意识不断增强,视频监控得到了广泛使用。对于某些敏感场合,如银行、商店、停车场、居民小区、军事基地等,出于管理和安全的需要,人们必须知道该区域内发生的事件,于是采用某种特定方法来监视该场景,并且及时地对发生的异常事件做出适当的反应,这就是所谓的监控。随着社会信息化程度的不断提高,社会各行各业对视频监控系统的要求也越来越高。目前,视频监控正朝着数字化、网络化、智能化、一体化的方向发展。在国民越来越重视生存环境安全和舒适的今天,高性能智能视频监控系统的研究。与实现将具有不可忽视的应用前景和商业价值。2.项目概述2.1 项目功能 a.视频图像采集 b.视频传输 c.视频图像显示 d.历史

3、数据查询 e.人脸识别 f.发现危险情况自动报警 2.2 项目开发流程 3.硬件环境搭建 3.1 硬件基础 开发板采用三星S3C2440 (ARM920T core with MMC,最高频可达 532 MHz)作为处理器,64 MB的SDRAM,256MB的Nand Flash以及 2 MB的 NOR Flash。配备一个采用 DM9000网卡的 100M以太网 RJ-45口,同时包括一个主USB接口。3.2 BootLorder移植 Bootloader是与系统硬件环境高度相关的初始化软件,它担负着初始化硬件和引导操作系统的双重责任。一些ARM平台可以共用同一种Bootloader,但是总

4、的说来,每一个特定系统的Bootloader都会有所不同。Bootloader广泛用于有操作系统的手持终端设备、智能家电及机顶盒等嵌入式设备上,它负责完成硬件初始化、操作系统引导和系统配制等。Bootloader移植是在特定硬件平台上操作系统移植至关重要的一步。可以通过串口线将BootLorder移植到板子上。3.3 USB摄像头驱动移植并重新编译内核视频设备驱动层是上层应用和USB子系统之间的中间层,不同的USB设备在软件上的差异主要体现在该层。该层主要要完成两个方面的工作,实现相应的接口函数供上层应用调用、实现相应的接口函数供USB子系统回调在本视频设备驱动函数中,供上层应用调用的接口函数

5、包括了open函数read函数、close函数和ioctl函数,供USB子系统回调的函数为probe函数和isoc_irq函数。其实现的接口函数同上层应用和USB子系统的调用关系如下图所示USB驱动的实现原理如下图所示USB驱动的移植过程如下所述:首先下载相应的USB补丁文件,将补丁文件放到相应的目录下,然后修改drivers/usb/Makefile文件,再修改drevers/usb/media/Kconfig文件,接着配置内核make menuconfig,配置完毕后编译内核及模块,再拷贝模块文件至开发板目录下,然后将USB摄像头插入开发板(必须先插入摄像头才能插入模块文件),重启开发板,

6、插入模块文件(使用Insmode命令),Insmode usbcore.ko,Insmode ohci-hcd.ko,Insmode v4l1-compat.ko,Insmode v4l2-common.ko,Insmode videodev.ko,Insmode spac5xx.ko,插入以上模块后建立设备文件,当开发板启动时自动加载模块。3.4 内核移植、测试 通过串口线将编译好的内核从PC机上移植到开发板,测试USB接口及摄像头是否正常工作。4项目分解 4.1视频采集 利用Linux自带的V4L接口进行视频图像的采集。Video4linux(简称V4L),是linux中关于视频设备的内核

7、驱动,现在已有Video4linux2,还未加入linux内核,使用需自己下载补丁。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。 Video4linux下视频编程的流程(1)打开视频设备:(2)读取设备信息(3)更改设备当前设置(没必要的话可以不做)(4)进行视频采集,两种方法: a.内存映射 b.直接从设备读取 (5)对采集的视频进行处理(6)关闭视频设备。为程序定义的数据结构typedef struct v4l_struct int fd; struct video_capability capability; struct v

8、ideo_channel channel4; struct video_picture picture; struct video_window window; struct video_capture capture; struct video_buffer buffer; struct video_mmap mmap; struct video_mbuf mbuf; unsigned char *map; int frame; int framestat2;vd;视频采集流程4.2 图像分析并标记读取摄像头视频缓冲区中的数据,对采集到的数据进行运动分析。在进行运动分析之后,对于所传输的图像

9、进行标记,凸显运动物体和入侵物体。最后对经过标记的图像进行编码、传输。4.3 图像编码压缩H.264,同时也是MPEG-4第十部分,是由ITU-T 视频编码专家组(VCEG)和ISO/IEC 动态图像专家组(MPEG)联合组成的视频组(JVT,JointVideo Team)提出的高度压缩数字视频编解码器标准。与其他的视频压缩编码相比,它有以下优点:(1)低码流(Low Bit Rate)。与MPEG2 和MPEG4 ASP 等压缩技术相比,在同等图像质量下,采用H.264 技术压缩后的数据量只有MPEG2的1/8,MPEG4 的1/3。显然,H.264 压缩技术的采用将大大节省用户的下载时间

10、和数据流量收费。 (2)高质量的图像。H.264 能提供连续、流畅的高质量图像(DVD 质量)。 (3)容错能力强。H.264 提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。(4)网络适应性强。H.264 提供了网络抽象层(Network Abstraction Layer),使得H.264 的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000 等)。 目前对图像进行H.264 编码的编码器主要有3 种: JM:JM 是H.264 的官方测试源码,故被称作校验模型。它 由德国hhi 研究所开发。目前许多学术研究都在其基础上进行深化。但其结构

11、复杂,不适合应用。T264:T264 是中国视频自由化组织开发的H.264 编码解码器。被广泛应用于linux、windows 等环境中。但是其解码器只能解码其自己生成的码流,同时T264 近些年来一直没有更新,成为其进一步发展的障碍。FFmpeg:FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL 或GPL 许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/ 视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec 里很多codec 都是从头开发的。 在视频监控系统的设计中,由于T2

12、64 编码成熟,广泛应用于linux 的PC 环境,并且已经取得了很好的效果。同时网络上也有许多程序员将T264 移植到ARM 环境,效果良好,例程充分。所以我们采用T264 进行视频压缩。4.4 视频图像传输 视频图像传输与传统的文件传输有着明显的区别,传统文件的传输对于传输的延迟、抖动没有过多的要求,但是要求有严格的差错控制和重传机制。视频图像传输在传输的实时性、同步性上要求很高,并且要求传输延迟小。视频图像传输能够忍受分组丢失造成的差错和反常,也可以忍受由于没有重传或者纠错机制而导致的分组丢失或延迟,但却无法容忍由于基于重传的差错控制机制引起的显示不连续或显示混乱。视频图像传输有以下几个

13、特点:1.连续性、实时性;2.占用较大的网络带宽;3.需要精确的时间控制;4.要具有广播和多播的功能;5.允许一定的传输误码。 TCP和UDP是协议簇中传输层的两个主要协议,TCP提供了可靠的传输功能,而UDP并不能保证数据的可靠传输。为保证视频数据的完整传输,在此我们采用TCP协议。4.5 视频解码解压缩 解码过程首先从视频文件中读取视频信息,并通过相应的解压缩算法对视频信息还原,并且显示出来。输入的视频流来源于视频文件。 对于MPEG一4格式的视频文件而言,视频信息中包含了形状信息,运动信息、纹理信息等。解码器需要对形状、运动、纹理三部分信息分开解码,并且利用三部分信息重构视频对象平面VO

14、P,即通常意义上的一帧图像。解码器同时按照显示顺序依次对显示后的图像进行显示,从而看到流畅的画面。视频解码流程图4.6 图像显示及存储 图像显示子模块用于提供系统接口给用户,使用户能够主动查看当前时刻的监控图像,也可以查看数据库中某一历史时刻的图像。显示模块从解码器获得视频数据,经显示程序处理在界面上显示。 视频数据在解码显示过程中同时存储在PC机上,用于后期的历史查询。4.7 人脸识别模块 人脸识别技术,是指通过与计算机相连的摄像头动态捕捉人的面部图像,同时把捕捉到的图像与预先录入的模板库中的人脸图像进行比较识别由于该技术在采集人脸时的非接触性与友好性,人们对该技术没任何排斥心理,从这个角度

15、讲,人脸识别可以成为一种最友好的生物特征认证技术。人脸识别的核心技术在于“局部特征分析”和“图形识别算法”,这种算法利用了面部各器官及特征部位的方位关系,将形成的识别参数与模板数据库中的参数进行比较、判断和确认。面部识别技术主要针对面部不易变化的部分进行图像处理,其中包括眼眶轮廓、颧骨周围轮廓区域及嘴的边缘区域。目前人脸识别的技术主要有:特征面孔扫描技术、特征分析面孔扫描技术、神经网络定位面孔扫描技术和自动面孔处理扫描技术。人脸识别技术的优点:不需要当事人的配合,可以用于某些隐蔽场合,可远距离采集人脸图像。 根据系统新输入的人脸图像,与已有的人脸数据库进行比对,来判断该图像是否在人脸库中,如果

16、不在该图像数据库中,则触发报警模块报警。 人脸识别包含以下几个方面内容:(1)人脸检测,即从不同的场景中检测出人脸的存在并确定其位置。这一任务主要受光照、噪声、头部倾斜度以及各种遮挡的影响。(2)人脸表征,即确定表示检测出的人脸和数据库中的已知人脸的描述方式。通常的表示方式包括几何特征(如欧式距离、曲率、角度等)、代数特征(如矩阵的特征矢量)、固定特征模板、特征脸、云纹图等。(3)人脸识别,即通常所说的人脸识别,就是将待识别的人脸图像和数据库中的已知图像比较,得出相关信息。这一过程的核心是选择适当的人脸表示方式与匹配策略。(4)表情分析,即对待识别的人脸的表情进行分析,并对其加以分类。(5)物

17、理分类,即对待识别人脸的物理特征进行分类,得出其年龄、性别、种族等相关信息。人脸识别系统示意图4.8 报警模块 根据人脸识别模块反馈回来的信息,如果不是人脸库中的人物就触发报警信号,前期采用开发板的蜂鸣器报警,后期在时间允许情况下拓展为声卡报警。4.9 各模块整合及调试优化 将各个模块进行整合,测试整个系统是否正常工作,包括能否采集视频图像,能否将视频数据准确的传输到PC机上,控制界面是否可以正常显示画面,是否可以识别危险(人脸库中没有的视为危险人物)人物,有危险人物出现时是否能正常报警。对于上述模块中出现的一系列问题进行调试修改,再测试,知道系统工作正常为止。5.项目分工姓名职务项目分工于大

18、伟CEO视频采集程序姚俊CTO视频图像分析、标记及传输张冰PM人脸识别模块应东旭PJM硬件环境搭建USB摄像头驱动移植并重新编译内核杨鸣人事行政经理BootLorder移植汤浩永软件工程师/测试工程师图像编码压缩及解压缩邹运斌客户代表图像显示及存储6. 进度安排第一阶段讨论明确自己的具体分工8.29 8.31第二阶段分析各自模块需求,搜集、整理相关素材9.1 9.3第三阶段编写程序,设计完成自己相关的模块分工9.4 9.12第四阶段各模块整合及调试优化及成品运行、修改9.13 9.20第五阶段上交实现主要功能的作品及细节完善9.21 9.23拓展阶段将拓展功能(声卡报警等)实现并整合到总的系统中,完成成品的优化和细节完善。9.23 10.16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1