论文:paper
代码:code
目录
⭐⭐1.核心创新点
🍎🍎2.网络结构
👍👍3.论文实现结果
🌷🌷4.用自己的数据集复现
🏆4.1数据组织
🏆4.2训练过程
🏆4.3测试过程
整理不易,欢迎一键三连!!!
送你们一条美丽的--分割线--
⭐⭐1.核心创新点
统一的计算机视觉工具包:Geoseg是一个专注于高分辨率航拍影像建筑分割和轮廓提取的计算机视觉工具包,它整合了多种先进的深度学习模型,包括FCN、U-Net、SegNet、FPN、ResUNet、MC-FCN和BR-Net等,为研究人员和开发者提供了一个统一的平台,方便他们进行模型训练、日志记录、评估和可视化。
性能基准的建立:通过在统一的高质量航拍影像数据集上对不同模型进行仔细的训练和评估,产生了各种模型的性能基准,便于对不同模型的性能进行深入比较,为选择合适的模型提供了参考。
模型的优化与开源:该工具包经过优化并公开给公众,使得其他研究人员或开发者可以轻松地将其应用于自己的研究中,促进了相关领域的研究进展和技术交流。
丰富的评估指标:实现了多种平衡和不平衡的评估指标,如精确度、召回率、总体准确率、F1分数、Jaccard指数和kappa系数等,能够全面、客观地评估模型的性能。
模型的改进与创新:在实现原有模型的基础上,对部分模型进行了一些改进,例如BR-Net采用修改后的U-Net结构,用LeakyReLU替代传统的ReLU,并引入额外的边界损失来规范模型,提高了模型的性能。
🍎🍎2.网络结构
FCN(Fully Convolutional Networks):经典的FCN方法采用连续的卷积操作和双线性上采样来实现像素到像素的翻译,根据不同中间层的融合和上采样级别,有FCN32s、FCN16s和FCN8s三种变体。
U-Net:U-Net方法采用多个跳跃连接,将上层和下层之间连接起来,有助于保留图像的细节信息,提高分割精度。
FPN(Feature Pyramid Networks):类似于U-Net,FPN也采用多个跳跃连接,并且生成多尺度预测作为最终输出,能够更好地处理不同尺度的物体。
SegNet:与FCN相比,SegNet采用解池化操作,利用对应最大池化操作的池化索引来执行上采样,减少了参数数量和计算量。
ResUNet:基于U-Net的基本结构,用残差块替代VGG-16的卷积块,增强了模型的表示能力,从而获得更好的模型性能。
MC-FCN(Multi-Constraint FCN):以U-Net为后端,并引入对应输出的多约束条件,通过多方面的约束来提高分割的准确性。
BR-Net(Boundary Regulated Network):使用修改后的U-Net作为共享后端,用LeakyReLU(α=0.1)替代传统的ReLU,并引入额外的边界损失来规范模型,使得模型在分割建筑物的同时,能够更好地提取建筑物的轮廓。
工程组织如下:
👍👍3.论文实现结果
🌷🌷4.用自己的数据集复现
🏆4.1数据组织
数据组织目录结构如下:
---data_root_dir
---img
---0.png
---1.png
---2.png
---3.png
...
---mask
---0.png
---1.png
---2.png
---3.png
...
---train.csv
---val.csv
train.csv和val.csv内容如下:
🏆4.2训练过程
训练过程只需要指定对应参数即可,如下:
python src/train.py -root building -net MCFCN -trigger iter -interval 50 -terminal 5000 -batch_size 24
参数说明:
root:数据集名称
net:所选网络
trigger:训练参数,可选iter和epoch,iter为根据迭代次数训练,epoch为根据轮数训练
interval:每多少轮或者每多少迭代次数验证一次
terminal:一共训练多少轮或迭代多少次
batch_size:批处理大小,根据显卡自行调节
训练过程结果如下:
训练完成后的模型保存在./checkpoint文件夹下
命名为:SegNet-3*1*24-building_iter_500.pth
训练完成的checkpoint文件结果如下:
其中checkpoints.csv文件内容如下:
🏆4.3测试过程
测试数据组织目录结构如下:
---src
---data
---img
---0.png
---1.png
---2.png
---3.png
...
---mask
---0.png
---1.png
---2.png
---3.png
...
---test.txt
---ref.csv
测试代码如下:
python src/testPatch.py -root building -checkpoints SegNet-3*1*24-building_iter_500.pth
参数说明:
root:数据集名称
checkpoints:模型文件名称
测试结果如下:
测试结果存放在result/building文件夹下
1.png显示如下:
获取建筑物掩膜边界,运行get_outline.py,结果存放在result/building_outline文件夹下。此处的get_outline.py是我自己写的,需要源码的同学请私信留言。
结果如下:
至此,整个网络就复现完成了。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/qq_38308388/article/details/146912923