Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >探索 DeepFace 的奥妙和实力

探索 DeepFace 的奥妙和实力

原创
作者头像
buzzfrog
发布于 2024-07-12 16:11:11
发布于 2024-07-12 16:11:11
65801
代码可运行
举报
文章被收录于专栏:云上修行云上修行
运行总次数:1
代码可运行

在数字化时代,面部识别技术的突破性进展正在重塑我们与设备和数字世界的互动方式。由于其准确性、便捷性和高效性,这项技术已成为安全、营销和社交媒体领域中不可或缺的一环。今天,我们深入探讨 DeepFace:一个强大的面部识别和分析框架,它应用了最先进的人工智能算法来识别、分析和验证人脸。

DeepFace:简介与背景

DeepFace,一个由一系列深度学习模型支持的强大面部识别框架,其名源自于它背后的核心理念——通过深度学习技术实现准确的面部识别和属性分析。这个框架包括了从人脸检测到面部属性分析(如年龄、性别、情感和种族)以及面部识别的全面解决方案。

如何工作

DeepFace 框架的工作流程通常遵循以下几个步骤:

人脸检测:首先,它通过先进的检测算法定位图像中的人脸。

人脸对齐:然后,采用特定的预处理步骤对检测到的面部进行对齐,以提高识别精度。

特征提取:通过训练有素的深度学习模型,如 VGG-Face、Facenet 等,从对齐的人脸中提取特征。

匹配与分析:最后,将提取的特征用于面部识别、比较或面部属性分析。

关键功能

DeepFace 的魅力在于它的多功能性,它不仅能进行人脸识别,还提供了年龄、性别、情绪和种族的分析功能。其 API 支持丰富,可以满足多种用例的需求,比如:

验证:比较两张脸是否属于同一人。

识别:在数据库中识别给定面部的身份。

分析:评估面部图像中的情绪、性别、年龄和种族。

表示:将面部编码为用于后续分析或比较的特征向量。

技术深掘

DeepFace 利用了 TensorFlow 这个强大的深度学习库,通过精心设计的算法和预训练模型来实现其核心功能。它提供了灵活性高、可扩展性强的人脸识别技术,支持多种深度学习模型和不同的人脸检测后端。

代码剖析

代码语言:python
代码运行次数:1
运行
AI代码解释
复制
# 常用依赖项
import os
import warnings
import logging
from typing import Any, Dict, List, Union, Optional

# 必须在导入 tensorflow 之前设置
os.environ["TF_USE_LEGACY_KERAS"] = "1"

# pylint: disable=wrong-import-position

# 第三方依赖项
import numpy as np
import pandas as pd
import tensorflow as tf

# 包依赖项
from deepface.commons import package_utils, folder_utils
from deepface.commons import logger as log
from deepface.modules import (
    modeling,
    representation,
    verification,
    recognition,
    demography,
    detection,
    streaming,
    preprocessing,
)
from deepface import __version__

logger = log.get_singletonish_logger()

# -----------------------------------
# 依赖项配置

# 如果用户使用的是 tf 2.16 或更高版本,则应安装 tf_keras 包
package_utils.validate_for_keras3()

warnings.filterwarnings("ignore")
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
tf_version = package_utils.get_tf_major_version()
if tf_version == 2:
    tf.get_logger().setLevel(logging.ERROR)
# -----------------------------------

# 创建存储模型权重所需的文件夹(如果必要)
folder_utils.initialize_folder()


def build_model(model_name: str) -> Any:
    """
    此函数构建一个 deepface 模型
    参数:
        model_name (string): 人脸识别或面部属性模型
            VGG-Face, Facenet, OpenFace, DeepFace, DeepID 用于人脸识别
            Age, Gender, Emotion, Race 用于面部属性
    返回:
        built_model
    """
    return modeling.build_model(model_name=model_name)


