APP下载

基于PBAS 算法的嵌入式视频监控系统

2019-04-20荣俊勇王中华

中小企业管理与科技 2019年6期
关键词:嵌入式按钮像素

荣俊勇,王中华

(南昌航空大学 信息工程学院,南昌330063)

1 系统软件设计

嵌入式视频监控系统的软件设计包括嵌入式Linux 平台底层软件、视频监控系统的视频处理算法和人机交互软件的设计,以下对嵌入式视频监控系统软件进行介绍。

本文使用的开发工具有Linux 虚拟机运行软件VMware Workstations10、虚拟机Ubuntu16.04 LTS、交叉编译器armlinux-gcc4.4.3。构建嵌入式Linux 平台,首先要在虚拟机上使用交叉编译器对Boot Loader、Linux 内核、yaffs2 文件系统以及使用到的软件(Qt creater 5.6、OpenCV 3.0)进行交叉编译,再将交叉编译后的文件移植到嵌入式硬件平台上。

程序开始执行后,首先使用V4L2 对摄像头进行一系列初始化,接着用捕获的视频对PBAS 算法的背景模型进行初始化,完成初始化后再对捕获的视频的每一帧进行移动目标的检测,如果有移动目标出现,则用矩形标记出移动目标以及在图像上标记出移动目标出现的时间,再将该帧图像保存到视频文件中;如果没有出现移动目标则进行下一帧的检测。视频监控界面设计如图1所示。

主界面包含三个按钮:实时监控按钮、历史视频按钮、退出按钮。点击实时监控按钮进入实时监控操作界面,实时监控界面有开始/暂停按钮、返回按钮,开始/暂停按钮控制实时视频监控的进行;点击返回按钮则回到主界面,但只要没有暂停实时视频监控就会在后台持续监控。点击历史视频按钮则会进入历史视频操控界面,历史视频控制界面有播放/暂停按钮和退出按钮,播放/暂停用于查看视频监控保存下来的含有移动目标的历史视频;点击返回按钮则停止播放历史视频,返回到视频监控主界面。

2 PBAS 算法

在PBAS 中,和SACON 算法相似,背景模型是由视频序列中的N 个历史样本组成的[1]。而前景检测和背景模型更新与VIBE 算法类似,但背景模型更新是动态的。任何一个像素xi都有一个决策阀值R(xi),通过背景模型B(xi)和当前帧I(xi)比较把当前帧的像素分为背景和前景。背景模型的随机更新取决于学习速率T(xi)。

2.1 前景分割决策

在PBAS 中,类似于其他前景分割算法,前景和背景分类是基于背景模型与当前像素进行比较的。PBAS 的背景模型是由邻近当前视频帧观察到的N 个历史像素值组成的:

如果在背景模型B(xi)的N 个值中有至少#min 个与像素点xi的像素值I(xi)距离小于R(xi),则该像素点为背景点,否则为前景点。因此前景分割掩模计算式为:

表达式(2)中,F=1 表示前景,F=0 表示背景,dist 为距离计算:

决策所涉及的两个参数:①每个像素单独定义且可动态改变的距离阈值R(xi);②固定的全局参数,最小数目#min。

2.2 背景模型更新

为了适应背景的变化,需要对背景模型B(xi)进行更新。由于前景区域不能用于更新背景模型,背景模型只对当前的背景像素进行更新。PBAS 算法的更新策略为:等概率选择k∈1…N,用当前像素值I(xi)取代相应背景模型值Bk(xi),但更新概率为p=1/T(xi)。因此,学习速率T(xi)决定更新速率。T(xi)越大,像素被更新的概率越小。

PBAS 算法也以概率p=1/T(xi)随机选择更新一个相邻像素yi∈N(xi)。因此,在这个相邻像素的背景模型中Bk(yi)被其当前像素值V(yi)所取代。该属性的优点是判断错误的前景对象会很快消失。

2.3 决策阈值R(xi)的更新

在PBAS 算法中决策阈值R(xi)的更新机制如下:首先,在构建背景模型B(xi)的同时也创建一个决定最小距离的数组:

不管背景模型B(xi)是否进行了更新,当前的最小距离都将被保存到Dk(xi)中,当前的最小距离为:

D(x)i的平均值(x)i可以用来横量当前背景的复杂度。决策阈值R(x)i的更新模型如下:

其中,Rinc/dec为更新率,Rscale为比例因子,两者均为固定参数。

3 系统测试

原始PBAS 算法经测试得出的最佳参数值如下:背景模型历史像素值数N=35,最小数目:#min=2,更新率:Rinc/dec=0.05,比例因子:Rscale=5,决策阀值R(xi)下限:Rlower=18,T(xi)下降速率:Tdec=0.05,T(xi)上升速率Tinc=0.05,T(xi)下限:Tlower=2,T(xi)上限:Tupper=200。

每个像素背景模型中的历史像素数N 为35 时性能达到最佳,但对于一些简单的场景只需要取10 既能达到检测要求。由于本系统使用的处理芯片为S3C2440,其计算速度相对较慢,为了减小计算复杂度,提高视频监控系统的实时性,在本系统中将N 设置为20。其他参数则保持不变。

4 结语

本文针对传统视频监控系统的不足,设计了一种基于PBAS 算法的嵌入式视频监控系统。该视频监控系统以嵌入式Linux 为硬件平台,大大节省了视频监控的投入;以Qt 5.6 和OpenCV 3.0 为软件编程工具,实现了良好的人机交互界面,并使用PBAS 算法对移动目标进行检测,较好地实现了对视频监控中移动目标的检测以及对含有移动目标的视频序列的存储[2]。与传统视频监控相比,使用户尽量减少在视频监控上所花费的人力和物力。

猜你喜欢

嵌入式按钮像素
当你面前有个按钮
像素前线之“幻影”2000
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
“像素”仙人掌
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式PLC的设计与研究
搭建基于Qt的嵌入式开发平台
ÉVOLUTIONDIGAE Style de vie tactile
死循环
高像素不是全部