insightface 换脸

复制代码
import datetime
import numpy as np
import os
import os.path as osp
import glob
import cv2
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image


assert insightface.__version__>='0.7'

if __name__ == '__main__':
    初始化
    app = FaceAnalysis(name='buffalo_l')
    app.prepare(ctx_id=0, det_size=(640, 640))
    swapper = insightface.model_zoo.get_model('inswapper_128.onnx', download=True, download_zip=True)


    img = ins_get_image('t1')
    faces = app.get(img)
    faces = sorted(faces, key = lambda x : x.bbox[0])
    assert len(faces)==6
    source_face = faces[2]
    res = img.copy()
    for face in faces:
        res = swapper.get(res, face, source_face, paste_back=True)
    cv2.imwrite("./t1_swapped.jpg", res)
    res = []
    for face in faces:
        _img, _ = swapper.get(img, face, source_face, paste_back=False)
        res.append(_img)
    res = np.concatenate(res, axis=1)
    cv2.imwrite("./t1_swapped2.jpg", res)

参考:

https://github.com/deepinsight/insightface/tree/0cb03d391bb9335821448ce6e0519dbc870ec68d/examples/in_swapper

相关推荐
maqr_110几秒前
layui table单元格编辑 layui表格如何实现可编辑
jvm·数据库·python
小炫y3 分钟前
bilibil
python
z4424753265 分钟前
HTML函数开发用旋转屏有优势吗_特殊硬件形态适配说明【方法】
jvm·数据库·python
Ares-Wang17 分钟前
Flask》》flask-login
后端·python·flask
wangjialelele25 分钟前
从零入门 LangChain:Python 语法详解 + 工具开发 + 结构化输出实战
开发语言·人工智能·python·语言模型·langchain
配奇25 分钟前
神经网络基础
人工智能·python·深度学习·神经网络
2501_9142459328 分钟前
SQL如何统计分组内满足条件的唯一项_COUNT与DISTINCT
jvm·数据库·python
qq_1898070335 分钟前
C#怎么操作数据库存储过程 C#如何调用SQL Server存储过程传参并获取返回结果【数据库】
jvm·数据库·python
高洁0136 分钟前
AI模型部署进阶:Docker容器化部署AI项目
人工智能·python·深度学习·数据挖掘·知识图谱
itzixiao39 分钟前
L1-049 天梯赛座位分配(20 分)[java][python][c]
java·开发语言·python