Think While You Map:
Asynchronous Vision-Language Agents for Incremental 3D Scene Graphs


Abstract

Open-vocabulary 3D scene graph methods typically operate in two stages: first reconstruct, then enrich with vision-language models, leaving the graph unqueryable during exploration. We argue that this sequential coupling is unnecessary and propose an asynchronous architecture in which lightweight online mapping runs concurrently with heavyweight semantic refinement. A probabilistic voxel-based backbone maintains stable object identities incrementally, while background VLM agents progressively enrich the graph. This framework resolves duplicate object tracks through semantic loop closure, attaches fine-grained visual attributes and derives spatial relations between objects. A multi-target frame scheduler amortizes VLM cost by selecting a small set of informative frames that jointly cover multiple targets. The resulting scene graph is queryable during exploration and grows in semantic richness over time. Our method matches or outperforms existing open-vocabulary 3D scene graph methods on semantic segmentation (ScanNet, Replica) and surpasses the prior state-of-the-art across three visual grounding benchmarks (Sr3D+, Nr3D, ScanRefer) by 15.3 to 18.8 A@0.25. Project page: https://denizbickici.github.io/thinkgraphs/

Figure 1: ThinkGraphs decouples lightweight online mapping from heavyweight VLM reasoning, keeping the scene graph queryable during exploration. Asynchronous background agents refine the graph without blocking the mapping loop: a Critic Agent detects and merges fragmented object tracks, and a Description Agent injects fine-grained visual attributes, enabling complex grounding queries (e.g., “the stainless steel refrigerator left of the TV”) throughout exploration.

1 Introduction↩︎

Understanding the semantics of 3D environments is fundamental for embodied AI, robotics, and augmented reality. An agent must recognize objects, maintain their identities over time, infer relationships and support language-based queries for grounding and planning, e.g., “pick up the mug next to the laptop”. Scene graphs are a natural representation for this goal. They compactly encode entities as nodes and their interactions as edges, enabling downstream reasoning about “what is where” and “what is interacting with what.”

Recent work on 3D scene graphs has largely evolved along two complementary but currently disconnected directions: Semantic-rich offline reconstruction prevents querying unless the whole process is complete, while real-time reconstruction supports querying but only with limited semantic information. The former utilizes offline open-vocabulary systems and prioritizes rich labels, attributes, free-form descriptions, and functional relations [1][5], typically leveraging CLIP [6] embeddings and vision-language reasoning. These methods require completing instance-level reconstruction before enriching the scene with captions, labels, and inter-object relations. The latter are real-time mapping systems that incrementally update object graphs but rely on closed sets of semantics or shallow feature matching, trading the semantic richness of recent large language models (LLM) or vision-language models (VLM) for responsiveness [7][9].

The core technical challenge of combining these two paradigms lies in the instability of incremental tracking. Since objects are often fragmented or merged incorrectly under partial views and occlusions, it is impractical to query a VLM during exploration. Not only would this degrade the system’s responsiveness, it would also waste massive computational resources on analyzing duplicate or unstable object tracks. Consequently, previous systems have to wait for a fully consolidated offline reconstruction before applying VLM reasoning.

Many semantically rich pipelines already build their geometric map incrementally [1], [3]. What they lack is this combination of a robust enough 3D scene representation to make on-the-fly enrichment worthwhile, and an efficient scheduling mechanism to make it affordable.

Our key observation is that semantic reasoning does not need to wait for a stable graph; it can actively contribute to stabilizing it. This behavior is enabled by two factors. First, rather than the pairwise greedy association used by prior methods, we accumulate per-voxel votes for each object track, producing substantially more robust object tracks, reducing the instability that motivated postponing semantics in the first place. Second, rather than brute-forcing VLM calls on every object at every frame, we treat VLM reasoning as a selective, asynchronous background process, one that not only enriches the graph with fine-grained attributes, but also actively repairs it by detecting and merging duplicate object tracks through semantic loop closure.

We therefore propose an asynchronous architecture in which a lightweight online mapper runs concurrently with two background VLM agents: a Critic Agent that detects and merges duplicate object tracks through semantic loop closure, and a Description Agent that attaches fine-grained visual attributes via a multi-target frame scheduler that amortizes VLM cost across informative frames. The resulting scene graph grows in semantic richness as exploration continues, yet never blocks online operation. Our method thus occupies the middle ground between offline open-vocabulary reconstruction and real-time closed-set mapping. It builds the graph incrementally during exploration, enriching semantics asynchronously rather than at frame rate.

To demonstrate the effectiveness of our approach, we extensively evaluate it on open-vocabulary semantic segmentation and three visual grounding benchmarks. In summary, we make the following contributions:

  • We introduce ThinkGraphs, to our knowledge the first asynchronous architecture for open-vocabulary 3D scene graph construction. It decouples lightweight online mapping from heavyweight VLM reasoning, meaning the graph remains queryable during exploration and is continually enriched without blocking it.

  • We propose a VLM-in-the-loop mechanism for semantic loop closure that detects and merges duplicate object tracks caused by incremental association drift, analogous to geometric loop closure in SLAM.

  • We introduce a multi-target frame scheduler that selects a small number of informative frames for the Description Agent, each depicting multiple undescribed objects, so that a single VLM call enriches several nodes at once.

  • We demonstrate that our incremental method outperforms all batch-based open-vocabulary scene graph methods on semantic segmentation and surpasses the prior state-of-the-art across three visual grounding benchmarks (Sr3D+, Nr3D, ScanRefer) by 15.3 to 18.8 A@0.25, showing that deferring all semantics to a post-hoc stage is unnecessary.

2 Related Work↩︎

Incremental 3D scene graphs. The incremental construction of 3D scene graphs focuses on updating structured spatial representations as new observations arrive. Kimera [10], [11] first demonstrated real-time metric-semantic mapping with hierarchical spatial layers, a design later extended by Hydra [8], which pioneered incremental scene graphs by integrating signed distance fields with hierarchical graphs of objects, places, and rooms. S-Graphs+ [12] introduced a factor-graph formulation for hierarchical optimization, while SceneGraphFusion [13] fuses geometric over-segmentation with a Graph Neural Network (GNN) for incremental semantic prediction. Wu et al. [9] propose a sparse RGB-only variant that combines SLAM-based point tracking with multi-view feature aggregation. Further incremental methods either reuse temporal history [14] or incorporate knowledge from past observations [15] to enhance scene understanding. All of these methods remain restricted to closed-set vocabularies, limiting their applicability in open-world settings. More recently, Clio [7] introduced language interfaces into incremental mapping, averaging open-set features across temporal object tracks to form clusters relevant to the task, although it was limited to a predefined task list.

Compared to prior incremental scene graph mappers, our goal is to keep the graph open-vocabulary and queryable while exploration is ongoing. We achieve this goal by decoupling lightweight online tracking from heavyweight semantic enrichment: the mapper maintains stable object identities and geometry, while background VLM agents progressively refine labels and attributes without blocking the main loop; spatial relations are updated deterministically from 3D geometry.

Batch-processing of scene graphs. Many open-vocabulary 3D systems represent semantics as language-aligned features stored in dense maps or spatial memories [16][21]. In contrast, batch scene graph pipelines commit these signals to discrete object nodes and relations, enabling compositional and relational queries.

ConceptGraphs [1] pioneered open-vocabulary 3D scene graphs by combining CLIP [6] embeddings with SAM2 [22] masks to construct 3D objects. Subsequent works extended this paradigm by adding hierarchical multi-level reasoning across rooms and floors [2], object affordances [4], and relational question answering [3]. Open3DSG [23] takes a learning-based approach by distilling 2D vision-language features into a graph neural network, producing language-aligned node and edge embeddings for open-vocabulary object and pairwise relationship prediction. PoVo [5] takes a different approach, operating on geometric superpoints rather than per-frame masks and merging them into 3D instances through combined semantic and mask coherence.

While some of these methods build their geometric map incrementally [1], [3], all defer semantic enrichment to a post-hoc stage and therefore require a complete reconstruction before the graph becomes queryable. Our method instead exposes an intermediate graph throughout exploration and improves it incrementally: Semantic refinement is asynchronous and revisitable, so the system can answer queries early with coarse semantics and later update the same nodes or edges as better evidence emerges.

VLM reasoning in 3D scene understanding. Large vision-language models bring contextual reasoning capabilities that go beyond the embedding similarity used for object association and labeling. In open-vocabulary scene graphs, ConceptGraphs [1] queries a VLM to caption each object node and an LLM to infer spatial edges, while BBQ [3] formulates object retrieval as deductive reasoning over a scene graph structure using an LLM.

For 3D visual grounding, LLM-Grounder [24] decompose complex natural-language queries with an LLM into sub-goals and iteratively invokes a 3D visual grounder (e.g., OpenScene [16] or LERF [25]) to localize targets in reconstructed scenes. SQA3D [26] benchmarks situated question answering that requires joint spatial and common-sense reasoning on 3D scans. Effective visual grounding in these pipelines often relies on visual prompting strategies such as Set-of-Mark [27], which overlays numeric tags on segmented image regions so that a VLM can refer to specific objects without fine-tuning.

