Detection accuracy · Open method · Reproducible

Wall detection accuracy you can reproduce

Most takeoff tools state a detection accuracy number you have no way to check. TRACEBUILD publishes the corpus, the scoring code, and the exact command. Run the benchmark yourself and you get the same result, down to the failures.

Trace Walls runs in the browser, free while TRACEBUILD Lite is in early access.

0.2%
Mean linear-feet error
Across the labeled corpus. This is the quantity that flows into a bid, so it is the one that matters most.
95.7%
Wall-type accuracy
Exterior, interior bearing, or partition, scored against the architect's intent rather than the classifier's own rule.
46 / 46
Walls found, no phantoms
Recall and precision across the six labeled fixtures: every wall traced, nothing invented.
1
Command to verify
One command reproduces every number on this page, deterministically, on any machine.

Measured against TRACEBUILD v3.123 on 46 labeled walls across 6 fixtures. Numbers are deterministic and regenerated on every build.

What this measures, and what it does not

It is a reproducible floor. The fixtures are labeled synthetic plans spanning the styles that break detection (double-line commercial, single-line schematic, and solid-filled residential). They are real geometry the engine must get right on every build, or the regression gate fails.

It is not a claim that the tool finds every wall on an arbitrary scanned drawing. Real scans add skew, broken linework, and text-only sheets this corpus does not yet model. Growing it into a field-drawing benchmark, with sheets extracted from public-domain sets, is the next step.

We surface failures. The concave L-shaped shell below scores 75% on wall-type because its two re-entrant exterior walls sit mid-drawing, where a bounding-box exterior test reads them as interior. That result is printed in the report, not removed.

Results by fixture

FixturePlan styleWallsRecallPrecisionType accuracyLF error
Rectangular shellDouble-line vector4100%100%100%0.0%
Clinic wingDouble-line vector15100%100%100%0.0%
Bearing vs partitionsDouble-line vector7100%100%100%0.0%
L-shaped officeConcave shell8100%100%75%0.0%
Single-line schematicSolo vector pass6100%100%100%0.0%
Residential filled wallsRaster band pass6100%100%100%1.3%

Recall counts a true wall as found when detected segments cover at least 60% of its length. Precision counts a detected wall as valid when it lies on a real wall, so a wall split by a doorway is not punished as two false positives.

How we measure

  1. Describe the building by its walls. Each fixture is a set of centerline walls, each with a real thickness and a true type from the architect's intent, which is the ground truth.
  2. Synthesize what the engine sees. Each wall becomes the two face lines a CAD set draws, or a solid filled band for a poche plan, plus non-wall noise (dimension strings, furniture strokes) that must be rejected.
  3. Run the real pipeline. The exact detection the app runs, at the app's default settings, with no per-fixture tuning: trace the wall graph, then classify each wall.
  4. Score against truth. Recall, precision, linear-feet error, and wall-type accuracy, computed by scoring code that ships in the repository.

Where it falls short today

Concave shells

The exterior test keys on the drawing's bounding box, so re-entrant exterior walls of an L or U building read as interior. Tracing the true outline is the fix, and until it ships the number reflects reality.

Diagonal filled walls

The raster band pass reads axis-aligned filled walls. Angled poche walls fall to the vector pass or a later refinement, so the raster fixture is axis-aligned.

Raster quantization

Reading a wall from a raster rounds its band to whole pixels, which leaves about a 1% linear-feet error on filled plans. It is inherent to raster and is reported, not zeroed out.

Reproduce it yourself

The corpus lives in benchmark/fixtures.mjs, the scoring in benchmark/lib.mjs, and the runner writes a human report and a machine report. The same corpus and scoring back a regression gate in the test suite, so the published number and the guard can never drift apart.

# run the benchmark, write benchmark/results.md and results.json
node scripts/detect-benchmark.mjs

# run it and assert the regression floors (recall, precision, LF error)
node scripts/detect-benchmark.mjs --check

Every number regenerates deterministically, so re-running only changes the report when detection behavior actually changes.

Why publish this at all

A detection accuracy number is easy to claim and hard to prove. When a tool states one as an internal read, you are asked to take it on faith. We would rather hand you the method and let you check the work, including the parts that are not perfect yet. That is what a number is worth when your bid depends on it.

New to the feature? See how takeoff works in the browser, or read how to do a construction takeoff.

Common questions

Is the detection accuracy number reproducible?

Yes. The corpus, the scoring code, and the exact command are all in the repository. Running the benchmark produces the same numbers every time, so any result on this page can be audited.

Are these numbers from real drawings or synthetic tests?

They are from labeled synthetic plan fixtures that span the plan styles which break detection. They set a reproducible floor the engine must clear on every build. They are not a claim about arbitrary scanned drawings, and the page says so plainly.

Do you hide the cases where detection fails?

No. The concave L-shaped shell scores 75% on wall-type because a bounding-box exterior test cannot see its re-entrant walls, and that result is printed in the benchmark report rather than removed.

Does Trace Walls also give me wall area, not just length?

Yes. A traced wall reports linear feet immediately, and with a wall height it reports wall area as length times height, which most one-click wall tracers do not.

Trace your own walls in the browser

Open a plan set, click once, and get a classified wall takeoff with honest linear feet. Free while TRACEBUILD Lite is in early access, no download.

Try Lite free