人脸识别java算法有哪些

人脸识别java算法有:1、特征脸法(Eigenface);2、局部二值模式(Local Binary Patterns,LBP);3、Fisherface算法。特征脸法(Eigenface)是近期发展起来的用于人脸或者一般性刚体识别以及其它涉及到人脸处理的一种方法。

1、特征脸法(Eigenface)

特征脸技术是近期发展起来的用于人脸或者一般性刚体识别以及其它涉及到人脸处理的一种方法。使用特征脸进行人脸识别的方法首先由Sirovich和Kirby(1987)提出(《Low-dimensional procedure forthe characterization of human faces》),并由Matthew Turk和Alex Pentland用于人脸分类(《Eigenfaces for recognition》)。首先把一批人脸图像转换成一个特征向量集,称为“Eigenfaces”,即“特征脸”,它们是最初训练图像集的基本组件。识别的过程是把一副新的图像投影到特征脸子空间,并通过它的投影点在子空间的位置以及投影线的长度来进行判定和识别。

将图像变换到另一个空间后,同一个类别的图像会聚到一起,不同类别的图像会聚力比较远,在原像素空间中不同类别的图像在分布上很难用简单的线或者面切分,变换到另一个空间,就可以很好的把他们分开了。

Eigenfaces选择的空间变换方法是PCA(主成分分析),利用PCA得到人脸分布的主要成分,具体实现是对训练集中所有人脸图像的协方差矩阵进行本征值分解,得到对应的本征向量,这些本征向量就是“特征脸”。每个特征向量或者特征脸相当于捕捉或者描述人脸之间的一种变化或者特性。这就意味着每个人脸都可以表示为这些特征脸的线性组合。

2、局部二值模式(Local Binary Patterns,LBP)

局部二值模式(Local binary patterns LBP)是计算机视觉领域里用于分类的视觉算子。LBP,一种用来描述图像纹理特征的算子,该算子由芬兰奥卢大学的T.Ojala等人在1996年提出(《A comparative study of texturemeasures with classification based on featured distributions》)。2002年,T.Ojala等人在PAMI上又发表了一篇关于LBP的文章(《Multiresolution gray-scale androtation invariant texture classification with local binary patterns》)。这一文章非常清楚的阐述了多分辨率、灰度尺度不变和旋转不变、等价模式的改进的LBP特征。LBP的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。

LBP是提取局部特征作为判别依据的。LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP的识别率已经有了很大的提升。

3、Fisherface算法

线性鉴别分析在降维的同时考虑类别信息,由统计学家Sir R. A.Fisher1936年发明(《The useof multiple measurements in taxonomic problems》)。为了找到一种特征组合方式,达到最大的类间离散度和最小的类内离散度。这个想法很简单:在低维表示下,相同的类应该紧紧的聚在一起,而不同的类别尽量距离越远。1997年,Belhumer成功将Fisher判别准则应用于人脸分类,提出了基于线性判别分析的Fisherface方法(《Eigenfaces vs. fisherfaces:Recognition using class specific linear projection》)。

延伸阅读

人脸识别技术特点

  • 非强制性:用户不需要专门配合人脸采集设备,几乎可以在无意识的状态下就可获取人脸图像,这样的取样方式没有“强制性”;
  • 非接触性:用户不需要和设备直接接触就能获取人脸图像;
  • 并发性:在实际应用场景下可以进行多个人脸的分拣、判断及识别;
  • 除此之外,还符合视觉特性:“以貌识人”的特性,以及操作简单、结果直观、隐蔽性好等特点。

文章标题:人脸识别java算法有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/46576

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年3月4日
下一篇 2023年3月5日

