400 128 6709

行业新闻

昇腾杯-变化检测赛道复赛方案分享——PaddleCD

发布时间:2025-07-22点击次数:
PaddleCD是基于PaddleSeg2.2修改的变化检测工具集,支持双时相并行输入/Siamese结构与变化标注,含OCR-CD等4种模型,曾用于昇腾杯(复赛TOP14)和PRCV2025(决赛TOP7)。现有训练中inf/nan的bug,原因不明。介绍了项目背景、数据集、方案及完整代码流程,后续将补充模型。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

昇腾杯-变化检测赛道复赛方案分享——paddlecd -

简述

  • 基于PaddleSeg2.2,修改dataset、model、train、val等,实现变化检测功能,使用过程与PaddleSeg完全一致,便于快速进行网络训练、推理
  • 基于PaddleCD使用OCR-CD(魔改OCR-Net),在昇腾杯-变化检测赛道复赛排名TOP14,PRCV2025决赛排名TOP7
  • 目前仅实现了OCR-CD、SNUNet、DSAMNet、CDNet,后续会补充模型
  • 目前存在bug,训练一段时间后Found inf or nan, current scale is: 0.0, decrease to: 0.0 * 0.5,出现原因不详、出现时间不固定;且仅在前期收敛

更新

  • v2:更新部分表述
  • v3:更新项目背景、数据集说明

1.项目背景

1.1 PaddleCD

之前对变化检测有过一些接触,今年下半年在参加PRCV2025遥感图像智能解译技术挑战赛时,为便于对代码进行调整,基于PaddleSeg2.2进行修改,实现了变化检测工具集——PaddleCD

       

变化检测的数据格式较多样(按标注类型大概分为变化标注、增加标注+减少标注、time1 gt+time2 gt+变化标注等,按网络结构的影像可以分双时相并行输入/Siamese结构、双时相叠加后输入/分割网络)

       

目前PaddleCD支持的是最简单的双时相并行输入/Siamese结构,标注类型——变化标注。其他结构可以在此项目基础上微调得到,后续如有接触相关内容也会更新。

       

现有网络OCR-CD——自己魔改结构,SNUNet——ppcd中网络的搬运、DSAMNet——DSAMNet的Paddle复现、CDNet——SenseEarth2025冠军方案Paddle复现

       

1.2 比赛介绍

变化检测是从不同时期的遥感数据中定量分析和确定地表变化的特征与过程;遥感变化检测是一个确定和评价各种地表现象随时间发生变化的过程;遥感变化检测是遥感瞬时视场中地表特征随时间发生的变化引起两个时期影像像元光谱响应的变化。[ * ]

PRCV2025遥感图像智能解译技术挑战赛链接:https://captain-whu.github.io/PRCV2025_RS/index.html

昇腾杯-变化检测赛道链接:http://rsipac.whu.edu.cn/subject_two

       

1.3 本项目内容

本项目为昇腾杯-变化检测赛道复赛排名TOP14方案代码实现,PRCV2025项目方案也采用了同样网络结构

2.数据集介绍

  • 原始影像:影像格式为tif,包含R、G、B三个波段, 初赛数据集影像尺寸为512 * 512像素,共3194对样本

  • 标签数据:标签格式为单通道的png,每个像素的标签值由一个数值表示, 使用‘uint8’数据类型存储,该数值表示是否为变化,“0”代表未变化,“1”代表变化。

3.项目方案——OCR-CD

  • OCR-CD根据OCRNet与Siamese结构设计得到,

    简小派 简小派

    简小派是一款AI原生求职工具,通过简历优化、岗位匹配、项目生成、模拟面试与智能投递,全链路提升求职成功率,帮助普通人更快拿到更好的 offer。

    简小派 123 查看详情 简小派
  • OCR-CD设计有OCR、OCR_M、OCR_P共3种结构,3种结构精度无太大差异,OCR_M、OCR_P由于结构原因占用显存大,训练慢,因此常使用OCR结构

  • 网络结构

    • backbone——使用HRNet分别对双时相影像进行特征提取,得到f1、f2
    • 特征处理
      • OCR: 取f1、f2差值的绝对值fb
      • OCR_M: 将f1、f2在通道维度合并得到fb
      • OCR_P: 取f1、f2差值的绝对值fb,将f1、f2在通道维度合并得到fa
    • 输出头
      • OCR、OCR_M:1个OCRHead
      • OCR_P:2个OCRHead分别处理fb,fa
  • OCR、OCR_M、OCR_P的config文件分别在PaddleCD-cd_config下的ocrnet.yml、ocrnet_m.yml、ocrnet_p.yml

