人脸识别insightface库环境搭建

AI 实战 - 基于 insightface 的人脸识别 face 深度学习, cnn, insightface 阅读详情

基础环境

        1、该实验是在Anaconda或Miniconda独立环境中测试部署的,由于Anaconda或Miniconda环境部署网上资料较多,这里就不在赘述。

        2、由于InsightFace是一个开源的人脸识别框架,它基于深度学习技术,能够提供高精度的人脸识别服务,因此需要支持所需的GPU环境,这个在之前博客有详细教程:https://blog.youkuaiyun.com/ddazz0621/article/details/149071101这里不在赘述。基础环境截图如下:

环境搭建

        1、创建python独立环境命令:

conda create -n insightface_env python=3.8 -y

        2、进入新创建的python独立环境命令:

conda activate insightface_env

        查看当前python独立环境的相关库如下:

        3、conda install 安装所需依赖库命令如下:

conda install numpy scipy matplotlib pandas scikit-learn -y

        上述命令安装成功后,conda list 查看安装库部分截图如下:

        4、pip 安装所需依赖库命令如下:

pip install mxnet-cu112  onnxruntime-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

        安装成功截图如下:

        5、安装insightface库命令如下:

pip install insightface -i https://pypi.tuna.tsinghua.edu.cn/simple

        执行上述命令在我的环境中报错,这是因为我的基础环境中g++版本过低,两种方案:1、升级系统g++版本;2、conda 环境安装高版本g++。我选的是方案2:,命令如下:

conda install gxx_linux-64=11.2.0

        执行成功截图如下:

        后续再安装insightface库执行成功截图如下:

        测试库调用成功截图如下:

案例测试

        测试insightface库的简单代码如下:

import cv2
import numpy as np
from insightface.app import FaceAnalysis
import os

# 初始化人脸识别模型
app = FaceAnalysis(name="buffalo_l",providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
print("----------------111------------------")
app.prepare(ctx_id=0, det_size=(640, 640))



def load_and_detect_face(image_path):
    if not os.path.exists(image_path):
        print(f"错误: 找不到图像: {image_path}")
        return None, None

    image = cv2.imread(image_path)
    if image is None:
        print(f"错误: 无法读取图像: {image_path}")
        return None, None

    faces = app.get(image)

    if len(faces) == 0:
        print(f"未能在图像中检测到人脸: {image_path}")
        return None, None
    else:
        return image, faces[0].embedding

def compare_faces(embedding1, embedding2):
    if embedding1 is None or embedding2 is None:
        return None

    cosine_similarity = np.dot(embedding1, embedding2) / (np.linalg.norm(embedding1) * np.linalg.norm(embedding2))
    return cosine_similarity

if __name__ == "__main__":
    # 替换为你的图片路径
    image1_path = r'./pic/bao1.png'  # 第一个人的图像路径
    image2_path = r'./pic/bao2.png'  # 第二个人的图像路径

    # 加载并检测第一张图像
    image1, embedding1 = load_and_detect_face(image1_path)
    
    # 加载并检测第二张图像
    image2, embedding2 = load_and_detect_face(image2_path)

    # 比较两张人脸
    similarity = compare_faces(embedding1, embedding2)

    if similarity is not None:
        print(f"两张人脸的相似度: {similarity:.4f}")

        # 设置阈值以判断是否为同一人
        threshold = 0.5  # 根据需要调整阈值
        if similarity > threshold:
            print("这两张人脸是同一个人。")
        else:
            print("这两张人脸不是同一个人。")


        执行截图如下:

        由于第一次执行会下载模型,因此相对较慢。上述代码案例用的两张识别图片如下:

 

        上述两张图片用face_recognition库识别时出错(出错的原因是第一张图没发现有人脸),但用insightface库检测通过。通过多次比对测试,笔者觉得insightface库人脸识别能力比较准确。

人脸识别开源项目--insightface 1 insightface简介 最近人脸识别等机器学习的项目很火,偶然间发现了一个开源的人脸识别的开源项目insightface。 人脸识别技术可以准确识别出图像中的人脸和身份,具有丰富的应用场景,譬如金融场景下的刷脸支付、安防场景下的罪犯识别和医学场景下的新冠流行病学调查等等。人脸识别的算法演变经历了以 PCA 为代表的早期阶段,再到以“人工特征+分类器”为主的统计学习方法阶段,近几年,随着大数据及 GPU 算力的爆发,人脸识别进入到深度学习算法为绝对主角的阶段。 InsightFace是基于 M. 阅读详情

相关推荐

基于Insightface的人脸识别

Insightface是在人脸识别方向继facenet:https://github.com/davidsandberg/facenet后又一个比较完善的开源项目。 先给出论文地址:https://arxiv.org/pdf/1801.07698.pdf 项目源码地址:deepinsight/insightface 这里也提供一个如何运行该项...

Danbinbo的博客 1万+

【全网最详细】ComfyUI下,Insightface安装指南-聚梦小课堂

​ComfyUI下使用IP-adapter下的faceID模型的时候,大家可能会遇到如下错误: Error occurred when executing InsightFaceLoader: No module named 'insightface' File "F:\ComfyUI-aki\execution.py"...那这个InsightFace应该怎么安装呢?这篇温江就详细介绍一下。

聚梦小课堂 3万+

windows insightface库 人脸识别入门教程

初学insightface,在网上找了几天的博客,但是大多都是在Linux上运行的教程。而且我下的源代码跟他们的结构完全不一样,一度怀疑自己下错了。后来发现是因为作者一直在迭代更新,到现在跟之前已经有很大不同了。为了便于自己入门,所以我去github上下载了作者19年的版本。 环境配置 环境配置按照https://zhuanlan.zhihu.com/p/33750684所说就行,cuda10.1也可以运行。 源码下载 https://github.com/deepinsight/insightface#t

weixin_43974261的博客 5433

人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)

