FR3116925A1 - Method for detecting photovoltaic installations on an image by deep learning - Google Patents

Method for detecting photovoltaic installations on an image by deep learning Download PDF

Info

Publication number
FR3116925A1
FR3116925A1 FR2012283A FR2012283A FR3116925A1 FR 3116925 A1 FR3116925 A1 FR 3116925A1 FR 2012283 A FR2012283 A FR 2012283A FR 2012283 A FR2012283 A FR 2012283A FR 3116925 A1 FR3116925 A1 FR 3116925A1
Authority
FR
France
Prior art keywords
image
thumbnail
blocks
thumbnails
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2012283A
Other languages
French (fr)
Other versions
FR3116925B1 (en
Inventor
Matthieu OLIVER
Aurèle GOETZ
Olivier LIANDRAT
Caroline LALLEMAND
Pierre AILLAUD
Nicolas SEBASTIEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
REUNIWATT
Original Assignee
REUNIWATT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by REUNIWATT filed Critical REUNIWATT
Priority to FR2012283A priority Critical patent/FR3116925B1/en
Priority to PCT/FR2021/052104 priority patent/WO2022112722A1/en
Publication of FR3116925A1 publication Critical patent/FR3116925A1/en
Application granted granted Critical
Publication of FR3116925B1 publication Critical patent/FR3116925B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/176Urban or other man-made structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

PROCEDE DE DETECTION D’INSTALLATIONS PHOTOVOLTAIQUES SUR UNE IMAGE PAR APPRENTISSAGE PROFOND Procédé (500) de détection d’objets (10) sur une image (100) aérienne ou satellitaire préalablement acquise, mettant en œuvre un modèle d’apprentissage profond (200) exécuté sur un calculateur et comprenant : une étape (520) de découpage de l’image en une pluralité de vignettes adaptées à un format d’entrée du modèle ; une étape (530) de détection d’objets (10) sur l’image comprenant un calcul d’activation (531) sur chaque vignette et donnant une classification (532) et une carte d’activation de classe CAM (533) de ladite vignette ; une étape (540) de regroupement des vignettes adjacentes de même classification en blocs ; une étape de filtrage (550) des blocs ; et une étape (560) d’estimation des coordonnées géographiques et de la surface de chaque objet détecté à partir d’une segmentation desdits blocs. Les objets détectés sont par exemple des installations photovoltaïques. Figure pour l’abrégé : figure 6 METHOD FOR DETECTING PHOTOVOLTAIC INSTALLATIONS ON AN IMAGE BY DEEP LEARNING Method (500) for detecting objects (10) on a previously acquired aerial or satellite image (100), implementing a deep learning model (200) executed on a computer and comprising: a step (520) of cutting image into a plurality of thumbnails adapted to an input format of the model; a step (530) of detecting objects (10) on the image comprising an activation calculation (531) on each thumbnail and giving a classification (532) and a CAM class activation map (533) of said thumbnail; a step (540) of grouping adjacent thumbnails of the same classification into blocks; a step of filtering (550) the blocks; and a step (560) of estimating the geographical coordinates and the surface of each object detected from a segmentation of said blocks. The detected objects are for example photovoltaic installations. Figure for the abstract: figure 6

Description

Procédé de détection d’installations photovoltaïques sur une image par apprentissage profondMethod for detecting photovoltaic installations on an image by deep learning

La présente invention appartient au domaine du traitement d’images par intelligence artificielle et des techniques communément appelées vision par ordinateur, notamment la détection d’objets par apprentissage automatique (Machine Learning) ou profond (Deep Learning). L’invention concerne plus particulièrement un procédé de détection d’installations photovoltaïques sur une image aérienne ou satellitaire par apprentissage profond, mettant en œuvre un réseau de neurones artificiels.The present invention belongs to the field of image processing by artificial intelligence and techniques commonly known as computer vision, in particular the detection of objects by automatic learning ( Machine Learning ) or deep learning ( Deep Learning ). The invention relates more particularly to a method for detecting photovoltaic installations on an aerial or satellite image by deep learning, implementing a network of artificial neurons.

L’invention trouve une application directe dans le secteur des énergies renouvelables pour cartographier le parc solaire d’une région géographique donnée.The invention finds a direct application in the renewable energy sector to map the solar park of a given geographical region.

Etat de l’artState of the art

Le déploiement de l'énergie solaire photovoltaïque s'accélère dans le monde entier en raison de la réduction rapide des coûts et des avantages environnementaux importants par rapport à la production d'électricité à partir de combustibles fossiles. En raison de la nature décentralisée des installations photovoltaïques, les données les concernant restent difficilement accessibles pour l’ensemble du parc solaire d’une région donnée. Par exemple, les informations sur la localisation et la puissance de chaque installation au sein d’un parc sont souvent incomplètes, voire indisponibles, y compris dans les pays les plus industrialisés et orientés vers les énergies renouvelables.The deployment of solar photovoltaic energy is accelerating worldwide due to the rapid reduction in costs and significant environmental benefits compared to generating electricity from fossil fuels. Due to the decentralized nature of photovoltaic installations, data concerning them remains difficult to access for the entire solar park in a given region. For example, information on the location and power of each installation within a fleet is often incomplete, or even unavailable, including in the most industrialized countries oriented towards renewable energies.

En France, les données existantes sont généralement sous forme de listes agglomérées à l’échelle des communes et, dans la majorité des cas, ne précisent pas la taille et l’emplacement de chaque installation.In France, the existing data is generally in the form of agglomerated lists at the level of municipalities and, in the majority of cases, does not specify the size and location of each installation.

Il existe donc un réel besoin de disposer d’une base de données fidèle et complète regroupant les informations nécessaires au bon suivi de l’évolution d’un parc solaire dans une région donnée. Une telle base s’avérerait extrêmement utile pour par exemple suivre l’évolution d’un parc solaire dans chaque catégorie d’installation, des centrales photovoltaïques aux panneaux individuels des particuliers, et en estimer la production énergétique.There is therefore a real need to have an accurate and complete database gathering the information necessary for the proper monitoring of the evolution of a solar park in a given region. Such a database would prove extremely useful, for example, to monitor the development of a solar park in each category of installation, from photovoltaic power plants to individual panels for individuals, and to estimate its energy production.

Actuellement, la télédétection permet de cartographier les installations photovoltaïques dans une région, mais avec l’intervention d’opérateurs humains pour analyser les images. Par conséquent, les tâches humaines peuvent rapidement devenir fastidieuses, voire insurmontables, lorsque les régions concernées présentent de grandes superficies.Currently, remote sensing makes it possible to map photovoltaic installations in a region, but with the intervention of human operators to analyze the images. Consequently, human tasks can quickly become tedious, even insurmountable, when the regions concerned present large areas.

Il est connu que l’intelligence artificielle combinée à l’imagerie, et plus particulièrement à l’imagerie satellite ou aérienne, permet d’automatiser les opérations de reconnaissance et de détection d’objets de façon rapide et précise.It is known that artificial intelligence combined with imagery, and more particularly satellite or aerial imagery, makes it possible to automate object recognition and detection operations quickly and accurately.

Le document CN111178316A, à titre d’exemple, décrit une méthode générale de classification de la couverture terrestre à partir d'images de télédétection à haute résolution, basée sur un apprentissage profond. La méthode est utilisée pour la recherche automatique d'une architecture de réseau de neurones convolutifs adaptée à un ensemble de données spécifique.CN111178316A, as an example, describes a general method for classifying land cover from high-resolution remote sensing images, based on deep learning. The method is used for the automatic search of a suitable convolutional neural network architecture for a specific data set.

L’enseignement de ce document reste néanmoins théorique et ne propose aucune possibilité d’application à la détection d’installations photovoltaïques.The teaching of this document nevertheless remains theoretical and does not offer any possibility of application to the detection of photovoltaic installations.

Le document CN111191500A concerne quant à lui une méthode d'identification des toits photovoltaïques basée sur une segmentation de l'image par apprentissage profond. La méthode consiste à combiner plusieurs modèles de segmentation permettant de classifier différents types de toits. L’objectif de cette méthode est d’automatiser certaines tâches réalisées manuellement auparavant et de gagner ainsi un temps considérable.Document CN111191500A concerns a method for identifying photovoltaic roofs based on image segmentation by deep learning. The method consists of combining several segmentation models to classify different types of roofs. The objective of this method is to automate certain tasks carried out manually before and thus save considerable time.

Plus précisément, cette méthode obtient d'abord des images de télédétection d'un fournisseur de services cartographiques et annote manuellement les données pour construire un ensemble de données de segmentation d'images, entraîne le réseau U-Net sur trois textures de toits (ciment, tuiles d'acier coloré et panneaux photovoltaïques), découvre les erreurs de prédiction typiques du modèle, et effectue un entraînement itératif continu du modèle. Après que chaque type d'entraînement est terminé, la méthode détermine le meilleur seuil de classification pour chaque ensemble de tests. Ensuite, elle utilise des champs aléatoires conditionnels CRFs (Conditional Random Fields) pour optimiser les résultats du modèle en fonction des résultats de prédiction des trois modèles de la combinaison finale. Enfin, le modèle optimisé est utilisé pour segmenter les images de télédétection et reconnaître des panneaux photovoltaïques dans la zone spécifiée.Specifically, this method first obtains remote sensing imagery from a mapping service provider and manually annotates the data to build an image segmentation dataset, trains the U-Net network on three roof textures (cement , colored steel tiles and photovoltaic panels), discovers the typical prediction errors of the model, and performs continuous iterative training of the model. After each type of training is completed, the method determines the best classification threshold for each set of tests. Then, it uses Conditional Random Fields ( CRFs ) to optimize the model results based on the prediction results of the three models in the final combination. Finally, the optimized model is used to segment the remote sensing images and recognize photovoltaic panels in the specified area.

