AI 遥感实战 · 真实项目复盘
0.5米影像 · 464平方公里 · 4万余个建筑轮廓
这不是一组演示数据,而是一次完整跑通的真实任务:从行政区边界开始,获取并拼接道里区 464.02 平方公里的 0.5 米影像,调用深度学习模型完成 22,140 次滑窗推理,再把概率栅格转成可编辑的建筑物面,最终交付 42,291 个完整候选轮廓和 40,649 个保守轮廓,并在 QGIS 中与原始影像叠加检查。
0.5 m
最终输出像元大小;源影像标称约 0.31—0.50 米
464.02 km²
道里区有效覆盖面积
42,291
完整候选建筑物轮廓
40,649
推荐交付的保守建筑物轮廓

图 1 实际生成的道里区影像快视图。东北部是哈尔滨主城区,向西逐渐过渡为机场、村镇、农田与河流。
一幅能够用于建筑物解译的遥感底图,至少要同时解决四个问题:覆盖是否完整、分辨率是否够用、坐标是否正确、每个像元能否追溯到来源。如果只是从网页截图,视觉上可能很清楚,但无法稳定地量测、拼接和批量推理;如果坐标系错了,即使轮廓画得再漂亮,叠加到 GIS 中也会整体偏移。
因此,这次任务从一开始就把目标定义成一套可复现的地理数据产品:
空间范围:哈尔滨市道里区,行政区代码 230102;影像:RGB 三波段 GeoTIFF,像元 0.5 米,带有效区掩膜与金字塔; 解译对象:影像中可见的屋顶轮廓,不是地籍意义上的建筑基底; 成果:GeoPackage、GeoJSON 和 Shapefile,主坐标系为 EPSG:32652;质量控制:全区拓扑检查、分场景目视检查、外部建筑数据一致性验证。
项目边界取自 DataV/高德行政区数据。它的原始坐标采用 GCJ-02,而卫星影像服务和绝大多数国际 GIS 数据采用 WGS 84。如果直接套用,边界会产生数百米级的系统偏差。处理时先对边界执行迭代式 GCJ-02 → WGS 84 反算,再投影到 WGS 84 / UTM 52N(EPSG:32652)。
选择 UTM 52N 的原因很直接:道里区位于该投影带内,单位是米,0.5 米像元、8 平方米最小建筑面积、0.35 米简化容差等参数都可以按真实尺度设置。最终行政区矢量面积为 464.017384577 km²,栅格有效像元折算面积为 464.017349750 km²,两者误差仅 -0.0000075%,说明裁切掩膜与像元网格高度一致。
影像来自 Esri World Imagery 的 ArcGIS REST export 接口,而不是浏览器截图。服务署名为:Source: Esri, Vantor, Earthstar Geographics, and the GIS User Community。本项目下载时,覆盖道里区的源影像分辨率约为 0.31—0.50 米,元数据显示它是由 WorldView-2、WorldView-3 和 Legion-3 影像构成的多时相镶嵌,日期范围为 2023-04-08 至 2025-05-29。
这里有一个容易忽略的事实:World Imagery 是持续更新的全球镶嵌服务,因此“道里区这幅图”并不对应单一卫星、单一成像日期。不同片区可能来自不同传感器和日期,这也会给后续解译带来色调、季节和阴影差异。
为了避免一次请求超出服务限制,先在 EPSG:32652 下建立严格对齐的 0.5 米网格,再按 2048 × 2048 像素切块请求。完整外包矩形为 38 列 × 25 行,其中与道里区边界相交的任务块为 526 个。每一块下载后都记录请求范围、像素大小、状态和来源元数据,最后再镶嵌、裁切并构建内部金字塔。
主影像文件的 SHA-256 为:
9f876b1169bd8e96a980a85f266cf30f8b78ecfc98e8de12ca182722256d8f27建筑物分割采用 HOTOSM 发布的 DINOv3 建筑模型,主体是 DINOv3 ViT-S/16 + UperNet。模型以 ONNX 格式运行,推理引擎使用 ONNX Runtime;在 Apple 芯片上优先调用 CoreMLExecutionProvider,无法支持的算子自动回退到 CPU。输入 RGB 影像按该模型的 VHR 统计量归一化。
整幅 3.9 亿级像素影像无法一次送入模型,因此采用两层切片:
外层按 4096 × 4096 像素宏块处理,每个宏块带 128 像素缓冲区; 内层模型窗口为 256 × 256 像素,步长 192 像素,相邻窗口重叠 25%; 重叠区使用 Hanning 权重融合,最低权重设为 0.05,减少窗口边缘的棋盘状接缝。
全区共完成 151 个宏块、22,140 次模型推理。中间成果是一幅约 580 MB的双波段概率 GeoTIFF:第一波段是建筑概率,第二波段是边界概率。保留概率而不是直接输出二值结果,后面就可以反复比较阈值,无需重复跑模型。

图 2 真实城区样区:左侧为原始影像,右侧红色区域为阈值 0.4371 下的建筑预测。模型能够覆盖大部分屋顶,同时仍需抑制道路、硬化地面和阴影误检。
最终采用的建筑概率阈值是 0.4371,即 uint8 概率值不低于 112。这个数字不是拍脑袋决定的:项目比较了 0.40、0.4371、0.50 等阈值,并测试边界概率权重 0.15、0.30、0.45。综合城区、城郊、村镇、工业园和稀疏区的目视结果后,保留建筑概率主导、边界权重为 0 的方案。

图 3 真实样区的参数比较。左上为基准阈值,其余三格逐步增加边界权重;边界通道没有带来稳定增益,因此最终不参与二值判定。
矢量化不是简单的“栅格转面”。实际处理链条如下:
3 × 3 中值滤波,去除孤立噪点; 按 0.4371 阈值二值化,提取带洞的层级轮廓; 删除小于 8 m² 的碎片,并去除面积小于 4 m² 的内部小孔洞; 对几何执行有效性修复,再以 0.35 米容差进行拓扑保持简化; 用长宽比、紧致度、局部置信度过滤细长道路和阴影伪影; 只对矩形度不低于 0.84、宽度不低于 2 米且形态接近矩形的对象做保守正交化; 把坐标吸附到 0.05 米精度网格,最后消除分块边界上的重复和重叠。
精修前共有 42,296 个对象。全区拓扑整理删除了 5 个分块边界完全重复对象,处理 7 对实质重叠,消除重叠面积 8.3617 m²,最后得到 42,291 个完整候选建筑轮廓,合计屋顶面积 30.8662 km²。
如果只在一个城区样区看起来不错,很容易对模型产生误判。项目专门制作了九宫格质检图,覆盖城市核心区、密集住宅、西南城区、城郊、机场、农村村庄、农村聚落、西部工业区和稀疏控制区。绿色是本次影像解译轮廓,黄色是 Overture East Asia VHR 参考建筑,青色是 OpenStreetMap 建筑。

图 4 全流程最关键的真实质检图。九种场景可以同时暴露密集楼群粘连、农村漏检、工业屋顶边界和稀疏区误检等问题。
验证使用了两类公开建筑数据:一是 Overture East Asia VHR 数据集(DOI:10.5281/zenodo.8174931),道里区内经过处理后约 73,964 个参照对象;二是 OSM 建筑,主验证中有效参照为 5,411 个。外部数据只用于匹配、分级和找问题,没有拿它们替换影像解译边界。
匹配时给参考轮廓建立 3 米缓冲区,通过空间索引查找候选,再统计参考对象检出率、预测对象在已制图区内的匹配代理、质心距离和 IoU。结果如下:
阈值校准另抽取 1,600 个 Overture 建筑,包含 309,199 个正样本像元和 320,000 个背景像元,在 0.30—0.70 之间以 0.025 的间隔扫描。原始像元代理 F1 在阈值 0.30 时最高,约为 0.6141;但该阈值在裸地、道路和大型硬化面上会产生明显误检。最终选择 0.4371,是把像元统计与多场景目视边缘贴合度结合后的工程折中,而不是单纯追逐一个最高分。
完整集保留所有通过几何与形态规则的 42,291 个候选。为了让默认交付更稳妥,又生成了保守集:剔除 1,642 个置信度低于 0.54、且没有 Overture 或 OSM 支持的弱候选,剩余 40,649 个,屋顶面积 30.7881 km²。
| 42,291 | 40,649 |
最终几何检查结果为:空几何 0、无效几何 0、重复几何 0,大于 0.25 m² 的成对重叠 0。这个结果说明成果在数据结构和拓扑层面已经干净,可以直接进入 GIS 编辑;它不等价于语义识别百分之百正确。