InsightFace人脸识别,基于开源ArcFace(也称InsightFace)模型搭建一套完整的Python版本人脸识别系统(Face Recognition or Face Identification);整套人脸识别系统核心算法包含人脸检测和人脸关键点检测,人脸校准,人脸特征提取以及人脸比对(1:1)和人脸搜索(1:N)。

AI吃大瓜的博客 3万+

mxnet+insightface搭建

文章目录mxnet+insightface框架搭建1. 安装 python22. 安装 mxnet3. 克隆insightface仓库到本地4. 基本配置5. 试运行5.1 训练5.2 验证5.3 特征提取5.4 人脸对齐5.5 人脸检测 mxnet+insightface框架搭建 1. 安装 python2 insightface使用python2.7(2010年1月就退役了emmm),安装an...

quyan的博客 5189

人脸识别与insightFace梳理

一、基础知识 1.相关信息链接(总览): http://www.sohu.com/a/225358405_473283 https://www.cnblogs.com/shouhuxianjian/p/9789243.html 人脸识别文献综述——学术版(Deep face recognition: a survey v4) http://www.elecfans.com/d/709424...

zcc的博客 3332

insightface搭建+测试+代码编写

环境搭建 本教程的人脸识别是使用的是insightface库进行开发的,该库使用的框架为ONNX,使用的是Anaconda环境。 2.

DreamWeaver_Zhou 1047

基于insightface实现的人脸检测,人脸识别,insightface源码讲解。

基于insightface实现的人脸检测,人脸识别,insightface源码讲解。

m0_55674689的博客 1万+

最简单的人脸识别系统搭建

前言:人脸识别系统目前已经非常的成熟了,所以也有一些优秀的开源项目,比如我们今天要用的到insightface,它包含了人脸检测和识别模块。 配置 Windows 10 python3.6 mxnet-cu100 1.5.0 cuda10 numpy 1.14.5 首先我们了解一下这里的人脸识别是怎么做的分为一下几步骤。 1.检测人脸,就是从图片检测出来人脸所在的位置。 2.根据返回出来的的人脸位...

cszhangjinchao的博客 6977

InsightFace 人脸识别算法实现过程解析

insightface算法实现

weixin_43366149的博客 1359

Flask人脸识别签到系统实战:从选型到避坑

人脸识别签到系统通过摄像头采集人脸图像,利用深度学习模型提取特征并与底库比对,实现身份验证与自动记录。其技术价值在于替代纸质签到,提升效率与准确性,适用于活动签到、考勤管理等场景。在Python生态中,Flask框架凭借轻量灵活的特性,与face_recognition、InsightFace等识别库无缝集成,成为搭建签到系统的理想后端选择。本文围绕Flask人脸识别签到系统的完整实现,涵盖技术选型、代码落地及部署避坑,帮助开发者快速构建稳定可用的签到应用。

weixin_32175665的博客 266

RK3588与香橙派5 Plus端侧人脸识别实战:从RetinaFace到ArcFace

人脸识别作为计算机视觉的核心技术,已广泛应用于门禁、考勤与安防场景。传统云端方案虽易实现,却面临延迟、隐私与成本问题,而端侧推理直接将模型部署到边缘设备,在本地完成特征提取与比对。瑞芯微RK3588芯片凭借4颗A76大核与6 TOPS NPU,成为运行ONNX Runtime推理的理想平台。在香橙派5 Plus上,借助insightface工具库,使用RetinaFace进行精确的人脸检测,配合基于ArcFace损失的识别模型,可输出鲁棒的512维人脸特征向量,仅靠CPU即可实现每秒2-3帧的实时识别。本文

weixin_33937499的博客 415

数据库原理及应用教程课后习题答案 第4版 微课版 陈志泊主编

数据库原理及应用教程 第4版 微课版 陈志泊主编 习题参考答案

共同学习,心怀感激。 5万+

基于insightface实现的人脸识别和人脸注册

为了方便,写一个类完成所有的识别流程,开始编写人脸识别和人脸注册工具类,使用`insightface.app.FaceAnalysis()`可以获取模型对象,这里包含了三个模型,首先是人脸检测模型,然后是人脸特征提取模型,和最后的性别年龄识别模型。使用`model.prepare()`可以配置`ctx_id`指定使用哪一块GPU,如果是负数则是使用CPU执行预测,`det_thresh`配置的是人脸检测的阈值。`load_faces()`函数是加载人脸库中的人脸,用于之后的人脸识别对比。...

夜雨飘零 2万+

国产安路FPGA(二)-TD软件时序约束与硬件调试实战

本文深入探讨了国产安路FPGA开发中TD软件时序约束的实战应用。文章详细解析了SDC文件的核心语法,包括基础时钟、生成时钟及输入输出延迟约束的编写方法,并针对硬件调试中常见的时序问题提供了解决方案。通过一个图像处理流水线的优化案例,阐述了如何结合代码修改与约束设置,实现设计从“能跑”到“跑得稳”的关键提升,是掌握FPGA可靠设计的实用指南。

weixin_29183637的博客 377

QGIS基于快鸟(QuickBird)影像统计小麦种植面积

​01数据情况 本次选用某地4月份快鸟(QuickBird)影像为例,使用QGIS演示提取小麦播种情况,并按照200米*200米分区计算种植面积的过程。 注:本文对应的操作视频作为今天第二篇推送同时发布,习惯看视频的朋友可以点击观看。 附数据压缩包: 链接:https://pan.baidu.com/s/1JVUS8uAOR61RxC1n9Or9_w 提取码:qgis 含快鸟影像QB_subset.tif和200*200米分区矢量图层200Mgrid.shp。 ...

QGISClass的博客 1979

人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)

C++人脸识别,人脸检测,opencv人脸识别,opencv人脸检测;整套人脸识别系统核心算法包含人脸检测和人脸关键点检测,人脸校准,人脸特征提取以及人脸比对(1:1)和人脸搜索(1:N)

