يحتوي هذا المستودع على نصوص برمجية لتنزيل البيانات المقدمة في الورقة MMEarth: استكشاف مهام الذرائع متعددة الوسائط لتعلم التمثيل الجغرافي المكاني. تُستخدم البرامج النصية لتنزيل بيانات الأقمار الصناعية واسعة النطاق من أجهزة استشعار وأقمار صناعية مختلفة (Sentinel-2، وSentinel-1، وERA5 - درجة الحرارة وهطول الأمطار، وAster GDEM، وما إلى ذلك) والتي نسميها الطرائق. يتم تنزيل البيانات من Google Earth Engine.
آخر تحديث بتاريخ 2024.11.07
يمكن تنزيل بيانات MMEarth باستخدام الروابط التالية. لتمكين التطوير بشكل أكثر سهولة باستخدام البيانات متعددة الوسائط، نوفر أيضًا مجموعتي بيانات "متذوقتين" إضافيتين بالإضافة إلى بيانات MMEarth الأصلية. ترخيص البيانات هو CC BY 4.0.
مجموعة البيانات | حجم الصورة | عدد البلاط | حجم مجموعة البيانات | رابط البيانات | سكريبت باش |
---|---|---|---|---|---|
MMEarth | 128x128 | 1.2 م | 597 جيجابايت | تحميل | سحق |
MMearth64 | 64x64 | 1.2 م | 152 جيجابايت | تحميل | سحق |
MMEarth100k | 128x128 | 100 ألف | 48 جيجابايت | تحميل | سحق |
جميع مجموعات البيانات الثلاثة لها بنية مماثلة على النحو التالي:
.
├── data_1M_v001/ # root data directory
│ ├── data_1M_v001.h5 # h5 file containing the data
│ ├── data_1M_v001_band_stats.json # json file containing information about the bands present in the h5 file for each data stack
│ ├── data_1M_v001_splits.json # json file containing information for train, val, test splits
│ └── data_1M_v001_tile_info.json # json file containing additional meta information of each tile that was downloaded.
يوجد هنا نموذج Jupyter Notebook يعرض مثالاً لتحميل البيانات باستخدام pytorch. وبدلاً من ذلك، تمت إضافة أداة تحميل البيانات أيضًا إلى TorchGeo.
للبدء في استخدام هذا المستودع، يمكنك تثبيت التبعيات والحزم باستخدام هذا الأمر
pip install -r requirements.txt
بمجرد الانتهاء من ذلك، ستحتاج إلى إعداد gcloud وearthengine حتى تعمل التعليمات البرمجية. اتبع الخطوات التالية:
earthengine authenticate
.earthengine authenticate
بشكل مباشر نظرًا لأنك ستحصل على روابط متعددة للنقر عليها، ولن تعمل هذه الروابط عند فتحها من المتصفح على جهازك المحلي. ومن ثم قم بتشغيل هذا الأمر earthengine authenticate --quiet
. اتبع التعليمات الموجودة على جهازك وسيعمل كل شيء. هناك خطوة إضافية تتمثل في إضافة اسم المشروع في كل ملف يحتوي على earthengine.initialize(project = '$PROJECT_NAME')
. يسمح هذا المستودع بتنزيل البيانات من أجهزة استشعار مختلفة. حاليًا يتم كتابة الكود لتنزيل المستشعرات/الطرائق التالية:
يحدث تنزيل البيانات فقط عندما يكون لديك ملف Geojson يحتوي على جميع المربعات التي تريد تنزيلها. تمثل المربعات هنا عائد الاستثمار (أو المضلعات) لكل موقع تريده. بمجرد حصولك على المربعات، يتم تنزيل مجموعات البيانات (بيانات كل طريقة) لكل مربع في Geojson. يمكن تنزيل البيانات باتباع هذا الهيكل الواسع، ويتم شرح كل نقطة من هذه النقاط أدناه بشكل أكبر:
create_tiles_polygon.py
هو الملف المستخدم لإنشاء المربعات. التكوين المقابل هو config/config_tiles.yaml
. بالنسبة لعينة عالمية، تعتمد تقنيات أخذ العينات المختلفة على المناطق الأحيائية والمناطق البيئية من RESOLVE ECOREGIONS.main_download.py
هو البرنامج النصي الرئيسي لتنزيل البيانات. التكوين المقابل هو config/config_data.yaml
. يحتوي ملف التكوين على معلمات مختلفة سيتم تعيينها فيما يتعلق بالطرائق والمسارات المختلفة. استنادًا إلى ملف Geojson الذي تم إنشاؤه من الخطوة أعلاه، يقوم هذا الملف بتنزيل مجموعات البيانات لكل تجانب.ee_utils/ee_data.py
على وظائف مخصصة لاسترداد كل طريقة في مكدس البيانات من GEE. فهو يدمج كل هذه الأساليب في مصفوفة واحدة، ويصدرها كملف GeoTIFF. يتم تخزين معلومات النطاق ومعلومات التجانب الأخرى في ملف json ( tile_info.json
). post_download.py
بإجراء 4 عمليات بالتتابع:tile_info.json
المتعددة (يتم إنشاء هذه الملفات عند التنزيل المتوازي باستخدام slurm - سيتم شرح المزيد أدناه)redownload.py
هو الملف الذي يمكن استخدامه لإعادة تنزيل أي مربعات فشل تنزيلها. في بعض الأحيان، عند تنزيل مكدسات البيانات، يمكن للبرنامج النصي تخطي المربعات لأسباب مختلفة (عدم وجود صورة مرجعية لـ Sentinel-2، أو مشكلات في الشبكة، أو مشكلات GEE). ومن ثم، إذا لزم الأمر، لدينا خيار لإعادة تنزيل هذه البلاطات. (البديل هو تنزيل مربعات أكثر مما هو مطلوب).( ملاحظة : يتم تنفيذ الملفات عن طريق استخدام SLURM. يتوفر المزيد من المعلومات حول هذا في قسم تنفيذ Slurm)
تنزيل مكدسات البيانات: يوفر GEE وظيفة تسمى getDownloadUrl()
التي تسمح لك بتصدير الصور كملفات GeoTIFF. نقوم بتوسيع هذا من خلال دمج جميع الأساليب الخاصة بموقع واحد في صورة واحدة، وتصديرها كملف GeoTIFF واحد. لزيادة سرعة تنزيل البيانات، نستخدم المعالجة المتوازية باستخدام SLURM. الأرقام المذكورة أعلاه تعطي فكرة عن كيفية القيام بذلك. تحتوي معلومات البلاط (البلاط GeoJSON) على معلومات الموقع والمزيد حول N البلاط الذي نحتاج إلى تنزيله. يتم تنزيل مربعات N/40 بواسطة 40 مهمة slurm (قمنا بتعيين الحد الأقصى للوظائف على 40 نظرًا لأن هذا هو الحد الأقصى لعدد الطلبات المتزامنة بواسطة GEE API).
لتشغيل التنزيل المتوازي slurm، قم بتنفيذ الأمر التالي
sbatch slurm_scripts/slurm_download_parallel.sh
يرجى الاستشهاد بورقتنا إذا كنت تستخدم هذا الرمز أو أي من البيانات المقدمة.
فيشال نيدونغادي، أنكيت كاريريا، ستيفان أوهمكي، سيرج بيلونجي، كريستيان إيجل، ونيكو لانج (2024). MMEarth: استكشاف مهام الذريعة متعددة الوسائط لتعلم التمثيل الجغرافي المكاني.
@misc{nedungadi2024mmearth,
title={MMEarth: Exploring Multi-Modal Pretext Tasks For Geospatial Representation Learning},
author={Vishal Nedungadi and Ankit Kariryaa and Stefan Oehmcke and Serge Belongie and Christian Igel and Nico Lang},
year={2024},
eprint={2405.02771},
archivePrefix={arXiv},
primaryClass={cs.CV}
}