champ icon indicating copy to clipboard operation
champ copied to clipboard

When will you release a hugging face demo ,THANK YOU IN ADVANCE ♡♡♡

Open Sarthak-999 opened this issue 3 months ago • 8 comments

Sarthak-999 avatar Apr 21 '24 17:04 Sarthak-999

they have one on replicate while you wait https://replicate.com/camenduru/champ

Inferencer avatar Apr 21 '24 17:04 Inferencer

A preliminary Champ was implemented, including aligning the 3D pose with the input image. The entire forward process took about 6 minutes. https://c933b786ceedee6c17.gradio.live

https://github.com/fudan-generative-vision/champ/assets/147801386/a53d5a16-b304-4a3e-bef6-0d544ee53b33

zhou-linpeng avatar Apr 23 '24 06:04 zhou-linpeng

@zhou-linpeng Awesome. How did you got smooth animation? Please post quick guide (steps).

nitinmukesh avatar Apr 23 '24 11:04 nitinmukesh

Great work! I would also like to know how you make the video smooth without flickering!

sonodaatom avatar Apr 23 '24 13:04 sonodaatom

Hi @nitinmukesh @sonodaatom, the Blender smooth script is released. Update and Check the doc.

Leoooo333 avatar Apr 29 '24 08:04 Leoooo333

@Leoooo333 Thank you for your great work and reply!

I would also appreciate an answer to the bug that is not generated when using figure_transfer. https://github.com/fudan-generative-vision/champ/issues/84

Also, like --view_transfer, I would like the balance of the body to be aligned with the reference image, but to be moved when the video is moved from back to front, do you have any idea how to handle such a request?

sonodaatom avatar Apr 30 '24 05:04 sonodaatom

Hi @sonodaatom, so now cam_t, which is the global location of the SMPL, is fixed as Reference when using view-transfer. To transfer with moving locations, I recommend to edit this line. https://github.com/fudan-generative-vision/champ/blob/b205392e54160de2cdc2ebd7b9832970317704a0/scripts/data_processors/smpl/smpl_transfer.py#L111

For a very simple example, you can translate the mean of your motion sequence's cam_t to reference's. Here's the pseudo code.

motion_loc_mean = result_dict_list["camera"].mean()
ref_loc = reference_dict["cam_t"] 
smooth_factor = 1
rescale_loc_list = result_dict_list["camera"] - motion_loc_mean 
rescale_loc_list *= ref_loc / motion_loc_mean  # simple perspective transform
rescale_loc_list *= smooth_factor
rescale_loc_list += ref_loc # move motion's mean to ref_loc
for i in range() :
    result_dict["cam_t"] = rescale_loc_list [i]

Leoooo333 avatar May 01 '24 06:05 Leoooo333

@Leoooo333 Thank you for the pseudo code. I will try it.

sonodaatom avatar May 01 '24 10:05 sonodaatom