Skip to content

ErToBar2/3DITISE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3DITISE

A 3D Inspection Toolkit for Interactive Spatial Education.

3DITISE is a Windows Unreal Engine application for exploring camera geometry, photogrammetry, and spatial computer vision in an interactive 3D scene. The Education mode is the recommended first entry point: it lets you inspect calibrated camera poses, cast image pixels into the world, and see the math behind camera-to-world projection update in real time.

3DITISE Education mode preview

Quick Start

  1. Download all release archive parts for both folders:
    • 3DITISE_v1.10e_zip: download 3DITISE_v1.10e.zip and every 3DITISE_v1.10e.z01, 3DITISE_v1.10e.z02, etc. file.
    • ExampleProjectLommelbrug: download ExampleProjectLommelbrug.zip and every ExampleProjectLommelbrug.z01, ExampleProjectLommelbrug.z02, etc. file.
  2. Keep each split ZIP set together in the same folder. Extract the .zip file; the .z01, .z02, etc. parts are used automatically by the archive tool.
  3. Run the packaged 3DITISE.exe.
  4. Open the start/runtime menu, choose Load Project, and select EducationMode.3ditise.json from the extracted example project.
  5. If a Resolve camera image paths dialog appears because the original image folders are not included, click Continue Offline.

The project should now load into Education mode with the bridge model, calibrated camera visualizations, and teaching overlays.

Optional Gaussian Splat Backgrounds

The project contains a Gaussian Splat for rendering the background. For highest quality, install the Jawset/Postshot Unreal Engine plugin for UE 5.7 from https://www.jawset.com/ and log in to the tool once. If you prefer a free version, you can use my custom 3DGS renderer.

Controls For Education Mode

  • Ctrl + Left Click: select or activate the camera under the crosshair. When a camera is already active and the crosshair is over its sensor plane, this also sets the projection image point.
  • Ctrl + Right Click: move the user view into the selected camera pose. This uses that camera's extrinsics: its world position and orientation.

Education Mode Walkthrough

  1. Select a camera with Ctrl + Left Click. Observe the camera cone, the sensor image plane, the highlighted image point or bounding-box center, and the ray line from the camera into the bridge model.

  2. Open the Camera Projection Math panel. Compare the image pixel P = (u, v), normalized camera coordinate, camera ray d_c, world ray d_w, and the 3D mesh intersection point. This is the core camera-to-world path: an image point becomes a ray, then the ray is transformed into world coordinates and intersected with the scene.

  3. Change the camera parameters. Try editing intrinsics such as fx, fy, cx, cy, and skew. Then edit physical camera values such as sensor width, sensor height, and focal length. Click Apply and watch the sensor plane, cone, ray, and computed values update.

  4. Change the extrinsics. Edit world x, world y, world z, pitch, yaw, and roll, then click Apply. This shows how camera position and orientation control the camera-to-world transform.

  5. Compare Pinhole assumption and Distortion aware. In pinhole mode, the image point is treated as an ideal pinhole-camera point. In distortion-aware mode, 3DITISE uses the radial and tangential distortion terms k1, k2, k3, k4, t1, and t2, computes an undistorted point, and compares the resulting ray and hit point with the pinhole assumption.

  6. Enable Camera coordinate frame and Rotation matrix vectors. Use these views to study the selected camera's local X_c, Y_c, and Z_c axes and how they form the columns of the camera-to-world rotation matrix.

  7. Use the reveal buttons in the math panel. Step through the calculation blocks to see how the values are produced, including intrinsic normalization, ray construction, world rotation, triangle intersection, and Newton-style undistortion iterations when distortion-aware mode is active.

Worth Exploring In Education Mode

  • Visual camera frustums and cones for multiple calibrated views.
  • Sensor-plane image visualization.
  • Camera-to-world ray casting from image pixels into the 3D bridge mesh.
  • Editable intrinsics, physical camera parameters, lens distortion, and extrinsics.
  • Bounding-box and image-point driven lesson setup.
  • Ray-line and mesh-hit visualization.
  • Rotation-matrix teaching view for camera axis decomposition.
  • Pinhole vs distortion-aware comparison, including Newton-style undistortion steps.
image image

Abstract

World-to-camera and camera-to-world transformations are fundamental to photogrammetry, remote sensing, and computer vision, but the geometry can be difficult to teach because it is often presented as abstract matrix algebra. 3DITISE makes these transformations observable by rendering calibrated photogrammetric scenes in Unreal Engine and exposing reprojection workflows interactively.

As a practical tool, 3DITISE can annotate objects in georeferenced 3D space and project those annotations into original camera images with distortion and occlusion awareness. It can also project raw bounding-box predictions back into 3D space, allowing object-detection results to be evaluated in their spatial context rather than only in image space. The platform therefore supports both education and applied dataset workflows for image-based spatial reasoning.

Motivation

3DITISE was conceived as an interactive outreach and education platform for geomatics, computer vision, and spatial AI. It is designed to lower the entry barrier to concepts that are often seen as mathematically abstract by letting users interact with a textured bridge model, calibrated cameras, image-space detections, and 3D reprojections directly.

The educational focus is to make geometric concepts visible. Users can inspect and modify intrinsic and extrinsic camera parameters, compare ideal pinhole projection with distortion-aware reprojection, and see how visibility and occlusion affect whether an object is correctly reprojected into image space.

The platform also includes a game mode for younger audiences. In that mode, users fly through the bridge inspection scene and identify concrete damage within a limited time. The final score introduces basic computer vision evaluation ideas such as true positives, false positives, and intersection over union, followed by an automated flythrough of the computer vision model solution.

Research Relevance

3DITISE addresses two common limitations in object-detection workflows. First, annotating large image datasets is labor-intensive, especially when the same physical object appears in many overlapping views. Second, model performance is often evaluated only in image space, even though the real target is a physical object in 3D.

By defining damage regions directly in 3D and reprojecting them into relevant images, 3DITISE reduces repeated annotation work and improves spatial consistency. The same framework supports dataset splitting by 3D observation, projection of predictions back into the scene, spatial aggregation, contextual evaluation, and extraction of geometric or semantic attributes such as surface orientation, structural component, and metric damage area.

Although developed for drone-based bridge inspection research, the workflow is transferable to other calibrated-imagery applications such as facade inspection, cultural heritage documentation, industrial asset inspection, and digital twin environments.

3DITISE workflow overview

Current Release

The current release is version 1.10e. This repository includes the original Unreal Engine 5.7 source code, the Windows packaged executable as split ZIP archives, and the Lommel bridge example project data.

About

A 3D Inspection Toolkit for Interactive Spatial Education

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages