摘要:随着科学技术的发展尤其是嵌入式系统和图像信息学的进步,智能监控系统在各行各业中的应用越来越多,已经被广泛应用于安全防护、军事安全等多个领域。而在智能监控系统中,运动检测是非常重要一环,如何就运动物体进行实时定位检测,是智能监控研究领域一直重视的课题。基于此,本文基于Linux平台,通过分析多种热门运动目标检测技术,在嵌入式视觉库基础上设计了一种集视频编码、信号传输、远程显示为一体的新型智能监控和运动检测系统,以希冀给予智能监控研究专家一些可行的帮助和指导,进而促进我国智能监控行业的进一步发展和进步。
关键词:Linux平台;智能监控;运动检测;嵌入式;算法分析;试验检测
引言:进入二十一世纪后,监控系统的重要性越来越高,尤其在安防、交通、工业、医疗等领域的应用越来越多。一方面,监控系统能够帮助工作人员实时了解监控现场的具体情况,从而做出正确的决策;另一方面,监控系统能够及时对事故隐患发出报警,使工业生产更加安全。然而,随着时代的不断进步,各行各业对于监控技术的要求也越来越高,在此背景下,基于Linux平台的在线网络视频监控系统引起了人们的更多关注,对该系统进行原理分析和创新设计,是我们每一个监控系统研究者所需要重视的重要问题。
1 相关概念介绍
1.1Linux平台
Linux平台是一种基于POSSIX和UNIX的类Unix操作系统,主要用于安装在手机、电脑、路由器、视频控制台等多种计算机设备中。一般来说,Linux平台具有以下优势:首先,Linux平台可以完全兼容POSIXI1.0标准,这使得用户可借助模拟器运行常用的DOS程序或Windows程序;其次,Linux平台完全免费。使得Linux平台不仅具有UNIN的基础功能,还因为支持多人参与编写而具有非常多的创新之处,同时,由于Linux平台的开放性,Linux具有非常多的接口可供使用,再加上其本就拥有的嵌入式操作系统,能够让平台运行于电脑、手机、机顶盒等多种计算机设备之上;最后,Linux相较于UNIX具有更加简洁的界面,用户不仅可以通过键盘输入指令进行操作,还能够借助鼠标进行操作,具有很强的使用便利性,因此很容易进行推广。
1.2智能监控
智能监控是在嵌入化服务器基础上,借助智能识别算法对视频内出现人或车辆进行识别的观测技术。一般来说,智能监控技术可具备物体识别、越界识别、轨迹跟踪、流量统计、反常预警等功能,主要应用于档案室、文件室、金库、博物馆等重要部门及交通要道、智能大厦、停车场等公共场所。
1.3运动检测
运动检测技术是智能监控技术的基础,目前已经被广泛用于门禁识别、运动取样、婴儿监护、汽车监控等方面,是一种对所测人或物体进行动态跟踪捕捉的实时检测技术。
2 系统方案设计
试验基于SEED-DVS6446系列DSP实验箱和DSP+CPLD框架结构核心板卡进行,主要组成包括系统电源、外围电路、信号采集视频摄像机、LCD显示屏、视频存储硬盘等硬件及系统调试模块、DSP算法模块等软件模块。同时,由于DM6446具有双核特性以及Linux平台能够实现多任务实时在线管理,因此采用在Linux平台上接入Windows操作系统的方式来实现Vmware12平台和Unbuntu10平台的安装。其中需注意的是,在安装过程中应把操作系统的默认安全等级设置为“NO firewall”,以防止部分网络功能不可使用。除此之外,还需要通过配置NFS服务来实现上机位和开发板之间的实时通信和信息共享,具体配置方法可借助vim编辑器,编辑过程如图一。
图一:vim编辑器进行NFS服务配置的方法
3 运动检测算法研究
3.1混合高斯模型
混合高斯模型是在高斯模型基础上对模型进行背景建立所得的一种标准模型,是一种可以用于表示背景图像中多个像素节点变化过程及特征的数学模型,其数据往往包括方差和均值。
3.2改进的ViBe算法
3.2.1初始化背景模型
在借助ViBe算法时,我们需在高斯模型基础上对背景图像进行初始化,即确保每一个像素点都能用它邻域区间内的像素进行近似表示,其中,根据统计学原则,可将领域范围适当扩大。然后,采用定值表示空域上的相邻像素点,记录在N次变化过程中像素点的可能选中次数,记录为L。
3.2.2分割图像序列
取一值为k,找出当时间为k时,某一像素点的像素值,并按照所求像素值与前景像素值进行对比。
3.3.3更新背景模型
在N个背景模型中进行随机时间抽取,证明时间随机性;在八邻域中进行随机空间抽取,证明空间随机性。借助两次证明分析去除因视频细微抖动所致的误差数据,使数据模型更加准确。
4 软件设计
基于嵌入式视觉库EMCV进行平台移植,借助Davinci架构进行VIBE检测算法的实现,并在ARM端程度中对算法调用过程进行测试。
4.1检测算法模块的设计
当视频采集模块将图像传至检测算法模块后,检测算法模块会对接收到的图像进行智能化处理,具体调用流程图可见图二,首先,算法模块会初始化CodccEnginv的运行时库并打开创建一个能够输出图像信息的算法实例,然后,模块会自动检测运动目标的运动轨迹,形成轨迹曲线。最后,若模块运行完一个周期,模块会将图像数据传至图像数据队列之中,并进行下一图像的检测。
图二:检测算法模块调用流程
其中需要注意的是,检测算法模块采用了Codec Engine算法分装包来完成模块的编码工作,同时视频算法交由DSP处理端完成,且整个过程执行于Windows操作系统之上。
4.2视频编码模块的设计
视频编码模块由264编码算法和MPEG4编码算法两种算法完成调用,用于实现所测物体运动轨迹的捕捉图像的编码处理。其中,视频编码模块包括用于存储图像数据的存储线程和用于收集音频数据的音频线程,两种线程会在编码算法分别调用下进行编码完成存储工作。对此,具体的调用流程可见图三,这里我们仅给出了视频编码线程调用过程。
图三:视频编码模块中视频编码线程的调用流程
4.3网络传输模块的设计
当视频编码模块进行图像数据编码后,便需要借助网络传输模块将数据以编码格式上传至PC客户端服务器,其中,我们借助了Socket网络接口,该种接口可以实现基本的数据接收和发送功能,能够将通信抽象化,是多线程数据通信中占有非常重要地位的一种接口。具体来说,网络传输模块的调用流程如图四,首先,Socket接口会创建网络信号,请求服务器进行数据读写,而与此同时服务器端的Socket接口会申请监听请求,准备接受数据并进行读写,双方互相调用便可实现数据的传输。
5 试验结果及验证
试验基于C/S结构,借助Socket进行数据传输,最后可得实时的监控视频,同时经过对视频中像素点进行运动检测,可对目标进行跟踪和分割。然后采用VIBE等常用检测方法,可根据已有监控视频就试验结果进行验证测试。
图四:网络传输模块中Socket接口的调用流程
最终验证测试证明,在排除光照变化、树叶晃动以及拍摄晃动的外在因素下,可以获取针对单目标以及多目标的较好检测效果,且针对运动状态车辆和慢速行走行人都具有不错检测成效,进而可确定基于DM6446嵌入式的检测平台具备很好的运动检测效果,试验成功。
结束语:综上,本文借助理论研究和试验分析设计了基于Linux平台下的智能监测和运动检测系统,并最好在DM6446硬件平台上实现了较好的试验效果,初步完成了预想的设计目标。但是,与目前日益发展的智能视频监控技术相比,本文所研究的只是很小的一部分,因此智能图像处理学、计算机视觉、嵌入式系统等新领域,有关专家还需要进行下一步的研究,尤其是在手机APP软件上实现监控数据实时显示等功能仍需要不断的努力和探索。
参考文献:
[1]薛阳,徐晔.嵌入式Linux及SQLite数据库在智能监控中的应用[J].电子技术与软件工程,2018(19):163.
[2]杨琳,王东东,王树超.基于Linux的智能仓库控制系统的设计[J].商洛学院学报,2018,32(02):85-92.
[3]夏纪冬,刘子龙,韩光鲜.基于Linux平台的智能监控和运动检测系统[J].电子测量技术,2017,40(03):173-176+191.
论文作者:林烈鑫
论文发表刊物:《基层建设》2019年第7期
论文发表时间:2019/7/2
标签:算法论文; 模块论文; 智能论文; 平台论文; 视频论文; 图像论文; 像素论文; 《基层建设》2019年第7期论文;