本项目旨在对现有的 3d.img.net(基于 Vue 2 + Java Nutz 的 3D 卫星轨道预测系统)进行架构升级,并在此基础上,无缝集成一个本地化的 AlphaEarth (Space-Time-Precision) 地理空间基础模型训练管理系统。
升级后的系统将从单一的“轨道位置可视化工具”跨越为**“多源遥感数据融合与本地 AI 大模型微调的 MLOps 平台”**,支持用户选择感兴趣的卫星源与行政区划,自动完成数据融合、预处理切片、模型训练监控与专属特征提取器的资产管理。
采用**“双轨并行、微服务解耦”**的现代化架构:
- 主应用 (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渲染训练数据。
- Orbit Service (Java):保留现有的 Nutz MVC 框架,继续在旧服务器/旧域名下负责 TLE 轨道根数抓取、位置解析。
- AlphaEarth Service (Python):**【新增】**基于 FastAPI 构建的全新独立微服务。Python 生态天然契合 PyTorch 训练、GEE 数据拉取和 Rasterio 空间数据处理。
- API 网关 / 路由部署:
- 新系统通过新域名直接反向代理至 Python FastAPI 服务(例如端口 8000)。
- 彻底摆脱了与旧版 Java 接口冲突和路由复用的历史包袱,前端与后端的跨域 (CORS) 配置将变得极其简单清晰。
- 关系型空间数据库:统一迁移至
119.3.175.198的 PostgreSQL 18 + PostGIS (flights_dataset实例)。 - 对象存储数据湖:接入 华为云 OBS (
gisdatalakeBucket),存放庞大的 TIF 影像、PyTorch 切片 (.pt) 以及最终的模型权重 (.pth)。
在 flights_dataset 数据库中统一管理老系统的轨道数据与新系统的 AI 资产。
- 复用老表:
sm_satellite:卫星元数据(名称、目录号、传感器类型)。admin_province/city/county:行政区划边界表(自带the_geomPostGIS 字段)。
- 新增 AlphaEarth 业务表:
ae_datasets:训练数据集注册表(关联区域边界、卫星源 JSON 列表、OBS 存储路径)。ae_training_jobs:训练任务追踪表(包含超参数、当前 Epoch、Loss 指标 JSONB)。ae_models:本地模型资产表(关联评估得分、OBS 权重下载链接)。ae_embeddings_cache:基于pgvector的 64 维空间特征向量缓存表(用于以图搜图或下游预测)。
当用户在界面指定了**“卫星源(如:Sentinel-2 + 高分二号)”和“区域(如:璧山区)”**后,FastAPI 触发异步 Celery/Background Task:
-
边界解析:执行
SELECT st_asgeojson(the_geom) FROM admin_county WHERE name='璧山区'获取 ROI。 - 数据抓取:调用 GEE API 或华为云私有接口,下载涵盖该 ROI 的无云 TIF 影像。直接流式写入本地服务器的临时高I/O磁盘(不占用额外云盘空间)。
-
空间对齐与切片:
- 统一投影至 UTM (
EPSG:326XX)。 - 通道映射与对齐(如缺失波段则补零)。
- 执行
$log(x+1)/10$ 辐射归一化。 - 利用
rasterio.windows滑动切片为128x128大小,打包上传至华为云 OBS/2_processed_tensors/目录。
- 统一投影至 UTM (
将论文中的 Space-Time-Precision (STP) 架构本地化。
- 模型骨架:使用 PyTorch 实现。
Precision Branch:1/2 尺度 3x3 卷积(保留纹理)。Space Branch:1/16 尺度自注意力(提取全局上下文)。Time Branch:1/8 尺度自注意力(提取时序变化)。
- 损失函数:
- 联合优化:
MSE(重构误差) + 0.1 * Batch Uniformity Loss(单位超球面均匀性惩罚)。
- 联合优化:
- 训练反馈机制:
- FastAPI 开启 WebSocket (
/api/ae/ws/training)。 - 每完成一个 Batch,将当前的
loss_rec、loss_uni、gpu_utilization和预估剩余时间推送到前端。
- FastAPI 开启 WebSocket (
- 任务:
- 将旧版 Java
orbitService的数据库连接 (datasource.js) 切换至新的119.3.175.198。 - 搭建 Python FastAPI 骨架,配置 SQLAlchemy 连接至 PostGIS,集成华为云 OBS SDK。
- 开发“数据源准入分析面板”:实现对用户选择的卫星组合进行光谱、分辨率、时间覆盖度的自动雷达图评分接口。
- 将旧版 Java
- 交付物:连通的开发环境,包含旧系统迁移和新接口
/api/ae/pipeline/analyze。
- 任务:
- 编写从 GEE/OBS 拉取影像的异步 Worker。
- 实现影像的统一 UTM 投影、重采样至 10m。
- 实现滑动窗口切片与归一化逻辑,确保大区域处理不会触发 OOM(内存溢出)。
- 将预处理好的 Tensor 批量上传至华为云 OBS 温数据区。
- 交付物:健壮的 Data Pipeline,前端可查看预处理进度条。
- 任务:
- 在 PyTorch 中完整实现
LocalAlphaEarthEncoder与ImplicitDecoder。 - 编写基于 PyTorch DataLoader 的训练循环 (Training Loop)。
- 开发 Vue 3 监控大屏:通过 WebSocket 对接后端,使用 ECharts 实时绘制双 Loss 曲线和硬件负载。
- 在 PyTorch 中完整实现
- 交付物:能够跑通本地数据的模型训练模块,以及极具科技感的实时监控大屏。
- 任务:
- 模型训练完成后,将提取器权重
.pth打包存入华为云 OBS3_model_registry/。 - 开发前端“模型资产库”卡片墙,展示各区域训练好的专属模型及其评估指标。
- 编写测试脚本,验证加载本地
.pth对新影像进行 64 维特征提取的正确性(检查 L2 Norm = 1.0)。
- 模型训练完成后,将提取器权重
- 交付物:端到端可用的 AlphaEarth 本地化训练系统,并与原
3d.img.net网站菜单无缝融合。
- 数据库:继续使用
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