之前介绍过机器视觉中常用到的一种特征:LBP

http://blog.csdn.net/matrix_space/article/details/50481641

LBP可以有效地处理光照变化,在纹理分析,纹理识别方面被广泛应用。

但是LBP 只能处理单张的二维图像,对于视频或者图像序列,如何用LBP来提取特征,捕捉视频序列的运动信息呢。今天我们就介绍一种称为 LBP-TOP 的特征,是芬兰奥卢大学的 Guoying Zhao 等人提出来的,最早是用来处理动态纹理的识别,但是现在已经被广泛用在基于视频的人脸表情识别上面。

LBP-TOP 是 LBP 从二维空间到三维空间的拓展,LBP-TOP 的全称为: local binary patterns from three orthogonal planes, 这里的three orthogonal planes 指的就是三个正交平面,我们知道,单张的图像只有X, Y两个方向,而一个视频或者图像序列除了X,Y 方向之外,还有一个沿着时间轴 T 的方向, 而 X-Y, X-T 和 Y-T 三个方向是相互正交的。可以看看如下的图:



图片来自参考文献 [1]

一个图像序列,给出三个正交平面的纹理图,X-Y 就是我们正常看到的图像,X-T 是每一行沿着时间轴扫描而过的纹理,Y-T 是每一列沿着时间轴扫描而过的图像,简单来说,我们可以在这三个平面都提取 LBP 特征,然后把三个平面的 LBP 特征连接起来,就是 LBP-TOP。 如下图所示:



图片来自参考文献 [1]

所以说 LBP-TOP 是 LBP 从二维到三维的拓展,与LBP 相比,LBP-TOP 不仅考虑了 X-Y 平面的纹理信息,还考虑了 X-T, Y-T的纹理信息,而X-T,Y-T 的纹理信息,记录着重要的动态纹理。

从之前介绍的LBP 我们知道,提取LBP特征,采用 uniform code 编码的话,会生成一个 59 维的数组,记录着 LBP 的直方图信息,那么 LBP-TOP特征,在三个正交平面都提取LBP,最终会生成一个 59×3 的数组,特征的维数一下增加了三倍。很多时候,我们会把图像分块,一个图像分成 4×4 个blocks, 每个block都会生成一个 59×3 的数组,最后生成的特征的维数是 4×4×59×3=2832, 所以LBP-TOP 是一种高维特征。

LBP-TOP 源代码可以在奥卢大学的官网下载:

http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab

声明:博客上用到的图片都来自参考文献[1], 只能用于学习交流,严禁用于任何商业目的,如需转载或引用,请注明文献[1]为出处。

参考文献:

[1]: Zhao G & Pietikäinen M (2007) Dynamic texture recognition using local binary patterns with an application to facial expressions. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(6):915-928.

机器视觉: LBP-TOP的更多相关文章

  1. 机器视觉----LBP

    最近一直在做多视图的聚类与分裂,想要图片有更多的视图,就得对图片的特征进行抽取,那我们来聊聊图片的LBP特征. Local binary patterns (局部二值模式),是机器视觉中重要的一种特征 ...

  2. 机器视觉 Local Binary Pattern (LBP)

    Local binary pattern (LBP),在机器视觉领域,是非常重要的一种特征.LBP可以有效地处理光照变化,在纹理分析,纹理识别方面被广泛应用. LBP 的算法非常简单,简单来说,就是对 ...

  3. 跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量 Lead Measurement: Example for the application of the measure object in ...

  4. 烟雾检测笔记1--《Video-based smoke detection with histogram sequence of LBP and LBPV pyramids》解析、实现

    基于HEP(histograms of equivalent patterns[1])框架下的特征具有良好的纹理分类效果,LBP(local binary patterns[2])属于HEP框架下最常 ...

  5. The World's Top 15 Stock Exchanges by Domestic Market Capitalization

     The World's Top 15 Stock Exchanges by Domestic Market Capitalization in 2008 4 Euronext Belgium, Fr ...

  6. 机器视觉-EasyDL商品检测-标准版-Demo

    机器视觉-EasyDL商品检测-标准版 功能: EasyDL是百度大脑中的一个定制化训练和服务平台,EasyDL零售版是EasyDL针对零售场景推出的行业版,定制商品检测服务是EasyDL零售版的一项 ...

  7. ADO.NET一小记-select top 参数问题

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...

  8. Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7

    SOLUTION VERIFIED September 13 2016 KB1248793 Environment Red Hat Enterprise Linux 7 NetworkManager ...

  9. 在UPDATE中更新TOP条数据以及UPDATE更新中使用ORDER BY

    正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade   随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member ...

随机推荐

  1. JAVA程序员面试笔试宝典1

    1.为什么Java中有些接口没有任何方法? 这些没有任何方法声明的接口又被称为标识接口,标识接口对于实现它的类没有任何语义上的要求,它仅仅充当一个标识的作用,用来表明它的类属于一个特定的类型. 2.j ...

  2. wpf 界面加载 Command

    导入 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" <i:Interaction. ...

  3. ionic3开发环境搭建与配置(win10系统)

    1.安装nodeJS(不会的自行百度) 2.安装ionic和cordova,执行以下命令: npm install -g ionic cordova 3.安装Java JDK: 下载地址:http:/ ...

  4. JAVA之文件操作1,2,3,4

    package first_program; import java.io.File; import java.io.IOException; public class num_1v { public ...

  5. 洛谷 1569 [USACO11FEB]属牛的抗议

    [题解] 非常显然的DP,f[i]表示到第i个位置最多分成几组,f[i]=Max(f[i],f[j]+1) (j<i,sum[j]<=sum[i]) #include<cstdio& ...

  6. TestNG常用注解

    原文链接:https://www.yiibai.com/testng/basic-annotations.html    以下是TestNG支持的注释列表: 注解 描述 @BeforeSuite 在该 ...

  7. VMWare学习总结(1)——Centos7安装完毕后无法联网的解决方法

    在VmWare 上安装Centos7时,装好vmware后还是连不上网,通过查找资料原来是因为有线网卡没有激活,默认centos和redhat7都是不启用有线网卡的,要么手动开启,要么安装时直接启用! ...

  8. qemu-guest-agent简介

    经常使用vmWare的同学都知道有vmware-tools这个工具,这个安装在vm内部的工具,可以实现宿主机与虚拟机的通讯,大大增强了虚拟机的性能与功能, 如vmware现在的Unity mode下可 ...

  9. Introduction to TensorFlow

    Lecture note 1: Introduction to TensorFlow Why TensorFlow TensorFlow was originally created by resea ...

  10. ci get_instance()

    你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...