4.PaddleCD必要结构说明

  • cd_config:存放配置文件
  • paddleseg:核心代码
    • core:包含具体的train、val、infer、predict代码,seg与cd有所不同
    • transforms:数据预处理部分,seg与cd有所不同
    • models:模型存放路径,cd部分——ocrnet、snunet、dsamnet、cdnet_parallel、cdnet_fusion,其余部分未修改,仍是seg功能
    • datasets:存放数据集格式代码,本项目使用的是rscd中自定义的数据,可根据输入输出的不同进行修改
    • cvlibs: 相关代码库,未修改
    • utils: 相关代码库,未修改
  • train.py: 调用核心代码的train过程
  • val.py: 调用核心代码的val过程
  • predict.py: 调用核心代码的predict过程

5.项目完整代码

数据预处理

In [ ]
# 清除cell输出结果def clear_output():
    """
    clear output for both jupyter notebook and the console
    """
    import os
    os.system('cls' if os.name == 'nt' else 'clear')    from IPython.display import clear_output as clear
    clear()
    In [ ]
# 解压数据!unzip -oq /home/aistudio/data/data107059/train_png.zip -d /home/aistudio/data/src/
!unzip -oq /home/aistudio/data/data107059/test_AB_png.zip -d /home/aistudio/data/src/
    In [ ]
# 安装依赖库!pip install -r /home/aistudio/PaddleCD/requirements.txt
clear_output()
    In [ ]
# 生成数据集train.txt val.txt# !python /home/aistudio/work/data_generate.py# 直接拷贝已有的数据集划分文件,保证每次训练评价指标相同!cp /home/aistudio/work/train.txt /home/aistudio/data/src/train.txt
!cp /home/aistudio/work/val.txt /home/aistudio/data/src/val.txt
   

网络训练

In [9]
# 模型训练!python /home/aistudio/PaddleCD/train.py \
       --config /home/aistudio/PaddleCD/cd_config/ocrnet.yml \
       --do_eval \
       --use_vdl \
       --iters 8000 \
       --s*e_interval 200 \
       --s*e_dir /home/aistudio/data/output \
       --batch_size=8 \
       --log_iters 20 \
       --fp16# 后台训练时,需要清空输出,保证notebook正常导入;notebook训练时,可以不用# clear_output()
    In [ ]
# 将最优模型拷贝到/home/aistudio/best_model路径下!mkdir /home/aistudio/best_model/
!cp /home/aistudio/data/output/best_model/model.pdparams /home/aistudio/best_model/model.pdparams
!find /home/aistudio/data/output -name '*.log' -exec cp -t /home/aistudio/best_model/ "{}" +
   

测试

In [7]
# 普通测试!python /home/aistudio/PaddleCD/val.py \
       --config /home/aistudio/PaddleCD/cd_config/ocrnet.yml \
       --batch_size 16 \
       --model_path /home/aistudio/best_model/model.pdparams
    In [8]
# 增强测试!python /home/aistudio/PaddleCD/val.py \
       --config /home/aistudio/PaddleCD/cd_config/ocrnet.yml \
       --aug_eval \
       --flip_vertical \
       --batch_size 16 \
       --model_path /home/aistudio/best_model/model.pdparams
    In [ ]
!python /home/aistudio/work/data_sta.py
   

推理

In [ ]
# 增强推理, 推理结果保存在/home/aistudio/data/src/result下!python /home/aistudio/PaddleCD/predict.py \
       --config /home/aistudio/PaddleCD/cd_config/ocrnet.yml \
       --model_path /home/aistudio/best_model2/model.pdparams \
       --image_path /home/aistudio/data/src/test_AB_png/A \
       --image_path2 /home/aistudio/data/src/test_AB_png/B \
       --aug_pred \
       --flip_vertical \
       --batch_size 32 \
       --s*e_dir /home/aistudio/data/src
   

推理展示

In [ ]
from PIL import Imagefrom collections import namedtupleimport matplotlib.pyplot as plt

Cls = namedtuple('cls', ['name', 'id', 'color'])
Clss = [
    Cls('bg', 0, (0, 0, 0)),
    Cls('change', 1, (255, 255, 255)),
]def get_putpalette(Clss, color_other=[0, 0, 0]):
    '''
    灰度图转8bit彩色图
    :param Clss:颜色映射表
    :param color_other:其余颜色设置
    :return:
    '''
    putpalette = []    for cls in Clss:
        putpalette += list(cls.color)
    putpalette += color_other * (255 - len(Clss))    return putpalette

bin_colormap = get_putpalette(Clss)
    In [ ]
%matplotlib inline
img1_path = r'/home/aistudio/data/src/test_AB_png/A/1.png'img2_path = r'/home/aistudio/data/src/test_AB_png/B/1.png'pred_path = r'/home/aistudio/data/src/result/1.png'img1 = Image.open(img1_path)
plt.imshow(img1)
plt.show()
img2 = Image.open(img2_path)
plt.imshow(img2)
plt.show()
pred = Image.open(pred_path)
pred.putpalette(bin_colormap)
plt.imshow(pred)
plt.show
       
<Figure size 432x288 with 1 Axes>
               
<Figure size 432x288 with 1 Axes>
               
<function matplotlib.pyplot.show(*args, **kw)>
               
