← Lab bench
EXP-074Live

A sector of a housing society in 3D from 22 seconds of drone footage, every flat and shop floor by floor

34.2dB

on frames held back from training: a housing society's boulevard, gate, two grey-structure apartment blocks and two plazas rebuilt in 3D from a 22-second stock drone clip, with every flat and shop on its floor

A housing society's boulevard in 3D with a gate, two grey-structure apartment blocks and two plazas, each labelled with floors and height, beside a panel of totals
1/3The sector in 3D: two grey-structure blocks and two plazas, each measured from the model, with the totals alongside.
  1. 1 · Measured
  2. 2 · Every floor
  3. 3 · Find a unit

Buyers in a new housing society ask which block, which floor, and what is still for sale. We rebuilt a sector of a society in Pakistan, its boulevard, gate, two apartment blocks still in grey structure and two finished plazas, from 22 seconds of stock drone footage, and measured each building from the 3D: height, footprint and storeys. On top sits a sample register of 144 flats and shops, each on the floor it belongs to and coloured by status: available, booked with token money, on instalments or kept by the developer. A finder narrows them by type, floor, size, price and which way they face. The society is not named: nine signs, from the gate's lettering to roadside adverts, were taken out of the 3D. It is built on Site Twin, our app for turning one drone clip into a measured site with its records on top.

What we tried

  • Kept the sharpest 65 of 261 frames from a 22-second stock drone clip flying up a society's boulevard, solved the cameras in COLMAP and trained a splat in LichtFeld Studio (30,000 steps, about a million splats).
  • Set the scale from three parked cars, wheel to wheel on the solved ground (wheelbases 2.55 to 2.65 m): 15.8, 16.5 and 16.8 m per model unit.
  • Outlined each building once on one frame and read its height and footprint from the splats inside; storeys counted by eye.
  • Found the society's name and the adverts on nine signs and flattened them out of the 3D, each along the sign's own upright face.
  • Laid a sample register of 144 flats and shops on the measured floors, with a finder and a guided tour, in Site Twin.

What we measured

MeasureResultNote
Frames placed by the camera solve65 of 650.48 px average error; the sharpest of 261
Held-out PSNR34.2 dBSSIM 0.96, every 8th frame held back
Scale16.5 m a unitthree parked cars, about ±10%
Buildings measured426 to 29 m tall, 6 to 10 floors
Signs taken out9gate, gatehouse, park wall, billboards, the developer's board and roadside adverts
Sample register144 units70 available, 53 booked, 19 on instalments, 2 the developer's own
Browser download14 MBthe 3D, plus 1.1 MB of app

What went wrong

  • The first camera solve came out inside out, far buildings in front of near ones, as on an earlier low forward flight. Solving again with the global mapper and the lens held at a drone-like focal length fixed it.
  • Flattening each sign at one depth lost the far half of the lettering on signs that sit at an angle to the camera. Each sign is now fitted as its own upright plane and flattened along it.
  • A plane fit without an upright rule picked the lawn instead of the sign.
  • There were far more signs than the gate: billboards, banners and a roadside advert naming a locality with a phone number. Each needed its own pass.

What happens next

  • A developer's own register and prices in place of the samples.
  • A flight round both blocks, so every side is sharp, and a flight a month to show the grey structure being finished.

Built with

  • COLMAP 4.1 (global mapper) BSD-3-Clause
  • LichtFeld Studio GPL-3.0
  • Site Twin (Simam's own app) Proprietary
  • Spark 2.2 MIT
  • three.js MIT
  • Pexels stock footage Pexels licence