princeton-vl / infinigen

Infinite Photorealistic Worlds using Procedural Generation
https://infinigen.org
BSD 3-Clause "New" or "Revised" License
5.31k stars 455 forks source link

More room with objects #326

Open hpc100 opened 4 days ago

hpc100 commented 4 days ago

Hello, Thank's for your work.

Problems

I ran your command to generate indoor whole appartement, however I noticed that only one room contains objects (like you say in md file) (see illustration)

Steps to Reproduce

python -m infinigen.datagen.manage_jobs --output_folder outputs/my_dataset --num_scenes 1 --pipeline_configs local_256GB.gin monocular.gin blender_gt.gin indoor_background_configs.gin --configs singleroom.gin --pipeline_overrides get_cmd.driver_script='infinigen_examples.generate_indoors' LocalScheduleHandler.use_gpu=False manage_datagen_jobs.num_concurrent=16 --overrides compose_indoors.restrict_single_supported_roomtype=True compose_indoors.terrain_enabled=False --overwrite

Figure

Multiple_room_but_one_with_object

Question

I would like to know which parameter I need to modify, if i want to place object in all rooms ? (compose_indoors ? or another parameter ?)

Thank's in advance.

araistrick commented 1 day ago

If you want multiple rooms to be solved with objects, you should remove --configs singleroom.gin from your command, as this causes us to only generate a layout for a single room.

Please reopen if this does not resolve the issue

GavinZhengOI commented 11 hours ago

Hi Araistrick @araistrick, I'm using the exact same config with --configs singleroom.gin and --overrides compose_indoors.restrict_single_supported_roomtype=True deleted. It runs for tens of hours and ultimately result in a crash.

Here are some info provided by crash_summary:

09/21 12:07AM outputs/video_multiroom_dataset/5db391c0/logs/coarse.err reason='AssertionError:  ' node=None fatal=True
09/21 04:21PM outputs/huge_dataset_nooverride/b69f95a/logs/coarse.err reason='ValueError:  Could not find 1 camera views' node=None fatal=True
09/22 08:33AM outputs/huge_dataset_nooverride/69c2b33d/logs/coarse.err reason='AssertionError:  ' node=None fatal=True

One of the example of coarse.err:

raise proxy.with_traceback(exception.__traceback__) from None  File "/home/gavinzheng/miniconda3/envs/infinigen/lib/python3.10/site-packages/gin/config.py", line 1582, in gin_wrapper
    return fn(*new_args, **new_kwargs)  File "/home/gavinzheng/Documents/infinigen/infinigen/core/constraints/example_solver/annealing.py", line 207, in retry_attempt_proposals
    succeeded = move.apply(state)  File "/home/gavinzheng/Documents/infinigen/infinigen/core/constraints/example_solver/moves/addition.py", line 90, in apply
    assert target_name not in state.objsAssertionError: 
  In call to configurable 'retry_attempt_proposals' (<function SimulatedAnnealingSolver.retry_attempt_proposals at 0x74c67e3d7400>)
  In call to configurable 'solve_objects' (<function Solver.solve_objects at 0x74c67e3f6200>)
  In call to configurable 'compose_indoors' (<function compose_indoors at 0x74c67d835750>)
  In call to configurable 'execute_tasks' (<function execute_tasks at 0x74c67dbe6a70>)

If I don't delete --configs singleroom.gin and --overrides compose_indoors.restrict_single_supported_roomtype=True, everything is working well. Could you provides some insight to this problem? Let me know if you need any other info. Thanks!