人工智能 deepface 换脸技术 学习

介绍
Deepface是一个轻量级的python人脸识别和人脸属性分析(年龄、性别、情感和种族)框架。它是一种混合人脸识别框架缠绕状态的最先进的模型:VGG-Face,Google FaceNet,OpenFace,Facebook DeepFace,DeepID,ArcFace和Dlib。那些模型已经达到并通过了人类水平的准确性。该库主要基于 TensorFlow 和 Keras。
环境准备与安装
项目地址:
https://github.com/serengil/deepface
pycharm环境下载:
https://www.jetbrains.com/pycharm/download/#section=windows
conda虚拟环境:
https://www.anaconda.com/products/individual
数据集:
https://github.com/serengil/deepface_models/releases/download/v1.0/vgg_face_weights.h5
https://github.com/serengil/deepface_models/releases/download/v1.0/facial_expression_model_weights.h5
https://github.com/serengil/deepface_models/releases/download/v1.0/age_model_weights.h5
https://github.com/serengil/deepface_models/releases/download/v1.0/gender_model_weights.h5
https://github.com/serengil/deepface_models/releases/download/v1.0/race_model_single_batch.h5
创建项目
使用打开项目目录后,创建时使用conda的Python 3.9虚拟环境

安装pip依赖
创建完成后,在cmd中查看现有的虚拟环境,并进入刚刚创建的虚拟环境
conda env list
activate pythonProject

进入环境后在进行安装pip所需依赖,并使用国内源进行安装实现下载加速
pip install deepface -i https://pypi.tuna.tsinghua.edu.cn/simple

使用
面部验证
此功能验证同一人或不同人员的面部对。它期望精确的图像路径作为输入。也欢迎通过笨重或基于 64 编码的图像。
cd C:\Users\Administrator\PycharmProjects\pythonProject\tests\dataset
from deepface import DeepFace
result = DeepFace.verify(img1_path = "img1.jpg", img2_path = "img2.jpg")
会自动下载数据集,若无法下载数据集
可以提前下载好数据集,放入到 C:\Users\Administrator.deepface\weights\ 目录下

面部属性分析
Deepface还配备了一个强大的面部属性分析模块,包括年龄,性别,面部表情(包括愤怒,恐惧,中性,悲伤,厌恶,快乐和惊喜)和种族(包括亚洲,白人,中东,印度,拉丁和黑色)预测。
from deepface import DeepFace
obj = DeepFace.analyze(img_path = "img4.jpg", actions = ['age', 'gender', 'race', 'emotion'])
会自动下载数据集,若无法下载数据集
可以提前下载好数据集,放入到 C:\Users\Administrator.deepface\weights\ 目录下


https://blog.csdn.net/qq_33921750
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/chen-bu-yun-2
https://segmentfault.com/u/hppyvyv6/articles
https://juejin.cn/user/3315782802482007
https://space.bilibili.com/352476552/article
https://cloud.tencent.com/developer/column/93230
知乎、CSDN、开源中国、思否、掘金、哔哩哔哩、腾讯云
人工智能 deepface 换脸技术 学习的更多相关文章
- 人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍
人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍 工业机器人,家用机器人这些只是人工智能的一个细分应用而已.图像识别,语音识别,推荐算法,NL ...
- Deepfakes:AI换脸技术自制明星XX片
ps:亮瞎狗眼 去年开始就在国外网站上比较火的项目了,通过Deepfakes技术可以将视频中的人脸换成自己喜欢的明星, 当时就有不少人制作了换脸视频,其中大部分是替换了XX片的女主角. 国外网站Red ...
- 人工智能范畴及深度学习主流框架,谷歌 TensorFlow,IBM Watson认知计算领域IntelligentBehavior介绍
人工智能范畴及深度学习主流框架,谷歌 TensorFlow,IBM Watson认知计算领域IntelligentBehavior介绍 ================================ ...
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...
- IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)
IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...
- EMV技术学习和研究(转)
刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮 ...
- Java多线程技术学习笔记(二)
目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和w ...
- 【记录一次windows技术学习】使用笔记本DOS命令搭建WLAN热点
[记录一次windows技术学习]使用笔记本DOS命令搭建WLAN热点 时间:2017-10-14 22:36:13 撰写者:AK末影人 [转发请注明出处] --------------------- ...
- 绝版珍珍藏:web前端技术学习指南
绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...
- Android so注入(inject)和Hook技术学习(三)——Got表hook之导出表hook
前文介绍了导入表hook,现在来说下导出表的hook.导出表的hook的流程如下.1.获取动态库基值 void* get_module_base(pid_t pid, const char* modu ...
随机推荐
- springboot[2.3.4.RELEASE]application.properties常用配置
常用配置 spring.profiles.active=@spring.profiles.active@ pom文件中定义的配置文件 server.port=8080 web默认访问端口 server ...
- Yarn API
Yarn API: 1. 查询整个yarn集群指标: GET http://{cluster_domain_name}|{rm_ip:8088}/ws/v1/metrics 2. 查看指定队列的所有任 ...
- Spring系列之类型转换-12
目录 类型转换 转换器 SPI 使用`ConverterFactory` 使用`GenericConverter` `ConversionService` 配置一个`ConversionService ...
- Oracle_20200416
PLSQL 新建普通用户 1.使用system登录 2.File-->NEW-->SQL WINDOW 3.执行语句 --创建用户 --create user 用户名 identified ...
- test.sh 监听进程是否存在
监听myloader进程是否结束,结束后把时间输出到 /root/time.log vim test.sh #!/bin/bash #确保PRO查询进程唯一 PRO="myloader&qu ...
- EXT GridPanel button 按钮 事件 方法 DirectMethod
C# 代码 //首页 Ext.Net.Button btnFirst = new Ext.Net.Button(); btnFirst.Icon = Icon.ControlStartBlue; bt ...
- 反射(Reflect)
反射摘要: 反射是java中非常强大的工具,利用反射可以书写框架,而框架就是半完成的代码.反射就是对类中的各个部分进行封装为其它对象,并且可以随时提取出Class或Object成员的属性,例如成员变量 ...
- Hadoop之HDFS优缺点、设计原理、框架
如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704 Hadoop的前世今 ...
- ASP.NET的MVC模式中分布页和布局页的使用
大概描述一下,分布页是布局页的一部分,分布页就相当于小图标,布局页就相当于PPT模板,PPT模板可以加入一些小图标(分布页),你只需要改改内容就好,视图创建的时候要选择包含布局页的 首先,去Contr ...
- input_subsys 输入子系统框架分析
在linux内核中 已做好各类驱动的框架,驱动程序也属于内核的一部分,我们可以在原有的驱动上修改,来匹配我们自已的硬件,也可以自已编写符合内核驱动框架的驱动程序.出于学习的目的,便于更好的理解各类驱动 ...