Papers
Topics
Authors
Recent
Search
2000 character limit reached

ROOF Methodology for Roof Instance Analysis

Updated 9 July 2026
  • ROOF Methodology is a framework that integrates instance segmentation with continuous geometric attribute regression to delineate roof segments and estimate height, slope, and azimuth.
  • It extends Mask R-CNN using a dedicated attribute branch with conditional azimuth loss and log-normalized height regression to enhance prediction stability.
  • The method produces outputs sufficient for LoD2 building reconstruction, supporting urban modeling, solar potential analysis, and building stock assessment.

Searching arXiv for the primary paper and closely related roof-segmentation/reconstruction works to ground the article in current literature. arXiv search query: (Versteeg et al., 25 May 2026) OR "Joint Instance Segmentation and Geometric Attribute Regression for Roof Structures in Aerial Imagery" The ROOF methodology is a joint instance segmentation and geometric attribute regression framework for roof structures in aerial imagery. It is designed to predict instance-level roof segment masks together with three continuous geometric attributes—building height, roof slope, and roof azimuth—from a single aerial orthophoto. The method extends Mask R-CNN with a dedicated attribute regression branch and introduces two key design choices: a conditional azimuth loss that suppresses supervision for flat roof segments, and a log-normalized height representation that addresses the heavily skewed distribution of building heights. Trained on Dutch aerial orthophotos paired with 3DBAG-derived supervision, it produces outputs sufficient for simplified LoD2 building reconstruction while requiring expensive 3D reference data only for training (Versteeg et al., 25 May 2026).

1. Problem definition and intended use

ROOF addresses joint instance segmentation and geometric attribute regression for roof structures from a single aerial orthophoto. The target is not only to delineate individual roof segments, but also to estimate three continuous geometric attributes for each segment: building height, roof slope, and roof azimuth. In this formulation, the unit of prediction is the roof segment instance rather than the full building or a semantic roof mask.

The methodological motivation is explicitly application-driven. Roof slope and azimuth determine solar panel suitability for energy planning and solar potential analysis. Height and roof form are needed for building stock analysis and volume estimation. The same attributes affect rebuild value and risk assessment in insurance and housing contexts, and they are relevant to national-scale mapping in settings where aerial imagery is broadly available but 3D building models are not. The central operational advantage is therefore asymmetry between training and inference: LiDAR-derived 3D data is used only during training, whereas inference requires only a single aerial image (Versteeg et al., 25 May 2026).

This emphasis places ROOF in a broader family of roof-analysis pipelines oriented toward downstream urban modeling and solar assessment. A related satellite-based system, for example, predicts nadir DSMs and roof segments from off-nadir imagery for Solar API integration, but does so through DSM estimation rather than direct per-instance attribute regression (Batchu et al., 2024). This suggests that ROOF occupies a distinct methodological niche: it predicts geometric roof semantics directly at the segment-instance level.

2. Architectural formulation

The base detector is Mask R-CNN with a Feature Pyramid Network. The standard pipeline is preserved: Backbone + FPN extracts multi-scale features, the Region Proposal Network proposes candidate object regions, RoIAlign or MultiScaleRoIAlign produces fixed-size region features, and separate branches predict class label, bounding box, and binary mask.

ROOF extends this design with a dedicated Attribute Branch for continuous regression of roof geometry. The attribute head shares the 7×77 \times 7 RoI features with the class and box branches, while the mask branch uses 14×1414 \times 14 RoI features for finer spatial detail. The attribute branch is a small fully convolutional + MLP regressor composed of 4 convolutional layers with BatchNorm, followed by 2 linear layers with 128 hidden units and ReLU.

Component Role Details
Backbone + FPN Multi-scale feature extraction Mask R-CNN with FPN
Mask branch Instance mask prediction Uses 14×1414 \times 14 RoI features
Attribute branch Continuous geometry regression Uses 7×77 \times 7 RoI features
Attribute outputs Per-instance geometry height: 1, slope: 1, azimuth: 2

