Skip to content

使用ICNet模型对航拍图片(遥感图像)进行图像分割

Notifications You must be signed in to change notification settings

wangye707/ICNet-paddlepaddle

Repository files navigation

ICNet-paddlepaddle

使用ICNet模型对航拍图片(遥感图像)进行图像分割

数据集下载:

已训练完成模型下载(其中有1000步和40万步,1000用来参考,40万是最终训练模型):

训练环境关键包依赖

  • numpy == 1.18.1
  • opencv-python == 4.2.0.32
  • paddlepaddle-gpu == 1.7.1.post97 (python3.6版本,post97为cuda9+cudnn7,其他版本可以对应安装post)
  • pandas == 0.25.3

执行方式(注意,以下脚本有生成文件指令,请附带sudo权限):

1.图片裁剪
python preprocess.py 

2.训练神经网络
简化版本,均使用默认参数请执行:
python train.py 
指定参数请执行:              
python train.py  --batch_size=64 --checkpoint_path=chkpnt --init_model=chkpnt/1000 --use_gpu=True
说明:checkpoint_path:  模型将保存的路径,默认为10000步保存一次。
      init_model:      预训练模型的路径,本次没有给出预训练模型。
      模型恢复训练方式:  指定最新的模型路径来恢复训练,记得修改当
                        前迭代步数以保证正常训练(如在1000步时终止
                        ,记得修改迭代步数从1000开始,而不是默认参数0)
     
3.评估网络模型
python eval.py --model_path=chkpnt/400000
说明:model_path是指定的模型文件路径

4.通过已训练完成的网络模型预测图片
直接预测:
python infer1.py --model_path=chkpnt/400000 --images_path=dataset/origin/5.png
膨胀预测优化(推荐使用):
python infer_exp.py --model_path=chkpnt/400000 --images_path=dataset/origin/5.png

迭代过程展示(部分细节):

膨胀预测优化:

最终结果对比图1:

最终结果对比图2:

代码部分细节解释请参考我的CSDN博客:https://blog.csdn.net/qq_28626909/article/details/106489285

个人微信联系方式:wy1119744330 (添加请备注来意)

本次数据集提供以及部分数据处理参考代码:https://github.com/ximimiao/deeplabv3-Tensorflow

感谢@zhangwenjing对项目质量审查帮助,感谢@anxiangsir提供图片裁剪脚本,感谢@PaddlePaddle提供icnet网络结构相关源代码

About

使用ICNet模型对航拍图片(遥感图像)进行图像分割

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages