当前的技术以惊人的创新让人们惊叹不已,这些创新不仅使生活变得简单,而且令人难以忍受。随着时间的推移,人脸识别已被证明是侵入性最小、速度最快的生物特征验证形式。该软件使用深度学习算法将实时捕获的图像与存储的面部指纹进行比较,以验证一个人的身份。图像处理和机器学习是这项技术的支柱。由于在机场、犯罪侦查、人脸跟踪、取证等各种安全应用中发现的人类活动,人脸识别受到了研究人员的极大关注。与掌纹、虹膜、指纹等其他生物识别特征相比,面部生物识别技术可以是非侵入性的。

​

    即使用户不知情,也可以使用它们,并进一步用于基于安全的应用程序,如犯罪侦查、面部跟踪、机场安全和法医监控系统。人脸识别涉及从视频或监控摄像头捕获人脸图像。它们与存储的数据库进行比较。人脸识别涉及训练已知图像,使用已知类别对它们进行分类,然后将它们存储在数据库中。当测试图像提供给系统时,会对其进行分类并与存储的数据库进行比较。

    人脸识别

    使用人工智能 (AI) 的人脸识别是一种计算机视觉技术,用于从图像或视频中识别人或物体。它结合使用了深度学习、计算机视觉算法和图像处理等技术。这些技术用于使系统能够检测、识别和验证数字图像或视频中的人脸。

    ​

    该技术在各种应用中越来越受欢迎,例如解锁智能手机、解锁门、护照身份验证、安全系统、医疗应用等。甚至还有一些模型可以从面部表情中检测情绪。

    人脸识别和人脸检测的区别

    人脸识别是从图像或视频源中识别人员的过程,人脸检测是在图像或视频源中检测人脸的过程。在人脸识别的情况下,根据某人的面部特征识别和区分某人的面部。它涉及更高级的处理技术,以根据特征点提取和比较算法来识别个人的身份。并可用于自动考勤系统或安全检查等应用。虽然人脸检测是一个更简单的过程,可用于图像标记或根据检测到的人脸更改照片角度等应用程序。这是人脸识别过程的初始步骤,是一个更简单的过程,只需识别图像或视频源中的人脸。

    图像处理和机器学习

    计算机的图像处理涉及计算机视觉的过程。它涉及对数字图像或视频的高级理解。要求是自动化人类视觉系统可以完成的任务。因此,计算机应该能够识别人脸或灯柱甚至雕像等物体。

    图片阅读:

    计算机读取 0 到 255 之间值范围内的任何图像。对于任何彩色图像,都有 3 种原色 – 红色、绿色和蓝色。为每种原色形成一个矩阵,然后这些矩阵组合在一起,为单个 R、G 和 B 颜色提供像素值。矩阵的每个元素都提供有关像素亮度强度的数据。

    OpenCV 是一个 Python 库,旨在解决计算机视觉问题。OpenCV 最初由 Intel 于 1999 年开发,但后来得到 Willow Garage 的支持。
     

    机器学习

    每个机器学习算法都以数据集作为输入并从数据中学习,这基本上意味着从提供的输入和输出中学习算法。它识别数据中的模式并提供所需的算法。例如,要识别给定图像中存在谁的人脸,可以将多个事物视为一种模式:

    • 脸的高度/宽度。
    • 高度和宽度可能不可靠,因为图像可能会被重新缩放为更小的面部或网格。然而,即使在重新缩放之后,比例也保持不变——脸的高度与脸宽的比率不会改变。
    • 脸的颜色。
    • 面部其他部位的宽度,如嘴唇、鼻子等。

    这涉及到一种模式 – 不同的面有不同的尺寸,就像上面所说的那样。相似的面具有相似的尺寸。机器学习算法只理解数字,因此非常具有挑战性。“人脸”(或训练集中的元素)的这种数字表示称为特征向量。特征向量由特定顺序的各种数字组成。

    举个简单的例子,我们可以将 “face” 映射到一个特征向量,该向量可以包含各种特征,例如:

    • 脸部高度 (cm)
    • 脸的宽度 (cm)
    • 面部平均颜色 (R、G、B)
    • 嘴唇宽度 (cm)
    • 鼻子高度 (cm)

    从本质上讲,给定一张图像,我们可以将它们转换为特征向量,例如:

    脸部高度 (cm) 脸部宽度 (cm) 脸部平均颜色 (RGB) 嘴唇宽度 (cm) 鼻子高度 (cm)

    23.1 15.8 (255, 224, 189) 5.2 4.4

    因此,图像现在是一个可以表示为 (23.1, 15.8, 255, 224, 189, 5.2, 4.4) 的向量。图像中可能有无数其他特征,例如,头发颜色、面部毛发、眼镜等。

    机器学习在人脸识别技术中发挥了两个主要功能。这些如下:

    1. 推导特征向量:很难手动列出所有特征,因为太多了。机器学习算法可以智能地标记出许多此类特征。例如,一个复杂的特征可能是鼻子的高度和前额的宽度的比率。
    2. 匹配算法:获得特征向量后,机器学习算法需要将新图像与语料库中存在的特征向量集进行匹配。
    3. 人脸识别作

    人脸识别作

    在面部识别方面,技术系统可能会有所不同。不同的软件采用不同的方法和手段来实现人脸识别。逐步方法如下:

    • 人脸检测: 首先,相机将检测并识别人脸。当人直视摄像头时,可以最好地检测到人脸,因为它很容易进行面部识别。随着技术的进步,这种情况得到了改善,可以检测到人脸,但面对摄像头的面部姿势会略有不同。
    • 人脸分析: 然后捕获并分析面部照片。大多数面部识别依赖于 2D 图像而不是 3D,因为它更方便与数据库匹配。面部识别软件将分析您眼睛之间的距离或颧骨的形状。
    • 图像到数据的转换: 现在它被转换为数学公式,这些面部特征变成了数字。此数字代码称为面纹。每个人都有独特的指纹,同样,他们也有独特的脸印。
    • 匹配结果: 然后将代码与其他面部指纹的数据库进行比较。该数据库包含可以比较的带有身份证明的照片。然后,该技术会识别出与所提供数据库中的确切特征的匹配项。它返回匹配项和附加信息,例如姓名和地址,或者取决于保存在个人数据库中的信息。

    实现

    步骤:

    • 导入必要的包
    • 加载已知人脸图像并进行已知图像的人脸嵌入
    • 启动实时摄像机
    • 逐帧录制来自实时摄像机的图像
    • 使用 face_recognization face_location 命令进行人脸检测
    • 在面周围创建矩形
    • 对相机拍摄的人脸进行人脸编码
    • 如果人脸匹配,则绘制人员图像,否则继续
    • Python3 语言

    # Import the necessary packages
    import cv2 as cv
    import face_recognition
    import matplotlib.pyplot as plt
     
     
    # Load the known image
    known_image = face_recognition.load_image_file("pawankrgunjan.jpeg")
    known_faces = face_recognition.face_encodings(face_image = known_image,
                                                  num_jitters=50,
                                                  model='large')[0]
     
    # Lanch the live camera
    cam = cv.VideoCapture(0)
    #Check camera
    if not cam.isOpened():
        print("Camera not working")
        exit()
         
    # when camera is opened
    while True:
         
        # campture the image frame-by-frame
        ret, frame = cam.read()
         
        # check frame is reading or not
        if not ret:
            print("Can't receive the frame")
            break
     
        # Face detection in the frame
        face_locations = face_recognition.face_locations(frame)
     
        for face_location in face_locations:
            top, right, bottom, left = face_location
            # Draw a rectangle with blue line borders of thickness of 2 px
            frame = cv.rectangle(frame,  (right,top), (left,bottom), color = (0,0, 255), thickness=2)
        # Check the each faces location in each frame
        try:
            # Frame encoding
            Live_face_encoding = face_recognition.face_encodings(face_image = frame,
                                                                  num_jitters=23,
                                                                  model='large')[0]
     
            # Match with the known faces
            results = face_recognition.compare_faces([known_faces], Live_face_encoding)
     
            if results:
                img = cv.cvtColor(frame, cv2.COLOR_BGR2RGB)
                img = cv.putText(img, 'PawanKrgunjan', (30, 55), cv2.FONT_HERSHEY_SIMPLEX, 1,
                        (255,0,0), 2, cv2.LINE_AA)
                print('Pawan Kumar Gunjan Enter....')
                plt.imshow(img)
                plt.show()
                break
        except:
            img = cv.putText(frame, 'Not PawanKrgunjan', (30, 55), cv2.FONT_HERSHEY_SIMPLEX, 1,
                    (255,0,0), 2, cv2.LINE_AA)
            # Display the resulting frame
            cv.imshow('frame', img)
            # End the streaming
            if cv.waitKey(1) == ord('q'):
                break
         
     
    # Release the capture
    cam.release()
    cv.destroyAllWindows()

    输出:

    Pawan Kumar Gunjan Enter....

    人脸识别-Geeksforgeeks

    人脸识别

    使用深度学习和其他方法可以进一步提高模型的准确性。

    人脸识别软件

    许多知名公司不断创新和即兴创作,以开发万无一失且可靠的人脸识别软件。下面将讨论一些突出的软件:

    a. 深度视觉 AI

    Deep Vision AI 是一家在面部识别软件方面表现出色的领跑者公司。该公司拥有先进的计算机视觉技术,可以自动理解图像和视频。然后,它将视觉内容转化为实时分析,并提供非常有价值的见解。

    Deep Vision AI 为其全球用户提供了一个即插即用的平台。根据通过各种基于 AI 的模块对摄像机流的分析,用户可以获得实时警报和更快的响应。该产品通过持续监控目标区域,提供对观察名单上个人的高度准确识别率。该软件非常灵活,可以连接到任何现有的摄像机系统,也可以通过云进行部署。

    目前,Deep Vision AI 提供了市场上性能最好的解决方案,支持每个 GPU +15 个流的实时处理。

    通过提供有关客户、他们的访问频率或增强安全性的实时数据,可以帮助收集商业智能。此外,该软件的输出可以提供计数、年龄、性别等属性,这些属性可以增强对消费者行为、不断变化的偏好、随时间变化以及可以指导未来营销工作和策略的条件的理解。用户还将人脸识别功能与 Deep Vision AI 的其他基于 AI 的功能(如车辆识别)相结合,以获取消费者的更多相关数据。

    公司遵守国际数据保护法,并采取重要措施对其客户生成的数据进行透明和安全的处理。数据隐私和道德得到照顾。

    潜在市场包括城市、公共场所、公共交通、教育机构、大型零售商等。Deep Vision AI 是 NVIDIA 的 Metropolis、Dell Digital Cities、Amazon AWS、Microsoft、Red Hat 等的认证合作伙伴。

    b.商汤科技

    • 商汤科技是一家领先的平台开发商,致力于利用人工智能和大数据分析的创新技术创建解决方案。商汤科技提供的技术是多功能的。这项技术的各个方面正在扩展,包括面部识别、图像识别、智能视频分析、自动驾驶和医学图像识别的能力。SenseTime 软件包括不同的子部分,即 SensePortrait-S、SensePortrait-D 和 SenseFace。
    • SensePortrait-S 是一款静态人脸识别服务器。它包括从图像源进行人脸检测、提取特征、提取和分析属性以及从庞大的人脸图像数据库中检索目标的功能
    • SensePortrait D 是一款动态人脸识别服务器。包括人脸检测、人脸跟踪、特征提取以及从多个监控视频流中的数据中比较和分析数据。
    • SenseFace 是一个人脸识别监控平台。此实用程序是一种使用深度学习算法的人脸识别技术。SenseFace 在智能视频分析的集成解决方案方面非常高效。它可以广泛用于目标监视、一个人的轨迹分析、人口管理和相关的数据分析等
    • 商汤科技已为许多公司和政府机构提供服务,包括本田、高通、中国移动、银联、华为、小米、OPPO、Vivo 和微博。

    c. Amazon Rekognition

    Amazon 提供基于云的软件解决方案Amazon Rekognition 是一个服务型计算机视觉平台。该解决方案提供了一种简单的方法,可以将图像和视频分析添加到各种应用程序中。它使用高度可扩展且经过验证的深度学习技术。用户无需具备任何机器学习专业知识即可使用此软件。该平台可用于识别图像和视频中的对象、文本、人物、活动和场景。它还可以检测任何不适当的内容。用户可以获得高度准确的面部分析和面部搜索功能。因此,该软件可以通过检测、分析和比较人脸轻松用于验证、人数统计和公共安全。

    组织可以根据其业务需求使用 Amazon Rekognition 自定义标签生成有关图像中可用的特定对象和场景的数据。例如,可以轻松构建模型来对装配线上的特定机器部件进行分类或检测不健康的工厂。用户只需提供他想要识别的对象或场景的图像,其余部分由服务处理。

    d. FaceFirst

    FaceFirst 软件可确保社区安全、安全交易和出色的客户体验。FaceFirst 是安全、准确、私密、快速且可扩展的软件。还包括用于物理安全、身份身份验证、访问控制和访客分析的即插即用解决方案。它可以轻松集成到任何系统中。该计算机视觉平台已被许多组织用于人脸识别和自动视频分析,以防止犯罪并提高客户参与度。

    作为有效面部识别系统的领先提供商,它使零售、运输、活动安全、赌场以及其他行业和公共空间受益。FaceFirst 确保将人工智能与现有监控系统集成,以防止盗窃、欺诈和暴力。

    e.真面

    TrueFace 是一种领先的计算机视觉模型,可帮助人们了解他们的相机数据并将数据转换为可作的信息。TrueFace 是一种本地计算机视觉解决方案,可增强数据安全性和性能速度。基于平台的解决方案根据单个部署的要求进行了专门培训,并在各种生态系统中有效运行。该软件将训练数据的多样性放在首位。它确保所有用户都能获得相同的性能,无论他们的要求如何。

    Trueface 开发了一套基于 Machine Learning 和人工智能功能的 SDK 和 Docker 化容器解决方案。该套件可以将摄像机数据转换为可作的情报。它可以帮助组织使用面部识别、武器检测和年龄验证技术为其员工、客户和客人创造更安全、更智能的环境。

    f.面孔++ 

    • Face++ 是由中国公司旷视支持的开放平台。它提供计算机视觉技术。它允许用户轻松地将基于深度学习的图像分析识别技术集成到他们的应用程序中。
    • Face++ 以惊人的方式使用 AI 和机器视觉来检测和分析人脸,并准确确认一个人的身份。Face++ 也是一个开放平台,对开发人员友好,因此任何开发人员都可以使用其算法创建应用程序。此功能使 Face++ 成为世界上最广泛的面部识别平台,有来自 150 个国家/地区的 300,000 名开发人员使用它。
    • Face++ 最重要的用途是集成到阿里巴巴的 City Brain 平台中。这使得对城市闭路电视网络的分析能够优化交通流量,并通过观察事件来引导医务人员和警察的注意力。

    g.凯罗斯

    • Kairos 是一种最先进的、合乎道德的人脸识别解决方案,可供全球的开发人员和企业使用。Kairos 可以通过 Kairos 云 API 用于人脸识别,或者用户可以在其服务器上托管 Kairos。该实用程序可用于控制数据、安全性和隐私。组织可以确保为其客户提供更安全、更好的辅助功能体验。
    • Kairos Face Recognition On-Premises 具有控制数据隐私和安全的额外优势,将关键数据保存在内部并免受任何潜在第三方/黑客的侵害。支持人脸识别的产品的速度大大提高,因为它不会遇到与公有云部署相关的延迟和其他风险问题。
    • Kairos 是一种超可扩展的架构,因此搜索 1000 万张面孔可以与 1 张面孔大致同时完成。它正在被市场张开双手接受。

    h.认知

    Cognitec 的 FaceVACS 引擎使用户能够开发新的人脸识别应用程序。该引擎用途广泛,因为它允许清晰且合乎逻辑的 API,以便轻松集成到其他软件程序中。Cognitec 允许通过定制的软件开发套件使用 FaceVACS 引擎。该平台可以通过特定于每个用例和计算平台的一组功能和模块轻松定制。该软件的功能包括图像质量检查、安全文档签发和通过准确验证进行访问控制。

    其独特功能包括:

    • 非常强大的人脸定位和人脸跟踪
    • 用于注册、验证和识别的高效算法
    • 准确检查年龄、性别、年龄、曝光、姿势偏差、眼镜、闭眼、均匀照明检测、不自然颜色、图像和面部几何形状
    • 通过提供 ISO 19794-5 正面图像类型检查和格式设置来满足 ePassport 的要求

    人脸识别的使用

    虽然面部识别似乎很未来主义,但它目前正以多种方式使用。以下是这项技术的一些令人惊讶的应用。

    遗传疾病鉴定:

    有 Face2Gene 等医疗保健应用程序和 Deep Gestalt 等软件,它们使用面部识别来检测遗传疾病。然后分析此人脸并将其与现有的疾病数据库进行匹配。

    航空业:

    一些航空公司使用面部识别来识别乘客。这款面部扫描仪将有助于节省时间并防止跟踪票据的麻烦。

    医院安全:

    面部识别可以在医院用于记录患者,这比保存记录并查找他们的姓名和地址要好得多。工作人员很容易使用此应用程序并在几秒钟内识别患者并获取其详细信息。其次,可用于安全目的,它可以检测该人是否真实或是否为患者。

    情绪和情绪检测:

    实时情绪检测是人脸识别在医疗保健领域的另一个有价值的应用。它可用于检测患者在住院期间表现出的情绪,并分析数据以确定他们的感受。分析结果可能有助于确定患者在感到痛苦或悲伤时是否需要更多关注。

    问题和挑战

    人脸识别技术面临多项挑战。以下段落讨论了人脸识别系统在检测和识别人脸时可能遇到的常见问题和挑战。

    • 姿势: 人脸识别系统可以容忍旋转角度较小的情况,但很难检测角度是否会很大,如果数据库不包含人脸的所有角度,则可能会带来问题。
    • 表达 式: 由于情绪,人类的情绪会发生变化,并导致不同的表达。通过这些面部表情,机器可能会犯错误以找到正确的人的身份。
    • 衰老:随着时间和年龄的面部变化,它是独一无二的,不会保持僵化,因此可能很难识别现在 60 岁的人。
    •  闭塞: 闭塞意味着阻塞。这是因为脸上存在各种遮挡物体,如眼镜、胡须、小胡子等,当捕捉图像时,脸部缺少一些部分。这样的问题会严重影响识别系统的分类过程。
    • 照明: 照明是指光线的变化。照明度变化可以改变从对象反射的光强度的总体量级,以及图像中可见的阴影和阴影模式。人们普遍认为,根据照明变化进行人脸识别的问题对人类和算法来说都是困难的。照明条件带来的困难是自动人脸识别系统面临的挑战。
    • 识别相似的人脸: 不同的人可能具有相似的外表,有时无法区分。

    人脸识别的缺点

    1. 自动地毯式监控的危险
    2. 缺乏明确的法律或监管框架
    3. 违反必要性和相称性原则
    4. 侵犯隐私权
    5. 对民主政治文化的影响

    更多推荐