Giter Site home page Giter Site logo

allenai / holodeck Goto Github PK

View Code? Open in Web Editor NEW
276.0 12.0 24.0 96 KB

CVPR 2024: Language Guided Generation of 3D Embodied AI Environments.

Home Page: https://yueyang1996.github.io/holodeck

License: Apache License 2.0

Python 100.00%
ai2-thor generative-ai large-language-models text-to-3d unity 3d-environment

holodeck's People

Contributors

eltociear avatar sunfanyunn avatar yueyang1996 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

holodeck's Issues

Problems about using objaverse

Hello!Thank you for your nice work!

I want to ask how the code get assets from objaverse.

I download the dataset, but there is no 3D model files in data\objaverse_holodeck\09_23_combine_scale\processed_2023_09_23_combine_scale.

How this project get 3D model from objaverse? By link the URL in attribution.txt and download or I missed some important information?

Thank you again for you help.

Compatibility of "objectType" in AI2THOR

Hi,it is quite impressive to see the scene can be load in AI2THOR, which is soloved in #issues17.However, the objectType is always undefined.Is there any possible way to be competible with the objectType in AI2THOR? Even I tried to modified the objectType, It seem to be still undefined after a controller.step().It can be significant for me to develop in the whole picture of your team.

Load generated JSON file in AI2THOR

Is it possible to load the generated scene in ai2thor? I have been trying to do so by loading the JSON file content into the scene parameter of the ai2thor Controller, but when I visualize the scene I can see that all the objects are missing, only the rooms are generated.

This makes me think that the Objaverse data are not available, while they are for the generation with the main.py of Holodeck. How can I resolve this issue?
Thanks for any help!

ValueError: Invalid commit_id: 6f165fdaf3cf2d03728f931f39261d14a67414d0

Hi. I'm trying to run a test prompt, I've fixed a few errors, but I can't fix this one anymore. Can you tell me what the problem is?

Logs:

(holodeck) PS D:\Work\AI\Holodeck> python main.py --query "a living room" --openai_api_key <key>
Generating from an empty scene.
User: You are an experienced room designer. Please assist me in crafting a floor plan. Each room is a rectangle. You need to define the four coordinates and specify an appropriate design scheme, including each room's color, material, and texture.
Assume the wall thickness is zero. Please ensure that all rooms are connected, not overlapped, and do not contain each other.
Note: the units for the coordinates are meters.
For example:
living room | maple hardwood, matte | light grey drywall, smooth | [(0, 0), (0, 8), (5, 8), (5, 0)]
kitchen | white hex tile, glossy | light grey drywall, smooth | [(5, 0), (5, 5), (8, 5), (8, 0)]

Here are some guidelines for you:
1. A room's size range (length or width) is 3m to 8m. The maximum area of a room is 48 m$^2$. Please provide a floor plan within this range and ensure the room is not too small or too large.
2. It is okay to have one room in the floor plan if you think it is reasonable.
3. The room name should be unique.

Now, I need a design for a living room.
Additional requirements: N/A.
Your response should be direct and without additional text at the beginning or end.

AI: Here is the floor plan:
living room | oak parquet, satin finish | warm beige textured wallpaper | [(0, 0), (0, 6), (8, 6), (8, 0)]
AI: The floor plan is valid. (Only one room)

User: I am now designing a living room. Please help me decide the wall height in meters.
Answer with a number, for example, 3.0. Do not add additional text at the beginning or in the end.

AI: The wall height is 2.7

User: I need assistance in designing the connections between rooms. The connections could be of three types: doorframe (no door installed), doorway (with a door), or open (no wall separating rooms). The sizes available for doorframes and doorways are single (1m wide) and double (2m wide).

Ensure that the door style complements the design of the room. The output format should be: room 1 | room 2 | connection type | size | door style. For example:
exterior | living room | doorway | double | dark brown metal door
living room | kitchen | open | N/A | N/A
living room | bedroom | doorway | single | wooden door with white frames

The design under consideration is a living room, which includes these rooms: living room. The length, width and height of each room in meters are:
living room: 8.0 m x 6.0 m x 2.7 m

Certain pairs of rooms share a wall: (exterior, living room). There must be a door to the exterior.
Adhere to these additional requirements: N/A.
Provide your response succinctly, without additional text at the beginning or end.

