Spaces:
Runtime error
Runtime error
| # coding=utf-8 | |
| # Copyright 2024 The Google Research Authors. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| """ADE20K dataset.""" | |
| import os | |
| import numpy as np | |
| from PIL import Image | |
| import torch | |
| ADE_CLASSES = [ | |
| 'wall', | |
| 'building, edifice', | |
| 'sky', | |
| 'floor, flooring', | |
| 'tree', | |
| 'ceiling', | |
| 'road, route', | |
| 'bed', | |
| 'windowpane, window', | |
| 'grass', | |
| 'cabinet', | |
| 'sidewalk, pavement', | |
| 'person, individual, someone, somebody, mortal, soul', | |
| 'earth, ground', | |
| 'door, double, door', | |
| 'table', | |
| 'mountain, mount', | |
| 'plant, flora, plant, life', | |
| 'curtain, drape, drapery, mantle, pall', | |
| 'chair', | |
| 'car, auto, automobile, machine, motorcar', | |
| 'water', | |
| 'painting, picture', | |
| 'sofa, couch, lounge', | |
| 'shelf', | |
| 'house', | |
| 'sea', | |
| 'mirror', | |
| 'rug, carpet, carpeting', | |
| 'field', | |
| 'armchair', | |
| 'seat', | |
| 'fence, fencing', | |
| 'desk', | |
| 'rock, stone', | |
| 'wardrobe, closet, press', | |
| 'lamp', | |
| 'bathtub, bathing, tub, bath, tub', | |
| 'railing, rail', | |
| 'cushion', | |
| 'base, pedestal, stand', | |
| 'box', | |
| 'column, pillar', | |
| 'signboard, sign', | |
| 'chest, of, drawers, chest, bureau, dresser', | |
| 'counter', | |
| 'sand', | |
| 'sink', | |
| 'skyscraper', | |
| 'fireplace, hearth, open, fireplace', | |
| 'refrigerator, icebox', | |
| 'grandstand, covered, stand', | |
| 'path', | |
| 'stairs, steps', | |
| 'runway', | |
| 'case, display, case, showcase, vitrine', | |
| 'pool, table, billiard, table, snooker, table', | |
| 'pillow', | |
| 'screen, door, screen', | |
| 'stairway, staircase', | |
| 'river', | |
| 'bridge, span', | |
| 'bookcase', | |
| 'blind, screen', | |
| 'coffee, table, cocktail, table', | |
| 'toilet, can, commode, crapper, pot, potty, stool, throne', | |
| 'flower', | |
| 'book', | |
| 'hill', | |
| 'bench', | |
| 'countertop', | |
| 'stove, kitchen, stove, range, kitchen, range, cooking, stove', | |
| 'palm, palm, tree', | |
| 'kitchen, island', | |
| ( | |
| 'computer, computing, machine, computing, device, data, processor,' | |
| ' electronic, computer, information, processing, system' | |
| ), | |
| 'swivel, chair', | |
| 'boat', | |
| 'bar', | |
| 'arcade, machine', | |
| 'hovel, hut, hutch, shack, shanty', | |
| ( | |
| 'bus, autobus, coach, charabanc, double-decker, jitney, motorbus,' | |
| ' motorcoach, omnibus, passenger, vehicle' | |
| ), | |
| 'towel', | |
| 'light, light, source', | |
| 'truck, motortruck', | |
| 'tower', | |
| 'chandelier, pendant, pendent', | |
| 'awning, sunshade, sunblind', | |
| 'streetlight, street, lamp', | |
| 'booth, cubicle, stall, kiosk', | |
| ( | |
| 'television, television, receiver, television, set, tv, tv, set, idiot,' | |
| ' box, boob, tube, telly, goggle, box' | |
| ), | |
| 'airplane, aeroplane, plane', | |
| 'dirt, track', | |
| 'apparel, wearing, apparel, dress, clothes', | |
| 'pole', | |
| 'land, ground, soil', | |
| 'bannister, banister, balustrade, balusters, handrail', | |
| 'escalator, moving, staircase, moving, stairway', | |
| 'ottoman, pouf, pouffe, puff, hassock', | |
| 'bottle', | |
| 'buffet, counter, sideboard', | |
| 'poster, posting, placard, notice, bill, card', | |
| 'stage', | |
| 'van', | |
| 'ship', | |
| 'fountain', | |
| 'conveyer, belt, conveyor, belt, conveyer, conveyor, transporter', | |
| 'canopy', | |
| 'washer, automatic, washer, washing, machine', | |
| 'plaything, toy', | |
| 'swimming, pool, swimming, bath, natatorium', | |
| 'stool', | |
| 'barrel, cask', | |
| 'basket, handbasket', | |
| 'waterfall, falls', | |
| 'tent, collapsible, shelter', | |
| 'bag', | |
| 'minibike, motorbike', | |
| 'cradle', | |
| 'oven', | |
| 'ball', | |
| 'food, solid, food', | |
| 'step, stair', | |
| 'tank, storage, tank', | |
| 'trade, name, brand, name, brand, marque', | |
| 'microwave, microwave, oven', | |
| 'pot, flowerpot', | |
| 'animal, animate, being, beast, brute, creature, fauna', | |
| 'bicycle, bike, wheel, cycle', | |
| 'lake', | |
| 'dishwasher, dish, washer, dishwashing, machine', | |
| 'screen, silver, screen, projection, screen', | |
| 'blanket, cover', | |
| 'sculpture', | |
| 'hood, exhaust, hood', | |
| 'sconce', | |
| 'vase', | |
| 'traffic, light, traffic, signal, stoplight', | |
| 'tray', | |
| ( | |
| 'ashcan, trash, can, garbage, can, wastebin, ash, bin, ash-bin, ashbin,' | |
| ' dustbin, trash, barrel, trash, bin' | |
| ), | |
| 'fan', | |
| 'pier, wharf, wharfage, dock', | |
| 'crt, screen', | |
| 'plate', | |
| 'monitor, monitoring, device', | |
| 'bulletin, board, notice, board', | |
| 'shower', | |
| 'radiator', | |
| 'glass, drinking, glass', | |
| 'clock', | |
| 'flag', | |
| ] | |
| ADE_STUFF_CLASS = [ | |
| 'wall', | |
| 'sky', | |
| 'floor, flooring', | |
| 'tree', | |
| 'ceiling', | |
| 'road, route', | |
| 'grass', | |
| 'earth, ground', | |
| 'mountain, mount', | |
| 'plant, flora, plant, life', | |
| 'water', | |
| 'sea', | |
| 'field', | |
| 'sand', | |
| 'skyscraper', | |
| 'path', | |
| 'river', | |
| 'bridge, span', | |
| 'flower', | |
| 'hill', | |
| 'land, ground, soil', | |
| 'dirt, track', | |
| 'apparel, wearing, apparel, dress, clothes', | |
| 'lake', | |
| 'waterfall, falls', | |
| ] | |
| ADE_THING_CLASS = [ | |
| 'building, edifice', | |
| 'bed', | |
| 'windowpane, window', | |
| 'cabinet', | |
| 'sidewalk, pavement', | |
| 'person, individual, someone, somebody, mortal, soul', | |
| 'door, double, door', | |
| 'table', | |
| 'curtain, drape, drapery, mantle, pall', | |
| 'chair', | |
| 'car, auto, automobile, machine, motorcar', | |
| 'painting, picture', | |
| 'sofa, couch, lounge', | |
| 'shelf', | |
| 'house', | |
| 'mirror', | |
| 'rug, carpet, carpeting', | |
| 'armchair', | |
| 'seat', | |
| 'fence, fencing', | |
| 'desk', | |
| 'rock, stone', | |
| 'wardrobe, closet, press', | |
| 'lamp', | |
| 'bathtub, bathing, tub, bath, tub', | |
| 'railing, rail', | |
| 'cushion', | |
| 'base, pedestal, stand', | |
| 'box', | |
| 'column, pillar', | |
| 'signboard, sign', | |
| 'chest, of, drawers, chest, bureau, dresser', | |
| 'counter', | |
| 'sink', | |
| 'fireplace, hearth, open, fireplace', | |
| 'refrigerator, icebox', | |
| 'grandstand, covered, stand', | |
| 'stairs, steps', | |
| 'runway', | |
| 'case, display, case, showcase, vitrine', | |
| 'pool, table, billiard, table, snooker, table', | |
| 'pillow', | |
| 'screen, door, screen', | |
| 'stairway, staircase', | |
| 'bookcase', | |
| 'blind, screen', | |
| 'coffee, table, cocktail, table', | |
| 'toilet, can, commode, crapper, pot, potty, stool, throne', | |
| 'book', | |
| 'bench', | |
| 'countertop', | |
| 'stove, kitchen, stove, range, kitchen, range, cooking, stove', | |
| 'palm, palm, tree', | |
| 'kitchen, island', | |
| ( | |
| 'computer, computing, machine, computing, device, data, processor,' | |
| ' electronic, computer, information, processing, system' | |
| ), | |
| 'swivel, chair', | |
| 'boat', | |
| 'bar', | |
| 'arcade, machine', | |
| 'hovel, hut, hutch, shack, shanty', | |
| ( | |
| 'bus, autobus, coach, charabanc, double-decker, jitney, motorbus,' | |
| ' motorcoach, omnibus, passenger, vehicle' | |
| ), | |
| 'towel', | |
| 'light, light, source', | |
| 'truck, motortruck', | |
| 'tower', | |
| 'chandelier, pendant, pendent', | |
| 'awning, sunshade, sunblind', | |
| 'streetlight, street, lamp', | |
| 'booth, cubicle, stall, kiosk', | |
| ( | |
| 'television, television, receiver, television, set, tv, tv, set, idiot,' | |
| ' box, boob, tube, telly, goggle, box' | |
| ), | |
| 'airplane, aeroplane, plane', | |
| 'pole', | |
| 'bannister, banister, balustrade, balusters, handrail', | |
| 'escalator, moving, staircase, moving, stairway', | |
| 'ottoman, pouf, pouffe, puff, hassock', | |
| 'bottle', | |
| 'buffet, counter, sideboard', | |
| 'poster, posting, placard, notice, bill, card', | |
| 'stage', | |
| 'van', | |
| 'ship', | |
| 'fountain', | |
| 'conveyer, belt, conveyor, belt, conveyer, conveyor, transporter', | |
| 'canopy', | |
| 'washer, automatic, washer, washing, machine', | |
| 'plaything, toy', | |
| 'swimming, pool, swimming, bath, natatorium', | |
| 'stool', | |
| 'barrel, cask', | |
| 'basket, handbasket', | |
| 'tent, collapsible, shelter', | |
| 'bag', | |
| 'minibike, motorbike', | |
| 'cradle', | |
| 'oven', | |
| 'ball', | |
| 'food, solid, food', | |
| 'step, stair', | |
| 'tank, storage, tank', | |
| 'trade, name, brand, name, brand, marque', | |
| 'microwave, microwave, oven', | |
| 'pot, flowerpot', | |
| 'animal, animate, being, beast, brute, creature, fauna', | |
| 'bicycle, bike, wheel, cycle', | |
| 'dishwasher, dish, washer, dishwashing, machine', | |
| 'screen, silver, screen, projection, screen', | |
| 'blanket, cover', | |
| 'sculpture', | |
| 'hood, exhaust, hood', | |
| 'sconce', | |
| 'vase', | |
| 'traffic, light, traffic, signal, stoplight', | |
| 'tray', | |
| ( | |
| 'ashcan, trash, can, garbage, can, wastebin, ash, bin, ash-bin, ashbin,' | |
| ' dustbin, trash, barrel, trash, bin' | |
| ), | |
| 'fan', | |
| 'pier, wharf, wharfage, dock', | |
| 'crt, screen', | |
| 'plate', | |
| 'monitor, monitoring, device', | |
| 'bulletin, board, notice, board', | |
| 'shower', | |
| 'radiator', | |
| 'glass, drinking, glass', | |
| 'clock', | |
| 'flag', | |
| ] | |
| ADE_STUFF_CLASS_ID = [ | |
| 0, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6, | |
| 9, | |
| 13, | |
| 16, | |
| 17, | |
| 21, | |
| 26, | |
| 29, | |
| 46, | |
| 48, | |
| 52, | |
| 60, | |
| 61, | |
| 66, | |
| 68, | |
| 94, | |
| 91, | |
| 92, | |
| 128, | |
| 113, | |
| ] | |
| ADE_THING_CLASS_ID = [ | |
| 1, | |
| 7, | |
| 8, | |
| 10, | |
| 11, | |
| 12, | |
| 14, | |
| 15, | |
| 18, | |
| 19, | |
| 20, | |
| 22, | |
| 23, | |
| 24, | |
| 25, | |
| 27, | |
| 28, | |
| 30, | |
| 31, | |
| 32, | |
| 33, | |
| 34, | |
| 35, | |
| 36, | |
| 37, | |
| 38, | |
| 39, | |
| 40, | |
| 41, | |
| 42, | |
| 43, | |
| 44, | |
| 45, | |
| 47, | |
| 49, | |
| 50, | |
| 51, | |
| 53, | |
| 54, | |
| 55, | |
| 56, | |
| 57, | |
| 58, | |
| 59, | |
| 62, | |
| 63, | |
| 64, | |
| 65, | |
| 67, | |
| 69, | |
| 70, | |
| 71, | |
| 72, | |
| 73, | |
| 74, | |
| 75, | |
| 76, | |
| 77, | |
| 78, | |
| 79, | |
| 80, | |
| 81, | |
| 82, | |
| 83, | |
| 84, | |
| 85, | |
| 86, | |
| 87, | |
| 88, | |
| 89, | |
| 90, | |
| 93, | |
| 95, | |
| 96, | |
| 97, | |
| 98, | |
| 99, | |
| 100, | |
| 101, | |
| 102, | |
| 103, | |
| 104, | |
| 105, | |
| 106, | |
| 107, | |
| 108, | |
| 109, | |
| 110, | |
| 111, | |
| 112, | |
| 114, | |
| 115, | |
| 116, | |
| 117, | |
| 118, | |
| 119, | |
| 120, | |
| 121, | |
| 122, | |
| 123, | |
| 124, | |
| 125, | |
| 126, | |
| 127, | |
| 129, | |
| 130, | |
| 131, | |
| 132, | |
| 133, | |
| 134, | |
| 135, | |
| 136, | |
| 137, | |
| 138, | |
| 139, | |
| 140, | |
| 141, | |
| 142, | |
| 143, | |
| 144, | |
| 145, | |
| 146, | |
| 147, | |
| 148, | |
| 149, | |
| ] | |
| class ADEDataset(torch.utils.data.Dataset): | |
| """ADE dataset.""" | |
| def __init__(self, root, split='validation', transform=None): | |
| """Construct ADE dataset. | |
| Args: | |
| root (string): Root directory where images are downloaded. | |
| split (string): The split of the dataset. | |
| transform (callable, optional): Optional transform to be applied on a | |
| sample. | |
| """ | |
| self.root = root | |
| self.image_dir = os.path.join(root, 'images', split) | |
| self.ann_dir = os.path.join(root, 'annotations', split) | |
| self.images = os.listdir(self.image_dir) | |
| self.transform = transform | |
| def __getitem__(self, index): | |
| img_path = os.path.join(self.image_dir, self.images[index]) | |
| img = Image.open(img_path).convert('RGB') | |
| img = np.asarray(img) | |
| idx = self.images[index].split('.')[0] | |
| ann_path = os.path.join(self.ann_dir, f'{idx}.png') | |
| ann = np.asarray(Image.open(ann_path), dtype=np.int32) | |
| return img, img_path, ann, idx | |
| def __len__(self): | |
| return len(self.images) | |