Loading video...

Video Failed to Load

Go Home

We're reintroducing and open-sourcing project "See-through". Given a single anime illustration, it automatically decomposes the character into fully-inpainted semantic layers with depth ordering. One image in, layered PSD out. (1/n) Repo:

580,679 views • 5 months ago •via X (Twitter)

70 Comments

柔情猫娘's profile picture
柔情猫娘5 months ago

Under the hood: a diffusion-based body part consistency module (built on SDXL), paired with pixel-level pseudo-depth fine-tuned on Marigold. It automatically resolves interleaving structures like overlapping hair strands, accessories behind hair, clothing layers, etc. (2/n)

柔情猫娘's profile picture
柔情猫娘5 months ago

Is this Image-to-Live2D? Not really. Live2D needs artistic decomposition choices + rigging. We only automate segmentation and occlusion inpainting. But it's a solid starting point that may save plenty of manual work. (3/n)

柔情猫娘's profile picture
柔情猫娘5 months ago

Looking for community contributions — ComfyUI nodes, Colab notebooks, workflow integrations. PRs welcome, we'll feature your work. Enjoy! Finally, props to Lvmin Zhang. He is a legend. Honestly, without his work I might have lost all motivation to pursue this direction. (n/n)

夏落荷 希/Live2D委託開放中's profile picture
夏落荷 希/Live2D委託開放中5 months ago

It only took about 10 minutes, that's amazing!

柔情猫娘's profile picture
柔情猫娘5 months ago

Thanks for your report! It should be faster like 2mins on H200, or 3-4 mins on 4090. Maybe we will consider some optimizations in the future...

Even's profile picture
Even5 months ago

Can you make it so it only redraws/create what’s missing and hidden and not the whole illustration bcs AI-ing over the input doesn’t look good and kinda ruins the point It’d be way more hidden if it could keep the input and add the output to it, not overwrite input yk

柔情猫娘's profile picture
柔情猫娘5 months ago