Toutefois, l’utilisation de CRFs pour l’optimisation du modèle présente un inconvénient majeur qui est leur manque de robustesse puisqu’ils ont été testés uniquement sur des données bien structurées.However, the use of CRFs for model optimization has a major drawback which is their lack of robustness since they have been tested only on well-structured data.

DeepSolar, dont la référence est donnée dans la description, est un autre réseau de neurones convolutifs, développé par des chercheurs de l’université Stanford, dans le but de détecter les panneaux photovoltaïques sur des images haute résolution (inférieure à 30cm). Ce modèle prend en entrée des images découpées en morceaux (Tilesen terminologie anglosaxonne) et classifie chaque morceau selon qu’il contient des panneaux photovoltaïques ou non.DeepSolar, whose reference is given in the description, is another convolutional neural network, developed by researchers at Stanford University, with the aim of detecting photovoltaic panels on high resolution images (less than 30cm). This model takes as input images cut into pieces ( Tiles in Anglo-Saxon terminology) and classifies each piece according to whether it contains photovoltaic panels or not.

La présente invention met en œuvre le modèle DeepSolar et propose de nettes améliorations au traitement de base. Les détails supplémentaires du fonctionnement de DeepSolar seront donc directement donnés dans la description ci-après.The present invention implements the DeepSolar model and provides significant improvements to basic processing. The additional details of how DeepSolar works will therefore be given directly in the description below.

Il convient néanmoins de noter que le modèle DeepSolar, tel que conçu, sert à créer un jeu de données agglomérées sur une zone limitée de sorte que la surface totale des panneaux photovoltaïques de ladite zone soit comparée à certains paramètres météorologiques, économiques et autres.It should be noted, however, that the DeepSolar model, as designed, is used to create an agglomerated dataset over a limited area so that the total area of the photovoltaic panels in said area can be compared against certain meteorological, economic and other parameters.

Présentation de l’inventionPresentation of the invention

La présente invention vise à pallier les inconvénients de l’art antérieur exposés ci-avant et propose une solution permettant de créer un jeu de données actualisable regroupant les installations photovoltaïques d’une région donnée grâce au modèle DeepSolar, ou un modèle similaire convenablement entraîné, et à différentes techniques de traitement d’image.The present invention aims to overcome the drawbacks of the prior art set out above and proposes a solution making it possible to create an updatable data set grouping together the photovoltaic installations of a given region thanks to the DeepSolar model, or a suitably trained similar model, and different image processing techniques.

À cet effet, la présente invention a pour objet un procédé de détection d’objets sur une image aérienne ou satellitaire préalablement acquise, mettant en œuvre un modèle d’apprentissage profond exécuté sur un calculateur et comprenant : une étape de découpage de l’image en une pluralité de vignettes adaptées à un format d’entrée du modèle ; une étape de détection d’objets sur l’image comprenant un calcul d’activation sur chaque vignette et donnant une classification et une carte d’activation de classe CAM de ladite vignette. Avantageusement, ce procédé comprend en outre : une étape de regroupement des vignettes adjacentes de même classification en blocs ; une étape de filtrage des blocs ; et une étape d’estimation des coordonnées géographiques et de la surface de chaque objet détecté à partir d’une segmentation desdits blocs.To this end, the subject of the present invention is a method for detecting objects on a previously acquired aerial or satellite image, implementing a deep learning model executed on a computer and comprising: a step of cutting the image into a plurality of thumbnails adapted to an input format of the model; a step for detecting objects in the image comprising an activation calculation on each thumbnail and giving a classification and a CAM class activation map of said thumbnail. Advantageously, this method further comprises: a step of grouping adjacent thumbnails of the same classification into blocks; a block filtering step; and a step of estimating the geographic coordinates and the surface of each object detected from a segmentation of said blocks.

Plus particulièrement, le procédé est destiné à des images de haute résolution, préférablement de résolution inférieure à 30cm.More particularly, the method is intended for high resolution images, preferably with a resolution of less than 30cm.

Selon un mode de réalisation avantageux, la classification est booléenne et découle pour chaque vignette de la comparaison de l’activation de ladite vignette à un seuil choisi par un opérateur.According to an advantageous embodiment, the classification is Boolean and results for each thumbnail from the comparison of the activation of said thumbnail with a threshold chosen by an operator.

Préférablement, le seuil choisi est celui maximisant une fonction dont les variables sont les métriques de précision et de rappel calculées sur un ensemble de données de calibrage de la classification.Preferably, the chosen threshold is that maximizing a function whose variables are the precision and recall metrics calculated on a set of classification calibration data.

Plus préférablement, le seuil choisi maximise une fonction prenant également comme variable une métrique de rappel par objet, définie comme le pourcentage d’objets ayant au moins une partie détectée sur une vignette d’une image de calibration parmi les objets visibles sur ladite image.More preferably, the threshold chosen maximizes a function also taking as a variable a recall metric per object, defined as the percentage of objects having at least one part detected on a thumbnail of a calibration image among the objects visible on said image.

Selon un mode de réalisation particulièrement avantageux, l’étape de filtrage des blocs consiste à filtrer les blocs des vignettes visibles et/ou les blocs des cartes d’activation CAM associées selon au moins un critère parmi : la taille, la couleur et la texture de l’objet détecté, pour éliminer des faux-positifs.According to a particularly advantageous embodiment, the step of filtering the blocks consists in filtering the blocks of the visible thumbnails and/or the blocks of the associated CAM activation cards according to at least one criterion among: the size, the color and the texture of the detected object, to eliminate false positives.

Selon un mode de réalisation, la segmentation comprend un partitionnement en k-moyennes des blocs de vignettes visibles et une analyse des pixels des cartes d’activation CAM associées.According to one embodiment, the segmentation comprises k-means partitioning of the visible thumbnail blocks and pixel analysis of the associated CAM activation maps.

Selon l’invention, les objets détectés sont par exemple des panneaux solaires et/ou photovoltaïques pouvant être regroupés en installations.According to the invention, the detected objects are for example solar and/or photovoltaic panels which can be grouped into installations.

Selon cet exemple d’application, le procédé comprend en outre une étape de détermination d’une puissance nominale pour chaque installation photovoltaïque détectée.According to this example of application, the method further comprises a step of determining a nominal power for each photovoltaic installation detected.

L’invention a également pour objet un produit programme d’ordinateur caractérisé en ce qu’il comporte un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un processeur, mettent en œuvre un procédé de détection tel que présenté.The invention also relates to a computer program product characterized in that it comprises a set of program code instructions which, when they are executed by a processor, implement a detection method as presented .

Les concepts fondamentaux de l’invention venant d’être exposés ci-dessus dans leur forme la plus élémentaire, d’autres détails et caractéristiques ressortiront plus clairement à la lecture de la description qui suit et en regard des dessins annexés, donnant à titre d’exemple non limitatif un mode de réalisation d’un procédé de détection d’installations photovoltaïques sur des images par apprentissage profond, conforme aux principes de l’invention.The fundamental concepts of the invention having just been explained above in their most elementary form, other details and characteristics will emerge more clearly on reading the description which follows and with regard to the appended drawings, giving by way of illustration non-limiting example an embodiment of a method for detecting photovoltaic installations on images by deep learning, in accordance with the principles of the invention.

Présentation des dessinsPresentation of drawings

Les figures sont données à titre purement illustratif pour l’intelligence de l’invention et ne limitent pas la portée de celle-ci. Les différents éléments sont représentés de manière schématique et ne sont pas nécessairement à la même échelle. Sur l’ensemble des figures, les éléments identiques ou équivalents portent la même référence numérique.The figures are given for purely illustrative purposes for the understanding of the invention and do not limit the scope thereof. The different elements are represented schematically and are not necessarily to the same scale. In all the figures, identical or equivalent elements bear the same reference numeral.

Il est ainsi illustré en :It is thus illustrated in:

: une image aérienne d’une zone géographique sur laquelle des installations photovoltaïques sont visibles ; : an aerial image of a geographical area in which photovoltaic installations are visible;

: un découpage de l’image de la en vignettes ; : a cutout of the image of the in thumbnails;

: des exemples de vignettes découpées sur l’image ; : examples of thumbnails cut out of the image;

: un schéma fonctionnel du modèle d’apprentissage profond utilisé dans le procédé de détection selon l’invention ; : a functional diagram of the deep learning model used in the detection method according to the invention;

