周 凤王 利
(1.绥化学院信息工程学院 黑龙江绥化 152061;2.北京市回龙观中心校 北京 102200)
视频监控系统是目前安全领域不可或缺的组成部分,在交通、仓储、银行、物流等领域都有着广泛的应用。随着计算机软硬件技术的进步,目前的监控系统已经以数字化设备为主导,远程网络技术越来越稳定[1]。但是随着监控设备数量的不断增多,监控范围的不断增大,监控环境需求越来越复杂,对监控设备的要求也相应提高。
网络无线化需求。目前,视频监控设备主流方案多数仍然采用RJ45接口联接摄像头与主控电脑等网络设备,需要进行网络布线,一是硬件成本相对较高,二是需要对布线进行布局。
监控移动化需求。有些环境区域不适合做大量固定监控设备布置,需要以机器人等形式实现巡逻式监控。
功能扩展性需求[2]。可以根据需要,灵活地设置监控终端数量,根据网络具体情况实时调整图像压缩算法,或者加入人脸识别、动作识别等功能。
本文提出一种以嵌入式设备为基础的无线网络监控系统,硬件采用树莓派主控设备及高清摄像头,软件采用Linux、ROS和OpenCV等开源软件平台,构建分布式的网络监控系统,能够无线传输监控视频数据,构建简单灵活,功能扩展性强。
系统硬件组成结构图如图1所示。摄像头主控系统采用微型电脑树莓派(RaspberryPi)。树莓派至今已经经过3代机型更新迭代,具有成本低、接口全、功能强、功耗低等突出优势[3]。树莓派系统带有Linux内核操作系统,并可以通过板载wifi模块直接与网络设备或者上位机直接联接。使用树莓派研发监控系统,已经无需关心底层硬件具体设计,可以大幅度减少研发成本。并且,采用树莓派作为主控系统,可以无成本地将此监控系统移植到移动设备,并且可以在移动设备上联接多个视频采集设备,实现全景图像采集。本系统采用2016年2月发布的树莓派3B版本,运算速度和功能模块相比较之前版本均有大幅度提升。树莓派自带无线网卡,可通过wifi直接联网,节省布线成本。另外,树莓派也带有RJ45标准以太网接口,根据需要也可进行有线网络连接。
本系统摄像头采用OV2710,具备1/2.7CMOSSensor3.6mm镜头,90度视角,拥有很好的低照度,照度可达星光级0.05Lux,拍摄速度快,帧数在640×480分辨率下可达120fps,在1280×720分辨率下可达60fps,在1920×1080全高清分辨率下可达30fps。
图1 系统硬件组成结构图
若在特定环境下,比如要求监控节点有较大视角范围,或者移动监控设备多方向同时监控等情况,根据树莓派具有多个USB接口的特点,可以直接在树莓派上联接多个摄像头,扩大监控视角。在本系统设备中,联接2个USB接口的OV2710摄像头,联接后设备如图2所示。单个监控节点多个摄像头可同时采集图像,如图3所示,其中,Frame1和Frame2两个窗口分别显示两个摄像头的画面。
图2 单个监控节点联接2个摄像头(摄像头1带有红外补光灯)
图3 单个监控节点2个摄像头同时采集图像
系统软件采用ROS(RobotOperating System)。ROS系统本质上是一个开源机器人软件平台,在系统层之上,封装了多种不同功能的软件包,比如导航、定位、绘图、感知等。由于系统是开源的,所有软件包都是共享使用的,所以可以利用已有的开发包快速实现所需功能。使用ROS系统,一方面方便调用ROS已开发的开源模块,能够最大限度减少研发成本;另一方面,根据需求可以将已有的监控模块直接移植到机器人最小移动平台上,实现移动监控功能。
根据ROS系统的特性,每个摄像头都可以单独作为一个节点,在ROS中发布关于监控视频的话题。并且,在网络中,任意一个上位机节点,包括电脑、手机或平板电脑等设备,都可以订阅任意摄像头节点的话题,接收到对应的监控信息。利用树莓派的wifi或者以太网接口,可以直接实现各个节点的网络联接。
树莓派结合ROS系统,就可以直接构建出分布式的监控系统,无论是固定式的还是移动式的,每个节点之间都可以相互通信,也可以同时向设定服务器传输数据,可以根据需求灵活定制具体实现形式。
摄像头控制采用开源的OpenCV跨平台视觉库。在本系统中,在linux系统安装了v4l驱动和OpenCV2.4.9库,系统软件流程如图4所示,利用OpenCV启动摄像头,读取摄像头图像数据,并可以同时显示2个摄像头的实时图像。与此同时,启动ROS系统,将摄像头的实时图像作为话题发布出去,同时,其他订阅摄像头图像话题的节点都可以接收到对应摄像头的图像数据。
图4 软件流程
图5为一个示例,节点1联接两个摄像头,并将两个摄像头的数据发布两个话题;节点2订阅摄像头1的话题,即接收摄像头1 的图像;摄像头2的话题没有被订阅,如果有需要,所有节点可以随时订阅。节点1在发布两个摄像头数据的同时,也可订阅其他话题。同样,节点2也可根据需求发布话题。在视频监控系统中,图5中的节点1就是图2树莓派带2个摄像头的一套设备,而节点2既可以是服务器、平板电脑、手机,也可以是其他树莓派设备。在每个树莓派设备接入显示设备,就可以随时随地查看其它任意节点图像。可以看出,利用ROS系统构建的网络视频监控系统为分布式结构,可以根据需求进行各种灵活多样的设置。
图5 节点关系
嵌入式平台配套资源非常丰富,也为嵌入式监控系统增加了实现高级监测功能的可能性。例如,在仓储环境中,在无人状态下,自动分析所监测图像数据,如果有异常情况则自动报警。此功能可以针对不同需求,应用于防盗、防鼠、火灾监控等领域,在无人值守或是摄像头节点过多等情况下实现智能入侵物监测。本系统根据实际需求加入了动态监测报警功能。
对于同一套监控系统,其所采集的视频图像中,每一帧的图像分辨率都是相同的。并且,在没有外来物侵入时,相邻两帧图像是完全相同的。针对这个特点,动态监测可以通过比较监测视频中相邻两帧图像的相似程度来实现。相关运算能直接体现出两组数据的相关程度,对相邻或相近的两帧图像进行相关运算,相关性差异明显大于正常水平的,就可以判断所监控的区域出现了问题。
在室内环境中,由于光线等原因会使图像灰度产生变化,如果直接对相邻两帧图像进行比较,会存在错误的判断。而将图像进行傅里叶变换,将其转入频域进行计算,将图像的灰度分布转换为对应的频率分布,就能消除图像灰度变化的影响。
设 m(x1,y1),n(x2,y2)为相邻两帧图像,M(u,v)、N(u,v)分别为其对应的傅里叶变换。则两帧图像间的互功率谱为:
其中,φm,φn分别为两帧图像的相位角。对互功率谱相位做傅里叶反变换,就能得到两帧图像的互相关函数:
在监测画面正常时,相邻帧图像相似性较为均匀,应该没有明显峰值。当有画面中出现外来入侵物时,相邻帧图像会在入侵物位置体现出明显的相关性峰值,表示图像有明显差别。
本系统在测试时运行稳定,图像清晰,单个摄像头在室内灯光条件下将图像发布,并由另外一台电脑订阅视频数据,监控图像效果如图6所示。
图6 单个摄像头监控画面
图7(a)为正常监控画面,并且与图6为不同帧画面。将图6与图7(a)进行互相关运算,结果如图7(d)所示,互相关结果峰值不超过50。图7(b)为有入侵物画面,(c)中入侵物的位置发生了改变,为了观察结果的方便性,这两帧图像模拟入侵物移动一段时间间隔的情况。将图7(a)与(b)做帧相关运算,结果如图7(e)所示,在入侵物位置出现明显峰值。将图 7(b)和(c)做帧相关运算,结果如图 7(f)所示,在两处有入侵物的画面都产生了明显峰值。可以看出,利用帧相关方法,可以确定监控画面中是否有入侵物,并能确定入侵物的位置。
图7 利用帧相关法检测入侵物
(a)正常监控画面;(b)有入侵物画面;(c)入侵物位置变化;(d)图 6与(a)互相关结果;(e)有无入侵物画面互相关结果;(f)入侵物位置改变互相关结果
树莓派是接口丰富、功能强大的单板系统,利用树莓派作为网络视频监控系统,具有功耗低、扩展性强等优势。并且,一个树莓派可以联接多个摄像头,扩大单个节点的监控视角范围。使用ROS系统,可以将网络监控系统设置为分布式结构,每个节点,包括树莓派、服务器、平板电脑和智能手机,都可以发布和订阅话题,能根据功能需求灵活多样地设置监控系统的结构。利用帧相关方法,可以结合嵌入式网络监控系统,根据图像的相关性,实现智能入侵物的监测。
[1]王燕飞.基于Web的嵌入式网络监控系统的设计与实现[J].电脑知识与技术,2017(2):240-241+255.
[2]刘胜楠,汪恭焰,李京,等.嵌入式视频摘要及智能视频监控系统设计[J].长春理工大学学报(自然科学版),2017(1):119-122+126.
[3]王晓,踪琳.基于OpenCV视觉库的嵌入式视频处理系统[J].电子质量,2017(3):54-59.