图 5 大型未匹配候选复核。红色为模型轮廓,黄色/青色为外部参照。未匹配不一定是误检,也可能是新建建筑、参照缺失或时间不一致。
这套结果具备区域级建筑普查和制图底稿价值,但不能把“OSM 检出率 96.03%”直接写成“总体精度 96.03%”。
原因是外部参照自身并不完整,也不完全同质。OSM 在城区覆盖较好、在农村可能缺失;Overture VHR 与本次影像的时相不同;参照通常表达建筑基底,而模型表达可见屋顶;高层建筑还会产生离轴位移。因此,上述指标更适合称为一致性代理。
结合统计结果与逐区目视检查,可以做出相对审慎的评价:
- 位置:
与 0.5 米影像严格同网格、同投影,叠加无系统性整体偏移;平面定位首先受源影像地理定位精度和建筑高度位移影响。 - 完整性:
城区和外部已有制图区表现较好,OSM 参照检出率超过 96%;农村小房、树木遮挡建筑和低对比屋顶仍有漏检。 - 轮廓质量:
大型、清晰、规则屋顶边缘较稳;连排建筑可能粘连,密集阴影区和复杂工业构筑物边缘会变形。 - 误检风险:
硬化场地、温室大棚、临时棚体、道路局部和高反射地物是主要混淆源。 - 适用范围:
适合作为建筑普查底稿、变化排查线索、空间统计和人工核查起点;不应直接作为地籍、产权、规划许可或测绘验收成果。
最后一步不是“导出文件就结束”,而是用桌面 GIS 软件对成果做可视化复核。本项目从 QGIS 官方下载页获取 macOS 长期支持版 QGIS 3.44.12 LTR。下载的是适配 Intel 与 Apple 芯片的通用安装镜像,文件大小 1,543,137,413 字节(约 1.44 GiB),安装后应用约 3.4 GB。
安装镜像 SHA-256:
41a2876a2d373215c9fdf3e85d791f71634983c9812f69b2fa5cfddce6529e47安装前核对了散列值;安装后,macOS Gatekeeper 验证通过,签名方为 Developer ID Application: Open Source Geospatial Foundation (4F7N4UDA22),并带 Apple 公证票据。Windows 或 Linux 用户可以参考 QGIS 官方安装指南选择对应版本。
打开主影像 daoli_world_imagery_0.5m_utm52n.tif;再加载推荐成果 daoli_buildings_conservative_epsg32652.gpkg;确认工程坐标参考系统为 EPSG:32652 — WGS 84 / UTM zone 52N;把建筑图层放在影像上方,填充设为透明,轮廓设为红色; 缩放到 1:5,000 左右,分别检查城市、工业、村镇和稀疏区域; 保存为 daoli_imagery_buildings_overlay.qgz,便于下次直接恢复图层和样式。

图 6 真实 QGIS 工程截图:主城区 1:5,000 叠加效果。红线紧贴多数可见屋顶,密集街区的连片建筑也是重点复核对象。

图 7 真实 QGIS 工程截图:农村与鱼塘场景。与城区相比,建筑更稀疏,树木遮挡、低对比屋顶和小型棚体更考验模型。
推荐日常使用保守集 GPKG。GeoPackage 没有 Shapefile 的字段名长度、编码和多文件组合等老问题,且对 4 万级面要素的空间索引和编辑体验更稳定。需要追求召回、准备人工复核时,再切换到完整集。
保守集 GPKG 的 SHA-256 为:
a2fb0b540a0e4733e6794c0b669b9a9c7746cf67dff4475e3615d0326d4b7610这次任务最有价值的地方,不是某个模型名字,而是建立了一条闭环:边界坐标先校正,影像下载可追溯,推理保留概率,矢量化参数可复跑,外部参照只做验证,QGIS 再回到原始影像逐区检查。这样得到的不是“一张看起来像建筑的图”,而是一套知道来源、知道限制、还能继续编辑和改进的数据。
如果把它迁移到其他城市,建议保留下面这份检查单:
确认行政区边界的原始坐标体系; 选择适合当地的米制投影,并让下载网格严格对齐; 保存每个影像请求的来源、日期、分辨率和返回状态; 使用重叠滑窗与加权融合,控制深度学习推理接缝; 保留概率栅格,分场景而不是只在单一样区调阈值; 矢量化后检查无效几何、重复、重叠和分块边界伪影; 把“与参照的一致性”与“真实世界精度”明确区分; 在 GIS 中回到原始影像抽样复核,并记录已知局限。
遥感自动解译的正确打开方式,不是承诺机器永远正确,而是让每一个结果都能被定位、被解释、被验证,也能被修正。
数据与工具:Esri World Imagery;DataV/高德行政区边界;HOTOSM DINOv3 Buildings;Overture East Asia VHR;OpenStreetMap;GDAL/Rasterio;ONNX Runtime;OpenCV;GeoPandas/Shapely;QGIS。
项目口径:建筑物数量指经过拓扑清理的影像屋顶候选面数量,不等同于自然幢、产权幢或门牌数量。文中所有流程图、对比图和 QGIS 截图均来自本次道里区实际任务。
生成日期:2026 年 7 月。转载或使用数据前,请分别核对影像、行政区边界、模型与外部参照数据的现行许可。
夜雨聆风