# A comprehensive building-wise rooftop photovoltaic system detection in heterogeneous urban and rural areas: application to French territories

Martin Thebault, Boris Nerot, Benjamin Govehovitch, Christophe Ménézo

► To cite this version:

Martin Thebault, Boris Nerot, Benjamin Govehovitch, Christophe Ménézo. A comprehensive building-wise rooftop photovoltaic system detection in heterogeneous urban and rural areas: application to French territories. Applied Energy, 2025, 388, pp.125630. 10.1016/j.apenergy.2025.125630. hal-04980397

HAL Id: hal-04980397

https://cnrs.hal.science/hal-04980397v1

Submitted on 6 Mar 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
<figure><img src="image_2.png" /></figure>

# A comprehensive building-wise rooftop photovoltaic system detection in heterogeneous urban and rural areas: application to French territories

Martin Thebault<fnref n="1" />, Boris Nerot<fnref n="1" />, Benjamin Govehovitch, Christophe Ménézo

LOCIE, Université Savoie Mont Blanc, CNRS, UMR5271, F-73376 Le Bourget du Lac, France

## HIGHLIGHTS

* Building-by-building approach to detect rooftop PV systems from aerial images.

* Comprehensive analysis of RPV systems across metropolitan French territories.

* High detection accuracy influenced by roofing material and local urban specificity.

* Performance of neural network model improves with heterogeneous training data.

* Open-access datasets and tools for reproducible PV identification research.

## ABSTRACT

With the rapid expansion of Rooftop Photovoltaic (RPV) systems, accurately identifying the location of these installations has become essential for urban planning, grid management, and socio-economic analysis. However, existing European datasets of RPV systems are often limited in both spatial coverage and precision, especially in regions with diverse architectural styles. This study presents a novel methodology for identifying RPV systems by employing a convolutional neural network (CNN) trained on high-resolution aerial imagery and building registry data. Alternatively to traditional tile-based methods, we propose a building-by-building approach, ensuring that each building is individually assessed. The model was trained and validated on five French departments representing a variety of roofing materials and urban typologies. It demonstrates a high correlation between predicted and registered RPV systems, though detection performance varies with roofing materials—achieving better accuracy on tiled roofs than slate roofs. When applied to the entire metropolitan French territory, the model processed images of more than 40 million buildings, identifying approximately 600,000 RPV systems. The results' accuracy is evaluated, taking into account factors such as data quality and local urban characteristics. All data and the model are publicly available for further research and applications.

## 1. Introduction

### 1.1. Context

There is an urgent need to reduce greenhouse gas emissions and accelerate the adoption of renewable energy worldwide [1]. Rooftop Photovoltaic (RPV) systems are expected to play a crucial role in this transition, with a massive deployment of these systems already underway and projected to increase rapidly in the coming years [2]. In this context, strategic deployment scenarios must be developed [3] and it is critical to identify exactly where existing PV systems are installed—and, conversely, where they are not. Determining the most suitable rooftops for PV systems involves a highly interdisciplinary approach, considering energy, economic, social, and technical criteria [4,5]. Knowing the precise location of installed RPVs can help urban planners and other stakeholders prioritize rooftops, starting by excluding those already equipped. From the perspective of Distribution System Operators

(DSOs), understanding where PV systems are installed is essential to adapt grid infrastructure as needed [6–8]

From a more social point of view, mapping where PV systems have been installed can help in understanding the underlying mechanisms driving the adoption of solar energy [9–11]. In a pioneering study, Yu et al. [12] combined economic and social data with the location of PV systems in the USA. Similarly, O'Shaughnessy et al. [13] analyzed the relationship between household income and RPV adoption in the USA, while Sunter et al. [14] used RPV location data to examine disparities in RPV adoption based on socio-cultural factors.

The use of machine and deep learning for solar applications has boomed in the last few years. The different applications range from the evaluation of the solar potential on rooftops [15–18], the identification of the presence of PV systems [19] to the detailed segmentation of roof elements (PV and other superstructure elements) [20].

<footnote n="1">¹ These two authors contributed equally to this work.</footnote>
Nomenclature

Acronyms

Adim adimensional
AI Artificial Intelligence
AUC Area Under the Curve
CNN Convolutional Neural Network
DSO Distribution System Operator

FN False Negative

FP False Positive

FPR False Positive Rate

IGN Institut National de l'Information Géographique et Forestière

PV PhotoVoltaic

RGB Red Blue Green

ROC Receiving-Operating Curve

RPV Rooftop PhotoVoltaic

SHP Shapefile

TN True Negative

TP True Positive

Symbols

$a_{PV}$ Slope of the regression line

F1 F1-score

$N_{PV,registered}$ Number of registered RPV

$N_{PV,predicted}$ Number of predicted RPV

$N_{Buildings}$ Number of Buildings

$R^2$ Linear fitting factor

prec Precision metrics

rec Recall metrics

The identification of PV panels using Convolutional Neural Networks (CNNs) has been carried out in different regions worldwide. There have been a lot of studies that focused on the detection of large PV centrals [21–23]. Usually, large PV centrals are easier to detect since they cover large floor areas and can therefore be detected from imagery with relatively low resolutions. The detection of RPV on the other hand requires higher resolution imagery.

Two pioneering studies in detecting the location of PV systems on rooftops were by Castello et al. [24] in Switzerland and Yu et al. [12] in the USA. In Switzerland, Castello et al. [24] used a U-net architecture on labeled images, comprising 700 images with RPV systems, and applied it to selected images of Switzerland. In the USA, Yu et al. [12] used the Inception-v3 [25] CNN architecture, trained on 370,000 samples, of which 46,000 included RPV systems. They applied their model across the entire USA, identifying 1.4 million RPV systems in 2018. Kruitwagen et al. [19] also trained a CNN and produced a global map of photovoltaic generation units; however, their work mainly identified large, utility-scale units, missing many RPV systems. Additionally, several studies [26, 27] have noted significant discrepancies between predicted and actual capacities in some countries, indicating that numerous PV systems were not detected in certain regions.

In recent years, either existing models have been fine-tuned or new CNN models have been introduced, incorporating variations in their training datasets, training methodology, or architectures [26,28–30]. An in-depth literature review of these different models, their performance, and the datasets they utilized was conducted by Mao et al. [31].

One common feature of these models is that they follow a 'tile by tile' approach, where raster images of the land are subdivided into smaller tiles of a defined size. For instance, [26] used tiles measuring 7.13 × 7.13 m² (115×115 pixels at a 0.062 m/pixel resolution), while [12] employed tiles between 15 m² and 22 m². This method has demonstrated excellent results, offering comprehensive coverage of the investigated area. However, this approach also has some limitations. First, depending on the size of the tiles and the buildings, the image may be too small, causing some buildings to be split across several tiles [26]. On the other hand, if the tile is too large, multiple buildings may be present within the same tile, which necessitates an additional step of segmentation combined with geo-localization to accurately determine which buildings are equipped with PV systems [12]. Additionally, when tiles are too large and contain multiple buildings, it becomes challenging to assess how accurately the tool classified all the buildings equipped with PV systems (i.e., if all buildings within the tile were seen individually). Another issue with large tiles is that CNN model size and number of parameters usually scales with the image input size, and so does the memory needed to accommodate and train such a network.

Some open-access datasets are available for certain regions of Europe, such as parts of Germany [20] (1880 labeled RPV images), [32] (7197 labeled RPV images in the city of Heilbronn), and Sweden [26] (around 5000 labeled PV images). Stowell et al. [33] proposed a dataset for UK based on crowd-sourced data, with around 250 000 recorded PV systems. Recently, [27] made available a large segmented database containing 15,000 crowdsourced RPV installations, most of them being located on the French territory. However, models trained on any of these datasets may not perform well in other 'unseen' territories. For example, Krapf et al. [20] noted that their model, trained on a limited dataset from a rural part of Germany, would likely struggle in different locations. This challenge is particularly relevant across Europe, where the diversity in roof materials, roof types, shapes, colors, and slopes varies greatly, both between and within countries. Therefore, a comprehensive detection of PV systems in any European country would require careful consideration of this diversity.

## 1.2. Article content and main contributions

In this work, a novel methodology is presented for detecting RPV systems across a specific territory, with a focus on metropolitan French areas that have not yet been comprehensively mapped. Instead of the traditional tile-by-tile approach, we introduce a building-by-building methodology, in which each officially registered building is individually analyzed by a Convolutional Neural Network (CNN) model to determine whether it is equipped with a PV system. This approach allows for a more detailed examination of the studied area, ensuring an exhaustive, individual and more equal treatment of all buildings in a territory.

France poses a great challenge due to its diverse architectural styles and cultural influences, as it shares borders with Belgium, Germany, Spain, Italy, and Switzerland and spans a varied landscape of mountainous and coastal regions. This diversity is mirrored in the built environment, with significant differences in roof types, building designs, and district topologies. Special attention is given to training the model on this diversity, ensuring the methodology is robust across different architectural styles found in France.

