هوش مکانی GEOINT و GeoAI | راهنمای جامع فارسی

هوش مکانی GEOINT و GeoAI | راهنمای جامع فارسی ۰ تا ۱۰۰

در سال‌های اخیر، «هوش مکانی» (Geospatial Intelligence) دیگر فقط مختص نیروهای نظامی یا سازمان‌های اطلاعاتی نیست؛ بلکه به ابزار اصلی محققین یادگیری عمیق، برنامه‌ریزان شهری، مدیران بحران و حتی استارتاپ‌های کشاورزی دقیق تبدیل شده است. در این پست ۷۰۰۰ کلمه‌ای، با زبانی ساده ولی علمی، از مفاهیم پایه تا پیشرفته GEOINT و GeoAI را با تمرکز بر تصاویر ماهواره‌ای، داده‌های سنجش از دور و چارچوب‌های متن‌باز PyTorch و TensorFlow مرور می‌کنیم. همراه با کد، منابع داده رایگان، تمرین‌های عملی و نکات کلیدی برای ورود به بازار کار.

هوش مکانی GEOINT و GeoAI در قله کوه
خلاصه ۱۲۰ کلمه‌ای: هوش مکانی (GEOINT) یعنی استخراج دانش از داده‌های مکانی—ماهواره‌ای، هوایی، IoT—برای تصمیم‌گیری سریع. وقتی هوش مصنوعی (GeoAI) به این چرخه اضافه می‌شود، مدل‌هایی مثل CNN می‌توانند در چند ثانیه تصاویر چندگیگابایتی Sentinel-2 را طبقه‌بندی یا تغییرات پوشش گیاهی را شناسایی کنند. این راهنما از نصب GDAL تا آموزش مدل PyTorch برای تشخیص کشتی در SAR را پوشش می‌دهد—کاملاً رایگان و فارسی.

GEOINT چیست و چرا اهمیت دارد؟

GEOINT ترکیب سه رکن اساسی است: داده‌ مکانی، تحلیل زمین‌مرجع و زمینه تصمیم‌گیری. ماهواره‌ها، پهپادها، حسگرهای زمینی و حتی گوشی‌های همراه داده تولید می‌کنند؛ اما تا زمانی که این داده تبدیل به اطلاعات قابل فهم برای تصمیم‌گیرنده نشود، ارزش واقعی خود را نشان نمی‌دهد.

  • 📡 داده‌های راداری (SAR) در شب و ابر نیز کار می‌کنند.
  • 🛰️ تصاویر چندطیفی (Sentinel-2) برای پایش کشاورزی ایده‌آل‌اند.
  • 🌐 داده‌های متن‌باز به‌روز و رایگان در اختیار همگان قرار دارند.
ماهواره در فضا - هوش مکانی GEOINT و GeoAI

تفاوت GEOINT و GIS در یک نگاه

GIS ابزار ذخیره، نمایش و تحلیل مکانی است؛ در حالی که GEOINT بر «دستیابی به بینش» برای پشتیبانی از تصمیم‌گیری تاکید دارد. به‌عبارتی هر GEOINT‌ای از GIS استفاده می‌کند، اما هر GIS لزوماً GEOINT نیست.

GeoAI چیست؟

GeoAI یعنی کاربرد الگوریتم‌های یادگیری ماشین و یادگیری عمیق در مسائل مکانی. از خوشه‌بندی داده‌های نقطه‌ای LiDAR تا پیش‌بینی سیل با شبکه‌های LSTM. دو ویژگی کلیدی:

  1. حجم بالای داده‌های رستری/برداری
  2. وابستگی مکانی (autocorrelation) که باید در تقسیم Train/Test در نظر گرفته شود.
داشبورد GeoAI روی تبلت - هوش مکانی GEOINT و GeoAI

یادگیری عمیق تصاویر ماهواره‌ای؛ چالش‌ها و راهکارها

تصاویر ماهواره‌ای معمولاً چندطیفی و با وضوع متوسط (۱۰–۳۰ متر) هستند. برای ورود به CNN باید:

  • نوع داده را بشناسید: TOA یا SR؟
  • تصحیحات اتمسفری و هندسی را رعایت کنید.
  • برای semantic segmentation از U-Net یا DeepLabV3+ استفاده کنید.
# نمونه بارگذاری سریع Sentinel-2 با rasterio
import rasterio, numpy as np
with rasterio.open('B02.jp2') as src:
    blue = src.read(1)
CNN در حال طبقه‌بندی تصاویر SAR کشتی - هوش مکانی GEOINT و GeoAI

منابع داده رایگان برای تمرین

ماهواره وضوع فضایی دوره بازگشت دسترسی
Sentinel-2 10 m 5 روز Copernicus Open Hub
Landsat 8/9 30 m 16 روز USGS EarthExplorer
Sentinel-1 (SAR) 10 m 6 روز Copernicus

شروع سریع با GDAL

GDAL پایه‌ترین کتابخانه پردازش raster/bitmap است. برای نصب:

conda install -c conda-forge gdal

مثال: تبدیل فرمت و تغییر اندازه

gdal_translate -of GTiff -outsize 50% 50% input.jp2 output.tif

QGIS + Machine Learning

با افزونه Semi-Automatic Classification Plugin (SCP) می‌توانید تصاویر ماهواره‌ای را دانلود، پیش‌پردازش و با چند کلیک طبقه‌بندی RF یا SVM انجام دهید. برای یادگیری عمیق، افزونه Deepness نیز در دسترس است که مدل‌های ONNX را بارگذاری می‌کند.

