人脸嵌入向量提取计算

news2025/1/11 19:43:14

本文将讨论如何使用开源中提供的预训练模型从图像中提取人脸编码或人脸嵌入。我还附上了代码,请参阅此 git仓库。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

1、人脸嵌入

它分析给定的图像并返回表示图像中检测到的每个人脸的数值向量。向量的大小不同,为 64、128、256、512。这里我们将讨论返回 128 个大小向量的模型。

我们可以使用这种嵌入来执行人脸识别、人脸验证和人脸匹配应用程序。

这是一种基于深度学习的方法来表示个人面部的身份。名为 FaceNet 的架构用于提取人脸嵌入,要了解有关它的更多信息,请参阅这个链接。

2、Dlib

我们可以使用 Dlib 来定位图像中的人脸,如上一篇博客中所述。此外,使用它可以提取图像中人脸的人脸编码向量。模型 dlib_face_recognition_resnet_model_v1.dat 用于提取 Dlib 模块中的编码。

在这里,我们需要说出给定图像中人脸的位置。Dlib 的优势在于,它是一个轻量级模型,即使在计算能力较低的 CPU 中也能运行,并且与其他模型相比,推理时间也较短。Dlib 的一个优点是,默认情况下它有一个面部检测模块。

# Load the model using Dlib
dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')  

获取编码的函数:

def encodings(img,face_locations,pose_predictor,face_encoder):
    predictors = [pose_predictor(img, face_location) for face_location in face_locations]
    return [np.array(face_encoder.compute_face_descriptor(img, predictor, 1)) for predictor in predictors]

源代码可在此处获得。姿势预测模型可在此处下载。

3、TensorFlow 模型

还有一个预先训练的 TensorFlow 模型,可用于提取图像中人脸的编码。两种情况下使用的架构相同,但损失函数和训练数据会发生变化。因此,从中返回的编码向量将与之前的模型不同,但其大小为 128 维。

在这里,对于一个模型,我们只需要传递裁剪后的图像,其中只有一张脸,因为它会检测图像中的脸,它只需读取图像并将图像传递到网络中并返回一个向量,即人脸编码。

为了处理上述情况,我们需要从图像中裁剪人脸并将其传递到模型中。要检测和裁剪图像中的脸,请使用上一篇博客中讨论的任何一种方法。

为了加载模型...

def load_model(modelpath):
    detection_graph = tf.Graph()
    with detection_graph.as_default():
        od_graph_def = tf.GraphDef()
        with tf.gfile.GFile(modelpath, 'rb') as fid:
            serialized_graph = fid.read()
            od_graph_def.ParseFromString(serialized_graph)
            tf.import_graph_def(od_graph_def, name='')
    return detection_graph

计算嵌入:

def get_embedding(graph,img):
    input_array = preprocess_input_img(img)
    with graph.as_default():
        with tf.Session() as sess:
            images_placeholder = tf.get_default_graph().get_tensor_by_name("input:0")
            embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
            phase_train_placeholder = tf.get_default_graph().get_tensor_by_name("phase_train:0")
            embedding_size = embeddings.get_shape()[1]
            feed_dict = {images_placeholder: input_array, phase_train_placeholder: False}
            embeddings = sess.run(embeddings, feed_dict=feed_dict)
    return embeddings

需要传递模型图和图像(如果需要,可以传递预处理图像)。

我们还可以根据机器容量一次传递多个图像,以设置批处理大小。

它在 CPU 和 GPU 上都运行,而在 GPU 上运行速度更快。

源代码在这里。可以从这里下载模型。如果需要,还可以尝试其他一些 facenet TensorFlow 模型。

比较这些模型,与 TensorFlow 模型相比,Dlib 简单且在提取人脸嵌入的情况下复杂度较低。但在具有高计算能力的情况下,TF 模型表现良好。

我在这里附上了源代码链接,供你参考。


原文链接:提取人脸嵌入向量 - BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1889106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

灌区量测水管理系统是如何实现灌区节水?

随着全球水资源日益紧张,节水已成为农业生产中不可忽视的一环。在灌区管理中,量测水管理系统以其精准的数据监测和科学的灌溉管理,为实现灌区节水提供了强有力的技术支持。 灌区量测水管理系统是一套集成了自动化监测、数据传输、数据分析和…

基于星火大模型的群聊对话分角色要素提取挑战赛|#AI夏令营#Datawhale#夏令营-Lora微调与prompt构造

赛题连接 https://challenge.xfyun.cn/topic/info?typerole-element-extraction&optionphb Datawhale Al夏令营 零基础入门大模型技术竞赛 数据集预处理 由于赛题官方限定使用了星火大模型,所以只能调用星火大模型的API或者使用零代码微调 首先训练数据很少…

fyne一个复杂的布局案例

