转自 静水潜流 163 LBP

2023-11-02 22:30
文章标签 163 转自 lbp 静水 潜流

本文主要是介绍转自 静水潜流 163 LBP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LBP及其实现的人脸识别  

2010-10-12 20:32:20|  分类: 机器学习|举报|字号 订阅

LBP模式

LBP有几种特殊的模式:等价模式(uniform pattern)、旋转不变LBP算子、旋转不变的等价LBP算子。

等价模式(uniform pattern):当某个局部二进制模式所对应的循环二进制数从01或从10最多有两次跳变时,该局部二进制模式所对应的二进制就称为一个等价模式类。如000000001111111110001111都是等价模式类。检验某种模式否是等价模式的简单方法是将其和其移动一位后的二进制模式按位相减的绝对值求和,结果小于或等于2,则将其归于等价模式。模式数量由原来的2P种减少为P(P-1)+2种,其中P表示邻域集内的采样点数。可以通过低通滤波的方法来增强等价模式所占的比重。

旋转不变LBP算子:不断旋转圆形邻域得到一系列初始定义的LBP值,取其最小值作为该邻域的LBP值。通过引入旋转不变的定义,LBP算子不仅对于图像旋转表现得更为鲁棒,并且LBP模式的种类进一步减少。

旋转不变的等价LBP算子:上述两种模式的结合,模式数量由2P减少为P1类。

LBP实现的人脸识别:

首先将人脸图片分为若干个相等的矩形区域,然后对每个区域的像素分别进行LBP算子的转换,构建一个全局性的直方图,该直方图由各个区域的直方图串联起来,这样做的目的是不仅保留原图像的统计信息,同时从直方图上也可以看出位置信息。然后利用在已经计算的LBP及其实现的人脸识别 - 潜流 - 三年磨一剑LBP及其实现的人脸识别 - 潜流 - 三年磨一剑)特征空间上的最近邻域分类器作为直方图之间的差异性衡量标准,得到一个距离矩阵,其中包含了图像之间的距离。另外,由于图片上各个区域包含的有效信息不一样,有些比较多,有些较少甚至为零,所以可以对各个区域赋予不同的权重,其中一种方法是:将图像分为若干个区域后,依次取用每个区域对图像进行识别,识别率在0.2以下的权重为0,识别率在0.8以上的权重为2,识别率在0.9以上的权重为4,其余的权重设为1。这样,上式变为

LBP及其实现的人脸识别 - 潜流 - 三年磨一剑

效果如下:

LBP及其实现的人脸识别 - 潜流 - 三年磨一剑

黑色区域表示权重为0,灰色为1,浅灰色为2,白色为4

LBP算子的半径及数量对识别率影响不是很大,反而窗口的大小对结果影响比较大。窗口越小,识别率越高,反之则越低。但是随着窗口的增加,特征的维数也在增加,这里要在两者之间平衡,不是识别率越高越好。

可改进地方:区域的划分及权重的分配、减少特征空间维数。

本文学习自:《Face Recognition with Local Binary Patterns》,Timo Ahonen

PS:在之前的文章里提到lbpmatlab程序,其中getmapping.m定义了lbp三种不同的模式,而lbp.m则是lbp的实现,当然它只是简单的整幅图像的lbp变换(没有分区域),其中很巧妙地运用了整体移动的方法计算lbp值。

这篇关于转自 静水潜流 163 LBP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333730

相关文章

Python习题 163:类的方法访问私有变量

(编码题)设计一个 Python 类 Person,表示一个人。这个类应该具有私有变量 __name 和 __age,以及以下功能: 构造方法 __init__ 接受两个参数 name 和 age,用于初始化私有变量 __name 和 __age。方法 get_info 返回一个字符串,包含该人的姓名和年龄信息。 class Person:def __init__(self, name,

用opencv的traincascade.exe训练行人的HAAR、LBP和HOG特征的xml文件,并对分类器进行加载和检测

看到一篇论文上讲到可以用adaboost分类器进行行人检测,就想自己动手训练一下分类器,折腾了两周终于训练成功了。。。 opencv中有两个函数可以训练分类器opencv_haartraining.exe和opencv_traincascade.exe,前者只能训练haar特征,后者可以用HAAR、LBP和HOG特征训练分类器。这两个函数都可以在opencv\build\x86\vc10\bin

centos更换163网易源

1.进入/etc/yum.repos.d/目录 [root@localhost ~]# cd /etc/yum.repos.d/ 2.备份本地源 [root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup 3.下载网易源 [root@localhost yum.repos.d]# wget http

LBP(局部二值模式)

LBP 英文全称是Local Binary Pattern,LBP是一种有效的描述图像局部纹理特征的descriptor,它是由T.Ojala在1994年提出来的,用于纹理特征提取,经过其改善,具备了旋转不变性和灰度不变性(这里所谓的灰度不变性,个人觉得就是单调光照不变性)。如今广泛运用于纹理分类、纹理分割、人脸图像分析等领域。 最初的LBP特征设计 在3x3的窗口内,以窗口中心像素为阈

LBP matlab 算法实现练习

一种图像特征的提取算法。 算法步骤: 1.用3*3的模板对图像每个像素进行处理,比较当前像素和周围像素的大小,将大于当前像素的置1,小于的置0。 2.对这周围八个像素进行编码,这八个0和1正好是可以组成一个byte数,然后按一定的规则组成这个无符号数。 3.把这个数赋值给当前像素。 4.通常对处理后的图像进行区域划分,比如分成4*4 、10*10或16*16的区域,对每个区域求得直方图,

LBP 和深度学习,人脸识别

最近读了一篇关于LBP和DBN的文章,感觉思路挺好的,如有不当之处望指正!!!!! 这是一篇在非限制条件下,基于深度学习的人脸识别算法。,将LBP纹理特征作为深度网络的输入,通过逐层贪婪训练网络,获得良好的网络参数,并用训练好的网络对测试样本进行预测。 文章通过LBP提取非限制条件下人脸图像的纹理特征并利用DBN进一步自动学习更抽象、更有效的人脸特征,并在DBN顶层自动进行人脸分类。LBP所提

Android Canvas 和Paint的用法 转自http://blog.csdn.net/u010947098/article/details/44574171

首先,介绍的是Canvas的基本方法 方法签名简要说明drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)绘制弧drawBitmap(Bitmap bitmap, Rect src, Rect dst,Paint paint)在指定点绘制从源位图中"挖取"的一块drawBi

高仿163网站广告弹出层(每天定时24小时弹出一次)

高仿163网站广告弹出层(每天定时24小时弹出一次) 这里和京东首页定时弹出广告功能一样;用JS实现网站首页弹出广告;超级炫酷的定时弹出图片广告;淘宝网站广告弹出层实现。 高仿163网站广告弹出层(每天定时24小时弹出一次)可以有两种做法 一、是标识符存入数据库 二、利用jQuery.cookie 我这里做的是比较简单的用到的知识是Jquery.cookie, 这里要注意的一点是jque

JAVA毕业设计163—基于Java+Springboot+vue3的景区旅游门票管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于Java+Springboot+vue3的景区旅游门票管理系统(源代码+数据库)163 一、系统介绍 本项目前后端分离(可以改为ssm版本),分为用户、管理员两种角色 1、用户: 注册、登录、门票预订、旅游线路预订、美食购买、旅游日记、论坛、新闻

【转自看雪】反编译apk+eclipse中动态调试smali

初涉移动端,请各位前辈多多指教! 本文参考http://www.kaifazhe.com/android_school/380973.html 在此,对作者表示感谢! 跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。 前