<Figure size 432x288 with 1 Axes>
               

以上就是昇腾杯-变化检测赛道复赛方案分享——PaddleCD的详细内容,更多请关注其它相关文章!


# git  # 工具  # ai  # red  # python  # 格式为  # 丰台区重型网站建设推广  # loft营销推广方案  # 酒店网站建设特色  # 青海seo优化哪里有  # 珠海短视频营销ai智能推广  # 徐州创新网站建设软件  # 普陀网站建设找哪家  # 猎德网站建设费用标准  # 视场  # 实现了  # 是一个  # 官网  # 中文网  # 有所不同  # 的是  # 地表  # 一言  # fig  # palette  # udio  # 沈阳网站推广微信hfqjwl下拉  # 菏泽宣传型网站建设 


相关栏目: 【 行业新闻62819 】 【 科技资讯67470


相关推荐: 今年,全球客服中心支出将增长 16.2%,迎接对话式 AI 的浪潮,根据 Gartner 报告  第二届光合组织AI解决方案大赛赛果揭晓  苹果在韩举办首届中小企业智能制造论坛,加速推动工业4.0发展  上天下海登极,青岛与昇腾AI握手一起探索星辰大海  微软在 Build 大会上宣布的新 Microsoft Store AI Hub 现已开始推出  VMS的应用:提升多品牌设备管理效能  OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试  加强能源消费绿色转型政策引导  剧透!蜜小豆@2025世界人工智能大会多个亮点曝光  如布科技发布新产品AI口袋学习机S12  人工智能行业急缺人 AI人才年薪能达近42万元  AI浪潮席卷,时空壶为何能成为AI翻译时代的破局者  特斯拉人形机器人将于 7 月亮相上海 2025 世界人工智能大会  联想戴炜:以全栈AI加速CT与IT融合,共建高质量算力网络  重磅! 捷通华声灵云AICC荣获第二届光合组织AI解决方案大赛二等奖  网易云音乐内测上线“私人DJ” 打造AI推荐音乐助手  WAIC 2025|云深处科技绝影Lite3与X20四足机器人亮相  智能化解决方案:保障数据安全阻击泄露和丢失  斑马推出全新升级版思维机:以人工智能为核心的交互式学习体验  AYANEO 安卓掌机 Pocket AIR 配置公布:天玑 1200 + 5.5 英寸屏  1000万张照片训练AI模型 科学家找到水下定位新方法  GPT-4最全攻略来袭!OpenAI官方发布,六个月攒下来的使用经验都在里面了  对话无界AI创始人长铗:AI的创业机会在应用层丨创新者Innovator  新闻传闻:迪士尼可能采用人工智能来控制电影制作成本  食品分销跨国企业Sysco CIDO:我们的增长秘诀是以IT为中心  Ai智能机器人,chat-免注册登入,直接使用新版gpt4.0!  鸿蒙OS 4将实现AI大模型集成,余承东表示坚持AI辅助而非AI取代  杭州举办第19届亚运会,主题为「亚运元宇宙」的发布仪式举行  AI框架生态峰会本周开幕 华为昇腾“朋友圈”再聚首 全球首个全模态大模型将登场  彬州市第三届青少年机器人创新大赛成功举办  Databricks推出人工智能模型共享机制,可令开发者与公司“双赢”  Valve Index VR 头显销量下滑,上市四年的长青树渐失光彩  2025年的网络分区:人工智能和自动化如何改变事物  无人机协助盐城交通执法的协同训练  Spotify计划推出AI驱动的音乐播放器功能  社区里,孩子们体验“机器人竞技”  马斯克反讽人工智能AI炒作:“机器学习”本质就是统计  苹果公司迅速拓展AR/VR团队,Vision Pro发布后7月份增设近100份工作机会  人脸识别+全景双摄+AI算法 萤石推动智能锁行业革新  你大脑中的画面,现在可以高清还原了  导演郭帆:人工智能应用可能会影响《流浪地球 3》的创作开发  陈丹琦ACL学术报告来了!详解大模型「*」数据库7大方向3大挑战,3小时干货满满  OpenAI首席执行官表态支持欧盟AI监管  【原创】奥比中光:与英伟达合作开发的3D开发套件正式发布 连接英伟达AI应用生态  看了天美对AI的布局,我感觉它想得是真明白  新华三集团总裁兼首席执行官于英涛:人工智能时代需要想象力,更需要精耕务实  云鲸发布全新的扫拖机器人J4系列  刊·见 | 捕捉人工智能领域最新动态?收藏Applied Artificial Intelligence  到中国科技馆体验“一滴油的奇妙旅行”,线上元宇宙展厅同步开启  图灵奖得主Hinton:我已经老了,如何控制比人类更聪明的AI交给你们了 

400 128 6709
E-mail

contact@tlftec.cn

扫一扫,添加微信

©  云南淘乐房科技有限公司 版权所有  滇ICP备2025071560号  

云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司