-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils.py
159 lines (130 loc) · 26.4 KB
/
utils.py
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
import torch
import torch.nn as nn
import cv2
import numpy as np
import json
import random
def set_random_seed(random_seed = 42):
print("[set random seeds]")
torch.manual_seed(random_seed)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
np.random.seed(random_seed)
random.seed(random_seed)
def read_json(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
data = json.load(file)
return data
def write_json(data, file_path):
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
def preprocess_image(img):
"""
Function to preprocess the image.
Includes color conversion, tensor transformation, and normalization.
Parameters:
img (np.ndarray): Input image in BGR format.
Returns:
np.ndarray: Preprocessed image tensor.
"""
with torch.no_grad():
# Convert BGR -> RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# Convert HWC -> CHW and uint8 -> float32
img = torch.from_numpy(img).permute(2, 0, 1).float()
# Normalize to [0, 1]
img /= 255.0
# Add batch dimension (C, H, W) -> (1, C, H, W)
img = img.unsqueeze(0)
# Return as NumPy array (C-order)
return np.array(img, dtype=np.float32, order="C")
def preprocess_image2(image):
# BGR -> RGB
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# resize 256x256
image_resized = cv2.resize(image, (256, 256), interpolation=cv2.INTER_LINEAR)
# center crop 224x224
h, w, _ = image_resized.shape
top = (h - 224) // 2
left = (w - 224) // 2
image_cropped = image_resized[top:top + 224, left:left + 224]
# HWC -> CHW, [0, 1]
image_tensor = image_cropped.transpose(2, 0, 1) / 255.0
# normalize
mean = np.array([0.485, 0.456, 0.406]).reshape(3, 1, 1)
std = np.array([0.229, 0.224, 0.225]).reshape(3, 1, 1)
image_normalized = (image_tensor - mean) / std
# Add batch dimension (C, H, W) -> (1, C, H, W)
image_normalized = np.expand_dims(image_normalized, axis=0)
# Return as NumPy array (C-order)
return np.array(image_normalized, dtype=np.float32, order="C")
def fuse_single_conv_bn_pair(block1, block2):
if isinstance(block1, nn.BatchNorm2d) and isinstance(block2, nn.Conv2d):
m = block1
conv = block2
bn_st_dict = m.state_dict()
conv_st_dict = conv.state_dict()
# BatchNorm params
eps = m.eps
mu = bn_st_dict['running_mean']
var = bn_st_dict['running_var']
gamma = bn_st_dict['weight']
if 'bias' in bn_st_dict:
beta = bn_st_dict['bias']
else:
beta = torch.zeros(gamma.size(0)).float().to(gamma.device)
# Conv params
W = conv_st_dict['weight']
if 'bias' in conv_st_dict:
bias = conv_st_dict['bias']
else:
bias = torch.zeros(W.size(0)).float().to(gamma.device)
denom = torch.sqrt(var + eps)
b = beta - gamma.mul(mu).div(denom)
A = gamma.div(denom)
bias *= A
A = A.expand_as(W.transpose(0, -1)).transpose(0, -1)
W.mul_(A)
bias.add_(b)
conv.weight.data.copy_(W)
if conv.bias is None:
conv.bias = torch.nn.Parameter(bias)
else:
conv.bias.data.copy_(bias)
return conv
else:
return False
def fuse_bn_recursively(model):
previous_name = None
for module_name in model._modules:
previous_name = module_name if previous_name is None else previous_name # Initialization
conv_fused = fuse_single_conv_bn_pair(model._modules[module_name], model._modules[previous_name])
if conv_fused:
model._modules[previous_name] = conv_fused
model._modules[module_name] = nn.Identity()
if len(model._modules[module_name]._modules) > 0:
fuse_bn_recursively(model._modules[module_name])
previous_name = module_name
return model
class_name = [ #bg + 1000 classes #"background",
"tench Tinca tinca","goldfish Carassius auratus","great white shark white shark man-eater man-eating shark Carcharodon carcharias","tiger shark Galeocerdo cuvieri","hammerhead hammerhead shark","electric ray crampfish numbfish torpedo","stingray","cock","hen","ostrich Struthio camelus","brambling Fringilla montifringilla","goldfinch Carduelis carduelis","house finch linnet Carpodacus mexicanus","junco snowbird","indigo bunting indigo finch indigo bird Passerina cyanea","robin American robin Turdus migratorius","bulbul","jay","magpie","chickadee","water ouzel dipper","kite","bald eagle American eagle Haliaeetus leucocephalus","vulture","great grey owl great gray owl Strix nebulosa","European fire salamander Salamandra salamandra","common newt Triturus vulgaris","eft","spotted salamander Ambystoma maculatum","axolotl mud puppy Ambystoma mexicanum","bullfrog Rana catesbeiana","tree frog tree-frog","tailed frog bell toad ribbed toad tailed toad Ascaphus trui","loggerhead loggerhead turtle Caretta caretta","leatherback turtle leatherback leathery turtle Dermochelys coriacea","mud turtle","terrapin","box turtle box tortoise","banded gecko","common iguana iguana Iguana iguana","American chameleon anole Anolis carolinensis",
"whiptail whiptail lizard","agama","frilled lizard Chlamydosaurus kingi","alligator lizard","Gila monster Heloderma suspectum","green lizard Lacerta viridis","African chameleon Chamaeleo chamaeleon","Komodo dragon Komodo lizard dragon lizard giant lizard Varanus komodoensis","African crocodile Nile crocodile Crocodylus niloticus","American alligator Alligator mississipiensis","triceratops","thunder snake worm snake Carphophis amoenus","ringneck snake ring-necked snake ring snake","hognose snake puff adder sand viper","green snake grass snake","king snake kingsnake","garter snake grass snake","water snake","vine snake","night snake Hypsiglena torquata","boa constrictor Constrictor constrictor","rock python rock snake Python sebae","Indian cobra Naja naja","green mamba","sea snake","horned viper cerastes sand viper horned asp Cerastes cornutus","diamondback diamondback rattlesnake Crotalus adamanteus","sidewinder horned rattlesnake Crotalus cerastes","trilobite","harvestman daddy longlegs Phalangium opilio","scorpion","black and gold garden spider Argiope aurantia","barn spider Araneus cavaticus","garden spider Aranea diademata","black widow Latrodectus mactans","tarantula","wolf spider hunting spider","tick","centipede",
"black grouse","ptarmigan","ruffed grouse partridge Bonasa umbellus","prairie chicken prairie grouse prairie fowl","peacock","quail","partridge","African grey African gray Psittacus erithacus","macaw","sulphur-crested cockatoo Kakatoe galerita Cacatua galerita","lorikeet","coucal","bee eater","hornbill","hummingbird","jacamar","toucan","drake","red-breasted merganser Mergus serrator","goose","black swan Cygnus atratus","tusker","echidna spiny anteater anteater","platypus duckbill duckbilled platypus duck-billed platypus Ornithorhynchus anatinus","wallaby brush kangaroo","koala koala bear kangaroo bear native bear Phascolarctos cinereus","wombat","jellyfish","sea anemone anemone","brain coral","flatworm platyhelminth","nematode nematode worm roundworm","conch","snail","slug","sea slug nudibranch","chiton coat-of-mail shell sea cradle polyplacophore","chambered nautilus pearly nautilus nautilus","Dungeness crab Cancer magister","rock crab Cancer irroratus","fiddler crab","king crab Alaska crab Alaskan king crab Alaska king crab Paralithodes camtschatica","American lobster Northern lobster Maine lobster Homarus americanus","spiny lobster langouste rock lobster crawfish crayfish sea crawfish","crayfish crawfish crawdad crawdaddy",
"hermit crab","isopod","white stork Ciconia ciconia","black stork Ciconia nigra","spoonbill","flamingo","little blue heron Egretta caerulea","American egret great white heron Egretta albus","bittern","crane","limpkin Aramus pictus","European gallinule Porphyrio porphyrio","American coot marsh hen mud hen water hen Fulica americana","bustard","ruddy turnstone Arenaria interpres","red-backed sandpiper dunlin Erolia alpina","redshank Tringa totanus","dowitcher","oystercatcher oyster catcher","pelican","king penguin Aptenodytes patagonica","albatross mollymawk","grey whale gray whale devilfish Eschrichtius gibbosus Eschrichtius robustus","killer whale killer orca grampus sea wolf Orcinus orca","dugong Dugong dugon","sea lion","Chihuahua","Japanese spaniel","Maltese dog Maltese terrier Maltese","Pekinese Pekingese Peke","Shih-Tzu","Blenheim spaniel","papillon","toy terrier","Rhodesian ridgeback","Afghan hound Afghan","basset basset hound","beagle","bloodhound sleuthhound","bluetick","black-and-tan coonhound",
"Walker hound Walker foxhound","English foxhound","redbone","borzoi Russian wolfhound","Irish wolfhound","Italian greyhound","whippet","Ibizan hound Ibizan Podenco","Norwegian elkhound elkhound","otterhound otter hound","Saluki gazelle hound","Scottish deerhound deerhound","Weimaraner","Staffordshire bullterrier Staffordshire bull terrier","American Staffordshire terrier Staffordshire terrier American pit bull terrier pit bull terrier","Bedlington terrier","Border terrier","Kerry blue terrier","Irish terrier","Norfolk terrier","Norwich terrier","Yorkshire terrier","wire-haired fox terrier","Lakeland terrier","Sealyham terrier Sealyham","Airedale Airedale terrier","cairn cairn terrier","Australian terrier","Dandie Dinmont Dandie Dinmont terrier","Boston bull Boston terrier","miniature schnauzer","giant schnauzer","standard schnauzer","Scotch terrier Scottish terrier Scottie","Tibetan terrier chrysanthemum dog","silky terrier Sydney silky","soft-coated wheaten terrier","West Highland white terrier","Lhasa Lhasa apso","flat-coated retriever","curly-coated retriever","golden retriever","Labrador retriever","Chesapeake Bay retriever","German short-haired pointer","vizsla Hungarian pointer","English setter",
"Irish setter red setter","Gordon setter","Brittany spaniel","clumber clumber spaniel","English springer English springer spaniel","Welsh springer spaniel","cocker spaniel English cocker spaniel cocker","Sussex spaniel","Irish water spaniel","kuvasz","schipperke","groenendael","malinois","briard","kelpie","komondor","Old English sheepdog bobtail","Shetland sheepdog Shetland sheep dog Shetland","collie","Border collie","Bouvier des Flandres Bouviers des Flandres","Rottweiler","German shepherd German shepherd dog German police dog alsatian","Doberman Doberman pinscher","miniature pinscher","Greater Swiss Mountain dog","Bernese mountain dog","Appenzeller","EntleBucher","boxer","bull mastiff","Tibetan mastiff","French bulldog","Great Dane","Saint Bernard St Bernard","Eskimo dog husky","malamute malemute Alaskan malamute","Siberian husky","dalmatian coach dog carriage dog","affenpinscher monkey pinscher monkey dog","basenji","pug pug-dog","Leonberg","Newfoundland Newfoundland dog","Great Pyrenees","Samoyed Samoyede","Pomeranian","chow chow chow","keeshond","Brabancon griffon","Pembroke Pembroke Welsh corgi","Cardigan Cardigan Welsh corgi","toy poodle","miniature poodle","standard poodle","Mexican hairless",
"timber wolf grey wolf gray wolf Canis lupus","white wolf Arctic wolf Canis lupus tundrarum","red wolf maned wolf Canis rufus Canis niger","coyote prairie wolf brush wolf Canis latrans","dingo warrigal warragal Canis dingo","dhole Cuon alpinus","African hunting dog hyena dog Cape hunting dog Lycaon pictus","hyena hyaena","red fox Vulpes vulpes","kit fox Vulpes macrotis","Arctic fox white fox Alopex lagopus","grey fox gray fox Urocyon cinereoargenteus","tabby tabby cat","tiger cat","Persian cat","Siamese cat Siamese","Egyptian cat","cougar puma catamount mountain lion painter panther Felis concolor","lynx catamount","leopard Panthera pardus","snow leopard ounce Panthera uncia","jaguar panther Panthera onca Felis onca","lion king of beasts Panthera leo","tiger Panthera tigris","cheetah chetah Acinonyx jubatus","brown bear bruin Ursus arctos","American black bear black bear Ursus americanus Euarctos americanus","ice bear polar bear Ursus Maritimus Thalarctos maritimus","sloth bear Melursus ursinus Ursus ursinus","mongoose","meerkat mierkat","tiger beetle","ladybug ladybeetle lady beetle ladybird ladybird beetle","ground beetle carabid beetle","long-horned beetle longicorn longicorn beetle","leaf beetle chrysomelid",
"dung beetle","rhinoceros beetle","weevil","fly","bee","ant emmet pismire","grasshopper hopper","cricket","walking stick walkingstick stick insect","cockroach roach","mantis mantid","cicada cicala","leafhopper","lacewing lacewing fly","dragonfly darning needle devils darning needle sewing needle snake feeder snake doctor mosquito hawk skeeter hawk","damselfly","admiral","ringlet ringlet butterfly","monarch monarch butterfly milkweed butterfly Danaus plexippus","cabbage butterfly","sulphur butterfly sulfur butterfly","lycaenid lycaenid butterfly","starfish sea star","sea urchin","sea cucumber holothurian","wood rabbit cottontail cottontail rabbit","hare","Angora Angora rabbit","hamster","porcupine hedgehog","fox squirrel eastern fox squirrel Sciurus niger","marmot","beaver","guinea pig Cavia cobaya","sorrel","zebra","hog pig grunter squealer Sus scrofa","wild boar boar Sus scrofa","warthog","hippopotamus hippo river horse Hippopotamus amphibius","ox","water buffalo water ox Asiatic buffalo Bubalus bubalis","bison","ram tup","bighorn bighorn sheep cimarron Rocky Mountain bighorn Rocky Mountain sheep Ovis canadensis","ibex Capra ibex","hartebeest","impala Aepyceros melampus","gazelle","Arabian camel dromedary Camelus dromedarius",
"llama","weasel","mink","polecat fitch foulmart foumart Mustela putorius","black-footed ferret ferret Mustela nigripes","otter","skunk polecat wood pussy","badger","armadillo","three-toed sloth ai Bradypus tridactylus","orangutan orang orangutang Pongo pygmaeus","gorilla Gorilla gorilla","chimpanzee chimp Pan troglodytes","gibbon Hylobates lar","siamang Hylobates syndactylus Symphalangus syndactylus","guenon guenon monkey","patas hussar monkey Erythrocebus patas","baboon","macaque","langur","colobus colobus monkey","proboscis monkey Nasalis larvatus","marmoset","capuchin ringtail Cebus capucinus","howler monkey howler","titi titi monkey","spider monkey Ateles geoffroyi","squirrel monkey Saimiri sciureus","Madagascar cat ring-tailed lemur Lemur catta","indri indris Indri indri Indri brevicaudatus","Indian elephant Elephas maximus","African elephant Loxodonta africana","lesser panda red panda panda bear cat cat bear Ailurus fulgens","giant panda panda panda bear coon bear Ailuropoda melanoleuca","barracouta snoek","eel",
"coho cohoe coho salmon blue jack silver salmon Oncorhynchus kisutch","rock beauty Holocanthus tricolor","anemone fish","sturgeon","gar garfish garpike billfish Lepisosteus osseus","lionfish","puffer pufferfish blowfish globefish","abacus","abaya","academic gown academic robe judges robe","accordion piano accordion squeeze box","acoustic guitar","aircraft carrier carrier flattop attack aircraft carrier","airliner","airship dirigible","altar","ambulance","amphibian amphibious vehicle","analog clock","apiary bee house","apron","ashcan trash can garbage can wastebin ash bin ash-bin ashbin dustbin trash barrel trash bin","assault rifle assault gun","backpack back pack knapsack packsack rucksack haversack","bakery bakeshop bakehouse","balance beam beam","balloon","ballpoint ballpoint pen ballpen Biro","Band Aid","banjo","bannister banister balustrade balusters handrail","barbell","barber chair","barbershop","barn","barometer","barrel cask","barrow garden cart lawn cart wheelbarrow","baseball","basketball","bassinet","bassoon","bathing cap swimming cap","bath towel","bathtub bathing tub bath tub","beach wagon station wagon wagon estate car beach waggon station waggon waggon","beacon lighthouse beacon light pharos","beaker",
"bearskin busby shako","beer bottle","beer glass","bell cote bell cot","bib","bicycle-built-for-two tandem bicycle tandem","bikini two-piece","binder ring-binder","binoculars field glasses opera glasses","birdhouse","boathouse","bobsled bobsleigh bob","bolo tie bolo bola tie bola","bonnet poke bonnet","bookcase","bookshop bookstore bookstall","bottlecap","bow","bow tie bow-tie bowtie","brass memorial tablet plaque","brassiere bra bandeau","breakwater groin groyne mole bulwark seawall jetty","breastplate aegis egis","broom","bucket pail","buckle","bulletproof vest","bullet train bullet","butcher shop meat market","cab hack taxi taxicab","caldron cauldron","candle taper wax light","cannon","canoe","can opener tin opener","cardigan","car mirror","carousel carrousel merry-go-round roundabout whirligig","carpenters kit tool kit","carton","car wheel","cash machine cash dispenser automated teller machine automatic teller machine automated teller automatic teller ATM","cassette","cassette player","castle","catamaran","CD player","cello violoncello","cellular telephone cellular phone cellphone cell mobile phone","chain","chainlink fence","chain mail ring mail mail chain armor chain armour ring armor ring armour","chain saw chainsaw",
"chest","chiffonier commode","chime bell gong","china cabinet china closet","Christmas stocking","church church building","cinema movie theater movie theatre movie house picture palace","cleaver meat cleaver chopper","cliff dwelling","cloak","clog geta patten sabot","cocktail shaker","coffee mug","coffeepot","coil spiral volute whorl helix","combination lock","computer keyboard keypad","confectionery confectionary candy store","container ship containership container vessel","convertible","corkscrew bottle screw","cornet horn trumpet trump","cowboy boot","cowboy hat ten-gallon hat","cradle","crane","crash helmet","crate","crib cot","Crock Pot","croquet ball","crutch","cuirass","dam dike dyke","desk","desktop computer","dial telephone dial phone","diaper nappy napkin","digital clock","digital watch","dining table board","dishrag dishcloth","dishwasher dish washer dishwashing machine","disk brake disc brake","dock dockage docking facility","dogsled dog sled dog sleigh","dome","doormat welcome mat","drilling platform offshore rig","drum membranophone tympan","drumstick","dumbbell","Dutch oven","electric fan blower","electric guitar","electric locomotive","entertainment center","envelope","espresso maker","face powder",
"feather boa boa","file file cabinet filing cabinet","fireboat","fire engine fire truck","fire screen fireguard","flagpole flagstaff","flute transverse flute","folding chair","football helmet","forklift","fountain","fountain pen","four-poster","freight car","French horn horn","frying pan frypan skillet","fur coat","garbage truck dustcart","gasmask respirator gas helmet","gas pump gasoline pump petrol pump island dispenser","goblet","go-kart","golf ball","golfcart golf cart","gondola","gong tam-tam","gown","grand piano grand","greenhouse nursery glasshouse","grille radiator grille","grocery store grocery food market market","guillotine","hair slide","hair spray","half track","hammer","hamper","hand blower blow dryer blow drier hair dryer hair drier","hand-held computer hand-held microcomputer","handkerchief hankie hanky hankey","hard disc hard disk fixed disk","harmonica mouth organ harp mouth harp","harp","harvester reaper","hatchet","holster","home theater home theatre","honeycomb","hook claw","hoopskirt crinoline",
"horizontal bar high bar","horse cart horse-cart","hourglass","iPod","iron smoothing iron","jack-o-lantern","jean blue jean denim","jeep landrover","jersey T-shirt tee shirt","jigsaw puzzle","jinrikisha ricksha rickshaw","joystick","kimono","knee pad","knot","lab coat laboratory coat","ladle","lampshade lamp shade","laptop laptop computer","lawn mower mower","lens cap lens cover","letter opener paper knife paperknife","library","lifeboat","lighter light igniter ignitor","limousine limo","liner ocean liner","lipstick lip rouge","Loafer","lotion","loudspeaker speaker speaker unit loudspeaker system speaker system","loupe jewelers loupe","lumbermill sawmill","magnetic compass","mailbag postbag","mailbox letter box","maillot","maillot tank suit","manhole cover","maraca","marimba xylophone","mask","matchstick","maypole","maze labyrinth","measuring cup","medicine chest medicine cabinet","megalith megalithic structure","microphone mike","microwave microwave oven","military uniform","milk can","minibus","miniskirt mini","minivan","missile","mitten","mixing bowl","mobile home manufactured home","Model T","modem","monastery","monitor","moped","mortar","mortarboard","mosque","mosquito net","motor scooter scooter",
"mountain bike all-terrain bike off-roader","mountain tent","mouse computer mouse","mousetrap","moving van","muzzle","nail","neck brace","necklace","nipple","notebook notebook computer","obelisk","oboe hautboy hautbois","ocarina sweet potato","odometer hodometer mileometer milometer","oil filter","organ pipe organ","oscilloscope scope cathode-ray oscilloscope CRO","overskirt","oxcart","oxygen mask","packet","paddle boat paddle","paddlewheel paddle wheel","padlock","paintbrush","pajama pyjama pjs jammies","palace","panpipe pandean pipe syrinx","paper towel","parachute chute","parallel bars bars","park bench","parking meter","passenger car coach carriage","patio terrace","pay-phone pay-station","pedestal plinth footstall","pencil box pencil case","pencil sharpener","perfume essence","Petri dish","photocopier","pick plectrum plectron","pickelhaube","picket fence paling","pickup pickup truck","pier","piggy bank penny bank","pill bottle","pillow","ping-pong ball","pinwheel","pirate pirate ship","pitcher ewer","plane carpenters plane woodworking plane","planetarium","plastic bag","plate rack","plow plough","plunger plumbers helper","Polaroid camera Polaroid Land camera","pole","police van police wagon paddy wagon patrol wagon wagon black Maria",
"poncho","pool table billiard table snooker table","pop bottle soda bottle","pot flowerpot","potters wheel","power drill","prayer rug prayer mat","printer","prison prison house","projectile missile","projector","puck hockey puck","punching bag punch bag punching ball punchball","purse","quill quill pen","quilt comforter comfort puff","racer race car racing car","racket racquet","radiator","radio wireless","radio telescope radio reflector","rain barrel","recreational vehicle RV R.V.","reel","reflex camera","refrigerator icebox","remote control remote","restaurant eating house eating place eatery","revolver six-gun six-shooter","rifle","rocking chair rocker","rotisserie","rubber eraser rubber pencil eraser","rugby ball","rule ruler","running shoe","safe","safety pin","saltshaker salt shaker","sandal","sarong","sax saxophone","scabbard","scale weighing machine","school bus","schooner","scoreboard","screen CRT screen","screw","screwdriver","seat belt seatbelt","sewing machine","shield buckler","shoe shop shoe-shop shoe store","shoji","shopping basket","shopping cart","shovel","shower cap","shower curtain","ski","ski mask","sleeping bag","slide rule slipstick","sliding door","slot one-armed bandit","snorkel","snowmobile","snowplow snowplough",
"soap dispenser","soccer ball","sock","solar dish solar collector solar furnace","sombrero","soup bowl","space bar","space heater","space shuttle","spatula","speedboat","spider web spiders web","spindle","sports car sport car","spotlight spot","stage","steam locomotive","steel arch bridge","steel drum","stethoscope","stole","stone wall","stopwatch stop watch","stove","strainer","streetcar tram tramcar trolley trolley car","stretcher","studio couch day bed","stupa tope","submarine pigboat sub U-boat","suit suit of clothes","sundial","sunglass","sunglasses dark glasses shades","sunscreen sunblock sun blocker","suspension bridge","swab swob mop","sweatshirt","swimming trunks bathing trunks","swing","switch electric switch electrical switch","syringe","table lamp","tank army tank armored combat vehicle armoured combat vehicle","tape player","teapot","teddy teddy bear","television television system","tennis ball","thatch thatched roof","theater curtain theatre curtain","thimble","thresher thrasher threshing machine","throne","tile roof","toaster","tobacco shop tobacconist shop tobacconist","toilet seat","torch","totem pole","tow truck tow car wrecker","toyshop","tractor","trailer truck tractor trailer trucking rig rig articulated lorry semi",
"tray","trench coat","tricycle trike velocipede","trimaran","tripod","triumphal arch","trolleybus trolley coach trackless trolley","trombone","tub vat","turnstile","typewriter keyboard","umbrella","unicycle monocycle","upright upright piano","vacuum vacuum cleaner","vase","vault","velvet","vending machine","vestment","viaduct","violin fiddle","volleyball","waffle iron","wall clock","wallet billfold notecase pocketbook","wardrobe closet press","warplane military plane","washbasin handbasin washbowl lavabo wash-hand basin","washer automatic washer washing machine","water bottle","water jug","water tower","whiskey jug","whistle","wig","window screen","window shade","Windsor tie","wine bottle","wing","wok","wooden spoon","wool woolen woollen","worm fence snake fence snake-rail fence Virginia fence","wreck","yawl","yurt","web site website internet site site","comic book","crossword puzzle crossword","street sign","traffic light traffic signal stoplight", "book jacket dust cover dust jacket dust wrapper","menu","plate","guacamole","consomme","hot pot hotpot","trifle","ice cream icecream","ice lolly lolly lollipop popsicle","French loaf","bagel beigel","pretzel","cheeseburger","hotdog hot dog red hot","mashed potato","head cabbage","broccoli",
"cauliflower","zucchini courgette","spaghetti squash","acorn squash","butternut squash","cucumber cuke","artichoke globe artichoke","bell pepper","cardoon","mushroom","Granny Smith","strawberry","orange","lemon","fig","pineapple ananas","banana","jackfruit jak jack","custard apple","pomegranate","hay","carbonara","chocolate sauce chocolate syrup","dough","meat loaf meatloaf","pizza pizza pie","potpie","burrito","red wine","espresso","cup","eggnog","alp","bubble","cliff drop drop-off","coral reef","geyser","lakeside lakeshore","promontory headland head foreland","sandbar sand bar","seashore coast seacoast sea-coast","valley vale","volcano","ballplayer baseball player","groom bridegroom","scuba diver","rapeseed","daisy","yellow ladys slipper yellow lady-slipper Cypripedium calceolus Cypripedium parviflorum","corn","acorn","hip rose hip rosehip","buckeye horse chestnut conker","coral fungus","agaric",
"gyromitra","stinkhorn carrion fungus","earthstar","hen-of-the-woods hen of the woods Polyporus frondosus Grifola frondosa","bolete","ear spike capitulum","toilet tissue toilet paper bathroom tissue"
]