PyTorch برای سنجش از دور

کد ساده Dataset سفارشی:

from torch.utils.data import Dataset
class PatchDataset(Dataset):
    def __init__(self, patches, labels):
        self.patches, self.labels = patches, labels
    def __len__(self): return len(self.patches)
    def __getitem__(self, idx):
        return self.patches[idx], self.labels[idx]

توجه: به دلیل وابستگی مکانی، از spatial-block cross-validation استفاده کنید تا داده‌های آموزش و آزمون همپوشانی مکانی نداشته باشند.

TensorFlow & Kaggle برای مسابقات GeoAI

با TensorFlow Data API می‌توانید TFRecord بسازید و روی TPU تمرین دهید. کلیه مراحل از جمله data augmentation با tf.image انجام می‌شود. برای مثال چرخش تصادفی ۹۰ درجه:

tf.image.rot90(img, k=tf.random.uniform(shape=[], maxval=4, dtype=tf.int32))

CNN برای SAR؛ تشخیص کشتی

SAR نسبت به ابر و شب مقاوم است. با استفاده از مجموعه‌داده OpenSARShip یک ResNet18 را روی تصاویر ۶۴×۶۴ آموزش دهید. دقت بالای ۹۲ % قابل دستیابی است.

تصویر رادار SAR - هوش مکانی GEOINT و GeoAI

تشخیص تغییر خودکار بین دو تاریخ

روش‌های پایه: تصفیه差影像 (Image Difference)، Change Vector Analysis (CVA). روش‌های پیشرفته: Siamese CNN یا U-Net++ با loss باینری. نکته: حتماً تصاویر را در سطح بازتاب سطحی (SR) هم‌راستا و هم‌اندازه کنید.

تشخیص شیء (ساختمان، خودرو، درخت) در تصاویر هوایی

YOLOv5 و Detectron2 هر دو قابلیت آموزش روی رستر را دارند. ابتدا با labelImg برچسب بزنید، سپس فایل‌های Pascal VOC را به COCO تبدیل کرده و آموزش دهید.

تولید مش ۳D برداری از تصاویر درون‌پردازنده‌ای (UAV)

با OpenDroneMap یا MICMAC می‌توانید تصاویر پهپاد را به Dense Point Cloud و سپس Mesh تبدیل کنید. سپس با PyTorch3D شبکه را کلاس‌بندی کنید.

مدل 3D مش از پهپاد - هوش مکانی GEOINT و GeoAI

برنامه‌ریزی شهری با GeoAI

شهرهای هوشمند به داده‌های لحظه‌ای نیاز دارند. با ترکیب Sentinel-2 و داده‌های شمارش AIS می‌توان الگوی ترافیک شبانه را پیش‌بینی کرد. کاربرد دیگر: شناسایی جزیره گرمایی شهری (Urban Heat Island) با استفاده از باند حرارتی Landsat.

مدیریت بحران با GEOINT

در سیل ۹۸، تصاویر Sentinel-1 قبل و بعد به‌صورت خودکار پردازش و مناطق آب‌گرفتگی در کمتر از ۲۴ ساعت شناسایی شد. الگوریتم K-means روی تصویر آستانه‌گذاری‌شده کافی است؛ ولی اگر CNN استفاده کنید، دقت مرزها بیشتر می‌شود.

کاربردهای دفاعی و امنیتی

تشخیص خودرو زرهی، شمارش هواپیما در پایگاه، تخمین ارتفاع موشک با سایه‌نگاری از تصاویر ماهواره‌ای. تمام این موارد با داده‌های متن‌باز قابل تمرین‌اند؛ فقط باید نکات اخلاقی را رعایت کرد.

اخلاق، حریم خصوصی و سوگیری داده

مدل‌های آموزش‌دیده روی داده‌های اروپا ممکن است در آفریقا خطای بالایی داشته باشند. راهکار: افزایش نمونه (data augmentation) یا انتقال دانش (transfer learning) با داده‌های محلی.

نقشه راه توسعه‌دهندگان فارسی‌زبان

  1. یادگیری Python + GDAL
  2. آشنایی با PyTorch یا TensorFlow
  3. مشترک شدن در مسابقات Kaggle با تگ «remote-sensing»
  4. انتشار مدل در HuggingFace یا Model Garden
  5. نوشتن مقاله یا پست وبلاگ (همین الان شروع کنید!)

سوالات متداول

آیا بدون کارت GPU می‌توان شروع کرد؟
بله؛ Google Colab رایگان تا ۱۵ ساعت T4 GPU دارد.
بهترین زبان برنامه‌نویسی چیست؟
Python؛ کتابخانه‌های کافی و جامعه فارسی فعال.
چه تعداد تصویر برای آموزش CNN لازم است؟
برای کلاس‌بندی ساده از هر کلاس ۵۰۰–۱۰۰۰ پچ کافی است؛ اما با augmentation می‌توان کمتر را هم استفاده کرد.
آیا باید ریاضیات پیشرفته بلد باشم؟
پایه جبر خطی و آمار کافی است؛ بقیه در مسیر یاد می‌گیرید.
چطور مدل خود را ارزیابی کنم؟
از معیارهای IoU برای segmentation و mAP برای object detection استفاده کنید.
نام‌نویسی در لیست انتظار دوره پیشرفته GeoAI