AI: Here is the doorway plan:
exterior | living room | doorway | single | wooden door with glass panels
There are multiple ways between exterior and living room

User: Guide me in designing the windows for each room. The window types are: fixed, hung, and slider.
The available sizes (width x height in cm) are:
fixed: (92, 120), (150, 92), (150, 120), (150, 180), (240, 120), (240, 180)
hung: (87, 160), (96, 91), (120, 160), (130, 67), (130, 87), (130, 130)
slider: (91, 92), (120, 61), (120, 91), (120, 120), (150, 92), (150, 120)

Your task is to determine the appropriate type, size, and quantity of windows for each room, bearing in mind the room's design, dimensions, and function.

Please format your suggestions as follows: room | wall direction | window type | size | quantity | window base height (cm from floor). For example:
living room | west | fixed | (130, 130) | 1 | 50

I am now designing a living room. The wall height is 270 cm. The walls available for window installation (direction, width in cm) in each room are:
living room: west, 600 cm; east, 600 cm; south, 800 cm;

Please note: It is not mandatory to install windows on every available wall. Within the same room, all windows must be the same type and size.
Also, adhere to these additional requirements: Only one wall of each room should have windows.

Provide a concise response, omitting any additional text at the beginning or end.

AI: Here is the window plan:
living room | south | fixed | (240, 180) | 3 | 90

AI: Selecting objects for living room...

AI: The floor capacity of living room is 9.606128045951507m^2, which is less than 70% of the total floor capacity 19.200000000000003m^2.

AI: Here is the object selection plan:
{'living room': {'sectional_sofa': {'description': 'cozy corner sectional sofa in a neutral tone', 'location': 'floor', 'size': [350, 250, 85], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'decorative pillow', 'quantity': 6, 'variance_type': 'varied'}, {'object_name': 'throw blanket', 'quantity': 2, 'variance_type': 'varied'}, {'object_name': 'sofa arm tray', 'quantity': 1, 'variance_type': 'same'}], 'object_name': 'sectional_sofa'}, 'coffee_table': {'description': 'elegant wooden coffee table with a glass top', 'location': 'floor', 'size': [140, 90, 45], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'coffee table book', 'quantity': 5, 'variance_type': 'varied'}, {'object_name': 'vase', 'quantity': 2, 'variance_type': 'varied'}, {'object_name': 'decorative tray', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'candle holder', 'quantity': 2, 'variance_type': 'varied'}, {'object_name': 'table clock', 'quantity': 1, 'variance_type': 'same'}], 'object_name': 'coffee_table'}, 'entertainment_unit': {'description': 'sleek, low-profile media console in dark wood finish', 'location': 'floor', 'size': [200, 50, 50], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'flat screen tv', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'speaker', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'gaming console', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'decorative figurine', 'quantity': 3, 'variance_type': 'varied'}], 'object_name': 'entertainment_unit'}, 'bookshelf': {'description': 'tall, modern bookshelf for storage and display', 'location': 'floor', 'size': [100, 35, 220], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'books', 'quantity': 30, 'variance_type': 'varied'}, {'object_name': 'decorative statue', 'quantity': 4, 'variance_type': 'varied'}, {'object_name': 'potted plant', 'quantity': 4, 'variance_type': 'varied'}, {'object_name': 'photo frame', 'quantity': 4, 'variance_type': 'varied'}], 'object_name': 'bookshelf'}, 'floor_lamp': {'description': 'modern arc floor lamp for ambient lighting', 'location': 'floor', 'size': [60, 160, 210], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [], 'object_name': 'floor_lamp'}, 'wall_art': {'description': 'a set of framed contemporary art pieces', 'location': 'wall', 'size': [100, 5, 80], 'quantity': 4, 'variance_type': 'varied', 'objects_on_top': [], 'object_name': 'wall_art'}, 'accent_chair': {'description': 'plush accent chair with ottoman', 'location': 'floor', 'size': [90, 85, 100], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'small cushion', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'accent_chair'}, 'side_table': {'description': 'round side table with wooden finish', 'location': 'floor', 'size': [50, 50, 60], 'quantity': 2, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'table lamp', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'coaster set', 'quantity': 2, 'variance_type': 'same'}, {'object_name': 'succulent plant', 'quantity': 2, 'variance_type': 'varied'}], 'object_name': 'side_table'}, 'console_table': {'description': 'stylish console table for the entryway area', 'location': 'floor', 'size': [120, 40, 85], 'quantity': 1, 'variance_type': 'same', 'objects_on_top': [{'object_name': 'decorative bowl', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'key holder', 'quantity': 1, 'variance_type': 'same'}, {'object_name': 'small sculpture', 'quantity': 1, 'variance_type': 'same'}], 'object_name': 'console_table'}}}
plan for living room: High-Level Design Strategy:

