# Leveraging large-scale aerial data for accurate urban rooftop solar potential estimation via multitask learning

Alessia Boccalatte, Ankit Jha, Jocelyn Chanussot

► To cite this version:

Alessia Boccalatte, Ankit Jha, Jocelyn Chanussot. Leveraging large-scale aerial data for accurate urban rooftop solar potential estimation via multitask learning. Solar Energy, 2025, 290, pp.113336. 10.1016/j.solener.2025.113336. hal-05084430

HAL Id: hal-05084430

https://hal.science/hal-05084430v1

Submitted on 26 May 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
Graphical Abstract

Leveraging Large-Scale Aerial Data for Accurate Urban Rooftop
Solar Potential Estimation via Multitask Learning

Alessia Boccalatte, Ankit Jha, Jocelyn Chanussot

<figure><img src="image_2.png" /></figure>
Highlights

Leveraging Large-Scale Aerial Data for Accurate Urban Rooftop
Solar Potential Estimation via Multitask Learning

Alessia Boccalatte, Ankit Jha, Jocelyn Chanussot

* SolarMTNet accurately segments rooftop orientations and slopes from aerial data

* Multitask model with large, auto-labeled Swiss dataset enhances generalization

* Cross-validation in multiple regions with real solar cadaster data proves robustness

* Predicted irradiance diverges only 5% from model-based solar cadaster results
# Leveraging Large-Scale Aerial Data for Accurate Urban Rooftop Solar Potential Estimation via Multitask Learning

Alessia Boccalatte<sup>a</sup>, Ankit Jha<sup>a,b</sup>, Jocelyn Chanussot<sup>a</sup>

<sup>a</sup>Université Grenoble Alpes, Inria, CNRS, Grenoble INP, LJK, Grenoble, 38000, France,

<sup>b</sup>The LNM Institute of Information Technology, Department of Computer Science and Engineering, Jaipur, 302027, Rajasthan, India

## Abstract

Convolutional Neural Networks (CNNs) have shown remarkable success in remote sensing tasks. In urban contexts, recent research has utilized CNNs to generate rooftop segmentation masks and determine rooftop section orientation from aerial images. This cost-effective approach is especially valuable for large-scale rooftop solar potential estimations when detailed three-dimensional data is unavailable. This research introduces SolarMTNet, a novel multitask dense-prediction network designed for rooftop solar potential prediction using only aerial images. Unlike previous studies that focus on small manually labeled datasets (approximately 2000 scenes) and only segment rooftop orientations while typically assuming constant slopes, SolarMTNet simultaneously segments both orientations and slopes, enhancing the accuracy of solar potential estimations by 40%. SolarMTNet leverages a large, automatically labeled dataset (up to 280000 scenes) created from

Email address: alessia.boccalatte@inria.fr (Alessia Boccalatte)
open-source Swiss geospatial and aerial data, significantly improving generalization. The model is trained on rooftop data from the Zurich and Geneva cantons and cross-validated on the Canton of Vaud, Switzerland. The results show a mean Intersection over Union (mIoU) of 0.67 for orientation segmentation and 0.40 for slope segmentation. The estimated irradiance exhibits an absolute mean percentage difference of only 5% compared to real solar cadaster data derived from detailed model-based calculations, primarily due to shading issues. Finally, SolarMTNet has also been tested in different geographical areas outside Switzerland (France and Germany), demonstrating consistent performance across diverse regions and pixel resolutions.

*Keywords:* Deep Learning, Multitask Learning, Semantic Segmentation, Solar Potential Estimation,

# 1. Introduction

Integrating solar production systems into urban environments presents both significant challenges and opportunities for the energy transition. Achieving Sustainable Development Goals (SDGs) [1], Nearly Zero Energy Buildings (NZEBs) objectives [2, 3], and ensuring energy security depend on effective solar energy integration. However, urban contexts face intrinsic issues like reduced irradiance due to inter-building shading [4, 5] and practical limitations, such as the complexity of modeling solar irradiance, inter-reflections among buildings [6], lack of detailed urban data, and the substantial computational resources required for large-scale simulations [7, 8, 9].

Given these challenges, there is an increasing demand for models that predict urban solar potential at a large scale for planning purposes, identifying
<figure><img src="image_3.png" /><figcaption>Figure 1: The generic overview for the approaches for predicting rooftop irradiance. (a) The traditional methods where the model classifies the orientation and then, using segmentation with constant slope values, estimates the solar irradiance. (b) Our proposed end-to-end multitask learning architecture, which predicts solar irradiance using the model-predicted orientation and slopes.</figcaption></figure>

optimal areas for solar installations [10]. Traditional methods have primarily focused on data-driven statistical or GIS-based approaches [11, 12, 13], providing preliminary estimates of the rooftop solar potential over large areas based on the total available rooftop area [14, 15, 16]. While useful for preliminary estimates and comparative analyses, they fail to identify the most suitable building surfaces for solar installations.

Recent advancements in data acquisition, such as light detection and ranging (LiDAR), and three-dimensional (3D) modeling [17] have significantly improved solar potential estimation [18, 19, 20], especially through solar cadasters [21]. Unlike earlier approaches, solar cadasters offer highly accurate estimations of the solar potential for each rooftop surface within a
city by considering rooftop orientation, slope, and, in advanced cases, shading
from surrounding structures and vegetation [22, 23, 24]. Despite the positive
outcomes of this model-based approach, the acquisition and processing of
such detailed data are generally expensive and resource-intensive, thus often
unavailable on a national scale. Consequently, major cities are increasingly
adopting solar cadasters, leaving smaller municipalities overlooked.

A relatively new approach uses image recognition and deep learning meth-
ods based on remote sensing (RS) data, such as satellite or aerial images
[25, 26, 27]. These methods are less expensive and rely on widely available
data at the national scale. Neural networks (NN), particularly convolutional
neural networks (CNN), trained on two-dimensional RS imagery, have been
used to identify building footprints [28, 29] and rooftop outlines [30], estimate
building height [31] and rooftop orientation [32, 33, 34], classify rooftop types
[35, 36], and identify installed rooftop photovoltaic (PV) systems [37, 38].
Deep learning methods are currently the only alternative to model-based
approaches for estimating solar potential with high spatial resolution when
2.5D or 3D data is unavailable.

1.1. *Predicting Rooftop Irradiance through Deep Learning*

Several studies have explored deep learning approaches for predicting rooftop irradiance. Typically, these studies employ Convolutional Neural Networks (CNNs) to segment the orientation of rooftop sections and, relying on third-party data or assumptions related to section slopes, estimate rooftop solar potential. Generally, the CNNs are trained on manually labeled datasets. To the best of the authors’ knowledge, there are only two significant datasets for the segmentation of roof section orientation: Deep-
Roof [32] and RID (Roof Information Dataset for Computer Vision-Based Photovoltaic Potential Assessment) [39].

The DeepRoof dataset includes satellite images from six different cities in the United States, comprising 464 scenes with a total of 2274 buildings and 4312 manually labeled roof segments. Lee et al. [32] developed a CNN trained on DeepRoof data to estimate rooftop section orientation and derive the rooftop solar potential, relying on third-party data for slope determination. The solar potential estimations in this study are not validated against real cadaster data but are rated by two experts in the field.

The RID dataset includes 1880 annotated buildings from the German village of Wartenberg. Pueblas et al. [34] introduced an open-source workflow called ETHOS.PASSION, based on a CNN trained on the RID dataset to predict rooftop solar potential. Similar to Lee et al. [32], this study assumes constant slope values based on the optimal tilt for the analyzed geographical area [40]. While the solar potential estimates show good agreement with literature studies, the results are compared in terms of overall solar potential, which may balance out errors in specific buildings.

Li et al. [41] used both the DeepRoof and RID datasets to train SolarNet. Unlike previous studies, SolarNet reduces the number of orientation classes from 18 to 6 (background, flat roofs, and the four cardinal directions). However, similar to Pueblas et al. [34], the rooftop slope is assumed constant (30°). Solar potential estimates from SolarNet are compared to ground reference data, which are based on the ground reference rooftop orientation classes and not from real solar cadaster data.

Apart from the aforementioned studies that rely exclusively on the Deep-
Roof and RID datasets, a recent study by Faltermeier et al. [42] employs about 95000 automatically labeled buildings extracted from CityGML 3D models in Germany to train a CNN for predicting rooftop section orientation. The results indicate that the model achieves a mean Intersection over Union (mIoU) value of 0.63 for rooftop section orientation when trained on this large, automatically labeled dataset and tested on the same area, ensuring no overlap between the training and testing datasets. However, this study does not estimate the rooftop solar potential.

Existing studies have three main limitations: reliance on small, manually labeled datasets, lack of robust validation against real cadaster data, and absence of slope prediction. To address these limitations, we propose a multitask neural network that predicts both roof section orientations and slopes, thereby increasing the accuracy of solar potential estimations.

### 1.1.1. Multitask Learning

The multitask approach enables the model to learn roof orientation and slope prediction simultaneously by defining two output layers in the neural network, each with its own loss function. By minimizing the combined loss during training, the model effectively learns both tasks concurrently.

Multitask learning (MTL) has emerged as a resource-efficient solution in scenarios with limited labeled data, leveraging complementary information from different tasks to enhance model generalization [43, 44, 45]. Detailed surveys of MTL highlight its evolution and applications [46, 47]. Early MTL approaches focused on feature transformation techniques such as margin-based formulations [48], Bayesian methods [49], task clustering [50], and matrix decomposition [51]. With the advent of deep learning, attention shifted
to CNN-based methods where the feature extractor is either soft or hard-
shared among tasks. Prominent techniques include Cross-Stitch Networks
[52], Sluice Networks [53], and attention-based MTL (MTAN) [54].