一个复杂的布局案例 实现如下布局: 布局分析: 代码如下: package mainimport ("complexlayout/icons""fyne.io/fyne/v2""fyne.io/fyne/v2/app""fyne.io/fyne/v2/canvas""fyne.io/fyne/v2/container""fyne.io/fyne/v2…

昇思MindSpore学习入门-保存与加载

在训练网络模型的过程中,实际上我们希望保存中间和最后的结果,用于微调(fine-tune)和后续的模型推理与部署,本章节我们将介绍如何保存与加载模型。 保存和加载模型权重 保存模型使用save_checkpoint接口,…

在Linux上运行macOS:深度解析OSX-KVM项目

在Linux上运行macOS:深度解析OSX-KVM项目 在现代开发和测试环境中,能够在不同操作系统之间无缝切换是至关重要的。对于开发者而言,如何在Linux系统上运行macOS一直是一个挑战。然而,OSX-KVM项目为我们提供了一种高效的解决方案&a…

rtpengine 项目

目录 !1. 如果容器内部修改 rtpengine 并且让他生效 守护进程模块(daemon) 内核模块(kernel-module) 录音守护进程模块(recording-daemon) iptables扩展模块(iptables-extension) 2. 在Docker容器中编译好四个模块后,您需要采取以下步骤 1. 加载内…

网易云商发布《2024体验增长白皮书》,助力企业找到增长突破点

“过去几年里,当我们做内部审视和自我反思时,我们知道阿里落后了,因为我们忘记了真正的客户是谁。我们的客户是使用APP进行购物的人,而我们没有给他们最好的体验。” 4月3日,在挪威主权财富基金(Norges Ba…

以 Vue 3 项目为例,多个请求下如何全局封装 Loading 的展示与关闭?其中大有学问!

大家好,我是CodeQi! 项目开发中,Loading 的展示与关闭是非常关键的用户体验设计。 当我们的应用需要发起多个异步请求时,如何有效地管理全局 Loading 状态,保证用户在等待数据加载时能有明确的反馈,这是一个值得深入探讨的问题。 本文将以 Vue 3 项目为例,详细讲解如…

Mac视频下载工具,兼容14系统,Downie 4软件下载

Downie 4 是一款由James Application开发的视频下载软件,支持Mac操作系统。该软件允许用户从各种视频网站上下载视频内容,以便于在本地设备上观看,无需依赖互联网连接。自动下载:可以设置Downie 4自动下载指定网站上的视频&#x…

【长亭WAF(雷池)——网站保护之“动态防护”】

在当今的网络安全环境中,Web应用防火墙(WAF)扮演着至关重要的角色。 它们不仅能够防御常见的Web攻击,如SQL注入、跨站脚本攻击(XSS)等,还能够应对日益复杂的网络威胁。 作为业内领先的Web安全解…

全面AI化,定位数据基础设施 —— 鸿翼引领下一代内容管理平台

借助大模型、InWise智能平台与组件化能力,打造全面AI化的企业数据基础设施,鸿翼ECM内容管理平台以与人工智能的深度融合,开启内容管理新篇章。 人工智能已经成为了内容管理的全新主战场,如何将人工智能与内容管理的底层与功能紧密…

python-数据容器对比总结

基于各类数据容器的特点,它们的应用场景如下: 数据容器的通用操作 - 遍历 数据容器的通用统计功能 容器的通用转换功能 容器通用排序功能 容器通用功能总览

NoteLLM: 大语言模型在小红书推荐系统的落地应用

今天分享一篇小红书今年3月的论文,介绍了大语言模型在小红书笔记推荐场景下的落地应用,主要是围绕如何利用LLM的表征能力来生成更适用于i2i召回的文本embedding,思路简单,落地也容易,个人觉得实践价值非常高&#xff0…

k8s_集群搭建_在主节点中加入node节点_k8s集群自恢复能力演示_token过期重新生成令牌---分布式云原生部署架构搭建016

然后安装好了master节点以后,我们再来看如何把node节点加入进来,可以看到 只需要执行,命令行中提示的命令就可以了 比如上面的 Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:…

优化服务,推动企业向前发展

在快速变化的商业环境中,企业的成长离不开优质的服务支持。成都树莓集团,作为数字产业生态链的重要构建者,始终将优化服务、助力企业成长作为自身的核心使命。通过全方位、一站式的服务模式,树莓集团为企业提供强大的支持&#xf…

7.2、指针变量的定义和使用

代码 #include <iostream> using namespace std; #include <string>int main() {//定义指针int a 10;//指针定义语法&#xff1a;数据类型 * 指针变量名int * p;//让指针记录变量a的地址p &a;cout << "a的地址为&#xff1a;" << &am…

Python知识点背诵手册,超详细知识梳理

一、手册介绍 《Python知识点背诵手册》是一份详尽的Python学习资料&#xff0c;旨在帮助学习者系统地掌握Python语言的基础知识和进阶技能。该手册将Python的所有关键语法和概念进行了精炼的总结&#xff0c;并以易于理解和记忆的方式呈现。以下是手册的主要特点和内容概述&a…

为什么我感觉 C 语言在 Linux 下执行效率比 Windows 快得多?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;Windows的终端或者叫控制台…

相亲交友APP系统婚恋交友社交软件开发语音视频聊天平台定制开发-婚恋相亲交友软件平台介绍——app小程序开发定制

互联网飞速发展的时代&#xff0c;相亲交友软件成为了许多年轻人首选的相亲方式&#xff0c;越来越多的单身男女希望在婚恋交友软件平台上寻找灵魂伴侣&#xff0c;相亲交友软件因此具有很高的市场价值。 多客婚恋相亲交友系统是一款定位高端&#xff0c;到手就能运营的成熟婚恋…

pdf太大怎么压缩大小,pdf文件太大如何压缩变小

在数字化时代&#xff0c;pdf文件已成为我们工作、学习和生活中不可或缺的一部分。然而&#xff0c;随着文件内容的丰富&#xff0c;pdf文件的体积也日益增大&#xff0c;给存储和传输带来不便。本文将为你详细介绍四种实用的pdf文件压缩方法&#xff0c;帮助你轻松减小pdf容量…