The proposed approach is validated using standard training and validation metrics, alongside national datasets that provide the number of PV systems in each French municipality. Our results offer a comprehensive map of PV systems across the entire metropolitan French territory. This represents one of the most detailed maps of RPV locations in the world. Additionally, the impact of roofs' characteristics on prediction results is explored, highlighting the importance of accounting for these factors during model training.
All data used in this study are made available as open-access databases, including several millions of unlabeled aerial images of buildings, over 23,000 images of buildings with PV systems and twice as many without, as well as the results of our production for nearly all French buildings. The tools are also accessible through public repositories, ensuring transparency and reproducibility (see Data availability section).

## 2. Case study context: France

In order to better introduce the Methodology (Section 3), the Results (Section 4), and Discussion (Section 5), the case study will be presented first.

### 2.1. Territorial organisation of metropolitan France

Metropolitan France is composed of 96 departments of relatively homogeneous size. These departments are composed of more than 36 000 municipalities of various sizes, which are composed of nearly 40 million buildings. In what follows the department and municipality scales will be very important since the datasets used are relevant at these granularities.

### 2.2. Databases

Different databases will be used in this work. These databases are all open-access and are briefly presented here.

#### 2.2.1. Aerial imagery

Aerial imagery comes from IGN (Institut National de l'Information Géographique et Forestiére), the French geographical institute. The imagery is provided as 25 km² Red Green Blue (RGB) tiles with a resolution of 20 cm. These files are organized by French department and are freely available for download as JP2 raster files [34]. All images used in this study are no more than four years old. The availability of aerial imagery at the departmental scale forms the basis of our methodology. Indeed, in each department, the aerial images are taken during the same measurement campaign for the entire department (usually the measurement campaigns are done during 2-3 consecutive days to cover the whole department).

#### 2.2.2. Buildings registry

The location and shape of each building are extracted from a national building registry database distributed by French project Etalab [35]. Each French department is described by a single shapefile (.shp). Such a file contains building geometries stored as polygon features.

#### 2.2.3. National register of electricity generation and storage facilities

To further evaluate the performance of the proposed model, we compare the predicted number of PV installations, $N_{PV,predicted}$, with the registered number of PV installations, $N_{PV,registered}$. In France, since 2019, the Distribution System Operator (DSO) has provided annual reports (in December) on the number of registered PV systems in each municipality [36].

The report is titled "Registre national des installations de production et de stockage d'électricité," which translates to "National Register of Electricity Generation and Storage Facilities." Although the precise locations of RPV systems within the municipalities are not provided, it is still possible to assess whether the predicted number of installations in a municipality matches the number reported by the DSO.

It should be noted that, for anonymity purposes, in municipalities with fewer than 10 RPV installations (each $\le 36$ kWp), the DSO does not make public the information on the number of registered RPV installations. Therefore, municipalities with fewer than 10 RPV installations are filtered out of the comparison.

### 2.3. Selected departments for the training and the analysis of the results

Despite this study being applied at the national scale, on almost all French departments, some departments will be presented in more detail since they were used for training and validation of the model, as well as for confrontation with ground truth. A summary of these departments, their use, and some characteristics is presented in Table 1 and Fig. 1.

### 2.4. Accounting for the heterogeneity of the roofs of France: pre-selection of the images

As mentioned in Section 1.2, France presents a rich diversity in the built environment. In order to train the model, and for it to work on the entire France, it is necessary to account for the heterogeneity of the roof's material types.

The distribution of roof material types in France is presented in Fig. 1. Roof materials vary by region and are regulated by urban planning rules, often rooted in historical and local considerations. As shown, roof tiles account for approximately two-thirds of the roofing material in France. Slate comes in second, predominantly found in the western part of the country, particularly in Brittany. Slate is also common in mountainous areas such as the Pyrenees, the Alps, and the Massif Central. When labeling the dataset, it is important to account for this diversity.

To that aim, five representative departments were selected for the training phase. The Hérault (34) and Bas-Rhin (67) have the majority of their buildings covered with roof tiles. In contrast, the buildings in the Côtes d'Armor (22) and Ille-et-Vilaine (35), located in Brittany, are almost entirely covered with slate. Finally, Savoie (73) represents a mountainous region with a mix of roof materials. The locations of these departments are shown in Fig. 1.

### 2.5. Departments selected for the confrontation with ground truth and analysis of the results

In Section 4, the predictions of the model will be compared to the DSO data (see Section 2.2.3). The focus will be on the Aude (11) department, the Morbihan (56) and the Loire-Atlantique (44). These departments are represented colored in green in Fig. 1.

Aude is a neighboring department of Hérault, which is used for training, and is largely dominated by roof tiles. Morbihan, located in Brittany,

<table><caption>**Table 1**
Summary of the department used in the present study.</caption><thead><tr><td>Department</td><td>Dept. code</td><td>Usage</td><td>Number of buildings</td><td>Number of municipalities</td><td>Roofing</td><td>Aerial imagery date</td></tr></thead><tbody><tr><td>Aude</td><td>11</td><td>Confrontation</td><td>277 k</td><td>433</td><td>Tiles</td><td>Aug. 2021</td></tr><tr><td>Côtes d'Armor</td><td>22</td><td>Training</td><td>395 k</td><td>348</td><td>Slates</td><td>Oct. 2021</td></tr><tr><td>Hérault</td><td>34</td><td>Training</td><td>790 k</td><td>342</td><td>Tiles</td><td>Aug. 2021</td></tr><tr><td>Ille-et-Vilaine</td><td>35</td><td>Training</td><td>600 k</td><td>353</td><td>Slates</td><td>Oct. 2023</td></tr><tr><td>Loire-Atlantique</td><td>44</td><td>Confrontation</td><td>814 k</td><td>207</td><td>Both</td><td>July 2027</td></tr><tr><td>Morbihan</td><td>56</td><td>Confrontation</td><td>498 k</td><td>246</td><td>Slates</td><td>July 2022</td></tr><tr><td>Bas-Rhin</td><td>67</td><td>Training</td><td>604 k</td><td>517</td><td>Tiles</td><td>June 2021</td></tr><tr><td>Savoie</td><td>73</td><td>Training</td><td>369 k</td><td>273</td><td>Tiles</td><td>Sept. 2022</td></tr></tbody></table>
<figure><img src="image_3.png" /><figcaption>**Fig. 1.** Distribution of the roof's material in France. Five French departments (22, 34, 35, 67 and 73) are highlighted in red as they are used for the training and validation dataset (Section 2.4). The departments highlighted in green (11, 44 and 56) are the department which are analyzed in Section 4.3. The aerial pictures illustrate the two most used roofing materials in France, slates (top left) and roof's tiles (bottom right). Adapted from the Observatoire National du Batiment [37]. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)</figcaption></figure>

is similar to Côtes-d'Armor (22) and primarily features slate roofing. Lastly, Loire-Atlantique is a unique department as it is divided by the Loire River, with slate roofs predominantly found north of the river and tile roofs to the south.

Aude department (11) consists of 433 municipalities of various sizes, with populations ranging from as few as five inhabitants (Fontanes-de-Sault) to 56,395 inhabitants (Narbonne). For this department, the aerial imagery used for the predictions was captured between the 8th and 10th of August 2021, and the DSO data from 2021 were used for the comparison. Morbihan (56) consists of 249 municipalities and aerial imagery used for the predictions was captured between the 5th and 8th of July 2022.

Finally, the Loire-Atlantique is composed of 207 municipalities and the aerial imagery was captured between the end of June and the beginning of July 2022. In these two later cases, DSO data from 2022 were used. The department of the Loire-Atlantique is interesting since it presents both roof tiles and slates. This can be clearly seen in Fig. 2 which displays the distribution of the roofing material on the buildings of this department.

## 3. Material and methods

This part presents the overall workflow of the study illustrated in Fig. 3. Both aerial imagery (Section 2.2.1) and cadastral data (Section 2.2.2) are downloaded from opensource databases. The spatial intersection of these datasets results in the definition of several individual building images (Section 3.1). Some of these images are manually labeled through an iterative process and then fed to a classification convolutional neural network during a training phase (Section 3.2). The predictions by the model of presence or lack of PV panels on labeled

<figure><img src="image_4.png" /><figcaption>**Fig. 2.** Roofing material in the Loire-Atlantique department (44). Adapted from the Observatoire National des Bâtiments [37].</figcaption></figure>

buildings are used to define common metrics to assess the model's performance (Section 4). The overall methodology has been illustrated with a workflow in Figure.

### 3.1. Data processing

Raster (Aerial Imagery) and vector (Building Registry) files are processed using PyQgis [38]. Vector data is preprocessed according to the following steps. First, polygons whose area is smaller than 10 m² are discarded since they represent small buildings, likely non-residential,
<figure><img src="image_5.png" /><figcaption>Fig. 3. Workflow of the overall developed approach.</figcaption></figure>

which are unlikely to be equipped with PV panels. Next, each polygon is
expanded by a 4-meter buffer to account for frequent shifts between the
building registry data and its actual location. For the same reason, and to
include additional context in each final image, the polygon is replaced by
its rectangular bounding box. This bounding box is oriented to minimize
its area. Finally, X and Y coordinates and a department-based unique
identifier are added to each polygon feature.

