Kristian Aalling Sorensen
Il s'agit d'un module Python permettant de travailler avec des images satellite Sentinel-1, uniquement en Python. Il vous permet de trouver les images souhaitées, de les télécharger et de travailler avec elles (calibrer, speckle fitler etc.). J'utilise le package SentinelSAT pour les métadonnées. Les données sont ensuite téléchargées depuis NASA ASF.
Pourquoi? Parce que je ne travaille pas avec ESA SNAP. De plus, il était plus facile d’avoir l’intégralité de mon flux de travail en Python.
Je ne fais aucune garantie quant à la qualité, la sécurité ou quoi que ce soit. Utilisez-le comme vous le souhaitez.
Introduction
Exigences
Installer et exécuter
Utiliser des images Sentinel-1 en Python
SAR, brièvement
Remerciements
numpy
géopandas
mgrs (devrait être supprimé dans la version ultérieure .. désolé ..)
scikit-learn (devrait être supprimé dans la version ultérieure.. désolé..)
scipy (devrait être supprimé dans la version ultérieure.. désolé..)
cartopie
Oreiller
pandas
sentinellesat
matplotlib
Ce dépôt peut être installé en utilisant soit git clone OU pypi. Actuellement, je ne l'ai placé que dans pypi-test, alors espérons qu'il y restera.
Utiliser Pypi
GDAL. Assurez-vous que vos fixations Gdal fonctionnent...
Installez sentinel_1_python en utilisant le test pypy
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
Utiliser le clonage
Installer toutes les exigences
Cloner
git clone https://github.com/aalling93/sentinel_1_python.git
Revenir à la table des matières
Obtenir les métadonnées des images
avec Sentinel_metadata() comme met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')
Filtrez les images si vous le souhaitez
met.iw() #filer donc nous n'avons qu'IW
Affichage des images avant téléchargement :
met.plot_image_areas() # Affichage de l'étendue des imagesmet.show_cross_pol(4)
On peut alors voir l'étendue des images.
Et affichez les images avant de les télécharger...
Téléchargez les images
dossier = f'{os.getenv("raw_data_dir")}/slc_sweden'avec Satellite_download(met.products_df) comme dwl:os.makedirs(folder, exist_ok=True)#save metadatadwl.products_df.to_pickle(f'{dossier} /slc_dataframe.pkl')#télécharger les vignettesdwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') #télécharger les images slc au format .zip et les extraire au format .SAFE..dwl.download_sentinel_1(f'{folder} /slc')
Charger, calibrer, image de filtre speckle en python
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.calibrate(mode='gamma') # pourrait également utiliser, par exemple, 'sigma_0' img = img.boxcar(5) #pourrait facilement créer, par exemple, un filtre Lee..img.simple_plot(band_index=0)
nous pouvons maintenant extraire une région de l'image, définie par un index ou un ensemble de coordonnées.
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
Revenir à la table des matières
Un radar à synthèse d'ouverture (SAR) est un instrument actif qui peut être utilisé par exemple pour des tâches de surveillance non coopératives. Son plus grand avantage par rapport au MSI, par exemple, est qu'il fonctionne jour et nuit et qu'il peut voir à travers les nuages et la pluie. En plaçant l'instrument SAR sur un satellite, il est possible d'acquérir une couverture mondiale avec une résolution temporelle et spatiale spécifique à la conception. Par conséquent, en combinant, par exemple, les instruments AIS et SAR, une surveillance coopérative et non coopérative peut être acquise.
Un radar est un instrument qui émet des impulsions électromagnétiques avec une signature spécifique dans le spectre des micro-ondes. Pour un radar monostatique, l'instrument radar transmet et reçoit le signal de rétrodiffusion de l'impulsion. Le signal de rétrodiffusion dépend de la structure de la cible qu'il éclaire et ainsi, en comparant le signal bien connu émis et reçu, il est possible de décrire à la fois les caractéristiques géométriques et sous-jacentes de la cible à l'aide de l'équation du radar monostatique :
où ?? le signal reçu est-il dérivé du signal transmis, ??. La variable ? est la longueur d'onde spécifique à la conception du radar et ?(?,?) le modèle de gain du radar. Le signal est dispersé en fonction de la distance parcourue, ?. La section efficace radar, ?(?, ?), peut donc être dérivée et décrit les caractéristiques diélectriques et géométriques de la cible et dépend des angles ? et ?. Cependant, en présence de bruit, une autre contribution doit être ajoutée à l'équation du radar monostatique. Dans mon autre Repo, https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images, je travaille avec Radio Frequency Interfence (RFI). Un phénomène où d'autres signaux provenant d'autres radars interfèrent avec le signal SAR. De manière générale, ?(?,?) décrit l'énergie disponible dans la zone cible et doit donc être normalisée avec la zone. Le coefficient de rétrodiffusion radar est obtenu par :
où différents domaines peuvent être utilisés en fonction du problème à résoudre. Lors de l'utilisation d'un SAR comme radar d'imagerie, chaque pixel de l'image a une phase et une valeur d'amplitude. En calibrant l'image, il est possible d'obtenir le coefficient de rétrodiffusion radar comme le montre l'équation. . Dans ce module, il est possible de télécharger, de charger et de calibrer des images Sentinel-1 sans avoir besoin d'un logiciel externe ou, par exemple, du (tristement célèbre) package Snappy.
Étant donné qu'un SAR reçoit une contribution de rétrodiffusion de tous les objets dans la zone éclairée, un phénomène semblable à du bruit appelé speckle apparaît. Il en résulte une image granulaire dans laquelle chaque pixel est une combinaison de la rétrodiffusion de l'objet individuel dans la zone. Dans mon dépôt, https://github.com/aalling93/Custom-made-SAR-speckle-reduction, j'ai implémenté plusieurs filtres Speckle différents et montre la différence dans différentes conditions. .
Un radar d'imagerie SAR diffère d'un radar normal en utilisant le mouvement de sa plate-forme pour synthétiser une meilleure résolution, d'où le nom de radar à synthèse d'ouverture. Lors de la prise de photos d'une cible stationnaire, une fréquence Doppler est trouvée à partir de la vitesse de la plate-forme. Le SAR émet et reçoit plusieurs impulsions vers et depuis la même cible. Lorsque le SAR vole vers sa cible, il mesurera une fréquence Doppler positive qui décroît jusqu'à ce qu'elle soit perpendiculaire à la cible, après quoi il ressentira une fréquence Doppler négative croissante.
Le signal électromagnétique est transmis avec une polarisation horizontale ou verticale, les SAR entièrement paramétriques étant capables de transmettre une polarisation horizontale et verticale. En raison de l'interaction de l'impulsion transmise avec la cible, un signal vertical et horizontal est réfléchi vers le SAR. Cela provoque plusieurs mécanismes de diffusion différents. Il existe plusieurs types de mécanismes de diffusion. Pour la détection des navires, les plus importantes sont la diffusion de surface et la diffusion à double rebond.
Un signal transmis sera en partie absorbé et en partie réfléchi par l’objet qu’il éclaire. La diffusion de surface est la diffusion décrivant le signal réfléchi. Si une surface est complètement lisse (spéculaire), aucune rétrodiffusion n'est réfléchie vers le SAR. Si la surface est rugueuse, une diffusion se produit et une partie de l'impulsion incidente est renvoyée vers le SAR. Les surfaces rugueuses ont une rétrodiffusion plus élevée que les surfaces plus lisses. De plus, VV et HH ont une rétrodiffusion plus élevée que VH et HV (HV et VH sont presque toujours les mêmes) pour les surfaces rugueuses et lisses. Une surface humide entraîne une section efficace radar plus élevée. La rétrodiffusion d'une surface dépend de la rugosité et de la constante diélectrique de la cible qu'elle éclaire. La surface de l'océan entraînera donc souvent une petite rétrodiffusion en raison de sa surface humide et relativement lisse (à faible vitesse du vent), même en considérant sa constante diélectrique élevée aux fréquences SAR.
La diffusion à double rebond se produit lorsque l'impulsion transmise est réfléchie spéculairement deux fois depuis un coin vers le SAR. Il en résulte une rétrodiffusion très élevée. Les navires présentent souvent de nombreux angles et sont très lisses, ce qui entraîne une rétrodiffusion particulièrement élevée. Il est donc souvent facile de différencier par exemple les navires de la surface de l'océan. Pour plus d’informations sur les mécanismes de diffusion sur les océans. Comme mentionné ci-dessus, plusieurs autres mécanismes de diffusion existent et lors de la détection, par exemple, de navires dans des images SAR dans l'Arctique, la diffusion volumique doit également être prise en compte.
En raison de la géométrie du SAR et de sa plate-forme mobile, les capteurs d'imagerie SAR typiques sont conçus pour prendre des images focalisées avec une bonne résolution en supposant que leur cible est stationnaire pendant l'acquisition de l'image. Cette focalisation ne peut pas être effectuée sur des cibles en mouvement, et les instruments SAR normaux sont donc mal adaptés à la détection d'objets en mouvement rapide, tels que les navires. Le résultat est un arrière-plan statique bien résolu et une cible mobile mal résolue. Dans les tâches de surveillance non coopératives, cela constitue un problème important. En supposant qu'une cible se déplace perpendiculairement à la ligne de visée du SAR avec une accélération constante, il est possible de réduire le problème en prenant en compte le décalage Doppler des images SAR. Les navires maritimes ne suivent normalement pas de tels modèles. Par conséquent, des modèles de trajectoire plus complexes doivent être pris en compte lorsque l’on observe des navires équipés d’instruments SAR.
En résumé, en utilisant les capacités d’un instrument SAR, il devrait être possible de détecter des navires à la surface des océans.
Moi-même, Simon Lupemba, Eigil Lippert
Voir Fichier de licence. En bref:
Citez-moi dans votre travail ! quelque chose comme : Kristian Aalling Sørensen (2020) sentinel_1_python [Code source]. https://github.com/aalling93/sentinel_1_python. email : [email protected]
Obtenez le plus grand nombre possible de me suivre sur Github. Vous et vos collègues qui l'utilisez au minimum. Je suis un chasseur de genre.
Star ce référentiel, conditionné de la même manière que ci-dessus.
Peut-être m'écrire un e-mail ou deux pour me dire à quel point j'ai fait un travail incroyable ?
Aide-moi à améliorer le travail. Je suis toujours à la recherche de collaborateurs.