基于ARM的远程智能视频监控系统.docx
《基于ARM的远程智能视频监控系统.docx》由会员分享,可在线阅读,更多相关《基于ARM的远程智能视频监控系统.docx(7页珍藏版)》请在冰豆网上搜索。
基于ARM的远程智能视频监控系统
一、项目简介(300字左右)
智能视频监控系统借助计算机图像处理、模式识别等技术,可以在无人值守情况下,实时监测监控场景下的运动目标,并对其跟踪。
目前,国内外对基于嵌入式网络视频监控系统的研究,一般集中于嵌入式视频监控系统的设计嵌入式操作系统的研究视频图像的网络传输以及视频图像处理等几个方面在嵌入式视频监控系统设计方面一般是考虑系统的整体结构和功能,例如小型网络摄像机,系统由图像传感器嵌入式处理器图像处理器网络接口组成,通过压缩优化算法和背景差分算法可以使摄像机实现实时的图像压缩传输,并能跟踪目标,该系统的主要特点是实时性的提高;在嵌入式操作系统方面,一般集中于嵌入式操作系统在视频监控系统中的应用研究。
随着压缩编码技术、计算机网络技术和嵌入式系统的发展,以嵌入式视频服务器为核心的视频监控系统开始在市场上崭露头角,该系统不需要处理模拟视频信号的PC,而是把摄像机输出的模拟视频信号通过内置的嵌入式视频编码器直接转换成数字信号,通过计算机网络传输出去,嵌入式视频服务器具备视频编码处理网络通信自动控制等强大功能,直接支持网络视传输和网络管理,使得监控范围达到前所未有的广度。
嵌入式系统设计嵌入式视频监控系统是一款前端采集并通过网络传输至后台从而实现视频监控功能的嵌入式视频系统,前端采集采用当前流行的嵌入式开发平台实现,后台宿主机为普通PC机,通过宿主机上客户端软件来浏览前端采集的图像数据。
本系统硬件系统设计方法是前端采用S3C2440,由CMOS和DSP集成一体的摄像头通USB控制器接入至S3C2440,S3C2440在外围电路配合下共同完成前端采集工作,然后通过以太网与宿主机相连最终以实现视频监控功能。
摄像头与PC机只要分别通过.USB线与以太网直接与开发平台相应的接口连接即可。
所以本系统硬件设计将主要围绕嵌入式处理器与外围电路而进行设计。
本系统对操作系统的要求是需要有网络的支持,并且有良好的实时性,嵌入式Linux符合本系统的这些需求,并且嵌入式Linux是免费的,遍布全球的众多Linux爱好者又能给予Linux开发者强大的技术支持,综合考虑,本系统将采用嵌入式Linux操作系统来进行开发。
经过对本系统的应用背景和具体要求,对硬件和软件的选择进行了周全的考虑,最终制定出一套前端嵌入式采集并基于TCP协议发送至后台显示的网络应监控系统。
2.已具备的实验条件:
项目申请人所在学校为列入国家“211”计划建设的高校,得到了安徽省政府的重点支持,课题组以安徽大学教育部计算智能与信号处理重点实验室和安徽大学电子信息工程学院为依托,具有完成申报课题研究所需的主要设备,包括通信信号源和必要的通信测量仪器。
综上,项目成员在大学期间深入学习专业内外大量知识,具备了电子与通信基本知识与应用能力及计算机软件开发和应用系统编程能力,并且具备数字信号处理、单片机、EDA可编程逻辑器件设计、C/C++、VC++、嵌入式及Linux系统下编程方法等各类编程技能知识。
因此申请人已经具备了工程项目的规划和研制开发能力。
另外安徽大学具备计算智能与信号处理重点实验室和电子信息系统与自动化创新实验室和各电子专业的专业实验室,使我们有良好的实验环境和优良的实验仪器,为项目的顺利研究奠定了基础。
二、
项目方案
对图像监控系统,用户常常提出这样的功能需求:
希望能够监控距离较远的对象。
这些对象有可能分布在郊区、深山,荒原或者其他无人值守的场合;另外,希望能够获取比较清晰的监控图像,但对图像传输的实时性要求并不高,很明显,用传统的PC机加图像采集卡的方式很难满足这样的需求。
在嵌入式领域,ARM9系列微处理器在高性能和低功耗方面提供了最佳的性能,因此选用ARM9嵌入式处理器S3C2440设计实现了一个远程图像光线监控系统通过这个系统,可以远在千里之外控制一个摄像机进行图像采集并回传。
如果这个摄像机有一个485接口的云台,还可以通过互联网远程控制摄像机的取景角度、镜头拉伸、聚焦等功能
除了获取图像数据.系统还提供了多路开关控制和数据采集功能,可以连接温度、湿度等各类传感器和控制红外夜视灯等其他外部设备的开关状态。
最后,通过GPRS或CDMA无线通信模块及Internet互联网将数据传至任何地方。
本次设计的嵌入式无线视频图像监控服务器的主控模块采用ARM9微处理器S3C2410,外接64MB的NANDFlash,监控服务器中的Bootloader、启动参数、内核和根文件系统都放于此;还有2片32MB的SDRAM作为内存,这样可以流畅的运行嵌入式Linux。
采用低成本的USB摄像头作为视频图像采集模块,将采集到的图像数据交由S3C2410主控模块处理,主控模块完成视频图像压缩,并将压缩后的数据交由无线网络设备PRISM.2芯片组发送至网络。
整个硬件框架主要由S3C2410主控模块、视频图像采集模块及无线网络传输模块组成。
视频图像采集模块
目前,视频信号的采集大多采用图像传感器,常用的图像传感器有CCD和CMOS传感器。
CCD和CMOS传感器都是利用感光二极管进行光电转换,其主要差异是数据传送的方式不同。
在CCD传感器中每一行中每一个像素的电荷数据都会依次传送到下一个像素中,由最底端部分输出,再经由传感器边缘的放大器进行放大输出;而在CMOS传感器中,每个像素都会邻接一个放大器及A/D转换电路,用类似内存电路的方式将数据输出。
虽然CCD传感器在灵敏度、分辨率等某些方面都优于CMOS传感器,但其价格高。
而CMOS传感器则具有低成本、低功耗以及高整合度的特点。
OV7620是OmniVision公司推出的一款完全可编程的数字单片摄像器件,片上A/D转换器可提供8位或16位并行数字输出,并100%符合CCIR601/656规范。
OV511是OmniVision公司推出的高性能摄像头到USB接口控制芯片(AdvancedCameraUSBBridge)。
OV511ACUB降低了产品的成本,极大地简化了单片CMOS图像传感器和USB的接口,仅增加256KDRAM和一个USB收发器,可以很容易地构成基于USB的视频子系统。
图一系统架构图
ARM微处理器的选择
选择芯片要考虑系统的设计目标和芯片的性能、功耗、专业化水平以及其成本。
考虑到各种因素,我们选择了基于ARM内核的嵌入式微处理器。
ARM微处理器具有如下优点:
(1)处理速度快:
ARM是RISC结构的处理器,而且ARM内部集成了多级流水线,大大增加了处理速度。
(2)超低功耗:
各种档次的ARM的功耗都是同档次其他嵌入式处理器中较低的。
ARM处理器的散热问题基本上不用考虑;低电压,微电流供电,这些都无疑是便携式设备最理想的选择。
(3)应用前景广泛:
因为ARM公司不是生产处理器的,它专门为IC制造商提供各种处理器的解决方案。
所以,在众多嵌入式处理器中,ARM的使用最广,同时应用前景广阔,开发资源丰富,有利于缩短产品的研发周期。
(4)价格低廉:
在各种嵌入式处理器中,ARM的价格适中,而且使用量大,比较容易购买。
本课题中所采用的S3C2410芯片基于ARM920T内核,是目前应用最广的32位高性能嵌入式RISC处理器,采用五级流水线和哈佛结构,是高性能和低功耗的硬宏单元。
ARM920T具有全性能的MMU、指令和数据缓存以及高速AMBA总线接口。
S3C2410内部结构复杂,提供可扩展的功能模块较多,主要有LCD控制器,NAND控制器,系统管理单元(SDRAM控制器等),3通道UART,4个具备PWM功能的定时器,GPIO口,RTC(实时时钟),8通道10bit精度ADC,USB主机控制器,USB设备,SD/MMC卡控制器,2通道SPI等组成。
图二系统硬件架构图
嵌入式Linux系统
Linux系统是层次结构的且内核完全开放,可以根据应用对内核进行定制,具有代码小、速度快、可靠性高等优点,并且嵌入式Linux还具有一套完整的免费的交叉编译环境。
今天应用系统变得越来越复杂,需要这样一个嵌入式操作系统来支持,它是开发嵌入式应用系统的理想平台。
Linux提供了完成嵌入功能的基本内核和所需要的所有用户界面,能处理嵌入式任务和用户界面。
将Linux看作是连续的统一体,从一个具有内存管理、任务切换及其他分拆的微内核到完整的服务器,支持所有的文件系统和例络服务。
Linux作为嵌入式系统,是一个带有很多优势的新成员。
它对许多CPU和硬件平台来说都是易移植、稳定、功能强大、易于应用开发的操作系统。
嵌入式Linux系统需要下面三个基本元素:
系统引导工具(用于机器加电后的系统定位引导)、Linux微内核(内存管理、程序管理)、初始化进程。
但如果要它成为完整的操作系统并且继续保持小型化,还必须加上硬件驱动程序、硬件接口程序和应用程序组。
视频图像采集子系统
视频图像采集部分由CMOS图像传感器0V7620,USBCamera控制器OVSIl和256KDRAM构成。
CMOS数字图像传感器0V7620集成了—个664x492的感光阵列、帧(行)控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、数字信号输出电路及寄存器12C编程接口。
0V7620是一款单片VGA模式黑白数字成像芯片;OV51l内置了USB收发控制器。
能够将数字图像数据
通过USB传发给ARM处理板.保证数据的快速实时性。
ARM板通过了USB配置OVSll,OV51l则对7620的控制字进行配置。
Linux下USB摄像设备的驱动
USB系统主要有三部分组成:
USB接口、USB主机、USB设备三部分组成的。
USB接u有主机端和设备端的区别,因而USB驱动程序也有主机端驱动和设备端驱动之分,本系统ARM为主机端。
USB主机驱动结构包括USB主机控制器驱动(HCD),USB驱动(USBD)和USB设备类驱动。
应用程序首先通过文件系统接u来访问相应的USBD和USB设备类驱动程序;USB没备类驱动程序则通过USBD提供的相关接口将数据请求包传递给USBD;USBD通过HCD提供的接口,进一步将数据包传递给HCD;HCD最终将数据包发送到USB总线上。
Video4Linux(简称“V4L”)是Linux下用于获取视频和音频数据的API接口,应用程序使用VideoforLinuxAPI获得摄像头采集到的RGB数据。
为使摄像头设备能够工作,需要在Linux内核中编译API驱动程序、USB视频传输驱动程序、摄像头驱动程序。
通常的USB设备类驱动程序都需要提供两个接口—个是针对USB层,USBD接El需要完成摄像头信息检测,数据格式的转化处理,OV511与OV7620的控制字配制以及内核注册等工作。
另一个是针对文件系统,当摄像头设备连接到USB总线上时,USBD通过上述摄像头驱动程序的Probe函数来判断是否支持该没备,并为该设备创建相应的设备文件节点。
此后,应用程序就可以通过该文件结点来访问摄像头设备。
图三系统软件结构图
图四ARM核心结构图
四、项目特色与创新
1、采用性能优越的ARM处理器,能够实现图像的实时远程传输;
2、使用H.264高级视频压缩编码协议,使能图像能够在网络上得以高速传输;
3、Motiondetective算法保证运动的识别与判断更加准确。