def verify(
    img1_path: Union[str, np.ndarray, List[float]],
    img2_path: Union[str, np.ndarray, List[float]],
    model_name: str = "VGG-Face",
    detector_backend: str = "opencv",
    distance_metric: str = "cosine",
    enforce_detection: bool = True,
    align: bool = True,
    expand_percentage: int = 0,
    normalization: str = "base",
    silent: bool = False,
    threshold: Optional[float] = None,
    anti_spoofing: bool = False,
) -> Dict[str, Any]:
    """
    验证一对图像是否代表同一个人或不同的人。
    参数:
        img1_path (str or np.ndarray or List[float]): 第一个图像的路径。
            接受精确的图像路径作为字符串、numpy 数组 (BGR)、base64 编码的图像或预先计算的嵌入。

        img2_path (str or np.ndarray or List[float]): 第二个图像的路径。
            接受精确的图像路径作为字符串、numpy 数组 (BGR)、base64 编码的图像或预先计算的嵌入。

        model_name (str): 人脸识别模型。选项有: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace 和 GhostFaceNet(默认是 VGG-Face)。

        detector_backend (string): 人脸检测后端。选项有: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'centerface' 或 'skip'(默认是 opencv)。

        distance_metric (string): 衡量相似度的度量。选项有: 'cosine', 'euclidean', 'euclidean_l2'(默认是 cosine)。

        enforce_detection (boolean): 如果未检测到人脸则引发异常。设置为 False 以避免对低分辨率图像的异常(默认是 True)。

        align (bool): 启用人脸对齐(默认是 True)。

        expand_percentage (int): 根据百分比扩展检测到的面部区域(默认是 0)。

        normalization (string): 在将输入图像传递给模型之前进行标准化。选项有: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace(默认是 base)。

        silent (boolean): 抑制或允许一些日志信息以实现更安静的分析过程(默认是 False)。

        threshold (float): 指定阈值以确定一对是否代表同一个人或不同的个体。此阈值用于比较距离。如果未设置,则根据指定的模型名称和距离度量应用默认预调阈值(默认是 None)。

        anti_spoofing (boolean): 启用防欺骗(默认是 False)。

    返回:
        result (dict): 包含验证结果的字典,包含以下键。

        - 'verified' (bool): 表示图像是否代表同一个人(True)或不同的人(False)。

        - 'distance' (float): 面部向量之间的距离度量。距离越小,相似度越高。

        - 'threshold' (float): 用于验证的最大阈值。如果距离低于此阈值,则认为图像匹配。

        - 'model' (str): 选择的人脸识别模型。

        - 'distance_metric' (str): 选择的用于衡量距离的相似度度量。

        - 'facial_areas' (dict): 两张图像中面部的矩形感兴趣区域。
            - 'img1': {'x': int, 'y': int, 'w': int, 'h': int} 第一个图像的感兴趣区域。
            - 'img2': {'x': int, 'y': int, 'w': int, 'h': int} 第二个图像的感兴趣区域。

        - 'time' (float): 验证过程所用的时间(以秒为单位)。
    """

    return verification.verify(
        img1_path=img1_path,
        img2_path=img2_path,
        model_name=model_name,
        detector_backend=detector_backend,
        distance_metric=distance_metric,
        enforce_detection=enforce_detection,
        align=align,
        expand_percentage=expand_percentage,
        normalization=normalization,
        silent=silent,
        threshold=threshold,
        anti_spoofing=anti_spoofing,
    )