: un schéma bloc du modèle d’apprentissage profond, avec ses entrées et sorties ; : a block diagram of the deep learning model, with its inputs and outputs;

: les principales étapes du procédé de détection selon un mode de réalisation de l’invention ; : the main steps of the detection method according to one embodiment of the invention;

: un exemple de correction colorimétrique d’une image réelle ; : an example of colorimetric correction of a real image;

: un découpage en vignettes de l’image corrigée de la ; : a division into thumbnails of the corrected image of the ;

: les classifications et les cartes d’activation de classes obtenues pour les vignettes de la lors de l’étape de détection ; : the classifications and the class activation cards obtained for the tiles of the during the detection step;

: une portion d’image annotée manuellement, représentant des données de calibration du seuil de classification ; : a manually annotated image portion, representing classification threshold calibration data;

: l’évolution de différentes métriques statistiques pour différentes valeurs du seuil de classification ; : the evolution of different statistical metrics for different values of the classification threshold;

: un regroupement des vignettes positives en blocs selon l’invention ; : a grouping of the positive thumbnails into blocks according to the invention;

: une comparaison entre un faux-positif et un vrai-positif selon un critère de texture ; : a comparison between a false-positive and a true-positive according to a texture criterion;

: une activation binaire d’un bloc positif à partir de la segmentation du bloc visible et de la carte d’activation associées ; : a binary activation of a positive block from the segmentation of the visible block and the associated activation map;

: une distribution graphique de centrales photovoltaïques selon leur surface et leur puissance ; : a graphical distribution of photovoltaic power plants according to their surface and their power;

: la construction d’une fonction de transfert linéaire par morceaux à partir du graphique de la . : the construction of a piecewise linear transfer function from the graph of the .

Description détaillée de modes de réalisationDetailed description of embodiments

Il convient de noter que certains éléments techniques bien connus de l’homme du métier sont ici décrits pour éviter toute insuffisance ou ambiguïté dans la compréhension de la présente invention.It should be noted that certain technical elements well known to those skilled in the art are described here to avoid any insufficiency or ambiguity in the understanding of the present invention.

Dans le mode de réalisation décrit ci-après, on fait référence à un procédé de détection d’installations photovoltaïques sur des images aériennes ou satellitaires par apprentissage profond, destiné principalement à établir une cartographie précise des installations photovoltaïques dans une zone géographique donnée. Cet exemple, non limitatif, est donné pour une meilleure compréhension de l’invention et n’exclut pas l’adaptation du procédé à la détection d’autres objets reconnaissables sur des vues aériennes tels que les piscines, les terrains de sport et autres, surtout lorsqu’aucune base de données n’existe pour les objets considérés.In the embodiment described below, reference is made to a method for detecting photovoltaic installations on aerial or satellite images by deep learning, intended primarily to establish a precise mapping of photovoltaic installations in a given geographical area. This non-limiting example is given for a better understanding of the invention and does not exclude the adaptation of the method to the detection of other recognizable objects on aerial views such as swimming pools, sports fields and others, especially when no database exists for the objects considered.

Dans la suite de la description, les termes « réseau » et « modèle » désignent par extension respectivement un réseau de neurones artificiels et un modèle d’apprentissage profond, et renvoient chacun à DeepSolar sauf indication contraire. Par ailleurs, la terminologie employée ne doit en aucun cas être interprétée de manière limitative ou restrictive, mais simplement en conjonction avec des modes de réalisation particuliers de l’invention.In the rest of the description, the terms “network” and “model” designate by extension respectively an artificial neural network and a deep learning model, and each refers to DeepSolar unless otherwise indicated. Furthermore, the terminology used should in no way be interpreted in a limiting or restrictive manner, but simply in conjunction with particular embodiments of the invention.

Le procédé permet de détecter des installations photovoltaïques sur des images aériennes par l’exécution d’un réseau existant qui prend en entrée des images aériennes dans le spectre visible, capturées au moyen d’un système d’acquisition adapté, aéroporté ou embarqué dans un satellite d’observation de la Terre, et fournit en sortie un fichier cartographique contenant les coordonnées géographiques, la surface et une estimation de la puissance nominale, dite puissance crête, de chaque installation photovoltaïque détectée.The method makes it possible to detect photovoltaic installations on aerial images by executing an existing network which takes as input aerial images in the visible spectrum, captured by means of a suitable acquisition system, airborne or on board a Earth observation satellite, and outputs a cartographic file containing the geographical coordinates, the surface and an estimate of the nominal power, called peak power, of each photovoltaic installation detected.

La représente une image aérienne 100 d’une zone géographique donnée, sur laquelle des panneaux photovoltaïques 10 de formes et de tailles différentes sont visibles. Une telle image peut provenir d’une source telle qu’un service de cartographie en ligne.There represents an aerial image 100 of a given geographical area, on which photovoltaic panels 10 of different shapes and sizes are visible. Such an image may come from a source such as an online mapping service.

Préférablement, l’image 100 est de haute résolution, par exemple de résolution inférieure à 30 cm, pour être adaptée au modèle d’apprentissage profond utilisé.Preferably, the image 100 is of high resolution, for example of resolution lower than 30 cm, to be adapted to the deep learning model used.

En effet, le procédé de détection, selon le mode de réalisation décrit, met en œuvre le modèle DeepSolar disponible enopen source, initialement conçu pour cartographier les panneaux photovoltaïques déployés sur le territoire américain et constituer ainsi une base de données fiable et évolutive. Ce modèle repose sur la détection de panneaux photovoltaïques sur une image aérienne haute résolution grâce à une méthode détaillée dans l’article :Jiafan Yu, Zhecheng Wang, Arun Majumdar , Ram Rajagopal , « DeepSolar: A Machine Learning Framework to Efficiently Construct a Solar Deployment Database in the United States », Joule, Volume 2, Issue 12, 2018, Pages 2605-2617, ISSN 2542-4351.Indeed, the detection method, according to the embodiment described, implements the DeepSolar model available in open source , initially designed to map the photovoltaic panels deployed on American territory and thus constitute a reliable and scalable database. This model is based on the detection of photovoltaic panels on a high-resolution aerial image using a method detailed in the article: Jiafan Yu, Zhecheng Wang, Arun Majumdar , Ram Rajagopal , " DeepSolar: A Machine Learning Framework to Efficiently Construct a Solar Deployment Database in the United States”, Joule, Volume 2, Issue 12, 2018, Pages 2605-2617, ISSN 2542-4351 .

Le modèle Deep Solar prend en entrée des images haute résolution d’une zone couvrant une superficie d’environ 480m2, ledit modèle ayant été entrainé sur des images de cette taille. Par conséquent, les images initiales 100, plus grandes, doivent être préalablement découpées en morceaux, qu’on appellera vignettes, compatibles avec le format d’entrée du modèle.The Deep Solar model takes as input high-resolution images of an area covering an area of approximately 480m 2 , said model having been trained on images of this size. Consequently, the initial images 100, which are larger, must be cut beforehand into pieces, which will be called thumbnails, compatible with the input format of the model.

La représente l’image 100 à travers une grille de découpage permettant d’obtenir des vignettes T de même taille. De préférence, chaque vignette T présente une forme carrée de 22m de côté pour correspondre au format d’entrée du modèle.There represents the image 100 through a cutting grid making it possible to obtain thumbnails T of the same size. Preferably, each thumbnail T has a square shape with sides of 22m to match the input format of the model.

La représente en vue de détail trois vignettes T1, T2 et T3 isolées de l’image 100 selon le découpage de la . Dans cet exemple, seules les vignettes T1 et T3 comprennent des parties de panneaux photovoltaïques.There shows a detail view of three isolated thumbnails T1, T2 and T3 of image 100 according to the division of the . In this example, only thumbnails T1 and T3 include parts of photovoltaic panels.

Avant de décrire les principales étapes du procédé selon l’invention, il est rappelé que le réseau DeepSolar est de type à convolution CNN (Convolutional Neural Network) et exploite les images 100 selon le schéma brièvement décrit ci-dessous.Before describing the main steps of the method according to the invention, it is recalled that the DeepSolar network is of the CNN ( Convolutional Neural Network ) convolution type and uses the images 100 according to the diagram briefly described below.

