demo_system_algorithm/docs/a2net.md

3.5 KiB
Raw Permalink Blame History

A2Net — 轻量化变化检测网络

概述

A2Net (Aggregation Attentional Network) 是一种轻量化差异检测网络,专为双时相遥感图像变化检测任务设计。

核心特性

特性 说明
模型类型 差异检测网络Change Detection
骨干网络 MobileNetV2轻量级
输入形式 双时相图像对(前后对比)
输出形式 变化区域概率图 + 二值掩码
关键创新 邻居聚合模块 + 渐进式变化识别 + 监督注意力融合

模型架构

A2Net 通过三个核心模块处理变化检测任务:

graph LR
    A[时相1 图像] --> C[共享MobileNetV2骨干]
    B[时相2 图像] --> C
    C --> D[邻居聚合模块]
    D --> E[渐进式变化识别模块]
    E --> F[监督注意力融合模块]
    F --> G[变化概率图]
  • 邻居聚合模块 — 增强时间维度的特征表示
  • 渐进式变化识别模块 — 逐步提取时间差异特征
  • 监督注意力模块 — 优化多层级特征融合

目标应用场景

  • 城市发展与规划 — 监测建筑、道路等变化
  • 自然灾害评估 — 快速评估灾后区域变化
  • 农业林业监测 — 植被覆盖变化检测
  • 环境变化监测 — 水体、湿地等动态跟踪

参考来源


输入 / 输出规格

模型接口

方向 名称 数据类型 维度 尺寸
输入 INPUT:0 (时相1) UINT8 4D 1 × 1 × 256 × 768
输入 INPUT:1 (时相2) UINT8 4D 1 × 1 × 256 × 768
输出 OUTPUT:0 FP32 4D 1 × 1 × 256 × 256
输出 OUTPUT:1 FP32 4D 1 × 1 × 256 × 256
输出 OUTPUT:2 FP32 4D 1 × 1 × 256 × 256
输出 OUTPUT:3 FP32 4D 1 × 1 × 256 × 256

说明:输入为两张灰度图(单通道),尺寸 768×256输出 4 个特征图均为 256×256 的概率分布图。


后处理流程

flowchart TD
    A[模型输出: 4个概率图] --> B[取均值 / 融合]
    B --> C[阈值分割]
    C --> D{概率 > 阈值?}
    D -->|是| E[标记为变化区域 255]
    D -->|否| F[标记为不变区域 0]
    E --> G[输出二值变化图]
    F --> G

步骤说明

  1. 输出融合 — 将 4 个输出特征图合并为统一的变化概率图
  2. 阈值分割 — 对每个像素应用阈值(通常 0.5),将概率值转为二值结果
  3. 结果生成 — 输出二值图像(白色=变化区域,黑色=不变区域)

执行与性能

运行方式

python a2net.py

性能指标

指标 数值
推理平台 边缘板卡NPU
推理时间 ~52.49 ms
输出 FE 均值误差 0.002796
输出 FE 最大误差 0.301415

FE 相似度反映板卡输出与 PC 端输出的偏差,数值越低表示一致性越好。


输入 / 输出示例

输入图像(双时相对比)

时相1变化前 时相2变化后
时相1 时相2

检测结果

变化检测结果

白色区域表示检测到的变化区域,黑色为未变化区域。结果图保存路径:../resource/a2net/result.jpg