เปิดตัว OlmoEarth Embeddings: ส่งออกข้อมูลวิเคราะห์โลกแบบกำหนดเองผ่าน OlmoEarth Studio

📄 Tech Report: https://allenai.org/papers/olmoearth | 📊 Documentation: https://docs.olmoearth.allenai.org/embeddings | 💻 Learn more about OlmoEarth: https://allenai.org/olmoearth

OlmoEarth embeddings concept illustration: a grid of numeric embedding values connected by lines to points on a globe

OlmoEarth Studio แพลตฟอร์มสำหรับการสร้างโมเดลสำรวจโลก (Earth observation) เปิดให้ผู้ใช้สามารถคำนวณและส่งออก embedding vectors ได้แล้ว โดยเป็นการแปลงข้อมูลภาพถ่ายดาวเทียมให้เป็นรหัสตัวเลขขนาดกะทัดรัดผ่านโมเดล OlmoEarth แบบ open source ของเรา ซึ่งมีทั้ง source code และ model weights ให้ใช้งานสาธารณะ พร้อมกับ งานวิจัย เพื่อความโปร่งใสในกระบวนการสร้าง

Embeddings เปรียบเสมือนทางลัดที่คุ้มค่าในการใช้งาน OlmoEarth เพราะรองรับงานขั้นปลาย (downstream tasks) ได้หลากหลาย ตั้งแต่การค้นหาความคล้ายคลึง (similarity search) ไปจนถึงการทำ segmentation และการสำรวจข้อมูลแบบไม่มีผู้ช่วยสอน (unsupervised exploration) โดยพื้นที่ที่มีลักษณะทางกายภาพคล้ายกันจะมีค่าเวกเตอร์ที่ใกล้เคียงกัน ซึ่งประสิทธิภาพนี้ได้รับการยืนยันผ่านการทดสอบมาตรฐานและการ ประเมินอิสระ มาแล้ว

ผู้ใช้สามารถเลือกพื้นที่ ช่วงเวลา ประเภทของ encoder และความละเอียดที่ต้องการผ่าน Studio UI หรือ API เพื่อรับไฟล์ Cloud-Optimized GeoTIFFs (COGs) ที่มีน้ำหนักเบาและแชร์ง่ายไปใช้งานต่อได้ทันที นอกจากนี้หากต้องการประสิทธิภาพที่เจาะจงยิ่งขึ้น Studio ยังรองรับการทำ supervised fine-tuning (SFT) อีกด้วย สำหรับผู้ที่สนใจเข้าใช้งานสามารถ ติดต่อเรา หรือศึกษาคู่มือการคำนวณ embedding ด้วยตนเองได้ ที่นี่

การคำนวณ embeddings ใน Studio

World map of OlmoEarth embeddings with each land pixel colored by its k-means cluster, revealing coherent biome and land-cover structure across continents

โครงสร้างระดับโลกใน OlmoEarth embeddings จากภาพถ่ายดาวเทียม Sentinel-2 ตามฤดูกาล แสดงการจัดกลุ่มพื้นที่ 15 ประเภทผ่านวิธี k-means

กระบวนการทำงานใน Studio ถูกออกแบบให้เรียบง่ายเหมือนการพยากรณ์ข้อมูลทั่วไป โดยเริ่มจากการกำหนดค่าโมเดล รันระบบ และดาวน์โหลดผลลัพธ์ ซึ่งผู้ใช้สามารถปรับแต่งพารามิเตอร์ได้ดังนี้:

  • Area of interest: วาดหรืออัปโหลดรูปทรงหลายเหลี่ยม (polygon) เพื่อกำหนดพื้นที่ โดยระบบจะจัดการภาพและการแบ่งไทล์ให้โดยอัตโนมัติ
  • Time span: เลือกช่วงเวลาได้ตั้งแต่ 1-12 เดือน
  • Encoder variant: มีให้เลือก 3 ระดับ ได้แก่ Nano (128 มิติ), Tiny (192 มิติ) และ Base (768 มิติ)
  • Spatial resolution: ความละเอียดตั้งแต่ 10 เมตร ไปจนถึง 80 เมตรต่อพิกเซล
  • Imagery sources: รองรับ Sentinel-2 L2A, Sentinel-1 RTC หรือใช้งานร่วมกันทั้งคู่

