LBP 和深度学习,人脸识别

2024-08-30 02:08
文章标签 学习 深度 人脸识别 lbp

本文主要是介绍LBP 和深度学习,人脸识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近读了一篇关于LBP和DBN的文章,感觉思路挺好的,如有不当之处望指正!!!!!

这是一篇在非限制条件下,基于深度学习的人脸识别算法。,将LBP纹理特征作为深度网络的输入,通过逐层贪婪训练网络,获得良好的网络参数,并用训练好的网络对测试样本进行预测。

文章通过LBP提取非限制条件下人脸图像的纹理特征并利用DBN进一步自动学习更抽象、更有效的人脸特征,并在DBN顶层自动进行人脸分类。LBP所提取的人脸图像的局部纹理特征对光照和微小平移具有较强的顽健性,将其作为DBN输入特征更有助于网络对图像特征分布的理解,进一步减少网络学习到不利的特征描述;同时,通过DBN对输入数据进行深度学习和自动特征提取,并在网络最顶层实现特征识别,有效避免了过多主动因素的干预。

文章Idea:

提出LBP和DBN相结合的非限制条件下人脸识别,征。将LBP与DBN相结合,克服了DBN不能学习到人脸图像局部结构特征的缺点,使得DBN学习到的抽象特征受光照、微小平移等的影响较小。

文章算法:

DBN训练步骤:

1)对第一层RBM,以LBP纹理特征为输入,对RBM进行无监督训练,获得该层最优的参数;

2)高层RBM以低一层RBM输出数据为输入,对RBM进行无监督,获得RBM网络最优的参数值;

3)最后利用全局训练的方法对训练好的各层参数微调,使得DBN收敛到全局最优。该训练方法绕过了全局训练的复杂性,通过快速散度(CD,contrastive diber.gence)¨/J训练RBM获得DBN各层的最优参数,降低了学习目标过拟合的风险,使得网络具有更好的数据预测能力。

算法步骤

1)用双线性内插法将测试样本和训练样本降维至32×32,并进行直方图均衡化等归一化预处理。
2)对训练样本和测试样本进行分块并提取每个子块的LBP纹理特征,将每个子块的特征连接起来形成样本的LBP纹理特征。本文LBP纹理特征提取时样本分块为4×5,半径尺为1,像素数P为8。此时所提取的LBP纹理特征和像素级特征维数相当。
3)将训练样本的LBP纹理特征作为DBN可视层输入,对深度网络进行逐层训练,以获取最优网络参数。文中DBN层数选为2层:第1层学习率为0.002,迭代次数为40;第2层为0.003,迭代次数为40。
4)当深度网络训练完后,将测试样本的LBP纹理特征作为DBN可视层输入,利用优化后的网络由下向上多层次地学习和提取测试样本的抽象特征,在网络最顶层进行SoftMax回归分类,获得测试样本的类标值,并计算正确识别率。

实验结果:


结果表示随着隐藏单元数的增加,深度网络能够更好地表达人脸图像特征,但是网络的训练时间和分类时间也随之增加,计算量逐渐增大,因而对硬件要求也随之提高。


。当训练样本数增加时,提取类别特征较为丰富,算法识别率剧增高

总之,。本文算法在受姿态、光照、表情、遮挡等综合因素影响的非限制条件下具有较好的识别效果,同时在受多种因素影响的Yale库和光照因素影响的Yale—B库上取得较高的识别率。

这篇关于LBP 和深度学习,人脸识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实