前言:寻找写作灵感?中文期刊网用心挑选的家用智能监控系统设计研究,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:近几年来,随着科技与经济的快速发展,越来越多的家庭注重家庭安全,越来越多的家庭选择安装安防摄像机。经过大量的市场调研,发现大部分的安防监控设备功能单一,某些互联网监控设备甚至存在严重的系统漏洞,使得用户的隐私面临危险。本系统设计将基于树莓派、Arduino等模块,设计出具有运动监测与自动跟踪功能的智能家庭安防系统。
关键词:运动监测;家庭安全;安防监控
树莓派(RaspberryPi)是一个只有一张信用卡大小的微型电脑,它可以运行Linux系统,拥有传统的GPIO接口,这就意味着树莓派拥有更加强大的扩展功能。Opencv(OpenSourceComputerVisionLibrary)是一个开源的跨平台计算机视觉库,它的应用领域包括:开发实时的图像处理技术、模式识别程序以及计算机视觉等。Opencv封装了底层算法,通过调用库函数就可以实现我们想用的各种功能,减少了开发周期。Arduino则是一家开源的软件与硬件公司,其旗下的各类开发板都拥有大量的资料与示例,可以方便的用于构建数字设备和交互式对象,可以感知和控制物理和数字世界中的对象,它同样具有开发简单的优点。本系统将整合以上各模块,实现摄像头的运动检测与跟踪功能。
1.系统硬件设计
本系统是以树莓派为核心的智能家庭监控系统。硬件是一切功能的基石,本系统涉及图像处理,因而需要强大的性能支持,同时,家用设备又需要考虑体积、能耗、价格等方面因素,因此,我们选择了树莓派作为整个系统的核心。树莓派负责系统的运动检测与图像处理功能[1],为了最大的节约树莓派的性能,我们将摄像头运动控制交由Arduino负责[2],这样使得整个系统可以进行模块化开发,确保了整个系统的稳定性,以及控制与反馈的准确性、快速性。其他外部设备包括:电机、电机驱动板模块、摄像头模块等。
1.1树莓派
本系统使用RaspberryPi3,其采用了BroadcomBCM2837芯片组,运行频率1.2GHz,64位四核,架构为ARMCortex-A53,同时其存储器支持1GBLPDDR2,拥有40个GPIO引脚,我们将使用树莓派的串口(UART)与Arduino进行通讯。树莓派扩展示意图与部分引脚图如下。
1.2摄像头
摄像头采用树莓派专用摄像头,RaspberryPiCamerav2是树莓派的官方摄像头板,采用高质量8百万像素索尼IMX219传感器扩展板,拥有定焦镜头,可以捕捉3280x2464像素静态图片和30FPS1080P的视频。树莓派摄像头通过板上表面的小插槽连接树莓派,并使用专门为树莓派设计的CSI接口连接。
1.3Arduino
电机控制器部分采用Atmel公司的Atmega328p单片机作为控制核心。这款单片机是高性能8位AVRRISC微控制器,拥有32KB的程序储存空间,通过串口与树莓派通讯,获取电机控制指令,并控制电机做出相应的动作。
1.4电机与电机驱动板
电机使用舵机,舵机具有扭矩大、可控制转动角度等优点,非常适合用于摄像头运动控制。设计使用2个电机,分别控制水平方向与垂直方向的角度控制,从而实现摄像头运动跟踪目标的目的。
2.系统软件设计
软件部分运动检测、物体位置获取、电机控制等部分组成。
2.1图像处理部分
图像处理我们采用Opencv。运动检测一般有2种方法。一是背景减法,其原理是用现在的图像减去背景模型,剩下的即是前景图像,因此可得到运动的物体。二是帧差法,其原理是使用相邻的2帧或3帧图像,利用它们之间的差异性来判断是否有运动的目标。这里我们选用帧差法,由于摄像头在检测到运动目标时需要将摄像头对准目标,这时将无法使用背景减法,因为背景模型已经改变,除此之外,使用帧差法还可以在一定程度上避免因为光线或自然震动引起的误触。在使用帧差法检测到运动之后,我们使用cv2.boundingRect()函数,得到与运动物体相接矩形的X,Y坐标,与矩形的宽(W)和高(H)。这样我们可以计算出运动物体大致的中心。树莓派将会这个中心的坐标通过串口发送给Arduino。
2.2电机控制
由于摄像头拍摄的画面大小是固定的、已知的,因此,画面中心的坐标是已知的。Arduino从串口接收到物体中心坐标值后将其与画面中心的坐标对比,得到差值并经过计算后控制舵机旋转一定角度即可实现追踪运动物体的功能。
3.系统功能
经过实践证明,本系统运行稳定,反应灵敏,实现了预期功能。系统采用的体积小巧的树莓派作为处理核心,使得系统体积小巧、节能环保。后续可以将Arduino与电机驱动板集成在一块PCB上,并与树莓派堆叠,这样使得整个设计更为小巧,使其更具有推广使用价值与开发潜力。
参考文献:
[1]高峰.基于树莓派B+微处理器的视频检测跟踪系统[J].电视技术,2015,39(19)
[2]蔡睿妍.基于Arduino的舵机控制系统设计[J].计算机工程应用技术,2012,(15)
作者:王翔 张勇 周文杰 程园园 张如浩 单位:江苏大学京江学院