Each polygon, representing a building, is intersected with the cor-
responding aerial imagery raster file (see Section 2.2.1). The resulting
cropped image is saved to a dedicated file. For instance, the Hérault
department (34), one of the most populated departments of France,
contains 700,000 images, with an average image size of 120 × 120 pix-
els, and 97.9 % of these images being smaller than 250 × 250 pixels.
It is worth noting that approximately 1.5 % of buildings are spread
across multiple rasters, resulting in final images that do not capture
the entire roof area. Figs 7 and 8 provide an example of the fi-
nal formatting of the images of single buildings that are fed to the
model.

**3.2. Convolutional neural network**

An EfficientNetB2 neural network is used as a binary image classifier.
This robust model is described in detail by Tan et al. [39]. More details
of the setup of this model are presented in Appendix A.

3.2.1. Image labeling

An initial labeled dataset of 2080 PV images and 15,000 non-PV
images was used to train the first version of the model. This model was
applied to five departments selected for their diverse roof types. A new
model was trained on the expanded dataset. Nevertheless, numerous
misclassifications remained. These misclassifications were sometimes
due to skylights, porches, swimming pools or cast shadows, but most of
the time, reasons for these misclassifications were difficult to explicitly
tell. Images for which the model provided ambiguous prediction scores
were retained for a manual labeling session. Despite some improve-
ments, the visual inspection of the model's inference results indicated
that the performance was still not satisfactory across all cases. As a re-
sult, the database enrichment process was repeated. Ultimately, 8379 PV
images (positive, yᵢ = 1) and 27,728 non-PV images (negative, yᵢ = 0)
were labeled through this iterative process. A similar iterative process
was also used in the work of Lindahl et al. [28] and proved to increase
final accuracy.

This database was further enhanced by incorporating content from
Kasmi et al. [27]. They provide more than 33,000 images collected
through a crowdsourcing approach, with 85 % of the recorded buildings
being on the metropolitan French territory. These images include both
positive (PV) and negative (non-PV) labeled images of buildings. Their
dataset consists of images with a resolution of 10 cm (Google dataset)
and 20 cm (IGN dataset).
<table><caption>**Table 2**
Class distribution of the training and validation datasets.</caption><thead><tr><th rowspan="2"></th><th colspan="5">Our data (department)</th><th colspan="2">Kasmi et al. (resolution)</th><th rowspan="2">Total</th></tr><tr><th>22</th><th>34</th><th>35</th><th>67</th><th>73</th><th>10 cm</th><th>20 cm</th></tr></thead><tbody><tr><th>No PV</th><td>7988</td><td>6665</td><td>289</td><td>6608</td><td>6069</td><td>8050</td><td>9640</td><td>45309</td></tr><tr><th>PV</th><td>1971</td><td>2000</td><td>1018</td><td>2000</td><td>1390</td><td>7645</td><td>7685</td><td>23709</td></tr><tr><th>Total</th><td>9959</td><td>8665</td><td>1307</td><td>8608</td><td>7459</td><td>15695</td><td>17325</td><td>69018</td></tr></tbody></table>

Preliminary tests showed the benefits of incorporating 10 cm images into our existing 20 cm dataset. Consequently, both the 10 cm and 20 cm images from Kasmi et al.'s database were integrated into our dataset. It is worth noting that since Kasmi et al.'s dataset uses two different image sources, it is possible for a building to be classified as positive in the Google dataset and negative in the IGN dataset, or vice versa. This discrepancy likely results from differences in resolution and the dates when the images were captured. Given a class (PV, non-PV) and since our work primarily relies on IGN open data, the IGN version of a building will get priority over the Google version if both exist.

It is worth noting that around 70 % of Kasmi et al.'s French building images likely correspond to tile roofs, while only 15 % are slate roofs. This is in accordance with both the national roof style distribution (Fig. 1) and the rather homogeneous covering of the French territory put forward by Kasmi et al.

Overall, 23,709 PV images and 45,418 non-PV images are available for the training process (80 % of images) and the validation step (20 %) (Table 2).

Note that this model is solely focused on PV panels. Roofs with thermal solar systems are labeled as non-PV images. This labeling is generally straightforward, as residential thermal systems are typically small, consisting of 2–3 modules, whereas PV systems usually consist of at least 6–7 modules. However, in some cases, it is difficult to distinguish between the two systems from aerial imagery alone, which may lead to misclassification at labeling phase.

### 3.2.2. Network training

Data augmentation is applied to increase the diversity of the images. Both brightness (12.5 % factor) and contrast (87.5 % factor) are randomly modified. No rotation is performed so that the top of the image always corresponds to the same cardinal point, in this case geographic North. Indeed, while most solar systems' orientations have a strong South, East or West component, it is less likely they are installed facing North (in the Northern hemisphere). Thus building orientation is a valuable information to be provided to the prediction model, and having always the same edge of the image always facing North is a way to do so. Additional details on the optimizer, learning rates and number of epochs are presented in Appendix B.

### 3.2.3. Metrics and validation

Precision, Recall, and F1 are evaluated at the end of each training epoch. Let TP (true positives) and TN (true negatives) represent the number of correctly predicted positive and negative images, respectively, while FP (false positives) and FN (false negatives) represent the incorrect predictions. The definition of these metrics as well as other related metrics such as the F1 and FPR indicators are presented in detail in Appendix C.

The classification of a prediction as positive or negative depends on the threshold, which is set at 0.5 for metrics computation.

## 4. Results

### 4.1. Metrics values

The model is applied to the validation set, consisting of labeled images that have not been processed during training. The resulting values

<table><caption>**Table 3**
Confusion matrix on the validation dataset.</caption><thead><tr><th rowspan="2"></th><th rowspan="2"></th><th colspan="2">Reference</th></tr><tr><th>No PV</th><th>PV</th></tr></thead><tbody><tr><th rowspan="2">Predicted</th><th>No PV</th><td>TN = 8531</td><td>FN = 185</td></tr><tr><th>PV</th><td>FP = 552</td><td>TP = 4556</td></tr></tbody></table>

for precision, recall, and F1 metrics are shown in Table 4. A confusion matrix corresponding to the entire validation set is shown in Table 3.

The model's performance varies between the different departments, particularly in terms of precision for which a 12 % difference is observed between the best- and worst-performing departments.

Overall, the model's precision is lower than its recall ($prec = 0.892$, $rec = 0.961$). This indicates a tendency for the model to detect PV panels in locations where they do not exist. However, this trend varies across different subsets of data. While Savoie department (73) shows similar values for both recall and precision, the model exhibits lower precision for some images from the Kasmi et al. [27] dataset and for images from the Côtes d'Armor department (22).

A deeper insight into the model's ability to distinguish between PV and non PV images is provided by the Receiver-Operating Characteristic (ROC). The ROC curve plots the recall as a function of FPR, for different threshold values. The ROC curve of the entire validation set is shown in Fig. 4. Different observations can be made from Fig. 4:

* The model shows overall good performance with an area under the curve (AUC-ROC) of 97.3 %.

* The choice of 0.5 as a threshold value during the training phase can be read from the plot as it is the closest point (0, 1) (note the green circle defined with an appropriate radius in the top left corner).

* The curve is pretty smooth with few irregularities denoting regularity in the improper separation of the dataset by the classifier.

### 4.2. Visual and qualitative analysis of the results

#### 4.2.1. Results of the prediction model

Qualitative results of the prediction models are presented for two types of roofing materials: slate roofs in Fig. 5 and tile roofs in Fig. 6. In these figures, buildings where the model identified PV systems are outlined in red rectangles.

While it may be difficult to discern from the image in Fig. 5, all three identified buildings are indeed equipped with RPV. However, the weak contrast between the color of slate roofs and the PV systems makes it challenging for the 'human eye' to detect the PV systems without zooming in. By contrast, on tile roofs, as shown in Fig. 6, identification is much easier due to the stronger color contrast.

Note that no misclassifications (either FP or FN) are present in the samples presented in Fig. 5 and Fig. 6. However in our results there are some misclassifications which will be discussed in the next section.

#### 4.2.2. Difficult image patterns

The fact that both recall and precision values differ from 1 indicates the presence of misclassifications. Figs 7 and 8 present a few relevant examples from departments 22 and 34. It is important to note that both FN and FP arise from the model confusing skylight windows and porches
<table><caption>**Table 4**
Values of precision, recall and F1 metrics on the validation dataset.</caption><thead><tr><th rowspan="2"></th><th colspan="5">Our data (department)</th><th colspan="2">Kasmi et al. (resolution)</th><th rowspan="2">All</th></tr><tr><th>22</th><th>34</th><th>35</th><th>67</th><th>73</th><th>10 cm</th><th>20 cm</th></tr></thead><tbody><tr><th>Precision</th><td>83.3 %</td><td>93.1 %</td><td>87.9 %</td><td>90.5 %</td><td>95.0 %</td><td>97.0 %</td><td>80.3 %</td><td>89.2 %</td></tr><tr><th>Recall</th><td>94.4 %</td><td>94.8 %</td><td>96.3 %</td><td>96.1 %</td><td>94.7 %</td><td>98.5 %</td><td>92.5 %</td><td>96.1 %</td></tr><tr><th>F1</th><td>88.5 %</td><td>93.9 %</td><td>91.9 %</td><td>93.2 %</td><td>94.9 %</td><td>97.8 %</td><td>86.0 %</td><td>92.5 %</td></tr></tbody></table>

