OpenCV系列教程(十三)人脸识别
1、概念及优势
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
人脸识别的几大优势,主要是非侵扰性、便捷性、友好性、非接触性、可扩展性。基于其良好的可拓展性,对于人像、物体等各类数据的处理和应用,在很大程度上决定着人脸识别设备的实际应用,如应用在上下班刷卡、出入社区门禁控制、人脸图片搜索、犯罪分子识别等各个领域。
2、知识点
前几篇文章主要是在介绍人脸识别相关知识点,在此简单概括下:
2.1opencv 与 dlib 介绍
一个是跨平台计算机视觉库,一个是用于在 C ++中创建复杂软件以解决实际问题的机器学习算法和工具。
2.2opencv在ubuntu系统中环境搭建
该节内容主要介绍了opencv安装步骤、修改配置文件以及验证测试的等。
2.3opencv的基本理论知识
opencv作为跨平台计算机视觉库,其中包含很多opencv常用类和方法,比如Mat类。 在该节内容中还介绍了如何计算N维数据关系、如何通过opencv接口计算特征值和特征向量、锐化操作、图像重叠操作和opencv代码编译等等。
2.4PCA原理与应用
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA 通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维处理。 PCA 特点: 主成分不变 、细微损失 、高维数据到低维数据
2.5opencv实时人脸识别应用开发
该节内容主要介绍了如何通过opencv进行人脸检测、非特定目标检测识别以及相关算法等等。
2.6dlib在ubuntu系统中环境搭建
该节内容主要介绍了dlib安装步骤、修改配置文件以及验证测试等。
2.7dlib实时人脸识别应用开发
该节内容主要介绍了如何通过dlib进行人脸检测、t如何提取人脸特征点和手势识别等等。
3、目前人脸识别发展的难点
人脸识别被认为是生物特征识别领域甚至人工智能领域最困难的研究课题之一。人脸识别的困难主要是人脸作为生物特征的特点所带来的。
3.1人脸类似性
不同个体之间的区别不大,所有的人脸的结构都相似,甚至人脸器官的结构外形都很相似。这样的特点对于利用人脸进行定位是有利的,但是对于利用人脸区分人类个体是不利的。
3.2易变性
人脸的外形很不稳定,人可以通过脸部的变化产生很多表情,而在不同观察角度,人脸的视觉图像也相差很大,另外,人脸识别还受光照条件(例如白天和夜晚,室内和室外等)、人脸的很多遮盖物(例如口罩、墨镜、头发、胡须等)、年龄等多方面因素的影响。
在人脸识别中,第一类的变化是应该放大而作为区分个体的标准的,而第二类的变化应该消除,因为它们可以代表同一个个体。通常称第一类变化为类间变化(inter-class difference),而称第二类变化为类内变化(intra-class difference)。对于人脸,类内变化往往大于类间变化,从而使在受类内变化干扰的情况下利用类间变化区分个体变得异常困难。
猜你喜欢LIKE
相关推荐HOT
更多>>javabean是什么?
在Java中,JavaBean是一种符合特定规范的普通Java类,用于封装数据和提供操作数据的方法。JavaBean是一种重要的设计模式,用于实现面向对象编程...详情>>
2023-06-06 16:27:20java零基础入门到精通怎么学?
Java是一门广泛应用于企业级开发和大型应用程序的编程语言。要从零基础入门到精通Java,需要以下步骤和建议:1.学习基础知识:开始学习Java编程...详情>>
2023-06-05 17:02:00token是什么意思
Token是“令牌”的意思,它通常被用于身份验证和授权。在计算机系统中,当用户通过身份验证后,系统会颁发一个Token给用户,用于标识用户身份和...详情>>
2023-04-20 10:57:41虚函数的作用和实现原理
在父类中声明虚函数:在父类中通过在函数声明前加上 virtual 关键字来声明一个虚函数。需要注意的是,虚函数的使用需要谨慎,因为虚函数的调用...详情>>
2023-04-14 14:20:27