DUTS显著性检测数据集mask格式为RGB的问题及解决脚本

该博客主要讲述了DUTS数据集中存在的一些问题,即部分灰度图片以RGB三通道格式存储,可能导致处理时出现错误。作者提供了一个Python脚本,用于将这些24位的RGB灰度图片转换为8位的L格式,以解决潜在的bug。受影响的图片包括DUTS-TR和DUTS-TE数据集中的特定文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DUTS数据集有几个GT label格式是RGB,虽然是灰度图片,但是却是以三通道的格式储存的,在用的时候可能会引起一些bug,因此我们最好把数据集格式优化一下,我发现有这么几张图片有问题,写在下面的脚本里了。

from PIL import Image

"""DUTS-TR数据集的ILSVRC2014_train_00023530/n01532829_13482/n04442312_17818是一张黑白图片(GT),但是却有3个通道,所以会报错;
DUTS-TE数据集的ILSVRC2012_test_00036002.png, sun_bcogaqperiljqupq.png也是一样的情况
这个脚本把这个图像24位变成8位(RGB格式转换成L格式)"""

img_path = 'XXX(你的路径)/DUTS-TR-Mask/ILSVRC2014_train_00023530.png'
img = Image.open(img_path)
im = img.convert('L')

im.save(img_path)
### 关于语义分割数据集增强方法 对于语义分割任务中的数据增强,可以采用多种技术来增加模型的鲁棒性和泛化能力。这些方法不仅限于几何变换和颜色调整,还包括引入或处理噪声的技术。 #### 在线增强与离线增强的选择 离线增强是在训练之前对整个数据集进行预处理,能够显著扩大原始数据量[^1]。然而,这种方法可能会占用大量磁盘空间并消耗较多时间准备数据。相比之下,在线增强则是在每次迭代过程中动态应用转换操作,不会实际存储额外图像文件,因此更加灵活高效。 #### 噪声处理的具体实现方式 为了模拟真实世界条件下的不确定性因素以及提高网络对抗不同质量输入的能力,可以在数据集中加入人工合成的随机噪声作为扰动源之一: - **高斯白噪**:向像素值添加服从正态分布的小幅度波动; - **椒盐噪音**:随机选取部分位置将其设为极亮(白色)或极暗(黑色),模仿传感器故障效果; - **模糊滤波器**:通过卷积核平滑细节特征,降低分辨率从而测试算法适应低质影像的表现。 下面给出一段Python代码片段用于生成带噪声版本样本及其对应标注掩码: ```python import numpy as np from skimage.util import random_noise from PIL import Image, ImageFilter def add_gaussian_noise(image_array): noisy_image = random_noise( image_array, mode='gaussian', clip=True ) return (noisy_image * 255).astype(np.uint8) def apply_blur_filter(pil_img): blurred_img = pil_img.filter(ImageFilter.BLUR) return np.array(blurred_img) # 使用上述函数对图片数组img_arr 和mask_arr 进行处理 noised_data = add_gaussian_noise(img_arr.copy()) blurred_mask = apply_blur_filter(Image.fromarray(mask_arr)) ``` 此段脚本展示了两种常见的噪声注入手段——加性高斯白噪与均值迁移型模糊效应,并且适用于同时作用于RGB彩色照片及二值化的类别标签图上[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值