
See-through 23层身体标签体系深度解析从hair到wings动漫部件如何映射到Live2D Drawable【免费下载链接】see-throughSingle-image Layer Decomposition for Anime Characters (SIGGRAPH 2026 Conference Paper)项目地址: https://gitcode.com/gh_mirrors/se/see-throughSee-through是一个获得 SIGGRAPH 2026 收录的开源研究项目核心能力是单图动漫角色图层分解Layer Decomposition输入一张静态动漫插画自动输出最多23 层语义分离的 PSD 文件——从 front hair 到 wings每一层都经过补全inpainting并按深度排序可以直接对接 Live2D 工作流。本文带你完整看懂这套23层身体标签体系的设计、它如何从动漫社区标签映射而来以及每个标签最终落到 Live2D Drawable 的哪一层。 23层标签体系全景每个tag管什么这套体系的完整定义只有一行 Python 常量位于 common/live2d/scrap_model.pyVALID_BODY_PARTS_V3 [ front hair, back hair, headwear, face, irides, eyebrow, eyewhite, eyelash, eyewear, ears, earwear, nose, mouth, neck, neckwear, topwear, handwear, bottomwear, legwear, footwear, tail, wings, objects ]按角色部位可以分为四大类区域标签tag作用头部front hair/back hair头发按遮挡关系拆成前后两层头部headwear帽子、皇冠、发饰、耳机等全部头饰面部face脸部皮肤基底眼部irides/eyebrow/eyewhite/eyelash把笼统的眼睛拆成虹膜、眉毛、眼白、睫毛四件头部eyewear/ears/earwear/nose/mouth眼镜、耳朵、耳饰、鼻、嘴身体neck/neckwear/topwear/handwear脖子、项链围巾、上衣与袖套下身bottomwear/legwear/footwear下装、袜装、鞋靴附加tail/wings/objects尾巴、翅膀、持有物 这套标签与 inference/demo/bodypartseg_sam.ipynb 中展示的 19 部件分割 demo 一脉相承V3 是其中最新、最细的一版。 从 hair 到 irides标签体系的三次进化标签体系并非一步到位。在 common/live2d/scrap_model.py 中三个版本被完整保留了下来V120 类最粗糙的一版头发只有一个hair眼睛只有一个eyes还包含beard胡须和skin裸露皮肤V219 类删掉了beard和skin新增objects承接手持物、背景杂物V323 类两处关键升级——hair拆成front hairback haireyes拆成irideseyebroweyewhiteeyelash。这正是Live2D 思维做动态表情时上下眼睑要遮住虹膜、刘海要压住眉毛只有把眼部拆成独立图层才能做自然的眨眼和视线动画。V1/V2 的单一eyes图层做不到这一点。代码里还藏着一个精巧的别名映射把 PSD 里的短层名还原回完整标签_tag_cvt { hairf: front hair, hairb: back hair, eyebg: eyewhite }️ 动漫标签如何聚类到身体部件bodytags_v3.jsonLive2D 模型本身不告诉你这块图是翅膀。See-through 的解法是借助动漫社区的Danbooru 式标签做投票匹配。核心数据文件是 common/assets/bodytags_v3.json2200 行它的结构是23 个身体部件 tag → 每个 tag 挂着一长串具体标签。几个直观的例子wings下挂了 47 个标签angel_wings天使翼、demon_wings恶魔翼、bat_wings蝙蝠翼、dragon_wings龙翼……只要图上的翅膀命中任意一个这块 Drawable 就会被标为wingsheadwear是最大的簇超过 400 个标签从straw_hat草帽到cat_ear_headphones猫耳耳机tail下则覆盖fox_tail、raccoon_tail、fish_tail等 60 多种尾巴。与之配套的还有 common/assets/tagcluster_bodypart_v2.json它把hair这一整族标签发色、发型、双马尾等聚到 hair 部件下。这套标签簇 → 身体部件的聚类规则就是标题中从 hair 到 wings的映射源头。⚙️ 核心映射一个 Live2D Drawable 如何获得 body_part_tag在 Live2D Cubism 模型中Drawable 是最小的可绘制单元——每张贴图都有绘制顺序draw order和深度depth。See-through 在 common/live2d/scrap_model.py 中定义了镜像它的Drawable类class Drawable: def __init__(self, imgNone, depth-1, draw_order-1, ...): self.body_part_tag None # 每个Drawable最终会被打上一个23选1的标签Live2DScrapModel加载模型时会解析文件名约定绘制顺序-部件名-深度.png如00042-iris-l-0000.png把每个文件还原成一个 Drawable 对象。接下来标签是怎么打上去的答案在训练数据管线 training/scripts/data_pipeline.pySAM 语义分割给出候选掩码例如tail、wings的整体轮廓关键点校验过滤误判——例如给handwear的掩码要求它必须同时靠近左右手腕check_points[wrist_left, wrist_right]footwear则必须靠近脚踝校验通过的掩码写入 Drawable 的body_part_tag最终汇总成bodyparsingv3.json。解析 Live2D 模型细节的完整脚本见 inference/scripts/parse_live2d.py其中还处理了头发前后归属hair 按遮挡位置分给front hair/back hair和眼部四分irides/eyebrow/eyebg/eyelash。 从 13 个分割部件到 23 层 PSD后处理魔法一个容易误会的地方模型本身并不直接输出 23 层。主管线 inference/scripts/inference_psd.py 中SAM 身体解析只输出 13 个大类front hair、back hair、head、neck、topwear……wings、objects细化的工作交给 common/utils/inference_utils.py 里的further_extr头发深度聚类hair按深度中位数聚成hairf前发和hairb后发两层眼部四分 左右拆分eyes先分成左右两只眼再拆出irides、eyebrow、eyewhite、eyelash各自再分左右eyer/eyel、browr/browl左右拆分handwear、ears同样拆成左右组件深度修正nose、mouth强制排在face之前绘制ears排在face之后按深度排序导出所有层按depth_median从深到浅写入 PSD同时导出一份对应的灰度深度 PSD。到这里13 个分割部件 面部解析 左右拆分正好拼出23 层 PSD。如果还想继续细分比如左右手各穿不同手套可以用 inference/scripts/heuristic_partseg.py 按深度seg_wdepth或左右seg_wlr二次拆分产出handwear-1这类子标签层。️ 在统一 UI 中查看分解结果分解完成后项目内置的桌面 UI见 ui/ 与 ui/README.md可以加载workspace/下的数据集可视化每层的掩码与标签归属方便人工核对 23 层是否分对了 快速上手一条命令跑出23层python inference/scripts/inference_psd.py --srcp assets/test_image.png --save_to_psd运行前只需创建 conda 环境并安装 requirements.txt低显存用户可用 inference/scripts/inference_psd_quantized.py 的 4-bit 量化管线。输出默认落在workspace/layerdiff_output/除了 23 层 PSD还会保存中间深度图与分割掩码。写在最后See-through 的 23 层标签体系本质是一座桥一头连接动漫社区的标签生态Danbooru 式 tag 聚类另一头连接 Live2D 引擎的 Drawable 绘制模型。front hair 压住 face、face 压住 topwear、wings 悬在最后——这套深度语义一旦对齐PSD 输出就能被 Live2D 系工具近乎开箱使用。正如作者在 README.md 中强调的它目前还不是Image-to-Live2D但它替动画师干掉了最枯燥的部分手工抠图和遮挡补全。小提示本文所有文件路径均相对于仓库根目录可直接在代码库中跳转查看。【免费下载链接】see-throughSingle-image Layer Decomposition for Anime Characters (SIGGRAPH 2026 Conference Paper)项目地址: https://gitcode.com/gh_mirrors/se/see-through创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考