Spaces:
No application file
No application file
File size: 3,973 Bytes
907462b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | import sys
sys.path.insert(0, '/playpen-raid2/qinliu/projects/iSegFormer')
from isegm.data.datasets.grabcut import GrabCutDataset
from isegm.data.compose import ComposeDataset, ProportionalComposeDataset
from isegm.data.datasets.berkeley import BerkeleyDataset
from isegm.data.datasets.coco import CocoDataset
from isegm.data.datasets.davis import DavisDataset
from isegm.data.datasets.grabcut import GrabCutDataset
from isegm.data.datasets.coco_lvis import CocoLvisDataset
from isegm.data.datasets.lvis import LvisDataset
from isegm.data.datasets.lvis_v1 import Lvis_v1_Dataset
from isegm.data.datasets.openimages import OpenImagesDataset
from isegm.data.datasets.sbd import SBDDataset, SBDEvaluationDataset
from isegm.data.datasets.images_dir import ImagesDirDataset
from isegm.data.datasets.ade20k import ADE20kDataset
from isegm.data.datasets.pascalvoc import PascalVocDataset
from isegm.data.datasets.brats import BraTSDataset
from isegm.data.datasets.ssTEM import ssTEMDataset
from isegm.data.datasets.oai_zib import OAIZIBDataset
from isegm.data.datasets.oai import OAIDataset
# Evaluation datasets
GRABCUT_PATH="/playpen-raid2/qinliu/data/GrabCut"
BERKELEY_PATH="/playpen-raid/qinliu/data/Berkeley"
DAVIS_PATH="/playpen-raid/qinliu/data/DAVIS"
COCO_MVAL_PATH="/playpen-raid/qinliu/data/COCO_MVal"
BraTS_PATH="/playpen-raid/qinliu/data/BraTS20"
ssTEM_PATH="/playpen-raid/qinliu/data/ssTEM"
OAIZIB_PATH="/playpen-raid2/qinliu/data/OAI-ZIB"
OAI_PATH="/playpen-raid2/qinliu/data/OAI"
SBD_PATH="/playpen-raid/qinliu/data/SBD/dataset"
PASCALVOC_PATH="/playpen-raid/qinliu/data/PascalVOC"
def get_dataset(dataset_name):
if dataset_name == 'GrabCut':
dataset = GrabCutDataset(GRABCUT_PATH)
elif dataset_name == 'Berkeley':
dataset = BerkeleyDataset(BERKELEY_PATH)
elif dataset_name == 'DAVIS':
dataset = DavisDataset(DAVIS_PATH)
elif dataset_name == 'SBD':
dataset = SBDEvaluationDataset(SBD_PATH)
elif dataset_name == 'SBD_Train':
dataset = SBDEvaluationDataset(SBD_PATH, split='train')
elif dataset_name == 'PascalVOC':
dataset = PascalVocDataset(PASCALVOC_PATH, split='val')
elif dataset_name == 'COCO_MVal':
dataset = DavisDataset(COCO_MVAL_PATH)
elif dataset_name == 'BraTS':
dataset = BraTSDataset(BraTS_PATH)
elif dataset_name == 'ssTEM':
dataset = ssTEMDataset(ssTEM_PATH)
elif dataset_name == 'OAIZIB':
dataset = OAIZIBDataset(OAIZIB_PATH)
else:
dataset = None
return dataset
GrabCut = get_dataset('GrabCut')
Berkeley = get_dataset('Berkeley')
DAVIS = get_dataset('DAVIS')
SBD = get_dataset('SBD')
PascalVOC = get_dataset('PascalVOC')
COCO_MVal = get_dataset('COCO_MVal')
BraTS = get_dataset('BraTS')
ssTEM = get_dataset('ssTEM')
OAIZIB = get_dataset('OAIZIB')
print('Length of each evaluation dataset.')
# print('GrabCut: ', len(GrabCut))
# print('Berkeley: ', len(Berkeley))
# print('DAVIS: ', len(DAVIS))
# print('SBD: ', len(SBD))
# print('PascalVOC: ', len(PascalVOC))
# print('COCO_MVal: ', len(COCO_MVal))
# print('BraTS: ', len(BraTS))
# print('ssTEM: ', len(ssTEM))
# print('OAIZIB: ', len(OAIZIB))
dataset_names = ['GrabCut']
# dataset_names = ['GrabCut', 'Berkeley', 'DAVIS', 'SBD', 'PascalVOC', 'COCO_MVal', 'BraTS', 'ssTEM', 'OAIZIB']
xs, ys, labels = [], [], []
for dataset_name in dataset_names:
dataset = get_dataset(dataset_name)
print(dataset_name, len(dataset))
for i in range(len(dataset)):
sample = dataset.get_sample(i)
print(sample.image.shape)
x, y, _ = sample.image.shape
xs.append(x)
ys.append(y)
labels.append(dataset_name)
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame(dict(x=xs, y=ys, label=labels))
groups = df.groupby('label')
fig, ax = plt.subplots()
# ax.margins(0.5)
for name, group in groups:
ax.plot(group.x, group.y, marker='o', linestyle='', label=name)
ax.legend()
ax.grid()
plt.show() |