StoryMaker: Towards Holistic Consistent Characters in Text-to-image Ge

打印 上一主题 下一主题

主题 1762|帖子 1762|积分 5286


  • https://arxiv.org/pdf/2409.12576v1
  • https://github.com/RedAIGC/StoryMaker

  • 问题引入


  • 针对的是文生图的模型,现在已经有方法可以实现指定人物id的环境下进行天生,但是还没有办法保持包括服装、发型等整体,本文重要解决这个问题;
  • 在前作instant id的基础上需要解决的两个问题,1)多ID天生, 2)在保持id的同时还要保持服装,发型等





  • Reference Information Extraction:人脸id的保持照旧通过使用arcface人脸识别模型来获取embedding,该阶段首先获取feature                                                    F                                           f                                  a                                  c                                  e                                                       F_{face}                     Fface​,对于服装发型等,先将人物分割出来,之后使用clip vision encoder提取对应的特性                                                   F                                           c                                  h                                  a                                  r                                  a                                  c                                  t                                  e                                  r                                                       F_{character}                     Fcharacter​,对应的是图中的facial encoder和portrait encoder;
  • Reference Information Refinement by Positional-aware Perceiver Resampler:上一部门获取的                                                   F                                           f                                  a                                  c                                  e                                                 ,                                       F                                           c                                  h                                  a                                  r                                  a                                  c                                  t                                  e                                  r                                                       F_{face},F_{character}                     Fface​,Fcharacter​分别经过独立的Resample模块得到的embedding进行concat,然后和positional embedding进行相加,这里的positional embedding的作用是用来区分差别的人物,此处还加上了背景的embedding                                                    E                                           b                                  g                                                       E_{bg}                     Ebg​,公式化如下:                                                   E                               1                                      =                                       R                               1                                      (                                       F                                           f                                  a                                  c                                  e                                                 )                            ,                                       E                               2                                      =                                       R                               2                                      (                                       F                                           c                                  h                                  a                                  r                                  a                                  c                                  t                                  e                                  r                                                 )                            ,                                       E                               i                                      =                            M                            L                            P                            (                            C                            a                            t                            (                                       E                               1                                      ,                                       E                               2                                      )                            +                                       E                                           p                                  o                                  s                                                 )                            ,                                       c                               i                                      =                            C                            a                            t                            (                                       E                                           b                                  g                                                 ,                            R                            e                            s                            h                            a                            p                            e                            (                                       E                               i                                      ,                            (                            N                            ×                            L                            ,                            D                            )                            )                                  E_1 = R_1(F_{face}),E_2 = R_2(F_{character}),E_i = MLP(Cat(E_1,E_2) + E_{pos}),c_i = Cat(E_{bg},Reshape(E_i,(N \times L,D))                     E1​=R1​(Fface​),E2​=R2​(Fcharacter​),Ei​=MLP(Cat(E1​,E2​)+Epos​),ci​=Cat(Ebg​,Reshape(Ei​,(N×L,D)),最后的                                                   c                               i                                            c_i                     ci​就是image cross attention的条件,作为条件的方式和IP adapter一样;
  • Pose Decoupling from Character Images:对于姿态这一块,为了加强多样性,所以在模型的基础上加上了pose controlnet模块来控制天生人物的姿态,在推理的时候也可以不使用这一块;
  • Training with LoRA:在训练的时候使用了之前训练模型ip-adapter的参数,模型的cross attention模块可训练的参数是新添加的lora对应的参数,                                        Q                            =                            Z                            (                                       W                               q                                      +                            Δ                                       W                               q                                      )                            ,                                       K                               t                                      =                                       c                               t                                      (                                       W                               k                               t                                      +                            Δ                                       W                               k                               t                                      )                            ,                                       V                               t                                      =                                       c                               t                                      (                                       W                               v                               t                                      +                            Δ                                       W                               v                               t                                      )                            ,                                       K                               i                                      =                                       c                               i                                      (                                       W                               k                               i                                      +                            Δ                                       W                               k                               i                                      )                            ,                                       V                               i                                      =                                       c                               i                                      (                                       W                               v                               i                                      +                            Δ                                       W                               v                               i                                      )                                  Q = Z(W_q + \Delta W_q),K_t = c_t(W^t_k + \Delta W_k^t),V_t = c_t(W_v^t + \Delta W_v^t),K_i = c_i(W_k^i + \Delta W^i_k),V_i = c_i(W_v^i + \Delta W^i_v)                     Q=Z(Wq​+ΔWq​),Kt​=ct​(Wkt​+ΔWkt​),Vt​=ct​(Wvt​+ΔWvt​),Ki​=ci​(Wki​+ΔWki​),Vi​=ci​(Wvi​+ΔWvi​),此中可以训练的参数是                                        Δ                                  \Delta                     Δ的部门;
  • Loss Constraints on Cross-attention Maps with Masks:这一块为了包管各个部门(背景+多character)之间不相互影响,新加入了一个丧失,在每一层的cross attention部门,取出image的attention map,,然后将attention在L维度进行拍平,得到的结果和mask计算丧失:                                        P                            =                            S                            o                            f                            t                            m                            a                            x                            (                            Q                                       K                               T                                      /                                       d                                      )                            ,                            A                            =                                       ∑                                           k                                  =                                  1                                          L                                                 P                               k                                            P = Softmax(QK^T/\sqrt{d}),A = \sum_{k = 1}^L P_k                     P=Softmax(QKT/d             ​),A=∑k=1L​Pk​,丧失为                                                   L                                           a                                  t                                  t                                  n                                                 =                                       1                                           N                                  +                                  1                                                            ∑                                           k                                  =                                  1                                                      N                                  +                                  1                                                 ∣                            ∣                                       A                               k                                      −                                       M                               k                                      ∣                                       ∣                               2                               2                                            L_{attn} = \frac{1}{N + 1}\sum_{k = 1}^{N + 1}||A_k - M_k||^2_2                     Lattn​=N+11​∑k=1N+1​∣∣Ak​−Mk​∣∣22​,此中N是character的数量,L表现每个character的token数量;
  • 最后的丧失是上面的丧失和原始sd丧失的加权和;

  • 实行


  • 数量:50万数据(30万单人+20万双人),使用CogVLM做caption,人脸的embedding使用buffalo_l ;
  • 训练:使用SDXL模型,此中只训练PPR模块以及新添加的Lora部门,Resample部门使用 IP-Adapter-FaceID and IP-Adapte初始化,在8卡A100上面进行训练,bs=8,8ksteps;
  • 指标:使用的是FastComposer中的40个character和20个text prompt,分为三个部门进行评测,首先是和参考图片的一致性,使用的是CLIP image similarity,对于ID的保持,使用的是buffalo_I来计算cosine similarity,最后是和文本的一致性,使用CLIP-score计算了image-text similarity;
  • 还可以使用到clothe swap任务当中,只需要将character的图片用服装的图片进行替换即可;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表