Existing 3D mapping methods generally employ VLM/LLM reasoning in one of two ways: post-hoc enrichment after reconstruction, or synchronous query-time inference that blocks execution until the model responds. Our work targets the missing middle ground: We treat VLM reasoning as a background process that runs continuously, is scheduled selectively, and integrates results when available. This makes semantics available during mapping while controlling the computation via coverage-based frame selection rather than per-object per-frame querying.

Object-level association and merging. A key challenge in incremental scene graph mapping is maintaining consistent object identities as observations accumulate over time. Prior work addresses this through object-level SLAM [28], multi-object tracking and fusion [29], [30], and semantic object-based loop closure [31], [32]. However, association remains challenging in the presence of perceptual ambiguity and viewpoint changes.

In open-set mapping, ROMAN [33] aligns object submaps via graph-theoretic data association but assumes object nodes are already formed, while OpenVox [34] formulates incremental instance association as probabilistic voxel inference and Octree-Graph [35] proposes chronological group-wise merging with informative feature selection.

Most scene graph systems, whether incremental [8], [13] or batch-based [1], [5], rely on greedy pairwise association in learned embeddings (e.g., CLIP [6] or DINO [36]) and 3D geometric overlap. Such greedy strategies involve making early, local commitments based on limited evidence, which result in the accumulation of false negatives that lead to fragmented object tracks [3], [8]. BBQ [3] addresses this by consolidating duplicates in a periodic merge step, but repeated instances and viewpoint changes can still cause missed associations.

In contrast, our method couples probabilistic instance tracking with a VLM-based semantic loop closure mechanism that explicitly detects and corrects fragmented object tracks during online operation (3.3).

3 Method↩︎

Figure 2: Method Overview. (i) The frontend extracts grounded instances from each RGB-D frame (3.1). (ii) The backend associates them into persistent 3D tracks with probabilistic voxel scoring and derives spatial edges deterministically from 3D geometry (3.2). (iii) Two asynchronous VLM agents, a Critic Agent for semantic loop closure and a Description Agent for attribute enrichment, progressively refine the graph without blocking online operation (3.3).

We introduce ThinkGraphs, an incremental open-vocabulary 3D scene graph pipeline that fuses geometric and visual evidence from sequentially posed RGB-D frames \(\{(I_t^{\text{rgb}},\, I_t^{\text{depth}},\, \theta_t)\}_{t=1}^{N}\) (2), where \(\theta_t\) is the camera pose. Our system incrementally constructs a scene graph \(G_t = (\mathcal{V}_t, \mathcal{E}_t)\), where each node \(v_i \in \mathcal{V}_t\) corresponds to a confirmed object track \(T_i\), represented by a 3D point cloud \(\mathbf{P}_i\), a selected CLIP visual embedding \(\mathbf{f}_i^\star\), a consensus label \(\ell_i^\star\), and VLM-enriched attributes \(\mathcal{A}_i\). Edges \(\mathcal{E}_t\) encode spatial predicates derived from 3D geometry. Rather than requiring a complete reconstruction, the pipeline maintains a continuously queryable graph throughout exploration via three components: (i) a frontend that extracts grounded instance observations \(\mathcal{O}_t\), (ii) a backend that lifts and associates them into persistent 3D object tracks, and (iii) asynchronous VLM agents that refine the scene graph without blocking the mapping loop.

3.1 Frontend for grounded instance extraction↩︎

Given an RGB image \(I_t^{\text{rgb}}\) at time \(t\), we query Qwen3-VL-2B-Instruct [37] to produce a set of noun prompts \(\mathcal{L}_t = \{ \ell_j^t \mid j=1,\dots,C_t \}\), as its context-aware prompts yield fewer missed detections than tag-based alternatives (2). We feed these prompts into Grounded-SAM v2 [22], [38], [39], where Grounding-DINO [39] predicts text-conditioned boxes for each prompt, and SAM2 [22] then refines each box into a 2D instance mask. The frontend outputs a set of \(K_t\) grounded instances \(\mathcal{O}_t = \{ (M_k^t,\, \ell_k^t,\, q_k^t) \}_{k=1}^{K_t}\), where each mask \(M_k^t\) is paired with its matched prompt \(\ell_k^t \in \mathcal{L}_t\) and confidence \(q_k^t\). This ensures every mask carries a grounded label from the start, which our backend relies on for association and label assignment.

3.2 Backend for 3D Association and Track Representation↩︎

We adopt OpenVox’s [34] probabilistic voxel-consistency formulation as our association backbone, as voxel-level voting accumulates evidence across multiple observations, filtering out noisy detections over time, whereas greedy pairwise matching commits to early associations that can accumulate drift. The underlying voxel map is a sparse hash map that allocates cells only when RGB-D observations project points into them, so storage scales with observed surface rather than a prespecified volume. We adapt it for our open-vocabulary setting by replacing its SBERT caption pipeline with CLIP text-label embeddings for track association, computed directly from the detector’s label strings. These embeddings are invariant to viewpoint, unlike visual features. We therefore store visual embeddings separately for retrieval and grounding. Beyond the change of embedding, we introduce stricter observation filtering and confidence-weighted label voting to suppress noise and obtain more stable track representations.

Track scoring. Before association, we filter each 2D mask (erosion, subtraction of contained segments, area and confidence thresholds) and retain only the dominant 3D cluster via DBSCAN [40], which serves solely as a local per-mask denoising step. We then maintain a sparse voxel map that continuously records the spatial occupancy history of each track. Given a new observation \(O = (M_k^t,\, \ell_k^t,\, q_k^t) \in \mathcal{O}_t\), we compute an association score \(S(T_i, O)\) for each candidate track \(T_i\) using a weighted combination of geometric and feature similarities: \[S(T_i, O) = \lambda_{\text{geo}} \cdot S_{\text{geo}} + \lambda_{\text{feat}} \cdot S_{\text{feat}}. \label{eq:total95score}\tag{1}\] The geometric score \(S_{\text{geo}}\) represents a probabilistic voxel-consistency vote in the intersecting volume: \[S_{\text{geo}}(T_i,O) = \frac{1}{|V(O)|}\sum_{v\in V(O)}\frac{c_{v,i}}{c_v}, \label{eq:geo95score}\tag{2}\] where \(c_{v,i}\) is the number of times track \(T_i\) has been observed in voxel \(v\), \(c_v = \sum_j c_{v,j}\) is the total observation count across all tracks in that voxel, and \(V(O)\) is the set of voxels occupied by observation \(O\). The feature score \(S_{\text{feat}}\) is the cosine similarity between CLIP text embeddings of the incoming observation label and the track’s current consensus label. With \(\lambda_{\text{geo}}=0.8\) and \(\lambda_{\text{feat}}=0.2\), the observation is merged into the highest-scoring track if \(S \ge \tau_{\text{assoc}}\). Otherwise, a new tentative track is instantiated. To prevent noisy detections from cluttering the scene graph, these tentative object tracks are promoted to confirmed nodes only after accumulating at least \(N_{\text{conf}}\) successful associations, effectively filtering out transient noise.

Confidence-weighted label voting. As observations accumulate, the same track may receive different label predictions across frames. To resolve these into a single consensus label, each track \(T_i\) maintains a label histogram \(\mathcal{H}_i\) over the labels observed so far. When a new observation with grounded label \(\ell\) and detection confidence \(q\) is associated to \(T_i\), the histogram is updated as \[\mathcal{H}_{i}(\ell) \;\leftarrow\; \mathcal{H}_{i}(\ell) + q, \label{eq:label95vote}\tag{3}\] and the consensus label is the highest-scoring label: \[\ell_i^\star = \underset{\ell}{\arg\max}\; \mathcal{H}_{i}(\ell). \label{eq:aggregated95label}\tag{4}\] Weighting votes by detection confidence, rather than uniform counting, ensures that high-quality detections naturally suppress noisy or ambiguous predictions.

Visual embedding selection. To support downstream retrieval and grounding tasks, each track \(T_i\) aggregates a bank of CLIP visual embeddings \(\mathcal{B}_i = \{\mathbf{f}_n^{\text{vis}}\}\), extracted from tight crops of its associated 2D segments. To ensure embedding quality, we apply two complementary filters. First, distant or heavily occluded viewpoints produce low-quality embeddings and should be discarded. An adaptive area gate maintains a running maximum segment area \(A_i^\star\) over the track history and only admits semantic/CLIP updates whose visible 2D segment area \(A_n\) satisfies \(A_n \geq \rho_\text{area} \cdot A_i^\star\). Second, we select a single representative embedding via text-guided scoring. Relying solely on the largest crop is insufficient: For instance, a large view of a wall may still be dominated by occluding furniture, confounding the CLIP feature. Instead, we encode the track’s consensus label \(\ell_i^\star\) (4 ) with the CLIP text encoder to obtain a semantic anchor \(\mathbf{f}_{\ell_i^\star}^{\text{text}}\) and retrieve the most semantically aligned view: \[\mathbf{f}_i^{\star} = \mathbf{f}_{s^*}^{\text{vis}}, \text{~where~} s^* = \arg\max_n\, {\mathbf{f}_n^{\text{vis}}}^\top \mathbf{f}_{\ell_i^\star}^{\text{text}}. \label{eq:text95guided}\tag{5}\] Spatial edges. To support relational grounding queries, we derive directed spatial edges deterministically from the axis-aligned bounding boxes of confirmed object tracks, following a similar approach to BBQ [3], as spatial relations can be reliably determined from geometric heuristics. Each edge encodes a directional predicate (e.g., left, under) and pairwise distance between target and anchor. Horizontal directions are resolved relative to a virtual room-center anchor to ensure viewpoint invariance.