A critical aspect of MTL is weighting individual task losses. Some meth-
ods use pre-defined weights, while others adopt adaptive strategies based
on task uncertainty [55]. Recent advancements in MTL for dense predic-
tion tasks include dynamically weighing multiple loss functions [55, 56], joint
learning for depth and surface normals with task-specific decoders [54], and
empirical studies on architectural design and loss weighting [57]. Sun et al.
integrated auxiliary tasks to enhance main task performance [58], and Stan-
dley et al. analyzed which tasks benefit from joint learning [59]. Further
research explores semi-supervised learning [60] and adversarial learning to
improve MTL models’ robustness and generalization [61].

1.2. *Research Novelty and Contributions*

In this research, a multitask neural network named SolarMTNet is de-
signed to predict both rooftop orientations and slopes simultaneously. Key
innovations and contributions include:

*   **Multitask learning approach:** The neural network is designed with two output layers, each predicting different tasks (roof orientation and slope), optimizing the learning process through multitask learning.

*   **Large, automatically labeled dataset:** To address the limitations of small, manually labeled datasets, an extensive dataset, comprising up to 280000 scenes, is automatically labeled using open-source Swiss data, significantly enhancing segmentation accuracy.
* **Cross-validation across regions:** Cross-validation is conducted to assess the model's generalization ability and robustness, with testing performed not only within Switzerland but also in different geographic regions, including France and Germany.

* **Robust validation against real data:** The model's predictions are validated against real solar cadaster data, ensuring the reliability and accuracy of the estimated rooftop solar potential.

## 2. Methodology

This section outlines the methodology used in this study, including the data sources (Section 2.1), the architecture of SolarMTNet (Section 2.2), the calculation of rooftop solar potential (Section 2.3), and the performance evaluation metrics (Section 2.4).

### 2.1. Data Sources

The primary data sources required to train and test SolarMTNet are RGB aerial images and the corresponding ground truth labels for rooftop section orientation and slopes, sourced from Switzerland. The input aerial RGB orthophotos are obtained from SwissTopo at a resolution of 10 cm per pixel (SWISSIMAGE 10 cm) [62]. The ground truth labels are derived from vector files containing the rooftop section geometries [63]. Each building in the shapefile is identified by a unique identifier (ID<sub>bld</sub>), and each section of its rooftop is identified by a unique section identifier (ID<sub>sec</sub>). Each rooftop section is associated with an azimuth value (orientation) ranging from -180°
to 180° and a slope value ranging from 0° to 90°. Additionally, the shape-
file attributes each rooftop section with the corresponding yearly cumulative
solar irradiance in kWh/m²/year, as calculated by the Swiss solar cadaster
[64]. This solar irradiance data is later used for validation, as described in
Section 2.4. It is worth noting that to ensure practical applicability for so-
lar installations, sections of rooftops with an area smaller than 10 m² are
excluded from the labeling procedure.

2.1.1. Automatic Labeling

We use python to implement the automatic labeling. For each building,
identified by ID<sub>bld</sub>, a building-centered image of 256×256 pixels is cropped
from the aerial orthophotos. The developed Python workflow generates a
building-centered aerial image and two corresponding masks for each build-
ing: one for orientation and one for slope. For segmentation purposes, con-
tinuous azimuth values (-180° to 180°) are divided into 18 classes: 0 for the
background, 1 to 16 for orientations starting from North at 22.5° intervals
(N, NNE, NE, ENE, E, etc.), and 17 for flat roofs. Slope values (0° to 90°)
are categorized into 8 classes: 0 for the background, 1 for flat roofs, and 2 to
7 for slope ranges (0°-10°, 10°-20°, 20°-30°, 30°-40°, 40°-50°, and greater than
50°). Flat roofs, having a slope of 0°, are assigned an azimuth value of -180°
in the source vector file to distinguish them from north-facing surfaces (0°
azimuth). This is a convention based on the vector file structure used. The
classes are defined in Table 1 in detail.

Rasterization is then used to convert the vector-based rooftop geome-
tries into pixel-based masks. Each pixel within a rooftop section is assigned
orientation and slope class values based on the vector file data.
<table><caption>Table 1: The class definition for slope segmentation and orientation segmentation.</caption><thead><tr><th colspan="2">Orientation Segmentation</th><th colspan="2">Slope Segmentation</th></tr><tr><th>Class</th><th>Name</th><th>Class</th><th>Name</th></tr></thead><tbody><tr><td>0</td><td>Background</td><td>0</td><td>Background</td></tr><tr><td>1</td><td>N</td><td>1</td><td>&gt; 0°&amp; &lt; 10°</td></tr><tr><td>2</td><td>NNE</td><td>2</td><td>&gt;= 10°&amp; &lt; 20°</td></tr><tr><td>3</td><td>NE</td><td>3</td><td>&gt;= 20°&amp; &lt; 30°</td></tr><tr><td>4</td><td>ENE</td><td>4</td><td>&gt;= 30°&amp; &lt; 40°</td></tr><tr><td>5</td><td>E</td><td>5</td><td>&gt;= 40°&amp; &lt; 50°</td></tr><tr><td>6</td><td>ESE</td><td>6</td><td>&gt;= 50°</td></tr><tr><td>7</td><td>SE</td><td>7</td><td>Flat Roof</td></tr><tr><td>8</td><td>SSE</td><td></td><td></td></tr><tr><td>9</td><td>S</td><td></td><td></td></tr><tr><td>10</td><td>SSW</td><td></td><td></td></tr><tr><td>11</td><td>SW</td><td></td><td></td></tr><tr><td>12</td><td>WSW</td><td></td><td></td></tr><tr><td>13</td><td>W</td><td></td><td></td></tr><tr><td>14</td><td>WNW</td><td></td><td></td></tr><tr><td>15</td><td>NW</td><td></td><td></td></tr><tr><td>16</td><td>NNW</td><td></td><td></td></tr><tr><td>17</td><td>Flat Roof</td><td></td><td></td></tr></tbody></table>

The automatic labeling process is illustrated in Figure 2. This results in a comprehensive dataset of building-centered image crops and corresponding orientation and slope masks, which serve as input-output pairs for training
and testing SolarMTNet.

<figure><img src="image_4.png" /><figcaption>Figure 2: Overview of the automatic labeling process, including cropping building-centered images from aerial orthophotos and generating corresponding orientation and slope masks for each rooftop section.</figcaption></figure>

Although a quantitative analysis of the accuracy of the automatically generated labels could not be performed due to the lack of manual labels, a qualitative review reveals some instances of mislabeling. These errors are mainly due to two factors: outdated data, where certain roofs are misidentified because they no longer exist or have been replaced by new constructions, and misalignment between aerial images and the vector file, resulting from slight discrepancies between the two source datasets. Despite these issues, the impact of such mislabeling is considered limited. The aerial images were
first acquired and updated every three years, with the latest data from 2021 at the time of writing, and the vector file was updated in early 2023, suggesting overall sufficient accuracy. However, this misalignment, particularly at the edges, can negatively impact performance metrics such as the Intersection over Union (IoU).

### 2.1.2. Data Split Between Training and Testing

To avoid bias and ensure robust model evaluation, our training data comprises of images from the cantons of Geneva and Zurich comprising of 74266 and 276815 buildings, respectively, whereas the testing is conducted separately on the canton of Vaud. The choice of Geneva and Zurich is due to their status as major urban areas in Switzerland with significant morphological differences in roof geometry and texture. The testing data is kept geographically separate to prevent any overlap between training and testing datasets. When cropping images around a building, the image often totally or partially includes surrounding buildings. A random split, commonly used in previous studies, could result in parts of the same building appearing in both training and testing sets, introducing positive bias in performance metrics. To address this, Faltermeier et al. [33] proposed a solution based on selecting circular areas within a city to ensure all buildings within these circles are used exclusively for testing. However, this approach can still introduce bias based on the placement of testing areas. In this study, this limitation is overcome by performing cross-validation in a separate geographical area.

To assess the impact of training data size and nature on model performance. We tested on the four different dataset configurations defined as below:
1. **Geneva (G):** The model is trained on the entire canton of Geneva, comprising 74266 scenes.

2. **Zurich (Z):** The model is trained on the entire canton of Zurich, comprising 276815 scenes, to evaluate the impact of a larger training dataset.

3. **Zurich Reduced (Zreduced):** The model is trained on a reduced dataset from Zurich, consisting of 74266 scenes, equal to the number of scenes in the Geneva dataset. This configuration evaluates the impact of changing the geographical training dataset while keeping the training size constant.

4. **Geneva + Zurich (G + Zreduced):** The model is trained on a combined dataset from both Geneva and Zurich, with equal proportions from each canton, totaling 148532 scenes, i.e., 74266 scenes from Geneva and 74266 scenes from Zurich.

In all configurations, the testing dataset is composed of scenes from the canton of Vaud, amounting to 20% of the training data size. To further evaluate the robustness and efficiency of the model, the configuration that performs best in terms of segmentation prediction accuracy is also tested with reduced training sample sizes, specifically using 50%, 20%, and 10% of the total training samples. This approach allows for a thorough comparison across different training scenarios, providing insights into the generalization ability of the model and the effect of varying training data volumes on performance.
## 2.2. Model Architecture

