处理voc2012数据集_图像分割第一步

处理好的voc2012语义分割数据集见:voc2012_semanticsegment | Kaggle

1.voc2012数据集介绍

这是下载的voc2012数据集,上边一个是测试集,下边的是训练+验证

VOCdevkit_train结构如下:

注意该数据集不全是用来做图像分割的,也有目标检测等其他任务的。

Annotations是保存每一张图片的xml信息,其中包含是否用来分割等选项,目标检测Xmin,Xmax,Ymin,Ymax等信息,此处我们用不到

JPEGimages就是需要用到的图片

SegmentationClass是语义分割的label,需要复制整个文件夹

SegmentationObject是实例分割的,暂时用不到

ImageSets这里需要用到,里边有各种任务的txt文件--我们可以根据此来找图像分割需要用到的图片

我们这里只用到下图的Segmentation部分,打开可以看到以下几个文件,我们可以根据这几个txt文件把图像分割需要的数据提取出去。

 2.具体代码

import os 
import numpy as np
import pandas as pd
import shutil

train = pd.read_csv('D:/medical_dataset/VOCdevkit_train/VOC2012/ImageSets/Segmentation/trainval.txt',header= None)
test = pd.read_csv('D:/medical_dataset/VOCdevkit_train/VOC2012/ImageSets/Segmentation/test.txt',header= None)
train = train.iloc[:,0]
new_path = 'C:/Users/lsy/Desktop/segment_voc2012/image/'
ob_image_train = []
for i in train:
    ob_image_train.append(i+ '.jpg')
file_path_train = 'D:/medical_dataset/VOCdevkit_train/VOC2012/JPEGImages/'
for i in ob_image_train:
    shutil.copy(file_path_train+i, new_path+i)
ob_image_test = []
for i in test:
    ob_image_test.append(i+ '.jpg')
file_path_test = 'D:/medical_dataset/VOCdevkit/VOC2012/JPEGImages/'
for i in ob_image_test:
    shutil.copy(file_path_test+i, new_path+i)

3.总结

该分割数据集数量:训练集train(1464)+ 验证集val(1449) + 测试集(1456)=4369

该分割数据集种类:加上背景一共21类,分别为:

classes = ['background','aeroplane','bicycle','bird','boat',
           'bottle','bus','car','cat','chair','cow','diningtable',
           'dog','horse','motorbike','person','potted plant',
           'sheep','sofa','train','tv/monitor']

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值