Figure 3: VLM Scheduling. Multi-target frame scheduling for the Description Agent (left) and pair scheduling for the Critic Agent (right), both using Set-of-Mark overlays.

3.3 Asynchronous Agentic Refinement↩︎

Enriching every node at every frame with a VLM would be prohibitively expensive, while deferring all enrichment to a post-hoc stage would mean that the system would not be queryable during exploration. We therefore introduce an asynchronous refinement layer comprising two VLM background agents that refine the graph without blocking the online loop (3). The Critic Agent detects and merges duplicate object tracks caused by incremental association errors, while the Description Agent attaches fine-grained visual attributes to each node.

Critic agent. Similarly to pose drift in SLAM, incremental object associations accumulate errors over time, spawning duplicate or fragmented tracks. Prior consolidation methods [3] rely on feature similarity and 3D overlap, but embeddings struggle to distinguish distinct instances of the same class or to re-identify single objects across varying viewpoints. Resolving such an ambiguity requires both fine-grained visual evidence and a broader scene context, motivating the use of a VLM as a verifier. We therefore introduce the Critic Agent: an asynchronous in-the-loop verifier that performs merge-only identity corrections in two stages. First, a lightweight candidate scheduling step proposes high-confidence duplicate pairs. Then, a visual verification step authorizes or rejects each merge.

To avoid overwhelming the VLM with spurious proposals, we apply a two-gate filtering mechanism to each pair of tracks \((T_i, T_j)\), including tentative ones, with observation counts \(m_i, m_j\) (the number of successfully associated detections for each track) and 3D bounding boxes \(B_i, B_j\). A geometric gate first discards any pair with \(\min(m_i, m_j) < 2\) or \(\mathrm{IoU}_{3\mathrm{D}}(B_i, B_j) < \tau_{\text{iou}}\), pruning noisy single-observation detections. Surviving pairs pass through a semantic gate that scores each pair by the cosine similarity \(s_{ij}\) between the SBERT [41] embeddings of their consensus labels. We use SBERT rather than CLIP here, as CLIP gives uniformly high similarity even for distinct labels, making threshold filtering unreliable.

Pairs with \(s_{ij} \ge \tau_{\text{sem}}\) enter a candidate buffer that decouples tracking from verification. For each buffered pair, we track the peak alignment via a running maximum \(\hat{s}_{ij} \leftarrow \max(\hat{s}_{ij},\, s_{ij}^{(t)})\), capturing the best-observed compatibility as new evidence arrives. The buffer is flushed periodically, ranking candidates by \(\hat{s}_{ij}\) and dispatching the top-\(K_{\text{critic}}\) to the verifier. At the end of the sequence, all remaining valid pairs are flushed to ensure complete coverage. When merging two tentative tracks results in a combined observation count that exceeds \(N_{\text{conf}}\), the merged track is automatically promoted to a confirmed node.

For each selected pair, we first keep high-visibility views of each track, measured by visible mask area. If both tracks are visible in the same frame, we choose the shared frame where both are most visible. Otherwise, we choose two high-visibility views with similar camera direction, camera position, object depth, and temporal proximity. To ground VLM attention without obscuring texture details, we employ Set-of-Mark (SoM) prompting [27], overlaying high-contrast SAM mask boundaries and unique identifiers directly onto the image. The model receives these marked images alongside a context tuple \(\mathcal{C} = \{ \text{ID}_{i,j}, \text{Label}_{i,j}, \hat{s}_{ij}, \text{geometry cues} \}\) that supplies geometric cues to reduce hallucinations from ambiguous masks, and returns a structured decision \(\mathcal{D} = \{ a \in \{\mathrm{\small Merge}, \mathrm{\small Keep}\}, r \in \text{String} \}\). When the verifier returns \(a=\mathrm{\small Merge}\), the Critic unifies point clouds, features, and label histograms of both tracks in the scene graph.

Description agent. While the tracker maintains object identities and coarse text labels, downstream tasks such as visual grounding require deeper semantic understanding. We introduce a Description Agent that runs asynchronously in a dedicated worker thread to enrich each scene graph node with fine-grained visual attributes, such as material, color, texture and physical state, which are critical for disambiguating instances of the same class.

Since a single frame typically depicts multiple objects, a small set of well-chosen frames can cover all targets while amortizing VLM cost and preserving scene context that individual crops would lack. We therefore introduce a multi-target frame scheduler that buffers 2D bounding boxes over a tumbling window of \(W_\text{desc}\) frames and identifies targets that lack a description or whose best visible area substantially exceeds their last-described area. It then greedily selects up to \(K_\text{desc}\) frames that maximize target coverage. A target \(T\) can be covered in frame \(f\) only if its normalized screen area \(\hat{A}_{T,f}\) is within a fraction \(\tau_\text{view}\) of its best view in the window. Each candidate frame is scored by \[U(f) = \sum_{T \in \mathcal{T}_f} w_T \cdot \ln\!\bigl(1 + \gamma\,\hat{A}_{T,f}\bigr), \label{eq:utility}\tag{6}\] where \(\mathcal{T}_f\) is the set of targets coverable in frame \(f\), \(w_T\) is a per-target weight that down-weights background classes and \(\gamma\) controls the area sensitivity. The greedy loop selects the highest-scoring frame, marks its targets as covered, and repeats until the budget is exhausted.

Selected frames are also rendered with SoM overlays and submitted in a single multi-image VLM call, along with each target’s current label, description, and attribute estimates as context. For each marked object, the model returns a refined label (, “winged armchair” rather than “chair”) and visual attributes (material, color, state, texture). Attributes accumulate in a per-node histogram mirroring the confidence-weighted voting of 3 , so repeated observations reinforce consistent evidence.

4 Experiments↩︎

We evaluate on open-vocabulary 3D semantic segmentation and 3D visual grounding, then analyze component contributions through ablations.

Datasets. For semantic segmentation, we evaluate on Replica [42] (eight photorealistic scenes: room0room2, office0office4) and ScanNet [43] (eight real-world RGB-D sequences: 0011_00, 0030_00, 0046_00, 0086_00, 0222_00, 0378_00, 0389_00, 0435_00). For visual grounding, we use three referring expression benchmarks with ScanNet: ScanRefer [44] (natural-language descriptions), Sr3D+ [45] (template-generated), and Nr3D [45] (free-form human-written). For both tasks, we follow the evaluation protocol of BBQ [3]; the eight ScanNet scenes are chosen to match their grounding setup. We adopt the same frame sampling stride of 5 for Replica and 10 for ScanNet.

Metrics. For segmentation, we report mean per-class accuracy (mAcc), mean intersection-over-union (mIoU), and frequency-weighted IoU (f-mIoU), following the open-vocabulary protocol of BBQ [3] with EVA02-CLIP [46] features. Per-point predictions are matched to ground truth via nearest-neighbor association in 3D. Generic categories (other, otherfurniture) are excluded. For grounding, we use GPT-4o [47] and report accuracy at IoU thresholds A@0.25 and A@0.5 on ScanRefer, and at A@0.1 and A@0.25 on Sr3D+ and Nr3D. The full evaluator prompt and an ablation over evaluator models are provided in the supplementary.

Implementation. For our CLIP embeddings we use the EVA02-CLIP [46] variant. Qwen3-VL-2B-Instruct [37] runs locally; for the Agents we use GPT-5-mini [48], called via its cloud API. Experiments use a single workstation (AMD Ryzen 7 9700X, NVIDIA RTX 5090, 64 GB RAM). We set the voxel backend to a resolution of 4 cm with an adaptive area ratio \(\rho_{\text{area}}{=}0.5\). Association balances geometry and feature similarity (\(\lambda_{\text{geo}}{=}0.8\), \(\lambda_{\text{feat}}{=}0.2\)) at a threshold \(\tau_{\text{assoc}}{=}0.4\); tentative tracks are promoted after \(N_{\text{conf}}{=}6\) successful associations. The semantic gate is set to \(\tau_{\text{sem}}{=}0.8\) and the IoU gate to \(\tau_{\text{iou}}{=}0.01\), with utility scale \(\gamma{=}100\). The Critic Agent flushes up to \(K_{\text{critic}}{=}20\) candidate pairs every \(W_{\text{critic}}{=}50\) frames. The Description Agent operates over tumbling windows of \(W_{\text{desc}}{=}30\) frames, selecting up to \(K_{\text{desc}}{=}3\) frames per window. The remaining hyperparameters are listed in the supplementary.

5 Results↩︎

We evaluate our method on two tasks: open-vocabulary 3D semantic segmentation and 3D visual grounding. We then analyze the contribution of individual components through ablations.

5.1 Open-Vocabulary 3D Semantic Segmentation↩︎

Figure 4: Incremental Segmentation. On Room0 (Replica), metrics converge steadily as frames are processed.

1 compares our method with prior open-vocabulary 3D methods on Replica and ScanNet. On Replica, our incremental method outperforms all prior methods on every metric (0.58 mAcc, 0.37 mIoU, 0.61 f-mIoU), with the largest gain on f-mIoU (+0.13 over BBQ-CLIP). On ScanNet, we obtain 0.75 mAcc, 0.44 mIoU, and 0.46 f-mIoU, achieving the highest mIoU and f-mIoU while remaining competitive with OpenVox (0.76) on mAcc. We attribute these gains to two factors. First, the voxel-consistency association with CLIP text-label embeddings produces more stable track identities than the pairwise visual similarity used by prior methods. Second, the text-guided feature selection in 5 ensures that each track is represented by the view most consistent with its consensus label, producing cleaner per-point semantic assignments. 4 illustrates this effect over time: Metrics improve steadily as additional frames are processed, demonstrating that the incremental pipeline converges to high-quality predictions without requiring a complete reconstruction.

Table 1: 3D Semantic Segmentation. Comparison with prior open-vocabulary methods on Replica and ScanNet.
Replica ScanNet
2-4 (lr)5-7 Method mAcc mIoU f-mIoU mAcc mIoU f-mIoU
ConceptFusion [49] 0.29 0.11 0.14 0.49 0.26 0.31
OpenMask3D [50] 0.34 0.18 0.20
ConceptGraphs [1] 0.36 0.18 0.15 0.52 0.26 0.29
BBQ-CLIP [3] 0.38 0.27 0.48 0.56 0.34 0.36
Octree-Graph [35] 0.51 0.34 0.34 0.71 0.40 0.37
OpenVox [34] 0.51 0.26 0.40 0.76 0.43 0.39
ThinkGraphs 0.58 0.37 0.61 0.75 0.44 0.46

4pt

5.2 3D Visual Grounding↩︎

We evaluate on three referring expression benchmarks of increasing difficulty: the template-based Sr3D+, the free-form Nr3D, and the natural-language ScanRefer. To handle the complexity of free-form and natural-language evaluation, we utilize GPT-4o [47] as our automated evaluator.

Sr3D+ and Nr3D. On both referral benchmarks (¿tbl:tab:sr3d95nr3d95overall?), our method substantially outperforms all baselines, improving over Open3DSG [23] by 15.3 A@0.25 on Sr3D+ and 18.8 on Nr3D. Performance remains consistent across difficulty and viewpoint splits (see supplementary for per-split breakdowns).

ScanRefer. On the ScanRefer benchmark ([tbl:tab:scanrefer]), our method achieves 52.9% A@0.25 and 37.6% A@0.5, outperforming Open3DSG [23] by 18.3 and 6.6 absolute points respectively. This reflects the combined effect of our core components: our backend provides stable track identities and high-quality representative visual embeddings, the Critic Agent reduces node fragmentation so that queries match the correct consolidated object, and the Description Agent provides fine-grained attributes that help disambiguate same-class instances.

3D Visual grounding. Overall accuracy on ScanRefer.

5.3 Ablation Studies↩︎

To isolate individual component contributions, we conduct ablations on the eight Replica scenes.

Pipeline design choices. 2 ablates the backend pipeline on Replica. Switching from RAM++ [51] to Qwen3-VL [37] as the frontend tagger yields the largest mAcc gain (+0.09), as context-aware prompts produce fewer missed detections. Text-guided embedding selection drives the largest mIoU gain (+0.09): Naively selecting the largest-area crop as the representative embedding, as done in BBQ [3], is sensitive to foreground clutter. Scoring against the consensus label produces cleaner views. The adaptive area gate adds a further 0.06 mAcc by filtering low-quality observations, while replacing SBERT with CLIP text-label embeddings provides a smaller benefit but unifies the visual and textual feature space.

Table 2: Pipeline ablation. Component contributions on Replica; after replacing the RAM++ baseline with Qwen, components are added incrementally.
Configuration mAcc mIoU f-mIoU
RAM++ (baseline frontend) 0.37 0.20 0.34
Qwen (our frontend) 0.46 0.25 0.43
+ CLIP-text labels 0.47 0.26 0.44
+ Text-guided selection 0.52 0.35 0.55
+ Area filter 0.58 0.37 0.61

Agent contributions to grounding. 3 incrementally adds the two asynchronous agents to isolate their effect on Nr3D grounding accuracy. The base system includes the full backend with spatial relations, but no VLM agents. Adding the Critic Agent alone lifts overall A@0.25 from 38.5% to 39.3%, with gains concentrated on easy and view-independent splits where fragmented object tracks are the primary bottleneck (5). The Description Agent has a larger effect on hard referrals (+3.5 A@0.25), where fine-grained attributes are needed to disambiguate same-class instances. Combining both agents yields the best results in all splits (41.8% A@0.25 overall, +7.1 on hard), confirming that the two agents address complementary failure modes. An ablation isolating the architecture from the frontend VLM (a lighter RAM++ tagger) is provided in the supplementary, showing the gains are not merely due to a stronger tagger.

Table 3: Agent ablation. Effect of the Critic and Description agents on Nr3D; Base is the online mapping pipeline without the VLM agents.
Overall Easy Hard View Dep. View Indep.
2-3 (lr)4-5 (lr)6-7 (lr)8-9 (lr)10-11 Method A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25
Base 43.1 38.5 49.2 46.2 27.4 18.8 43.0 37.6 43.1 38.8
Base + Critic 45.1 39.3 52.2 47.4 26.9 18.8 43.0 38.2 45.7 39.7
Base + Description 44.5 40.5 50.0 47.6 30.5 22.3 44.8 40.6 44.4 40.4
Base + Critic + Description 47.4 41.8 53.0 48.0 33.0 25.9 49.1 43.0 46.8 41.4
Figure 5: Effect of the Critic Agent. Without the Critic (left), association drift fragments objects into duplicate object tracks (red circles). Semantic loop closure (right) merges them into consistent identities. Points are colored by instance.

Runtime and cost. The online mapping path averages 1.45 s per keyframe, with the Critic and Description agents running off the critical path so they never block the online mapping loop. The multi-target scheduler keeps VLM usage low, about 26 calls per scene on average, more than two orders of magnitude fewer than naive per-object-per-keyframe prompting (\(\sim\)​9,300 on a typical scene). The primary runtime bottleneck is the frontend, not the agents. A full analysis is provided in the supplementary.

5.4 Limitations↩︎

Our framework has two main limitations. Firstly, the front-end models (Qwen3-VL + Grounded-SAM) prevent real-time operation. Replacing these models with more efficient alternatives would be the most direct way of overcoming this issue. Secondly, asynchronous agents inevitably lag behind the mapping frontier, meaning that objects discovered during fast exploration may remain unenriched for several frames. This limits the quality of grounding early in a sequence.

6 Conclusion↩︎

We present ThinkGraphs, an asynchronous architecture for open-vocabulary 3D scene graphs that decouples lightweight online mapping from heavyweight VLM reasoning. By running semantic refinement in the background, the scene graph remains queryable during exploration and grows in richness over time. A probabilistic voxel backbone with text-guided embedding selection provides stable object identities, while a Critic Agent corrects fragmentation through semantic loop closure, and a Description Agent attaches fine-grained attributes via multi-target frame scheduling. Our method outperforms all batch-based open-vocabulary scene-graph methods on semantic segmentation on Replica and ScanNet, and surpasses the prior state-of-the-art across three visual grounding benchmarks (Sr3D+, Nr3D, ScanRefer) by 15.3 to 18.8 A@0.25, showing that an incremental architecture can match and exceed batch-based alternatives. Future work could extend this asynchronous agent design with additional specialized agents, for example for richer relation prediction, higher-level scene reasoning, or task-oriented graph refinement, while also exploring its use in other structured representations that require both responsiveness and semantic depth.

Acknowledgements↩︎

The authors thank the International Max Planck Research School for Intelligent Systems (IMPRS-IS) for supporting Deniz Bickici and Michael Pabst. This work was supported by the Alexander von Humboldt Foundation funded by the German Federal Ministry of Research, Technology and Space, and by Deutsche Forschungsgemeinschaft (DFG) under Germany’s Excellence Strategy EXC 2120/2 (390831618).

Think While You Map:
Asynchronous Vision-Language Agents for Incremental 3D Scene Graphs

Supplementary Material

7 Per-Split Grounding Results↩︎

