×

Querying 3D Models with AI Agents

By Thomas Charlton, PhD and Conrad Koziol, PhD

Executive Summary

High-fidelity 3D models provide rich visual records of physical spaces, but extracting insights still relies on manual human navigation. While autonomous agents can automate analysis, multimodal models process 2D images and cannot natively parse 3D formats like point clouds or Gaussian splats. We resolve this by generating a minimal set of 2D views covering the entire scene. By embedding each render into a structured scene matrix, we create a spatial data layer optimized for plain-language queries. Decoupling image embeddings from underlying geometry provides a scalable, practical foundation for autonomous spatial inspection.

A search box reading "where is the fire extinguisher?", the match probability of the top five views, the best-matching render with the fire extinguisher circled on top of a bookcase, and a top-down view of the cabin with the top five views' cameras marked and numbered by rank and the fire extinguisher circled
Figure 1: Ask a 3D model a question in plain language. The query is scored against every virtual photograph taken of the cabin, the best match is a view of the fire extinguisher, and the cameras of the top five views show where in the model they were taken.

Introduction

Gaussian Splatting [1] enables rapid 3D reconstruction and high-fidelity rendering, but these models still operate primarily as static visual records. Extracting compliance or safety data—such as verifying fire extinguisher placement or inspecting rack installations—requires manual human review.

Automating this analysis requires translating 3D spatial data into formats compatible with large multimodal models. While 3D-native vision-language models exist, they lack the extensive training datasets of their 2D counterparts [2]. Our prior methodology used original capture photography as an intermediary data layer: ranking source images against text queries, verifying matches via a multimodal model, and projecting coordinates into 3D space [3], [4].

Relying on original capture imagery, however, carries practical limitations:

Alternative systems embed language features directly into scene geometry, distilling image-text embeddings [5] into individual Gaussians or points (e.g., LangSplat [6], OpenGaussian [7]). This approach tightly couples geometry to a specific embedding model and demands significant preprocessing per scene. Our methodology preserves the original geometry, generating a discrete 2D data layer optimized for vision model processing.

System Architecture: Automatic Virtual Framing

We execute a pre-computation pipeline termed automatic virtual framing to construct the search index. The workflow operates in four steps:

  1. Camera Initialization: Distribute candidate camera coordinates across the navigable free space within the 3D environment.
  2. View Rendering & Evaluation: Render each candidate view and calculate its photographic fidelity. Because off-axis or distant renders introduce structural artifacts, a trained classifier operating on standard image embeddings [8] assigns a quantitative realism score to each frame. Candidates that narrowly fail are refined through small pose perturbations, retaining any adjustment that raises the score.
  3. Coverage Optimization: Select views greedily, adding the high-realism view that observes the most uncaptured surface at each step to eliminate redundant camera angles.
  4. Final View Set: Terminate selection once additional views yield only marginal coverage, producing a minimal, well-distributed set of virtual photographs that form the input to the scene matrix.
Four panels on a schematic floor plan: a grid of candidate cameras, the candidates marked realistic or rejected around the original capture path, the views picked for coverage with the surface they see, and the final numbered cameras
Figure 2: How automatic virtual framing chooses its cameras, shown on a schematic floor plan. Candidate cameras fill a grid over the scene's free space (1). Each is rendered and scored for realism: views far from the original capture look fake and are rejected, and near misses are nudged toward better poses (2). The realistic views are then picked one at a time for the most unseen surface (3), leaving a small, well-spread set (4).

The Scene Matrix Data Structure

We process the finalized view set through a standard image-text embedding model [5]. The resulting outputs populate a scene matrix, allocating one row per virtual photograph and mapping each directly to its originating spatial coordinates.

During query execution, the agent embeds the search string and calculates similarity scores across the matrix to identify the highest-scoring camera poses. Isolating the embedding layer from the 3D geometry ensures system flexibility—updating the underlying embedding model requires only reprocessing the 2D renders. Every query result outputs a specific rendered view, providing a visual audit trail for human verification.

Figure 3
Figure 3: The scene matrix. Virtual photographs are embedded one row per view, and each row keeps its camera. A query is scored against every row, and the best views are lifted to a location in 3D.

Operational Benchmarks

This decoupled architecture enables rapid indexing of imported spatial models that lack original source photography. We benchmarked this pipeline on a 1.8-million-Gaussian splat scan of a local cabin, intentionally withholding the original capture photographs.

The pipeline generated 122 virtual photographs, each rendered at a 1024 × 1024 pixel resolution, to achieve 95% surface coverage—a significant data reduction compared to the 362 original capture photos. The complete framing and embedding pipeline executed in less than two minutes.

Loading…
Figure 4: The cabin splat, searchable in plain language. Type a query and the camera flies to the best-matching view. Search phrases were embedded ahead of time with the same model, so the demo runs entirely in your browser.

Execution latency scales proportionally with Gaussian volume, as each candidate view requires sorting the scene's Gaussians prior to rendering. Across expanded testing, models containing 1–2 million Gaussians processed in one to two minutes, 5 million Gaussians in three minutes, and 7 million Gaussians in six minutes.

Conclusion

Digital twins deliver value when they can be analyzed and their insights directly impact business processes. Live exploration by an autonomous agent introduces high computational overhead on every query. By pre-computing a discrete network of interior renders and structuring them into an embedded scene matrix, we provide agents with an immediate, scalable mechanism for spatial search. This architecture establishes a practical data pipeline where every query result resolves directly to a specific, human-readable 3D coordinate and visual frame.


Citations

[1] B. Kerbl, G. Kopanas, T. Leimkühler, G. Drettakis. "3D Gaussian Splatting for Real-Time Radiance Field Rendering." ACM Transactions on Graphics (SIGGRAPH), 2023.

[2] M. Lobo, V. Matias, A. Paiva et al. "An overview of 3D Vision-Language Models." arXiv:2609.05583, 2026.

[3] SpatialView. "Searching the Physical World: Bridging 3D Models and LMMs." 2026. https://spatialview.io/blog/3d-semantic-search

[4] SpatialView. "From 3D Semantic Search to 3D Object Detection." 2026. https://spatialview.io/blog/3d-object-detection

[5] A. Radford, J. W. Kim, C. Hallacy et al. "Learning Transferable Visual Models From Natural Language Supervision." arXiv:2103.00020, 2021.

[6] M. Qin, W. Li, J. Zhou et al. "LangSplat: 3D Language Gaussian Splatting." arXiv:2312.16084, 2023.

[7] Y. Wu, J. Meng, H. Li et al. "OpenGaussian: Towards Point-Level 3D Gaussian-based Open Vocabulary Understanding." arXiv:2406.02058, 2024.

[8] M. Tschannen, A. Gritsenko, X. Wang et al. "SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features." arXiv:2502.14786, 2025.