【论文复现】DCFace: Synthetic Face Generation with Dual Condition Diffusion Model

DCFace: 用双条件扩散模型生成合成人脸。CVPR 2023.4

code:mk-minchul/dcface (github.com)

paper:[2304.07060] DCFace: Synthetic Face Generation with Dual Condition Diffusion Model (arxiv.org)

论文

介绍

应用:生成用于训练人脸识别模型的合成数据集。

背景:生成合成数据集需要考虑多个因素,如姿势、光照、表情、年龄和遮挡等,以模拟真实图像的条件分布。以往的研究主要使用GAN或3D模型生成合成数据集。

方法:本文提出一种基于扩散模型的双重条件人脸生成器(DCFace),通过结合主体外观(ID)和外部因素(风格)条件来控制类内和类间变化。作者使用了新颖的Patch-wise风格提取器和Time-step依赖的ID损失,使DCFace能够在不同风格下精确控制同一主体的人脸图像生成。

结果:使用DCFace生成的合成数据集训练的人脸识别模型在LFW、CFP-FP、CPLFW、AgeDB和CALFW等5个测试数据集中,平均比以前的方法提高了6.11%的验证准确性。

方法

 

实验

 

 

 

 

 

结论

复现

Image generation

问题1:No models "dcface/dcface/pretrained_models/adaface_ir101_webface4m.ckpt'

Traceback (most recent call last):File "/data/dcface/dcface/src/recognition/recognition_helper.py", line 53, in download_ir_pretrained_statedictsubprocess.check_call([os.path.expanduser('/opt/conda/envs/dcface/lib/python3.7/site-packages/gdown'), '--id', _id])File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 358, in check_callretcode = call(*popenargs, **kwargs)File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 339, in callwith Popen(*popenargs, **kwargs) as p:File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 800, in __init__restore_signals, start_new_session)File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 1551, in _execute_childraise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: '/opt/conda/envs/dcface/lib/python3.7/site-packages/gdown'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "synthesis.py", line 140, in <module>main()File "synthesis.py", line 77, in mainpl_module: LightningModule = hydra.utils.instantiate(model_hparam)()File "/data/dcface/dcface/src/trainer.py", line 57, in __init__self.recognition_model_eval: RecognitionModel = make_recognition_model(self.hparams.recognition_eval)File "/data/dcface/dcface/src/recognition/recognition_helper.py", line 264, in make_recognition_modelmodel_statedict = download_ir_pretrained_statedict(backbone_name, 'webface4m', 'adaface')File "/data/dcface/dcface/src/recognition/recognition_helper.py", line 56, in download_ir_pretrained_statedictsubprocess.check_call([os.path.expanduser('/opt/conda/envs/dcface/lib/python3.7/site-packages/gdown'), '--id', _id])File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 358, in check_callretcode = call(*popenargs, **kwargs)File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 339, in callwith Popen(*popenargs, **kwargs) as p:File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 800, in __init__restore_signals, start_new_session)File "/opt/conda/envs/dcface/lib/python3.7/subprocess.py", line 1551, in _execute_childraise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: '/opt/conda/envs/dcface/lib/python3.7/site-packages/gdown'

 报错没直接报缺少文件,而是一个包gdown的问题,解决的方向就错了,print了一下发现是因为checkpoint_path的文件缺失,发现缺失的权重作者没给出,搜索后在作者的另一个项目里找到了:

参考:mk-minchul/AdaFace (github.com)

Google 云端硬盘 - 病毒扫描警告

 id_image:

style_image:

 

generated_images:

 

generate dataset 

Training generator

Training Face Recognition Model

to be released 

dcface datasets:https://github.com/mk-minchul/dcface?tab=readme-ov-file#dataset-release

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1019 [NOIP2000 提高组] 单词接龙 深度优先搜索

文章目录 题目链接题目描述解题思路代码实现总结 题目链接 链接: P1019 [NOIP2000 提高组] 单词接龙 题目描述 解题思路 这是一道深度优先搜索题目,我们定义check函数来计算两个字符串的最小重合部分&#xff0c;dfs中第一个参数代表我们当前使用的是哪一个字串&#xff0c;…