Four false-color renderings of the same embedding raster side by side, each mapping the embedding bands to color differently

ตัวอย่างการแสดงผลเรสเตอร์ embedding ในรูปแบบสีที่แตกต่างกัน

ผลลัพธ์ที่ได้จะเป็นไฟล์ COG ที่จัดเก็บเวกเตอร์ในรูปแบบ signed 8-bit integers (int8) เพื่อความประหยัดพื้นที่ โดยมีค่าตั้งแต่ -127 ถึง +127 (ค่า -128 ใช้ระบุข้อมูลที่ขาดหาย) หากต้องการแปลงกลับเป็น floating-point สามารถใช้ฟังก์ชัน dequantize_embeddings ที่เตรียมไว้ให้ได้ เนื่องจากการคำนวณทั้งหมดเป็นแบบ on demand ข้อมูลที่ได้รับจึงสะท้อนสภาวะที่ผู้ใช้สนใจได้อย่างแม่นยำ เช่น การสร้าง embedding รายเดือนเพื่อวิเคราะห์การเปลี่ยนแปลงตามฤดูกาล แทนที่จะดูเพียงภาพรวมรายปีเพียงอย่างเดียว

สิ่งที่คุณสามารถทำได้ด้วย OlmoEarth embeddings

ตัวอย่างการใช้งานด้านล่างเลือกใช้ OlmoEarth-v1-Tiny (192 มิติ) ซึ่งเป็น encoder ขนาดเล็กแต่เปี่ยมประสิทธิภาพ เหมาะสำหรับการเริ่มต้นใช้งานโดยไม่สิ้นเปลืองทรัพยากรจัดเก็บมากเกินไป

Similarity search: การค้นหาพื้นที่ที่คล้ายคลึงกัน

ด้วยการดึงค่า embedding จากพิกเซลที่ต้องการและคำนวณ cosine similarity กับพื้นที่อื่น ระบบจะสร้าง heatmap แสดงความเหมือนของภูมิประเทศออกมาได้ทันที

Sentinel-2 imagery of farmland around Merced, California with the query pixel boxed in blue, beside the matching cosine-similarity heatmap in which the urban core and road corridors glow yellow against dark cropland

ตัวอย่างจากการค้นหาในเมือง Merced แคลิฟอร์เนีย พบว่าโมเดลสามารถแยกแยะเขตเมืองและแนวถนนออกจากพื้นที่เกษตรกรรมได้อย่างแม่นยำ แม้จะไม่มีการแปะเลเบลข้อมูลไว้ก่อนหน้าก็ตาม

Embedding cosine similarity, query versus highest and lowest: an overview tile and the blue query patch above three high-similarity agricultural patches at 0.91, 0.89, and 0.89, and three low-similarity patches at -0.05 (airport), 0.03 (reservoir), and 0.08 (arid rangeland)

จากการทดสอบกับพื้นที่เกษตรกรรมชลประทาน พบว่าพื้นที่ที่คล้ายกันมากที่สุดได้ค่าความเหมือนสูงกว่า 0.89 ขณะที่พื้นที่ต่างประเภทอย่างสนามบินหรืออ่างเก็บน้ำได้ค่าใกล้ศูนย์ แสดงให้เห็นถึงความแม่นยำของพื้นที่ embedding

Few-shot segmentation: การจำแนกประเภทด้วยข้อมูลน้อย

embedding ที่สมบูรณ์ช่วยให้เราสร้างแผนที่สิ่งปกคลุมดิน (land-cover map) ได้โดยใช้ตัวจำแนกประเภทเชิงเส้น (linear classifier) และตัวอย่างข้อมูลเพียงไม่กี่จุด

Few-shot classification from 60 labeled pixels over Ca Mau, Vietnam: Sentinel-2 RGB, the ESA WorldCover reference map, and the predicted mangrove/water/other map at F1 0.84

