ylbtech-术语-Blob:Blob

计算机视觉中的Blob是指图像中的一块连通区域,Blob分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。标记完成的每一个Blob都代表一个前景目标,然后就可以计算Blob的一些相关特征。其优点在于通过Blob提取,可以获得相关区域的信息,但是速度较慢,分析难度大。

1.返回顶部
1、
中文名:blob
外文名:blob
用    途:目标跟踪
领    域:计算机
含    义:图像中的一块连通区域
类    别:基于区域的跟踪

目录

2、
2.返回顶部
1、

背景

目标跟踪是计算机视觉中的一项重要研究任务,应用场景广泛。它要解决的是:对运动目标在图像平面上的轨迹进行估计的问题。跟踪器需要在视频序列的不同帧中,将一个唯一的标签分配给特定的跟踪目标。此外,根据跟踪结果还可以提供与运动目标相关的信息,如目标的一些形状外貌、运动状态以及统计信息等。
 

简介

计算机视觉中的Blob是指图像中的一块连通区域,Blob分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。标记完成的每一个Blob都代表一个前景目标,然后就可以计算Blob的一些相关特征,如:面积、质心、外接矩形等几何特征,还可以计算Blob的颜色、纹理特征,这些特征都可以作为跟踪的依据。
基于Blob的跟踪属于基于区域的跟踪,该算法在多篇文献中被研究过。有学者将Blob用于车辆的跟踪,首先用特征检测来提取目标Blob并计算Blob的几何特征,在进行Blob跟踪的时候,将Blob面积重叠率在50%以上作为匹配标准。有学者将Blob用于移动机器人的视觉跟踪系统中,在该系统中,首先用鼠标标记目标,然后对目标进行颜色学习,形成目标表面颜色的RGB向量集。在目标跟踪的过程中遍历图像,通过将所有像素点与目标RGB向量集作对比来寻找目标色块,再提取色块的特征用于后续跟踪。有学者提出基于Blob的Mean-shift跟踪,考虑到目标在移动过程中,可能会发生形变,所以在Blob周围不断调整搜索窗口大小,然后在窗口区域和目标之间作特征匹配以此来跟踪目标。有学者提出的多目标跟踪算法中,采用Blob标记法来对前景目标进行聚集和生长。有学者在车辆跟踪系统中,先检测车辆Blob,然后进行学习,形成属于车辆的特征类。有学者在提取目标过程中将Blob匹配与混合高斯算法相结合,然后与混合高斯算法结果对比,实验结果表明该文献算法提取出的目标更加完整。
 

核心思想

Blob算法的核心思想,就是在一块区域内,将出现”灰度突变”的范围找出来确定其大小、形状及面积等。算法从边缘寻找中的”卷积算法”,例如”卷积算法”的矩阵设定为2*4扫描从左向右从上至下进行的。矩阵每移动一步,算法计算矩阵中前半部(列1及列2)的灰度值总和,与矩阵中后半部(列3及列4)的灰度值总和的差。假如矩阵中这块图像的颜色为相同,也就是说矩阵中的8个像素的灰度极接近的话,那么,这个矩阵前部与后部灰度值总和差应该是趋近0的。程序一步步运行,矩阵前部与后部的灰度值总和差一直接近0。如果矩阵扫描到了一块前景的边缘,这时矩阵前部与后部灰度值总和差突变了,灰度值不再接近,则是到了一个Blob。当算法扫描完整的时候,系统就记录了全部发生这种突变情况的点的坐标。之后再对这些边缘点进行一系列的分析,便可以得到这个Blob的大小、形状及面积等信息。
 

分析方法

Blob分析的重要一个步骤是连通区域的确定。按照处理方式的不同Blob分析基本上分成两种:基于像素扫描的处理方法和基于游程编码(RLE)的处理方法。前者代表性的方法有递归法与两次扫描法;基于游程编码的方法是对于二值图像有一种编码方法RLE,其基本思想是对连在一起的黑色或者白色像素数(游程)用不同的码字来编码。其方法:计算连续出现的数据长度来进行压缩。例如:对于数据AAAAABBBBAA而言,RLE的结果是5A482A。这样对图像逐行进行RLE,并将相连的像素块合并;最终提取出多个连通区域,得到每个连通区域的链码表和线性表。获得链码表就可以计算出区域边界轮廓长度和周长;线性表则可以计算面积和重心等参数。 
 

特点

 

缺点

目前的Blob算法有几个缺点:
1、速度过慢,要整个区域作逐点扫描。
2、Blob分析难度大。这是一纯几何学上的问题,一个不规则的形状,如何计算它的面积、大小没有简单易行的算法,太过复杂,运算时间就长,速度就更慢了。另外,实际应用中,没有单纯的表面检测,在一个场景中通常要检测几个区域块,表面检测只是其中一项。这就使Blob分析算法的局限性更为明显。比如,我们做一个印刷品的检测:一是检测印刷品上印上去的字是否清楚;二是检测印刷品表面有没有划痕。于是,Blob算法就要能区别出哪个是文字,哪个是划痕。
3、实际应用。Blob算法在实际应用中,非常依赖光源。几乎可以说,Blob算法如果离开了一个可靠的光源设计,则完全不起作用。场景中有各种不同的颜色,这些颜色上的差异,在黑白相机下来看,就是灰度值的变化,因为颜色的表现跟光源有很大的关系,所以一个稳定的光源是必须的。 [2] 
 