La représente les principales opérations réalisées par le modèle sur les vignettes d’entrée T1, T2 et T3 issues de l’image 100. Tout d’abord, les vignettes au format d’entrée sont importées dans le modèle. Un classifieur spécifique est alors appliqué aux vignettes pour déterminer les vignettes positives (contenant au moins une partie de panneau photovoltaïque) et les vignettes négatives (ne contenant aucune partie de panneau photovoltaïque). Les résultats de la classification sont utilisés pour identifier les vignettes positives, ici T1 et T3, suite à quoi une segmentation par apprentissage semi-supervisé est appliquée, via des couches spécifiques du réseau, auxdites vignettes positives. Cela permet de générer une carte d’activation de classe CAM (Class Activation Map) pour chaque vignette positive, en niveaux de gris où les pixels plus clairs indiquent une plus grande probabilité de présence d’une partie de panneau photovoltaïque. Enfin, une activation binaire BA est obtenue pour chaque CAM en appliquant un seuil (valeur de l’activation sur les pixels de panneaux). Ainsi, le modèle permet d’obtenir à la fois la taille des panneaux et le nombre d’installations photovoltaïques.There represents the main operations performed by the model on the input thumbnails T1, T2 and T3 from frame 100. First, the input format thumbnails are imported into the model. A specific classifier is then applied to the thumbnails to determine the positive thumbnails (containing at least part of a photovoltaic panel) and the negative thumbnails (containing no part of a photovoltaic panel). The results of the classification are used to identify the positive vignettes, here T1 and T3, following which a segmentation by semi-supervised learning is applied, via specific layers of the network, to said positive vignettes. This makes it possible to generate a class activation map (CAM) for each positive thumbnail, in shades of gray where the lighter pixels indicate a greater probability of the presence of a part of the photovoltaic panel. Finally, a binary activation BA is obtained for each CAM by applying a threshold (value of the activation on the panel pixels). Thus, the model makes it possible to obtain both the size of the panels and the number of photovoltaic installations.

La représente la mise en œuvre globale du procédé de détection selon l’invention, dans lequel une image aérienne 100 est découpée en n*m vignettes Tij, avec i entier compris entre 1 et n, et j entier compris entre 1 et m, n et m étant deux entiers supérieurs à 1. Les vignettes forment une matrice donnée en entrée au modèle 200. Pour chaque vignette Tij, le modèle donne une sortie Sij comprenant la géolocalisation GEO, la classification CLASS et la carte d’activation de classe CAM associées à ladite vignette.There represents the overall implementation of the detection method according to the invention, in which an aerial image 100 is divided into n*m thumbnails Tij, with i an integer between 1 and n, and j an integer between 1 and m, n and m being two integers greater than 1. The thumbnails form a matrix given as input to the model 200. For each thumbnail Tij, the model gives an output Sij comprising the GEO geolocation, the CLASS classification and the CAM class activation map associated with said thumbnail.

Ces sorties permettent ensuite de connaitre la surface et la puissance crête de chaque installation photovoltaïque détectée.These outputs then make it possible to know the area and the peak power of each photovoltaic installation detected.

La représente un procédé 500 de détection d’installations photovoltaïques sur une image aérienne par apprentissage profond comprenant :There represents a method 500 for detecting photovoltaic installations on an aerial image by deep learning comprising:

  • une étape 510 optionnelle de prétraitement d’une image préalablement acquise, consistant en une correction colorimétrique par exemple, pour obtenir une image corrigée adaptée au modèle d’apprentissage profond utilisé, en l’occurrence DeepSolar ;an optional step 510 of preprocessing a previously acquired image, consisting of a colorimetric correction for example, to obtain a corrected image adapted to the deep learning model used, in this case DeepSolar;
  • une étape 520 de découpage de l’image corrigée en vignettes de taille adaptée au format d’entrée du modèle ;a step 520 of cutting the corrected image into thumbnails of a size adapted to the input format of the model;
  • une étape 530 de détection de panneaux photovoltaïques (PV) par l’exécution du modèle d’apprentissage profond pour identifier les vignettes positives et générer les CAMs associées ;a step 530 of detecting photovoltaic (PV) panels by executing the deep learning model to identify the positive thumbnails and generate the associated CAMs;
  • une étape 540 de regroupement des vignettes positives voisines, et des CAMs associées, en blocs ;a step 540 of grouping neighboring positive thumbnails, and associated CAMs, into blocks;
  • une étape 550 de filtrage des blocs selon différents critères ;a step 550 of filtering the blocks according to different criteria;
  • une étape 560 d’estimation des coordonnées géographiques et de la surface de chaque installation PV détectée ;a step 560 of estimating the geographical coordinates and the surface of each detected PV installation;
  • une étape 570 de détermination de la puissance crête de chaque installation PV détectée ; eta step 570 of determining the peak power of each detected PV installation; And
  • une étape 580 d’élimination d’éventuels faux-positifs restants.a step 580 for eliminating any remaining false positives.

L’étape 510 de prétraitement consiste à corriger la colorimétrie de l’image initiale de sorte à obtenir une image corrigée correspondant mieux, en termes de contraste et de luminosité, à la typologie d’image sur laquelle le modèle a été entrainé.The preprocessing step 510 consists in correcting the colorimetry of the initial image so as to obtain a corrected image corresponding better, in terms of contrast and brightness, to the type of image on which the model was trained.

Dans le cas du modèle DeepSolar, les images d’entrainement sont des images aériennes du territoire américain, provenant de l’interface de programmation applicative du service en ligne Google Maps. Ainsi, plus les images fournies au modèle présentent des caractéristiques (résolution et colorimétrie) proches des images ayant servi à l’entrainement dudit modèle, plus la précision de détection des installations photovoltaïques sur ces images sera élevée.In the case of the DeepSolar model, the training images are aerial images of the American territory, coming from the application programming interface of the Google Maps online service. Thus, the more the images provided to the model have characteristics (resolution and colorimetry) close to the images used to train the said model, the higher the detection accuracy of the photovoltaic installations on these images will be.

La représente une image initiale 100-0 avant correction et une image corrigée 100 obtenue après l’étape de prétraitement 510.There represents an initial image 100-0 before correction and a corrected image 100 obtained after the preprocessing step 510.

La correction du contraste et de la luminosité peut être réalisée par un algorithme spécifique ou par une méthode adaptée déjà implémentée dans le langage de programmation utilisé. Par exemple, avec le langage Python, l’étape de correction peut être réalisée avec la méthoderescale_intensitydu moduleexposurede la bibliothèque libre de traitement d’images Scikit-image.The contrast and brightness correction can be performed by a specific algorithm or by a suitable method already implemented in the programming language used. For example, with the Python language, the correction step can be performed with the rescale_intensity method of the exposure module of the free image processing library Scikit-image.

Bien entendu, l’étape de prétraitement 510 n’est pas nécessaire lorsque l’image initiale présente une colorimétrie proche de celle des images de référence sur lesquelles le modèle d’apprentissage profond a été entrainé, auquel cas l’image corrigée est directement l’image initiale.Of course, the preprocessing step 510 is not necessary when the initial image has a colorimetry close to that of the reference images on which the deep learning model was trained, in which case the corrected image is directly initial picture.

L’étape de découpage 520 permet ensuite de mettre l’image corrigée au format d’entrée du modèle DeepSolar. Ainsi, l’image est découpée en vignettes géolocalisées de même taille comme expliqué précédemment. Une grille de découpage est obtenue sous forme de matrice, sur laquelle les vignettes sont localisées par leurs positions dans la matrice, positions pouvant être indiquées par des indices numériques de lignes et de colonnes.The cutting step 520 then makes it possible to put the corrected image in the input format of the DeepSolar model. Thus, the image is cut into geolocated thumbnails of the same size as explained above. A cutting grid is obtained in the form of a matrix, on which the thumbnails are located by their positions in the matrix, positions which can be indicated by numerical indices of rows and columns.

La représente l’image 100 découpée en vignettes T de même taille, la grille de découpage étant représentée par des traits blancs continus. De préférence, les vignettes T obtenues présentent une forme carrée de côté a.There represents the image 100 cut into thumbnails T of the same size, the cutting grid being represented by continuous white lines. Preferably, the thumbnails T obtained have a square shape with side a.

La taille des vignettes T doit être conforme à la taille des images d’entrainement du modèle DeepSolar. En l’occurrence, ce modèle a été entrainé avec des images carrées de 22m de côté. On choisira donc préférablement a = 22m.The size of the T thumbnails should be consistent with the size of the DeepSolar model training images. In this case, this model was trained with square images of 22m side. We will therefore preferably choose a = 22m.

En outre, lors de l’étape de découpage 520, une cartographie de la zone géographique couverte par l’image initiale peut être utilisée pour retirer les vignettes « inutiles », qui correspondent totalement à des surfaces sur lesquelles l’implantation d’une installation photovoltaïque est impossible telles que l’océan.In addition, during the cutting step 520, a cartography of the geographical area covered by the initial image can be used to remove the "unnecessary" thumbnails, which completely correspond to surfaces on which the installation of an installation photovoltaic is impossible such as the ocean.

Une fois les vignettes d’entrée définies, celles-ci sont injectées dans le modèle DeepSolar en vue de la détection des installations photovoltaïques.Once the input tiles are defined, these are injected into the DeepSolar model for the detection of photovoltaic installations.

L’étape de détection 530 de panneaux photovoltaïques sur les vignettes d’entrée consiste à exécuter le modèle DeepSolar qui fournit pour chacune desdites vignettes une classification et une carte d’activation de classe CAM.The step 530 for detecting photovoltaic panels on the input thumbnails consists of executing the DeepSolar model which provides for each of said thumbnails a classification and a CAM class activation map.

