课程设计(论文)--基于计算机视觉的防盗报警系统.doc

上传人:枫** 文档编号:542459950 上传时间:2023-08-31 格式:DOC 页数:12 大小:539.50KB
返回 下载 相关 举报
课程设计(论文)--基于计算机视觉的防盗报警系统.doc_第1页
第1页 / 共12页
课程设计(论文)--基于计算机视觉的防盗报警系统.doc_第2页
第2页 / 共12页
课程设计(论文)--基于计算机视觉的防盗报警系统.doc_第3页
第3页 / 共12页
课程设计(论文)--基于计算机视觉的防盗报警系统.doc_第4页
第4页 / 共12页
课程设计(论文)--基于计算机视觉的防盗报警系统.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《课程设计(论文)--基于计算机视觉的防盗报警系统.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)--基于计算机视觉的防盗报警系统.doc(12页珍藏版)》请在金锄头文库上搜索。

1、基于计算机视觉的教室灯节能装置基于计算机视觉的防盗报警系统一、设计背景在经济飞速发展和人民生活水平不断提高的今天,盗窃的手法也越发高明,每年盗窃对人们的生命财产造成了相当大的损失,因此人们对住宅、商品房、办公室、仓库的安全性要求越来越高,迫切需要有一种安全防范系数很高的防盗报警系统,能可靠地进行日常安全防范工作。这种防盗报警系统不仅使人们安心的工作,同时也保证了人们的生命安全不受损失。而目前市场上的防盗报警系统大多由于可靠性差、功能单一或造价高等原因而难以普及。为此我们设计此款防盗报警系统,利用计算机视觉技术使得此系统大大提高了准确性。二、方案设计2.1 方案分析与论证目前防盗系统所应用的技术

2、主要是:(1) 利用主动式红外线检测技术。将红外检测装置放置在隐蔽的地方,发出人眼看不见的红外线,当有人员非法进入并碰到检测装置发出的红外线时,启动报警程序。(2) 利用被动式红外检测技术。由于人体温度高于周围环境温度,当有人员非法进入时,装置依靠人体热源检测到异常,启动报警程序。(3) 将红外技术与视频技术联合应用。依靠红外技术检测到人员非法进入,同时启动视频监控记录下当前的图像信息,为用户复核提供方便,也有利于查找罪犯。这些技术各有自己的优势,但相应的也有自己的不足。红外技术自身存在以下不足:(1)容易受各种热源、光源干扰 (2)被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。

3、 (3)环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。因此方案一,二中检测精度不高,且没有复核不易查找罪犯。方案三中,有复核功能,但检测精度受红外技术制约,且视频图像没有被有效地利用。针对上述情况,我们确定一套技术方案:利用计算机视觉技术通过采集相关区域的图像并进行人体目标识别,当有人员非法进入该区域时,启动报警系统,同时保留该时刻的图像信息。提高了视频的利用率,同时可靠性和准确度都得到提高。报警系统利用GSM通信平台的点对点短信,当监视环境出现警情时,系统向户主发短信让户主决定是否启动报警系统,大大提高了系统的准确性和可靠性和智能性。2.2系统方案 图2.1 整体方案设计

4、流图当户主开启此装置时,我们每隔10s左右时间对室内进行图像采集并分析,得到当前室内人员个数及其相对位置。当检测到非法人员进入系统的识别范围内时,系统将保留采集到的图片信息,然后将处理后的室内人员信息通过GSM模块以短信的方式发送给用户。为了能够采集到清晰的图片,我们采用数字摄像头OV9650。为了能对采集的图像进行快速准确的分析,图像处理部分我们使用嵌入式Linux操作系统,并且移植OpenCV,通过机器学习使系统自动识别人体对象目标,并返回当前图像中的人体个数及其相对的位置。本系统选用三星公司的ARM9芯片S3c2440,同时我们所要处理信息量大(保存处理图像的数据和部分图像信息),选择N