This section presents the architecture of SolarMTNet, an end-to-end multitask network designed to estimate rooftop solar potential. An overview of the network is depicted in Figure 3. Following this, the network training and optimization procedures are discussed, along with the inference protocol in Section 2.2.1.

**Shared feature encoder:** The feature encoder $\mathcal{F}_{enc}$ of SolarMTNet is implemented using a hard sharing-based mechanism with ResNet152 [65] serving as the backbone architecture. Inspired by UNet [66], the encoder consists of four blocks, each parameterized by $\theta_{shared}$, which are compact feed-forward CNN models composed exclusively of convolutional layers. In standard CNN, the initial convolution layers capture low-level features, while higher-level abstractions are captured as the network deepens. Effectively integrating this hierarchical feature structure is considered crucial for dense prediction tasks. Additionally, extensive skip connections are incorporated to address issues such as vanishing gradients by providing multiple paths for gradient flow during training. Training the encoder involves optimizing $\theta_{shared}$ to minimize the overall multitask loss function, ensuring that the model learns the most relevant features for the given tasks.

**Task-specific decoders:** The architecture incorporates $T$ decoder networks, each symmetrically structured to align with the shared encoder $\mathcal{F}_{enc}$. As depicted in Figure 3, these decoders receive input from both the preceding decoder blocks and the corresponding encoder blocks through the concatenation of their feature maps. Task-specific decoder modules, denoted as $\{\mathcal{F}_{dec}^t\}_{t=1}^T$, are parameterized as $\{\theta_{spec}^t\}_{t=1}^T$. For clarity, orientation seg-
<figure><img src="image_5.png" /><figcaption>Figure 3: The overview of proposed SolarMTNet, where we provide optical images as the inputs and perform classification on the orientation and slopes for the prediction of solar potential on the rooftops.</figcaption></figure>
mentation is assigned to $\mathcal{F}_{dec}^1$ and slope segmentation to $\mathcal{F}_{dec}^2$. The multitask setup in the proposed SolarMTNet is formalized in Equation 1, where $\hat{x}$ and $\hat{y}$ denote the extracted feature for the given input image $x$ and predicted label space, respectively.

$$ \hat{x} = \mathcal{F}_{enc}(x), \text{ and } \hat{y}_t = \mathcal{F}_{dec}^t(\hat{x}) \quad (1) $$

### 2.2.1. Network optimization

**Multi-class focal loss ($\mathcal{L}_{Focal}$):** The multi-class focal loss is used to optimize the model for orientation segmentation, as defined in Equation 2.

$$ \mathcal{L}_{Focal}^{orient} = - \sum_{i=1}^{C^{orient}} \alpha_i (1 - p_i^{orient})^{\gamma} y_i^{orient} \log(p_i^{orient}) \quad (2) $$

where $p_i^{orient} = p^{orient}(y^{orient} = i | x)$, $y_i^{orient}$, $\alpha_t$, and $C^{orient}$ represents the predicted probability, ground truth label, weighting factor for $t^{th}$ class, and the number of classes for the $i^{th}$ sample, for orientation segmentation, respectively.

Similarly, the loss function for slope segmentation is defined in Equation 3 where $C^{slope}$ is the number of classes in slope segmentation. Here, $p_i^{slope} = p^{slope}(y^{slope} = i | x)$ and $y_i^{slope}$ are the predicted class probability and ground truth for slope segmentation for the $i^{th}$ sample, respectively.

$$ \mathcal{L}_{Focal}^{slope} = - \sum_{i=1}^{C^{slope}} \alpha_i (1 - p_i^{slope})^{\gamma} y_i^{slope} \log(p_i^{slope}) \quad (3) $$

The total loss function for the multitask learning-based SolarMTNet is defined in Equation 4, where $\lambda_1$ and $\lambda_2$ are the hyperparameters.

$$ \mathcal{L}_{Total} = \min_{\theta_{shared}, \{\theta_{spec}^t\}_{t=1,2}} \lambda_1 \mathcal{L}_{Focal}^{orient} + \lambda_2 \mathcal{L}_{Focal}^{slope} \quad (4) $$
By minimizing this total loss, the model optimizes the shared and task-
specific parameters to accurately predict both orientation and slope for rooftop
segments.

2.2.2. *Training protocol*

The proposed SolarMTNet is optimized using the Adam optimizer [67], with a learning rate set to $10^{-5}$. A reduce-on-plateau strategy is employed, reducing the learning rate by a factor of 0.1 when a plateau in validation loss is detected. The network is trained for 50 epochs with a batch size of 50. To mitigate overfitting, a dropout rate of 0.1 is applied during training [68]. All hyperparameters are manually fine-tuned and experiments are conducted on a single NVIDIA A5000 GPU with 24 GB of memory, utilizing the PyTorch framework for implementation [69].

2.3. *Calculation of Solar Irradiance*

The yearly cumulative incident solar radiation in kWh/m²/year is calculated using the predicted orientation and slope classes by SolarMTNet. The segmentation class values, which have been previously discretized, are transformed back to real values for calculations. For slope classes, excluding flat roofs (where the slope is set to 0°), the middle value of the class is selected. For instance, if the predicted slope range is 10°-20°, then 15° is used. The incident solar radiation on a tilted rooftop surface is calculated using a Python script based on PVLib library [70]. For each building, direct normal irradiance (DNI), diffuse horizontal irradiance (DHI), and global horizontal irradiance (GHI) are retrieved from SARAH2 satellite data, considering its latitude and longitude. The total in-plane irradiance on the tilted rooftop
surfaces $I_{\text{tilt}}$ is given by Eq. 5:

$$I_{\text{tilt}} = I_{b,\text{tilt}} + I_{d,\text{tilt}} + I_{r,\text{tilt}} \quad (5)$$

where $I_{b,\text{tilt}}$, $I_{d,\text{tilt}}$, and $I_{r,\text{tilt}}$ are the beam, diffuse, and ground-reflected irradiance on the tilted surface, respectively. The beam irradiance $I_{b,\text{tilt}}$ is calculated as in Eq. 6:

$$I_{b,\text{tilt}} = \text{DNI} \cdot \cos(\theta) \quad (6)$$

where $\theta$ is the angle of incidence on the tilted surface. The latter is calculated from Eq. 7:

$$\cos(\theta) = \cos(\theta_z) \cos(\beta) + \sin(\theta_z) \sin(\beta) \cos(\gamma) \quad (7)$$

where $\theta_z$ is the solar zenith angle, $\beta$ is the tilt angle of the surface (slope angle), and $\gamma$ is the surface azimuth angle (orientation angle).

For the calculation of diffuse radiation, the Perez sky model [71] is used. This model is chosen to ensure consistency with the Swiss solar cadaster model employed for validation purposes. $I_{d,\text{tilt}}$ is thus expressed as in Eq. 8:

$$I_{d,\text{tilt}} = \text{DHI} \left( F_1 \max(0, \cos(\theta)) + F_2 \left( \frac{1 + \cos(\beta)}{2} \right) + F_3 \left( \frac{1 - \cos(\beta)}{2} \right) \right) \quad (8)$$

where $F_1$, $F_2$, $F_3$ are the Perez coefficients that depend on the sky condition, $\theta$ is the angle of incidence, and $\beta$ is the tilt angle of the surface.

The ground-reflected radiation $I_{r,\text{tilt}}$ on the tilted surface is calculated based on Eq. 9:
$$I_{r, \text{tilt}} = \text{GHI} \cdot \rho \cdot \left( \frac{1 - \cos(\beta)}{2} \right) \qquad (9)$$

where $\rho$ is the ground reflectance (albedo), which is set by default to 0.20, and $\beta$ is the tilt angle of the surface.

## 2.4. Performance Metrics and Validation Towards Solar Cadaster Data

To evaluate the accuracy of the orientation and slope segmentation tasks, the mean Intersection over Union (mIoU) and the Overall Accuracy (OA) are utilized.

The mean Intersection over Union (mIoU) is a standard metric for segmentation tasks, defined as the average of the Intersection over Union (IoU) across all classes. The IoU for a single class $j$ is given by Eq. 10:

$$\text{IoU}_j = \frac{TP_j}{TP_j + FP_j + FN_j} \qquad (10)$$

where $TP_j$ is the number of true positive pixels, $FP_j$ is the number of false positive pixels, and $FN_j$ is the number of false negative pixels for class $j$. The mIoU is then calculated as in Eq. 11:

$$\text{mIoU} = \frac{1}{C} \sum_{j=1}^{C} \text{IoU}_j \qquad (11)$$

where $C$ is the total number of classes.

Overall Accuracy (OA) is another metric used to assess segmentation performance, defined as the ratio of correctly classified pixels to the total number of pixels. It is given by Eq. 12:

$$\text{OA} = \frac{\sum_{j=1}^{C} TP_j}{\sum_{j=1}^{C} (TP_j + FP_j + FN_j + TN_j)} \qquad (12)$$
where $TN_j$ is the number of true negative pixels for class j. It is important to note that the mIoU can be calculated both at the dataset level and at the image level. At the dataset level, IoU is computed for each class across the entire dataset and the average of all class IoU values is taken. At the image level, IoU is first computed for each class within the scene, and then the average of all class IoU values for that scene is taken.

To evaluate the accuracy of solar irradiance predictions, the yearly cumulative incident solar radiation in kWh/m²/year is first calculated for each roof section. For the SolarMTNet predictions, the rooftop section irradiance values ($I_{NN,k}$) are calculated as described in Section 2.3. In contrast, the rooftop section ground truth irradiance values ($I_{GT,k}$) are obtained from the Swiss solar cadaster.