En effet, le modèle DeepSolar calcule lors d’une sous étape 531 une activation globale sur chaque vignette. Cette activation correspond à une probabilité de présence d’au moins une partie de panneau photovoltaïque sur la vignette, ou à un indice de confiance sur ladite présence. Ensuite, le modèle opère subséquemment une classification et une génération de CAM de la vignette considérée lors des sous étapes 532 et 533 représentées sur la .Indeed, the DeepSolar model calculates during a sub-step 531 a global activation on each thumbnail. This activation corresponds to a probability of presence of at least part of a photovoltaic panel on the thumbnail, or to a confidence index on said presence. Then, the model subsequently operates a classification and a generation of CAM of the thumbnail considered during the sub-steps 532 and 533 represented on the .

La classification 532 consiste à affecter une valeur booléenne (positive ou négative) à chaque vignette en fonction de la présence d’au moins une partie de panneau photovoltaïque sur ladite vignette : positive = au moins une partie de panneau photovoltaïque est visible sur la vignette ; négative = aucune partie de panneau n’est visible. En effet, la classification d’une vignette est déterminée par la comparaison de l’activation globale calculée à l’étape 531 à un seuil 430 fixé par l’opérateur, de sorte qu’une activation globale supérieure au seuil implique une valeur positive de la classification. Autrement dit, lorsque la probabilité de présence d’au moins une partie de panneau photovoltaïque sur la vignette dépasse une certaine valeur fixée par l’opérateur, le modèle considère que la vignette est positive et la classifie en conséquence.Classification 532 consists of assigning a Boolean value (positive or negative) to each thumbnail according to the presence of at least one part of a photovoltaic panel on said thumbnail: positive = at least one part of a photovoltaic panel is visible on the thumbnail; negative = no part of the panel is visible. Indeed, the classification of a thumbnail is determined by the comparison of the global activation calculated in step 531 with a threshold 430 set by the operator, such that a global activation greater than the threshold implies a positive value of the classification. In other words, when the probability of the presence of at least part of a photovoltaic panel on the sticker exceeds a certain value set by the operator, the model considers that the sticker is positive and classifies it accordingly.

La génération des CAMs 533 consiste quant à elle à exploiter le calcul d’activation ayant conduit à la classification des vignettes afin de créer une CAM pour chaque vignette. La CAM correspond à une image en niveaux de gris représentant l’activation de chaque pixel de la vignette considérée, l’activation étant un nombre entier compris entre 0 et 255.The generation of the CAMs 533 consists in exploiting the activation calculation having led to the classification of the thumbnails in order to create a CAM for each thumbnail. The CAM corresponds to a grayscale image representing the activation of each pixel of the thumbnail considered, the activation being an integer between 0 and 255.

La représente les classifications (0 ou 1) et les CAMs obtenues après l’étape de détection 530 pour les vignettes de l’image 100 de la .There represents the classifications (0 or 1) and the CAMs obtained after the detection step 530 for the thumbnails of the image 100 of the .

Le choix du seuil 430 est donc crucial pour l’étape 530 car il conditionne la précision de la détection opérée.The choice of the threshold 430 is therefore crucial for the step 530 because it determines the accuracy of the detection carried out.

Le seuil peut être fixé au moyen d’un jeu de données de test lors d’étapes pouvant s’apparenter à une calibration du modèle. Les données de test doivent être assez variées pour pouvoir déterminer un seuil permettant d’améliorer la précision de la détection à l’étape 530.The threshold can be set using a set of test data during steps that may be similar to a calibration of the model. The test data must be varied enough to be able to determine a threshold making it possible to improve the precision of the detection at step 530.

Pour ce faire, une portion de l’image corrigée, comprenant des installations photovoltaïques de différentes tailles, est choisie. Les vignettes associées à cette portion d’image sont d’une part, annotées manuellement pour indiquer leurs classifications (présence ou absence de panneau) et, d’autre part, fournies en entrée au modèle DeepSolar.To do this, a portion of the corrected image, including photovoltaic installations of different sizes, is chosen. The thumbnails associated with this portion of the image are, on the one hand, manually annotated to indicate their classifications (presence or absence of a panel) and, on the other hand, provided as input to the DeepSolar model.

La représente une portion d’image comprenant environ 25000 vignettes annotées manuellement. Les zones noircies correspondent aux vignettes sur lesquelles des panneaux photovoltaïques sont visibles. Ainsi, ces données constituent des données de calibration, dites de vérité, qui permettront de déterminer le seuil optimal.There represents an image portion comprising approximately 25,000 manually annotated thumbnails. The blackened areas correspond to thumbnails on which photovoltaic panels are visible. Thus, these data constitute calibration data, called truth data, which will make it possible to determine the optimal threshold.

À partir de cet ensemble de données de vérité, trois métriques sont alors calculées pour différentes valeurs de seuil : la précision, le rappel et le rappel par installation photovoltaïque. Ces métriques sont définies comme suit :From this set of truth data, three metrics are then calculated for different threshold values: precision, recall, and recall per PV plant. These metrics are defined as follows:

  • La précision correspond au pourcentage de « vraies » installations parmi les installations détectées. Autrement dit, le nombre de vrais-positifs rapporté à la somme des vrais-positifs et des faux-positifs ;Accuracy corresponds to the percentage of “true” installations among the installations detected. In other words, the number of true-positives compared to the sum of true-positives and false-positives;
  • Le rappel (Recallen terminologie anglosaxonne) correspond au pourcentage d’installations détectées parmi les installations existantes. Autrement dit, le nombre de vrais-positifs rapporté à la somme des vrais-positifs et des faux-négatifs ;The recall ( Recall in Anglo-Saxon terminology) corresponds to the percentage of installations detected among the existing installations. In other words, the number of true-positives compared to the sum of true-positives and false-negatives;
  • le rappel par installation correspond au pourcentage d’installations ayant au moins un panneau détecté sur une vignette de l’image parmi les installations existantes.the recall per installation corresponds to the percentage of installations having at least one panel detected on a thumbnail of the image among the existing installations.

Le rappel par installation permet d’ajuster plus finement le choix du seuil car il est moins discriminant que le rappel classique.The recall by installation makes it possible to adjust the choice of the threshold more finely because it is less discriminating than the classic recall.

Ainsi, la valeur retenue pour le seuil est celle qui permet de maximiser une fonction de ces trois métriques, telle que leur somme.Thus, the value retained for the threshold is that which makes it possible to maximize a function of these three metrics, such as their sum.

La représente l’évolution, en fonction du seuil, de ces trois métriques, à savoir la précision (PRECISION), le rappel (RECALL) et le rappel par installation (RECALL*), obtenue pour la portion d’image représentée à la .There represents the evolution, as a function of the threshold, of these three metrics, namely the precision (PRECISION), the recall (RECALL) and the recall per installation (RECALL*), obtained for the portion of the image represented in .

Dans cet exemple, le seuil permettant de maximiser une fonction des trois métriques précitées est sensiblement égal à 0,37. Le seuil ainsi choisi constitue un paramètre du modèle lors de l’étape de détection 530.In this example, the threshold making it possible to maximize a function of the three aforementioned metrics is substantially equal to 0.37. The threshold thus chosen constitutes a parameter of the model during the detection step 530.

L’étape 540 de regroupement des vignettes positives en blocs permet de reconstituer les installations photovoltaïques réparties sur plusieurs vignettes. Pour y parvenir, chaque vignette positive est regroupée avec toute vignette positive adjacente, c’est-à-dire ayant un côté commun avec la vignette considérée, pour former un bloc.The step 540 of grouping the positive vignettes into blocks makes it possible to reconstitute the photovoltaic installations distributed over several vignettes. To achieve this, each positive thumbnail is grouped with any adjacent positive thumbnail, i.e. having a common side with the considered thumbnail, to form a block.

La représente par exemple les blocs B1 et B2 obtenus avec les vignettes positives de la .There represents for example the blocks B1 and B2 obtained with the positive thumbnails of the .

Il peut être aisément compris que plus les vignettes sont petites moins les blocs seront étendus. Les vignettes de la figures 2 seront par exemple regroupées en trois blocs.It can be easily understood that the smaller the thumbnails, the less the blocks will be extended. The thumbnails of FIG. 2 will for example be grouped into three blocks.

En outre, les CAMs associées aux vignettes positives sont également regroupées en blocs. Ainsi, pour chaque installation photovoltaïque détectée, il peut être obtenu une vue aérienne et une CAM de ladite installation.In addition, the CAMs associated with the positive vignettes are also grouped into blocks. Thus, for each photovoltaic installation detected, an aerial view and a CAM of said installation can be obtained.

Les blocs obtenus à l’issue de l’étape de regroupement 540 sont ensuite filtrés lors de l’étape de filtrage 550 afin d’éliminer les éventuels faux-positifs.The blocks obtained at the end of the grouping step 540 are then filtered during the filtering step 550 in order to eliminate any false positives.

L’étape de filtrage 550 consiste à filtrer les blocs formés selon trois critères : un critère de taille, un critère de couleur et un critère de texture.The filtering step 550 consists in filtering the blocks formed according to three criteria: a size criterion, a color criterion and a texture criterion.