5、OR FLASH存储系统启动代码,NAND FLASH作为主要存储器件。在对数据进行确切的分析后,我们将这些信息通过GSM模块以短信的形式发送给用户,这样大大提高了系统的智能化。三、硬件系统设计与介绍本系统选用三星公司的ARM9芯片S3c2440作为处理器,图像采集部分采用数字摄像头OV9650,数据传输部分选用GSM模块。图3.1 系统硬件结构3.1 基于S3c2440的硬件平台为了对采集的图像进行快速准确的分析,这要求系统有较快的处理速度,同时支持一些图像处理的算法。这里选用三星公司的ARM920T内核的芯片S3C2440,其包含MMU内存管理单元,可以运行嵌入式Linux操作系统,还有专

6、用的CAMERA接口。由于运行嵌入式Linux操作系统时,Linux内核与其文件系统需要大量的存储空间,所以这里需要外扩大量的外部存储空间。这里同时选取NAND Flash和NOR Flash,因为程序不可能在NAND Flash运行,这里再选择SDRAM 与之相配合【4】。 3.2 SDRAM 与S3C2440接口电路NAND Flash具有体积小,存储单元密度高,写入和擦除速度快且最高可达一百万次,制造过程简单,价格较低等优点。NOR FLASH的特点是可以再片内运行程序,但其写入和擦除速度慢,价格相对较高。故这里选择NOR FLASH存储系统启动代码,NAND FLASH作为主要存储器件

7、。图3.3 NAND FLASH 与s3c2440接口电路图3.4 NOR FLASH 与S3C24440接口电路SDRAM与FLASH相比具有掉电不保存数据的缺点,但其读写速度远高于FLASH存储器件。当系统启动后将FLASH中的程序代码及相关数据映射到SDRAM中,提高运行速度。3.2 信息采集模块本系统基于计算机视觉技术,需要根据室内图像信息,得到室内人数及位置以做出正确的分析和处理,最终控制报警系统。这里选择OV9650 COMS型影像传感器的数字摄像头模组,通过S3C2440的CAMERA接口实现教室内图像信息的采集。CMOS型摄像头模组是先进、节能、小巧的高精度相机的内置式组件,该

8、数字摄像头模组把实现优质VGA影像的CMOS影像传感器与高度集成的影像处理器、嵌入式电源和高质量的透镜组结合在一起,输出JPEG图像或视频图像。同时支持8/10位数字传输JPEG图像和YCbCr接口。由于具有高度集成的特点,该数字摄像器不再需要配备任何外部器件,实现起来电路简单【5】。图3.5 OV9650数字摄像头接口电路3.3 GSM通信报警模块 当出现意外时,需要立刻通知用户,使用户能够采取相应措施将损失尽可能减少。由于现在手机普及,通过手机短信通知用户是一种快捷而有效的方式。所以本系统选择利用GSM通信方式向用户通知意外信息,这选择Siemens公司的TC35i通信模块实现此功能。GS

9、M(Global System for Mobile Communication)是全球移动通信系统的简称。Siemens公司的TC35i通信模块,通过标准串行通信口RS 232与嵌入式Linux系统进行数据通信。它可以工作在900MHz和l800MHz两个频段,提供标准的AT命令接口,体积小、重量轻低功耗、支持数据、语音,短消息和传真。TC35i模块包含四十个引脚, l一5脚为模块提供供电电源。 电压范围是3_3V 48V,当TC35i模块启动后,经过几秒的延时,模块开始搜索网络,这时需要超过2A的驱动电流,如果驱动不足,会引起模块的突然掉电;因此这里选择稳压芯片LM2576。电压稳定在4V

10、左右,最大提供电流为3A,可以避免当模块搜索网络时驱动电流不足的问题【6】。图3.6 GSM模块通信接口电路图3.7 GSM供电电路四、软件设计我们需要对采集的图像进行快速准确的分析,但是在裸机条件下实现的难度较大而且开发周期长,所以在这里我们选用在Linux系统下调用OpenCV开源计算机视觉库中相应的算法的方案来实现。为了保证应用软件的正常运行,首先要构建软件的运行环境即移植嵌入式Linux操作系统和OpenCV开源计算机视觉库。这里Linux内核选择2.6.12版本,OpenCV选择1.0.0版本。4.1移植嵌入式Linux系统介绍Linux是一款高性能、源代码开放且应用成熟的操作系统。