<figure><img src="image_6.png" /><figcaption>**Fig. 4.** ROC curve on the validation dataset. Please note the breaks in x and y scales on the main plot area, which differ from the inner subplot defined on the entire domain.</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>**Fig. 5.** Illustration of the model's results for slate roofs. The buildings where the model predicted PV systems are outlined in red. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)</figcaption></figure>

with PV panels. This is evident in Figures A and B in Fig. 8, where porches are misinterpreted as PV panels. On the other hand, building B in Fig. 7 has both a porch and several PV panels. However, the PV panels appear similar to a cast shadow of the porch. Furthermore, the building is equipped with PV panels in three locations, with three different shapes. This is quite unusual and may confuse the model.

<figure><img src="image_8.png" /><figcaption>**Fig. 6.** Illustration of the model's results for tile roofs. The buildings where the model predicted PV systems are outlined in red. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>**Fig. 7.** FN predictions and score (threshold = 0.5)—department 22 (A, B) and 34 (C, D).</figcaption></figure>
<figure><img src="image_10.png" /><figcaption>Fig. 8. FP predictions and score (threshold = 0.5)—department 22 (A, B) and 34 (C, D).</figcaption></figure>

A second major difficulty is the swimming pools. Indeed sometimes swimming pools can have a dark-blue color, making them look like PV panels. Buildings C and D in Fig. 7 have both a swimming pool and PV panels. Yet, these two images are classified as negative. That may be due to difficulties for the model to focus on the other relevant patterns of the picture if a swimming pool is identified. Covered swimming pools or verandas also seem to misguide the model. In buildings C and D of Fig. 8, the white armature of the veranda could indeed be interpreted as an inter-panel space.

### 4.2.3. Results on ‘unseen’ departments

Fig. 10 presents a schematic view of departments 11 and 56, with red shapes indicating identified PV panels. Department 11 is located in the south of France, similar to department 34, while department 56 is in the northwest, similar to department 22. As a reminder, departments 11 and 56 were not previously used in the training/validation phase (see Section 2.5 and Fig. 1).

According to the classifier, the number of PV panels installed in department 11 is nearly twice that in department 56. Fig. 9 illustrates this by showing the proportion of buildings with identified PV panels as a function of the classification threshold.

Common trends can be observed in the curves of Fig. 9. Significant variations in the number of buildings identified with PV panels occur at very low and very high thresholds, indicating a high number of confident predictions—though some may be incorrect (see buildings A, B, and C in Fig. 7). On the other hand, the number of discovered PV panels changes more gradually around the 0.5 threshold, suggesting uncertainty in the predictions for more challenging cases (such as building D in Fig. 7).

### 4.3. Comparison with registered RPV systems at the municipality level

In the following sections, the results for three departments are presented: Aude (11), Morbihan (56), and Loire-Atlantique (44). The

<figure><img src="image_11.png" /><figcaption>Fig. 9. Ratio of buildings equipped with PV for departments 11 and 56, according to the model.</figcaption></figure>

motives behind the choice of these departments are detailed in Section 2.5. The prediction from the classifier will here be compared to the DSO database which contains information about the number of registered RPV installations in municipalities (see Section 2.2.3). Note that some comments on the quality of the DSO data are presented later in Section 5.4.2.

#### 4.3.1. Roof tiles: case of the aude (11) department

To assess the accuracy of the predictor for a department, it is important to first evaluate how many PV installations are present in each municipality. In the following example, the Aude (11) department is used. As mentioned earlier, the Aude department closely resembles the Hérault (34) department, which was used for training and validation of the CNN. However, none of the data from the Aude department were previously seen by the model.

The relationship between the number of buildings $N_{buildings}$ and the number of registered PV installations $N_{PV,registered}$ is presented in Fig. 11. In this figure, each cross represents one of the 433 municipalities in the department. A linear relationship shows that the number of PV systems increases with the size of the municipality. This result is expected for statistical reasons, more buildings leading to a higher likelihood of having RPV systems. However, the fit of the linear regression is not perfect, as some points deviate significantly from the regression line. This indicates that, in certain municipalities, the RPV rate (number of PV systems per building) is either lower or higher than the department's average.

The comparison between the number of identified PV systems by the CNN model and the registered number of RPV installations for each municipality is presented in Fig. 12. There is a strong correlation between the predicted and actual number of PV systems in this department. The linear relationship is highlighted by the regression line.

In what follows the slope of the regression line between the number of predicted PV systems in municipality and the number of registered PV systems will be referred to as $a_{PV}$. Here $a_{PV}$ is slightly above one which indicates that overall the number of PV systems identified in the municipalities matches the number of PV system registered by the DSO. Nevertheless the model, in average tends to identify 8.7 % more RPV systems than the number officially registered. Note that this over-estimation can be easily corrected by slightly increasing the thresholds (see Sections 4.2.3 and 5.1) which could lead to a slope of $a_{PV} = 1$.
<figure><img src="image_12.png" /><figcaption>Fig. 10. Location of buildings with PV panels in the 'Aude (11)' department (top) and the 'Morbihan (56)' department (bottom) according to the classification model.</figcaption></figure>

The R² factor of 0.981 confirms this high correlation. Notably, the correlation between the predicted and actual number of PV systems is stronger than that between the number of buildings and the actual number of PV systems. For example, some outliers that deviated significantly from the regression line in Fig. 11 now closely align with the regression line in Fig. 12. This demonstrates that the strong fit observed in Fig. 12 is not simply due to a proportionality relationship, but reflects the effectiveness of the model's predictions.

In what follows the slope $a_{PV}$ and the fitting factor R², will be used to assess whether the predictions of the systems matches the official records from the DSO.

To better assess the quality of the prediction for each village, a non-dimensional factor $Adim_{PV}$ is defined for each village k as

$$Adim_{PV}(k) = \frac{N_{PV, predicted}(k)}{N_{PV, registered}(k)}. \qquad (1)$$

When $Adim_{PV}(k)$ equals one, it indicates that, for the k-th village, the number of predicted PV systems matches the number of registered PV systems. A value greater than one suggests that the number of identified PV systems is greater than the number of registered ones. The $Adim_{PV}$ values for each municipality in the department are presented as boxplots
<figure><img src="image_13.png" /><figcaption>**Fig. 11.** Number of buildings $N_{buildings}$ versus number of PV installations reported by the DSO $N_{PV,registered}$ in the municipalities of the Aude department (11).</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>**Fig. 12.** Number of predictions $N_{PV,predicted}$ versus number of PV installations reported by the DSO $N_{PV,registered}$ in the municipalities of the Aude department (11).</figcaption></figure>

in Fig. 13. Given the wide range of municipality sizes and their varying numbers of buildings, the boxplots are grouped by municipality size. As shown, across all municipality sizes, the median value is close to or equal to one. The upper and lower quartiles, as well as the maximum and minimum values (excluding outliers), tend to converge slightly above one.

Note here that there is one clear outlier for one municipality within the range 10 K–20 K. This specific case is due to cast shadows and will be discussed more in detail in Section 5.4.

<figure><img src="image_15.png" /><figcaption>**Fig. 13.** Boxplot of the values of $Adim_{PV}$ for the municipalities of the Aude department. The boxplot is plotted for different size of municipalities, ranked by the number of buildings in the municipalities.</figcaption></figure>

### 4.3.2. Slates: case of the morbihan (56) department

As mentioned above, the Morbihan department is expected to be similar to the Côtes-d'Armor (22) and Ille-et-Vilaine (35) departments, which were used in the training dataset.

The number of buildings for each municipality versus the number of registered PV systems is plotted in Fig. 14. Similar to the Aude department, there is a linear trend. However, the average number of PV systems per building is lower than that of the Aude department.

The number of predicted PV systems is plotted against the number of registered PV systems for each municipality in Fig. 15. It can be observed that the linear fit is improved compared to the fit in Fig. 14, indicating that the proposed model, to some extent, works in this department. Nevertheless, the linear fitting factor of 0.832 is lower than that of the Aude department, clearly showing that model performance is lower than for the Aude department. The slope of the regression line is 0.912, suggesting that, overall, the correct number of RPV systems is predicted in most municipalities for this prediction threshold.

### 4.3.3. Slates and roof tiles: case of the Loire-atlantique (44)

As mentioned in Section 2.5, the department of the Loire-Atlantique was selected since it presents both roof tiles and slates.

The relationship between the number of predicted PV systems and the number of registered PV systems for the Loire-Atlantique department is presented in Fig. 16, showing similar characteristics to those previously observed for the Aude and Morbihan departments. In Fig. 17, the same relationship is plotted, but with a distinction between whether the municipality is predominantly covered by slates or tiles. This distinction is particularly relevant in this department due to a clear difference in local urban characteristics. Indeed, south of the Loire River, municipalities use roof tiles, whereas north of the Loire, municipalities must use slates as a roofing material.

