3dlg-hcvc / cage

[CVPR 2024] Official Implementation of the paper "CAGE: Controllable Articulation GEneration"
https://3dlg-hcvc.github.io/cage/
MIT License
40 stars 2 forks source link

checkpoint and generation code #3

Open chaudatascience opened 2 weeks ago

chaudatascience commented 2 weeks ago

Hi, Thank you and congrats on the great work!

Can you provide the checkpoint of the model and the code to generate the objects?

Thank you! Best, Chau

chaudatascience commented 4 days ago

Hi, Just checking in to see if any updates on this.

I have trained a model, and got the output at my_log_dir. However, I can't generate the 3D objects. Can you provide a code to generate it, such as in URDF?

I've tried using obj_retrieval.py as mentioned in issue #1, but still couldn't get the result. Some issues: How should I set the values for requirement_dict, dataset_dir, and hashbook_path? Also, what should the value of gt_file_name be in case it is unavailable (i.e., generating new objects)? Here's what I've tried so far: It'd be great if you could provide a runnable example for it. Thank you! Chau

    requirement_dict_path = "my_log_dir/run1/cage/v1/images/predict/cond_graph/10000/Dishwasher/06fee7d302703f9fbdebad50b50439e1.json"
    requirement_dict = json.load(open(requirement_dict_path, "r"))
    dataset_dir = "my_log_dir/run1/cage/v1/images/predict/cond_graph/10000/"
    hashbook_path = "cage/indexes/hash_table.json" 
    num_states = 5
    metric_transform_plucker = False
    metric_compare_handles = False
    metric_iou_include_base = False
    metric_scale_factor = 10
    metric_num_samples = 10000
    keep_top = 5
    gt_file_name = "train_renumber.json" 
    verbose = True

    obj_candidates = find_obj_candidates(
        requirement_dict,
        dataset_dir,
        hashbook_path,
        num_states,
        metric_transform_plucker,
        metric_compare_handles,
        metric_iou_include_base,
        metric_scale_factor,
        metric_num_samples,
        keep_top,
        gt_file_name,
        verbose,
    )

    parts_to_render = pick_and_rescale_parts(
        requirement_dict, obj_candidates, dataset_dir, gt_file_name, verbose
    )
    print(parts_to_render)
SevenLJY commented 2 days ago

Hi Chau! Thanks for your interest in our work and for suggesting the demo code. We are working on it now. Will let you know once they are released.

chaudatascience commented 2 days ago

Dear Jiayi,

Thanks for your response! Looking forward to the new update.

Best, Chau