This project is licensed under the GNU Affero General Public License, version 3 (AGPL-3.0-only).
See the LICENSE file for details.
This repository implements a method for constructing indoor 3D semantic scene graphs from partially labeled point cloud data from 3RScan and 3DSSG_subset. The pipeline consists of four main steps:
Key-Frame Selection
Data Preprocessing
Object / Object-pair Description
Data Cleaning
This approach automatically removes redundant frames, aligns multimodal data, and generates complete semantic descriptions of objects and object pairs in indoor scenes—despite using only partially labeled input.
SpatialBot is not specifically designed for indoor-scene relationship descriptions. This semantic mismatch leads to a large discrepancy between our method’s results and the 3DSSG_subset ground truth (For example, the 3DSSG_subset annotation might read “wall supports ceiling,” whereas SpatialBot outputs “wall is below ceiling.” ), resulting in very low Precision, Recall, and F₁-score.
We evaluated these metrics on the bathroom scene with ID 02b33df9-be2b-2d54-9062-1253be3ce186. Our method extracted 71 relationships, while the dataset contained 38 annotated relationships for this scene. Only 2 of our extracted relationships matched the annotations exactly. Therefore:
To verify the reliability of relationships that are not already annotated in the dataset, we manually inspected six 3RScan scenes. The chosen scenes (with their 3RScan IDs) are:
02b33df9-be2b-2d54-9062-1253be3ce1860cac755e-8d6f-2d13-8c6a-c0979ca34a4f02b33e01-be2b-2d54-93fb-4145a709cec505c6ede7-2e69-23b1-8b27-c1cb868f193809582205-e2c2-2de1-9475-1cdac7639e6009582212-e2c2-2de1-9700-fa44b14fbdedIn these scenes, the counts of labeled object-object relationships are:
Since we extracted many relationships from scenes: Bedroom 0, Bedroom 1, Living Room, and Office, we randomly sampled 30 relationships from each of those four scenes for manual analysis. (Results are summarized in Table below.)
It is worth noting that our method performs poorly in the Lobby scene and fails to extract surrounding-object relationships there—indicating that sparsely populated scenes are a challenge.
We define two metrics:
Average Precision for Labeled_Object-Labeled_Object Relationships = number of correctly extracted relationships between labeled objects (across all test scenes) / number of extracted relationships between labeled objects (across all test scenes)
Average Precision for Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships = number of correctly extracted Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships (across all test scenes) / number of extracted Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships (across all test scenes)
After calculation, we obtained:
These results indicate that, despite the low coverage of existing annotations, the system has the potential to discover new semantic relationships from incomplete data.
Set the path of datasets and output files.
Run bash_files/run_all.sh
Flan-T5-Base (Hugging Face Transformers)
SPDX: Apache-2.0Add commentMore actions
Open3DSG (Bosch Research)
AGPL-3.0-only
AGPL-3.0-onlymoonshot-v1-8k API
see Moonshot Terms for usage and attribution requirements
9 commits
Python
97.6%
Shell
2.4%
This project is licensed under the GNU Affero General Public License, version 3 (AGPL-3.0-only).
See the LICENSE file for details.
This repository implements a method for constructing indoor 3D semantic scene graphs from partially labeled point cloud data from 3RScan and 3DSSG_subset. The pipeline consists of four main steps:
Key-Frame Selection
Data Preprocessing
Object / Object-pair Description
Data Cleaning
This approach automatically removes redundant frames, aligns multimodal data, and generates complete semantic descriptions of objects and object pairs in indoor scenes—despite using only partially labeled input.
SpatialBot is not specifically designed for indoor-scene relationship descriptions. This semantic mismatch leads to a large discrepancy between our method’s results and the 3DSSG_subset ground truth (For example, the 3DSSG_subset annotation might read “wall supports ceiling,” whereas SpatialBot outputs “wall is below ceiling.” ), resulting in very low Precision, Recall, and F₁-score.
We evaluated these metrics on the bathroom scene with ID 02b33df9-be2b-2d54-9062-1253be3ce186. Our method extracted 71 relationships, while the dataset contained 38 annotated relationships for this scene. Only 2 of our extracted relationships matched the annotations exactly. Therefore:
To verify the reliability of relationships that are not already annotated in the dataset, we manually inspected six 3RScan scenes. The chosen scenes (with their 3RScan IDs) are:
02b33df9-be2b-2d54-9062-1253be3ce1860cac755e-8d6f-2d13-8c6a-c0979ca34a4f02b33e01-be2b-2d54-93fb-4145a709cec505c6ede7-2e69-23b1-8b27-c1cb868f193809582205-e2c2-2de1-9475-1cdac7639e6009582212-e2c2-2de1-9700-fa44b14fbdedIn these scenes, the counts of labeled object-object relationships are:
Since we extracted many relationships from scenes: Bedroom 0, Bedroom 1, Living Room, and Office, we randomly sampled 30 relationships from each of those four scenes for manual analysis. (Results are summarized in Table below.)
It is worth noting that our method performs poorly in the Lobby scene and fails to extract surrounding-object relationships there—indicating that sparsely populated scenes are a challenge.
We define two metrics:
Average Precision for Labeled_Object-Labeled_Object Relationships = number of correctly extracted relationships between labeled objects (across all test scenes) / number of extracted relationships between labeled objects (across all test scenes)
Average Precision for Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships = number of correctly extracted Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships (across all test scenes) / number of extracted Labeled-to-Surrounding and Surrounding-to-Surrounding Relationships (across all test scenes)
After calculation, we obtained:
These results indicate that, despite the low coverage of existing annotations, the system has the potential to discover new semantic relationships from incomplete data.
Set the path of datasets and output files.
Run bash_files/run_all.sh
Flan-T5-Base (Hugging Face Transformers)
SPDX: Apache-2.0Add commentMore actions
Open3DSG (Bosch Research)
AGPL-3.0-only
AGPL-3.0-onlymoonshot-v1-8k API
see Moonshot Terms for usage and attribution requirements
9 commits
Python
97.6%
Shell
2.4%