Splat.Report

Interior capture

Working5 min readUpdated 2026-07-09Verified 2026-07-09

Interiors break most of the assumptions that make outdoor capture forgiving. There’s no open sky to diffuse the light, rooms are small enough that a single window can dominate the exposure, and a walkthrough naturally produces a long, winding camera path instead of a clean orbit. The core coverage and overlap principles from the overview still apply, but interior capture adds its own set of failure modes on top, and they’re worth planning for explicitly rather than discovering mid-COLMAP-run.

Why interiors break the outdoor playbook

An exterior orbit is a closed loop by construction: you walk or fly a circle around the subject and end up back where you started, with every frame roughly the same distance from a static, evenly lit facade. An interior walkthrough is usually the opposite: a long, branching path through several rooms, each with its own lighting, and a return path that often isn’t the same as the way in. That combination, long sequential paths plus uneven interior lighting, is exactly what produces the two failure modes interior capture is most known for: accumulated drift over a long walk, and exposure inconsistency between rooms or even within one room.

Loop closure: closing the loop around a room, and between rooms

Camera pose estimation over a long sequential path accumulates small errors frame to frame, and by the far end of a long walkthrough those errors can add up to a noticeable drift, a room that should be a rectangle coming out slightly bowed, or two ends of a corridor that don’t quite line up. The fix is loop closureMatching images from non-adjacent points in a capture path, most usefully the end of a loop back to its start, so bundle adjustment can correct pose error that accumulates along a long sequential walkthrough instead of letting it compound one-directionally., well established in both SfM and SLAM literature: deliberately capturing matches between non-adjacent parts of the path, most usefully between the end of a loop and its start, gives the optimiser constraints that pull the whole chain back into a consistent shape instead of letting error compound one-directionally. In practice this means: when you finish a circuit of a room, take a few shots back toward your starting position before moving on, and when you cross a doorway into the next room, take a couple of frames that straddle the threshold so both rooms share a genuine overlap rather than meeting at a hard cut. One caution from the research worth carrying into practice: loop closure isn’t free of failure modes of its own, matching can misfire on rooms with strongly repetitive structure, identical cubicles, a corridor of identical doors, producing a plausible-looking but wrong match between two different loops. The same repetitive-pattern caution from the overview article applies here too.

Exposure lock: fighting windows and mixed lighting

A room with a window wall on one side and a dim corner on the other can easily span several stops of dynamic range, and if the camera is left on auto-exposure, it re-meters every frame based on how much window is in shot, brightening as you turn away from it and darkening as you turn back. That’s a serious problem for feature matching: the same patch of wall photographed at two different exposures can look different enough that the matcher doesn’t recognise it as the same surface. The fix is exposure lockFixing exposure, and ideally white balance, to one value for an entire capture pass rather than letting the camera re-meter every frame. Prevents auto-exposure from making the same surface look different across photos, which otherwise confuses feature matching.: fixing exposure, and ideally white balance, to one value for an entire pass through a space, rather than letting the camera renegotiate it shot by shot. A small negative exposure compensation, commonly cited in the range of -0.3 to -0.7 EV, is worth dialling in before locking, since it protects window highlights from blowing out completely at the expense of shadow detail you can usually still recover.

Low-texture failure modes indoors

Interiors have their own version of the reflective-and-blank-surface problem from the overview article, and it shows up constantly: painted plaster ceilings and walls, glossy or reflective flooring, glazed partitions, and mirrors are all common in normal rooms and all notoriously hard for a feature matcher to lock onto, since a smooth, uniformly coloured surface simply doesn’t offer the distinct points a matcher needs. The practical response is to bias coverage toward the texture that does exist: skirting boards, cornicing, furniture, door frames, and the edges where one surface meets another, rather than centring shots on the middle of a blank wall. A run of empty corridor with painted walls on both sides is one of the more common places an interior capture quietly loses registration, and it’s worth a slower, higher-overlap pass through exactly those stretches rather than walking through them at the same pace as a furnished room.

Room-to-room strategy

A workable pattern for room-scale capture, echoed across several current mobile-scanning guides, is three passes per room: one close to the walls for detail, one through the centre for overall context, and a final pass for anything the first two missed, corners, ceiling junctions, awkward fixtures. Applied across a multi-room interior, the same idea scales up: treat each room as its own well-covered unit, then make sure the transitions between rooms get deliberate bridging shots rather than being an afterthought of the walking route. Revisiting already-covered ground periodically as you move through a floor, rather than sweeping through once in a single direction, gives COLMAP the kind of redundant, non-adjacent matches that loop closure depends on.

In practice

Before starting an interior shoot, walk the space once with a phone or camera and note where the light changes sharply, near windows, between rooms, under artificial spot lighting, and set exposure lock before you start the real capture pass rather than partway through. Flag long runs of blank wall or corridor the same way you’d flag a glass facade outdoors, and plan a slower pass through them. And treat every doorway as a place that needs its own overlap, not just a transition: a reconstruction that falls apart at room boundaries is very often missing exactly those bridging shots.