当前位置:网站首页>deeplab implements its own remote sensing geological segmentation dataset
deeplab implements its own remote sensing geological segmentation dataset
2022-07-31 11:16:00 【I am a little rice】
1. 数据集下载



下载链接
提取码:2022
Samples are stored in the datasets folderimage和label,You can view their channel and other information,Convenient to work with your own datasets.
2. 数据集预处理
参考另一篇文章:图像预处理
- 数据集image
- 是24位深度
- 3通道RGB图像
- 数据集label
- 是8位深度
- The value of the label is0,1,2,…(有nclass valuen-1)
If your dataset labels take the value 255,需要转化为0,1,2,等(视自己情况而定)
例如:
Background [0,0,0]--------------0
Person [192,128,128]--------------1
Bike [0,128,0]----------------------2
Car [128,128,128]----------------- 3
Drone [128,0,0]--------------------4
Boat [0,0,128]--------------------- 5
Animal [192,0,128]---------------- 6
Obstacle [192,0,0]------------------7
Construction [192,128,0]-----------8
Vegetation [0,64,0]-----------------9
Road [128,128,0]-------------------10
Sky [0,128,128]---------------------11
如果显存不够,Images can be cropped as 256大小,对应代码如下:
The cropped image is saved in image和label中
import os
import numpy as np
import cv2
images_path = './JPEGImages/'
labels_path = './SegmentationClass/'
image_files = os.listdir(images_path)
for s in image_files:
image_path = images_path + s
label_path = labels_path + s[:-4]+'.png'
image = cv2.imread(image_path)
label = cv2.imread(label_path)
#print(image.shape)
index = 0
for i in range(4):
for j in range(4):
#print(i*256, ((i+1)*256-1), j*256, ((j+1)*256-1))
new_image = image[i*256 : ((i+1)*256), j*256 : ((j+1)*256), :]
new_label = label[i*256 : ((i+1)*256), j*256 : ((j+1)*256), :]
cv2.imwrite('./image/'+ 'b_' + s[:-4] +'_'+ str(index) + '.png', new_image)
new_label = cv2.cvtColor(new_label, cv2.COLOR_BGR2GRAY)
cv2.imwrite('./label/'+ 'b_' + s[:-4] +'_'+ str(index) + '.png', new_label)
index+=1
print(s)
3. 模型下载
4. 检查数据
- 数据准备完成之后,首先运行
voc_annotation.py文件,生成数据列表,运行命令:python voc_annotation.py,Usually no error is reported here,If an error is reported, you can check as follows:Check if the label is
8位深度,如果不是,运行下面的代码:import os import cv2 file_names = os.listdir('./SegmentationClass/') for s in file_names: image_path = os.path.join('./SegmentationClass/', s) image = cv2.imread(image_path) image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) cv2.imwrite('./SegmentationClass/' + s , image)Check if there are other values in the label,比如说
类别为3,Then the value in the tag can only be0,1,2,如果出现其他值,就可能会报错;Even if there is no error here,There may also be problems during training,So if there is this problem,一定要记得修改.If this value is not particularly large,可以直接设为0;如果特别多,Then you need to check which step is causing the problem,If you can't find it, suggest changing the dataset.
5. 训练模型
- 修改train.py代码
图像的尺寸(重要)
图像类别(重要)
batch_sizeand other parameters as the case may be
- 运行
python train.py来训练
6. 模型评估
- 修改deeplab.py内容,are the trained models.类别数(Including background).图像尺寸

- 修改get_miou.py内容

- 运行
python get_miou.py命令
7. 模型预测
- 修改deeplab.py内容,are the trained models.类别数(Including background).图像尺寸

- 修改predict.py内容.name_classesIndicates the corresponding name for each category

- 运行
python predict.py命令
边栏推荐
- 1161. 最大层内元素和 (二叉树的层序遍历)
- The principle of v-model
- SQLServer2019 installation (Windows)
- 【Go事】一眼看穿 Go 的集合和切片
- 分布式事务——分布式事务简介、分布式事务框架 Seata(AT模式、Tcc模式、Tcc Vs AT)、分布式事务—MQ
- v-model的原理
- 基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]
- If the value of the enum map does not exist, deserialization is not performed
- MySQL 的 limit 分页查询及性能问题
- What does "chmod 777-R filename" mean?
猜你喜欢
随机推荐
Initial JDBC programming
Windows安装mysql详细步骤(通俗易懂,简单上手)
MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题)
淀粉与纤维素
WSL2安装.NET 6
MySQL中JOIN的用法
强大的SQL计算利器-SPL
【Go事】一眼看穿 Go 的集合和切片
蓝牙协议栈开发板 STM32F1 跑蓝牙协议栈 –传统蓝牙搜索演示以及实现原理[通俗易懂]
5 个开源的 Rust Web 开发框架,你选择哪个?
Three ways of single sign-on
Usage of exists in sql
Hospital management system database, course design, SQLserver, pure code design
Acwing-考研机试题
无法将“node.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
Master SSR
SQL study notes - REGEXP operator
ApiPost is really fragrant and powerful, it's time to throw away Postman and Swagger
“带薪划水”偷刷阿里老哥的面经宝典,三次挑战字节,终成正果
《JUC并发编程 - 高级篇》06 - 共享模型之不可变(不可变类的设计 | 不可变类的使用 | 享元模式)









