พื้นที่เก็บข้อมูลนี้มีสคริปต์สำหรับดาวน์โหลดข้อมูลที่นำเสนอในรายงาน MMEarth: การสำรวจงานข้ออ้างหลายรูปแบบสำหรับการเรียนรู้การเป็นตัวแทนเชิงพื้นที่ สคริปต์นี้ใช้เพื่อดาวน์โหลดข้อมูลดาวเทียมขนาดใหญ่จากเซ็นเซอร์และดาวเทียมต่างๆ (Sentinel-2, Sentinel-1, ERA5 - อุณหภูมิและการตกตะกอน, Aster GDEM ฯลฯ) ซึ่งเราเรียกว่ารังสี ข้อมูลจะถูกดาวน์โหลดจาก Google Earth Engine
อัปเดตล่าสุดเมื่อ 2024.11.07
สามารถดาวน์โหลดข้อมูล MMEarth ได้โดยใช้ลิงก์ต่อไปนี้ เพื่อให้การพัฒนาง่ายขึ้นด้วยข้อมูล Multi-Modal เราจึงจัดเตรียมชุดข้อมูล "นักชิม" เพิ่มเติมอีก 2 ชุดพร้อมกับข้อมูล MMEarth ดั้งเดิม ใบอนุญาตสำหรับข้อมูลคือ CC BY 4.0
ชุดข้อมูล | ขนาดภาพ | จำนวนกระเบื้อง | ขนาดชุดข้อมูล | ลิงค์ข้อมูล | สคริปต์ทุบตี |
---|---|---|---|---|---|
เอ็มเอิร์ธ | 128x128 | 1.2M | 597GB | ดาวน์โหลด | ทุบตี |
เอ็มเอิร์ธ64 | 64x64 | 1.2M | 152GB | ดาวน์โหลด | ทุบตี |
MMEarth100k | 128x128 | 100,000 | 48GB | ดาวน์โหลด | ทุบตี |
ชุดข้อมูลทั้ง 3 ชุดมีโครงสร้างคล้ายกันดังนี้
.
├── 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 อยู่ที่นี่ อีกวิธีหนึ่งคือเพิ่ม dataloader ลงใน TorchGeo ด้วย
หากต้องการเริ่มต้นใช้งานที่เก็บนี้ คุณสามารถติดตั้งการขึ้นต่อกันและแพ็กเกจด้วยคำสั่งนี้
pip install -r requirements.txt
เมื่อเสร็จแล้ว คุณจะต้องตั้งค่า gcloud และ Earthengine เพื่อให้โค้ดทำงานได้ ทำตามขั้นตอนด้านล่าง:
earthengine authenticate
earthengine authenticate
ไม่ทำงานโดยตรงเนื่องจากคุณจะได้รับลิงก์หลายรายการให้คลิก และลิงก์เหล่านี้จะไม่ทำงานเมื่อเปิดจากเบราว์เซอร์บนเครื่องท้องถิ่นของคุณ ดังนั้นให้รันคำสั่งนี้ earthengine authenticate --quiet
ทำตามคำแนะนำบนเทอร์มินัลของคุณ และทุกอย่างจะทำงานได้ ขั้นตอนเพิ่มเติมคือการเพิ่มชื่อโปรเจ็กต์ในทุกไฟล์ที่มี earthengine.initialize(project = '$PROJECT_NAME')
พื้นที่เก็บข้อมูลนี้อนุญาตให้ดาวน์โหลดข้อมูลจากเซ็นเซอร์ต่างๆ ขณะนี้โค้ดถูกเขียนขึ้นเพื่อดาวน์โหลดเซ็นเซอร์/โมดาลต่างๆ ต่อไปนี้:
การดาวน์โหลดข้อมูลจะเกิดขึ้นเฉพาะเมื่อคุณมีไฟล์ geojson ที่มีไทล์ทั้งหมดที่คุณต้องการดาวน์โหลด ส่วนต่างๆ ในที่นี้จะแสดงถึง ROI (หรือรูปหลายเหลี่ยม) สำหรับแต่ละสถานที่ที่คุณต้องการ เมื่อคุณมีไทล์แล้ว สแต็กข้อมูล (ข้อมูลสำหรับแต่ละรูปแบบ) จะถูกดาวน์โหลดสำหรับแต่ละไทล์ใน geojson สามารถดาวน์โหลดข้อมูลได้โดยทำตามโครงสร้างกว้างๆ นี้ และแต่ละประเด็นเหล่านี้จะอธิบายเพิ่มเติมด้านล่าง:
create_tiles_polygon.py
เป็นไฟล์ที่ใช้สร้างไทล์ การกำหนดค่าที่เกี่ยวข้องคือ config/config_tiles.yaml
สำหรับตัวอย่างทั่วโลก เทคนิคการสุ่มตัวอย่างต่างๆ จะขึ้นอยู่กับชีวนิเวศและอีโครีเจียนจาก RESOLVE ECOREGIONSmain_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 Execution)
การดาวน์โหลด Data Stacks: GEE มีฟังก์ชันที่เรียกว่า getDownloadUrl()
ซึ่งช่วยให้คุณสามารถส่งออกรูปภาพเป็นไฟล์ GeoTIFF ได้ เราขยายสิ่งนี้โดยการรวมวิธีการทั้งหมดสำหรับสถานที่เดียวให้เป็นภาพเดียว และส่งออกสิ่งนี้เป็นไฟล์ GeoTIFF ไฟล์เดียว เพื่อเพิ่มความเร็วในการดาวน์โหลดข้อมูล เราจึงใช้การประมวลผลแบบขนานโดยใช้ SLURM ตัวเลขข้างต้นให้แนวคิดเกี่ยวกับวิธีการดำเนินการนี้ ข้อมูลไทล์ (ไทล์ GeoJSON) มีข้อมูลตำแหน่งและข้อมูลเพิ่มเติมเกี่ยวกับไทล์ N ที่เราต้องดาวน์โหลด ดาวน์โหลดไทล์ N/40 โดยงาน slurm 40 งาน (เราตั้งค่างานสูงสุดเป็น 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}
}