Skip to content

Latest commit

 

History

History
122 lines (92 loc) · 7.84 KB

File metadata and controls

122 lines (92 loc) · 7.84 KB

🌍 AlphaEarth 本地化训练管理系统:端到端实施方案 (Implementation Plan)

一、 执行摘要 (Executive Summary)

本项目旨在对现有的 3d.img.net(基于 Vue 2 + Java Nutz 的 3D 卫星轨道预测系统)进行架构升级,并在此基础上,无缝集成一个本地化的 AlphaEarth (Space-Time-Precision) 地理空间基础模型训练管理系统

升级后的系统将从单一的“轨道位置可视化工具”跨越为**“多源遥感数据融合与本地 AI 大模型微调的 MLOps 平台”**,支持用户选择感兴趣的卫星源与行政区划,自动完成数据融合、预处理切片、模型训练监控与专属特征提取器的资产管理。


二、 目标系统架构 (Target Architecture)

采用**“双轨并行、微服务解耦”**的现代化架构:

1. 表现层 (Frontend)

  • 主应用 (Legacy):维持原有的 Vue 2 + Element UI 轨道预测面板不变,运行在旧域名 3d.img.net,保证现有业务稳定。
  • 新应用 (AlphaEarth Dashboard):采用 Vue 3 + Element Plus + Tailwind CSS + ECharts 作为独立的单页应用 (SPA) 全新开发。
  • 集成方式:部署在您即将申请的全新域名下(例如 ae.img.net 或全新主域名),与老系统实现完全的物理隔离,不再需要 <iframe> 嵌套或微前端的复杂妥协。
  • UI/UX 规范:严格遵循 Data-Dense Dashboard 规范,主色调 #3B82F6 (蓝),文字 #1E293B,使用 Fira Code 渲染训练数据。

2. 业务逻辑层 (Backend Services)

  • Orbit Service (Java):保留现有的 Nutz MVC 框架,继续在旧服务器/旧域名下负责 TLE 轨道根数抓取、位置解析。
  • AlphaEarth Service (Python):**【新增】**基于 FastAPI 构建的全新独立微服务。Python 生态天然契合 PyTorch 训练、GEE 数据拉取和 Rasterio 空间数据处理。
  • API 网关 / 路由部署
    • 新系统通过新域名直接反向代理至 Python FastAPI 服务(例如端口 8000)。
    • 彻底摆脱了与旧版 Java 接口冲突和路由复用的历史包袱,前端与后端的跨域 (CORS) 配置将变得极其简单清晰。

3. 数据持久层 (Data Layer)

  • 关系型空间数据库:统一迁移至 119.3.175.198PostgreSQL 18 + PostGIS (flights_dataset 实例)。
  • 对象存储数据湖:接入 华为云 OBS (gisdatalake Bucket),存放庞大的 TIF 影像、PyTorch 切片 (.pt) 以及最终的模型权重 (.pth)。

三、 数据架构深度设计 (Data Architecture Design)

flights_dataset 数据库中统一管理老系统的轨道数据与新系统的 AI 资产。

1. 核心数据表设计

  • 复用老表
    • sm_satellite:卫星元数据(名称、目录号、传感器类型)。
    • admin_province/city/county:行政区划边界表(自带 the_geom PostGIS 字段)。
  • 新增 AlphaEarth 业务表
    • ae_datasets:训练数据集注册表(关联区域边界、卫星源 JSON 列表、OBS 存储路径)。
    • ae_training_jobs:训练任务追踪表(包含超参数、当前 Epoch、Loss 指标 JSONB)。
    • ae_models:本地模型资产表(关联评估得分、OBS 权重下载链接)。
    • ae_embeddings_cache:基于 pgvector 的 64 维空间特征向量缓存表(用于以图搜图或下游预测)。

2. 多模态数据流转管线 (Data Pipeline)

当用户在界面指定了**“卫星源(如:Sentinel-2 + 高分二号)”“区域(如:璧山区)”**后,FastAPI 触发异步 Celery/Background Task:

  1. 边界解析:执行 SELECT st_asgeojson(the_geom) FROM admin_county WHERE name='璧山区' 获取 ROI。
  2. 数据抓取:调用 GEE API 或华为云私有接口,下载涵盖该 ROI 的无云 TIF 影像。直接流式写入本地服务器的临时高I/O磁盘(不占用额外云盘空间)。
  3. 空间对齐与切片
    • 统一投影至 UTM (EPSG:326XX)。
    • 通道映射与对齐(如缺失波段则补零)。
    • 执行 $log(x+1)/10$ 辐射归一化。
    • 利用 rasterio.windows 滑动切片为 128x128 大小,打包上传至华为云 OBS /2_processed_tensors/ 目录。

四、 本地化 AlphaEarth 核心训练模块 (Training Engine)

将论文中的 Space-Time-Precision (STP) 架构本地化。

  1. 模型骨架:使用 PyTorch 实现。
    • Precision Branch:1/2 尺度 3x3 卷积(保留纹理)。
    • Space Branch:1/16 尺度自注意力(提取全局上下文)。
    • Time Branch:1/8 尺度自注意力(提取时序变化)。
  2. 损失函数
    • 联合优化:MSE(重构误差) + 0.1 * Batch Uniformity Loss(单位超球面均匀性惩罚)
  3. 训练反馈机制
    • FastAPI 开启 WebSocket (/api/ae/ws/training)
    • 每完成一个 Batch,将当前的 loss_recloss_unigpu_utilization 和预估剩余时间推送到前端。

五、 分阶段实施路线图 (Implementation Roadmap)

Phase 1:基础设施“并轨”与数据源体检 (第 1-2 周)

  • 任务
    • 将旧版 Java orbitService 的数据库连接 (datasource.js) 切换至新的 119.3.175.198
    • 搭建 Python FastAPI 骨架,配置 SQLAlchemy 连接至 PostGIS,集成华为云 OBS SDK。
    • 开发“数据源准入分析面板”:实现对用户选择的卫星组合进行光谱、分辨率、时间覆盖度的自动雷达图评分接口。
  • 交付物:连通的开发环境,包含旧系统迁移和新接口 /api/ae/pipeline/analyze

Phase 2:数据处理流水线与切片引擎 (第 3-4 周)

  • 任务
    • 编写从 GEE/OBS 拉取影像的异步 Worker。
    • 实现影像的统一 UTM 投影、重采样至 10m。
    • 实现滑动窗口切片与归一化逻辑,确保大区域处理不会触发 OOM(内存溢出)。
    • 将预处理好的 Tensor 批量上传至华为云 OBS 温数据区。
  • 交付物:健壮的 Data Pipeline,前端可查看预处理进度条。

Phase 3:AlphaEarth 模型构建与可视化监控 (第 5-6 周)

  • 任务
    • 在 PyTorch 中完整实现 LocalAlphaEarthEncoderImplicitDecoder
    • 编写基于 PyTorch DataLoader 的训练循环 (Training Loop)。
    • 开发 Vue 3 监控大屏:通过 WebSocket 对接后端,使用 ECharts 实时绘制双 Loss 曲线和硬件负载。
  • 交付物:能够跑通本地数据的模型训练模块,以及极具科技感的实时监控大屏。

Phase 4:资产管理与全链路测试 (第 7-8 周)

  • 任务
    • 模型训练完成后,将提取器权重 .pth 打包存入华为云 OBS 3_model_registry/
    • 开发前端“模型资产库”卡片墙,展示各区域训练好的专属模型及其评估指标。
    • 编写测试脚本,验证加载本地 .pth 对新影像进行 64 维特征提取的正确性(检查 L2 Norm = 1.0)。
  • 交付物:端到端可用的 AlphaEarth 本地化训练系统,并与原 3d.img.net 网站菜单无缝融合。

六、 部署策略与硬件建议 (Deployment Strategy)

  • 数据库:继续使用 119.3.175.198 (PostgreSQL 18 + PostGIS + pgvector)。
  • 存储:华为云 OBS gisdatalake
  • 计算节点 (推荐配置)
    • Web/API 服务器:4核 8G (运行 Nginx, Java 后端, FastAPI 接口层)。
    • 训练 Worker 节点:独立配置。
      • 若仅做村/镇级模型微调:配备 NVIDIA T4 或 RTX 3060 即可(系统 RAM 16GB)。
      • 若需做区/县级或全市模型微调:必须配备 NVIDIA A100/V100(系统 RAM 64GB+),确保海量切片 DataLoader 的 I/O 吞吐。

Generated by Gemini CLI - Design Intelligence & Architecture Copilot