11、其体积小、可裁减等特点使其可以作为嵌入式操作系统使用。在这里使用的是Linux2.6.12内核,通过对其源代码的修改及重新修改,使其能够工作在这里使用的硬件平台上。当代码修改完成后,编译Linux2.6.12内核源码,使其生成压缩的内核映像zImage。然后构建文件系统,当文件系统制作完成后,利用mkyaffsimage工具生成文件系统生成系统镜像文件。最后利用JTAG将bootloader到FLASH中,再利用DNW软件工具将压缩的内核映像文件zImage和文件系统的镜像文件分别下载到FLASH相应的分区中。完全下载完毕后重新上电,系统开始运行【1】。如下图所示:图4.1 Linux系统移植

12、流程图4.2 软件设计介绍 这里使用嵌入式Linux操作系统,并且移植OpenCV,通过机器学习使系统自动识别摄像头采集到的图像信息中的人体对象目标,并返回当前图像中的人体个数,当返回值大于0时,保存相应信息并通知用户,帮助用户采取相应措施。图4.3 软件设计框图4.2.1 图像采集将摄像头驱动程序同内核源码一起编译,编写应用程序通过系统调用加载摄像头驱动,对摄像头进行初始化,之后开始图像信息的采集,取得多帧或单帧图像信息,为识别室内的人体目标提供原始图像。图4.4 图像采集流程图fd = open(/dev/v4l/video0, O_RDONLY);/rd&wrif(fd0) ;if(io

13、ctl(fd, VIDIOCGCAP, &vc)0);vc.maxwidth, vc.maxheight, vc.minwidth, vc.minheight);vw.width = FIXED_SOURCE_WIDTH;/fixed in this applicationvw.height = FIXED_SOURCE_HEIGHT;/fixed in this applicationif(ioctl(fd, VIDIOCSWIN, &vw)0) ;if(ioctl(fd, VIDIOCGWIN, &vw)0) ;if(!image_width|!image_height) ;if(ioct

14、l(fd, VIDIOCSCAPTURE, &vcp)0) ;if(ioctl(fd, VIDIOCSPICT, &vp)0);if(ioctl(fd, VIDIOCGPICT, &vp)0);if(mmap_camera) ;if(!mmap_camera) ;if(tcgetattr(0, &tio)0) ;if(ioctl(fd, VIDIOCCAPTURE, VIDEO_START)0) ;4.2.2 图像预处理与人体目标识别为了识别图像信息中的人体目标,需要对采集到的原始图像进行预处理。首先由于在OpenCV中分类器只能在灰度图像上进行检测,所以要把采集到的RGB图像转化为灰度图像。

15、这里需要用到cvCvtColor()函数,并选择参数CV_RGB2GRAY,它将根据公式:,实现图像的转换。之后通过OpenCV中cvResize()函数调整转换后的图像大小,最后通过OpenCV中cvEqualizeHist()函数进行直方图均衡,以平衡亮度信息减少误差。在人体目标识别中,依靠OpenCV提供的Viola-Jones分类算法【2】来实现。OpenCV是一个开源的计算机视觉库,它提供了MLL(Machine Learning Library)机器学习库,该机器学习库侧重于统计方面的模式识别和聚类(clustering)。在本设计中,使用OpenCV1.0.0版本,将其移植到ARM嵌入式Linux系统中,借助OpenCV计算机视觉库及训练好的人体模型,实现机器学习,做到机器自动识别人体目标【7】。为了获取图像信息中的有效数据,需要对得到的图片进行图像处理。这里利用OpenCV提供的算法,实现图像信息中人体目标的识别。利用OpenCV中haartraining应用程序来训练一个人脸的分类器,在识别人体时利用cvLoad()函数加载这个分类器【2】。将采集到的图像经行滤波及直方图均衡等预处理后,通过这个分类器。如果检测到有具有人体特征

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号