4 5 6 expand the overall grounding numbers from the main paper (Tabs. 2 and 3) into per-split breakdowns. On Nr3D and Sr3D+ [45] (4 5), ThinkGraphs outperforms BBQ [3] across nearly all splits. The one exception is Sr3D+’s hard split at A@0.1, where BBQ has a slight advantage (33.3 vs. 32.0). However, ThinkGraphs still leads at A@0.25 (32.0 vs. 22.7). For ScanRefer [44] (6), we analyze performance by split. Our approach reaches 71.8% A@0.25 on the unique split. Performance remains also strong on the more challenging multiple split, achieving 49.0% A@0.25, indicating that the attributes of the Description Agent effectively disambiguate instances belonging to the same class.

To isolate the contribution of our architecture, we replace the Qwen tagger with the more lightweight RAM++ [51] tagger and rerun the full system on Nr3D. Even with this weaker frontend, ThinkGraphs reaches 33.6 A@0.25, still exceeding Open3DSG (23.0) and BBQ (19.0). The 18.8 A@0.25 overall gain over Open3DSG thus splits into 10.6 from the architecture and 8.2 from the Qwen3-VL tagger, confirming that the improvement does not stem solely from a stronger tagger.

Table 4: Nr3D Grounding. Per-split accuracy on Nr3D. ThinkGraphs (RAM++) replaces our Qwen3-VL tagger with the lighter RAM++ tagger.
Overall Easy Hard View Dep. View Indep.
2-3 (lr)4-5 (lr)6-7 (lr)8-9 (lr)10-11 Method A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25
OpenFusion [17] 10.7 1.4 12.9 1.4 5.1 1.5 8.5 0.0 11.4 1.9
BBQ-CLIP [3] 15.3 9.4 18.1 11.0 8.1 5.6 8.1 6.1 17.2 10.5
ConceptGraphs [1] 16.0 7.2 18.7 9.2 9.1 2.0 12.7 4.2 17.0 8.1
BBQ [3] 28.3 19.0 30.5 21.3 22.8 13.2 23.6 18.2 29.8 19.3
Open3DSG [23] 25.9 23.0 26.5 25.5 24.4 16.8 26.1 23.6 25.8 22.8
ThinkGraphs 47.4 41.8 53.0 48.0 33.0 25.9 49.1 43.0 46.8 41.4
ThinkGraphs (RAM++) 39.3 33.6 45.8 41.6 22.8 13.2 37.6 30.9 39.9 34.5
Table 5: Sr3D+ Grounding. Per-split accuracy on Sr3D+
Overall Easy Hard View Dep. View Indep.
2-3 (lr)4-5 (lr)6-7 (lr)8-9 (lr)10-11 Method A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25
OpenFusion [17] 12.6 2.4 14.0 2.4 1.3 1.3 3.8 2.5 13.7 2.4
BBQ-CLIP [3] 14.4 8.8 15.4 9.0 6.7 6.7 11.4 5.1 14.4 8.8
ConceptGraphs [1] 13.3 6.2 13.0 6.8 16.0 1.3 15.2 5.1 13.1 6.4
BBQ [3] 34.2 22.7 34.3 22.7 33.3 22.7 32.9 20.3 34.4 23.0
Open3DSG [23] 28.9 27.7 29.9 28.8 21.3 18.7 29.1 29.1 28.9 27.5
ThinkGraphs 48.6 43.0 50.7 44.4 32.0 32.0 53.2 48.1 47.9 42.3
Table 6: ScanRefer Grounding. Per-split accuracy on ScanRefer.
Overall Unique Multiple
2-3 (lr)4-5 (lr)6-7 Method A@0.25 A@0.5 A@0.25 A@0.5 A@0.25 A@0.5
ThinkGraphs 52.9 37.6 71.8 52.4 49.0 34.6

8 Grounding Model Ablation↩︎

Our main-paper results use GPT-4o [47] as the grounding evaluator, following the protocol of BBQ [3]. To test sensitivity to the evaluator, we re-evaluate the same ThinkGraphs scene graphs with GPT-5.4 [52] and Llama-4 Maverick [53] (7) on Nr3D. Overall accuracy stays within a narrow band around GPT-4o, ranging from a 1.9 A@0.25 drop with Llama-4 Maverick to a 3.6 gain with GPT-5.4, confirming that our improvements do not depend on a particular evaluator.

Table 7: Evaluator Ablation. Effect of the grounding evaluator on Nr3D; scene graphs are fixed (produced by ThinkGraphs), only the evaluator model varies.
Overall Easy Hard View Dep. View Indep.
2-3 (lr)4-5 (lr)6-7 (lr)8-9 (lr)10-11 Evaluator A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25 A@0.1 A@0.25
GPT-4o [47] 47.4 41.8 53.0 48.0 33.0 25.9 49.1 43.0 46.8 41.4
GPT-5.4 [52] 51.5 45.4 56.0 51.6 40.1 29.4 43.0 38.8 54.1 47.4
Llama-4 Maverick [53] 45.8 39.9 49.4 44.4 36.5 28.4 43.6 38.2 46.4 40.4

9 Agent Behavior Analysis↩︎

We provide an additional analysis of the agents’ behavior.

Critic Agent behavior. 6 shows representative decisions of the Critic Agent. In the first two cases, the agent correctly identifies duplicate tracks caused by viewpoint changes, such as a leather chair observed from two angles or a partially visible appliance fragmented across frames. In both cases, the agent reasons about spatial offset, containment, and visual consistency to authorize the merge. These are precisely the cases where greedy CLIP-similarity and 3D-IoU association fails: the viewpoint change lowers both embedding similarity and geometric overlap, so a pairwise matcher leaves the object fragmented, whereas the Critic recovers the merge from visual evidence. The third case illustrates a correct rejection. Two visually similar boxes stacked vertically are kept as distinct instances due to their low containment (7.1%) and vertical separation (0.23 m). Conversely, this is a case where IoU- or containment-based merging would erroneously fuse two distinct same-class instances; the Critic keeps them separate. The fourth case illustrates a failure mode in which the axis-aligned bounding box of a larger object overestimates its spatial extent. This causes a smaller, nearby box to appear highly contained and be incorrectly merged as a fragment.

Figure 6: Critic Agent Decisions. Examples on ScanNet; green borders mark correct decisions, red borders errors.

To quantify these behaviors across scenes, 8 categorizes all Critic decisions into three types: deduplications, which merge two confirmed tracks referring to the same object and remove a redundant node; absorptions, which fold an unconfirmed fragment into an existing confirmed track, improving its geometry without changing the node count; and promotions, which merge two unconfirmed fragments whose combined observations exceed \(N_{\text{conf}}\) and recover an otherwise lost object. Across the eight scenes, 60 out of 144 calls (41.7%) are accepted. Absorptions dominate (38 of 60), followed by 17 deduplications and 5 promotions. Because promotions partially offset deduplications in the total confirmed count, the Critic’s full contribution is best measured through the downstream grounding ablation in Tab. 5 of the main paper.

Table 8: Critic Decisions by Type. Counts across the eight ScanNet benchmark scenes. Dedup.merges two confirmed tracks, removing a redundant node. Absorb.folds an unconfirmed fragment into a confirmed track, improving its geometry. Promo.merges two unconfirmed fragments into a newly confirmed node, recovering an otherwise lost object.
Scene Calls Dedup. Absorb. Promo. Rejected
0011_00 25 7 7 1 10
0030_00 34 3 4 0 27
0046_00 19 1 3 0 15
0086_00 9 0 2 1 6
0222_00 14 0 6 1 7
0378_00 14 2 6 0 6
0389_00 14 1 6 2 5
0435_00 15 3 4 0 8
Overall 144 17 38 5 84

5pt

Description Agent behavior. We illustrate the Description Agent’s refinement (Sec. 3.3 of the main paper) using scene0389_00 from ScanNet [43]7 shows the SoM-annotated [27] frames sent to the agent along with the current track labels. The agent refines coarse labels into fine-grained descriptions. For instance, two tracks both labeled board are disambiguated into padded ironing board (wall-mounted) and folding luggage rack (metal with straps), while nightstand becomes wooden nightstand (stained two-drawer). Beyond labels, the agent returns structured attributes (material, color, state, texture) that support the disambiguation of same-class instances during grounding. In one case (track_2), the agent incorrectly overrides the correct consensus label clothes hanger with wall-mounted reading lamp. Since the backend consensus label and the agent’s description coexist in the scene graph, incorrect descriptions do not destroy the original label.

Figure 7: Description Agent Call. A single multi-target call on ScanNet scene0389_00: three SoM-annotated frames jointly cover six objects, refining coarse labels into fine-grained descriptions in one VLM call.

10 Incremental Improvement↩︎

To demonstrate how our system improves over time, we report how the semantic segmentation scores evolve during exploration. We report metrics at four coverage checkpoints on both Replica and ScanNet (9). On Replica, performance improves steadily across all metrics, reaching 0.53 mAcc at just 50% coverage, already surpassing the final scores of most batch-based baselines in Tab. 1 of the main paper. On ScanNet, early-stage metrics start lower (0.09 mIoU at 10%) but recover quickly once diverse rooms are reached, with mIoU and f-mIoU more than doubling between 10% and 30% coverage.