For each scene (image), the area-weighted average yearly cumulative incident solar radiation is calculated as $\bar{I}_{NN}$ for SolarMTNet predictions and $\bar{I}_{GT}$ for cadaster ground truth values, using Eq. 13 and Eq. 14, respectively.

$$ \bar{I}_{NN} = \frac{\sum_{k=1}^{N} I_{NN,k} \times A_k}{\sum_{k=1}^{N} A_k} \qquad (13) $$

$$ \bar{I}_{GT} = \frac{\sum_{k=1}^{N} I_{GT,k} \times A_k}{\sum_{k=1}^{N} A_k} \qquad (14) $$

where $I_{NN,k}$ and $I_{GT,k}$ are the predicted and ground truth yearly cumulative incident solar radiation values for roof segment k, respectively. $A_k$ is the area of roof segment k, and N is the total number of roof segments in the scene.

Finally, to evaluate the accuracy of SolarMTNet irradiance predictions, the absolute percentage difference ($\Delta$%) between the area-weighted average
yearly cumulative incident solar radiation values of the predictions and the ground truth for each scene is calculated using the formula:

$$ \Delta\% = \left| \frac{\bar{I}_{NN} - \bar{I}_{GT}}{\bar{I}_{GT}} \right| \times 100 \qquad (15) $$

This metric provides a weighted average absolute percentage difference, reflecting the discrepancy between predicted and actual irradiance values while considering the relative importance of the area of each roof section. Unlike the mIoU, which is computed at both the dataset level and the image level, the error in irradiance predictions is calculated at the scene level and then averaged across the entire testing dataset. This approach is justified because the model is designed to assess solar irradiance over entire roof sections or buildings rather than individual pixels. By calculating the error at the scene level, it is possible to isolate scenes where errors are higher, such as those with significant shading, and provide insights into the limitations of the model.

## 3. Results and Discussion

In this section, the results related to SolarMTNet performance are presented. In Section 3.1, the segmentation performance of SolarMTNet is compared across different dataset configurations, sample sizes, and backbone architectures, isolating the impact of these changes on performance metrics. In Section 3.2, the Intersection Over Union (IoU) and the confusion matrices are analyzed for each segmentation class, showing the variation of the prediction accuracy among classes. Section 3.3 provides some example predictions and discusses the performance of SolarMTNet in segmenting different rooftop ge-
ometries. Section 3.4 presents the prediction of rooftop solar potential using
the segmented orientations and slopes, and Section 3.5 compares the results
with those from literature studies.

3.1. *Segmentation Performance Comparison Across Dataset Configurations, Varying Sample Sizes, and Backbone Architectures*

This section presents a comprehensive analysis of SolarMTNet segmen-
tation performance, focusing on mean Intersection over Union (mIoU) and
Overall Accuracy (OA) at the dataset level. The analysis covers different
dataset configurations, varying sample sizes, and backbone architectures.

**Ablation on varying dataset configurations:** The performance of the SolarMTNet model is evaluated using four distinct dataset configurations to assess the impact of training data size and diversity. As described in Section 2.1.2, the configurations include training the model on the entire canton of Geneva (74266 scenes), a reduced Zurich dataset with the same number of scenes as Geneva (74266), the full Zurich dataset (276815 scenes), and a combined dataset from Geneva and Zurich with equal proportions (148532 scenes). In all configurations, the testing dataset comprises scenes from the canton of Vaud, amounting to 20% of the training data size.

Table 2 compares the performance across these configurations. The Geneva dataset (G) achieves an orientation overall accuracy (OA<sub>o</sub>) of 0.93, a slope overall accuracy (OA<sub>s</sub>) of 0.87, and mean Intersection Over Union (mIoU) values of 0.63 (orientation) and 0.36 (slope). The reduced Zurich dataset (Z<sub>reduced</sub>), with the same number of training samples, improves slope performance, with an 8.3% increase in mIoUs to 0.39. This improvement is attributed to Zurich's higher slope diversity, particularly for higher slope val-
ues, which are rare in Geneva, thus enhancing the prediction of those classes. Using the full Zurich dataset (Z) with 276815 training samples (about four times higher than the previous configurations) further enhances performance, achieving OA<sub>o</sub> of 0.93 and OA<sub>s</sub> of 0.89, with mIoU values of 0.66 (orientation) and 0.40 (slope). This represents a 4.8% increase in mIoU<sub>o</sub> and an 11.1% increase in mIoU<sub>s</sub> compared to the Geneva dataset. However, increasing the training samples by four times also significantly raises computational time. The combined dataset (G+Z), with twice the number of training samples compared to G and Z<sub>reduced</sub>, yields the best results: OA<sub>o</sub> of 0.94, OA<sub>s</sub> of 0.90, and mIoU values of 0.67 (orientation) and 0.40 (slope). This configuration shows a 6.3% improvement in mIoU<sub>o</sub> and an 11.1% improvement in mIoU<sub>s</sub> over the Geneva dataset alone.

<table><caption>Table 2: Performance comparison of the four different dataset configurations. Best results are highlighted in **bold**.</caption><thead><tr><th rowspan="2">Dataset<br>Config.</th><th rowspan="2">Training<br>Samples</th><th rowspan="2">Testing<br>Samples</th><th colspan="4">Performance metrics</th></tr><tr><th>OA<sub>o</sub></th><th>OA<sub>s</sub></th><th>mIoU<sub>o</sub></th><th>mIoU<sub>s</sub></th></tr></thead><tbody><tr><td>G</td><td>74266</td><td>14853</td><td>0.93</td><td>0.87</td><td>0.63</td><td>0.36</td></tr><tr><td>Z</td><td>276815</td><td>55363</td><td>0.93</td><td>0.89</td><td>0.66</td><td>0.40</td></tr><tr><td>Z<sub>reduced</sub></td><td>74266</td><td>14853</td><td>0.93</td><td>0.88</td><td>0.64</td><td>0.39</td></tr><tr><td>G+Z<sub>reduced</sub></td><td>148532</td><td>29706</td><td><strong>0.94</strong></td><td><strong>0.90</strong></td><td><strong>0.67</strong></td><td><strong>0.40</strong></td></tr></tbody></table>

**Ablation on dataset size:** To assess the impact of training sample size, an ablation study is conducted using the best configuration (G+Z) by varying the number of training samples. Table 3 presents the results. When using 50% of the training samples (74266), the model achieves an orientation overall
accuracy (OA<sub>o</sub>) of 0.93, a slope overall accuracy (OA<sub>s</sub>) of 0.88, and mean Intersection over Union (mIoU) values of 0.65 (orientation) and 0.39 (slope). Compared to the full G+Z dataset, which achieved mIoU values of 0.67 (orientation) and 0.40 (slope), this represents a 3.0% decrease in mIoU<sub>o</sub> and a 2.5% decrease in mIoU<sub>s</sub>. Reducing the training samples to 20% (29706) results in an OA<sub>o</sub> of 0.92, OA<sub>s</sub> of 0.88, and mIoU values of 0.62 (orientation) and 0.37 (slope), representing a 7.5% decrease in mIoU<sub>o</sub> and a 7.5% decrease in mIoU<sub>s</sub> compared to the full G+Z dataset. With 10% of the training samples (14853), the model achieves an OA<sub>o</sub> of 0.92, OA<sub>s</sub> of 0.87, and mIoU values of 0.59 (orientation) and 0.36 (slope), showing an 11.9% decrease in mIoU<sub>o</sub> and a 10.0% decrease in mIoU<sub>s</sub> compared to the full G+Z dataset.

<table><caption>Table 3: Ablation of our proposed SolarMTNet on varying the number of training samples. The best configuration (G+Z) is chosen.</caption><thead><tr><th rowspan="2">Dataset<br>Size</th><th rowspan="2">Training<br>Samples</th><th rowspan="2">Testing<br>Samples</th><th colspan="4">Performance metrics</th></tr><tr><th>OA<sub>o</sub></th><th>OA<sub>s</sub></th><th>mIoU<sub>o</sub></th><th>mIoU<sub>s</sub></th></tr></thead><tbody><tr><td>10%</td><td>14853</td><td>2970</td><td>0.92</td><td>0.87</td><td>0.59</td><td>0.36</td></tr><tr><td>20%</td><td>29706</td><td>5941</td><td>0.92</td><td>0.88</td><td>0.62</td><td>0.37</td></tr><tr><td>50%</td><td>74266</td><td>14853</td><td>0.93</td><td>0.88</td><td>0.65</td><td>0.39</td></tr><tr><td>Full</td><td>148532</td><td>29706</td><td><strong>0.94</strong></td><td><strong>0.90</strong></td><td><strong>0.67</strong></td><td><strong>0.40</strong></td></tr></tbody></table>

**Ablation with different backbones:** The performance of SolarMTNet using different backbone architectures is shown in Table 4. With ResNet34, the model achieves an orientation overall accuracy (OA<sub>o</sub>) of 0.91, a slope overall accuracy (OA<sub>s</sub>) of 0.87, and mean Intersection over Union (mIoU) values of 0.60 (orientation) and 0.36 (slope). Using ResNet50 improves performance
slightly, achieving OA<sub>o</sub> of 0.92, OA<sub>s</sub> of 0.88, and mIoU values of 0.63 (orientation) and 0.38 (slope), representing a 5.0% increase in mIoU<sub>o</sub> and a 5.6% increase in mIoU<sub>s</sub> compared to ResNet34. The best performance is achieved with ResNet152, which yields OA<sub>o</sub> of 0.94, OA<sub>s</sub> of 0.90, and mIoU values of 0.67 (orientation) and 0.40 (slope), indicating an 11.7% increase in mIoU<sub>o</sub> and an 11.1% increase in mIoU<sub>s</sub> compared to ResNet34.

