BertChristiaens's picture
Duplicate from BertChristiaens/controlnet-seg-backup
3d4d894
"""Color mappings"""
from typing import List, Dict
TRIVIA = {
"#B47878": "building;edifice",
"#06E6E6": "sky",
"#04C803": "tree",
"#8C8C8C": "road;route",
"#04FA07": "grass",
"#96053D": "person;individual;someone;somebody;mortal;soul",
"#CCFF04": "plant;flora;plant;life",
"#787846": "earth;ground",
"#FF09E0": "house",
"#0066C8": "car;auto;automobile;machine;motorcar",
"#3DE6FA": "water",
"#FF3D06": "railing;rail",
"#FF5C00": "arcade;machine",
"#FFE000": "stairs;steps",
"#00F5FF": "fan",
"#FF008F": "step;stair",
"#1F00FF": "stairway;staircase",
"#FFD600": "radiator",
}
OBJECTS = {
"#CC05FF": "bed",
"#FF0633": "painting;picture",
"#DCDCDC": "mirror",
"#00FF14": "box",
"#FF0000": "flower",
"#FFA300": "book",
"#00FFC2": "television;television;receiver;television;set;tv;tv;set;idiot;box;boob;tube;telly;goggle;box",
"#F500FF": "pot;flowerpot",
"#00FFCC": "vase",
"#29FF00": "tray",
"#8FFF00": "poster;posting;placard;notice;bill;card",
"#5CFF00": "basket;handbasket",
"#00ADFF": "screen;door;screen",
}
SITTING = {
"#0B66FF": "sofa;couch;lounge",
"#CC4603": "chair",
"#07FFE0": "seat",
"#08FFD6": "armchair",
"#FFC207": "cushion",
"#00EBFF": "pillow",
"#00D6FF": "stool",
"#1400FF": "blanket;cover",
"#0A00FF": "swivel;chair",
"#FF9900": "ottoman;pouf;pouffe;puff;hassock",
}
LIGHTING = {
"#E0FF08": "lamp",
"#FFAD00": "light;light;source",
"#001FFF": "chandelier;pendant;pendent",
}
TABLES = {
"#FF0652": "table",
"#0AFF47": "desk",
}
CLOSETS = {
"#E005FF": "cabinet",
"#FF0747": "shelf",
"#07FFFF": "wardrobe;closet;press",
"#0633FF": "chest;of;drawers;chest;bureau;dresser",
"#0000FF": "case;display;case;showcase;vitrine",
}
BATHROOM = {
"#6608FF": "bathtub;bathing;tub;bath;tub",
"#00FF85": "toilet;can;commode;crapper;pot;potty;stool;throne",
"#0085FF": "shower",
"#FF0066": "towel",
}
WINDOWS = {
"#FF3307": "curtain;drape;drapery;mantle;pall",
"#E6E6E6": "windowpane;window",
"#00FF3D": "awning;sunshade;sunblind",
"#003DFF": "blind;screen",
}
FLOOR = {
"#FF095C": "rug;carpet;carpeting",
"#503232": "floor;flooring",
}
INTERIOR = {
"#787878": "wall",
"#787850": "ceiling",
"#08FF33": "door;double;door",
}
KITCHEN = {
"#00FF29": "kitchen;island",
"#14FF00": "refrigerator;icebox",
"#00A3FF": "sink",
"#EB0CFF": "counter",
"#D6FF00": "dishwasher;dish;washer;dishwashing;machine",
"#FF00EB": "microwave;microwave;oven",
"#47FF00": "oven",
"#66FF00": "clock",
"#00FFB8": "plate",
"#19C2C2": "glass;drinking;glass",
"#00FF99": "bar",
"#00FF0A": "bottle",
"#FF7000": "buffet;counter;sideboard",
"#B800FF": "washer;automatic;washer;washing;machine",
"#00FF70": "coffee;table;cocktail;table",
"#008FFF": "countertop",
"#33FF00": "stove;kitchen;stove;range;kitchen;range;cooking;stove",
}
LIVINGROOM = {
"#FA0A0F": "fireplace;hearth;open;fireplace",
"#FF4700": "pool;table;billiard;table;snooker;table",
}
OFFICE = {
"#00FFAD": "computer;computing;machine;computing;device;data;processor;electronic;computer;information;processing;system",
"#00FFF5": "bookcase",
"#0633FF": "chest;of;drawers;chest;bureau;dresser",
"#005CFF": "monitor;monitoring;device",
}
COLOR_MAPPING_CATEGORY_ = {
'keep background': {'#FFFFFF': 'background'},
'trivia': TRIVIA,
'objects': OBJECTS,
'sitting': SITTING,
'lighting': LIGHTING,
'tables': TABLES,
'closets': CLOSETS,
'bathroom': BATHROOM,
'windows': WINDOWS,
'floor': FLOOR,
'interior': INTERIOR,
'kitchen': KITCHEN,
'livingroom': LIVINGROOM,
'office': OFFICE}
COLOR_MAPPING_ = {
'#FFFFFF': 'background',
"#787878": "wall",
"#B47878": "building;edifice",
"#06E6E6": "sky",
"#503232": "floor;flooring",
"#04C803": "tree",
"#787850": "ceiling",
"#8C8C8C": "road;route",
"#CC05FF": "bed",
"#E6E6E6": "windowpane;window",
"#04FA07": "grass",
"#E005FF": "cabinet",
"#EBFF07": "sidewalk;pavement",
"#96053D": "person;individual;someone;somebody;mortal;soul",
"#787846": "earth;ground",
"#08FF33": "door;double;door",
"#FF0652": "table",
"#8FFF8C": "mountain;mount",
"#CCFF04": "plant;flora;plant;life",
"#FF3307": "curtain;drape;drapery;mantle;pall",
"#CC4603": "chair",
"#0066C8": "car;auto;automobile;machine;motorcar",
"#3DE6FA": "water",
"#FF0633": "painting;picture",
"#0B66FF": "sofa;couch;lounge",
"#FF0747": "shelf",
"#FF09E0": "house",
"#0907E6": "sea",
"#DCDCDC": "mirror",
"#FF095C": "rug;carpet;carpeting",
"#7009FF": "field",
"#08FFD6": "armchair",
"#07FFE0": "seat",
"#FFB806": "fence;fencing",
"#0AFF47": "desk",
"#FF290A": "rock;stone",
"#07FFFF": "wardrobe;closet;press",
"#E0FF08": "lamp",
"#6608FF": "bathtub;bathing;tub;bath;tub",
"#FF3D06": "railing;rail",
"#FFC207": "cushion",
"#FF7A08": "base;pedestal;stand",
"#00FF14": "box",
"#FF0829": "column;pillar",
"#FF0599": "signboard;sign",
"#0633FF": "chest;of;drawers;chest;bureau;dresser",
"#EB0CFF": "counter",
"#A09614": "sand",
"#00A3FF": "sink",
"#8C8C8C": "skyscraper",
"#FA0A0F": "fireplace;hearth;open;fireplace",
"#14FF00": "refrigerator;icebox",
"#1FFF00": "grandstand;covered;stand",
"#FF1F00": "path",
"#FFE000": "stairs;steps",
"#99FF00": "runway",
"#0000FF": "case;display;case;showcase;vitrine",
"#FF4700": "pool;table;billiard;table;snooker;table",
"#00EBFF": "pillow",
"#00ADFF": "screen;door;screen",
"#1F00FF": "stairway;staircase",
"#0BC8C8": "river",
"#FF5200": "bridge;span",
"#00FFF5": "bookcase",
"#003DFF": "blind;screen",
"#00FF70": "coffee;table;cocktail;table",
"#00FF85": "toilet;can;commode;crapper;pot;potty;stool;throne",
"#FF0000": "flower",
"#FFA300": "book",
"#FF6600": "hill",
"#C2FF00": "bench",
"#008FFF": "countertop",
"#33FF00": "stove;kitchen;stove;range;kitchen;range;cooking;stove",
"#0052FF": "palm;palm;tree",
"#00FF29": "kitchen;island",
"#00FFAD": "computer;computing;machine;computing;device;data;processor;electronic;computer;information;processing;system",
"#0A00FF": "swivel;chair",
"#ADFF00": "boat",
"#00FF99": "bar",
"#FF5C00": "arcade;machine",
"#FF00FF": "hovel;hut;hutch;shack;shanty",
"#FF00F5": "bus;autobus;coach;charabanc;double-decker;jitney;motorbus;motorcoach;omnibus;passenger;vehicle",
"#FF0066": "towel",
"#FFAD00": "light;light;source",
"#FF0014": "truck;motortruck",
"#FFB8B8": "tower",
"#001FFF": "chandelier;pendant;pendent",
"#00FF3D": "awning;sunshade;sunblind",
"#0047FF": "streetlight;street;lamp",
"#FF00CC": "booth;cubicle;stall;kiosk",
"#00FFC2": "television;television;receiver;television;set;tv;tv;set;idiot;box;boob;tube;telly;goggle;box",
"#00FF52": "airplane;aeroplane;plane",
"#000AFF": "dirt;track",
"#0070FF": "apparel;wearing;apparel;dress;clothes",
"#3300FF": "pole",
"#00C2FF": "land;ground;soil",
"#007AFF": "bannister;banister;balustrade;balusters;handrail",
"#00FFA3": "escalator;moving;staircase;moving;stairway",
"#FF9900": "ottoman;pouf;pouffe;puff;hassock",
"#00FF0A": "bottle",
"#FF7000": "buffet;counter;sideboard",
"#8FFF00": "poster;posting;placard;notice;bill;card",
"#5200FF": "stage",
"#A3FF00": "van",
"#FFEB00": "ship",
"#08B8AA": "fountain",
"#8500FF": "conveyer;belt;conveyor;belt;conveyer;conveyor;transporter",
"#00FF5C": "canopy",
"#B800FF": "washer;automatic;washer;washing;machine",
"#FF001F": "plaything;toy",
"#00B8FF": "swimming;pool;swimming;bath;natatorium",
"#00D6FF": "stool",
"#FF0070": "barrel;cask",
"#5CFF00": "basket;handbasket",
"#00E0FF": "waterfall;falls",
"#70E0FF": "tent;collapsible;shelter",
"#46B8A0": "bag",
"#A300FF": "minibike;motorbike",
"#9900FF": "cradle",
"#47FF00": "oven",
"#FF00A3": "ball",
"#FFCC00": "food;solid;food",
"#FF008F": "step;stair",
"#00FFEB": "tank;storage;tank",
"#85FF00": "trade;name;brand;name;brand;marque",
"#FF00EB": "microwave;microwave;oven",
"#F500FF": "pot;flowerpot",
"#FF007A": "animal;animate;being;beast;brute;creature;fauna",
"#FFF500": "bicycle;bike;wheel;cycle",
"#0ABED4": "lake",
"#D6FF00": "dishwasher;dish;washer;dishwashing;machine",
"#00CCFF": "screen;silver;screen;projection;screen",
"#1400FF": "blanket;cover",
"#FFFF00": "sculpture",
"#0099FF": "hood;exhaust;hood",
"#0029FF": "sconce",
"#00FFCC": "vase",
"#2900FF": "traffic;light;traffic;signal;stoplight",
"#29FF00": "tray",
"#AD00FF": "ashcan;trash;can;garbage;can;wastebin;ash;bin;ash-bin;ashbin;dustbin;trash;barrel;trash;bin",
"#00F5FF": "fan",
"#4700FF": "pier;wharf;wharfage;dock",
"#7A00FF": "crt;screen",
"#00FFB8": "plate",
"#005CFF": "monitor;monitoring;device",
"#B8FF00": "bulletin;board;notice;board",
"#0085FF": "shower",
"#FFD600": "radiator",
"#19C2C2": "glass;drinking;glass",
"#66FF00": "clock",
"#5C00FF": "flag",
}
def ade_palette() -> List[List[int]]:
"""ADE20K palette that maps each class to RGB values."""
return [[120, 120, 120], [180, 120, 120], [6, 230, 230], [80, 50, 50],
[4, 200, 3], [120, 120, 80], [140, 140, 140], [204, 5, 255],
[230, 230, 230], [4, 250, 7], [224, 5, 255], [235, 255, 7],
[150, 5, 61], [120, 120, 70], [8, 255, 51], [255, 6, 82],
[143, 255, 140], [204, 255, 4], [255, 51, 7], [204, 70, 3],
[0, 102, 200], [61, 230, 250], [255, 6, 51], [11, 102, 255],
[255, 7, 71], [255, 9, 224], [9, 7, 230], [220, 220, 220],
[255, 9, 92], [112, 9, 255], [8, 255, 214], [7, 255, 224],
[255, 184, 6], [10, 255, 71], [255, 41, 10], [7, 255, 255],
[224, 255, 8], [102, 8, 255], [255, 61, 6], [255, 194, 7],
[255, 122, 8], [0, 255, 20], [255, 8, 41], [255, 5, 153],
[6, 51, 255], [235, 12, 255], [160, 150, 20], [0, 163, 255],
[140, 140, 140], [250, 10, 15], [20, 255, 0], [31, 255, 0],
[255, 31, 0], [255, 224, 0], [153, 255, 0], [0, 0, 255],
[255, 71, 0], [0, 235, 255], [0, 173, 255], [31, 0, 255],
[11, 200, 200], [255, 82, 0], [0, 255, 245], [0, 61, 255],
[0, 255, 112], [0, 255, 133], [255, 0, 0], [255, 163, 0],
[255, 102, 0], [194, 255, 0], [0, 143, 255], [51, 255, 0],
[0, 82, 255], [0, 255, 41], [0, 255, 173], [10, 0, 255],
[173, 255, 0], [0, 255, 153], [255, 92, 0], [255, 0, 255],
[255, 0, 245], [255, 0, 102], [255, 173, 0], [255, 0, 20],
[255, 184, 184], [0, 31, 255], [0, 255, 61], [0, 71, 255],
[255, 0, 204], [0, 255, 194], [0, 255, 82], [0, 10, 255],
[0, 112, 255], [51, 0, 255], [0, 194, 255], [0, 122, 255],
[0, 255, 163], [255, 153, 0], [0, 255, 10], [255, 112, 0],
[143, 255, 0], [82, 0, 255], [163, 255, 0], [255, 235, 0],
[8, 184, 170], [133, 0, 255], [0, 255, 92], [184, 0, 255],
[255, 0, 31], [0, 184, 255], [0, 214, 255], [255, 0, 112],
[92, 255, 0], [0, 224, 255], [112, 224, 255], [70, 184, 160],
[163, 0, 255], [153, 0, 255], [71, 255, 0], [255, 0, 163],
[255, 204, 0], [255, 0, 143], [0, 255, 235], [133, 255, 0],
[255, 0, 235], [245, 0, 255], [255, 0, 122], [255, 245, 0],
[10, 190, 212], [214, 255, 0], [0, 204, 255], [20, 0, 255],
[255, 255, 0], [0, 153, 255], [0, 41, 255], [0, 255, 204],
[41, 0, 255], [41, 255, 0], [173, 0, 255], [0, 245, 255],
[71, 0, 255], [122, 0, 255], [0, 255, 184], [0, 92, 255],
[184, 255, 0], [0, 133, 255], [255, 214, 0], [25, 194, 194],
[102, 255, 0], [92, 0, 255]]