This distinction between roofing materials allows for the definition of two separate linear regression fits, based on the roofing material. For both fits, the $R^2$ factor is improved. The high $R^2$ values of 0.965 and 0.931 suggest that the model is overall accurate in identifying PV panels in municipalities. The fit for municipalities with tile roofs is similar to that observed in the Aude department, with a slope coefficient of 1.067, indicating that slightly more PV panels are identified than those officially registered. In contrast, for municipalities with slate roofs, the slope of the linear regression is lower, suggesting that some PV systems are missed by the model in these municipalities.
<figure><img src="image_16.png" /><figcaption>**Fig. 14.** Number of buildings $N_{Buildings}$ versus number of PV installations reported by the DSO $N_{PV,registered}$ in the municipalities of the Morbihan department (56).</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>**Fig. 15.** Number of predictions $N_{PV,predicted}$ versus number of PV installations reported by the DSO $N_{PV,registered}$ in the municipalities of the Morbihan department (56).</figcaption></figure>

### 4.4. National statistics

The model is then applied to all metropolitan French departments. Similar to Figs 12 and 15, the slope of the regression line ($a_{PV}$ as in Fig. 12 or Fig. 15) and the $R^2$ factor are used as indicators to assess how well the predictions match the ground truth. A slope coefficient greater than one indicates that the model systematically identifies more RPV

<figure><img src="image_18.png" /><figcaption>**Fig. 16.** Number of predictions versus number of PV installations in the municipalities of the Loire-Atlantique department (44).</figcaption></figure>

<figure><img src="image_19.png" /><figcaption>**Fig. 17.** Number of predictions versus number of PV installations for each roof type, in the municipalities of the Loire-Atlantique department (44).</figcaption></figure>

systems than those officially registered by the DSO, while a slope lower than one suggests the opposite.

The $R^2$ factors provide an indication of how accurate the model is across all municipalities within each department. An $R^2$ factor of one suggests a perfect linear relationship between the number of RPV systems identified by the model and those in the official records.

If all the buildings registered within the DSO database were identified by our model, then we would have $a_{PV} = 1$ and $R^2 = 1$. Yet this is not a sufficient condition since, even if these two conditions are met, it is still possible that in some municipalities a certain number of RPV systems
<figure><img src="image_20.png" /><figcaption>Fig. 18. Slopes of the regression lines ($a_{PV}$) between the predicted number of PV panels and the number of PV panels registered for the French departments.</figcaption></figure>

<figure><img src="image_21.png" /><figcaption>Fig. 19. $R^2$ fitting factors of the regression line between the predicted number of PV panels and the number of PV panels registered for the French departments.</figcaption></figure>

are missed, but the same number of non-PV systems are misclassified as RPV (in other words, $TP + FP = N_{registered}$ with $FP > 0$).

As observed in Fig. 18, for many departments, the slopes, $a_{PV}$, are close to one, and the $R^2$ factors are greater than 0.9, indicating that our predictive model performs well in these departments. However, in departments predominantly composed of slate roofs (such as in Brittany), the slopes tend to be lower, which confirms what was previously observed in in Sections 4.3.2 and 4.3.3. Nevertheless, this trend does not apply to all departments, as some with a high share of slate roofs have slopes greater than one.

Departments in the eastern and northern parts of France have the worst scores. This may be attributed to the fact that these departments are geographically 'far' from those used in the training set. Despite efforts to build a training dataset that represents the diversity of French roofs and areas, each territory may have its own urban planning rules or roof typologies. It is also possible that the data used (Aerial Imagery Section 2.2.1, Building Registry, Section 2.2.2, PV location registry Section 2.2.3) are of heterogeneous qualities in some areas. Some of the factors contributing to these performance differences will be discussed in Section 5.

<figure><img src="image_22.png" /><figcaption>Fig. 20. Influence of the prediction threshold on the $R^2$ factors and the slopes of the regression line in the Loire-Atlantique (44) department. Slope coefficients are indicated by the '+' symbol, and their values can be read on the left y-axis. $R_2$ factors are indicated by 'o' symbols, and their values can be read on the right y-axis. Red symbols are related to the $R_2$ and slopes for tiled roofs, whereas grey symbols relate to slate roofs. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)</figcaption></figure>

# 5. Discussion

## 5.1. Influence of the prediction threshold

As mentioned in Section 3.2.3, a prediction threshold of 0.5 was used for most of these results. This value of 0.5 is commonly used when setting CNN thresholds, and also makes some sense according to the distribution of the results in Fig. 9 since it is in the 'middle'. Nevertheless, it is, most of the time, possible to 'adjust' this threshold in order, either to get a higher value of $R^2$ fitting factor, or to get a slope $a_{PV}$ of one.

The influence of the prediction thresholds on the $R^2$ and slope is presented for the Loire-Atlantique (44) department in Fig. 20. As mentioned above (Section 4.3.3), this department is divided into two parts: the northern part predominantly composed of slate roofs and the southern part with tile roofs. It can be observed that in order to achieve a slope of one, the prediction threshold should be slightly below 0.4 for slate roofs and around 0.6 for tile roofs.

For slate roofs, it can be seen that decreasing the threshold also decreases the $R^2$ factor. This implies that while a lower threshold may allow the model to identify the same number of RPV systems as those registered by the DSO, the accuracy of the model decreases as the dispersion increases. This results in a greater likelihood of numerous non-PV systems being falsely identified as PV, making the model less reliable. Overall, increasing the thresholds, increase the $R_2$ value. This is to some extent expected since by increasing the threshold we keep the predictions with a higher score and therefore a higher probability of correct predictions.

## 5.2. Influence of the roofing material on the results of the prediction

Since more than a quarter of the training dataset was composed of slate roofs, it is unlikely that a slight imbalance in the training dataset explains the lower performance on slate roofs. Here, the different reasons which may explain this underperformance are:
<figure><img src="image_23.png" /><figcaption>**Fig. 21.** Illustration of the location of the detected PV systems in a municipality whose city center is under heritage constraints.</figcaption></figure>

* **Color contrast between the slates and the PV systems.** As can be seen in Figs. 1, 7 and 8, slate roofs are dark and depending on the time of the day, the type of PV system and the type of slate, the difference in the RGB colors between the roof and the PV systems can be very subtle making it difficult to differentiate. This difficulty can introduce errors both in the labeling phase and in the prediction phase.

* **Cast shadows.** In Brittany (region with slate roofs) the roofs are usually steeper. It is therefore possible to have greater shadow casting on roofs (see Figs 1, 7 and 8). These shadows can generate a darker parallelogram shape on roofs which may be identified as a PV system either at labeling phase or at prediction phase.

## 5.3. PV systems in heritage areas

In France, as in many countries, some urban areas are subject to heritage protection. Numerous buildings such as old houses, castles, churches, etc., are protected because they represent heritage monuments. In these cases, it is difficult (or impossible) to modify the aspects of these monuments. Sometimes, an entire area is protected, which can be either a natural park or the old city center of a village. In some other cases, the area around the monument is protected. For instance, in France, within a radius of 500 m around a heritage monument, modifications to neighboring buildings must be approved by the competent authority beforehand. This includes the installation of PV systems on roofs. Therefore, in these areas, it is not forbidden to install PV systems on roofs, but the type of protection and the policy followed by the local competent authority can make it more difficult. As a consequence, it is expected that fewer PV systems will be found in areas with heritage restrictions.

This is illustrated in Fig. 21, for the municipality of Capendu. In this town, half of the buildings are located in a restricted area regarding the heritage constraints. As a result, only four buildings are equipped with PV in this area whereas 12 buildings have PV system in the remaining part of the town. Furthermore it can be observed that the roofs equipped with PV are located near the edge of the protected areas where the competent authorities are more likely to accept a PV project installation.

It is important to note that in France, these areas are restricted for PV installations, but it is not impossible to install systems there. This can be seen in Table 5 which presents the share of buildings with PV in

<table><caption>**Table 5**
Properties of buildings equipped with PV panels in protected areas.</caption><thead><tr><th>Dept. Code</th><th>Area</th><th>% RPV</th><th>Pred. score</th></tr></thead><tbody><tr><td rowspan="2">11</td><td>Normal</td><td>2.</td><td>0.943</td></tr><tr><td>Protected</td><td>0.800</td><td>0.917</td></tr><tr><td rowspan="2">56</td><td>Normal</td><td>0.910</td><td>0.838</td></tr><tr><td>Protected</td><td>0.770</td><td>0.820</td></tr></tbody></table>

<figure><img src="image_24.png" /><figcaption>**Fig. 22.** Distribution as boxplots of the $R^2$ and slope ($a_{PV}$) indicators, sorted by the year when aerial pictures of the departments were taken.</figcaption></figure>

protected areas and normal (non-protected) areas. Both departments 11 and 56 have lower PV shares in protected areas. This difference at the department scale, as seen by the model, is in line with the real constraints discussed above. Moreover, Table 5 shows that buildings in protected areas have a lower prediction score, possibly indicating PV installations that are difficult to detect, and thus of lower visibility from the ground compared to unrestricted areas.

## 5.4. Limitations and lessons learnt from analysis of the outliers

As mentioned in previous sections, the current version of the model performs differently depending on the department, the municipality, the characteristics of its buildings, or the quality of the data. In this section, various sources that may explain these differences in performance are investigated at different scales.

### 5.4.1. At the national scale

In Section 4.4, it is clear that there are performance differences between departments. As mentioned in Section 2.2.1, the department scale is important here, as the aerial imagery is homogeneous within each department. For example, images for an entire department are typically taken over the course of a few consecutive or close days. However, the images for a neighboring department may be taken one to three years later.