def analyze(
    img_path: Union[str, np.ndarray],
    actions: Union[tuple, list] = ("emotion", "age", "gender", "race"),
    enforce_detection: bool = True,
    detector_backend: str = "opencv",
    align: bool = True,
    expand_percentage: int = 0,
    silent: bool = False,
    anti_spoofing: bool = False,
) -> List[Dict[str, Any]]:
    """
    分析提供图像中的年龄、性别、情绪和种族等面部属性。
    参数:
        img_path (str or np.ndarray): 精确的图像路径、BGR 格式的 numpy 数组或 base64 编码的图像。如果源图像包含多个面部,将为每个检测到的面部包含信息。

        actions (tuple): 要分析的属性。默认是 ('age', 'gender', 'emotion', 'race')。可以根据需要排除一些这些属性。

        enforce_detection (boolean): 如果未在图像中检测到面部,则引发异常。设置为 False 以避免对低分辨率图像的异常(默认是 True)。

        detector_backend (string): 人脸检测后端。选项有: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'centerface' 或 'skip'(默认是 opencv)。

        distance_metric (string): 衡量相似度的度量。选项有: 'cosine', 'euclidean', 'euclidean_l2'(默认是 cosine)。

        align (boolean): 基于眼睛位置进行对齐(默认是 True)。

        expand_percentage (int): 根据百分比扩展检测到的面部区域(默认是 0)。

        silent (boolean): 抑制或允许一些日志信息以实现更安静的分析过程(默认是 False)。

        anti_spoofing (boolean): 启用防欺骗(默认是 False)。

    返回:
        results (List[Dict[str, Any]]): 字典列表,每个字典表示检测到的面部的分析结果。列表中的每个字典包含以下键:

        - 'region' (dict): 表示图像中检测到的面部的矩形区域。
            - 'x': 面部左上角的 x 坐标。
            - 'y': 面部左上角的 y 坐标。
            - 'w': 检测到的面部区域的宽度。
            - 'h': 检测到的面部区域的高度。

        - 'age' (float): 检测到面部的估计年龄。

        - 'face_confidence' (float): 检测到面部的置信度得分。表示面部检测的可靠性。

        - 'dominant_gender' (str): 检测到面部的主导性别。可能的值是 "Man" 或 "Woman"。

        - 'gender' (dict): 每个性别类别的置信度得分。
            - 'Man': 男性性别的置信度得分。
            - 'Woman': 女性性别的置信度得分。

        - 'dominant_emotion' (str): 检测到面部的主导情绪。可能的值包括 "sad," "angry," "surprise," "fear," "happy," "disgust," 和 "neutral"。

        - 'emotion' (dict): 每个情绪类别的置信度得分。
            - 'sad': 悲伤的置信度得分。
            - 'angry': 愤怒的置信度得分。
            - 'surprise': 惊讶的置信度得分。
            - 'fear': 恐惧的置信度得分。
            - 'happy': 快乐的置信度得分。
            - 'disgust': 厌恶的置信度得分。
            - 'neutral': 中立的置信度得分。

        - 'dominant_race' (str): 检测到面部的主导种族。可能的值包括 "indian," "asian," "latino hispanic," "black," "middle eastern," 和 "white"。

        - 'race' (dict): 每个种族类别的置信度得分。
            - 'indian': 印度种族的置信度得分。
            - 'asian': 亚洲种族的置信度得分。
            - 'latino hispanic': 拉美/西班牙裔种族的置信度得分。
            - 'black': 黑人种族的置信度得分。
            - 'middle eastern': 中东种族的置信度得分。
            - 'white': 白人种族的置信度得分。
    """
    return demography.analyze(
        img_path=img_path,
        actions=actions,
        enforce_detection=enforce_detection,
        detector_backend=detector_backend,
        align=align,
        expand_percentage=expand_percentage,
        silent=silent,
        anti_spoofing=anti_spoofing,
    )


def find(
    img_path: Union[str, np.ndarray],
    db_path: str,
    model_name: str = "VGG-Face",
    distance_metric: str = "cosine",
    enforce_detection: bool = True,
    detector_backend: str = "opencv",
    align: bool = True,
    expand_percentage: int = 0,
    threshold: Optional[float] = None,
    normalization: str = "base",
    silent: bool = False,
    refresh_database: bool = True,
    anti_spoofing: bool = False,
) -> List[pd.DataFrame]:
    """
    在数据库中识别人脸
    参数:
        img_path (str or np.ndarray): 精确的图像路径、BGR 格式的 numpy 数组或 base64 编码的图像。如果源图像包含多个面部,将为每个检测到的面部包含信息。

        db_path (string): 包含图像文件的文件夹路径。数据库中的所有检测到的面部将在决策过程中被考虑。

        model_name (str): 人脸识别模型。选项有: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace 和 GhostFaceNet(默认是 VGG-Face)。

        distance_metric (string): 衡量相似度的度量。选项有: 'cosine', 'euclidean', 'euclidean_l2'(默认是 cosine)。

        enforce_detection (boolean): 如果未检测到人脸则引发异常。设置为 False 以避免对低分辨率图像的异常(默认是 True)。

        detector_backend (string): 人脸检测后端。选项有: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'centerface' 或 'skip'(默认是 opencv)。

        align (boolean): 基于眼睛位置进行对齐(默认是 True)。

        expand_percentage (int): 根据百分比扩展检测到的面部区域(默认是 0)。

        threshold (float): 指定阈值以确定一对是否代表同一个人或不同的个体。此阈值用于比较距离。如果未设置,则根据指定的模型名称和距离度量应用默认预调阈值(默认是 None)。

        normalization (string): 在将输入图像传递给模型之前进行标准化。选项有: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace(默认是 base)。

        silent (boolean): 抑制或允许一些日志信息以实现更安静的分析过程(默认是 False)。

        refresh_database (boolean): 与目录或数据库文件同步图像表示(pkl)文件, 如果设置为 false,将忽略 db_path 内的任何文件更改(默认是 True)。

        anti_spoofing (boolean): 启用防欺骗(默认是 False)。

    返回:
        results (List[pd.DataFrame]): pandas 数据框列表。每个数据框对应于源图像中检测到的个人的身份信息。DataFrame 列包括:

        - 'identity': 检测到的个体的身份标签。

        - 'target_x', 'target_y', 'target_w', 'target_h': 位于数据库中目标脸的边界框坐标。

        - 'source_x', 'source_y', 'source_w', 'source_h': 源图像中检测到脸的边界框坐标。

        - 'threshold': 确定一对是否是同一个人或不同人的阈值。

        - 'distance': 基于指定模型和距离度量的脸部相似度得分。
    """
    return recognition.find(
        img_path=img_path,
        db_path=db_path,
        model_name=model_name,
        distance_metric=distance_metric,
        enforce_detection=enforce_detection,
        detector_backend=detector_backend,
        align=align,
        expand_percentage=expand_percentage,
        threshold=threshold,
        normalization=normalization,
        silent=silent,
        refresh_database=refresh_database,
        anti_spoofing=anti_spoofing,
    )


