负样本
在进行深度学习的过程中,如果图片过大,要进行拆图,将图片拆成小一点尺寸的,同时标注信息也要相应的拆了,那么就可能出现很多张图片,里面其实没有目标,是空的,相应的标注文件也是空的,我定义为这样的数据为负样本
下面是一段程序,将负样本从数据中删除,即,只保留正样本,代码如下:
如果要删除正样本,只需要将逻辑是改成逻辑非命令即可!
代码
import os
def delete_empty_txt(out_txt_floder, out_img_floder):
txt_list = os.listdir(out_txt_floder)
for txt_name in txt_list:
# 去除.txt后缀
name = txt_name[:-4]
# txt完整路径
txt_path = out_txt_floder + "/" + txt_name
# 对应图像完整路径
img_path = out_img_floder + "/" + name + ".png"
with open(txt_path, "r") as f:
# 读取txt全部内容,然后关闭
data = f.read()
f.close()
# 若该txt为空,删除txt及其对应图像
if(data == ""):
os.remove(txt_path)
os.remove(img_path)
print('{}为空,已被删除.'.format(name))
# 切割后数据集的标签文件存放文件夹
out_txt_floder = r'/home/rtx2080ti/GeTu/train/1024_mask'
# 切割得到的图像数据集存放文件夹
out_img_floder = r'/home/rtx2080ti/GeTu/train/1024_img'
delete_empty_txt(out_txt_floder, out_img_floder)
在深度学习中,负样本指不含目标对象的图片及对应的空标注文件。这段代码用于检测并删除这些负样本,保留正样本。通过读取txt标注文件内容,判断是否为空,如果为空则删除对应的txt和图片文件,从而优化数据集。
645

被折叠的 条评论
为什么被折叠?