Table 9: Incremental Convergence. Segmentation metrics on Replica and ScanNet improve steadily as exploration progresses.
Replica ScanNet
2-4 (lr)5-7 Coverage mAcc mIoU f-mIoU mAcc mIoU f-mIoU
10% 0.29 0.12 0.23 0.27 0.09 0.11
30% 0.45 0.21 0.42 0.41 0.21 0.25
50% 0.53 0.32 0.48 0.49 0.27 0.32
100% 0.58 0.37 0.61 0.75 0.44 0.46

3pt

11 Qualitative Results↩︎

Semantic segmentation. 8 compares our open-vocabulary semantic segmentation predictions with the ground truth for three Replica scenes. Room 2 accurately recovers most object boundaries, although large objects such as rugs remain a known challenge for incremental association. These objects span many frames and viewpoints, which makes it difficult to consolidate them into a single, consistent track. Office 3 shows strong overall coverage, but fine-grained objects (e.g. small desk items or thin wall-mounted fixtures) are occasionally missed when they fall below observation filtering thresholds or receive too few confident detections to be promoted to confirmed tracks. Office 4 reveals a notable evaluation artifact: objects assigned to generic ground-truth categories (other) are penalized even when our prediction is semantically plausible, such as a surface correctly identified as a table. Across all three scenes, remaining errors concentrate on small or heavily occluded objects and large ambiguous surfaces, while the majority of each scene is segmented correctly without requiring complete reconstruction.

Figure 8: Qualitative Segmentation Results. Open-vocabulary semantic segmentation on three Replica scenes: ground truth (top), our prediction (bottom).

Grounding. We also provide multiple examples on the grounding task in 9, covering Nr3D, Sr3D+, and ScanRefer. Each example shows the predicted bounding box alongside the ground truth for a given natural-language query.

Figure 9: Qualitative Grounding Results. On Nr3D, Sr3D+, and ScanRefer. Green denotes the ground-truth and red the predicted bounding box. All shown examples satisfy A@0.25.

12 Runtime and Cost Analysis↩︎

We profile end-to-end latency and VLM cost across all eight ScanNet sequences used in our temporal benchmark. All timings are reported with visualization, evaluation, and exports disabled in our latency-benchmark mode. 10 summarizes the per-scene breakdown.

Online path. Across all scenes, the online path averages 1.45 s per keyframe, of which the frontend contributes 1.10 s (76% of online time), making it the primary optimization target.

Asynchronous agents. Both VLM agents run in dedicated background threads, decoupled from per-keyframe processing. On average, the Description Agent takes 22.7 s to complete, with a mean lag of 28.9 keyframes (\({\sim}289\) original frames at stride 10). The Critic Agent takes an average of 19.1 s to complete, with a mean lag of 27.7 keyframes (\({\sim}277\) original frames). These lags are expected by design: the agents trade immediacy for selectivity by processing only high-value targets identified by the schedulers.

VLM call budget. Across the eight scenes, the system runs 205 VLM calls in total: 61 Description-Agent and 144 Critic pair-verification calls (60 merges, 41.7% acceptance). The multi-target scheduler is what keeps enrichment cheap: a naive per-object-per-keyframe strategy would need \({\sim}9{,}300\) calls on a single typical scene (, 39 tracks \(\times\) 238 keyframes), whereas our Description Agent covers all targets in only 4–16 calls per scene. The total end-to-end wall-clock time across all runs is 3,561 s (59.4 min), of which 305 s (8.6%) is spent draining pending asynchronous work after the last keyframe.

Table 10: Cross-Scene Runtime. Summary on the eight ScanNet benchmark sequences. Online, Front, and Back denote mean per-keyframe times in ms. D and C denote Description and Critic agents, reported as latency in seconds and mean lag in keyframes. KFs is the number of keyframes. VLM D/C/T lists the number of Description, Critic, and total VLM calls. Critic S/A/R reports submitted, accepted, and rejected Critic pairs. Wall s is the total wall-clock time in seconds. The Average row reports means across all eight sequences.
Scene KFs Online Front Back D s / lag C s / lag VLM D/C/T Critic S/A/R Wall s
0011_00 238 1764 1511 246 20.8 / 25.4 19.6 / 24.7 7 / 25 / 32 25 / 15 / 10 456.4
0030_00 250 1537 1161 361 21.6 / 29.7 18.8 / 27.0 7 / 34 / 41 34 / 7 / 27 433.1
0046_00 248 1441 1109 318 22.4 / 23.4 16.9 / 24.9 8 / 19 / 27 19 / 4 / 15 400.2
0086_00 143 1123 988 133 29.1 / 36.2 26.0 / 37.8 4 / 9 / 13 9 / 3 / 6 206.2
0222_00 541 1957 1246 685 28.7 / 25.3 20.0 / 21.0 16 / 14 / 30 14 / 7 / 7 1086.8
0378_00 190 1466 1082 372 18.3 / 24.4 18.0 / 25.9 5 / 14 / 19 14 / 8 / 6 314.7
0389_00 142 937 772 160 20.7 / 37.2 16.3 / 26.8 4 / 14 / 18 14 / 9 / 5 171.5
0435_00 328 1389 941 438 19.7 / 29.5 17.2 / 33.6 10 / 15 / 25 15 / 7 / 8 492.3
Average 260 1452 1101 339 22.7 / 28.9 19.1 / 27.7 7.6 / 18.0 / 25.6 18.0 / 7.5 / 10.5 445.2

4pt

13 Frontend Design Choices↩︎

Why text-conditioned segmentation? Following prior open-vocabulary scene graph methods [4], [5], we adopt Grounded-SAM v2 [22], [38], [39] as our segmentation frontend. This is a natural fit for our pipeline, which anchors association, label voting, and embedding selection on per-mask text labels (Eqs. 1, 3, 5 of the main paper): each mask inherits a grounded label directly from the detection stage, requiring no separate labeling step. Category-agnostic alternatives such as standalone SAM2 [22] would require post-hoc labeling and tend to fragment objects into multiple regions (10), introducing noise into downstream components.

Why Qwen3-VL as the proposal model? Grounded-SAM requires a set of textual object candidates for each frame. Since label stability has a significant downstream impact, the choice of proposal model is critical to avoid the cascade of noisy or overproduced tags throughout our backend processes: association, voting, and embedding selection. Switching from RAM++ [51] to Qwen3-VL-2B-Instruct [37] yields the largest single improvement in our backend ablation (+0.09 mAcc, Tab. 4 of the main paper). RAM++ typically overproduces object names, introducing irrelevant categories that destabilize incremental tracking. Qwen produces concise, object-centric labels (“chair”, “table”, “shelf”) that provide a reliable anchor for the full pipeline. Its compact size enables fully local deployment without relying on external APIs, whereas GPT-based captioning, despite being viable, introduces substantial latency that is unsuitable for per-frame operation.

Figure 10: Grounded-SAM vs.SAM2. Grounded-SAM (left) uses text-conditioned queries and yields fewer, object-aligned masks; SAM2 (right) produces class-agnostic masks that fragment objects.

14 Prompts↩︎

We provide the exact prompts used for the frontend tagger, asynchronous VLM agents, and grounding evaluator.

— User —
List the distinct objects you can see in this scene. Respond with a comma-separated list of short nouns only.

— System —
You are an expert 3D Scene Graph Critic. Your task is to resolve redundant tracks in a 3D scan. You will receive one or two images. If there is one image, both objects are shown together in that same image. If there are two images, Image 1 is Object A and Image 2 is Object B. Decide if they should be MERGED into one entity or KEPT as distinct objects. Return JSON only.
— User —
Two candidate tracks for merge review:
- Object A: ID={id_a}, label=‘{label_a}’, observations={match_count_a}
- Object B: ID={id_b}, label=‘{label_b}’, observations={match_count_b}
  (confirmation threshold: {confirm_threshold}; tracks below it will likely be pruned)
Image count: {pair_image_count}
Semantic cosine (SBERT): {pair_semantic_cosine}
Geometry signals:
- Containment: {pair_containment_summary}
- Offset (m, Z=vertical): {pair_offset_summary}
- Horizontal / Vertical offset: {pair_horizontal_offset_m} / {pair_vertical_offset_m}
- B/A volume ratio: {pair_relative_size_ratio_b_to_a} ({pair_relative_size_summary})
- Viewpoint mismatch cost: {pair_pov_cost}
- Frames: A={frame_a}, B={frame_b}
MERGE when:
- Same physical object from different views (duplicate)
- One is a sub-part/fragment of the other
- Single object split by occlusion
KEEP when:
- Distinct instances, even if same class and adjacent
- Different color/texture/material
- Objects only touch at an edge
- Small object merely inside larger bbox (containment != same instance)
- Either label is a wall variant
- Evidence is ambiguous -> default KEEP
Evaluate in order: appearance -> geometry -> containment -> wall rule -> uncertainty.
Output JSON only (keys in this order):
{
  "reasoning": "<concise explanation>",
  "action": "MERGE" or "KEEP"
}

