1. 遥感语义分割数据集构建全流程解析
第一次接触遥感语义分割任务时,我被各种专业术语和多步骤流程搞得晕头转向。经过几个实际项目的打磨,我发现从原始多光谱数据到标准数据集的核心环节其实可以拆解为清晰的数据处理-标注-转换三板斧。以Sentinel-2 MSI数据为例,整个过程就像做一道精细的料理:选材(数据下载)、预处理(GDAL加工)、雕花(Labelme标注)、摆盘(格式统一)。下面我就用最直白的语言,分享这套经过实战验证的完整工作流。
多光谱数据相比普通RGB图像最大的特点是信息维度丰富。Sentinel-2的10米分辨率波段包含13个光谱通道,但深度学习模型训练通常只需要其中3-4个关键波段。这就好比你有13种调味料,实际做菜只需要酱油、盐、糖三样。数据处理阶段的核心目标,就是把海量卫星数据"降维"成适合标注和训练的格式,同时保留关键地物特征。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Sentinel-2数据下载与预处理
2.1 数据获取实战技巧
登录Copernicus Open Access Hub时,新手常会遇到两个坑:一是研究区域坐标格式错误,二是忽略云量筛选。建议先用Google Earth确定目标区域的经纬度范围,在搜索框输入格式应为"经度1 纬度1, 经度2 纬度2"(例如"116.3 39.9, 116.5 40.1")。云量阈值建议设置在10%以下,否则后续标注时地物会被云层遮挡。
下载的原始数据是.SAFE格式的压缩包,解压后会看到复杂的文件夹结构。关键数据藏在GRANULE子目录下的IMG_DATA/R10m中,这里存放着10米分辨率的波段文件。B02(蓝)、B03(绿)、B04(红)三个波段就是我们合成真彩色图像的基础原料。
2.2 GDAL波段合成与增强
直接查看.jp2格式的原始波段文件,你会发现图像发暗且对比度低。这是因为16位的辐射分辨率(0-65535)远超显示器能呈现的范围。用下面这段代码可以完成三件事:波段合成、16转8bit、对比度拉伸:
python复制import numpy as np
from osgeo import gdal
import cv2
# 波段文件路径(注意BGR顺序)
paths = ['B02_10m.jp2', 'B03_10m.jp2', 'B0
