语义分割标签提取

图像语义分割开源数据集中的标签通常是多类的,并不一定适合实际场景的应用。比如某个场景只需要分割道路,其他场景都是背景。这就需要提取对应场景的标签。比如马赛州的语义分割数据集集包含了建筑和道路。如果只需要分割道路,那需要把道路的标签提取出来。

      

知识点:图像是RGB三通道颜色组成,原图中颜色越接近红色的地方在红色通道越接近白色。在纯红的地方在红色通道会出现纯白。绿色、蓝色也是同样的道理。

'''
通常做语义分割的时候,可能标签是多个语义的标签,如果你需要做二分割,比如水体,背景,那么存在将多标签修改或者
提取为二标签
'''

import numpy as np
import cv2

label = cv2.imread('F:\\SemanticImageDataSet\\CITY-OSM\\berlin\\berlin2_labels.png',cv2.IMREAD_UNCHANGED)
#cv2读取图像的通道排序是BGR
bule = label[:,:,0]
green = label[:,:,1]
red = label[:,:,2]

cv2.imwrite('F:\\SemanticImageDataSet\\CITY-OSM\\berlin\\berlin2_labels_road.png',red)

 分割结果如下:

 

 

 

 

 

 

### 语义分割标签制作的规范与注意事项 #### 数据集一致性 为了确保训练的有效性和准确性,在创建用于语义分割的数据集中,图像及其对应的标注文件应当保持严格的一致性。这意味着每一张输入图片都必须拥有一个相同尺寸大小、像素级别的分类掩码作为其真值标签[^1]。 #### 类别定义清晰化 在准备数据之前,需明确定义各个类别的含义以及它们之间的关系。对于工业应用场景而言,这一步骤尤为重要,因为不同物体可能具有相似外观却属于不同的类别;反之亦然。例如,在处理室内场景时,“墙”和“天花板”的区分就显得尤为关键[^3]。 #### 边界模糊区域处理方式 当遇到难以界定归属哪一类别的边界情况时——比如两个相邻对象之间存在过渡地带或者某些细小结构无法精确描绘出来的情况下——通常采取以下两种策略之一: - **多数投票原则**:依据周围大多数像素所属类别来决定这些不确定区域内各点的具体分配; - **特殊标记法**:引入一个新的“忽略区/未定区”,即不对这部分做任何特定分类,让网络自行学习如何对待这类特殊情况。 #### 工具选择与操作细节 针对大规模数据集的手动标注工作量巨大且容易出错,因此推荐采用专业的图形界面工具辅助完成此过程。同时要注意避免不必要的空白字符混入文本型标签文件内,如`ceiling_1.txt`中发现多余符号应及时清理以防止后续解析错误的发生。 #### 文件格式标准化 考虑到兼容性和效率问题,在存储最终版本前最好能统一所有样本至某种广泛接受的标准格式之下,像`.png`或`.jpg`配合同步生成的二进制mask(.npy),或者是直接转换成.hdf5形式以便于高效读取访问大容量数据集合。 ```bash sudo apt-get install libhdf5-dev # 安装h5py开发库,必要! sudo pip install h5py # Python环境下安装h5py包 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值