For this living room, the anchor object will be the sectional_sofa-0 as it is likely the largest and serves as a primary seating arrangement. It will be placed against an edge of the room to maintain spaciousness. The entertainment_unit-0 will be placed on the opposite edge, facing the sectional sofa, creating a focal point for a TV watching area.

Bookshelves will be next, placed on the edges of the room, and potentially aligned with each other if they are on the same wall or opposite walls. Floor lamps will be placed near the seating arrangement but not necessarily at the edge, to provide adequate lighting.

Accent chairs will be positioned to complement the sectional sofa and to help form a cozy conversation area. Side tables will be placed conveniently next to seats for practicality. The coffee table will be centered in front of the sectional sofa.

The console table will likely be placed at the edge, perhaps along the entryway or against a free wall, to be used for decorative purposes or to hold keys and mail.

Constraints for each object:

sectional_sofa-0 | edge

entertainment_unit-0 | edge | opposite side of, sectional_sofa-0

bookshelf-0 | edge | far, entertainment_unit-0

bookshelf-1 | edge | far, entertainment_unit-0 | aligned with, bookshelf-0

floor_lamp-0 | middle | near, sectional_sofa-0 | side of, sectional_sofa-0

floor_lamp-1 | middle | near, accent_chair-0 | side of, accent_chair-0

accent_chair-0 | middle | near, sectional_sofa-0 | side of, sectional_sofa-0 | face to, coffee_table-0

accent_chair-1 | middle | near, sectional_sofa-0 | opposite side of, accent_chair-0 | face to, coffee_table-0

side_table-0 | edge | near, sectional_sofa-0 | side of, sectional_sofa-0

side_table-1 | edge | near, accent_chair-0 | side of, accent_chair-0

coffee_table-0 | middle | near, sectional_sofa-0 | in front of, sectional_sofa-0 | center aligned with, entertainment_unit-0

console_table-0 | edge | far, bookshelf-0 | far, bookshelf-1
constraint type opposite side of not found
constraint type aligned with not found
target object accent_chair-0 not found in the existing constraint plan
target object accent_chair-0 not found in the existing constraint plan
target object coffee_table-0 not found in the existing constraint plan
constraint type opposite side of not found
target object coffee_table-0 not found in the existing constraint plan
constraint type center aligned with not found
Restricted license - for non-production use only - expires 2024-10-28
23115.605644969895 ['sectional_sofa-0', 'coffee_table-0', 'floor_lamp-1', 'bookshelf-1', 'bookshelf-0', 'accent_chair-0']
18132.002243386094 ['entertainment_unit-0', 'floor_lamp-0', 'accent_chair-1']
5820.6050074257455 ['side_table-0']
16432.162516276214 ['side_table-1', 'console_table-0']
744.4540891790868 ['sectional_sofa-0']
8400.881576689313 ['entertainment_unit-0', 'accent_chair-1', 'floor_lamp-1']
21252.50755235555 ['bookshelf-0', 'bookshelf-1', 'side_table-0', 'coffee_table-0']
27473.96301155191 ['floor_lamp-0', 'accent_chair-0', 'console_table-0', 'side_table-1']
21827.113736528365 ['sectional_sofa-0', 'accent_chair-1', 'bookshelf-0', 'console_table-0', 'bookshelf-1']
5512.623255668515 ['entertainment_unit-0']
11129.66245957536 ['sectional_sofa-0', 'console_table-0', 'side_table-0', 'entertainment_unit-0']
14200.367297194518 ['bookshelf-0', 'accent_chair-0', 'side_table-1']
1301.2994662075798 ['sectional_sofa-0', 'coffee_table-0']
6155.398221139094 ['entertainment_unit-0', 'floor_lamp-1']
22686.883763367954 ['bookshelf-0', 'bookshelf-1', 'floor_lamp-0', 'side_table-1']
28081.505856971613 ['accent_chair-0', 'console_table-0', 'accent_chair-1', 'side_table-0']
16516.25882716701 ['sectional_sofa-0', 'entertainment_unit-0', 'coffee_table-0', 'floor_lamp-1', 'console_table-0']
41927.035121512046 ['bookshelf-0', 'accent_chair-0', 'side_table-0', 'bookshelf-1', 'side_table-1', 'floor_lamp-0']
6297.339032398482 ['accent_chair-1']
1602.5572143065024 ['sectional_sofa-0', 'accent_chair-0']
16580.22562881109 ['entertainment_unit-0', 'side_table-1', 'floor_lamp-1', 'accent_chair-1']
16816.027275145367 ['bookshelf-0', 'floor_lamp-0', 'side_table-0']
6887.649013375247 ['bookshelf-1']
3255.831180858589 ['sectional_sofa-0', 'console_table-0']
9422.541787638722 ['sectional_sofa-0', 'console_table-0', 'bookshelf-0']
22060.3261003041 ['entertainment_unit-0', 'bookshelf-1', 'side_table-0', 'accent_chair-1']
3324.10569421375 ['sectional_sofa-0', 'side_table-1']
Number of solutions found: 10