相关推荐

  • cnc编程师需要注意什么

    CNC编程师需要注意的主要事项包括1、理解和应用正确的刀具路径、2、熟悉机械操作和维护、3、精确计算和输入机械参数、4、编程前进行彻底的规划和模拟测试。特别地,对于理解和应用正确的刀具路径,它是确保加工精度和效率的关键。一个精准的刀具路径不仅能够确保加工件的质量,还可以显著提升材料利用率和加工速度,…

    2024年4月27日
    300
  • oa系统怎么

    OA系统是企业内部信息化管理的一种实用工具,旨在提高工作效率、优化办公流程、增强数据安全性1、提升沟通协作效能2、实现资源共享3、。 OA系统的作用显著,尤其在提升沟通协作效能方面,系统通过即时消息、邮件、论坛和视频会议等多种形式,保证员工之间无缝沟通,确保信息流通迅速、高效。 一、系统简介 OA系…

    2024年1月11日
    17700
  • 工作流程怎么做

    工作流程的做法:1、记下当前的工作流程;2、确定您的资源;3、确定可交付成果;4、列出流程步骤和任务等。记下当前的工作流程是指,确定当前在整个企业中使用的工作流,并与流程所有者讨论他们面临的问题或他们在当前实践中遇到的问题。 1、记下当前的工作流程 确定当前在整个企业中使用的工作流,并与流程所有者讨…

    2023年2月9日
    44900
  • 项目质量管理如何实施自评

    项目质量管理的自评是关键过程,涵盖了诸多方面,包括:制定质量基准、执行质量检查、使用质量工具与技术,以及持续改进。在这众多要素中,执行质量检查是实施自评的核心,它直接关系到项目质量管理的成败。执行质量检查涉及对项目成果和过程进行定期审查,确保它们满足事先确定的质量标准。这不仅包括检查成品质量,还包括…

    2024年4月10日
    5900
  • 如何在DevOps中优化数据库部署

    数据库部署在DevOps实践中至关重要,关键在于实现自动化、确保持续集成和持续部署、监控和反馈机制的有效整合、以及考虑安全性和合规性。 其中自动化是遵循DevOps原则,提高数据库部署效率的核心。自动化工具可用于管理数据库变更,减少人为错误,并加快部署流程。利用合适的自动化工具进行版本控制、数据库更…

    2024年1月4日
    26600
  • 编程依赖什么

    摘要:编程依赖于1、逻辑思维、2、算法知识、3、编程语言掌握、4、代码实践、5、持续学习等主要因素。逻辑思维尤为关键,它是编程解决问题和实现算法的基础。编程不仅仅是编写代码,更重要的是如何使用逻辑思维将复杂问题分解成可管理的小块,然后逐一解决。逻辑思维能力强的人在编程时能更快地找到问题的症结所在,并…

    2024年4月25日
    1200
  • vscode为什么运行不了程序

    Visual Studio Code (VSCode) 可能无法运行程序的原因主要包括环境配置不正确、所需插件未安装、代码错误或文件路径问题。例如,如果您在VSCode中运行Python脚本,却没有安装Python扩展或正确配置Python解释器,那么VSCode无法执行该脚本。同样,如果路径含有特…

    2024年4月3日
    19300
  • 人工智能会不会对人类构成威胁

    摘要:人工智能(AI)对人类构成的威胁在学术和工业界引起了广泛的关注和讨论。这一领域中,1、失业问题、2、隐私侵犯、3、决策自治、4、安全风险是最引人注目的四大核心观点。在深入探讨这些观点时,发现AI带来的潜在威胁不单涉及经济和社会层面,还可能对人类的道德伦理和生存安全构成影响。为此,许多研究者和技…

    2023年11月24日
    56300
  • 最好的编程语言是什么

    在讨论最好的编程语言时,我们必须理解,其实没有绝对的答案。不同的编程语言设计用于解决不同的问题。然而,一些编程语言因其通用性、易用性、以及社区支持强大而频繁被推荐。如果要突出一种,Python 经常被引用为初学者友好和多用途的语言。Python 的简洁语法使得初学者更容易上手,同时它强大的标准库和丰…

    2024年4月27日
    500
  • 编程语言做什么项目赚钱

    在当前的数字化时代,编程语言是实现技术创新和解决复杂问题的基石。以下是几种通过编程语言赚钱的项目方式:1、开发移动应用;2、创建网站;3、开发视频游戏;4、数据分析及机器学习;5、区块链技术。 以开发移动应用为例,随着智能手机的普及,移动应用的需求不断增长。无论是为特定的企业解决方案还是个人使用的便…

    2024年4月27日
    700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部