AI吃大瓜的博客 1万+

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案 入门基础 11.多选题 以下方式中属于FineReport中预览模式的有( ) 分页预览、填报预览、新填报预览、数据分析、移动端预览 16.判断题 FineReport报表工具必须购买激活码后才能使用。 错误,可以免费获取激活码。 29.单选题 FineReport是一款利用( )语言开发的报表工具。java 41.多选题 访问帮助文档的方式有哪些?设计器中社区菜单下-帮助文档;直接访问http://help.finere

qq_37485720的博客 2万+

【亲测免费】 Android InsightFace:轻松实现人脸识别

Android InsightFace:轻松实现人脸识别 【下载地址】AndroidInsightFace实现人脸识别含源码 Android InsightFace实现人脸识别(含源码) 项目地址: https://gitcode...

gitblog_06684的博客 1647

用gm/Id方法设计简单折叠式共源共栅放大器

gm/Id

qq_45541367的博客 2万+

基于 Simulink 的单相 PWM 整流器(四象限变流器)在高铁辅助电源系统中的建模与仿真实战教程

这是一份基于 Simulink 的实战教程。在高铁牵引供电与辅助电源系统中,单相 PWM 整流器(又称四象限变流器,4QC)是极其核心的“绿色电源”枢纽。传统的二极管整流器虽然结构简单,但会导致严重的输入电流畸变和低功率因数,对电网造成极大的谐波污染。而 PWM 整流器通过高频主动控制,不仅能将单相交流电转换为平稳的直流电,还能实现输入电流正弦化、单位功率因数(PF=1)运行,并支持能量双向流动(如列车再生制动时的能量回馈)。本教程将带你从数学模型出发,搭建一套高性能的电压电流双闭环控制系统。

amy_mhd的博客 47

30分钟搭建高校实验室人脸识别系统:基于InsightFace的完整教学案例

你是否还在为实验室门禁管理繁琐、考勤统计耗时而烦恼?是否想快速搭建一套低成本、高准确率的人脸识别系统?本文将带你从零开始,基于开源项目InsightFace,用30分钟完成一套适用于高校实验室的人脸识别系统,解决实验室安全管理与人员考勤的双重需求。读完本文,你将掌握环境搭建、模型部署、系统集成的全流程,还能获得可直接运行的代码模板和优化建议。 ## 系统架构概览 高校实验室人脸识别系统主要包含...

gitblog_00090的博客 1277

完整复现YOLOv8:包括训练、测试、评估、预测阶段【本文源码已开源,地址在文章末尾】

(这里主要是在colab.research.google.com实现的,本地的配置也是类似的方法)YOLOv8是一种用于目标检测的深度学习算法。主要参考:https://github.com/ultralytics/ultralytics/blob/main/README.zh-CN.md。yolov8的权重:https://github.com/ultralytics/assets/releases。yolov8的文档:https://v8docs.ultralytics.com/

源代码杀手的博客 1万+

python 人脸识别项目insightface

人脸识别项目insightface

Ding_Jie_的博客 5349

使用Mask2Former和X-Decoder训练自定义数据集及结果复现报告

本报告记录了使用MMDetection框架中的Mask2Former和X-Decoder模型在自定义数据集上的训练过程。报告包含环境配置、数据集准备、模型训练与优化(解决了Mask2Former的PQ值异常问题)、性能评估等关键环节。详细展示了从数据集转换(将客户提供的COCO格式数据适配MMDetection框架)、配置文件修改、到最终模型训练和评估的全流程。特别针对Mask2Former训练中的PQ值异常问题提供了解决方案,并对比了两种模型在自定义数据集上的表现。报告还包含完整的代码实现和技术细节。

huanghm88的专栏 1094

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 人脸识别face_recognition库环境搭建
下一篇: AI代码生成插件continue用vscode源码编译步骤
码农诗人
博客等级 码龄11年 987粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值