wall object constraint plan for living room:
wall_art-0 | above, sectional_sofa-0 | 160
wall_art-1 | above, bookshelf-1 | 160
wall_art-2 | above, entertainment_unit-0 | 160
wall_art-3 | above, accent_chair-0 | 160
switch-0 | N/A | 120
Time limit reached.
Time taken: 5.012984991073608
Traceback (most recent call last):
  File "D:\Work\AI\Holodeck\main.py", line 95, in <module>
    generate_single_scene(args)
  File "D:\Work\AI\Holodeck\main.py", line 21, in generate_single_scene
    args.model.generate_scene(
  File "D:\Work\AI\Holodeck\modules\holodeck.py", line 199, in generate_scene
    scene = self.generate_small_objects(scene, used_assets=used_assets)
  File "D:\Work\AI\Holodeck\modules\holodeck.py", line 141, in generate_small_objects
    controller = self.small_object_generator.start_controller(scene, self.objaverse_asset_dir)
  File "D:\Work\AI\Holodeck\modules\small_objects.py", line 220, in start_controller
    controller = Controller(
  File "C:\Users\Subd1v\miniconda3\envs\holodeck\lib\site-packages\ai2thor\controller.py", line 540, in __init__
    self._build = self.find_build(local_build, commit_id, branch, platform)
  File "C:\Users\Subd1v\miniconda3\envs\holodeck\lib\site-packages\ai2thor\controller.py", line 1418, in find_build
    raise ValueError(
ValueError: Invalid commit_id: 6f165fdaf3cf2d03728f931f39261d14a67414d0 - no build exists for arch=Windows platforms=StandaloneWindows64
(holodeck) PS D:\Work\AI\Holodeck>

Running on a headless server

Thank you for your amazing work! I was trying to run the example code on my headless Ubuntu Server. I met the problem as below:

Traceback (most recent call last):
  File "/home/user/projects/anyhome/Holodeck/main.py", line 95, in <module>
    generate_single_scene(args)
  File "/home/user/projects/anyhome/Holodeck/main.py", line 21, in generate_single_scene
    args.model.generate_scene(
  File "/home/user/projects/anyhome/Holodeck/modules/holodeck.py", line 199, in generate_scene
    scene = self.generate_small_objects(scene, used_assets=used_assets)
  File "/home/user/projects/anyhome/Holodeck/modules/holodeck.py", line 141, in generate_small_objects
    controller = self.small_object_generator.start_controller(scene, self.objaverse_asset_dir)
  File "/home/user/projects/anyhome/Holodeck/modules/small_objects.py", line 225, in start_controller
    controller = Controller(
  File "/home/user/miniconda3/envs/holodeck/lib/python3.9/site-packages/ai2thor/controller.py", line 540, in __init__
    self._build = self.find_build(local_build, commit_id, branch, platform)
  File "/home/user/miniconda3/envs/holodeck/lib/python3.9/site-packages/ai2thor/controller.py", line 1464, in find_build
    raise Exception("\n".join(error_messages))
Exception: The following builds were found, but had missing dependencies. Only one valid platform is required to run AI2-THOR.
Platform Linux64 failed validation with the following errors: No valid X display found
  Linux64 requires a X11 server to be running with GLX. If you have a NVIDIA GPU, please run: sudo ai2thor-xorg start

It seems that the codebase uses ai2thor, which is built based on Unity (correct me if I'm wrong) and cannot be run on a headless server. I've also tried adding ai2thor_colab library into the codebase and initialize an X server using ai2thor_colab.start_xserver(). This also fails because it seems that the colab version relies on HTML:

<IPython.core.display.HTML object>
Traceback (most recent call last):
  File "/home/user/projects/anyhome/Holodeck/main.py", line 5, in <module>
    from modules.holodeck import Holodeck
  File "/home/user/projects/anyhome/Holodeck/modules/holodeck.py", line 16, in <module>
    from modules.small_objects import SmallObjectGenerator
  File "/home/user/projects/anyhome/Holodeck/modules/small_objects.py", line 11, in <module>
    ai2thor_colab.start_xserver()
  File "/home/user/miniconda3/envs/holodeck/lib/python3.9/site-packages/ai2thor_colab/__init__.py", line 289, in start_xserver
    progress_bar.update(progress(100))
AttributeError: 'NoneType' object has no attribute 'update'

Is there any way I can run the codebase on my headless server? Thanks!

GurobiError

When trying to run an example "python main.py --query "a living room with a fireplace" --openai_api_key ###", I keep getting a Gurobi error - gurobipy.GurobiError: Unknown parameter 'reoptimize'. I installed Gurobi via conda and it installed gurobi-11.0.0. I am running on Windows 11.

Gurobi Errors

Hello, thank you for open-sourcing this! Very excited to work with it.

After install and when attempting to run the example python command in the readme, I received an error that Gurobi was not found, so I installed it with conda install -c gurobi gurobi. After running the same command again, I received the following error:

gurobipy.GurobiError: Unknown parameter 'reoptimize'

Is there a specific version of gurobi that one must install?

Full stack trace included in .txt file.

error.txt

RuntimeError: unable to open shared memory object

python main.py --query "a living room" --openai_api_key ......
I encountered this error:
Traceback (most recent call last):
File "/home/lenovo/AI_Pkgs/Holodeck/main.py", line 95, in
File "/home/lenovo/AI_Pkgs/Holodeck/main.py", line 21, in generate_single_scene
File "/home/lenovo/AI_Pkgs/Holodeck/modules/holodeck.py", line 186, in generate_scene
File "/home/lenovo/AI_Pkgs/Holodeck/modules/holodeck.py", line 126, in select_objects
File "/home/lenovo/AI_Pkgs/Holodeck/modules/object_selector.py", line 71, in select_objects
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 364, in map
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 771, in get
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 537, in _handle_tasks
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/connection.py", line 206, in send
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/reduction.py", line 51, in dumps
File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/site-packages/torch/multiprocessing/reductions.py", line 369, in reduce_storage
RuntimeError: unable to open shared memory object </torch_380514_3667517887_498> in read-write mode: Too many open files (24)
device:RTX 3080 GPU 16GVRAM
Intel i7-11800H 64GRAM
environment:WSL2

How to generate clip and sbert feature for a object?

Very impressive work! I'm trying to add some custom objects to the inference pipeline, but stuck in the step of calculating similarity between query and object. I want to know more about the calculation of object features.

What specific models to use for CLIP and SBERT respectively?
What's the input of CLIP? Is it a image of the object, or the image from multiple views?
What's the input of SBERT? It should contain the annotations from GPT. What else is needed and what's the input text template?

Could you explain the questions above? Or further release the corresponding code? Looking forward to your reply.

Render Imgs for NeRF dataset

Hi,

I am trying to convert the generated AI2Thor into a NeRF dataset. However the generated room does not seem to be at the origin, and if I sample a couple of views from the center, its looking into the outside. Do you by any chance have ideas of a better way to capture a NeRF dataset from the generated room?

Thank you.

Screenshot 2024-02-01 at 10 49 35 PM

Generation gets stuck during GPT interaction

Thanks for open-sourcing this great project!

I am running into a problem when running the example command python main.py --query "a living room" --openai_api_key <OPENAI_API_KEY>. The interaction with GPT4 gets stuck after the following line is printed

AI: Here is the window plan:
living room | east | fixed | (240, 120) | 3 | 100

AI: Selecting objects for living room...

There is no error printed, and the processes continue running, but nothing happens anymore, for multiple hours (then I killed the process).

Can you give me some pointers on what could be the problem here? Thank you!

Cuda Multiprocessing Issue

I tried running the simple example in the ReadMe which led to this error :
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
I plugged in a
torch.multiprocessing.set_start_method('spawn', force = True)
under the if name == "main"
as per a few post online which led to another error :

[W CudaIPCTypes.cpp:15] Producer process has been terminated before all shared CUDA tensors released. See Note [Sharing CUDA tensors]```

Could not generate scene

When trying to run a sample on my M2 based Mac, it appears everything runs through however at the very end, the Unity window closes and I get a "Could not generate scene from a ......" message. An overhead PNG does open however. I do not see anywhere a scene I can then open in Unity. Am I missing something?

data/objaverse_holodeck format - triangles, scales, orientation etc

I'm trying to use the code, and render the created/given scenes without dependency on AIThor, for instance set up the scene in pyrender. The most immediate reason is that I'm running on Windows and I'm having the same issues running AIThor as someone else written here in another post.

I had no luck in trying to render/setup a scene by taking one of the output json files and using the uid to download the original objaverse models. It seems like the scale, rotation and translation of the models is off, and it does seem that you scaled and transformed the models in objaverse_holodeck/09_23_combine_scale.

Therefore I wanted to load the meshes in objaverse_holodeck/09_23_combine_scale, and the pkl file contains both 'vertices' and 'triangles'. I was hoping triangles are the mesh's faces array pointing to indices of vertices in every triangle, but it seems to be a one dimensional array of the form [0,1,...., len(vertices)-1]. So I have a few questions:

  1. How can I access the faces array of the meshes in 09_23_combine_scale? I haven't seen such an array in the pkl file. It also seems to me that I can't take the original faces, or at least I'm not sure how to as the number of verticesI get by reading the original glb files from objaverse (with trimesh or open3d) is different than the one I get from reading the pkl file. I also couldn't find the faces information in other files at the data folder, so I was wondering how or from where does AIThor read the faces per model?

  2. Before loading 3D models to my scene and using the layout information (in pyrender or any other renderer that is not AIThor), should I scale or rotate the 3D models? I've seen the metadata file called "objaverse_holodeck_database.json", and for each Mesh there's a "scale" annotation that is not 1, should I then scale it before loading it? Are there any other transformations I should do (translation centering and/or rotation?). I saw an annotation for "pose_z_rot_angle"- is that a rotation around the z axis in radians that I should perform after the scaling? Any other transformations I should run on loaded models before placing them in positions and orientations given by the layout in the scene's json file?

Thanks a lot and great work!

Inference Stuck

image

Hi, I am trying the inference code and the process stucks here forever, may I ask u what might be the possible cause for this ?

ModuleNotFoundError: No module named 'ai2thor.hooks'

I try to run the project by

run  python main.py --query "a living room" --openai_api_key <>

but return:

Traceback (most recent call last):
  File "/home/huanghan/Holodeck/main.py", line 5, in <module>
    from modules.holodeck import Holodeck
  File "/home/huanghan/Holodeck/modules/holodeck.py", line 16, in <module>
    from modules.small_objects import SmallObjectGenerator
  File "/home/huanghan/Holodeck/modules/small_objects.py", line 9, in <module>
    from ai2thor.hooks.procedural_asset_hook import ProceduralAssetHookRunner
ModuleNotFoundError: No module named 'ai2thor.hooks'

now, conda list include package ai2thor
and I try reinstall ai2thor and several version from latest 5.0.0 to 2.x.x ,still dont work.
how can i fix the problem? thx for helping

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.