面部检测,也称为面部识别,是一种计算机技术,用于识别数字图像和视频中的人脸。它能够清楚地区分人脸与其他物体,并建立其边界。面部检测广泛应用于多个领域,包括安全、生物识别、执法、娱乐和社交媒体。例如,面部检测常用于监控和实时跟踪人。
面部检测在面部跟踪、面部分析和面部识别中发挥着重要作用:
- 面部跟踪。面部跟踪系统通过检测和跟踪图像、视频或实时摄像头画面中人脸的更详细特征,扩展了面部检测的功能。
- 面部分析。面部分析始于面部检测,以定位图像或视频中的人脸,然后分析面部特征以确定年龄、性别和情感等特征。
- 面部识别。面部识别系统依赖面部检测来识别图像或视频中的人脸,以便创建面部印记并与存储的面部印记进行比较。
如今的面部检测系统结合了许多先进技术,包括人工智能(AI)技术,如机器学习(ML)、深度学习和人工神经网络。
面部检测与面部识别
面部检测和面部识别这两个术语常常可以互换使用,但它们代表了两种不同的面部识别方法。面部检测主要关注于检测和定位人脸,而面部识别则进一步通过面部特征识别个体。
面部识别软件首先使用面部检测来区分人脸与其他物体。一旦识别出人脸,系统会根据生物特征生成该图像的面部印记,提供人脸的独特地图。然后,将该面部印记与包含其他个体面部印记的数据库进行比较,以查看是否匹配。
面部识别是面部检测最重要的应用之一。面部识别用于解锁移动设备和应用程序,并支持其他形式的生物识别验证。银行、零售和交通行业常常将面部识别作为其安全策略的一部分,以打击犯罪行为,保护敏感资源,并在发生事件时识别潜在嫌疑人。
面部检测的工作原理
面部检测软件通常使用AI和ML算法,以及统计分析和图像处理,来寻找较大图像中的人脸并将其与非人脸物体(如风景、建筑或其他人体部位)区分开。在开始面部检测之前,分析的媒体可能会经过预处理,以提高质量并去除可能干扰检测的物体。
面部检测算法通常首先寻找人眼,这是最容易检测的特征之一。然后,它们会试图检测其他面部标志,如眉毛、嘴巴、鼻子、鼻孔和虹膜。一旦算法确认找到了面部区域,它会执行额外的测试以确认其检测到的是人脸。
为了确保高精度,算法在包含数十万张正面和负面图像的大型数据集上进行训练。训练提高了算法判断图像中是否存在人脸及其边界位置的能力。
面部检测软件通过使用机器学习算法识别照片或视频中的面部特征来检测人脸。它首先寻找眼睛,然后识别其他面部特征。接着,它将这些特征与训练数据进行比较,以确认已检测到人脸。
常见的面部检测方法
面部检测软件使用不同的方法来检测图像中的人脸。以下是一些更常见的面部检测方法:
- 知识或规则基础。这些方法根据一组规则描述人脸,尽管创建明确的知识基础规则可能是一个挑战。
- 特征基础或特征不变。这些方法使用诸如人的眼睛或鼻子等特征来检测人脸,但该过程可能受到噪声和光线的负面影响。
- 模板匹配。这种方法基于将图像与先前存储的标准面部模式或特征进行比较,并通过相关性检测人脸。然而,这种方法在处理姿势、比例和形状的变化时存在困难。
- 外观基础。该方法使用统计分析和ML来寻找面部图像的相关特征。外观基础方法在光照和方向变化时可能会遇到困难。
面部检测还使用其他技术来识别图像或视频中的人脸。例如,它可能使用以下一种或多种方法来辅助检测过程:
- 背景去除。如果图像具有单色背景或预定义的静态背景,去除背景可能会显现出人脸的边界。
- 肤色。在彩色图像中,肤色有时可以用来寻找人脸,尽管这种方法可能不适用于所有肤色。
- 运动。利用运动寻找人脸是另一种选择。在实时视频流中,人脸几乎总是在移动,因此使用这种方法的用户必须计算移动区域。该方法的一个缺点是可能与背景中其他移动物体混淆。
这些策略的组合可以帮助提供更全面的面部检测解决方案。
面部检测技术
面部检测软件随着时间的推移而不断发展,结合了先进的技术以实现更准确的结果和更好的性能。
最早的努力之一是基于Viola-Jones算法,该算法训练模型以理解什么是人脸,什么不是人脸。尽管该框架仍然在实时应用中用于识别面孔,但在识别被遮盖或未正确定向的面孔时存在问题。
随着AI技术的进步,面部检测能力也得到了提升。许多系统现在在寻找人脸时使用机器学习和深度学习。它们还结合了卷积神经网络(CNN),这是一种分析视觉数据的深度学习算法,利用线性代数识别图像中的模式和特征。
一种基于CNN的面部检测方法是区域基础CNN(R-CNN)。在该模型中,CNN算法在图像中定位和分类对象,然后生成框架上的提议。这些提议集中在图像中与其他区域相似的区域,例如眼睛的像素区域。如果眼睛区域与其他眼睛区域匹配,算法就知道找到了匹配项。最近的面部识别方法包括Fast R-CNN和Faster R-CNN。
R-CNN面部识别及其衍生产品的一个挑战是它们往往变得过于复杂而过拟合,这意味着它们匹配训练数据中的噪声区域而不是预期的面部特征模式。基于CNN的方法的另一个问题是它们往往会经历瓶颈,主要是因为软件在CNN上进行两次传递:一次用于生成区域提议,另一次用于检测每个提议的对象。
单次检测器(SSD)方法通过只需对网络进行一次传递来检测图像中的对象,从而帮助解决这一问题。因此,SSD方法比R-CNN更快。然而,SSD方法在检测小脸或距离相机较远的脸时遇到困难。
面部检测使用深度学习,这是一种复杂但有效的AI方法。
面部检测的应用
如前所述,面部检测是面部识别的基本组成部分,后者不仅仅是找到和定位人脸。面部识别生成的面部印记与面部印记数据库进行比较,以期确定身份。然而,面部检测也可以用于多种其他方式。
娱乐
面部检测用于电影、视频游戏和虚拟现实。例如,面部运动捕捉与面部检测协同工作,通过使用摄像头和激光扫描仪将人类的面部运动电子转化为数字数据库。然后,可以使用该数据库生成逼真的计算机动画,用于电影、游戏或虚拟角色。
移动设备
智能手机和平板电脑通常在拍照和录制视频时使用面部检测来实现相机的自动对焦功能。许多移动设备还使用面部检测代替密码或密码。例如,苹果iPhone可以使用面部检测来为已批准的用户解锁手机。
面部检测在智能手机中与其他生物识别技术结合使用,以识别用户并控制访问。
安全
面部检测用于闭路电视监控摄像头,以检测进入受限区域的人,或计算进入某个区域的人数。面部检测还可以通过进行一种类型的唇读,从视觉线索中推断语言。此外,它可以帮助计算机确定谁在说话及其所说内容,这有助于安全应用。面部检测还可以用于确定图像中需要模糊的部分,以确保隐私。
营销
面部检测在营销中也有应用。例如,当识别到特定面孔时,可以用来显示特定广告,或者在客户对产品或服务的反应中检测情感。
情感推断
面部检测的另一个应用是作为情感推断软件的一部分,可以帮助自闭症患者理解周围人们的情感。该程序使用先进的图像处理技术读取人脸上的情感。
生物识别识别
与面部检测在智能手机中的使用类似,它可以用于电子商务和在线银行,通过面部特征验证身份。它还可以用于控制对物理设施的访问。
社交媒体
社交媒体应用使用面部检测来确定照片中人们的身份,并建议如何标记他们。社交媒体是面部检测最早的主流应用之一。
医疗保健
面部识别可以促进患者的签到和签出,维护安全,控制对受限区域的访问,并评估患者的情感状态。对使用面部检测诊断罕见疾病的兴趣也在不断增长。
面部检测的优点
面部检测是面部成像应用(如面部识别和面部分析)的关键元素。面部检测提供了许多优点,包括:
- 提高安全性。面部检测改善监控工作,帮助追捕罪犯和恐怖分子。当用户可以用面部代替密码时,个人安全也得到了增强,因为没有密码或身份证明可以被黑客窃取或更改。
- 易于集成。面部检测和面部识别技术易于集成,且大多数应用程序与大多数网络安全软件兼容。
- 自动识别。在过去,身份识别是由个人手动执行的,这效率低下且常常不准确。面部检测使身份识别过程能够自动化,节省时间并提高准确性。
面部检测的缺点
面部检测也存在一些缺点,包括:
- 大量数据存储。面部检测中使用的机器学习技术需要大量的数据存储。支持该系统可能需要显著的开销和资源。
- 不准确性。面部检测提供的结果比手动识别过程更准确,但也可能受到外观变化、相机角度、表情、位置、方向、肤色、像素值、眼镜、面部毛发以及相机增益、光照条件和图像分辨率差异的影响。
- 潜在的隐私侵犯。面部检测帮助政府追捕罪犯的能力可能带来许多好处,但同样的监控使政府能够观察私民。必须制定严格的法规,以确保该技术的使用公平,并符合人类隐私权。
- 歧视。专家对面部检测在识别有色人种(尤其是女性)方面的准确性提出了担忧,这可能导致错误地将有色人种与未犯的罪行联系起来。这些担忧是对机器学习算法中种族偏见的更广泛关注的一部分。
AI系统中的种族偏见是许多专业人士关注的主要问题。
流行的面部检测软件
许多软件产品、在线服务和其他工具都集成了面部检测,包括:
- 亚马逊Rekognition是一种基于云的服务,提供可定制的计算机视觉能力,包括在实时视频流中识别个体的能力,并将个体元数据与面部配对。
- Dlib是一个C++工具包,包含机器学习算法和其他工具,用于在多个领域(包括安全、监控和图像分析)创建复杂软件。
- 谷歌云视觉API提供API,用于访问先进的视觉模型,包括基本的面部检测和图像及视频中的身份识别。
- Megvii AI算法使用深度学习分析图像中的视觉元素,包括在复杂和多样化环境中的面部检测。
- 微软面部API是一种基于云的服务,使用算法检测图像中的人脸,以支持面部检测、面部验证和面部分组等服务。
- OpenCV是一个开源计算机视觉库,用于学术和商业应用,以支持实时图像处理,包括对象检测和面部识别。
面部检测的历史
首个计算机化面部检测实验于1964年由美国数学家伍德罗·W·布莱德索(Woodrow W. Bledsoe)发起。他在加利福尼亚州帕洛阿尔托的全景研究所的团队使用了一种原始扫描仪扫描人们的面孔,并寻找匹配,试图编程计算机识别面孔。由于计算机在姿势、光照和面部表情方面的困难,该实验大多未能成功。
2001年,计算机视觉研究人员保罗·维奥拉(Paul Viola)和迈克尔·琼斯(Michael Jones)在三菱电机研究实验室提出了一种框架,以高精度实时检测人脸,面部检测方法取得了重大改进。
Viola-Jones算法训练模型以理解什么是人脸,什么不是人脸。一旦训练完成,模型提取特定特征并将其存储在文件中。这些特征可以在各个阶段与存储的特征进行比较。如果正在研究的图像通过每个特征比较阶段,则表明检测到了人脸,操作可以继续进行。
Viola-Jones框架仍然用于实时应用中的人脸识别,但它存在限制。例如,如果人脸被面具或围巾遮盖,该框架可能无法正常工作。此外,如果人脸未正确定向,算法可能无法找到它。近年来,深度学习在面部检测中取得了进展,超越了传统计算机视觉方法。
面部检测的未来
由于使用深度学习和神经网络,面部检测能力正在迅速增长。先进的算法推动面部识别系统实现更准确的实时检测。它们还使得与其他生物识别认证(如指纹和语音识别)的配对成为可能,帮助实现更先进的安全性。
在某些情况下,开发者和公司已对面部检测的进展采取了一步退的态度,例如通过面部特征检测情感的能力。他们部分是出于对AI负责任和道德使用的更大关注。例如,微软从其Azure服务中移除了情感识别能力。
许多专家在反对进一步开发面部检测和AI技术时引用了道德和隐私问题。最重要的是,面部检测和面部识别可以在没有个人同意或意识的情况下使用。此外,假阳性的风险仍然是一个问题。
即使是AI的支持者也敦促行业放慢或暂时停止开发AI系统,包括面部检测技术。他们引用了道德考虑和对不可预见的负面后果的担忧。
尽管如此,面部检测能力仍在不断演进和改进,包括情感检测。随着AI技术变得越来越复杂和强大,依赖于AI技术的面部检测能力也在提升。在未来几年,面部检测可能会在各个领域变得更加普遍,并被整合到更多平台中。它也将改善已经依赖于面部检测的系统,特别是面部识别。
尽管如此,对于面部检测和其他基于AI的技术的使用方式和时机,越来越多的人呼吁加强控制,尽管这些努力的成功与否尚不确定。
面部检测是一种处于AI前沿的技术。了解AI对商业的关键好处。
本文最后更新于2024年10月。