Workflow: Geometric Reconstruction from Visual Evidence
Phases​
- Phase 1: Ingestion & Processing
- Phase 2: Decomposition
- Phase 3: Object Reconstruction
- Phase 4: Environmental Reconstruction
- Phase 5: Synthesis & Validation
Data Ingestion & Processing
Important: Do not alter original source files. All manipulations (sharpening, un-distorting) should be done on duplicates/proxies. Log every filter & setting applied for transparency.
Focus: Order and analyze (multiple) source media streams to extract technical data and converting raw footage into the most usable type of assets.
Source Intelligence (Analysis)​
Ingest​
Collect all Video, Photos and other source material.
Master Archive:
- Create a (protected) directory (e.g., /00_Master_Archive).
- Save all sources here exactly as received/downloaded.
Fingerprinting (Hashing):
- Generate a Checksum (SHA-256) for all files (See Hashing)
- Store the Source Name, Download Date, Download location, Hash in a spreadsheet/text file (See Bellingcat best practices)
Create working_file directory
- Copy all source material here.
Segmentation​
If one video contains multiple clips, create separate clips.
Naming:
- Create Directories for each video
- Extract Frames from each Video
Naming:
Source Grouping: Sort and group files by physical device (e.g., "Source A - CCTV North," "Source B - Witness iPhone").
/01_WORKING_COPIES
/00_MASTER_INGEST
[Project]_Master_Compilation_Copy.mov <-- The big file you copied
/01_SOURCES <-- The result of your "Chop"
/SRC_A_CCTV_North
/Footage <-- The segmented video clip (ProRes/DNxHR)
/Image_Seq <-- The full PNG/EXR sequence extracted from footage
/Stills <-- Specific keyframes picked for reference
/Work <-- Undistorted/Sharpened versions
/SRC_B_Mobile_Witness
/Footage
/Image_Seq
/Stills
/Work
Technical Assessment (See Camera Fundamentals for Investigation)​
Optics: Analyze footage for Lens Distortion types (Barrel, Pincushion, Mustache) and Vignetting per main source file.
Artifacts: Identify Motion Artifacts (Motion Blur, Rolling Shutter, Compression blocks).
Geometry: Identify sources with optimal Perspective Lines (One-point, Two-point, or Three-point) to determine the best solving method for each specific angle.
Check for Metadata / Metadata Extraction (See Metadata Extraction)​
Action: Analyze file headers (EXIF/XMP) for each main source file (look at the main video, not the videos derived from it)
Key Data: Look for Camera Make/Model, Focal Length, Sensor Size, Date/Time, and GPS coordinates.
Note: If source is from social media, metadata is likely stripped; rely on visual "Technical Assessment."
If no metadata: Estimate if each specific camera uses a Prime Lens (Fixed) or Zoom Lens (Variable focal length). Estimate the Focal Length for Fixed Lens (Wide angle shots, zoomed shots), Possible Sensor Width (mm) for each profile independently.
Temporal Alignment (See video alignment)​
Sync all video footage to a single master real-world timeline (e.g., "Event Time 12:00:00") using metadata timestamps or visual anchors (e.g., a specific flash of light visible in all cameras).
Further Processing​
Image Enhancement (Working Copies):
Create separate "Work Files" for selected images. See if lens distortion can be countered, reduce blur (sharpening), upscale, or adjust contrast to reveal stronger perspective lines.
Scene Decomposition (Estimate Asset Generation)
Focus: Isolating, categorizing, and preparing every individual element within the frame for reconstruction.
Asset Identification (Inventory)​
- Macro-Static (Infrastructure): Buildings
- Micro-Static (Furniture): Street signs, benches, trees, trash cans.
- Dynamic Entities (Movers):
- Biometric: Humans, crowds, animals (Agency).
- Kinematic: Vehicles, machinery (Physics).
- Ephemeral Events: Explosions, smoke plumes, fire.
- Environment: Sun position, weather conditions (wet roads/puddles), debris.
Naming & Organization​
Assign a unique ID to every item in the Inventory
Dont use naming conventions that are subject to change (No Car_Lada_Niva_, but Car_Sedan_White). Pick categories, classifications or a taxonomy and visual aspects that are static (a car doesn't change from black to blue, nor does it change from Sedan to Hatchback)
Naming Convention: Category_Description_ID (e.g., MACRO_Building_TownHall_01 or DYN_Car_RedSedan_02).
Folder Structure: Create a directory for each asset containing two sub-folders:
- /Reference (Blueprints, OSINT photos).
- /Data (Measurements, specs).
Intelligence (Reference Gathering)​
Try to find "Ground Truth" data for each item in your Inventory.
OSINT / Specs: Locate blueprints, satellite maps, vehicle manuals, or weather reports.
Dimensional Verification: Confirm the height, width, and length of objects. Example: Don't guess the height of the lamp post; find the manufacturer spec or measure it relative to a known object.
Alternative Angles: Find existing footage (Street View, News, Social Media) that shows the object from sides not visible in your primary evidence.
Establish Methodology per object​
| Strategy | Definition | Best Use Case |
|---|---|---|
| SOURCE | Library Assets | Micro-Static & Generic Kinematic. Standard objects (Trash cans, Oak trees, generic Ford Focus) where the specific scratches/dents don't matter. Do not reinvent the wheel. |
| GENERATE | Automated Creation, Procedural | Macro-Static & Environment. Complex terrain, debris fields, or large city blocks. Use Photogrammetry (Drone/Google Earth) or Scatter tools (Gravel, Grass). |
| MODEL | Hand-Crafted | Key Evidence. The specific building where the event happened, or a unique vehicle with specific damage. These should be built vertex-by-vertex to match the reference perfectly. |
| SIMULATE | Physics-Based | Ephemeral Events. Explosions, fire, smoke. These cannot be modeled; they should be calculated using fluid dynamics based on the visual evidence. |
Evidence Assessment​
What source material do you have? This determines which reconstruction techniques are possible.
Visual Evidence Density:
- Sparse (1-5 viewpoints): Limited angles, use camera matching/perspective projection
- Medium (6-30 viewpoints): Structure-from-Motion (SfM) photogrammetry feasible
- Dense (30+ viewpoints): Full photogrammetry or Gaussian Splatting possible
Visual Evidence Quality:
- High: DSLR photos, stabilized video, minimal compression
- Medium: Smartphone footage, CCTV with moderate resolution
- Low: Compressed social media video, long-distance footage, heavy motion blur
Temporal Coverage:
- Single moment: Static reconstruction
- Discrete events: Keyframe animation between known states
- Continuous: Full motion tracking required
Supplementary Data Availability:
- Geospatial: GPS coordinates, satellite imagery, maps, blueprints available?
- Technical specs: Vehicle dimensions, building plans, object specifications?
- OSINT: Can you find additional angles from social media, news footage, Street View?
→ Output: Identify which reconstruction techniques are viable (photogrammetry vs. modeling vs. camera matching)
Object Reconstruction (Asset Creation)
This branch focuses on reconstructing key objects from the evidence inventory established in Phase 2.
- Prioritize objects that are directly tied to the research question.
- Use reference-driven modeling, camera-constrained modeling, or photogrammetric methods based on available sources.
- Establish scale and uncertainty before forwarding assets to synthesis.
See the dedicated workflow page: Object Reconstruction.
Environmental Reconstruction (Geospatial)
Focus: Rebuilding the Environmental context of the scene. Ground Truth
Geolocation:​
verify coordinates. If no location is found, proceed with Relative Reconstruction (arbitrary origin).
chronolocation
Terrain & Context Acquisition:​
Vector Data: Import OSM (OpenStreetMap) footprints via QGIS.
Elevation: Import DEM (Digital Elevation Models) for accurate terrain topography.
Photorealistic Context:
- Satellite: Google/Bing Satellite imagery (Regular and possibly Historical/Dated).
- 3D Tiles: Import Photogrammetry Mesh (Google Earth 3D) or Geometry Rip (via RenderDoc).
Verification Step: When using BlenderGIS ensure CRS (Coordinate Reference System) consistency across all datasets.
"Coordinate System Verification" subsection:​
- Document which CRS you're using (e.g., WGS84, UTM Zone X)
- Resolution standards: Specify minimum acceptable resolution for satellite imagery (e.g., "prefer <1m/pixel for urban scenes")
- Temporal matching: If your event happened in 2023 but Google Earth imagery is from 2019, document what changed (construction, demolished buildings)
- Vertical datum: Clarify whether elevation is relative to sea level (EGM96, EGM2008) or ellipsoid
Add "Ground Control Points (GCPs)":​
- Identify fixed landmarks visible in both your evidence AND satellite/maps (corners of buildings, painted road markings)
- These become your "anchor points" for aligning everything
- Document GCP coordinates in a table with confidence ratings
Synthesis & Validation
Focus: Merging data streams, feedback loop
Scene Assembly:​
- Import Geospatial Terrain (Phase 4) as the base layer.
- Instance Static Assets and Dynamic Agents (Phase 2) into the environment.
Spatial Verification:​
Projection mapping: Project original 2D "Evidence" onto the 3D geometry to verify alignment ("Place 2D image over 3D object").
Refinement: Adjust camera tracks or object positions until the 2D/3D overlay is perfect.
Temporal alignment placement:
Geometric Validation:​
- Scale verification: Measure known objects (door heights, road widths) in your 3D scene vs. real-world specs
- Angular verification: Check that angles between perpendicular walls = 90°
- Distance verification: Measure object-to-object distances against ground truth
Feedback loop process:​
- When validation fails, which phase do you return to?
- Create a "Revision Log" template tracking iterations
Confidence visualization system:​
Example color coding:
- Green: High confidence (measured, multiple sources confirm)
- Yellow: Medium confidence (single source or estimated)
- Red: Low confidence (interpolated, occluded, or speculative)
- Wireframe: Uncertain geometry
- Dashed lines: Inferred trajectories