<table><caption>Table 4: Ablation of our proposed SolarMTNet with different backbones. The best configuration (G+Z) is chosen. Best results are highlighted in **bold**.</caption><thead><tr><th rowspan="2">Backbone</th><th colspan="4">Performance metrics</th></tr><tr><th>OA<sub>o</sub></th><th>OA<sub>s</sub></th><th>mIoU<sub>o</sub></th><th>mIoU<sub>s</sub></th></tr></thead><tbody><tr><td>ResNet34</td><td>0.91</td><td>0.87</td><td>0.60</td><td>0.36</td></tr><tr><td>ResNet50</td><td>0.92</td><td>0.88</td><td>0.63</td><td>0.38</td></tr><tr><td>ResNet152</td><td><strong>0.94</strong></td><td><strong>0.90</strong></td><td><strong>0.67</strong></td><td><strong>0.40</strong></td></tr></tbody></table>

In summary, increasing training samples improves model performance, but data diversity has a greater impact. The combined dataset (G+Z) achieves the best results, with a 6.3% increase in mIoU<sub>o</sub> and an 11.1% increase in mIoU<sub>s</sub> over the Geneva dataset. While the model maintains reasonable accuracy with a 50% reduction in training data (only a 3.0% decrease in mIoU<sub>o</sub> and a 2.5% decrease in mIoU<sub>s</sub>), larger datasets enhance performance. Deeper backbone architectures, such as ResNet152, further improve accuracy, with a 11.7% increase in mIoU<sub>o</sub> and an 11.1% increase in mIoU<sub>s</sub> compared to ResNet34.
## 3.2. Intersection over Union per Class and Confusion Matrices

Based on the above considerations (Section 3.1), the following analyses are
performed based on the full G+Z dataset (148532 samples) and ResNet152
as backbone.

After analyzing SolarMTNet performance under various conditions, this
section discusses the performance for each orientation and slope class. In par-
ticular, the normalized confusion matrices and the Intersection over Union
(IoU) for each orientation and slope class are examined. The normalized con-
fusion matrices are calculated by dividing the number of correct predictions
for each class by the total number of true instances for that class. Figure 4
presents the confusion matrices for orientations (A) and slopes (B). For ori-
entations (A), the “Background” class shows the highest accuracy (98.3%),
indicating reliable identification of non-rooftop areas. Misclassifications in
the “Background” class are minimal and primarily occur at the rooftop edges.
Other non-flat classes demonstrate relatively high values, ranging from 87.2%
to 89.0%. In these cases, however, there are notable misclassifications, par-
ticularly among adjacent classes, such as the “S” class being confused with
the “SSW” class and the “SW” class with the “WSW” class. Additionally,
misclassifications also occur with the opposite class, “N” in this example.
These errors are likely due to the phenomenon where similar-looking roof
sections in aerial images are confused due to their proximity or the 180°
ambiguity in azimuth predictions, where the model predicts the opposite
direction due to similar visual cues. Interestingly, the “Flat Roof” class,
despite having a higher value (91.2%) compared to non-flat classes, shows
the lowest IoU of 0.53. This discrepancy indicates a significant number of
false positive predictions, where non-flat roofs are incorrectly labeled as flat. This suggests that while the model can identify flat roofs, it struggles with distinguishing them from other classes, leading to lower precision. Regarding the other IoU values, the “Background” class again has the highest IoU at 0.96, whereas for the other classes, IoU values are generally lower, ranging from 0.62 to 0.70. These misclassifications arise from incorrect predictions as previously described, but, to a lesser extent, they could also be attributed to edge effects caused by slight misalignments between the aerial images and the ground truth labels, as discussed in Section 2.1.1.

Concerning the confusion matrix of slopes (B), the “Background” class again shows the highest value (98.2%), similar to orientations. The “Flat Roof” class has again a high value of 91.3%, but its IoU is lower at 0.52, reflecting a high number of false positives. For non-flat slope classes, the values are lower, and misclassifications are more frequent compared to orientations. Misclassifications among slope classes mainly occur between adjacent classes, such as between “10°-20°” and “20°-30°”. This adjacency-based misclassification is expected and should have a minimal impact on solar potential estimation, as slight variations in slope do not drastically change solar radiation values. Classes with steeper slopes, such as “40°-50°” and “>50°”, have the lowest IoU values (0.21 and 0.06, respectively), likely due to their lower frequency in the dataset. These lower values highlight the difficulty of the model in accurately predicting less common, steeper slopes.
<figure><img src="image_6.png" /><figcaption>Figure 4: Normalized confusion matrices of orientation (A) and slope (B) classes ("Bg" stands for "Background"). Rows are ground truth, columns are predictions. Last column shows IoU of each class.</figcaption></figure>
### 3.3. Rooftop Segmentation Examples

Figure 5 shows the predictions of SolarMTNet for orientations and slopes across different scenes. The mean Intersection over Union (mIoU) above each prediction represents the image level mIoU of the scene, calculated by first computing the IoU for each class and then averaging the IoU values of all classes present in the image. Classes that are absent and correctly predicted as absent are excluded from the average, following [42].

The samples include various roof types: pyramid roofs (a, b), gable roofs (c, d), flat roofs (e), and complex dense urban area rooftop configurations (f, g). Observing scenes from (a) to (e), the predictions for both orientations and slopes are highly effective in single-building cases (a and c) and multiple-building scenarios (b and d). However, some misclassifications and low precision predictions occur in specific situations. For instance, in scene (a), the roof superstructures are not seen by the model. Similarly, in scene (c), partially shaded roof sections result in incorrect predictions for both orientations and slopes, highlighting the difficulty of the model in dealing with varying lighting conditions. In scenes (f) and (g), representing complex and dense urban areas, the predictions are less accurate, particularly for slopes. The intricacy of the roof structures and the close proximity of buildings contribute to the challenges in accurately segmenting these areas. The model struggles to differentiate between close rooftops and to accurately predict the slopes, resulting in lower mIoU values. As previously observed in Section 3.2, the “Flat Roof” class, despite having relatively high accuracy, also demonstrates challenges in dense urban areas (g). The predictions for flat roofs often show significant false positives, where non-flat roofs are in-
correctly labeled as flat. However, these false positives generally occur in rooftop sections with slopes less than 10°, which is understandable given the minimal slope difference that makes distinguishing between slightly inclined and truly flat roofs challenging.
<figure><img src="image_7.png" /><figcaption>Figure 5: Example orientation and slope predictions of SolarMTNet for different geographical areas and resolutions. The subscripts “o” and “s” stand for “orientation” and “slope”, respectively. The labels for orientations and slopes are shown on the right.</figcaption></figure>
### 3.3.1. Rooftop Segmentation Examples in Varying Geographical Areas and Resolutions

In this section, the performance of SolarMTNet is qualitatively assessed in different geographical areas outside Switzerland (specifically, in France and Germany) and with varying resolutions of input aerial images. The goal is to evaluate its ability to generalize across diverse input images and different rooftop geometries and textures. Three distinct testing datasets are utilized for this purpose:

1. **Lyon, France**: Aerial images sourced from [72] with a resolution of 10 cm per pixel, matching the resolution of the training data.

2. **Grenoble, France**: Aerial images sourced from IGN (Institut National de l'Information Géographique et Forestière) [73] with a resolution of 20 cm per pixel.

3. **Wartenberg, Germany**: Aerial images sourced from the RID dataset [39] with a resolution of about 15 cm per pixel.

Among these datasets, ground truth labels for rooftop section orientation are only available for the RID dataset [39]. Therefore, the evaluation in Lyon and Grenoble, and for slopes across all datasets, remains qualitative.

Figure 6 presents the qualitative results of SolarMTNet predictions in Lyon (a,b), Grenoble (c,d), and Wartenberg (e,f). For each location, two scenes comprising multiple buildings are selected to showcase a variety of rooftop types, colors, and textures. Due to space limitations, a limited number of examples are shown here. However, a larger set of non-cherry-picked examples is provided in Appendix A for a more comprehensive evaluation.
In Lyon, where the image resolution is highest at 10 cm per pixel, the model performs best. Both gable (a), pyramid, and flat (b) roofs are accurately recognized. The slope segmentation also demonstrates good results, indicating the ability of SolarMTNet to generalize effectively to unseen conditions, making it suitable for practical applications.

In Grenoble, where the image resolution is lower at 20 cm per pixel, the performance decreases, particularly for gable roofs (d), which are generally less precise than the predictions for pyramid roofs (c). This suggests that the lower resolution impacts the ability of SolarMTNet to capture finer details necessary for accurate segmentation, which may not be sufficient for practical applications.

In Wartenberg, where the image resolution is 15 cm per pixel, slightly higher than Grenoble, the model performs better. This improvement is likely due to the higher resolution, which provides more detailed input data, as well as differences in image brightness, contrast, and sharpness. Notably, for Wartenberg, where ground truth labels for orientations are available, the mean Intersection over Union (mIoU) for the orientation segmentation task is 0.52. This performance slightly exceeds the results obtained by Faltermeier et al. [42], who reported a mIoU of 0.50 after training on approximately 90000 scenes in Germany and testing on Wartenberg.

Although only a few images are shown for each location, an analysis of the entire datasets reveals that slope predictions are slightly biased by rooftop colors. The model tends to predict steeper slopes for darker roofs. This bias may stem from the training dataset, where darker roofs are more prevalent in Zurich compared to Geneva, where roof slopes are generally higher.
<figure><img src="image_8.png" /><figcaption>Figure 6: Example orientation and slope predictions of SolarMTNet for different geographical areas and resolutions. The subscripts “o” and “s” stand for “orientation” and “slope”, respectively. The labels for orientations and slopes are shown on the right.</figcaption></figure>
### 3.4. Prediction of Rooftop Solar Potential

This section evaluates the performance of SolarMTNet in predicting solar irradiance. Figure 7 presents six different scenes, comparing the area-weighted average yearly cumulative incident solar radiation calculated by the Swiss solar cadaster $\bar{I}_{GT}$, which accounts for shading by surrounding buildings, superstructures, and vegetation, with the predictions from SolarMTNet $\bar{I}_{NN}$, based on the segmentation of rooftop orientation and slope. The leftmost column displays the input aerial images, the middle column shows the ground truth irradiance values from the Swiss solar cadaster, and the rightmost column presents the solar irradiance predicted by SolarMTNet. The color gradient represents the yearly cumulative incident solar radiation in kWh/m²/year for each rooftop section, with darker shades indicating higher values. Scenes (a) to (c) illustrate cases with good prediction accuracy. These scenes include multiple buildings with minor height deviations. The absolute percentage difference (Δ%) between the predicted and ground-truth values is less than 4% in these cases. Generally, the predicted irradiance is lower than the cadaster values, primarily due to shading effects not accounted for by SolarMTNet. In scenes (a) and (c), some lower rooftop surfaces, likely shaded by taller structures, show higher predicted irradiance values. Scene (b) shows slight deviations around the edges, likely due to small rooftop structures not fully captured by the model. Scenes (d) to (f) highlight SolarMTNet limitations concerning shading. Scene (d) represents a medium-density area similar to those in scenes (a) to (c). Despite good segmentation performance, the predictions are less accurate here due to greater deviations in building heights producing shading. Scene (e) depicts a typical high-density urban
area, where errors can reach up to 15% due to the intricate rooftop geometry, which negatively impacts both segmentation accuracy and irradiance estimation. Scene (f) represents a rural area where the isolated building is significantly shaded by vegetation, resulting in errors up to 60%.

<figure><img src="image_9.png" /><figcaption>Figure 7: Comparison of the area-weighted average yearly cumulative incident solar radiation (kWh/m²/year) for different scenes: calculated by the Swiss solar cadaster $\overline{I}_{GT}$ and SolarMTNet $\overline{I}_{NN}$. Δ% represents the absolute percentage difference between the two values.</figcaption></figure>

Despite some inaccuracies, SolarMTNet demonstrates robust performance when considering the entire testing dataset of Canton Vaud, comprising 29706 scenes. The average Δ% across this dataset is 5.3%. This high level of accuracy can be partly attributed to the nature of the testing areas, which predominantly consist of moderately dense regions rather than highly ur-
banized zones. This urban morphological features reduce the complexity of
shading issues and intricate rooftop geometries, resulting in more precise pre-
dictions. These findings indicate that SolarMTNet, despite its limitations in
handling shading and complex rooftop structures, provides reasonably ac-
curate predictions that closely align with those obtained from model-based
solar cadasters.

3.5. Discussion and Evaluation Against Existing Literature

The comparison with previous literature studies, such as those by Lee et
al. [32] and Pueblas et al. [34], which report mIoU values for orientation seg-
mentation up to 0.84, is generally limited. As highlighted by Faltermeier et al.
[42], these studies often use much smaller datasets (RID [39] and DeepRoof
[32]), employ different methods for calculating IoU, and often do not account
for the spatial overlap between training and testing datasets. Neglecting the
spatial overlap can lead to significantly higher IoU values. In our study, the
mIoU for orientation segmentation can reach 0.76 when spatial overlap is
not considered, compared to 0.67 when using a separate test dataset, high-
lighting the importance of this consideration. Furthermore, there are no
previous studies that include slope segmentation, making our slope segmen-
tation results not directly comparable to existing literature. Most literature
on orientation segmentation has been trained and tested on smaller, manu-
ally labeled datasets like RID and DeepRoof. For instance, Li et al. [41] with
SolarNet reported mIoU values of 0.68 on the RID dataset and 0.60 on the
DeepRoof dataset. These values are in line with our mIoU of 0.67, but they
were achieved with much smaller datasets. In the context of rooftop solar
potential evaluation, SolarNet [41] reported a percentage root mean square
error (%RMSE) of 1% between the predicted and ground truth solar irradiance values. However, this comparison is limited because their ground truth solar potential was estimated based on ground reference rooftop geometry classes with constant slope values, not through detailed solar cadaster data including shading as in our study. This approach essentially limits the accuracy of solar potential predictions to the accuracy of orientation segmentation. To illustrate the impact of integrating slope segmentation, we tested our setup with constant slope values (excluding flat roofs where slope values were maintained at 0°). When considering all rooftop slopes inclined by 30°—the mean slope value between Geneva (27.5° on average) and Zurich (32.5° on average)—the average Δ% across the testing dataset increased from 5.3% to 8.4%. This demonstrates that integrating slope segmentation improves solar potential prediction accuracy by 37%. The only study using a large automatically labeled dataset similar to ours is by Faltermeier et al. [42], which trained on about 95000 automatically labeled buildings and achieved an mIoU of 0.63 on a testing dataset from the same geographical area and 0.50 on the RID dataset (Wartenberg). Our SolarMTNet achieves similar results, with an mIoU of 0.67 on the testing dataset and 0.52 on the RID dataset. However, our approach is not limited to orientation segmentation and it offers significant improvements. The multitask learning framework of SolarMTNet not only predicts two variables (orientation and slope) but also enhances orientation segmentation accuracy by 4.5%. Running the model solely for orientation segmentation without the multitask setup results in a decrease in mIoU from 0.67 to 0.64, demonstrating the effectiveness of the multitask approach in improving the performance of both tasks. In
summary, our approach with SolarMTNet offers substantial improvements
over previous methods by leveraging a large, automatically labeled dataset,
incorporating slope segmentation through a multitask learning framework,
and directly comparing the accuracy of solar potential predictions with solar
cadaster data derived from detailed model-based calculations.

4. Conclusions

This study presents SolarMTNet, a multitask dense-prediction network that predicts rooftop solar potential using aerial images by segmenting rooftop section orientation and slope simultaneously. The model was trained on a large automatically labeled dataset, created from open-source geospatial and aerial data from Switzerland. Various dataset configurations were tested to evaluate the impact of data sources, sample size, and backbone architecture, evidencing that combining data sources improves segmentation performance by 6-11%.

The results show that SolarMTNet achieved a mean Intersection over
Union (mIoU) of 0.67 for orientation segmentation and 0.40 for slope seg-
mentation, outperforming existing literature. The multitask setup also in-
creased the performance of both tasks. The predicted rooftop irradiance had
an average absolute percentage difference (Δ%) of only 5.3% compared to
model-based solar cadaster data. The developed multitask setup resulted in
an increase of the solar potential estimation accuracy by 37% compared to
traditional methods which assume constant slope values. The ability of So-
larMTNet to generalize to unseen data was validated across different regions
and resolutions, showing consistent performance in areas outside Switzerland,
such as France and Germany.

However, the model has limitations. The automatic labeling process faces
challenges like misalignments between aerial images and ground truth la-
bels, potentially affecting segmentation performance metrics. Additionally,
the model shows lower precision in highly dense urban areas with complex
rooftop structures and shading. Since the model does not account for shad-
ing, its applicability is limited to rooftops without significant shading from
surrounding obstacles. Moreover, the generalization ability is adequate in
areas with similar resolution aerial images, but the accuracy is insufficient
for practical applications in regions with significantly lower resolution.

The findings indicate that deep learning techniques, significantly less
costly and resource-intensive compared to traditional model-based methods,
can effectively complement these methods on a national and supranational
scale. They can predict large-scale solar potential in peripheral areas where
traditional methods cannot be applied due to the lack of LiDAR data or high
resource requirements. Additionally, they can provide accurate preliminary
estimates where shading impact evaluation is not crucial.

These limitations open several future work perspectives, including ex-
panding the dataset to more diverse geographical areas and rooftop types
to improve model generalization, incorporating shading effects, and testing
different deep learning models to enhance performance.

Acknowledgments

This work has been partially supported by MIAI@Grenoble Alpes, (ANR-19-P3IA-0003)
# Appendix A. Non-cherry-picked segmentation examples

This Appendix shows some additional non-cherry-picked segmentation examples for Lyon, Grenoble, and Wartenberg (“Pred” stands for prediction, and subscripts “o” and “s” stand for orientation and slope, respectively)
<table><thead><tr><th colspan="3">Lyon (France)</th><th colspan="3">Grenoble (France)</th><th colspan="3">Wartenberg (Germany)</th></tr><tr><th>Aerial Image</th><th>Pred<sub>o</sub></th><th>Pred<sub>s</sub></th><th>Aerial Image</th><th>Pred<sub>o</sub></th><th>Pred<sub>s</sub></th><th>Aerial Image</th><th>Pred<sub>o</sub></th><th>Pred<sub>s</sub></th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
References

[1] A. Guterres, The Sustainable Development Goals Report 2020, United Nations publication issued by the Department of Economic and Social Affairs (2020) 1–64.

[2] J. Brozovsky, A. Gustavsen, N. Gaitani, Zero emission neighbourhoods and positive energy districts – A state-of-the-art review, Sustainable Cities and Society 72 (2021) 103013. doi:10.1016/J.SCS.2021.103013.

[3] G. Lobaccaro, S. Croce, C. Lindkvist, M. C. Munari Probst, A. Scognamiglio, J. Dahlberg, M. Lundgren, M. Wall, A cross-country perspective on solar energy in urban planning: Lessons learned from international case studies, Renewable and Sustainable Energy Reviews 108 (November 2018) (2019) 209–237. doi:10.1016/j.rser.2019.03.041.
URL https://doi.org/10.1016/j.rser.2019.03.041

[4] A. Boccalatte, M. Thebault, C. Ménézo, J. Ramousse, M. Fossa, Evaluating the impact of urban morphology on rooftop solar radiation: A new city-scale approach based on Geneva GIS data, Energy and Buildings 260 (2022) 111919. doi:10.1016/j.enbuild.2022.111919.
URL https://doi.org/10.1016/j.enbuild.2022.111919

[5] N. Mohajeri, A. Gudmundsson, T. Kunckler, G. Upadhyay, D. As-souline, J. H. Kämpf, J. L. Scartezzini, A solar-based sustainable urban design: The effects of city-scale street-canyon geometry on solar access in Geneva, Switzerland, Applied Energy 240 (August 2018) (2019) 173–
190. doi:10.1016/j.apenergy.2019.02.014.

URL https://doi.org/10.1016/j.apenergy.2019.02.014

[6] M. Revesz, S. Zamini, S. M. Oswald, H. Trimmel, P. Weihs, SEBEpv – New digital surface model based method for estimating the ground reflected irradiance in an urban environment, Solar Energy 199 (January) (2020) 400–410. doi:10.1016/j.solener.2020.01.075.

URL https://doi.org/10.1016/j.solener.2020.01.075

[7] M. Manni, M. Formolli, A. Boccalatte, S. Croce, G. Desthieux, C. Hachem-Vermette, J. Kanters, C. Ménézo, M. Snow, M. Thebault, M. Wall, G. Lobaccaro, Ten questions concerning planning and design strategies for solar neighborhoods, Building and Environment 246 (September) (2023). doi:10.1016/j.buildenv.2023.110946.

[8] S. Freitas, C. Catita, P. Redweik, M. C. Brito, Modelling solar potential in the urban environment: State-of-the-art review, Renewable and Sustainable Energy Reviews 41 (2015) 915–931. doi:10.1016/j.rser.2014.08.060.

URL http://dx.doi.org/10.1016/j.rser.2014.08.060

[9] N. Jakica, State-of-the-art review of solar design tools and methods for assessing daylighting and solar potential for building-integrated photovoltaics, Renewable and Sustainable Energy Reviews 81 (2018) 1296–1328. doi:10.1016/j.rser.2017.05.080.

[10] M. Thebault, V. Clivillé, L. Berrah, G. Desthieux, Multicriteria roof sorting for the integration of photovoltaic systems in urban envi-
ronments, Sustainable Cities and Society 60 (May) (2020) 102259.
doi:10.1016/j.scs.2020.102259.

URL https://doi.org/10.1016/j.scs.2020.102259

[11] A. A. A. Gassar, S. H. Cha, Review of geographic information systems-based rooftop solar photovoltaic potential estimation approaches at urban scales, Applied Energy 291 (October 2020) (2021) 116817.
doi:10.1016/j.apenergy.2021.116817.

URL https://doi.org/10.1016/j.apenergy.2021.116817

[12] S. Izquierdo, M. Rodrigues, N. Fueyo, A method for estimating the geographical distribution of the available roof surface area for large-scale photovoltaic energy-potential evaluations, Solar Energy 82 (10) (2008) 929-939.
doi:10.1016/j.solener.2008.03.007.

[13] A. Pinna, L. Massidda, A procedure for complete census estimation of rooftop photovoltaic potential in urban areas, Smart Cities 3 (3) (2020) 873-893.
doi:10.3390/smartcities3030045.

[14] L. Bergamasco, P. Asinari, Scalable methodology for the photovoltaic solar energy potential assessment based on available roof surface area: Further improvements by ortho-image analysis and application to Turin (Italy), Solar Energy 85 (11) (2011) 2741-2756.
doi:10.1016/j.solener.2011.08.010.

URL http://dx.doi.org/10.1016/j.solener.2011.08.010

[15] D. Assouline, N. Mohajeri, J. L. Scartezzini, Quantifying rooftop photovoltaic solar energy potential: A machine learning approach, Solar
Energy 141 (2017) 278-296. doi:10.1016/j.solener.2016.11.045.
URL http://dx.doi.org/10.1016/j.solener.2016.11.045

[16] K. Mainzer, S. Killinger, R. McKenna, W. Fichtner, Assessment of rooftop photovoltaic potentials at the urban level using publicly available geodata and image recognition techniques, Solar Energy 155 (2017) 561-573. doi:10.1016/j.solener.2017.06.065.
URL https://doi.org/10.1016/j.solener.2017.06.065

[17] F. Biljecki, J. Stoter, H. Ledoux, S. Zlatanova, A. Çöltekin, Applications of 3D city models: State of the art review, ISPRS International Journal of Geo-Information 4 (4) (2015) 2842-2889. doi:10.3390/ijgi4042842.

[18] N. Lukač, D. Žlaus, S. Seme, B. Žalik, G. Štumberger, Rating of roofs' surfaces regarding their solar potential and suitability for PV systems, based on LiDAR data, Applied Energy 102 (2013) 803-812. doi:10.1016/j.apenergy.2012.08.042.

[19] V. Adjiski, G. Kaplan, S. Mijalkovski, Assessment of the solar energy potential of rooftops using LiDAR datasets and GIS based approach, International Journal of Engineering and Geosciences 8 (2) (2023) 188-199. doi:10.26833/ijeg.1112274.

[20] M. Awrangjeb, C. Zhang, C. S. Fraser, Automatic extraction of building roofs using LIDAR data and multispectral imagery, ISPRS Journal of Photogrammetry and Remote Sensing 83 (2013) 1-18. doi:10.1016/j.isprsjprs.2013.05.006.
URL http://dx.doi.org/10.1016/j.isprsjprs.2013.05.006
[21] L. Romero Rodríguez, E. Duminil, J. Sánchez Ramos, U. Eicker, Assessment of the photovoltaic potential at urban level based on 3D city models: A case study and new methodological approach, Solar Energy 146 (2017) 264–275. doi:10.1016/j.solener.2017.02.043.

[22] G. Desthieux, C. Carneiro, R. Camponovo, P. Ineichen, E. Morello, A. Boulmier, N. Abdennadher, S. Dervey, C. Ellert, Solar energy potential assessment on rooftops and facades in large built environments based on lidar data, image processing, and cloud computing. Methodological background, application, and validation in Geneva (solar cadaster), Frontiers in Built Environment 4 (March) (2018). doi:10.3389/fbuil.2018.00014.

[23] M. Dorman, E. Erell, A. Vulkan, I. Kloog, Shadow: R package for geometric shadow calculations in an urban environment, R Journal 11 (1) (2019) 1–22. doi:10.32614/rj-2019-024.

[24] M. Thebault, G. Desthieux, R. Castello, L. Berrah, Large-scale evaluation of the suitability of buildings for photovoltaic integration: Case study in Greater Geneva, Applied Energy 316 (2022) 119127. doi:https://doi.org/10.1016/j.apenergy.2022.119127.

[25] Q. Chen, X. Li, Z. Zhang, C. Zhou, Z. Guo, Z. Liu, H. Zhang, Remote sensing of photovoltaic scenarios: Techniques, applications and future directions, Applied Energy 333 (January) (2023) 120579. doi:10.1016/j.apenergy.2022.120579.

URL https://doi.org/10.1016/j.apenergy.2022.120579
[26] Z. Chen, B. Yang, R. Zhu, Z. Dong, City-scale solar PV potential estimation on 3D buildings using multi-source RS data: A case study in Wuhan, China, Applied Energy 359 (November 2023) (2024) 122720.
doi:10.1016/j.apenergy.2024.122720.
URL https://doi.org/10.1016/j.apenergy.2024.122720

[27] M. Žalik, D. Mongus, N. Lukač, High-resolution spatiotemporal assessment of solar potential from remote sensing data using deep learning, Renewable Energy 222 (September 2023) (2024) 119868.
doi:10.1016/j.renene.2023.119868.
URL https://doi.org/10.1016/j.renene.2023.119868

[28] B. Bischke, P. Helber, J. Folz, D. Borth, A. Dengel, Multi-Task Learning for Segmentation of Building Footprints with Deep Neural Networks, Proceedings - International Conference on Image Processing, ICIP 2019-Septe (2019) 1480–1484. arXiv:1709.05932,
doi:10.1109/ICIP.2019.8803050.

[29] Z. Huang, T. Mendis, S. Xu, Urban solar utilization potential mapping via deep learning technology: A case study of Wuhan, China, Applied Energy 250 (May) (2019) 283–291. doi:10.1016/j.apenergy.2019.04.113.
URL https://doi.org/10.1016/j.apenergy.2019.04.113

[30] J. Martín-Jiménez, S. Del Pozo, M. Sánchez-Aparicio, S. Lagüela, Multi-scale roof characterization from LiDAR data and aerial orthoimagery: Automatic computation of building photovoltaic capacity, Automation in Construction 109 (September 2019) (2020) 102965.
doi:10.1016/j.autcon.2019.102965.

URL https://doi.org/10.1016/j.autcon.2019.102965

[31] D. T. Shivangi Srivastava, Michele Volpi, JOINT HEIGHT ESTIMATION AND SEMANTIC LABELING OF MONOCULAR AERIAL IMAGES WITH CNNS Shivangi Srivastava, Michele Volpi, Devis Tuia MultiModal Remote Sensing, Department of Geography, University of Zurich (Switzerland), IEEE International Geoscience and Remote Sensing Symposium (IGARSS) (2017) 5173-5176.

[32] S. Lee, S. Iyengar, M. Feng, P. Shenoy, S. Maji, Deeproof: A data-driven approach for solar potential estimation using rooop imagery, Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2019) 2105-2113 doi:10.1145/3292500.3330741.