def represent(
    img_path: Union[str, np.ndarray],
    model_name: str = "VGG-Face",
    enforce_detection: bool = True,
    detector_backend: str = "opencv",
    align: bool = True,
    expand_percentage: int = 0,
    normalization: str = "base",
    anti_spoofing: bool = False,
) -> List[Dict[str, Any]]:
    """
    将人脸图像表示为多维向量嵌入。

    参数:
        img_path (str or np.ndarray): 精确的图像路径、BGR 格式的 numpy 数组或 base64 编码的图像。如果源图像包含多个面部,将为每个检测到的面部包含信息。

        model_name (str): 人脸识别模型。选项有: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace 和 GhostFaceNet(默认是 VGG-Face)。

        enforce_detection (boolean): 如果未检测到人脸则引发异常。设置为 False 以避免对低分辨率图像的异常(默认是 True)。

        detector_backend (string): 人脸检测后端。选项有: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'centerface' 或 'skip'(默认是 opencv)。

        align (boolean): 基于眼睛位置进行对齐(默认是 True)。

        expand_percentage (int): 根据百分比扩展检测到的面部区域(默认是 0)。

        normalization (string): 在将输入图像传递给模型之前进行标准化。默认是 base。选项有: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace(默认是 base)。

        anti_spoofing (boolean): 启用防欺骗(默认是 False)。

    返回:
        results (List[Dict[str, Any]]): 字典列表,每个字典包含以下字段:

        - embedding (List[float]): 表示面部特征的多维向量。维数根据参考模型的不同而不同(例如,FaceNet 返回 128 维,VGG-Face 返回 4096 维)。

        - facial_area (dict): 通过人脸检测检测到的面部区域的字典格式。包含 'x' 和 'y' 作为左上角点,'w' 和 'h' 作为宽度和高度。如果 `detector_backend` 设置为 'skip',则表示整个图像区域,并且是无意义的。

        - face_confidence (float): 面部检测的置信度。 如果 `detector_backend` 设置为 'skip',置信度将为 0 并且是无意义的。
    """
    return representation.represent(
        img_path=img_path,
        model_name=model_name,
        enforce_detection=enforce_detection,
        detector_backend=detector_backend

以上所提及的代码片段提供了一个窗口,展示了如何通过 DeepFace 框架实现面部识别和属性分析的各种功能。例如,使用 verify 函数可对两张图像进行身份验证,而 analyze 函数则用于分析图像中的面部属性。这些功能背后,涵盖了对 TensorFlow 框架深度定制的应用,以及对一系列先进的计算机视觉技术的集成应用。

应用场景

DeepFace 的潜力是巨大的,从增强安全系统的能力到改善用户体验,再到促进新兴技术的开发和部署,其应用前景非常广泛。无论是社交媒体平台上的自动化标签功能,还是零售和招聘行业中自动化的客户服务和筛选流程,DeepFace 都展现出了显著的影响力和价值。

结论

DeepFace 不仅仅是一项技术,它是人脸识别和分析领域内重要的一大步。通过不断地突破和发展,DeepFace 和类似的技术将继续推动人工智能和计算机视觉的边界,为人类带来更加安全、便捷、互联的生活方式。

在这个数字化日益增长的时代,理解和掌握如 DeepFace 这样的尖端技术,对于技术从业者和业界观察者来说至关重要。随着技术的进步和应用范围的扩大,它的影响只会变得越来越深远。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
DeepFace:人脸识别库 DeepFace 简单认知
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/08/21
2.1K0
DeepFace:人脸识别库 DeepFace 简单认知
人工智能 deepface 换脸技术 学习
Deepface是一个轻量级的python人脸识别和人脸属性分析(年龄、性别、情感和种族)框架。它是一种混合人脸识别框架缠绕状态的最先进的模型:VGG-Face,Google FaceNet,OpenFace,Facebook DeepFace,DeepID,ArcFace和Dlib。那些模型已经达到并通过了人类水平的准确性。该库主要基于 TensorFlow 和 Keras。
小陈运维
2021/11/13
3.4K0
人工智能 deepface 换脸技术 学习
Deepface是一个轻量级的python人脸识别和人脸属性分析(年龄、性别、情感和种族)框架。它是一种混合人脸识别框架缠绕状态的最先进的模型:VGG-Face,Google FaceNet,OpenFace,Facebook DeepFace,DeepID,ArcFace和Dlib。那些模型已经达到并通过了人类水平的准确性。该库主要基于 TensorFlow 和 Keras。
小陈运维
2022/08/19
2.4K0
人工智能 deepface 换脸技术 学习
开源六轴协作机器人myCobot 320结合人脸表情识别情绪!
在大家的印象中,机械臂通常被应用在工业领域,执行一些重复性工作,以帮助和替代人类。然而,机械臂不仅限于此,它们也可以成为陪伴型机器人,为我们提供更多样化的互动体验。
大象机器人
2024/08/12
3310
开源六轴协作机器人myCobot 320结合人脸表情识别情绪!
实战:人脸识别的Arcface实现 | CSDN博文精选
本文将简单讲述arcface从训练到部署的整个过程,主要包括前期的数据筛选和准备,模型训练以及模型部署。
AI科技大本营
2019/10/28
9K0
实战:人脸识别的Arcface实现 | CSDN博文精选
算力加速人脸识别技术发展:一文了解人脸识别开源库和数据集
人脸识别在我们的生活中随处可见,例如在大楼门禁系统中,它取代了传统的门禁卡或密码,提高了进出的便捷性和安全性。在商场安保方面,人脸识别被广泛应用于监控系统,有助于识别和跟踪潜在的犯罪嫌疑人或失踪人员,提升了安全防范的能力。另外,手机解锁也是人脸识别技术的重要应用之一,它为用户提供了一种快捷、便利的身份验证方式,替代了传统的密码或指纹识别。
CV君
2024/03/13
9640
算力加速人脸识别技术发展:一文了解人脸识别开源库和数据集
使用Pytorch和OpenCV实现视频人脸替换
“DeepFaceLab”项目已经发布了很长时间了,作为研究的目的,本文将介绍他的原理,并使用Pytorch和OpenCV创建一个简化版本。
deephub
2023/08/30
6770
使用Pytorch和OpenCV实现视频人脸替换
使用Keras和OpenCV实时预测年龄、性别和情绪 (详细步骤+源码)
来源 | https://towardsdatascience.com/real-time-age-gender-and-emotion-prediction-from-webcam-with-keras-and-opencv-bde6220d60a
Color Space
2022/05/26
1.9K0
使用Keras和OpenCV实时预测年龄、性别和情绪 (详细步骤+源码)
超有趣!手把手教你使用树莓派实现实时人脸检测
选自hackster 作者:MJRoBot 机器之心编译 本文介绍了如何在树莓派上,使用 OpenCV 和 Python 完成人脸检测项目。该项目不仅描述了识别人脸所需要的具体步骤,同时还提供了很多扩
机器之心
2018/05/10
2.5K0
10行代码实现python人脸识别
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
星星在线
2020/05/22
5.2K1
使用Python+OpenCV+FaceNet 实现亚马逊门铃系统上的人脸识别
作为一个新的亚马逊门铃的买家,我喜欢它提供的炫酷功能。然而,我认为我可以做一些改进。我需要的是为住在我家的人定制的门铃。要是门铃能认出是谁在敲门就好了。看到门铃是多么的受欢迎,我决定帮助大多数家庭,最好方法是让他们能够毫不费力地定制他们的门铃。
abs_zero
2021/03/19
1.1K0
使用Python+OpenCV+FaceNet 实现亚马逊门铃系统上的人脸识别
OpenCV4.0实现人脸识别
OpenCV4.0深度神经网络模块,支持openface模型的导入,提取人脸的128特征向量,进行相似度比对,实现人脸识别。Openface模型的详细信息看这里
OpenCV学堂
2019/04/29
7.5K3
OpenCV4.0实现人脸识别
精通 Python OpenCV4:第三、四部分
在本书的第三部分中,您将体验一下机器学习和深度学习。 我们将探索和利用 OpenCV 的机器学习模块。 此外,您还将学习如何使用与人脸检测,跟踪和识别相关的最新算法来创建人脸处理项目。 最后,将向您介绍 OpenCV 和一些深度学习 Python 库(TensorFlow 和 Keras)的深度学习领域。
ApacheCN_飞龙
2023/04/27
1.5K0
美团如何基于深度学习实现图像的智能审核?
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人、无人配送等多个领域,帮助美团数亿消费者和数百万商户改善服务和体验,帮大家吃得更好,生活更好。
美团技术团队
2019/03/22
2.1K0
美团如何基于深度学习实现图像的智能审核?
【干货】通过OpenFace来理解人脸识别
【导读】本文是Stephanie Kim的一篇博文你,作者探讨的是一个老生常谈的话题“人脸识别”,介绍针对人脸识别任务的一个特定的开源库——OpenFace。作者之所以专门介绍该开源库,说明该库必然是
WZEARW
2018/04/12
5K0
【干货】通过OpenFace来理解人脸识别
基于 Web 端的人脸识别身份验证
本文首发于政采云前端团队博客:基于 Web 端的人脸识别身份验证 https://www.zoo.team/article/web-face-recognition
政采云前端团队
2020/06/17
4.8K0
Python的开源人脸识别库:离线识别率高达99.38%
github源码:https://github.com/ageitgey/face_recognition#face-recognition 以往的人脸识别主要是包括人脸图像采集、人脸识别预处理、身份确认、身份查找等技术和系统。现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测、行人跟踪、甚至到了动态物体的跟踪。由此可以看出,人脸识别系统已经由简单的图像处理发展到了视频实时处理。而且算法已经由以前的Adaboots、PCA等传统的统计学方法转变为CNN、RCNN等深度学习及其变形的方法。现在也有相当一部分
小小科
2018/05/04
3.1K0
Python的开源人脸识别库:离线识别率高达99.38%
多模态PCANet:一种高精度、低复杂度的鲁棒3D活体检测方案
当下正值新冠肺炎(COVID-19)肆虐全球之际,戴口罩成为了全民阻断病毒传播的最佳方式。然而在人脸部分遮挡或恶劣光照条件下,用户人脸识别或人脸认证的合法访问常常提示活体检测失败,甚至根本检测不到人脸。这是由于目前基于RGB等2D空间的主流活体检测方案未考虑光照、遮挡等干扰因素对于检测的影响,而且存在计算量大的缺点。而数迹智能团队研发的3D SmartToF活体检测方案则可以有效解决此问题。那么什么是活体检测?什么又是3D活体检测?以及怎么实现恶劣环境(如人脸遮挡、恶劣光照等)与人脸多姿态变化(如侧脸、表情等)应用场景下的活体检测呢?本文将会围绕这些问题,介绍数迹智能的最新成果——基于ToF的3D活体检测算法。
3D视觉工坊
2020/11/11
1.5K0
多模态PCANet:一种高精度、低复杂度的鲁棒3D活体检测方案
CVPR 2022上人脸识别相关的论文分类整理
人脸识别是AI研究的一个重要的方向,CVPR 2022也有很多相关的论文,本篇文章将针对不同的应用分类进行整理,希望对你有帮助
deephub
2022/11/11
1.3K0
CVPR 2022上人脸识别相关的论文分类整理
8行代码中的人脸检测,识别和情感检测!
人类总是具有识别和区分面部的天生能力。现在计算机能够做到这一点。这开辟了大量的应用程序。人脸检测和识别可以用来改善访问和安全性,就像最新的Apple Iphone一样,允许在没有物理卡的情况下处理付款 - iphone也这样做!,启用犯罪识别并允许个性化的医疗保健和其他服务。人脸检测和识别是一个研究很多的话题,网上有大量的资源。已经尝试了多个开源项目,以找到最准确实现的项目。还创建了一个管道,用于在加载图像后只需8行代码就任何输入图像进行检测,识别和情感理解!代码是开源的Github。
代码医生工作室
2019/06/21
1.2K0
8行代码中的人脸检测,识别和情感检测!
推荐阅读
相关推荐
DeepFace:人脸识别库 DeepFace 简单认知
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验