# See-through: 把一张立绘拆成带深度的分层PSD 又欠了好久的事情了。 这几年一直在断断续续地做动漫相关的项目,从最早的[漫画线稿提取](https://github.com/ljsabc/MangaLineExtraction)到后来的一些漫画/动画的工作,基本上都是围绕着二次元的内容在转。去年有个人问我:你能做条漫的自动动画吗?我说:“想做这个得拆件啊?”,于是便有了这个工作。 ## 这工作是干嘛的 简单说,就是给一张动漫角色的立绘(单张图),我们的模型可以将输入自动拆成一堆带透明通道的语义分层,按深度排好序,输出一个分层PSD。头发、脸、眼睛、衣服、配饰,每一层都是完整修复过的,被遮挡的部分也补好了。做Sprite拆立绘的朋友应该能理解这个需求,手工做这件事还是比较麻烦的。 直接看结果比较直观,大家可以去[GitHub](https://github.com/shitagaki-lab/see-through)上自己试。有人在两个小时之内帮我们写了个ComfyUI的node,直接拖图就能输出分层PSD了。 ## 本质上是什么 我们标了一大堆Live2D模型的数据。 Live2D模型天然就是分层的,每堆Drawable就是一个独立的图层,有深度、有遮挡关系。所以我们写了一个[提取工具](https://github.com/shitagaki-lab/CubismPartExtr),给Live2D模型做了分层标注。这些标注的质量相当不错,因为Live2D本身的分层就是艺术家们自己设计的。 但是标注这件事也没那么简单。纯靠人工去标不现实,我们一开始也试过,效率太低了(一张图几百个Drawables,而且还有遮挡,一致性很差)。所以最后的方案是从SAM bootstrap过去的:先用SAM做一遍粗标注(2D的,不算很准),然后在此基础上把这些SAM的标注迁移到2.5D(Live2D)上去。2.5D的标注(也就是带深度的分层)最终都经过了一次人手检查过的,质量有保证。 版权原因,这批Live2D数据本身没办法公开发布。但是用它们训练出来的模型是可以用的,我们也已经把模型权重放出来了。技术上核心是两个模块:一个基于SDXL的LayerDiff 3D负责生成带透明度的分层,一个微调过的Marigold负责估计深度。两个拼起来就能把一张图拆成分层PSD了。 ## 结果怎么样 简单说几个我觉得做得还可以的点: - 前发和后发能分开 - 被遮挡的区域修复质量还不错,至少不会有明显的artifact - 深度排序基本合理,多数情况下图层叠起来和原图一致 当然也有做得不好的地方,复杂的配饰和道具有时候会分错层,过于非常规的姿势也容易翻车。毕竟训练数据大部分还是比较标准的立绘。一个常见的大问题是裙筒/裤腿和腿的前后关系,我们没给裙子/裤子/choker这种环绕着身体的东西分前后两层,所以有时候会分错。不过可以根据深度做一次后处理,效果会好一些。 还有些时候分层会有一些重叠的地方,特别是裙子下摆,这个和训练标注的时候很难分别到底是连衣裙还是上衣+裙子有关。我们也在考虑后续的改进方案。 ## 真的能取代Live2D吗 我觉得不太能。 把一张图拆成图层只是Live2D流程里最前面的一步。真正的Live2D还需要Rigging,变形网格、物理参数、动作曲线,这才是最费时间也最考验功力的部分。而且专业的Live2D作品,分层的方式是和后续的变形设计一起考虑的,哪里该多分一层、哪里该合并,都是有艺术意图的决策,不是自动化能完全替代的。 不过我们至少可以把这个前置的拆图工作自动化了,至少应该能帮一部分用户节省一些时间。 ## 为什么还在做这些 说实话做这种小众方向不太"划算"。和做大模型、做agent比起来,做二次元工具的影响力和关注度都要小得多。 但我一直都很喜欢这个方向。一方面是做习惯了(我不太承认我是二次元)。另一方面是受到了一些人的启发,特别是[Lvmin Zhang](https://github.com/lllyasviel)。他做了什么自不用我多说,但更重要的是他做事的态度。说句心里话,没有他的工作和开源精神,我可能早就失去继续做下去的动力了。 还要感谢[Spellbrush](https://spellbrush.com/)团队的支持和合作。在这个方向上有志同道合的人一起做事,比什么都重要。 刚好自己也有funding(感谢RGC),就继续做下去了。 ## 还有什么想说的 代码和模型都在[GitHub](https://github.com/shitagaki-lab/see-through),GUI、ComfyUI节点(感谢[@jtydhr88](https://github.com/jtydhr88)也都有了。训练代码之后也会放出来。 Paper在这里:[arXiv:2602.03749](https://arxiv.org/abs/2602.03749),很高兴,这是一个SIGGRAPH级别的工作,虽然是conference track。 就说这么多,谢谢大家。