The attribute branch outputs 4 values total: height as 1 scalar, slope angle as 1 scalar, and azimuth as 2 values encoded as a 2D unit vector. This makes the system a multi-task instance-level predictor: one detected roof segment yields one mask plus geometric attributes. The azimuth parameterization uses (cosϕ,sinϕ)(\cos \phi, \sin \phi), avoiding the discontinuity at 0/3600^\circ/360^\circ that would arise under direct angle regression (Versteeg et al., 25 May 2026).

This architectural choice is significant because it couples geometric estimation to region proposals rather than to a separate dense prediction stage. A plausible implication is that the method benefits from instance-level localization before regression, which is especially relevant when many roof segments coexist within a single crop.

3. Attribute representations and supervision strategy

The three predicted attributes are building height, roof slope, and roof azimuth. Height is a continuous scalar measured in meters. Roof slope is a continuous scalar in degrees. Roof azimuth is a circular orientation angle in degrees representing compass direction.

A major contribution is the conditional azimuth loss. In the 3DBAG ground truth, flat roof segments are assigned an azimuth value even though a flat horizontal surface has no meaningful orientation. These labels are therefore effectively arbitrary and noisy. ROOF suppresses azimuth supervision when the ground-truth roof slope is below a threshold: if α15\alpha^* \le 15^\circ, azimuth loss is set to 0, and only sloped roofs contribute azimuth supervision. The corresponding loss uses αth=15\alpha_{\text{th}} = 15^\circ, λh=0.5\lambda_h = 0.5, λα=0.001\lambda_\alpha = 0.001, and 14×1414 \times 140. The azimuth term itself is cyclic and uses angular distance: 14×1414 \times 141 The reported effect is substantial: azimuth MAE is reduced from about 14×1414 \times 142 to 14×1414 \times 143, a 41% improvement, without harming height or slope prediction (Versteeg et al., 25 May 2026).

Height regression is treated as a representation problem rather than as raw scalar prediction. The dataset contains many low buildings, relatively few tall buildings, and a long tail created by rare skyscrapers and towers. The paper compares several encodings: 14×1414 \times 144 with 14×1414 \times 145 and 14×1414 \times 146, computed over training log-heights. The best representation is log-normalized height, which improves height MAE from 14×1414 \times 147 m under raw regression to 14×1414 \times 148 m, a 17% improvement.

These two design choices address distinct failure modes. Conditional azimuth loss removes supervision noise caused by label ill-posedness on flat roofs. Log-normalized height regression mitigates gradient imbalance induced by a heavily skewed height distribution. Together they define the core statistical stabilization strategy of ROOF.

4. Data sources and annotation pipeline

The training imagery consists of Dutch aerial orthophotos from PDOK Luchtfoto RGB at 8 cm/pixel. The images are nadir, geometrically corrected orthophotos acquired during annual summer flights. Ground truth is derived from 3DBAG, a nationwide Dutch 3D building dataset built from BAG cadastral building footprints and AHN airborne LiDAR. The paper uses LoD2.2 geometry, which provides per-segment height, slope, and azimuth.

Annotation generation follows a deterministic spatial pipeline. For each address or building, one building per address is selected, a 14×1414 \times 149 m area around its centroid is cropped, the orthophoto is downloaded and resized to 14×1414 \times 140, 3DBAG is queried for all LoD2.2 roof segments in that spatial extent, each segment is converted to an instance mask, and the corresponding geometric attributes are attached. The resulting dataset contains 17,353 paired image-annotation examples and 2,110,801 total instance masks, with about 122 instances per image.

The split is geographically strict: 11,931 training examples, 2,747 validation examples, and 2,675 test examples. Buildings within 1 km are grouped together so that there is no spatial leakage across splits. This is important because nearby rooftops are highly correlated.

The dependence on automatically derived supervision rather than manual roof annotation is methodologically consequential. A plausible implication is that ROOF is designed for scale first, with supervision quality controlled through loss design rather than through exhaustive human curation. That differentiates it from manually annotated roof benchmarks such as Nacala-Roof-Material, which emphasizes roof detection, classification, and segmentation in high-resolution drone imagery (Guthula et al., 2024).

5. Training protocol and quantitative performance

