语义分割体验
1.批量下载谷歌影像数据
QGIS中绘制试验范围用3857投影,记录比例;创建格网divide_by_ploygon.py;QGIS缩放到合适分辨率查看四至点,计算geosize尺寸calculate_px_geosize.py;将by_grid_lv2.py加载到QGIS输出谷歌图片jpg和坐标信息igw,设置两个输出文件的路径和计算的geosize。
2.下载模型代码并配置环境(pip install -r requirements的路径)
3.labelme做标注
4.制作数据集(json_to_dataset.py)
路径、class、count = os.listdir(jpgs_path)
5.划分数据集(voc_annotation.py) 训练集、验证集txt
6.训练模型(train.py)
7.修改deeplab.py
model_path(best)、num_classes
8.输出精度(get_miou.py)
num_classes、name_classes
9.从test.txt和jpg数据中拷贝出test数据集(copy_testimg.py)
10.预测数据(predict.py)
name_classes
mode = "dir_predict"
路径dir_origin_path = "VOCdevkit/VOC2007/Test"
路径dir_origin_path 做如下调整可跳过步骤9
#VOCdevkit_path = 'VOCdevkit' #image_ids = open(os.path.join(VOCdevkit_path, "VOC2007/ImageSets/Segmentation/test.txt"),'r').read().splitlines() #dir_origin_path = os.path.join(VOCdevkit_path, "VOC2007/JPEGImages/"+image_id+".jpg")
(若仅predict输出mask图层 ,需修改deeplb.py中默认参数 "mix_type" : 1)
参考:GitHub - bubbliiiing/deeplabv3-plus-pytorch: 这是一个deeplabv3-plus-pytorch的源码,可以用于训练自己的模型。