The $R^2$ and slope indicators for all departments, as presented in Section 4.4, are sorted according to the year in which the aerial imagery was taken. This is illustrated as boxplots in Fig. 22. It can be observed that as the data becomes more recent, the dispersion of the $R^2$ and slope indicators tends to narrow around one.

This trend should be confirmed with future data (progressively, data from 2021 will be replaced by those from 2024, though the 2024 data are not yet available). Nevertheless, it suggests that more recent data may be of higher quality, both in terms of aerial imagery and the DSO's counting of officially registered PV systems.
Other limitations must be acknowledged in this study. Most of the used aerial images have a 20 cm/pixel resolution, which, while detailed, may not capture the finer details of smaller RPV systems. This limitation impacts the precision of detection, particularly for systems with low visibility or in areas with complex shading effects. Additionally, the hours at which aerial pictures are taken can significantly impact the prediction, with cast shadows that may cause inadequate predictions (an example is presented in Section 5.4.3). Higher resolution may help improve the results in these matters

Another limitation concerns the representativeness of certain unique urban environments. In Paris, roofs are highly diverse and unique, with many glass or zinc roofs, which can resemble PV systems. Additionally, due to strict architectural regulations, according to the DSO, only 150 PV installations were installed in 2021 (year in which IGN aerial imagery was taken) for 72,000 buildings. Given the distinctive and heterogeneous architecture in Paris, it would be nearly impossible to train the CNN effectively with such a small amount of data.

Lastly, if the cadastral data used is outdated or incomplete, PV panels installed on buildings that are not present in the used version of the cadastre will not be recognized. This highlights the importance of having up-to-date and accurate building registries to improve detection performance.

### 5.4.2. *At the department scale*

As mentioned above, several factors may explain the lower performance of the CNN model in detecting PV systems. However, it is also possible that poor $R^2$ or slope indicators may not be due to the model's failure to identify systems, but rather to inaccuracies in the DSO database, i.e., an incorrect number of registered PV systems.

**DSO data quality:**

In Fig. 18, it can be observed that the two eastern departments (Haut-Rhin (68) and Bas-Rhin (67)) have the worst slope indicators ($a_{PV}$). This is especially surprising since department 67 was used to train the model (see Fig. 1). A visual inspection of the results in this department reveals that the model appears to perform well and correctly identifies the overall number of PV systems. The discrepancy could then arise from incomplete data provided by the DSO for these departments.

This possibility is supported by two reasons. First, although one main DSO company (Enedis) is responsible for 95 % of the French territory, certain regions have local DSOs. This is the case for departments 67 and 68, where more than 30 different local DSOs operate. The aggregation of data from multiple local sources may introduce discrepancies. A similar situation occurs in the Oise department, which has the lowest $R^2$ score in Fig. 19.

**Timing difference between DSO and aerial imagery data:**

Another factor that introduces inadequacies is the time difference between the aerial imagery and the DSO data (see Table 1). In general, IGN aerial imagery is typically captured between mid-June and October (mostly during the second semester). Therefore, in the present study, it was decided to use the DSO data from the same year as the aerial imagery for the comparison.

As a result, it is reasonable to obtain an $a_{PV}$ coefficient (slope of the regression fitting line, see Fig. 12) slightly less than one, since there are theoretically fewer installations to be detected in the aerial imagery (June to October) than are registered in December of the same year. For instance, between 2020 and 2021, there was an 11 % increase in the number of installations. Given an average time lag of 4–6 months between the aerial and DSO data, it can be estimated that approximately 5 % more installations were reported by the DSO than were identified in the aerial imagery that year. Between 2022 and 2023, this difference increases to an average of 10–15 %.

While it could be possible to improve precision and accuracy indicators at the departmental level ($a_{PV}$ and $R^2$ factors) by interpolating the DSO data—essentially reducing the number of registered installations in each municipality by 5–15 %—this would not necessarily enhance accuracy or precision at smaller spatial scales, such as the municipality or

<figure><img src="image_25.png" /><figcaption>Fig. 23. Illustration of false positives detected by the system due to alignment between cast shadows and the roof's layout. Municipality of Leucate in the Aude department.</figcaption></figure>

building level. Moreover, since there is no active feedback loop between the confrontation process and the model training, this adjustment would not impact the model's performance itself.

In addition, it is entirely possible that some departments may have lower data quality due to other local factors, whether historical, topographical, technical, juridical or otherwise.

In conclusion, when poorer scores are observed in the comparison between the model's predictions and DSO data in Figs 19 and 18, it may not always be attributed to lower performance of the model.

### 5.4.3. *At the city scale*

As shown in Fig. 13, there are some outliers when examining the $Adim_{PV}$ indicator (the ratio between the number of predicted RPV systems and the number of officially registered PV systems, see Eq. (1)).

It is the case of the city of Leucate, which is the only municipality within the 10 K-30 K buildings category in Fig. 13. In this municipality, the CNN model identifies more than twice as many RPV systems as those officially registered. This is surprising since other municipalities in this department have an $Adim_{PV}$ value around one. A visual inspection revealed that in one part of this village, there is an exact alignment between cast shadows at the time the picture was taken and the urban layout as can be seen in Fig. 23. This creates rectangular cast shadows on roofs, which are sometimes interpreted as RPV systems by the CNN model. The issue is not the cast shadows themselves, as many images with cast shadows are not misinterpreted by the model. The problem arises due to the precise alignment of the cast shadows with the roof layout, which is an unusual occurrence.

## 5.5. Perspectives

### 5.5.1. *Model's continuous improvement*

Several perspectives could expand the scope of the current methodology. One improvement would be to systematically update the dataset with the latest aerial imagery when new IGN data becomes available. This would help account for newly installed PV systems and improve the overall accuracy of the model with new aerial images of previously identified RPV. Indeed, a picture, taken in the same location, but at different date and hour of the day, with different lighting conditions, offers the opportunity to better detect and therefore potentially remove cast shadows, swimming pools or skylights. Specific integration of outliers, like the one discussed in Section 5.4.3, by manual labeling of these difficult cases could also make the model more robust and versatile.

Additionally, it could also be possible to adjust the prediction threshold (see Section 5.1) in order to improve the confrontation metrics ($R^2$ and $a_{PV}$). This could be interesting in departments for which we already have good confrontation metrics (see Figs 19 and 18). In other departments, other improvements should be addressed first.

### 5.5.2. *Integration of non-imagery data*

As shown in Section 5.3, there are fewer PV systems in protected areas. In a future version of the model, information about the presence of
heritage constraints could be incorporated as an input to the prediction model. This would allow the predictions to account for whether the considered roof is located in a heritage area.

More broadly, various additional inputs could be considered for inclusion in the prediction models. A non-exhaustive list includes: the date and time at which the aerial imagery was taken (to address light-induced misclassifications such as cast shadows), the roof's material, the age of the building, the socio-professional category of the dwelling, and the presence of PV panels in the neighborhood.

Incorporating these non-imagery data would necessitate reworking the CNN architecture to accommodate additional inputs beyond pixel-based information.

### 5.5.3. Segmentation and energy production estimation

A natural next step for this work would be to estimate the size of the PV system. To that aim a step of semantic segmentation would allow us to estimate the installed capacity. Currently several tools, mentioned in the introduction as for example [12,29,30], could be implemented in order to perform this segmentation. Nevertheless, this would likely require additional labeling, adjustments, and model retraining, as most existing models were not trained on French imagery (except for [29]). Moreover, these models were trained on tile-based rather than building-centered imagery, making further training necessary. These additional steps fall outside the scope of the present work but could undoubtedly be achieved in the near future.

A further step would be to estimate PV energy production from the identified size of each system. This would require integrating a physical model of the PV system taking as an input the estimation of received irradiance and yielding the corresponding PV electricity generation.

Obtaining irradiance data in France (and most of the world) is relatively straightforward using databases such as PVGIS [40]. However, determining the in-plane irradiance requires knowledge of roof azimuth and slope, which is significantly more challenging. At first order, it is possible to provide statistical estimate of this information based on morphological indicators [41]. But roofs are best described using vectorial data. Some of the most detailed labeled datasets currently available are those of Krapf et al. [20] and [16], containing several hundreds to thousands of labeled images. Despite their high quality, these datasets are limited to specific geographic locations in Switzerland and Germany. Given the high heterogeneity of a country like France, it is likely that these datasets would need to be significantly expanded with additional labeled data from various regions of France or Europe to improve generalizability. To the best of our knowledge, no classified dataset covering country-scale areas has been made available in open access (some European cities have released such data). Additionally, LiDAR (Laser imaging Detection And Ranging) data could be used to estimate roof azimuth and slope.

Regarding the data processing method, a machine learning model could be trained in order to achieve high spatial coverage, as recently demonstrated by Boccalatte et al. [42] for the city of Geneva.

Finally, to achieve high accuracy in PV production estimation, it is essential to account for local features such as cast shadows from nearby trees, buildings, or superstructure elements. This level of detail requires high-resolution analysis, which is achieved by certain solar cadastre models [43]. When combined with PV size estimation, such an approach could provide a refined assessment of PV energy production. Some authors are currently working in this direction, such as Li et al. [44] for the city of Brussels. However, relatively small available datasets (e.g. 1880 labeled buildings from the RID dataset [20]) likely need to be expanded to ensure applicability in more heterogeneous urban environments.