【Docker】WSL(Windows Subsystem for Linux)常见命令解释说明以及简单使用

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

Android Studio 出现 “Index is not created for `Stubs‘“ 的原因,如何解决?

亲爱的朋友们&#xff01;大家好我是咕噜铁蛋&#xff01;&#xff0c;今天我将与大家分享一个在Android Studio开发过程中可能遇到的问题&#xff1a;“Index is not created for Stubs”。这个问题看似不起眼&#xff0c;但实际上可能会对开发效率产生不小的影响。下面&#…

申万宏源:证券低时延交易系统全链路自主可控创新实践 |论坛实录

由中科驭数主办的第二届证券基金行业先进计算技术大会暨2024低时延技术创新实践论坛&#xff08;上海站&#xff09;在上海举行。会上各位嘉宾深入的分享&#xff0c;吸引了不少行业同仁对本次会议干货内容的关注。特此&#xff0c;中科驭数整理部分演讲者发言实录&#xff0c;…

Django学习之orm框架

八、Django学习之orm框架 其他关于Python Web开发笔记&#xff1a;&#xff08;如果遇到问题可以一起交流~&#xff09; 一、Flask学习之HTML-CSDN博客 二、Flask学习之CSS-CSDN博客 【接上篇】二、Flask学习之CSS&#xff08;下篇&#xff09;-CSDN博客 三、Flask学习之Bo…

BUUCTFSQL注入(部分)

原来靶场不是最折磨的&#xff0c;新手做ctf才是 1.[极客大挑战 2019]LoveSQL 我一共做了三题&#xff0c;先来讲里面最简单的题吧 看见一个登录框&#xff0c;先尝试注入&#xff0c;发现会报错&#xff0c;而且不过滤# &#xff0c;于是就开始常规操作 1 union select 1,d…

3985. 辗转相除法

一、题目 Problem #3985 - ECNU Online Judge 二、思路 第一眼还以为是最基本的欧几里得&#xff0c;然后一个劲地在那里找合适的一组整数&#xff0c;找了一会没找到&#xff0c;后面直接用随机查找一下子找到了 三、代码 import sun.misc.GC;import java.util.Random; impo…

类和对象 第五部分第六小节:函数调用运算符重载

1、函数调用运算符&#xff08;&#xff09;可以重载 由于重载后使用方式非常像函数的调用&#xff0c;因此称此为仿函数 代码案例&#xff1a;打印输出仿函数 #include<iostream> using namespace std; class MyPrint { public://重载函数调用运算符void operator()(str…

2分钟快速了解!全网最详细的性能测试教程之【Redis 简介和安装】

本篇文章主要介绍基于Redis的的简介和安装&#xff0c;其中参考了许多大佬写的文章&#xff0c;算是做一个Redis的基础教程吧。 Redis 简介 Redis 是完全开源的&#xff0c;遵守 BSD 协议&#xff0c;是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有…

【数据结构:顺序表】

文章目录 线性表顺序表1.1 顺序表结构的定义1.2 初始化顺序表1.3 检查顺序表空间1.4 打印1.5 尾插1.6 头插1.7 尾删1.8 头删1.9 查找1.10 指定位置插入1.11 删除指定位置数据1.12 销毁顺序表 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一…

2024情人节爱心表白--python代码

# coding=utf-8 import random import turtle from datetime import *# 抬起画笔,向前运动一段距离放下 def Skip(step):turtle.penup()turtle.forward(step)turtle

学会用Python分割、合并字符串

在很多情况下&#xff0c;我们需要对字符串进行分割或合并&#xff0c;以满足特定的需求&#xff0c;例如将字符串拆分成多个部分、将多个字符串合并成一个等等。Python提供了多种方法来进行字符串的分割和合并&#xff0c;本文将介绍其中几种常用的方法。 一、使用split()函数…