Area 01
Improve inferred occlusion
Visible-stall recall is 99.4%, while occluded or inferred recall is 79.3%. Row gaps remain review-only while the weaker channel is improved and re-evaluated.
Technical companion
The model proposes. The estimator decides.
Auto Count converts calibrated aerial imagery into editable parking-lot quantities. This page explains how resolution, labels, specialist models, deterministic geometry, and human review work together.

Human review boundary
Proposed markings remain visible and editable before they can become labor, materials, margin, or a customer price.
Matched predictions among retained stall centers
Reviewed physical stalls matched by a prediction
Balanced precision and recall on the golden partition
01 / System contract
Every marking family maps to a billable unit, so uncertainty must remain visible all the way to review.
Stall lines, symbols, crosswalks, hatching, and linear markings become counts, feet, or square feet. A mistaken detection is not merely a visual defect once it affects a signed quote.
The useful system is therefore larger than the neural network. Resolution checks, label rules, physical constraints, rejected-item reasons, and a human acceptance step define the actual product contract.
A calibrated aerial image and the user-defined work boundary establish the task.
Scale and ground resolution determine whether the input is suitable for automatic analysis.
Separate heads propose stall centers, paint, symbols, hatching, spans, lines, and context.
Physical conflicts, barriers, thresholds, and row geometry constrain the proposals.
02 / Resolution
Training preserves native detail while serving standardizes the live task and refuses imagery that cannot support a trustworthy striping count.
Training keeps native pixels across the 1.4 to 10 cm per pixel range. Resolution-balanced sampling and an optional ground-sample-distance channel give the model scale context without flattening every image to one size.
Live inference targets 10 cm per pixel. If the available image is coarser than 20 cm per pixel, the service returns an explicit too-coarse result instead of manufacturing a count.
A fixed 10 cm training resample was tested and rejected because it reduced validation and golden performance. The failed experiment remains reproducible but cannot promote a model.
1.4 cm/px
Finest preserved training scale
7.5 cm/px
A common native-resolution band
10 cm/px
Live inference target
>20 cm/px
Automatic striping analysis stops
Property-level evaluation partitions
03 / Label governance
A purpose-built review tool supports point, line, polygon, and span geometry while keeping machine assistance subordinate to human approval.
Only geometry inside the reviewed project boundary becomes a training target.
Paint labels describe what is visible. Hidden physical stalls use a separate inferred channel.
Model seeds and segmentation helpers may create drafts, but they cannot assign final truth or overwrite approved work.
Every retrain freezes the approved reviews with hashes so a model can be traced to the exact labels it saw.
04 / Model choice
The final architecture emerged from rejected shortcuts, not from a preference for one model family.
Rejected because long, thin billable markings do not fit box geometry without losing their useful shape.
Open-set detection recognized foreground objects more readily than parking stalls, while general segmentation fragmented the pavement.
The shipped stall model treats center-point detection as two-channel segmentation for visible and occluded or inferred stalls.
Shipped stall target
A two-channel Gaussian center-point heatmap U-Net predicts complete physical stall centers. Visible stalls and occluded or inferred stalls remain separate so their performance cannot hide inside one combined score.
05 / Architecture
A committee of geometry-specific models proposes evidence. Deterministic code owns blending, conflicts, thresholds, and the final output contract.
Separate ResNet-34 U-Nets handle distinct geometry families instead of forcing one model to explain every marking.
Full images run through 512 px tiles at a 384 px stride so edge predictions receive neighboring context.
A Hann window blends overlaps before probabilities are normalized across the full work area.
Resolution-balanced sampling and an optional GSD channel keep scale explicit without discarding native detail.
The focal-loss branch stays in float32 because reduced precision can round near-one values into invalid logarithms.
Geometry and business rules assemble model outputs, record rejection reasons, and preserve raw coordinates for audit.
06 / Row-aware geometry
Occlusion recovery and row alignment are useful only when the interface makes their authority clear.
The model has a dedicated occluded or inferred output channel. It can recognize a hidden physical stall from row context, but that channel remains materially weaker than visible-stall detection.
Shipped row alignment may move detections onto a fitted axis, but it preserves the count and keeps the raw coordinates. A test enforces that contract.
A separate module may propose one bounded gap inside a reliable row. The proposal stays orange, review-only, and excluded from customer-visible counts until an estimator accepts it.
07 / Evaluation
The published metrics apply to reviewed physical stall centers. They do not stand in for every marking family in the product.
A property belongs to one partition, so tiles from the same site cannot leak between training and evaluation.
The golden labels are copied and hashed before candidate and incumbent models are scored.
Threshold tuning is restricted to the validation partition. The golden partition remains a release check.
Predicted and reviewed stall centers are paired one to one within a 16 px radius, then precision, recall, and F1 are reported.
Visible stall recall
99.4%
Occluded / inferred recall
79.3%
The separation is deliberate. A strong visible result cannot conceal a weaker inferred channel, and row completion remains review-only because of that gap.
Download sanitized evidence JSON ↓08 / Improvement areas
These are active engineering and evaluation priorities, not hidden exceptions to the headline metrics.
Area 01
Visible-stall recall is 99.4%, while occluded or inferred recall is 79.3%. Row gaps remain review-only while the weaker channel is improved and re-evaluated.
Area 02
Very fine and coarse imagery stress the model differently. A coarse-imagery specialist did not clear its safety gates, so automatic resolution routing remains off until a candidate improves the property-level slices without regression.
Area 03
An incomplete golden review with zero finished stall labels created a 23-false-positive spike against empty truth. A pre-scoring completeness check is the needed process improvement.
09 / Deployment
Training a checkpoint is not the same as putting it in front of a contractor.
A schema-validated active-model manifest pins checkpoint hashes, thresholds, disabled classes, and the decision note for every specialist. Candidate models can be previewed in the review tool without touching the live manifest.
Promotion gates leave the incumbent live when a candidate fails. Rollback selects a known manifest, while the app-side workflow owns retries, review state, and the final acceptance boundary.

Continue with the product
See how Auto Count fits into the full workflow from aerial takeoff to company pricing and an e-signed quote.