Qwen 模型遥感地物智能解译 —— 使用说明文档
基于阿里云通义千问视觉大模型(Qwen)的亚米级遥感影像自动解译方案,用于建筑与建筑垃圾区遥感监测。
本文结合《遥感影像解译与数据标注技术文档》与 Qwen 视觉模型实际工程,说明解译地物类型、所用模型、技术流程、参数设置与效果展示。
1. 项目概述
| 项目信息 | 内容 |
|---|---|
| 任务 | 广西某区域建筑与固废疑似区遥感监测 |
| 影像来源 | 吉林一号 / 高分系列卫星,四波段(B/G/R/NIR)亚米级影像 |
| 空间分辨率 | 约 0.7–0.8 m(像元 7×10⁻⁶ 度) |
| 解译方式 | Qwen 视觉大模型逐瓦片自动检测 + 人工抽检 |
| 输出 | JSON + GeoJSON + Shapefile 矢量成果 |
2. 解译地物类型(15 类)
模型输出的类别体系如下,覆盖确定性地物与疑似固废相关地物:
2.1 确定性地物
| 类别 | 影像特征 |
|---|---|
| 建筑 | 灰白/深灰/浅褐屋顶,纹理均匀,不规则矩形或多边形,常伴锐利阴影 |
| 彩钢瓦房 | 高亮白或鲜艳蓝/青色屋顶,规则大跨度矩形,长宽比大(常 >3:1) |
2.2 固废 / 土方相关
| 类别 | 影像特征 |
|---|---|
| 建筑垃圾 | 破碎砖石、混凝土块堆积,灰白/杂色,纹理粗糙杂乱,常见于工地旁、路边、空地 |
| 推堆土 | 裸露土壤被推平/堆积形成的土方,黄褐色,表面平整或呈坡状,常见于施工场地周边 |
2.3 疑似地物(低置信度,需人工复核)
| 类别 | 类别 |
|---|---|
| 疑似梯田/种植园地 | 疑似裸露地块/小型堆土 |
| 疑似温室大棚/光伏阵列 | 疑似小型构筑物/堆物 |
| 疑似种植垄/苗圃 | 疑似裸露土方/堆场 |
| 疑似硬化空地/堆场 | 疑似杂物堆放/裸土 |
| 疑似裸露土方/施工迹地 | 疑似简易棚/堆物点 |
| 疑似长条形大棚/养殖棚 | — |
3. 使用的模型
| 项 | 值 |
|---|---|
| 模型名称 | Qwen3.8-Max(qwen3.8-max-0902) |
| 提供方 | 阿里云百炼(DashScope) |
| 调用方式 | OpenAI 兼容接口(/compatible-mode/v1/chat/completions) |
| 输入 | 影像瓦片(RGB)+ 中文提示词(含 15 类标签体系与解译特征) |
| 输出 | 严格 JSON:{"objects": [{"label": "...", "bbox_2d": [xmin, ymin, xmax, ymax]}, ...]} |
模型选型说明:Qwen3.8-Max 为多模态旗舰模型,对密集小目标(单瓦片 30–75 个建筑)检测稳定且准确。实测对比:qwen-vl-plus速度快但严重漏检(同瓦片 2 目标 vs 22 目标);qwen-vl-max检测不稳定且响应易超长被截断。故最终选用Qwen3.8-Max,在准确性与稳定性上最优。
4. 技术流程
四波段 .img/.tif 影像 │ ├─ ① 滑动裁剪:1000×1000 瓦片(与模型输入分辨率一致,避免二次缩放偏移) │ └─ RGB 提取:R=Band3, G=Band2, B=Band1 ├─ ② 图像增强:百分位拉伸(1%–99%),可调亮度/对比度 ├─ ③ 无效值检测:黑边/nodata 占比 > 阈值则跳过,避免浪费 token ├─ ④ Qwen 模型逐瓦片解译(失败瓦片自动二次重试) ├─ ⑤ 重叠框合并(NMS 去重)+ 全图坐标回算 + 经纬度换算 └─ ⑥ 输出:JSON / GeoJSON / Shapefile / 全图可视化断点续跑:已处理瓦片写入缓存,中断后重跑自动跳过,不重复计费。
5. 参数设置
⚠️安全说明:API Key 通过环境变量
DASHSCOPE_API_KEY提供,不在配置文件、代码或本文档中明文存储。以下参数均不含任何密钥信息。
5.1 模型调用参数(model_config.json)
| 参数 | 值 | 说明 |
|---|---|---|
model | qwen3.8-max-0902 | 模型名(可更换,如qwen-vl-max等) |
base_url | https://dashscope.aliyuncs.com/compatible-mode/v1 | 国内站 OpenAI 兼容端点 |
api_key_env | DASHSCOPE_API_KEY | 密钥所在环境变量名(非明文 key) |
timeout | 300s | 单次请求超时(密集瓦片生成较慢) |
max_tokens | 8192 | 响应最大 token(防止密集瓦片截断) |
temperature | 0.1 | 采样温度,低值更稳定 |
model_input_size | 1000 | 模型内部输入分辨率 |
5.2 影像处理参数
| 参数 | 值 | 说明 |
|---|---|---|
tile_size | 1000 | 裁剪瓦片尺寸(px) |
stride | 1000 | 滑动步长(= tile_size 即无重叠) |
rgb_bands | 3,2,1 | R/G/B 对应的 1-based 波段号 |
p_low / p_high | 1.0 / 99.0 | 百分位拉伸上下限 |
brightness / contrast | 1.0 / 1.0 | 亮度/对比度增强系数(1=不变) |
nodata | 0 | 无效值/nodata 阈值 |
min_valid_ratio | 0.2 | 有效像素占比低于此值则跳过该瓦片 |
merge_iou | 0.5 | 重叠框合并 IoU 阈值 |
workers | 4 | 并发 API 请求数 |
6. 效果展示
6.1 逐瓦片检测效果(高分影像 1287685 测试,10 瓦片)
瓦片r1000_c8000(有效占比 0.99,检出 72 目标):
10 瓦片测试合计301 目标、11 类:
建筑 219 · 彩钢瓦房 31 · 推堆土 14 · 疑似裸露地块/小型堆土 13 疑似梯田/种植园地 7 · 疑似裸露土方/施工迹地 4 · 疑似种植垄/苗圃 4 疑似硬化空地/堆场 3 · 疑似裸露土方/堆场 3 · 疑似长条形大棚/养殖棚 2 · 疑似温室大棚/光伏阵列 16.2 全图叠加可视化
6.3 完整影像成果(吉林一号 1_026,全 450 瓦片)
- 7648 个目标、15 类全覆盖,其中建筑 4627、彩钢瓦房 688、推堆土 212、建筑垃圾 3 等;
- 逐瓦片检测图、全图
overlay.png、矢量成果均正常产出。
7. 输出成果格式
| 文件 | 内容 |
|---|---|
interpret_result.json | 全图拼接目标(bbox 为全图像素坐标) |
interpret_result_geo.json | 附加经纬度(中心点 + 四角) |
interpret_result.shp | Shapefile 矢量(Polygon + 中文标签,UTF-8) |
interpret_result.geojson | GeoJSON 矢量 |
overlay.png | 全图叠加可视化 |
tiles/*_det.png | 逐瓦片检测效果图(框 + 标签) |
8. 代码与联系
- 代码可提供:完整工具链(裁剪、增强、无效值检测、Qwen 调用、重叠合并、矢量导出、断点续跑)为独立 Python 脚本,无 mmcv 依赖,可直接交付。
- 联系方式:(1162618418@qq.com)