[33] F. Faltermeier, B. Sc, S. Krapf, M. Sc Bruno Willenborg, M. Sc Munich, Improving CNN roof segment detection by dataset extension using 3D city models (April) (2022).

[34] R. Pueblas, P. Kuckertz, J. M. Weinand, L. Kotzur, D. Stolten, ETHOS.PASSION: An open-source workflow for rooftop photovoltaic potential assessments from satellite imagery, Solar Energy 265 (October) (2023) 112094. doi:10.1016/j.solener.2023.112094
URL https://doi.org/10.1016/j.solener.2023.112094

[35] N. Mohajeri, D. Assouline, B. Guiboud, A. Bill, A. Gudmundsson, J. L. Scartezzini, A city-scale roof shape classification using machine learning for solar energy applications, Renewable Energy 121 (2018) 81-93.
doi:10.1016/j.renene.2017.12.096.

URL https://doi.org/10.1016/j.renene.2017.12.096

[36] S. Tian, G. Yang, S. Du, D. Zhuang, K. Zhu, X. Zhou, X. Jin, An innovative method for evaluating the urban roof photovoltaic potential based on open-source satellite images 224 (February) (2024). doi:10.1016/j.renene.2024.120075.

[37] G. García, A. Aparcedo, G. K. Nayak, T. Ahmed, M. Shah, M. Li, Generalized deep learning model for photovoltaic module segmentation from satellite and aerial imagery, Solar Energy 274 (March) (2024) 112539. doi:10.1016/j.solener.2024.112539.

