赛题名称:高分辨率遥感影像变电站识别挑战赛 赛题类型:计算机视觉、物体检测 赛题任务:设计并构建高精度、高鲁棒性的变电站识别算法
https://challenge.xfyun.cn/topic/info?type=HSI-SubID&option=ssgy&ch=2026dsDW1
unsetunset比赛背景unsetunset
随着国家新型能源体系与智能电网建设的推进,变电站作为电力传输与调度的核心节点,其空间位置与运行状态的精准掌握,已成为电网资产管理、应急保障及国土规划的关键基础。传统依赖人工外业巡检的方式,难以满足大范围、高频次、高精度的动态监测需求。
与此同时,高分辨率遥感卫星(尤其是"吉林一号"星座)的快速发展,为基础设施精细化感知提供了全新数据源。然而,变电站目标在亚米级影像中呈现结构复杂、尺度差异大、与工业厂区及光伏设施高度相似等特点,传统图像处理方法泛化能力弱,急需结合人工智能技术实现高鲁棒性的自动识别。

本次挑战赛由长光卫星技术股份有限公司主办,旨在汇聚产学研力量,探索适用于复杂场景下的变电站智能识别算法,推动遥感AI技术在能源设施监测领域的工程化落地。
unsetunset比赛任务unsetunset
参赛者需要基于"吉林一号"高分辨率遥感图像,设计并构建高精度、高鲁棒性的变电站识别算法。核心任务是在复杂地理背景下:
精准定位变电站位置 准确判别其边界(水平边界框) 解决目标尺度差异大、结构多样、与易混淆地物区分难等关键技术问题
输出格式为标准YOLO格式的检测结果,每行包含:
<class_id> <x_center> <y_center> <width> <height> <confidence>其中 class_id 固定为 0,confidence 为置信度分数(0~1)。
unsetunset比赛数据集unsetunset
本次大赛提供"吉林一号"高分辨率遥感图像,具有以下特点:
| 数据来源 | |
| 图像分辨率 | |
| 图像格式 | |
| 图像尺寸 | |
| 数据集总量 | |
| 场景覆盖 | |
| 目标类型 |
标注格式:采用标准YOLO格式的文本文件(.txt),与图像文件同名。每行包含 [<class_id> <x_center> <y_center> <width> <height>],其中坐标和宽高均经过归一化处理(取值0.0~1.0),所有数据的 class_id 均为 0。

数据集划分:
unsetunset比赛时间轴unsetunset
| 报名开始 | ||
| 初赛进行 | ||
| 初赛截止 | ||
| 复赛开始 | ||
| 复赛截止 | ||
| 决赛答辩 |
重要规则提醒:
每支队伍每天最多提交 3次,总提交次数不超过 36次 初赛、复赛模型大小均需 ≤ 600MB 复赛需提交技术报告、完整项目代码及模型权重文件
unsetunset评估指标unsetunset
本赛题采用 mAP@[0.5:0.95] 作为核心排名指标,这是目标检测领域最严格且最常用的评估标准之一。
计算流程:
计算IoU:对每个预测框与真实框计算交并比 单阈值AP计算: 在固定IoU阈值(如0.50)下,按置信度排序预测框 匹配真实框,计算Precision和Recall 绘制P-R曲线,积分求面积得到AP₀.₅₀ 综合mAP计算: 取IoU阈值从0.50到0.95,步长0.05,共10个阈值 分别计算AP值后求平均,得到 mAP@[0.5:0.95]
unsetunset比赛 Baselineunsetunset
为了帮助参赛者快速入门,我们提供了一套基于 Ultralytics YOLOv8 的 Baseline 方案。以下对核心步骤进行解读。
https://github.com/datawhalechina/competition-baseline/tree/master/competition/%E7%A7%91%E5%A4%A7%E8%AE%AF%E9%A3%9EAI%E5%BC%80%E5%8F%91%E8%80%85%E5%A4%A7%E8%B5%9B2026

数据集划分
import osimport globimport shutilos.makedirs('val', exist_ok=True)os.makedirs('val/labels', exist_ok=True)os.makedirs('val/images', exist_ok=True)labels = glob.glob('./train/labels/*')images = glob.glob('./train/images/*')labels.sort(); images.sort()# 取最后50张作为验证集for x, y in zip(labels[-50:], images[-50:]): shutil.move(x, 'val/labels/') shutil.move(y, 'val/images/')生成数据集配置文件
创建 yolo.yaml,定义数据集路径和类别名称:
import osdir_path = os.path.abspath('./') + '/'with open('yolo.yaml', 'w', encoding='utf-8') as up: up.write(f'''path: {dir_path}/train: train/val: val/names: 0: substation''')模型训练
使用 YOLOv8m 作为基础模型,训练 40 个 epoch:
from ultralytics import YOLOmodel = YOLO("yolov8m.pt") # 加载预训练权重results = model.train(data="./yolo.yaml", epochs=40, device=1, batch=16)Baseline 策略分析:
选择 YOLOv8m(中等规模)在精度和速度之间取得平衡 使用 COCO 预训练权重进行迁移学习 Batch size = 16,epochs = 40 是较为保守的设置
推理与结果生成
对测试集图像进行推理,生成符合提交格式的结果文件:
model = YOLO("runs/detect/train/weights/best.pt")os.makedirs('submit', exist_ok=True)test_paths = glob.glob('images/*')for path in test_paths:try: predictions = model(path, save_txt=None)with open("./submit/" + path.split('/')[-1][:-4] + '.txt', '+w') as file:for idx, prediction in enumerate(predictions[0].boxes.xywhn): cls = int(predictions[0].boxes.cls[idx].item()) file.write(f"{cls}{prediction[0].item()}{prediction[1].item()}{prediction[2].item()}{prediction[3].item()} 0.99\n")except:# 推理失败则生成空文件with open("./submit/" + path.split('/')[-1][:-4] + '.txt', '+w') as file: file.write("")输出格式说明:每行依次为类别ID(固定0)、归一化中心点x、归一化中心点y、归一化宽度、归一化高度、置信度(这里固定为0.99)。
Baseline 改进方向
对于希望提升排名的参赛者,可以从以下方向进行优化:
| 数据增强 | |
| 模型选择 | |
| 多尺度训练 | |
| 伪标签/半监督 | |
| 后处理优化 | |
| 模型集成 |
本次"高分辨率遥感影像变电站识别挑战赛"是一项将遥感技术与计算机视觉深度融合的典型工业级赛事。其特点在于:
数据真实且具挑战性:亚米级遥感影像,目标与环境高度相似 评估标准严格:采用 mAP@[0.5:0.95] 全面衡量检测精度 赛制完整:从初赛本地调试到复赛在线推理,再到决赛答辩 Baseline 友好:基于 YOLOv8 的快速上手方案,降低参赛门槛
对于参赛者而言,这不仅是算法能力的比拼,更是对工程化部署能力和问题分析能力的综合考验。期待参赛者们在变电站智能识别这一细分方向上,探索出更具创新性和实用性的解决方案。
# 学习大模型 & 讨论Kaggle #

每天大模型、算法竞赛、干货资讯

夜雨聆风