Prédire la présence d’objets sur les toits de bâtiments
Chez namR, une partie des données que nous produisons provient d’images aériennes. Ces dernières sont une source riche en information puisqu’elles nous permettent d’identifier de nombreuses caractéristiques concernant les toits des bâtiments.
Ainsi par exemple, nous arrivons à identifier le type et le matériau des toits des bâtiments. Nous pouvons également détecter la présence de panneaux solaires sur ces toits ou d’autres objets (fenêtres sur toit, cheminées, conduite d’aération etc.).
Quel usage ?
Ces informations extraites d’images aériennes sont précieuses. Par exemple, connaître la présence de fenêtres de toit peut indiquer le statut d’occupation des combles. C’est aussi une caractéristique importante pour estimer le risque d’infiltration d’eau. Détecter la présence d’une ventilation mécanique contrôlée avec une centrale de traitement d’air nous renseigne sur le type de ventilation du bâtiment. D’autre part, la présence d’une usure de toit peut nous aider à identifier les toits endommagés qui nécessitent des travaux de rénovation. Le type et le matériau du toit nous informent également sur la possibilité d’installer des panneaux solaires.
Dans cet article, nous allons présenter comment nous sommes arrivés à prédire la présence d’objets sur les toits de bâtiments à partir des images aériennes.
Démarche
Les modèles d’apprentissage profond (Deep Learning) sont conçus pour pouvoir extraire de l’information à partir des images. Notre but étant de prédire la présence d’un ou de plusieurs objets sur toit, il s’agit d’un problème de classification qui rentre dans le cas d’apprentissage supervisé. Ceci implique le besoin d’un grand nombre de données labellisées (images aériennes de toits contenant l’information de présence d’objets).
La première étape est donc l’annotation des images aériennes. Il s’agit de mobiliser des personnes ayant une connaissance des objets que nous désirons détecter, et qui vont annoter des images prises partout en France métropolitaine, en indiquant à chaque fois le ou les objets qui y sont présents. Leur détourage, qui permettra de les segmenter d’une manière précise, fera l’objet d’un article ultérieur. Environ 50 000 images aériennes ont été annotées à ce jour par les équipes de namR.
Chaque image peut contenir un ou plusieurs tags de la liste suivante :
L’indication “Aucun” nous permet de confirmer qu’il n’y a pas d’objet sur le toit et nous permet d’être exhaustif dans la décision à partir des prédictions :
- Si le modèle prédit un ou plusieurs objets → on associe ces objets au toit en question
- Si le modèle prédit Aucun → le toit ne contient aucun objet
- Si aucune classe parmi notre liste ne dépasse le seuil de décision → le toit peut contenir d’autres objets qui ne figurent pas dans la liste des objets taggés.
Le tag “Image non exploitable” permet d’indiquer qu’une image est non utilisable, par exemple en raison d’une résolution insuffisante. Ainsi, cette information est utilisée pour nettoyer le dataset.
Ces objets se trouvent principalement sur les toits plats de grands bâtiments. Notre premier modèle n’est donc destiné qu’à ce type de toits et non les toits des bâtiments résidentiels individuels, qui peuvent être équipés d’objets différents.
Comment classifier la présence simultanée de plusieurs objets sur les toits ?
Afin de résoudre ce problème nous avons décidé d’utiliser la classification multi-label, dans laquelle les classes ne sont pas mutuellement exclusives. Ainsi, le modèle se comportera comme un ensemble de 8 classifieurs binaires (un classifieur pour chaque classe).
Puisque les classes ne sont pas mutuellement exclusives, un seuil de décision est défini pour chaque classe. Ce seuil a été choisi pour maximiser le f1-score de chaque classe (pour optimiser à la fois la précision et le rappel).
Résultats
Les performances du modèle
Le modèle que nous avons choisi pour cette tâche est un ResNet 50 (un réseau de neurones convolutif avec une liaison résiduelle entre chaque couche de convolution). C’est une architecture très souvent utilisée en classification comme point de départ pour le transfer learning car le modèle est initialisé dans un état pré-entraîné sur ImageNet (une large base de données annotée à destination des travaux de recherche en Computer Vision. Elle comporte environ 1,5M d’images décrivant environ 1000 classes différentes).
Nous constatons que les performances du modèle varient selon la nature de l’objet. La vétusté de toiture (60 % de f1-score) est plus difficile à détecter que les garde-corps (85 % f1-score) ou les réseaux de VMC (80 % de f1-score) qui sont des motifs faciles à détecter sur l’image aérienne. Les centrales de traitement d’air peuvent être également confondues avec les petits blocs des conduites d’aération ou les cheminées en raison de leur forme blanche carrée.
Exemples de prédictions réalisées par le modèle
Différentes stratégies sont mises en place pour améliorer les performances de certaines classes comme :
- Ajouter plus de données d’entraînement ;
- Détecter les erreurs d’annotation pour nettoyer les données d’entraînement et de validation. Ceci pourra être réalisé par exemple grâce aux réseaux de neurones siamois qui permettent de mesurer la similarité entre images. Nous vous présenterons notre solution dans un prochain article !
Conclusion
Grâce à ces travaux, namR a pu détecter de nombreux éléments sur les toits comme des systèmes de ventilation mécanique contrôlée, garde-corps, centrales de traitement d’air ou groupes froids. D’autre part, nous pouvons également avoir des informations sur l’état de vétusté du toit, élément essentiel pour notamment identifier le potentiel d’installation de panneaux solaires sur les toitures.
La prédiction d’objets sur toit peut satisfaire des enjeux variés. Ainsi, nos clients utilisent par exemple nos données pour déterminer le statut d’occupation des combles, identifier le type de ventilation du bâtiment (naturelle ou mécaniquement contrôlée) ou mieux identifier les risques auxquels les bâtiments sont exposés (infiltrations d’eau, usure des toitures).