URL https://doi.org/10.1016/j.solener.2024.112539

[38] G. Kasmi, L. Dubus, P. Blanc, Y.-M. Saint-Drenan, Towards unsupervised assessment with open-source data of the accuracy of deep learning-based distributed pv mapping (2023). arXiv:2207.07466.

[39] S. Krapf, L. Bogenrieder, F. Netzler, G. Balke, M. Lienkamp, RID—Roof Information Dataset for Computer Vision-Based Photovoltaic Potential Assessment, Remote Sensing 14 (10) (2022). doi:10.3390/rs14102299.

[40] S. Memme, M. Fossa, Maximum energy yield of pv surfaces in france and italy from climate based equations for optimum tilt at different azimuth angles, Renewable Energy 200 (2022) 845-866. doi:https://doi.org/10.1016/j.renene.2022.10.019.
[41] Q. Li, S. Krapf, Y. Shi, X. X. Zhu, SolarNet: A convolutional neural network-based framework for rooftop solar potential estimation from aerial imagery, International Journal of Applied Earth Observation and Geoinformation 116 (November 2022) (2023) 103098. doi:10.1016/j.jag.2022.103098.
URL https://doi.org/10.1016/j.jag.2022.103098

[42] F. L. Faltermeier, S. Krapf, B. Willenborg, T. H. Kolbe, Improving Semantic Segmentation of Roof Segments Using Large-Scale Datasets Derived from 3D City Models and High-Resolution Aerial Imagery, Remote Sensing 15 (7) (2023). doi:10.3390/rs15071931.

[43] R. Caruana, Multitask learning, Machine learning 28 (1) (1997) 41–75.

[44] T. Evgeniou, M. Pontil, Regularized multi-task learning, in: Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining, ACM, 2004, pp. 109–117.

[45] A. Kumar, H. Daume III, Learning task grouping and overlap in multi-task learning, arXiv preprint arXiv:1206.6417 (2012).

[46] S. Ruder, An overview of multi-task learning in deep neural networks, arXiv preprint arXiv:1706.05098 (2017).

[47] Y. Zhang, Q. Yang, A survey on multi-task learning, arXiv preprint arXiv:1707.08114 (2017).

[48] J. Zhu, N. Chen, E. P. Xing, Infinite latent svm for classification and multi-task learning, in: Advances in neural information processing systems, 2011, pp. 1620–1628.
[49] C. Yuan, Multi-task learning for bayesian matrix factorization, in: 2011 IEEE 11th International Conference on Data Mining, IEEE, 2011, pp. 924–931.

[50] L. Jacob, J.-p. Vert, F. R. Bach, Clustered multi-task learning: A convex formulation, in: Advances in neural information processing systems, 2009, pp. 745–752.

[51] J. Chen, J. Zhou, J. Ye, Integrating low-rank and group-sparse structures for robust multi-task learning, in: Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, ACM, 2011, pp. 42–50.

[52] I. Misra, A. Shrivastava, A. Gupta, M. Hebert, Cross-stitch networks for multi-task learning, in: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[53] S. Ruder, J. Bingel, I. Augenstein, A. Søgaard, Latent multi-task architecture learning, in: Proceedings of the AAAI conference on artificial intelligence, Vol. 33, 2019, pp. 4822–4829.

[54] S. Liu, E. Johns, A. J. Davison, End-to-end multi-task learning with attention, in: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[55] A. Kendall, Y. Gal, R. Cipolla, Multi-task learning using uncertainty to weigh losses for scene geometry and semantics, in: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 7482–7491.
[56] A. Jha, A. Kumar, B. Banerjee, S. Chaudhuri, Adamt-net: An adaptive weight learning based multi-task learning model for scene understanding, in: 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020, pp. 3027-3035. doi:10.1109/CVPRW50498.2020.00361.

[57] S. Vandenhende, S. Georgoulis, W. Van Gansbeke, M. Proesmans, D. Dai, L. Van Gool, Multi-task learning for dense prediction tasks: A survey, IEEE transactions on pattern analysis and machine intelligence 44 (7) (2021) 3614-3633.

[58] X. Sun, R. Panda, R. Feris, K. Saenko, Adashare: Learning what to share for efficient deep multi-task learning, Advances in Neural Information Processing Systems 33 (2020) 8728-8740.

[59] T. Standley, A. Zamir, D. Chen, L. Guibas, J. Malik, S. Savarese, Which tasks should be learned together in multi-task learning?, in: International conference on machine learning, PMLR, 2020, pp. 9120-9132.

[60] S. Liu, Y. Li, X. Li, G. Cao, Shape-aware multi-task learning for semi-supervised 3d medical image segmentation, in: 2021 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), 2021, pp. 1418-1423. doi:10.1109/BIBM52615.2021.9669523.

[61] Y. Zhang, Q. Yang, A survey on multi-task learning, IEEE Transactions on Knowledge and Data Engineering 34 (12) (2022) 5586-5609. doi:10.1109/TKDE.2021.3070203.
[62] Federal Office of Topography swisstopo, Orthophotos - swisstopo, accessed: 2024-05-23 (2024).
URL https://www.swisstopo.admin.ch/fr/orthophotos

[63] Swiss Federal Statistical Office, opendata.swiss, accessed: 2024-05-23 (2024).
URL https://opendata.swiss/en

[64] F. O. of Energy (BFE), MeteoSwiss, Swisstopo, Swiss solar roof cadas- tre, accessed: 2024-06-25 (2024).
URL https://www.uvek-gis.admin.ch/BFE/sonnendach

[65] K. He, X. Zhang, S. Ren, J. Sun, Deep residual learning for image recognition, in: Proceedings of the IEEE conference on computer vision and pattern recognition, 2016, pp. 770–778.

[66] O. Ronneberger, P. Fischer, T. Brox, U-net: Convolutional networks for biomedical image segmentation, in: Medical image computing and computer-assisted intervention–MICCAI 2015: 18th international con- ference, Munich, Germany, October 5-9, 2015, proceedings, part III 18, Springer, 2015, pp. 234–241.

[67] D. P. Kingma, J. Ba, Adam: A method for stochastic optimization, arXiv preprint arXiv:1412.6980 (2014).

[68] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, R. Salakhutdinov, Dropout: A simple way to prevent neural networks from overfitting, Journal of Machine Learning Research 15 (56) (2014) 1929–1958.
URL http://jmlr.org/papers/v15/srivastava14a.html
[69] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. Antiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito, M. Raison, A. Tejani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, S. Chintala, PyTorch: An Imperative Style, High-Performance Deep Learning Library (2019).
URL https://pytorch.org/

[70] W. F. Holmgren, C. W. Hansen, M. A. Mikofski, pvlib: Open source solar power modeling library (2018).
URL https://pvlib-python.readthedocs.io/en/stable/

[71] R. Perez, P. Ineichen, R. Seals, J. Michalsky, R. Stewart, Modeling daylight availability and irradiance components from direct and global irradiance, Solar Energy 44 (5) (1990) 271-289. doi:10.1016/0038-092X(90)90055-H.

[72] Grand Lyon Métropole, Orthophotographie 2022 de la métropole de lyon, https://data.grandlyon.com/portail/fr/jeux-de-donnees, accessed: 2024-06-21 (2022).

[73] Institut National de l'Information Géographique et Forestière (IGN), Bd ortho® - aerial imagery of france, https://geoservices.ign.fr/documentation/donnees/ortho/bdortho, accessed: 2024-06-21 (2024).