Concernant le critère de taille (ou de surface), et au vu de l’application principale visée par la déposante, à savoir la détection d’installations photovoltaïques de type centrales solaires, les algorithmes ont été configurés pour retirer les blocs présentant une surface inférieure à 20m2par exemple. Cette limite de taille permet d’éliminer la grande majorité des installations solaires thermiques individuelles (panneaux sur les toits de particuliers utilisés pour le chauffage domestique de l’eau).Regarding the size (or surface) criterion, and in view of the main application targeted by the applicant, namely the detection of photovoltaic installations of the solar power plant type, the algorithms have been configured to remove the blocks having a lower surface. at 20m 2 for example. This size limit makes it possible to eliminate the vast majority of individual solar thermal installations (panels on private roofs used for domestic water heating).

Concernant le critère de couleur, tout bloc ne présentant pas des couleurs similaires aux couleurs habituelles des panneaux photovoltaïques est éliminé. Par exemple, le canal vert selon le codage RGB (Red, Green, Blue) est un bon discriminant pour les zones végétalisés.Regarding the color criterion, any block that does not have colors similar to the usual colors of photovoltaic panels is eliminated. For example, the green channel according to RGB coding ( Red, Green, Blue ) is a good discriminator for vegetated areas.

À l’aide d’un jeu de données d’installations détectées qui a été labélisé à la main (vrai-positif ou faux-positif), la proportion du canal vert pour chacune des installations peut être visualisée. Les faux-positifs liés à des images de forêts par exemple peuvent alors être retirés en fixant une limite sur la proportion du canal vert.Using a dataset of detected facilities that has been labeled by hand (true-positive or false-positive), the proportion of the green channel for each of the facilities can be visualized. False positives linked to images of forests for example can then be removed by setting a limit on the proportion of the green channel.

Un filtre colorimétrique peut alors être défini en définissant une fonction des canaux RGB de l’image, par exemple G/(R+G+B), et en observant s’il existe un seuil au-delà duquel on ne trouve que des faux-positifs. La formule et le seuil sont fixés et appliqués à toutes les détections afin de retirer automatiquement certains faux-positifs par le critère de couleur.A colorimetric filter can then be defined by defining a function of the RGB channels of the image, for example G/(R+G+B), and observing whether there is a threshold beyond which only false -positives. The formula and the threshold are fixed and applied to all detections in order to automatically remove certain false positives by the color criterion.

Concernant le critère de texture, les blocs dont les CAMs présentent des activations faiblement marquées (contraste faible et/ou peu de valeurs élevées de l’activation) sont éliminés.Concerning the texture criterion, the blocks whose CAMs present weakly marked activations (low contrast and/or few high values of the activation) are eliminated.

La illustre un faux-positif FP et un vrai-positif TP respectivement sur la ligne haute et la ligne basse, avec de gauche à droite la vignette, la CAM résultante et l’histogramme de la CAM. Chaque histogramme représente le nombre de pixels de la CAM associée (ordonnée) en fonction de la valeur de l’activation (abscisse), celle-ci étant un niveau de gris compris entre 0 et 255 comme évoqué précédemment. Il peut être constaté que, contrairement au faux-positif détecté, le vrai-positif présente un histogramme avec un nombre élevé de pixels à faible valeur d’’activation (pic).There illustrates a false-positive FP and a true-positive TP on the high line and the low line respectively, with from left to right the thumbnail, the resulting CAM and the CAM histogram. Each histogram represents the number of pixels of the associated CAM (ordinate) as a function of the activation value (abscissa), the latter being a gray level between 0 and 255 as mentioned previously. It can be seen that, unlike the detected false-positive, the true-positive shows a histogram with a high number of pixels with low activation value (peak).

De plus, tous les blocs dont la CAM possède une proportion de pixels « gris » supérieure à un certain seuil sont classifiées comme faux-positifs. Un pixel est dit gris lorsque sa valeur d’activation est comprise entre 50 et 205.In addition, all the blocks whose CAM has a proportion of "gray" pixels above a certain threshold are classified as false positives. A pixel is said to be gray when its activation value is between 50 and 205.

Lors d’une vraie détection (vrai-positif), la proportion de pixels gris est très faible car la CAM associée contient des valeurs élevées sur les panneaux et faibles partout ailleurs (voir TP sur la ). Au contraire, les fausses détections (faux-positifs) sont corrélées à des CAMs comprenant beaucoup de pixels d’activation moyenne (pixels gris).During a real detection (true-positive), the proportion of gray pixels is very low because the associated CAM contains high values on the panels and low values everywhere else (see practical work on the ). On the contrary, the false detections (false-positives) are correlated with CAMs comprising many pixels of average activation (gray pixels).

Afin de calculer la proportion de pixels gris, la distribution des valeurs d’activation des pixels (nombre de pixels par valeur possible de 0 à 255) est tracée, puis l’histogramme obtenu est intégré entre 50 et 205. Cela donne un comptage des pixels gris tels que définis. La valeur obtenue du comptage est alors divisée par le produit du nombre de pixels et de la somme des valeurs d’activation des pixels de l’image. Les images pour lesquelles une valeur supérieure à v = 3.10-5est obtenue sont retirées.In order to calculate the proportion of gray pixels, the distribution of pixel activation values (number of pixels per possible value from 0 to 255) is plotted, then the resulting histogram is integrated between 50 and 205. This gives a count of gray pixels as defined. The value obtained from the count is then divided by the product of the number of pixels and the sum of the activation values of the pixels of the image. The images for which a value greater than v = 3.10 -5 is obtained are removed.

Cette valeur de v est obtenue à partir de la classification d’une partie des installations détectées (vrai-positif ou faux-positif) : la proportion de pixels gris est évaluée pour chaque installation détectée grâce à la méthode présentée ci-avant, puis chaque installation est placée sur un axe en fonction de cette valeur obtenue. La valeur du seuil est la plus petite valeur au-delà de laquelle seuls des faux-positifs sont obtenus.This value of v is obtained from the classification of some of the installations detected (true-positive or false-positive): the proportion of gray pixels is evaluated for each installation detected using the method presented above, then each installation is placed on an axis according to this obtained value. The threshold value is the smallest value beyond which only false positives are obtained.

L’étape d’estimation 560 permet de connaitre avec précision les coordonnées et la surface de chaque installation photovoltaïque détectée.The estimation step 560 makes it possible to know with precision the coordinates and the surface of each photovoltaic installation detected.

La CAM générée pour un bloc ne donne pas une vision précise des pixels composant l’installation détectée, tout du moins les contours de ladite installation apparaissent flous sur la CAM. Afin de déterminer avec précision les coordonnées et la surface de l’installation, il est nécessaire de bien identifier les contours de l’installation par une analyse adéquate.The CAM generated for a block does not give a precise view of the pixels making up the detected installation, at least the contours of said installation appear blurred on the CAM. In order to accurately determine the coordinates and the surface of the installation, it is necessary to clearly identify the contours of the installation by an adequate analysis.

Une segmentation est alors appliquée à chaque bloc visible afin d’isoler un groupe de pixels qui correspond à l’installation photovoltaïque. Plus précisément, la segmentation permet de partitionner l’image en un certain nombre de groupes (portions de routes, toitures, voitures, etc.). Chaque groupe identifié est alors classifié selon qu’il représente un panneau photovoltaïque ou non à partir de l’activation des pixels constituant ledit groupe.A segmentation is then applied to each visible block in order to isolate a group of pixels which corresponds to the photovoltaic installation. More precisely, the segmentation makes it possible to partition the image into a certain number of groups (portions of roads, roofs, cars, etc.). Each identified group is then classified according to whether it represents a photovoltaic panel or not from the activation of the pixels constituting said group.

Cette segmentation peut être effectuée avec un algorithme de partitionnement en K-moyennes (K- meansen terminologie anglosaxonne) avec des paramètres optimisés.This segmentation can be performed with a K-means partitioning algorithm ( K- means in English terminology) with optimized parameters.

Dans les groupes identifiés par la segmentation, les valeurs d’activation des pixels sont analysées pour déterminer si un groupe correspond à une partie de l’installation photovoltaïque (panneau ou partie de panneau), autrement dit si une partie des pixels d’un groupe affiche une valeur d’activation supérieure au seuil. Si tel est le cas, le groupe concerné correspond donc à une partie d’installation photovoltaïque et la forme dudit groupe permet ensuite d’effectuer une activation binaire de la CAM pour obtenir une forme précise de la partie de l’installation détectée.In the groups identified by the segmentation, the activation values of the pixels are analyzed to determine if a group corresponds to a part of the photovoltaic installation (panel or part of a panel), in other words if a part of the pixels of a group shows an activation value above the threshold. If this is the case, the group concerned therefore corresponds to a part of the photovoltaic installation and the shape of said group then makes it possible to perform a binary activation of the CAM to obtain a precise shape of the part of the installation detected.

En effet, un groupe de l’image est identifié comme panneau photovoltaïque si une proportion p des pixels le constituant possède une activation supérieure au seuil de classification. En particulier, les quelques pixels isolés ayant une grande activation ne sont pas comptabilisés. De plus, si une partie de l’installation photovoltaïque n’apparait pas sur la CAM, elle peut être comptabilisée dans le calcul de surface, l’activation étant faite par groupe de pixels plutôt que pixel par pixel.Indeed, a group of the image is identified as a photovoltaic panel if a proportion p of the pixels constituting it has an activation greater than the classification threshold. In particular, the few isolated pixels with high activation are not counted. In addition, if part of the photovoltaic installation does not appear on the CAM, it can be counted in the area calculation, the activation being done by group of pixels rather than pixel by pixel.

Par conséquent, cette méthode offre une meilleure précision dans le calcul des surfaces de panneaux que la méthode plus élémentaire originalement implémentée dans le modèle DeepSolar.Therefore, this method provides better accuracy in calculating panel areas than the more basic method originally implemented in the DeepSolar model.

La représente un exemple de mise en œuvre des opérations précitées sur un bloc issue de l’étape de regroupement 540.There represents an example of implementation of the aforementioned operations on a block resulting from the grouping step 540.

La méthode de segmentation utilisée est un partitionnement en K-moyennes à cinq dimensions : canaux (R,G,B) et position (X,Y). Dans le langage Python, cette méthode est implémentée dans le module Scikit-image sous le nomslic.The segmentation method used is a five-dimensional K-means partitioning: channels (R,G,B) and position (X,Y). In the Python language, this method is implemented in the Scikit-image module under the name slic .

Pour chaque groupe identifié par l’algorithme, les valeurs d’activation des pixels le constituant sont récupérées. Par exemple, selon un réglage précis des paramètres de l’algorithme, un groupe 50 est identifié comme panneau photovoltaïque lorsqu’une proportion p = 0,31 de ses pixels ont une activation supérieure à un seuil de 0,55.For each group identified by the algorithm, the activation values of the pixels constituting it are retrieved. For example, according to a precise adjustment of the parameters of the algorithm, a group 50 is identified as a photovoltaic panel when a proportion p = 0.31 of its pixels have an activation greater than a threshold of 0.55.

Sur la , le pixel 51 présente une activation supérieure au seuil et fait partie de la proportion de pixels appartenant au groupe 50 identifié comme panneau photovoltaïque.On the , pixel 51 has an activation greater than the threshold and is part of the proportion of pixels belonging to group 50 identified as a photovoltaic panel.

Une image binaire BA est ensuite obtenue en remplissant de 1 tous les groupes activés et de 0 le reste. Cette image donne une représentation fidèle de la surface du panneau photovoltaïque sur le bloc d’origine.A binary image BA is then obtained by filling all the activated groups with 1 and the rest with 0. This image gives a faithful representation of the surface of the photovoltaic panel on the original block.

Le réglage de paramètres accompagnant la segmentation peut en outre être optimisé, par une méthode optimisation pour fonctions bruitées ou stochastiques telle que la méthode «simultaneous perturbation stochastic approximation» implémentée en Python dans le package NoisyOpt.The adjustment of parameters accompanying the segmentation can also be optimized, by an optimization method for noisy or stochastic functions such as the “ simultaneous perturbation stochastic approximation ” method implemented in Python in the NoisyOpt package.

Enfin, les coordonnées géométriques des sommets des panneaux détectés et les surfaces de ceux-ci sont extraites de la forme identifiée lors de la segmentation et de l’activation binaire.Finally, the geometric coordinates of the detected panel vertices and their surfaces are extracted from the identified shape during segmentation and binary activation.

L’étape de détermination de la puissance 570 consiste à estimer la puissance crête des installations photovoltaïques identifiées.The power determination step 570 consists in estimating the peak power of the identified photovoltaic installations.

Pour chaque installation, la puissance crête est déterminée à partir de la surface de ladite installation grâce à une fonction de transfert calculée sur des données vérité comprenant les surfaces et les puissances des installations du territoire concerné. Les données vérité peuvent provenir d’une région similaire à la région dont on cherche à cartographier le parc solaire.For each installation, the peak power is determined from the area of said installation using a transfer function calculated on truth data comprising the areas and powers of the installations in the territory concerned. The truth data can come from a region similar to the region whose solar park we are trying to map.

Ainsi, l’étape 570 nécessite la construction d’une fonction de transfert surface – puissance crête qui pourra ensuite être utilisée pour les détections futures.Thus, step 570 requires the construction of an area – peak power transfer function which can then be used for future detections.

Cette fonction de transfert est construite à partir d’installations photovoltaïques dont les caractéristiques suivantes sont connues : la localisation, la puissance crête et la date de construction. La représentation graphique des puissances en fonction des surfaces permet alors de définir une stratégie de construction de la fonction de transfert.This transfer function is constructed from photovoltaic installations whose following characteristics are known: location, peak power and date of construction. The graphical representation of the powers as a function of the surfaces then makes it possible to define a strategy for constructing the transfer function.

La donne un exemple d’une telle représentation graphique de la puissance des centrales en fonction de leur surface, chaque point correspondant à une centrale photovoltaïque.There gives an example of such a graphical representation of the power of the power stations according to their surface, each point corresponding to a photovoltaic power station.

La stratégie repose sur l’identification de classes de surface/puissance et la construction d’une fonction de transfert linéaire par morceaux.The strategy is based on the identification of surface/power classes and the construction of a piecewise linear transfer function.

La illustre les régressions linéaires permettant d’obtenir la fonction de transfert.There illustrates linear regressions to obtain the transfer function.

Dans un premier temps, la centrale 20 proche de 20000m2est retirée car elle semble présenter une singularité par rapport aux autres centrales. Dans un second temps, une première régression linéaire (en trait cadratin-point) est calculée pour les surfaces entre 0 et 2000m2, ainsi qu’une deuxième régression linéaire (en trait interrompu) pour les surfaces supérieures à 3000m2. Enfin, ces deux régressions linéaires sont reliées linéairement entre 2000m2et 3000m2pour aboutir à la fonction de transfert représentée en trait continu.Initially, the plant 20 close to 20000m 2 is withdrawn because it seems to present a singularity compared to the other plants. Secondly, a first linear regression (in em-dot line) is calculated for surfaces between 0 and 2000m 2 , as well as a second linear regression (in broken line) for surfaces greater than 3000m 2 . Finally, these two linear regressions are linearly linked between 2000m 2 and 3000m 2 to arrive at the transfer function represented by a continuous line.

Enfin, l’étape d’élimination 580 des faux-positifs restants consiste en un contrôle visuel par un opérateur humain sur l’ensemble des installations photovoltaïques identifiées afin d’atteindre une précision de détection de 100%.Finally, the step 580 for eliminating the remaining false positives consists of a visual check by a human operator on all the photovoltaic installations identified in order to achieve 100% detection accuracy.

Il ressort clairement de la présente description que certaines étapes et opérations du procédé de détection peuvent être modifiées, remplacées ou supprimées sans pour autant sortir du cadre de l’invention.It clearly emerges from the present description that certain steps and operations of the detection method can be modified, replaced or deleted without departing from the scope of the invention.

Claims (10)