优点

Blob在目标跟踪的优势有:
(1)通过Blob提取,可以获得相关区域的信息,这些信息可以作为边缘监测器或者角点检测器的补充信息。在目标识别中,Blob可以提供局部的统计信息和外貌信息,这些信息能够为目标识别和跟踪提供依据;
(2)可以利用Blob对直方图进行峰值检测;
(3)Blob还可以作为纹理分析和纹理识别的基元;
(4)通过Blob分析,可以得到目标的个数及其所在区域,在进行目标匹配时,不需要对全局图像进行搜索。
2、
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

术语-BLOB:BLOB的更多相关文章

  1. 理解DOMSTRING、DOCUMENT、FORMDATA、BLOB、FILE、ARRAYBUFFER数据类型

    一.XMLHttpRequest 2.0的家臣们 我大学那会儿,一个称为Ajax的东西对前端行业造成了深远影响,不仅是JS语言,而包括前端地位.职位兴起以及工作分工等.抛开IE6浏览器不谈,其他浏览器 ...

  2. File、Blob、ArrayBuffer等文件类的对象有什么区别和联系

    前言 在前端中处理文件时会经常遇到File.Blob.ArrayBuffer以及相关的处理方法或方式如FileReader.FormData等等这些名词,对于这些常见而又不常见的名词,我相信大多数人对 ...

  3. JS 之Blob 对象类型

    原文 http://blog.csdn.net/oscar999/article/details/36373183 什么是Blob? Blob 是什么? 这里说的是一种Javascript的对象类型. ...

  4. 跟我学Windows Azure 五 使用Cloub Service连接Blob Service完成图片的上传

    首先,我们创建一个云服务项目,用来演示我们的blob存储 下来我们修改我们我们云服务的名字 我们需要添加一个空的WebForm的项目 点击完成,我们可以看到我们的解决方案已经添加完成 下来我们需要添加 ...

  5. Oracle数据库BLOB字段的存取

    述]     Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据. 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cur ...

  6. Azure Blob

    Blob的概念: Blob是一种为存储二进制数据提供的存储机制,每个Storage Account可以有多个Container,Container中可以存放二进制文件 可以通过REST API来访问, ...

  7. 【caffe】基本数据结构blob

    @tags: caffe blob blob是caffe中的基本数据结构,简单理解就是一个"4维数组".但是,这个4维数组有什么意义? BTW,TensorFlow这款google ...

  8. FormData、Blob、File、ArrayBuffer数据类型

    XMLHttpRequest 1.0 1.0 中xmlhttpRequest有2个重要的返回属性,reposeText,reposeXml.下面的数据类型都是2.0新增的 FormData对象 我们应 ...

  9. 用二进制大对象类型Blob实现图片入库与出库的操作

    package readclobDemo.bao; import java.io.FileInputStream; import java.io.FileNotFoundException; impo ...

  10. Java类型相互转换byte[]类型,blob类型

    在我们的程序开发当中,经常会用到java.sql.Blob.byte[].InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们 ...

随机推荐

  1. HDU 4549题解 & luogu【模板】矩阵加速(数列)

    M斐波那契数列 此题对数学基础要求较高 来源矩阵乘法_百度百科 一个m*n的矩阵是一个由m行n列元素排成的矩形阵列.矩阵里的元素可以是数字符号或者数学式. 形如[acbd][abcd]的数表称为二阶矩 ...

  2. weight (搜索对象的选取)

    #10249. 「一本通 1.3 例 5」weight [题目描述] 已知原数列 $a_1,a_2,\cdots,a_n$​​ 中的前 1项,前 2 项,前3项, $\cdots$ ,前 n 项的和, ...

  3. SCUT - 271 - CC 非诚勿扰 - FFT

    https://scut.online/p/271 第一次遇到没这么裸的,其实感觉到是卷积但是不知道怎么化.看来以后要多注意下标. #include <bits/stdc++.h> usi ...

  4. P2586 [ZJOI2008]杀蚂蚁(模拟)

    P2586 [ZJOI2008]杀蚂蚁 大模拟. 什么都不想补了. 看变量名感性理解吧 #include<iostream> #include<cstdio> #include ...

  5. HDU 1009 FatMouse' Trade题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/.未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  6. 获取请求头中User-Agent工具类

    public class AgentUserKit { private static String pattern = "^Mozilla/\\d\\.\\d\\s+\\(+.+?\\)&q ...

  7. openstack stein部署手册 7. nova-compute

    # 安装程序包 yum install -y openstack-nova-compute # 变更配置文件 cd /etc/nova mv nova.conf nova.conf.org cat & ...

  8. open, creat - 用来 打开和创建 一个 文件或设备

    SYNOPSIS 总览 #includ e <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int o ...

  9. 常用Linux Shell命令组合

    序号 任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete 2 查看进程,按 ...

  10. Power Designer将数据库表结构导出到Word

     一.   安装与运行PowerDesigner(本例中用的版本是15.1) 二.“File”→“New Model”→“Categories”→“Information”→“Physical Dat ...