当前位置:网站首页>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命令
边栏推荐
- mpu9150(driverack pa简明教程)
- 分布式id解决方案
- 矩形脉冲波形的占空比及脉冲和瞬态特征的测量
- 瑞吉外卖项目:文件的上传与下载
- Detailed explanation of SQL stored procedures
- Three ways of single sign-on
- 《JUC并发编程 - 高级篇》06 - 共享模型之不可变(不可变类的设计 | 不可变类的使用 | 享元模式)
- 7 days to learn Go, Go structure + Go range to learn
- lotus-local-net 2k v1.17.0-rc4
- SQLServer2019 installation (Windows)
猜你喜欢

KVM虚拟化作业

5 open source Rust web development frameworks, which one do you choose?

Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性

MySQL row-level locks (row locks, adjacent key locks, gap locks)

CoCube群机器人预览→资讯剧透←
![[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process](/img/23/d4754ec38e50f320fc4ed90a1e5bbc.png)
[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process

3D激光SLAM:LeGO-LOAM论文解读---点云分割部分

准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解

MySQL 行级锁(行锁、临键锁、间隙锁)

Master SSR
随机推荐
In half a month, MySQL has been consolidated again, and a tens of thousands of words "super hard core" article has been sorted out!
Hospital management system database, course design, SQLserver, pure code design
掌握SSR
IDEA 配置方法注释自动参数
Distributed id solution
mysql 索引使用与优化
结构化查询语言SQL-关系数据库标准语言
A Method for Ensuring Data Consistency of Multi-Party Subsystems
"JUC Concurrent Programming - Advanced" 06 - Immutability of Shared Models (Design of Immutable Classes | Use of Immutable Classes | Flyweight Pattern)
AWS亚马逊云账号注册,免费申请12个月亚马逊云服务器详细教程
Life is endless, there are more questions, simple questions to learn knowledge points
Can I find a Go job in 7 days?Learn Go with arrays and pointers
使用内存映射加快PyTorch数据集的读取
redis-企业级使用
Redis缓存面临的缓存穿透问题
3.网页信息解析方法:Xpath与BeautifulSoup
SQL力扣刷题七
新人学习小熊派华为iot介绍
透过开发抽奖小程序,体会创新与迭代
【软件工程之美 - 专栏笔记】33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?