Procédé (500) de détection d’objets (10) sur une image (100) aérienne ou satellitaire préalablement acquise, mettant en œuvre un modèle d’apprentissage profond (200) exécuté sur un calculateur et comprenant : une étape (520) de découpage de l’image en une pluralité de vignettes adaptées à un format d’entrée du modèle ; une étape (530) de détection d’objets (10) sur l’image comprenant un calcul d’activation (531) sur chaque vignette et donnant une classification (532) et une carte d’activation de classe CAM (533) de ladite vignette ; caractérisé en ce qu’il comprend : une étape (540) de regroupement des vignettes adjacentes de même classification en blocs ; une étape (550) de filtrage des blocs ; et une étape (560) d’estimation des coordonnées géographiques et de la surface de chaque objet détecté à partir d’une segmentation desdits blocs.Method (500) for detecting objects (10) on a previously acquired aerial or satellite image (100), implementing a deep learning model (200) executed on a computer and comprising: a step (520) of cutting the image into a plurality of thumbnails adapted to an input format of the template; a step (530) of detecting objects (10) on the image comprising an activation calculation (531) on each thumbnail and giving a classification (532) and a CAM class activation map (533) of said thumbnail; characterized in that it comprises: a step (540) of grouping adjacent thumbnails of the same classification into blocks; a block filtering step (550); and a step (560) of estimating the geographical coordinates and the surface of each object detected from a segmentation of said blocks. Procédé selon la revendication 1, dans lequel l’image (100) est de haute résolution, préférablement inférieure à 30cm.Method according to claim 1, in which the image (100) is of high resolution, preferably less than 30cm. Procédé selon la revendication 1 ou 2, dans lequel la classification (532) est booléenne et découle pour chaque vignette de la comparaison de l’activation de ladite vignette à un seuil (430) choisi par un opérateur.Method according to claim 1 or 2, in which the classification (532) is Boolean and results for each thumbnail from the comparison of the activation of said thumbnail with a threshold (430) chosen by an operator. Procédé selon la revendication 3, dans lequel le seuil (430) choisi est celui maximisant une fonction dont les variables sont les métriques de précision et de rappel calculées sur un ensemble de données de calibrage de la classification.A method according to claim 3, wherein the threshold (430) chosen is that maximizing a function whose variables are the precision and recall metrics calculated on a set of classification calibration data. Procédé selon la revendication 4, dans lequel le seuil (430) choisi maximise une fonction prenant également comme variable une métrique de rappel par objet, définie comme le pourcentage d’objets (10) ayant au moins une partie détectée sur une vignette d’une image de calibration parmi les objets (10) visibles sur ladite image.Method according to claim 4, in which the chosen threshold (430) maximizes a function also taking as a variable a recall metric per object, defined as the percentage of objects (10) having at least one part detected on a thumbnail of a calibration image among the objects (10) visible on said image. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’étape (550) de filtrage des blocs consiste à filtrer les blocs des vignettes visibles et/ou les blocs des cartes d’activation CAM associées selon au moins un critère parmi : la taille, la couleur et la texture de l’objet détecté, pour éliminer des faux-positifs.Method according to any one of the preceding claims, in which the step (550) of filtering the blocks consists in filtering the blocks of the visible thumbnails and/or the blocks of the associated CAM activation maps according to at least one criterion among: the size, color and texture of the detected object, to eliminate false positives. Procédé selon l’une quelconque des revendications précédentes, dans lequel la segmentation comprend un partitionnement en k-moyennes des blocs de vignettes visibles et une analyse des pixels des cartes d’activation CAM associées.A method according to any preceding claim, wherein the segmentation comprises k-means partitioning of the visible thumbnail blocks and pixel analysis of the associated CAM activation maps. Procédé selon l’une quelconque des revendications précédentes, dans lequel les objets (10) sont des panneaux solaires et/ou photovoltaïques pouvant être regroupés en installations.Method according to any one of the preceding claims, in which the objects (10) are solar and/or photovoltaic panels which can be grouped into installations. Procédé selon la revendication 8, comprenant en outre une étape (570) de détermination d’une puissance nominale pour chaque installation détectée.Method according to claim 8, further comprising a step (570) of determining a nominal power for each installation detected. Produit programme d’ordinateur caractérisé en ce qu’il comporte un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un processeur, mettent en œuvre un procédé (500) selon l’une des revendications 1 à 9.Computer program product characterized in that it comprises a set of program code instructions which, when executed by a processor, implement a method (500) according to one of Claims 1 to 9.
FR2012283A 2020-11-27 2020-11-27 Method for detecting photovoltaic installations on an image by deep learning Active FR3116925B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2012283A FR3116925B1 (en) 2020-11-27 2020-11-27 Method for detecting photovoltaic installations on an image by deep learning
PCT/FR2021/052104 WO2022112722A1 (en) 2020-11-27 2021-11-26 Method for detecting photovoltaic facilities in an image by deep learning

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2012283 2020-11-27
FR2012283A FR3116925B1 (en) 2020-11-27 2020-11-27 Method for detecting photovoltaic installations on an image by deep learning

Publications (2)

Publication Number Publication Date
FR3116925A1 true FR3116925A1 (en) 2022-06-03
FR3116925B1 FR3116925B1 (en) 2023-07-28

Family

ID=74758951

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2012283A Active FR3116925B1 (en) 2020-11-27 2020-11-27 Method for detecting photovoltaic installations on an image by deep learning

Country Status (2)

Country Link
FR (1) FR3116925B1 (en)
WO (1) WO2022112722A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220247351A1 (en) * 2021-01-29 2022-08-04 Sunpower Corporation Remote site survey for photovoltaic system site
CN116542859A (en) * 2023-07-06 2023-08-04 武汉船舶职业技术学院 Intelligent generation method of building structure column image thumbnail for intelligent construction

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117456187B (en) * 2023-11-10 2024-06-21 中国科学院空天信息创新研究院 Basic model-based weak supervision remote sensing image semantic segmentation method and system
CN118470438B (en) * 2024-07-09 2024-09-24 广东工业大学 Roof photovoltaic potential evaluation method based on semi-supervised segmentation model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178316A (en) 2020-01-06 2020-05-19 武汉大学 High-resolution remote sensing image land cover classification method based on automatic search of depth architecture
CN111191500A (en) 2019-11-12 2020-05-22 广东融合通信股份有限公司 Photovoltaic roof resource identification method based on deep learning image segmentation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191500A (en) 2019-11-12 2020-05-22 广东融合通信股份有限公司 Photovoltaic roof resource identification method based on deep learning image segmentation
CN111178316A (en) 2020-01-06 2020-05-19 武汉大学 High-resolution remote sensing image land cover classification method based on automatic search of depth architecture

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DE HOOG JULIAN JULIANDEHOOG@AU1 IBM COM ET AL: "Using Satellite and Aerial Imagery for Identification of Solar PV State of the Art and Research Opportunities", PROCEEDINGS OF THE ELEVENTH ACM INTERNATIONAL CONFERENCE ON FUTURE ENERGY SYSTEMS, ACMPUB27, NEW YORK, NY, USA, 12 June 2020 (2020-06-12), pages 308 - 313, XP058455186, ISBN: 978-1-4503-8009-6, DOI: 10.1145/3396851.3397681 *
JIAFAN YUZHECHENG WANGARUN MAJUMDARRAM RAJAGOPAL: "DeepSolar: A Machine Learning Framework to Efficiently Construct a Solar De-ployment Database in the United States", JOULE, vol. 2, no. 12, 2018, pages 2605 - 2617, ISSN: 2542-4351
VEGA DÍAZ JHON JAIRO ET AL: "Solar Panel Detection within Complex Backgrounds Using Thermal Images Acquired by UAVs", SENSORS, vol. 20, no. 21, 31 October 2020 (2020-10-31), XP055818824, DOI: 10.3390/s20216219 *
YU JIAFAN ET AL: "DeepSolar: A Machine Learning Framework to Efficiently Construct a Solar Deployment Database in the United States", JOULE, vol. 2, no. 12, 19 December 2018 (2018-12-19), pages 2605 - 2617, XP055818414, ISSN: 2542-4351, Retrieved from the Internet <URL:http://dx.doi.org/10.1016/j.joule.2018.11.021> [retrieved on 20210628], DOI: 10.1016/j.joule.2018.11.021 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220247351A1 (en) * 2021-01-29 2022-08-04 Sunpower Corporation Remote site survey for photovoltaic system site
US12028019B2 (en) * 2021-01-29 2024-07-02 Sunpower Corporation Remote site survey for photovoltaic system site
CN116542859A (en) * 2023-07-06 2023-08-04 武汉船舶职业技术学院 Intelligent generation method of building structure column image thumbnail for intelligent construction
CN116542859B (en) * 2023-07-06 2023-09-01 武汉船舶职业技术学院 Intelligent generation method of building structure column image thumbnail for intelligent construction

Also Published As

Publication number Publication date
FR3116925B1 (en) 2023-07-28
WO2022112722A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
WO2022112722A1 (en) Method for detecting photovoltaic facilities in an image by deep learning
CN109416413B (en) Solar energy forecast
Shahtahmassebi et al. Review of shadow detection and de-shadowing methods in remote sensing
Nieto et al. Mesoscale frontal structures in the Canary Upwelling System: New front and filament detection algorithms applied to spatial and temporal patterns
US8594375B1 (en) Advanced cloud cover assessment
CN111274865A (en) Remote sensing image cloud detection method and device based on full convolution neural network
Huo et al. Supervised spatial classification of multispectral LiDAR data in urban areas
CN110866494B (en) Urban group extraction method and system based on optical remote sensing image
CN111046613B (en) Optimal river channel calculation method based on path tracking and river network extraction method based on multi-temporal remote sensing image
CN109472804A (en) Remote sensing image-based land surface water body extraction method and device
CN117058557A (en) Cloud and cloud shadow joint detection method based on physical characteristics and deep learning model
Madarasinghe et al. Google Earth imagery coupled with on-screen digitization for urban land use mapping: case study of Hambantota, Sri Lanka
Li et al. Hybrid cloud detection algorithm based on intelligent scene recognition
Xiao et al. Individual tree detection and crown delineation with 3D information from multi-view satellite images
Iannone et al. Proba-V cloud detection Round Robin: Validation results and recommendations
Csathó et al. Inclusion of multispectral data into object recognition
EP3506170B1 (en) Method for forming a neural network for recognising a sequence of characters and associated recognition method
Gopalakrishnan et al. Utility of image point cloud data towards generating enhanced multitemporal multisensor land cover maps
CN113343942B (en) Remote sensing image defect detection method
Singhal et al. Cloud detection from AWiFS imagery using deep learning
FR3067144A1 (en) METHOD FOR DETERMINING THE TYPE OF ROAD ON WHICH EVOLVES A VEHICLE
CN114821370A (en) Single-tree crown detection and segmentation method based on unmanned aerial vehicle image and U-Net
WO2014165787A1 (en) System and method for detection of structures
Angeli et al. Image simplification using kohonen maps: Application to satellite data for cloud detection and land cover mapping
Park et al. Unconstrained approach for isolating individual trees using high-resolution aerial imagery

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

EXTE Extension to a french territory

Extension state: PF

PLSC Publication of the preliminary search report

Effective date: 20220603

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4