— System —
You are a precise computer vision assistant specializing in fine-grained object attribute extraction. Your goal is to generate a structured JSON description of objects grounded strictly in their visual appearance.
— User —
The attached images show a scene with specific objects marked by numeric ID tags (e.g., [14]). Focus ONLY on the objects listed below. Aggregate visual evidence from all provided views to ensure completeness.
Target Objects: {ids}
Task:
For each target ID, return a JSON object with:
1. "label": A specific, fine-grained noun (e.g., ‘winged armchair’ instead of ‘chair’, ‘ceramic vase’ instead of ‘decor’).
2. "attributes":
   - "material": (e.g., wood, velvet, glass, plastic)
   - "color": (Dominant colors)
   - "state": (e.g., open, closed, folded, dirty, wet, empty)
   - "texture": (e.g., glossy, matte, rough, knitted)
Constraint:
- Do NOT hallucinate attributes not visible in the images.
- If an object is completely unclear, set attributes to null.
- Output pure JSON mapping { "id": { "label": "...", "attributes": {...} } }.
- The numeric ID tags are only identifiers; ignore the digits/label text and use only the pixels inside the ID contour/overlay.
— Prior append (when available) —
Tracker Memory (weak prior):
We keep a running scene graph estimate for each object ID. Use this as slight guidance only. Priors may be stale or inaccurate. If visual evidence disagrees, override the prior label/attributes/description.
Prior snapshot per target ID:
{prior_lines}
Each prior line is formatted as:
- [3] label="armchair"; description="brown chair near wall"; attributes={"color":["brown"],"material":["fabric"]}

— System —
You are a helpful assistant. The user provides a 3D scene represented by:
– a list of objects, each containing an identifier, descriptive fields, and optional spatial, semantic, or other attributes
– a list of edges, each describing relationships between objects, with identifiers, relation labels, and optional metrics
Your task is to identify the object best matching the user’s query, based on this structured information. Follow these answering guidelines strictly:
1. Select the object ID that best matches the query.
2. Provide a short, factual explanation.
— User —
Below is a 3D scene composed of objects and edges. Each edge is represented as [subject_id, predicate, object_id, distance_m (optional), compass (optional)].
{scene_line}
{edge_line}
query={utterance}

15 Full implementation details↩︎

For completeness, 11 summarizes the key implementation parameters used in our system beyond those reported in the main paper. The released code will provide the complete configuration and default settings.

Table 11: Implementation Parameters. Extended hyperparameters beyond those in the main paper.
Component Parameter Value
Frontend Label proposer Qwen/Qwen3-VL-2B-Instruct
Segmentation model Grounded-SAM 2
Grounding-DINO variant Swin-T (OGC)
SAM2 variant sam2.1_hiera_base_plus
Qwen3-VL max tokens 128
Grounding-DINO box / text threshold 0.35 / 0.25
SAM2 mask threshold / max proposals 0.5 / 100
Prompt budget (max labels / Qwen tags) 64 / 40
Observation Filtering Erosion kernel / min area \(5\times5\) / 100 px
DBSCAN eps / min_samples / voxel 0.05 m / 7 / 0.025 m
Tracker min segment area / confidence 30 px / 0.1
Min points after filter / cluster ratio 30 / 0.7
Backend CLIP backbone EVA02-base
CLIP crop padding 30 px
Frame stride (Replica / ScanNet runs) 5 / 10
Semantic eval prompt template an image of {label}
Spatial Edges Rule-based proximity threshold 2.0 m
Top-k nearest edges 5
VLM Agents (shared) Model gpt-5-mini
Max output tokens 5000
Critic reasoning effort high
Description Agent Target selection (obs / area / growth / interval) 5 / 2500 px / 0.3 / 2 s
Description agent batch / concurrency / queue 5 / 4 / 32
Multi-target scheduler window / batch budget 30 / 3
Multi-target scheduler gates cov. 0.8; occ. 0.02; res. gain 0.2
Utility scale / background weight 100 / 0.25
Critic Agent Critic concurrency / queue 30 / 64
SBERT model all-MiniLM-L6-v2
Pair candidate scope / trigger all / 2 matches
Pair semantic / IoU gate 0.8 / 0.01
Pair view budget / overlay mode 30 / mask_pair
False-negative queue max pairs / flush 20 / 50 frames

References↩︎

