• InstantID Zero-shot Identity-Preserving Generation in Seconds


    InstantID: Zero-shot Identity-Preserving Generation in Seconds

    TL; DR:InstantID = IP-Adapter + (Face) ControlNet,实现了具有较高保真度的人脸 ID 生成。

    方法

    InstantID 想做到的事情是:给定一张参考人脸 ID 图片,生成该 ID 的多种姿势,多种风格的图片,并保证和参考图人脸 ID 的保真度。模型的整体结构总览如下图所示,主要由三个模块组成:

    1. Face(ID) embedding 模块:用于捕捉参考图的人脸 ID 特征
    2. 一个轻量的适配模块(加解耦的交叉注意力层):用于理解视觉 prompt
    3. IdentityNet:用于人脸的精细生成

    在这里插入图片描述

    ID Embedding

    CLIP 这种弱对齐数据训练出的模型,提取出的 image features 比较泛,比较杂,粒度比较粗。不适合于提取精细的、高保真的人脸特征。作者这里用了一个人脸识别或 ReID 中预训练好的人脸模型来提取参考图像中的人脸 ID 特征。

    Image Adapter

    image prompt 可以用来控制一些很难用文本描述的生图细节(如人体姿态、纹理细节等),极大地补充了图像生成模型的可控生成能力。与 IP-Adapter 类似,InstantID 这里用交叉注意力层(图示上方)来将图片特征注入到扩散模型的 UNet 中。不同之处还是没有用 CLIP 的 image embedding,而与 ID embedding 一样是用的人脸的 Embedding。

    IdentityNet

    虽然模型已经能够同时参考文本 prompt 和图像 prompt 进行生成了(相当于 IP-Adapter),但想要精确地保持参考人脸的特征,生成出 ID 一致的高保真度的人脸,这还不够。因此,作者还引入了一个 IdentityNet,其实就是一个 Face ControlNet。但是与 ControlNet 有两点不同:一是没有使用全部的人脸关键点,而是使用了五点,这是为了对人脸有控制的同时保持一定的自由度;二是没有使用文本 prompt 特征,而是将 face embedding,通过 cross attention 引入进来,这是为了避免额外的文本信息和背景信息对人脸保真的干扰。

    效果展示

    看一下 InstantID 主页 show 出来的不同人脸在不同画风、不同 prompt 下的生成结果,可以看到保真度还是很高的,基本都能认出来。

    在这里插入图片描述

    总结

    InstantID = IP-Adapter + (Face) ControlNet 看效果人脸的保真度还是不错的。但是仅能聚焦在人脸,可以试着搞搞人物全身特征的定制化。

  • 相关阅读:
    C语言入门Day_27 开发环境
    JVM调优
    三、RTMP协议 视频Chunk和音频Chunk到底长啥样?
    【硬件基础】STM32F103C8T6芯片引脚定义及功能介绍
    VUE3 之 插件的使用 - 这个系列的教程通俗易懂,适合自学
    内核进程初始化和创建
    没想到吧,Spring中还有一招集合注入的写法
    机器人C++库(3)Robotics Library 例程一
    react之基于@reduxjs/toolkit使用react-redux
    机器学习day4
  • 原文地址:https://blog.csdn.net/weixin_44966641/article/details/136693724