发型替换技术 - 让你拥有你想要的任何发型
陈浩锟/垂野/RigelChen Lv1

起因

今年年初,抖音上线了一款名为国风穿越的特效,突然火了一阵。大致是不管用户是什么样子的发型,都可以一键变成古装的格格头或者是带有发髻的古风发型。这其实对于用户来说,还是蛮有参与感和新鲜感的,至少我玩了很久,并且还推荐给我妈玩,哈哈哈。这让我们团队对于替换用户发型产生了兴趣。

学界有一些关于头发编辑的文章,比如基于StyleGAN的,令你的头发变长变短、改变颜色;或者基于StarGAN或者GLEAN这样的cGAN的方式。但这些方式其实只能解决头发二元变量的问题,即:是否是长发、是否是卷发这种常见的发型生成问题,如果涉及到是否是古代发髻这种日常生活中几乎不可见的发型时,以上所说的方法其实就失效了。所以,我们将上面提到的方法称之为发型编辑,而我们要实现的,其实是发型替换


我们的技术方案

难点

说回来,这从技术角度上讲,其实还蛮困难的。因为抖音落地在移动端,所以我们推测其实使用的是类似于pix2pix的模型,这就要求存在非常多的图片对,这些图片对的获取其实是这个模型训练主要的难度。一旦拥有了现成的图片对,我们便可以将问题转换到我们熟悉的领域,也就是类似于人脸卡通化的问题上,而我们对于如何实现人脸卡通化有着很多的经验。

我们将过程初步拆解为:

  1. 制作发型替换的图片对
  2. 利用图片对来训练类Pix2pix模型。

我们认为难点在第一步,本文阐述的重点也在第一步。

实现过程

我们为制作图片对的过程申请了专利。但是由于专利尚未公开,因此还不能公开讨论我们是如何实现的,只能很骄傲地说,我们实现的方案非常精妙,以至于我为它起了一个很好听的名字,叫做劫持

国家专利局的受理号是xxxxxxx,我为第一发明人,欢迎大家关注此专利的进展。专利公开后我们再来详细讨论。


落地

截至2022年11月1日,我们使用全新的技术方案一共落地了三个项目。

背头

背头其实属于比较中规中矩的发型,但是是我,也是我们团队,使用新的技术方案落地的第一个发型,因此要求稳,哈哈哈。具体效果可以查看以下的图片。(左下角的背头就是我用全新的技术方案实现的)

间谍过家家的动漫发型 - Anya和黄昏

第一个落地的背头发型获得成功后,我们开始放飞自我。想要调整更高难度的发型。正值间谍过家家很火,我们准备以满足用户cosplay的愿望为目标去迭代,因此打算制作Anya的发型和黄昏的发型。这两款发型的难度其实要远高于背头,尤其是因为它们艳丽的颜色。我们优化了我们原本的方案,最终的效果如下,并且也在QQ小世界中上线了。


后续

我们目前采取的技术路线中,生成的发型其实会和用户本身产生耦合。例如用户本身是白头发,那么生成的背头也是白头发,尽管在黄昏和Anya的发型中,我们优化了这一点。

不过我们打算挑战自己,采取一种全新的技术路线,来生成一致性更强的发型,使得不管用户本身是什么头发,都能够生成我们宣传的那一种发型。当然这种目标抹杀了用户的千人千面,和前面的劫持策略可以说是侧重点各有不同。目前我们已经有初步的方案了,后续有新的发型通过这种方案落地的话,我们再来分享。


成果

对于我来说,这小半年收获以下的成果。

  • 第一发明人技术专利一篇,专利名称《blablabka》,受理号:****,尚未公开。
  • 独立上线背头发型替换模型到QQ小世界。
  • 合作上线Anya和黄昏发型到QQ小世界。
  • 本文标题:发型替换技术 - 让你拥有你想要的任何发型
  • 本文作者:陈浩锟/垂野/RigelChen
  • 创建时间:2022-11-01 20:46:25
  • 本文链接:https://chenhk.cn/2022/11/01/发型替换技术-让你拥有你想要的任何发型/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!