### 5.5.4. Methodology scalability

Despite this paper providing one of the most detailed open-access databases of RPV locations in Europe, the study has been conducted exclusively on metropolitan France. Nevertheless, the proposed methodology is transferable to other countries, provided the necessary

datasets—such as building registries and aerial imagery—are available. Unified databases for building footprints exist at the European scale [45] and even at the global scale [46], making such applications feasible.

Regarding aerial imagery, many governments now provide high-resolution imagery in open access, which could be utilized for this purpose. While the methodology itself would remain unchanged, the training and validation datasets would need to be updated to include labeled images from countries with roof characteristics differing from those found in France.

### 5.5.5. Understanding the PV deployment levers and barriers

Additionally, the integration of socio-economic analysis could provide deeper insights into the factors influencing PV adoption. By correlating the detected PV systems with socio-economic data, future studies could explore the dynamics behind the spatial distribution of PV systems, offering valuable information to policymakers and urban planners. Additionally, since imagery data are available for different years, it is possible to track the temporal adoption of PV panels across territories, providing insights into their diffusion patterns. This would help defining scenarios for massive deployment of solar energies.

### 5.5.6. Support and decision aiding for the PV deployment

Finally, the present work and database could have several potential impacts on various stakeholders in the PV sector and the energy transition.

First, at a national scale, this study provides insights into how PV panels are distributed across the country. This information can help public authorities identify regions where efforts should be concentrated to accelerate PV deployment. In France, ENEDIS, the main national DSO (covering more than 95 % of the territory), already possesses data on PV system locations. However, having an independent, comprehensive identification of PV panels based on aerial imagery could be valuable for cross-referencing with their own database. This would allow them to verify the accuracy of their registered data, identify potential discrepancies, and reinforce their database in areas where their spatial coverage is limited.

Moreover, not all countries have a detailed register of existing PV panel locations. In such cases, our approach could be highly beneficial, providing a valuable tool to identify and map the distribution of PV panels across their territories.

At a more local scale, the understanding of the PV location as well as its adoption dynamics could be useful for the grid operator in order to anticipate the potential grid reinforcement that would be required.

Another potential application of this work is to support various stakeholders involved in the energy transition. For instance, municipalities aiming to achieve specific PV deployment targets could use this database to assess the PV penetration rate within their jurisdiction and determine exactly where PV panels are installed—and, just as importantly, where they are not. Combined with multi-criteria approaches for identifying optimal rooftops for RPV installation [4,5], this dataset could provide scalable and efficient tools to local authorities, helping them meet their PV energy production objectives.

## 6. Conclusions

This article presents a unified opensource methodology for RPV systems detection in heterogeneous architectural areas. It is based on aerial imagery, building registry, a CNN neural network and a two-step validation process.

First, individual building images were created as the intersection of cadastral data and aerial land photography. Then part of these images was manually labeled for a classification purpose, depending on whether they exhibit a roof-based PV installation. An EfficientNetB2 convolutional neural network was then trained on both this fitting dataset and freely accessible labeled images from [27]. The performances of this detection model were assessed in a two-step procedure. On the one hand the validation part of the fitting dataset produced recall and precision
values for a strict evaluation of the neural network. On the other hand, the model inferences for new buildings were compared to the actual census data of the French DSO at the city level.

This PV detection algorithm performs well overall but its performances are impacted by local factors such as the roof or urban characteristics. In particular, the model encounters more difficulties with slates (grey, west of France) than with roof tiles (orange, evenly distributed in France). Other common difficulties include a confusion of swimming pools and verandas with PV systems. Though this performance variability from one building to another could be seen as a limitation, it can be mitigated by a careful selection of the prediction threshold at territory scale. Overall, the good quality of prediction results is concrete, and can be noticed for instance by focusing on the low PV prevalence in heritage-constrained built areas.

In total, nearly 600 000 RPV systems are predicted by the model out of more than 40 million building images. These data are coherent with national data. Indeed, despite this, the most recent register (June 2024) [36] reports more than 1 million RPV systems, in France. There has been a recent boom in these installations, since 2023, which cannot be detected by our model since the imageries used are from 2021 to 2023. This dataset covers the entire metropolitan France which represents one of the most detailed and prolific databases of RPV systems' locations for a European country, and the most detailed database for France.

The results are compared with ground truth at the municipality scales. In total more than 34,000 municipalities are considered in the present work. This represents one of the most robust and large scale comparisons between CNN predictions for RPV systems and ground truth, that we could find in the scientific literature.

## Declaration of generative AI and AI-assisted technologies in the writing process

During the preparation of this work the author(s) used ChatGPT-OpenAI in order to check the English grammar. After using this tool, the author(s) reviewed and edited the content as needed and take(s) full responsibility for the content of the publication.

## Acknowledgements

This work was supported by the French National Research Agency under the "Investissements d'Avenir" programme (ref. ANR-18-EURE-0016 - Solar Academy). We acknowledge as well the work from the LOCIE members for their help in labeling some of the images.

## Data availability

Both our code and data are publicly accessible. Regarding the software part, all the data was processed using a Python code. This code is available on GitHub [47] under an AGPL-3.0 license.

The data involved in the study is split into 3 distinct deposits:

* The training material (see Section 3.2.1) for the CNN model and the CNN model itself [48] can be accessed at https://doi.org/10.57745/CH6QN4.

* The results of the predictions of the CNN model for the metropolitan French territory (Figs 18 and 19) can be accessed at [49] https://doi.org/10.57745/BXXYW4.

* The individual building images for French departments [50] can be accessed at https://doi.org/10.57745/V2LFQS.

Training (approximately 5 hours) and use of the model (1 h per department) were achieved on a Dell Precision 5820 shared working station, using one GPU (Nvidia Quadro P4000) and available CPU (Intel Xeon W-2125). None of the computational steps are memory intensive. Operating system is Ubuntu 22.04.

## Appendix A. Structure of the neural network

An EfficientNetB2 neural network is used as a binary image classifier. It consists of neuron layers organized as blocks, each block being processed one after another. These layers are mainly convolution, padding and normalization operations. The EfficientNet family of CNNs was introduced by Tan et al. [39] to demonstrate their new compound scaling method, i.e., making the network bigger and more accurate in many cases while preserving its internal structure. Hence, EfficientNetB2 differs from EfficientNetB1 by being wider, deeper and with higher resolution.

Parameters are initialized with the one of the ImageNet dataset training. For training only, a 30 % dropout is appended after the last pooling layer. Final output is produced by a sigmoid function, i.e., $\hat{y}_i \in [0, 1]$, and is referred to as the prediction score. Comparison of this scalar with a threshold, e.g. 0.5, decides whether the input image contains or not PV panels. Note that the influence of the thresholds value will be discussed in Section 5.1.

The input shape of the network is (250, 250, 3), (i.e., (250, 250) RGB images), yet the shape of each building image depends on the size of the building itself.

Hence, images smaller than the neural network input are padded with 0 (black). These null values are expected not to interfere with the interpretation of the remaining pixels since convolutional operations of the EfficientNetB2 focus on local square shaped subimages of the original input, enabling detection of the nature of these black areas. Conversely, images larger than the neural network input must be cropped. A drawback of this approach is the exclusion of PV systems located at the edge of large images, transforming them into non-PV images in spite of their PV label and thus misleading the learning process. Nevertheless, since our images are centered on the building, this case may only occur in case of very large buildings which would be equipped with PV panels on their sides. This likely represents a residual amount.

## Appendix B. Network training, additional details

The network weights are updated using a cross-entropy loss function (Eq. B.1) and the Adam optimizer [51]. The batch size is set to 32. The learning rate starts at $5 \times 10^{-5}$ and is halved every 3 epochs. The final model is selected based on the highest F1 value achieved on the validation dataset, evaluated across 15 epochs.

$$L \propto \sum_{i=1}^{32} [y_i \times \log(\hat{y}_i) + (1 - y_i) \times \log(1 - \hat{y}_i)] \quad (B.1)$$

## Appendix C. Validation metrics formulas

TP and FP metrics are defined in equations (C.1), (C.2) and (C.3).

$$precision = \frac{TP}{TP + FP} \quad (C.1)$$

$$recall = \frac{TP}{TP + FN} \quad (C.2)$$

$$F1 = \frac{2 \times prec \times rec}{prec + rec} \quad (C.3)$$

Precision is the ratio of correctly predicted positive images among all images classified as positive, while recall represents the proportion of actual positive images that were correctly classified. Since precision tends to decrease as recall increases, F1 is used to evaluate the overall balance of the model.

A complementary metric is the False Positive Rate (FPR) which is the share of misclassified non-PV images, i.e., images classified as positive though they actually did not contain any PV system (Equation (C.4)).

$$FPR = \frac{FP}{TN + FP} \quad (C.4)$$
## References

[1] IPCC. Climate change 2023: synthesis report. contribution of working groups i, ii and iii to the sixth assessment report of the intergovernmental panel on climate change. Tech. rep. IPCC; 2023.

