背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战
背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战
1、基于MFC的BgsLibrary软件下载
下载地址:http://download.csdn.net/detail/frd2009041510/8691475
该软件平台中包含了37种背景建模算法,可以显示输入视频/图像、基于背景建模得到的前景和背景建模得到的背景图像,还可以显示出每种算法的计算复杂度等等。并且,测试的可以是视频、图片序列以及摄像头输入视频。其界面如下图所示:
2、BgsLibrary的框架
BgsLibrary的软件框架如下图所示,是基于C++平台编写的,至于详细的源代码将会在接下来的博客中一一分析。
3、BgsLibrary中各种背景建模算法性能比较
下图中以CPU使用率、需要的内存以及运行时间三个方面比较了各种背景建模算法性能的优劣。
4、各种背景建模算法所能解决的问题
背景建模技术会遇到以下挑战:
(1)、噪声图片:这种情况基本上属于由网络摄像头或压缩后的视频图像而造成的低质量图片/视频源;
(2)、相机抖动:在一些条件下,风会引起摄像机前后抖动;
(3)、相机自动调整:目前,很多摄像头都具有自动控制的功能,如光照控制、白平衡以及放大缩小等功能;
(4)、光照变化:这是最常见的,例如开灯关灯产生的光线变化;
(5)、自举现象:在一段时间内,背景建模技术得不到背景图像的情况;
(6)、掩饰:前景与背景图像像素值很相近,导致前景与背景不能够分清;
(7)、前景孔洞:利用背景减法时,前景内部的一些区域可能会被误检测为背景;
(8)、移动的背景目标:背景中的一些物体也可能移动,这些物体不能被当做前景的一部分;
(9)、进入的前景目标:一个新的运动物体进入,应该能够及时地被检测到;
(10)、动态背景:例如小目标抖动、树叶抖动、水面涟漪;
(11)、开始运动的目标:场景中的目标开始运动时,它本身以及新的相关的部分应该可以被检测到;
(12)、进入休眠的前景目标:一些前景目标进入场景后静止不动的情况;
(13)、阴影:能够检测出运动目标的阴影以及背景区域原有的阴影。
面对这些挑战,一些背景建模技术所能解决的问题列表如下图所示:
背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战的更多相关文章
- Qt开发技术:图形视图框架(二)场景QGraphicsScene、QGraphicsItem与QGraphicsView详解
前话 Qt的图形视图框架,最核心的三个类为:QGraphicsScene.QGraphicsItem与QGraphicsView. 基于图形框架的高级白板软件Demo QGraphicsSce ...
- 【计算机视觉】背景建模--Vibe 算法优缺点分析
一.Vibe 算法的优点 Vibe背景建模为运动目标检测研究邻域开拓了新思路,是一种新颖.快速及有效的运动目标检测算法.其优点有以下两点: 1.思想简单,易于实现.Vibe通常随机选取邻域20个样本为 ...
- 事务处理笔记《二》.Net框架下的事务处理技术
术语:DTC(分布式事务协调器) .Net中实现事务的几种方法总结:一. 通过后台数据库的SQL语句实现事务,在台数据库端通过语句来实现转帐业务,如下: Set xact_abort on Begin ...
- Apache OFBIZ高速上手(二)--MVC框架
继续上一篇博客,本篇博客介绍OFBiz的MVC框架. 1.OFBiz特点 OFBiz最基本的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具.包含实体引擎.服务引擎.消息引擎 ...
- 王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019) ...
- CSS实现背景图尺寸不随浏览器大小而变化的两种方法
一些网站的首页背景图尺寸不随浏览器缩放而变化,本例使用CSS 实现背景图尺寸不随浏览器缩放而变化,方法一. 把图片作为background,方法二使用img标签.喜欢的朋友可以看看 一些网站的首页 ...
- java线程池技术(二): 核心ThreadPoolExecutor介绍
版权声明:本文出自汪磊的博客,转载请务必注明出处. Java线程池技术属于比较"古老"而又比较基础的技术了,本篇博客主要作用是个人技术梳理,没什么新玩意. 一.Java线程池技术的 ...
- Button的几种常用的xml背景,扁平化,下划线,边框包裹,以及按压效果
Button的几种常用的xml背景,扁平化,下划线,边框包裹,以及按压效果 分享下我项目中用到的几种Button的效果,说实话,还真挺好看的 一.标准圆角 效果是这样的 他的实现很简单,我们只需要两个 ...
- 我是如何一步步编码完成万仓网ERP系统的(二)前端框架
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
随机推荐
- C if语句判断年龄
#include <stdio.h> int main(int argc, char **argv) { //新建两个变量给变量赋值跟初始化:const int a=45;int c=0; ...
- laravel 的DB::raw() 语法使用
z之前在项目中遇到一个问题,复杂的sql查询,用laravel的查询构造器,非常的不方便,各种查询条件拼接一长串拼得脑瓜疼:然后想使用原生的sql语句来查询,然后又使用不了laravel的pagina ...
- [Clr via C#读书笔记]Cp3共享程序集和强命名程
Cp3共享程序集和强命名程序集 私有方式部署+全局方式部署:弱命名程序集+强命名程序集 强命名程序集使用发布者的公钥私钥进行签名,唯一标识发布者. 共享dll被全部复制到System32中 强命名程序 ...
- POJ 3084 Panic Room(最大流最小割)
Description You are the lead programmer for the Securitron 9042, the latest and greatest in home sec ...
- canvas学习(三):文字渲染
一.绘制基本的文字: var canvas = document.getElementById("myCanvas") var ctx = canvas.getContext('2 ...
- vue.js 创建组件 子父通信 父子通信 非父子通信
1.创建组件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Python 字符串与基本语句
Python特点 python中没有变量的声明 语句结束后没有分号 严格要求缩进 支持很长很长的大数运算(直接在Idle中输入即可) 用"#"来注释 BIF:Bulit-in fu ...
- Java 二维数组
在 Java 中,二维数组与一维数组一样,但是不同于 C 中的二维数组: 1. 在 Java 中,二维数组可以看成是以数组为元素的数组,例如: int a[][] = {{1,2},{3,4,5,6 ...
- 在LaTex中插入电路图的方法(插入图片)
主要的需求是要在文档中插入电路图. 有两种方法,一种是直接在LaTex中绘制电路图,使用的库主要是circ和circuitikz 另一种是在其他软件上绘制电路图,转成特定图像格式后,在Latex中插入 ...
- shit antd & Merry Christmas bug
shit antd & Merry Christmas bug https://github.com/ant-design/ant-design/issues/13098 antd 玩大了? ...