Three backbones are evaluated: ResNet-50, EfficientNetV2-M, and DINOv3 ConvNeXt-Base. The final choice is DINOv3 ConvNeXt-Base because it gives the best detection and segmentation performance, especially at stricter IoU thresholds. Reported first-stage segmentation performance is AP14×1414 \times 141 0.337, AP14×1414 \times 142 0.068, and mAP 0.129 for ResNet-50; AP14×1414 \times 143 0.320, AP14×1414 \times 144 0.043, and mAP 0.111 for EfficientNetV2-M; and AP14×1414 \times 145 0.426, AP14×1414 \times 146 0.177, and mAP 0.204 for DINOv3 ConvNeXt-Base.

Training is performed in two stages. First, Mask R-CNN detection and segmentation components are trained for 8 epochs. Second, the backbone is frozen and all branches are trained jointly for 8 epochs. Optimization uses Adam with learning rate 14×1414 \times 147 for most parameters and 14×1414 \times 148 for the backbone, batch size 16, mixed precision float16, and hardware consisting of 4 14×1414 \times 149 A100 GPUs. Augmentation includes dihedral transforms with 8 rotations and reflections, and color jitter on brightness, contrast, and saturation. Final experiments use 7×77 \times 70 input resolution, which improves all metrics over 7×77 \times 71.

On the test set, the best configuration achieves AP7×77 \times 72, AP7×77 \times 73, and mAP 7×77 \times 74 for instance segmentation. Attribute regression reaches azimuth MAE 7×77 \times 75, slope MAE 7×77 \times 76, and height MAE 7×77 \times 77 m (Versteeg et al., 25 May 2026).

These results are notable because the method predicts all outputs from a single overhead RGB image. A useful point of comparison is Satellite Sunroof, which reports building MAE around 1 m, pitch error around 7×77 \times 78, and roof segmentation IoU in the 7×77 \times 79–(cosϕ,sinϕ)(\cos \phi, \sin \phi)0 range using lower-resolution off-nadir satellite imagery and a DSM-oriented formulation (Batchu et al., 2024). This suggests that ROOF’s direct per-instance attribute regression is competitive for nadir aerial imagery while remaining operationally simpler at inference time than pipelines that require explicit DSM construction.

6. LoD2 reconstruction, interpretation, and relation to adjacent methods

The predicted outputs are sufficient to reconstruct a simplified LoD2 building model from a single overhead image. For each roof segment, the method provides mask geometry, height, slope, and azimuth. From these outputs, one can take the predicted roof segment masks as roof surface footprints, assign each segment its predicted height, slope, and azimuth, generate planar roof surfaces, and combine them with the building footprint to create a simplified 3D model. The paper emphasizes that this is enough for LoD2-level representation, not full detailed geometry (Versteeg et al., 25 May 2026).

This point addresses a common misunderstanding. ROOF is not a full mesh-reconstruction system and does not claim detailed architectural recovery. Its output is a simplified semantic-geometric decomposition of roof segments sufficient for building stock analysis and related applications. A second misunderstanding is that the method is merely a semantic segmentation model with auxiliary regression. It is explicitly instance-based: accurate instance separation is central because one detected roof segment yields one mask plus one attribute tuple. That distinction aligns with observations in other roof benchmarks that accurate semantic segmentation does not necessarily imply accurate instance separation, and vice versa (Guthula et al., 2024).

A third misconception concerns data requirements. The methodology does depend on expensive 3D reference data, but only during training. At inference time, it requires only a single aerial orthophoto. This makes it distinct from LiDAR-native roof-plane pipelines such as RoofSeg, which perform end-to-end roof plane segmentation from airborne LiDAR point clouds using learnable plane queries, edge-aware refinement, adaptive mask weighting, and a plane geometric loss (You et al., 26 Aug 2025).

Taken together, these characteristics define the ROOF methodology as a bridge between 2D aerial observation and simplified 3D roof semantics. Its effectiveness derives from combining instance segmentation with per-segment geometric regression, while its practical scope is bounded by the LoD2 target, the reliance on training-time 3D supervision, and the assumption that roof structure can be represented by segmented planar parts with height, slope, and azimuth.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to ROOF Methodology.