Potentially there will be seams near the inpainting boundary. Poisson image editing may ultimately solve this ( but please understand this is a research project and all codes are more PoC-like. We encourage all kinds of improvements over our work.

もみじ's profile picture
もみじ5 months ago

@3rrabundus この素晴らしいモデルの分割情報をMetaのSAMのような分離モデルに渡して「分離」し、パーツごとの描き足し部分をPhotoshopの生成塗りつぶしのように元のレイヤーと綺麗に馴染むように「生成」するというようなことができたら、業界に大きなゲームチェンジが起こせると思いました💭

柔情猫娘's profile picture
柔情猫娘5 months ago

@3rrabundus I guess you can try adapting it with SAM3+LaMa, it should work but I am not sure about the final quality.

Sin(Game in Developing)'s profile picture
Sin(Game in Developing)5 months ago

The resolution of the test image is 3649x2770 pixels. The tested graphics card is 4090Ti 24G. The problems encountered are as follows: 1. The resolution has decreased significantly. 2. The details of the generated image have become chaotic. 3. The recognition of non-standing postures is not very good.😳

Mingfei Guo's profile picture
Mingfei Guo5 months ago

弹弹

Reigen's profile picture
Reigen5 months ago

woah! this can be super useful to artists in some scenarios. a question, why choose marigold instead of depth anything2? is just because marigold is also diffusion based.

柔情猫娘's profile picture
柔情猫娘5 months ago

Yes. Quite the reason. We have also tested with depth anything but find the results quite unstable. Guess this is related to the internal depth representation (but not investigate thoroughly).

Yesith Thomas's profile picture
Yesith Thomas5 months ago

Does it break it down into layers of image or in vectors? but nonetheless super cool! gonna check and test it out myself! Good Stuff @ljsabc

柔情猫娘's profile picture
柔情猫娘5 months ago

It’s in pixels. There are also researches for vector decomposition but the motivations are quite different there.

Yesith Thomas's profile picture
Yesith Thomas5 months ago

Interesting... gives me more reason to try it out now though! Thanks!

SagaSu's profile picture
SagaSu5 months ago

非常棒的项目!!!期待更多更新!!

柔情猫娘's profile picture
柔情猫娘5 months ago

还缺几个训练脚本我们会尽快补上,也欢迎大家多出意见多给建议,看看这东西还能咋用…

SagaSu's profile picture
SagaSu5 months ago

如果能拆的很自然就很棒

Cloud's profile picture
Cloud5 months ago

喜报!!! 以后大价钱约的有PSD的图也是AI图了.jpg

鳥遊's profile picture
鳥遊5 months ago

言語翻訳のおかげであなたのポストが即読めた、ありがたい。 ものすごいツールだ

HOShura's profile picture
HOShura5 months ago

我只想拿來抅走背景

柔情猫娘's profile picture
柔情猫娘5 months ago

那这东西就够了

HOShura's profile picture
HOShura5 months ago

看情況 有些第一身不太行 想試你這個

CosmicCorsair's profile picture
CosmicCorsair5 months ago

I think this is a match made in heaven with @MohoAnimation

LucidPlay's profile picture
LucidPlay5 months ago

Hi, thanks for your work on see-through! 1. Can it handle game screenshots with UI/effects for layer separation, or mainly anime-style images? 2. How does it differ from end-to-end layered models like Qwen-Image-Layered? Thanks!

柔情猫娘's profile picture
柔情猫娘5 months ago

@NexusUI_Offical 1. We trained our model mainly based on anime characters so we cannot really promise the generalization on out of distribution samples (humanoids, furry, dragons, etc., but it’s worth trying).

柔情猫娘's profile picture
柔情猫娘5 months ago

@NexusUI_Offical 2. The Qwen model requires prompting and may not always follow the desired semantics ( as in Figure 6, It’s hard to isolate a specific part apart from the composition.

LucidPlay's profile picture
LucidPlay5 months ago

Thanks a lot for the detailed reply!

Aderek's profile picture
Aderek5 months ago

This, if it were for pixel art, would speed up my process by about 30%. xD

Yuja✦ | PROPIC's profile picture
Yuja✦ | PROPIC5 months ago

Is there any problem if I change the size from 1280 to 1920? It takes time for the 1280, but I confirmed that it works well I haven't confirmed that it's working yet with 1920

柔情猫娘's profile picture
柔情猫娘5 months ago

I don’t see these will be obvious problems except the VRAM usage. I think you may have a try.

Yuja✦ | PROPIC's profile picture
Yuja✦ | PROPIC5 months ago

May I ask you something When I set the resolution value of the file 'inference_psd.py' to 1920 to output the size to 1920, png is output normally, but psd is not generated Is there any other way? It's okay to combine png files, but I'm asking if there's a way

柔情猫娘's profile picture
柔情猫娘5 months ago

Yes. We see this issue and the update is on its way. Before that, you can modify: on line 50 of inference_psd.py, change: apply_marigold() by adding a new parameter: resolution=args.resolution, and it should temporarily work.

Yuja✦ | PROPIC's profile picture
Yuja✦ | PROPIC5 months ago

Thank you for your consideration. I'll try it!

柔情猫娘's profile picture
柔情猫娘5 months ago

No problem. We hard-coded our depth part for a reason, and we will notice you when the update arrives.

Yuja✦ | PROPIC's profile picture
Yuja✦ | PROPIC5 months ago

Thank you so much !

柔情猫娘's profile picture
柔情猫娘5 months ago

now we have updated the codebase to separate diffusion/marigold resolution, git pull and rerun should produce PSD correctly. Thanks again for your feedback (w)

Sebastian Buzdugan's profile picture
Sebastian Buzdugan5 months ago

cool demo, next step is integrating rigging so animators can actually ship it

DenomRS (OPEN comms)'s profile picture
DenomRS (OPEN comms)5 months ago

I may be doing something wrong. But is it normal for it to take up to 24 GB of disk space after 1 use?

柔情猫娘's profile picture
柔情猫娘5 months ago

You need to download the model and deps. But this will only happy once and no additional spaces will be consumed.

DenomRS (OPEN comms)'s profile picture
DenomRS (OPEN comms)5 months ago

Got it, I will give it a try. Thank you

Megaaziib's profile picture
Megaaziib5 months ago

this insane!, thanks for sharing this.

elecpure's profile picture
elecpure5 months ago

Very useful!

Uipalent transport's profile picture
Uipalent transport5 months ago

Really cool!

Jacky Fan's profile picture
Jacky Fan5 months ago

how to use this to make animation?

LucidPlay's profile picture
LucidPlay1 month ago

Why doesn’t my generated output have ears?

Lorelai White's profile picture
Lorelai White5 months ago

This is why technology exists... Absolutely incredible work! 🤔 I need to tinker with this...

Youshou Xi's profile picture
Youshou Xi5 months ago

这个需要多少显存才能跑的动?

Farr's profile picture
Farr5 months ago

holyshit

nuru's profile picture
nuru5 months ago

Hello I love you ok bye

Jase Hazard 💭's profile picture
Jase Hazard 💭5 months ago

Ah so will this be working on Dragonbones Pro?

woctordho's profile picture
woctordho5 months ago

Do you think it can be used to extract lineart, or decompose base color/highlight/shadow? There are some classic works like Illyasviel's Erasing Appearance Preservation, but it seems lineart extraction is still an unsolved problem.

柔情猫娘's profile picture
柔情猫娘5 months ago

Check this out (but I don’t know when they will open source their models) By the way the vanilla Qwen-Image-Layered has already done a good job in separating the line arts (if prompted carefully). So I believe high-quality data is sticky.

柔情猫娘's profile picture
柔情猫娘5 months ago

* is the key.

Mash's profile picture
Mash5 months ago

Damn! Fr 🤯

A.I.Warper's profile picture
A.I.Warper5 months ago

@sin_ceriously

Court Reinland's profile picture
Court Reinland5 months ago

Amazing

Kazuki's profile picture
Kazuki5 months ago

Hello ! Are you planning to do a version compatible with Apple silicon chip? Because I see that we need PyTorch with Cuda 12.8 so on my Mac not useable. Thanks

柔情猫娘's profile picture
柔情猫娘5 months ago

I did test with my mps device but find some ops are mps-incompatible. Running everything on CPU is incredibly slow. We will consider this in the future, but I think potentially a better solution could be a Colab solution so it can balance cost and execution time.

Gary W 🌐's profile picture
Gary W 🌐5 months ago

What kind of hardware would you suggest is the minimum? I saw a reply saying a h200 should take around 2 minutes, 3 - 4 on a 4090. I've a 4060ti, so 16GB of VRAM, would that be enough or are we looking at 24GB - 32GB? I don't mind it taking 10-20, it still saves hours of work!

柔情猫娘's profile picture
柔情猫娘5 months ago

loading in fp16 should fit, but you may expect long running like 10mins or something.

Gary W 🌐's profile picture
Gary W 🌐5 months ago

That's perfectly fine, considering the time saved over all. Will definitely be fun to experiment with! Great work and thank you for sharing :)

柔情猫娘's profile picture
柔情猫娘5 months ago

Happy to know that. Always let me know if you meet any issues later.

bluebear's profile picture
bluebear5 months ago

这玩意应该受限于sam的性能?如果jpeg退化的图或者由北京的情况会不会糟糕一些?

柔情猫娘's profile picture
柔情猫娘5 months ago

这是个diffusion model,可能会受VAE的影响退点画质,但是跟SAM没啥关系

bluebear's profile picture
bluebear5 months ago

训练数据是不是没有画师授权没法分发?

柔情猫娘's profile picture
柔情猫娘5 months ago

是的,这是我们最大的遗憾。不过我觉得大公司很容易就有这些数据,至于小团队可以先用我们的模型infer然后bootstrap一个差不多的数据出来,再用我们的UI洗一遍

穆泽's profile picture
穆泽5 months ago

很厉害的项目,这样应该会更加的节省独立游戏的制作时间...总之很强,过几天试一下插件部署到云端..

柔情猫娘's profile picture
柔情猫娘5 months ago

好的!未来如果遇到什么问题或者有什么意见建议都欢迎和我们说!

Related Videos