[2] Jaxa-Rozen M, Trutnevyte E. Sources of uncertainty in long-term global scenarios of solar photovoltaic technology. Nat Clim Chang 2021;11(3):266-73.

[3] Walch A, Rüdisüli M. Strategic pv expansion and its impact on regional electricity self-sufficiency: case study of Switzerland. Appl Energy 2023;346:121262.

[4] Thebault M, Clivillé V, Berrah L, Desthieux G. Multicriteria roof sorting for the integration of photovoltaic systems in urban environments. Sustain Cities Soc 2020;60:102259.

[5] Thebault M, Desthieux G, Castello R, Berrah L. Large-scale evaluation of the suitability of buildings for photovoltaic integration: case study in greater geneva. Appl Energy 2022;316:119127.

[6] Gupta R, Pena-Bello A, Streicher KN, Roduner C, Farhat Y, Thöni D, et al. Spatial analysis of distribution grid capacity and costs to enable massive deployment of pv, electric mobility and electric heating. Appl Energy 2021;287:116504.

[7] Brockway AM, Conde J, Callaway D. Inequitable access to distributed energy resources due to grid infrastructure limits in california. Nat Energy 2021;6(9):892-903.

[8] Rahdan P, Zeyen E, Gallego-Castillo C, Victoria M. Distributed photovoltaics provides key benefits for a highly renewable European energy system. Appl Energy 2024;360:122721.

[9] Vasseur V, Kemp R. The adoption of pv in the Netherlands: a statistical analysis of adoption factors. Renew Sustain Energy Rev 2015;41:483-94.

[10] Castellanos S, Sunter DA, Kammen DM. Exploring rooftop solar photovoltaics deployment and energy injustice in the us through a data-driven approach. In: Data science applied to sustainability analysis. Elsevier; 2021. pp. 109-28.

[11] Müller J, Trutnevyte E. Spatial projections of solar pv installations at subnational level: accuracy testing of regression models. Appl Energy 2020;265:114747.

[12] Yu J, Wang Z, Majumdar A, Rajagopal R. DeepSolar: a machine learning framework to efficiently construct a solar deployment database in the United States. Joule 2018 Dec; 2:2605-17.

[13] O'Shaughnessy E, Barbose G, Wiser R, Forrester S, Darghouth N. The impact of policies and business models on income equity in rooftop solar adoption. Nat Energy 2021;6(1):84-91.

[14] Sunter DA, Castellanos S, Kammen DM. Disparities in rooftop photovoltaics deployment in the United States by race and ethnicity. Nat Sustain 2019;2(1):71-76.

[15] Walch A, Castello R, Mohajeri N, Scartezzini J-L. Big data mining for the estimation of hourly rooftop photovoltaic potential and its uncertainty. Appl Energy 2020;262:114404.

[16] Assouline D, Mohajeri N, Scartezzini J-L. Large-scale rooftop solar photovoltaic technical potential estimation using random forests. Appl Energy 2018;217:189-211.

[17] Pueblas R, Kuckertz P, Weinand JM, Kotzur L, Stolten D. Ethos. passion: an open-source workflow for rooftop photovoltaic potential assessments from satellite imagery. Sol Energy 2023;265:112094.

[18] Joshi S, Mittal S, Holloway P, Shukla PR, Gallachóir B, Glynn J. High resolution global spatiotemporal assessment of rooftop solar photovoltaics potential for renewable electricity generation. Nature Commun 2021;12(1):1-15.

[19] Kruitwagen L, Story K, Friedrich J, Byers L, Skillman S, Hepburn C. A global inventory of photovoltaic solar energy generating units. Nature 2021;598(7882):604-10.

[20] Krapf S, Bogenrieder L, Netzler F, Balke G, Lienkamp M. Rid-roof information dataset for computer vision-based photovoltaic potential assessment. Remote Sens 2022;14(10):2299.

[21] Jiang H, Yao L, Lu N, Qin J, Liu T, Liu Y, et al. Multi-resolution dataset for photovoltaic panel segmentation from satellite and aerial imagery. Earth Syst Sci Data Discuss 2021;2021:1-17.

[22] Ortiz A, Negandhi D, Mysorekar SR, Nagaraju SK, Kiesecker J, Robinson C, et al. An artificial intelligence dataset for solar energy locations in India. Sci Data 2022;9(1):497.

[23] Chen D, Peng Q, Lu J, Huang P, Liu Y, Peng F. Pys: a classification and extraction model of photovoltaics for providing more detailed data to support photovoltaic sustainable development. Sustain Energy Technol Assess 2023;60:103578.

[24] Castello R, Roquette S, Esguerra M, Guerra A, Scartezzini J-L. Deep learning in the built environment: automatic detection of rooftop solar panels using convolutional neural networks. In: Journal of Physics: Conference Series; Vol. 1343. IOP Publishing; 2019. p. 012034.

[25] Szegedy C, Vanhoucke V, Ioffe S, Shlens J, Wojna Z. Rethinking the inception architecture for computer vision. 2015.

[26] Frimane Å, Johansson R, Munkhammar J, Lingfors D, Lindahl J. Identifying small decentralized solar systems in aerial images using deep learning. Sol Energy 2023;262:111822.

[27] Kasmi G, Saint-Drenan Y-M, Trebosc D, Jolivet L, Leloux J, Sarr B, et al. A crowdsourced dataset of aerial images with annotated solar photovoltaic arrays and installation metadata. Sci Data 2023;10(1):59.

[28] Lindahl J, Johansson R, Lingfors D. Mapping of decentralised photovoltaic and solar thermal systems by remote sensing aerial imagery and deep machine learning for statistic generation. Energy AI 2023;14:100300.

[29] Guo Z, Lu J, Chen Q, Liu Z, Song C, Tan H, et al. Transpv: refining photovoltaic panel detection accuracy through a vision transformer-based deep learning model. Appl Energy 2024;355:122282.

[30] Lu N, Li L, Qin J. Pv identifier: extraction of small-scale distributed photovoltaics in complex environments from high spatial resolution remote sensing images. Appl Energy 2024;365:123311.

[31] Mao H, Chen X, Luo Y, Deng J, Tian Z, Yu J, et al. Advances and prospects on estimating solar photovoltaic installation capacity and potential based on satellite and aerial images. Renew Sustain Energy Rev 2023;179:113276.

[32] Zhu R, Guo D, Wong MS, Qian Z, Chen M, Yang B, et al. Deep solar pv refiner: a detail-oriented deep learning network for refined segmentation of photovoltaic areas from satellite imagery. Int J Appl Earth Observ GeoInf 2023;116:103134.

[33] Stowell D, Kelly J, Tanner D, Taylor J, Jones E, Geddes J, et al. A harmonised, high-coverage, open dataset of solar photovoltaic installations in the Uk. Sci Data 2020;7(1):394.

[34] I. N. G. (IGN). BD Ortho. 2024. https://geoservices.ign.fr/bdortho

[35] Etalab. Cadastre Etalab. https://cadastre.data.gouv.fr/

[36] énergies ODR. Registre national des installations de production et de stockage d'électricité (au 30/06/2024). 2024.

[37] O. N. des Bâtiments. Onb. 2024. https://observatoire-national-batiments.fr/

[38] Welcome to the QGIS Python API documentation project

[39] M. Tan and Q. V. Le. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks, Sept. 2020. arXiv:1905.11946 [cs, stat].

[40] J. R. C. E. Commission. Photovoltaic Geographical Information System (PVGIS) 2025.

[41] Boccalatte A, Thebault M, Ménézo C, Ramousse J, Fossa M. Evaluating the impact of urban morphology on rooftop solar radiation: a new city-scale approach based on geneva gis data. Energy Build 2022;260:111919.

[42] Boccalatte A, Jha A, Chanussot J. Leveraging large-scale aerial data for accurate urban rooftop solar potential estimation via multitask learning. Sol Energy 2025;290:113336.

[43] Giorio M, Manni M, Köker N, Bertolin C, Lobaccaro G. Interactive platforms for solar energy planning in smart cities: a state-of-the-art review of solar cadasters. Sol Energy 2025;287:113227.

[44] Li Q, Krapf S, Mou L, Shi Y, Zhu XX. Deep learning-based framework for city-scale rooftop solar potential estimation by considering roof superstructures. Appl Energy 2024;374:123839.

[45] Milojevic-Dupont N, Wagner F, Nachtigall F, Hu J, Brüser GB, Zumwald M, et al. Eubucco v0.1: European building stock characteristics in a common and open database for 200+ million individual buildings. Sci Data 2023;10(1):147.

[46] M. Bing Maps. Globalmlbuildingfootprints. 2025. https://github.com/microsoft/GlobalMLBuildingFootprints

[47] 2024. https://github.com/locie/sgis

[48] Nerot B, Thebault M. FRPV - Classification model and training material for the detection of rooftop photovoltaic (RPV) systems. 2024.

[49] Nerot B, Thebault M. FRPV - Presence of rooftop photovoltaic (RPV) systems on French buildings. 2024.

[50] Nerot B, Thebault M. FRPV - Aerial imagery of French rooftops. 2024.

[51] Kingma DP, Ba J. Adam: a method for stochastic optimization. 2017.