Détection d’objets avec le Deep Learning


La détection d’objets

On entend par détection d’objets en informatique et plus spécifiquement en géomatique, l’ensemble des techniques et moyens pour détecter, identifier et classifier des objets dans une image raster. La détection d’objets s’appuie sur deux étapes intermédiaires : la localisation d’objets et la classification d’image. La première consiste à trouver la position d’un ou plusieurs objets dans une image et de dessiner leurs contours : c’est comme si on déterminait les coordonnées de chaque pixel de l’objet sur l’image. Quant à la seconde, elle consiste à prédire et affecter à chaque objet une classe. Lors des travaux en télédétection, il est possible que vous ayez déjà eu à réaliser de la détection d’objet pendant les classifications d’images. Avec le deep learning la détection d’objet est devenue très populaire dans des sphères autres que la géomatique, avec plusieurs familles de modèles (R-CNN, YOLO, etc).

Image source via https://towardsdatascience.com/

Détecter les objets avec ArcGis Pro

De manière concrète, à quoi peut servir la détection d’objets dans le contexte de la géomatique? Supposons qu’une entreprise d’entretien de piscines dispose d’une collection d’images satellites à partir desquelles elle désire identifier les propriétés avec des piscines privées afin de prospecter de nouveaux clients. Avec l’usage du deep learning et des algorithmes de détection d’objets, il est possible de construire un modèle qui soit capable de faire ressortir quasiment toutes les piscines présentes sur l’image en quelques minutes.

Dans le logiciel ArcGis Pro, il est mis à disposition plusieurs outils basés sur le deep learning grâce auxquels il est possible d’effectuer la détection d’objets. Pour réaliser ces opérations, plusieurs étapes sont intermédiaires sont nécessaires :

  • Créer des échantillons d’entrainement : Onglet imagerie/Outils de classification/Etiqueter les objets pour le deep learning

Cette première étape consiste à créer des échantillons qui serviront à entrainer le modèle de deep learning. A l’instar de la création de ROI sur ENVI, il faut créer/digitaliser des régions d’intérêt pour l’objectif final : dans le cas de notre exemple digitaliser quelques piscines identifiables sur l’image.

  • Exporter des échantillons de traitements : Géotraitement/outils d’analyse d’image/Deep learning

Les zones d’intérêt identifiées et digitalisées sont à cette étape transformées en fragments ou séquences d’images prêtes à être exploiter par le modèle de deep learning. On passe des entités vectorielles représentant des piscines à plusieurs imagettes de la collection sur lesquelles on identifie

  • Entrainer le modèle de deep learning : Géotraitement/outils d’analyse d’image/Train Deep learning model

Après s’être assuré de disposer des librairies de deep learning nécessaires pour faire tourner le modèle, la prochaine étape est d’entrainer le modèle de deep learning à partir des imagettes créées précédemment pour qu’il puisse reconnaitre sur l’ensemble des images, les piscines.

  • Effectuer des inférences : Géotraitement/outils d’analyse d’image/Detect Objects Using Deep Learning

Après l’entrainement du modèle à partir des imagettes créées, la dernière étape est d’isoler et extraire de la collection d’images satellites les zones d’intérêts (dans notre cas les piscines). Au terme de l’exécution, on récupère un fichier avec des données vectorielles qui représentent des zones d’intérêts (dans ce cas : piscines) extraites des images.

Pour aller plus loin dans l’usage d’ArcGIS Pro et de l’API Python d’ArcGIS pour la détection d’objets, certaines ressources sont disponibles sur ce site.

 

Sources :

https://www.gislounge.com/machine-learning-and-object-detection-in-spatial-analysis/

https://www.geospatialworld.net/article/object-recognition-in-gis/

https://machinelearningmastery.com/object-recognition-with-deep-learning/

https://developers.arcgis.com/python/guide/object-detection/

http://elynxsdk.free.fr/ext-docs/Demosaicing/more/news1/fvo_jpt.pdf

https://pro.arcgis.com/fr/pro-app/tool-reference/image-analyst/detect-objects-using-deep-learning.htm

https://object-detection-geoai.hub.arcgis.com/

https://medium.com/geoai/swimming-pool-detection-and-classification-using-deep-learning-aaf4a3a5e652

https://developers.arcgis.com/python/sample-notebooks/detecting-swimming-pools-using-satellite-image-and-deep-learning/