[1]
Q. Gu et al., ConceptGraphs: Open-Vocabulary 3D Scene Graphs for Perception and Planning,” in 2024 IEEE International Conference on Robotics and Automation (ICRA), 2024, pp. 5021–5028, doi: 10.1109/ICRA57147.2024.10610243.
[2]
A. Werby, C. Huang, M. Büchner, A. Valada, and W. Burgard, “Hierarchical Open-Vocabulary 3D Scene Graphs for Language-Grounded Robot Navigation,” in Robotics: Science and Systems XX, 2024, doi: 10.15607/RSS.2024.XX.077.
[3]
S. Linok et al., “Beyond Bare Queries: Open-Vocabulary Object Grounding with 3D Scene Graph,” in 2025 IEEE International Conference on Robotics and Automation (ICRA), 2025, pp. 13582–13589, doi: 10.1109/ICRA55743.2025.11128059.
[4]
C. Zhang et al., “Open-Vocabulary Functional 3D Scene Graphs for Real-World Indoor Spaces,” in Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (CVPR), 2025, doi: 10.1109/CVPR52734.2025.01807.
[5]
G. Mei, L. Riz, Y. Wang, and F. Poiesi, “Vocabulary-Free 3D Instance Segmentation with Vision-Language Assistant,” in 2025 International Conference on 3D Vision (3DV), 2025, pp. 1197–1210, doi: 10.1109/3DV66043.2025.00114.
[6]
A. Radford et al., “Learning transferable visual models from natural language supervision,” in Proceedings of the 38th international conference on machine learning (ICML), 2021, vol. 139, pp. 8748–8763.
[7]
D. Maggio et al., “Clio: Real-Time Task-Driven Open-Set 3D Scene Graphs,” IEEE Robotics and Automation Letters, vol. 9, no. 10, pp. 8921–8928, 2024, doi: 10.1109/LRA.2024.3451395.
[8]
N. Hughes, Y. Chang, and L. Carlone, “Hydra: A Real-time Spatial Perception System for 3D Scene Graph Construction and Optimization,” in Robotics: Science and Systems XVIII, 2022, doi: 10.15607/RSS.2022.XVIII.050.
[9]
S.-C. Wu, K. Tateno, N. Navab, and F. Tombari, “Incremental 3D Semantic Scene Graph Prediction from RGB Sequences,” in 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023, pp. 5064–5074, doi: 10.1109/CVPR52729.2023.00490.
[10]
A. Rosinol, M. Abate, Y. Chang, and L. Carlone, “Kimera: An Open-Source Library for Real-Time Metric-Semantic Localization and Mapping,” in 2020 IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 1689–1696, doi: 10.1109/ICRA40945.2020.9196885.
[11]
A. Rosinol et al., “Kimera: From SLAM to spatial perception with 3D dynamic scene graphs,” The International Journal of Robotics Research, vol. 40, no. 12–14, pp. 1510–1546, 2021, doi: 10.1177/02783649211056674.
[12]
H. Bavle, J. L. Sanchez-Lopez, M. Shaheer, J. Civera, and H. Voos, S-Graphs+: Real-Time Localization and Mapping Leveraging Hierarchical Representations,” IEEE Robotics and Automation Letters, vol. 8, no. 8, pp. 4927–4934, 2023, doi: 10.1109/LRA.2023.3290512.
[13]
S.-C. Wu, J. Wald, K. Tateno, N. Navab, and F. Tombari, SceneGraphFusion: Incremental 3D Scene Graph Prediction from RGB-D Sequences,” in 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 7511–7521, doi: 10.1109/CVPR46437.2021.00743.
[14]
M. Feng, C. Yan, Z. Wu, W. Dong, Y. Wang, and A. Mian, “History-enhanced 3D scene graph reasoning from RGB-d sequences,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 35, no. 8, pp. 7667–7682, 2025, doi: 10.1109/TCSVT.2025.3548308.
[15]
M. Renz, F. Igelbrink, and M. Atzmueller, “Integrating prior observations for incremental 3D scene graph prediction,” in 2025 international conference on machine learning and applications (ICMLA), 2025, pp. 887–892, doi: 10.1109/ICMLA66185.2025.00132.
[16]
S. Peng, K. Genova, C. Jiang, A. Tagliasacchi, M. Pollefeys, and T. Funkhouser, OpenScene: 3D Scene Understanding with Open Vocabularies,” in 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023, pp. 815–824, doi: 10.1109/CVPR52729.2023.00085.
[17]
K. Yamazaki et al., “Open-Fusion: Real-time Open-Vocabulary 3D Mapping and Queryable Scene Representation,” in 2024 IEEE International Conference on Robotics and Automation (ICRA), 2024, pp. 9411–9417, doi: 10.1109/ICRA57147.2024.10610193.
[18]
C. Huang, O. Mees, A. Zeng, and W. Burgard, “Visual Language Maps for Robot Navigation,” in 2023 IEEE International Conference on Robotics and Automation (ICRA), 2023, pp. 10608–10615, doi: 10.1109/ICRA48891.2023.10160969.
[19]
N. M. M. Shafiullah, C. Paxton, L. Pinto, S. Chintala, and A. Szlam, CLIP-Fields: Weakly Supervised Semantic Fields for Robotic Memory,” in Robotics: Science and Systems XIX, 2023, doi: 10.15607/RSS.2023.XIX.074.
[20]
B. Chen et al., “Open-vocabulary Queryable Scene Representations for Real World Planning,” in 2023 IEEE International Conference on Robotics and Automation (ICRA), 2023, pp. 11509–11522, doi: 10.1109/ICRA48891.2023.10161534.
[21]
P. Liu et al., “Dynamem: Online Dynamic Spatio-Semantic Memory for Open World Mobile Manipulation,” in 2025 IEEE International Conference on Robotics and Automation (ICRA), 2025, pp. 13346–13355, doi: 10.1109/ICRA55743.2025.11127619.
[22]
N. Ravi et al., SAM 2: Segment Anything in Images and Videos.” arXiv, 2024, doi: 10.48550/ARXIV.2408.00714.
[23]
S. Koch, N. Vaskevicius, M. Colosi, P. Hermosilla, and T. Ropinski, “Open3DSG: Open-vocabulary 3D scene graphs from point clouds with queryable objects and open-set relationships,” in 2024 IEEE/CVF conference on computer vision and pattern recognition (CVPR), 2024, pp. 14183–14193, doi: 10.1109/CVPR52733.2024.01345.
[24]
J. Yang et al., LLM-Grounder: Open-Vocabulary 3D Visual Grounding with Large Language Model as an Agent,” in 2024 IEEE International Conference on Robotics and Automation (ICRA), 2024, pp. 7694–7701, doi: 10.1109/ICRA57147.2024.10610443.
[25]
J. Kerr, C. M. Kim, K. Goldberg, A. Kanazawa, and M. Tancik, LERF: Language Embedded Radiance Fields,” in 2023 IEEE/CVF International Conference on Computer Vision (ICCV), 2023, pp. 19672–19682, doi: 10.1109/ICCV51070.2023.01807.
[26]
X. Ma et al., “SQA3D: Situated question answering in 3D scenes,” in International conference on learning representations (ICLR), 2023.
[27]
J. Yang, H. Zhang, F. Li, X. Zou, C. Li, and J. Gao, “Set-of-Mark Prompting Unleashes Extraordinary Visual Grounding in GPT-4V.” arXiv, 2023, doi: 10.48550/arXiv.2310.11441.
[28]
J. McCormac, R. Clark, M. Bloesch, A. Davison, and S. Leutenegger, “Fusion++: Volumetric object-level SLAM,” in 2018 international conference on 3D vision (3DV), 2018, pp. 32–41, doi: 10.1109/3DV.2018.00015.
[29]
M. Runz, M. Buffier, and L. Agapito, MaskFusion: Real-Time Recognition, Tracking and Reconstruction of Multiple Moving Objects,” in 2018 IEEE International Symposium on Mixed and Augmented Reality (ISMAR), 2018, pp. 10–20, doi: 10.1109/ISMAR.2018.00024.
[30]
M. Runz and L. Agapito, “Co-fusion: Real-time segmentation, tracking and fusion of multiple objects,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), 2017, pp. 4471–4478, doi: 10.1109/ICRA.2017.7989518.
[31]
S. Lin, J. Wang, M. Xu, H. Zhao, and Z. Chen, “Topology Aware Object-Level Semantic Mapping Towards More Robust Loop Closure,” IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 7041–7048, 2021, doi: 10.1109/LRA.2021.3097242.
[32]
Y. Liu, Y. Petillot, D. Lane, and S. Wang, “Global Localization with Object-Level Semantics and Topology,” in 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 4909–4915, doi: 10.1109/ICRA.2019.8794475.
[33]
M. B. Peterson, Y. X. Jia, Y. Tian, A. Thomas, and J. P. How, “ROMAN: Open-set object map alignment for robust view-invariant global localization,” in Robotics: Science and systems (RSS), 2025, doi: 10.15607/RSS.2025.XXI.029.
[34]
Y. Deng, B. Yao, Y. Tang, T. Zhou, Y. Yang, and Y. Yue, “OpenVox: Real-time instance-level open-vocabulary probabilistic voxel representation,” in 2025 IEEE/RSJ international conference on intelligent robots and systems (IROS), 2025, pp. 1305–1311, doi: 10.1109/IROS60139.2025.11246455.
[35]
Z. Wang et al., “Open-vocabulary octree-graph for 3D scene understanding,” in 2025 IEEE/CVF international conference on computer vision (ICCV), 2025, pp. 7037–7047, doi: 10.1109/ICCV51701.2025.00661.
[36]
M. Oquab et al., DINOv2: Learning robust visual features without supervision,” Transactions on Machine Learning Research, 2024.
[37]
S. Bai et al., “Qwen3-VL Technical Report.” arXiv, 2025, doi: 10.48550/arXiv.2511.21631.
[38]
T. Ren et al., “Grounded SAM: Assembling Open-World Models for Diverse Visual Tasks.” arXiv, 2024, doi: 10.48550/arXiv.2401.14159.
[39]
S. Liu et al., Grounding DINO: Marrying DINO with Grounded Pre-training for Open-Set Object Detection,” in Computer VisionECCV 2024, vol. 15105, Cham: Springer Nature Switzerland, 2025, pp. 38–55.
[40]
M. Ester, H.-P. Kriegel, J. Sander, and X. Xu, “A density-based algorithm for discovering clusters in large spatial databases with noise,” in Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD), 1996, pp. 226–231, Accessed: Feb. 20, 2026. [Online].
[41]
N. Reimers and I. Gurevych, “Sentence-BERT: Sentence embeddings using Siamese BERT-networks,” in Proceedings of the 2019 conference on empirical methods in natural language processing and the 9th international joint conference on natural language processing (EMNLP-IJCNLP), 2019, pp. 3982–3992, doi: 10.18653/v1/D19-1410.
[42]
J. Straub et al., “The Replica Dataset: A Digital Replica of Indoor Spaces.” arXiv, 2019, doi: 10.48550/arXiv.1906.05797.
[43]
A. Dai, A. X. Chang, M. Savva, M. Halber, T. Funkhouser, and M. Nießner, ScanNet: Richly-Annotated 3D Reconstructions of Indoor Scenes,” in 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 2432–2443, doi: 10.1109/CVPR.2017.261.
[44]
D. Z. Chen, A. X. Chang, and M. Nießner, ScanRefer: 3D Object Localization in RGB-D Scans Using Natural Language,” in Computer VisionECCV 2020, vol. 12365, Cham: Springer International Publishing, 2020, pp. 202–221.
[45]
P. Achlioptas, A. Abdelreheem, F. Xia, M. Elhoseiny, and L. Guibas, ReferIt3D: Neural Listeners for Fine-Grained 3D Object Identification in Real-World Scenes,” in Computer VisionECCV 2020, vol. 12346, Cham: Springer International Publishing, 2020, pp. 422–440.
[46]
Y. Fang, Q. Sun, X. Wang, T. Huang, X. Wang, and Y. Cao, “EVA-02: A visual representation for neon genesis,” Image Vision Comput., vol. 149, no. C, 2024, doi: 10.1016/j.imavis.2024.105171.
[47]
OpenAI, GPT-4o System Card.” arXiv, 2024, doi: 10.48550/arXiv.2410.21276.
[48]
OpenAI, OpenAI GPT-5 System Card.” arXiv, 2025, doi: 10.48550/arXiv.2601.03267.
[49]
K. Jatavallabhula et al., ConceptFusion: Open-set multimodal 3D mapping,” in Robotics: Science and Systems XIX, 2023, doi: 10.15607/RSS.2023.XIX.066.
[50]
A. Takmaz, E. Fedele, R. W. Sumner, M. Pollefeys, F. Tombari, and F. Engelmann, “OpenMask3D: Open-vocabulary 3D instance segmentation,” in Proceedings of the 37th international conference on neural information processing systems (NeurIPS), 2023.
[51]
X. Huang et al., “Open-set image tagging with multi-grained text supervision,” in Proceedings of the 33rd ACM international conference on multimedia (ACM MM), 2025, pp. 4117–4126, doi: 10.1145/3746027.3755316.
[52]
OpenAI, “Introducing GPT-5.4.” 2026, [Online]. Available: https://openai.com/index/introducing-gpt-5-4/.
[53]
Meta, “The Llama 4 herd: The beginning of a new era of natively multimodal AI innovation.” 2025, [Online]. Available: https://ai.meta.com/blog/llama-4-multimodal-intelligence/.