ในจังหวัดก่าเมา ประเทศเวียดนาม เราลองเลเบลข้อมูลเพียง 60 พิกเซล (ประเภทละ 20 จุด) เพื่อแยกป่าชายเลนและน้ำ ผลลัพธ์ที่ได้มีความแม่นยำสูงถึง F1 = 0.84 ซึ่งการเพิ่มจำนวนเลเบลหลังจากนี้ให้ผลลัพธ์ที่แทบไม่ต่างกัน เพราะตัว embedding ได้ทำหน้าที่แยกแยะโครงสร้างหลักไว้ให้แล้ว

การวิเคราะห์นี้ใช้โค้ด Python เพียงไม่กี่บรรทัดผ่านไลบรารีมาตรฐาน:

import rasterio
import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
 
# Load the 192-band embedding COG exported from Studio
with rasterio.open("embeddings.tif") as ds:
    emb = ds.read().astype(np.float32)  # (192, H, W)
 
C, H, W = emb.shape
X = emb.reshape(C, -1).T  # (H*W, 192)
 
# Train on labeled pixels, predict everywhere
clf = make_pipeline(StandardScaler(), LogisticRegression(max_iter=2000))
clf.fit(X[train_idx], labels[train_idx])
prediction = clf.predict(X).reshape(H, W)

Change detection: การตรวจหาการเปลี่ยนแปลง

เมื่อ Studio สามารถสร้าง embedding ตามช่วงเวลาได้ เราจึงเปรียบเทียบความแตกต่างระหว่างสองช่วงเวลาได้ทันที เช่น การเปรียบเทียบข้อมูลเดือนกันยายน 2023 และ 2024 ในแคลิฟอร์เนีย ซึ่งทำให้รอยไหม้จาก Park Fire สว่างขึ้นชัดเจนบนแผนที่โดยไม่ต้องอาศัยการฝึกโมเดลเพิ่มเติม

Wildfire change detection from OlmoEarth embeddings: Sentinel-2 imagery of Butte County, California in September 2023 and September 2024, beside a cosine-distance map where the Park Fire burn scar glows orange and yellow

Unsupervised exploration: สำรวจข้อมูลแบบไร้เลเบล

การใช้ Principal Component Analysis (PCA) เพื่อลดมิติข้อมูลและแสดงผลเป็นสี R/G/B ช่วยให้เราเห็นโครงสร้างที่โมเดลตรวจพบได้ทันที เช่น ในพื้นที่เกษตรกรรม Flevoland เนเธอร์แลนด์ ที่ภาพ PCA แสดงขอบเขตพัสดุที่ดินและประเภทพืชผลแยกตามเฉดสีได้อย่างน่าทึ่ง

OlmoEarth embedding structure over Flevoland, the Netherlands: Sentinel-2 RGB beside a PCA false-color image mapping PC1, PC2, and PC3 to red, green, and blue, which reproduces the polder parcel grid

ก้าวต่อไปสู่ความเข้าใจที่ลึกซึ้ง

พลังของ OlmoEarth embedding คือการบีบอัดข้อมูลมหาศาลจากเซนเซอร์และชุดข้อมูลฝึกฝนหลายล้านชุดให้อยู่ในรูปแบบเวกเตอร์ที่ใช้งานง่าย ไฟล์ GeoTIFF ที่ส่งออกสามารถนำไปใช้กับเครื่องมืออย่าง QGIS, GDAL หรือสคริปต์ Python ของคุณเองได้ทันที

ผู้ที่สนใจสามารถศึกษาโค้ดตัวอย่างได้ที่ embeddings tutorial หรือทดลองผ่าน Colab notebook โดยไม่ต้องติดตั้งโปรแกรม และหากต้องการประสิทธิภาพสูงสุด ก็สามารถขยับไปใช้การทำ fine-tuning เฉพาะงานได้เช่นกัน

อย่างไรก็ตาม ประสิทธิภาพของ embedding ยังคงขึ้นอยู่กับคุณภาพของภาพถ่ายต้นทาง เช่น สภาพเมฆหรือสัญญาณรบกวนทางบรรยากาศ ซึ่งผู้ใช้ควรตรวจสอบคุณภาพข้อมูลให้เหมาะสมกับกรณีการใช้งานของตนเอง

Source: Hugging Face Blog
ดูแลงานแปลและเรียบเรียงโดย SirilukP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร