Laurent Berger commited on
Commit
c5ec220
·
1 Parent(s): 43ce9de

add mobilenet c++ sample (#171)

Browse files

* add mobilenet c++ sample

* review 1

* use blobFromImageWithParams

* change int in dnn::Backend, dnn::Target

* review 2

* review 3

* add include for labels imagenet1k

* samples::findfile

* Add -v option. 100 inferences max with a video when -v=false

models/image_classification_mobilenet/CMakeLists.txt ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cmake_minimum_required(VERSION 3.2)
2
+ set(project_name "opencv_zoo_image_classification_mobilenet")
3
+
4
+ PROJECT (${project_name})
5
+
6
+ set(OPENCV_VERSION "4.7.0")
7
+ set(OPENCV_INSTALLATION_PATH "" CACHE PATH "Where to look for OpenCV installation")
8
+ find_package(OpenCV ${OPENCV_VERSION} REQUIRED HINTS ${OPENCV_INSTALLATION_PATH})
9
+ # Find OpenCV, you may need to set OpenCV_DIR variable
10
+ # to the absolute path to the directory containing OpenCVConfig.cmake file
11
+ # via the command line or GUI
12
+
13
+ file(GLOB SourceFile
14
+ "demo.cpp")
15
+ # If the package has been found, several variables will
16
+ # be set, you can find the full list with descriptions
17
+ # in the OpenCVConfig.cmake file.
18
+ # Print some message showing some of them
19
+ message(STATUS "OpenCV library status:")
20
+ message(STATUS " config: ${OpenCV_DIR}")
21
+ message(STATUS " version: ${OpenCV_VERSION}")
22
+ message(STATUS " libraries: ${OpenCV_LIBS}")
23
+ message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
24
+
25
+ # Declare the executable target built from your sources
26
+ add_executable(${project_name} ${SourceFile})
27
+
28
+ # Link your application with OpenCV libraries
29
+ target_link_libraries(${project_name} PRIVATE ${OpenCV_LIBS})
models/image_classification_mobilenet/README.md CHANGED
@@ -17,6 +17,8 @@ Results of accuracy evaluation with [tools/eval](../../tools/eval).
17
 
18
  ## Demo
19
 
 
 
20
  Run the following command to try the demo:
21
 
22
  ```shell
@@ -29,6 +31,24 @@ python demo.py --input /path/to/image --model v2
29
  python demo.py --help
30
  ```
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  ## License
33
 
34
  All files in this directory are licensed under [Apache 2.0 License](./LICENSE).
 
17
 
18
  ## Demo
19
 
20
+ ### Python
21
+
22
  Run the following command to try the demo:
23
 
24
  ```shell
 
31
  python demo.py --help
32
  ```
33
 
34
+ ### C++
35
+
36
+ Install latest OpenCV and CMake >= 3.24.0 to get started with:
37
+
38
+ ```shell
39
+ # A typical and default installation path of OpenCV is /usr/local
40
+ cmake -B build -D OPENCV_INSTALLATION_PATH=/path/to/opencv/installation .
41
+ cmake --build build
42
+
43
+ # detect on camera input
44
+ ./build/opencv_zoo_image_classification_mobilenet
45
+ # detect on an image
46
+ ./build/opencv_zoo_image_classification_mobilenet -m=/path/to/model -i=/path/to/image -v
47
+ # get help messages
48
+ ./build/opencv_zoo_image_classification_mobilenet -h
49
+ ```
50
+
51
+
52
  ## License
53
 
54
  All files in this directory are licensed under [Apache 2.0 License](./LICENSE).
models/image_classification_mobilenet/demo.cpp ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #include <vector>
2
+ #include <string>
3
+ #include <utility>
4
+
5
+ #include <opencv2/opencv.hpp>
6
+ #include "labelsimagenet1k.h"
7
+
8
+ using namespace std;
9
+ using namespace cv;
10
+ using namespace dnn;
11
+
12
+ vector< pair<dnn::Backend, dnn::Target> > backendTargetPairs = {
13
+ std::make_pair<dnn::Backend, dnn::Target>(dnn::DNN_BACKEND_OPENCV, dnn::DNN_TARGET_CPU),
14
+ std::make_pair<dnn::Backend, dnn::Target>(dnn::DNN_BACKEND_CUDA, dnn::DNN_TARGET_CUDA),
15
+ std::make_pair<dnn::Backend, dnn::Target>(dnn::DNN_BACKEND_CUDA, dnn::DNN_TARGET_CUDA_FP16),
16
+ std::make_pair<dnn::Backend, dnn::Target>(dnn::DNN_BACKEND_TIMVX, dnn::DNN_TARGET_NPU),
17
+ std::make_pair<dnn::Backend, dnn::Target>(dnn::DNN_BACKEND_CANN, dnn::DNN_TARGET_NPU) };
18
+
19
+
20
+ std::string keys =
21
+ "{ help h | | Print help message. }"
22
+ "{ model m | image_classification_mobilenetv1_2022apr.onnx | Usage: Set model type, defaults to image_classification_mobilenetv1_2022apr.onnx (v1) }"
23
+ "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}"
24
+ "{ initial_width | 0 | Preprocess input image by initial resizing to a specific width.}"
25
+ "{ initial_height | 0 | Preprocess input image by initial resizing to a specific height.}"
26
+ "{ rgb | true | swap R and B plane.}"
27
+ "{ crop | false | Preprocess input image by center cropping.}"
28
+ "{ vis v | true | Usage: Specify to open a new window to show results.}"
29
+ "{ backend bt | 0 | Choose one of computation backends: "
30
+ "0: (default) OpenCV implementation + CPU, "
31
+ "1: CUDA + GPU (CUDA), "
32
+ "2: CUDA + GPU (CUDA FP16), "
33
+ "3: TIM-VX + NPU, "
34
+ "4: CANN + NPU}";
35
+
36
+
37
+ int main(int argc, char** argv)
38
+ {
39
+ CommandLineParser parser(argc, argv, keys);
40
+
41
+ parser.about("Use this script to run classification deep learning networks in opencv Zoo using OpenCV.");
42
+ if (parser.has("help"))
43
+ {
44
+ parser.printMessage();
45
+ return 0;
46
+ }
47
+
48
+ int rszWidth = parser.get<int>("initial_width");
49
+ int rszHeight = parser.get<int>("initial_height");
50
+ bool swapRB = parser.get<bool>("rgb");
51
+ bool crop = parser.get<bool>("crop");
52
+ bool vis = parser.get<bool>("vis");
53
+ String model = parser.get<String>("model");
54
+ int backendTargetid = parser.get<int>("backend");
55
+
56
+ if (model.empty())
57
+ {
58
+ CV_Error(Error::StsError, "Model file " + model + " not found");
59
+ }
60
+ vector<string> labels = getLabelsImagenet1k();
61
+
62
+ Net net = readNet(samples::findFile(model));
63
+ net.setPreferableBackend(backendTargetPairs[backendTargetid].first);
64
+ net.setPreferableTarget(backendTargetPairs[backendTargetid].second);
65
+ //! [Open a video file or an image file or a camera stream]
66
+ VideoCapture cap;
67
+ if (parser.has("input"))
68
+ cap.open(samples::findFile(parser.get<String>("input")));
69
+ else
70
+ cap.open(0);
71
+ if (!cap.isOpened())
72
+ CV_Error(Error::StsError, "Cannot opend video or file");
73
+ Mat frame, blob;
74
+ static const std::string kWinName = model;
75
+ int nbInference = 0;
76
+ while (waitKey(1) < 0)
77
+ {
78
+ cap >> frame;
79
+ if (frame.empty())
80
+ {
81
+ cout << "Frame is empty" << endl;
82
+ waitKey();
83
+ break;
84
+ }
85
+
86
+ if (rszWidth != 0 && rszHeight != 0)
87
+ {
88
+ resize(frame, frame, Size(rszWidth, rszHeight));
89
+ }
90
+ Image2BlobParams paramMobilenet;
91
+ paramMobilenet.datalayout = DNN_LAYOUT_NCHW;
92
+ paramMobilenet.ddepth = CV_32F;
93
+ paramMobilenet.mean = Scalar(123.675, 116.28, 103.53);
94
+ paramMobilenet.scalefactor = Scalar(1 / (255. * 0.229), 1 / (255. * 0.224), 1 / (255. * 0.225));
95
+ paramMobilenet.size = Size(224, 224);
96
+ paramMobilenet.swapRB = swapRB;
97
+ if (crop)
98
+ paramMobilenet.paddingmode = DNN_PMODE_CROP_CENTER;
99
+ else
100
+ paramMobilenet.paddingmode = DNN_PMODE_NULL;
101
+ //! [Create a 4D blob from a frame]
102
+ blobFromImageWithParams(frame, blob, paramMobilenet);
103
+
104
+ //! [Set input blob]
105
+ net.setInput(blob);
106
+ Mat prob = net.forward();
107
+
108
+ //! [Get a class with a highest score]
109
+ Point classIdPoint;
110
+ double confidence;
111
+ minMaxLoc(prob.reshape(1, 1), 0, &confidence, 0, &classIdPoint);
112
+ int classId = classIdPoint.x;
113
+ std::string label = format("%s: %.4f", (labels.empty() ? format("Class #%d", classId).c_str() :
114
+ labels[classId].c_str()),
115
+ confidence);
116
+ if (vis)
117
+ {
118
+ putText(frame, label, Point(0, 55), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0));
119
+ imshow(kWinName, frame);
120
+ }
121
+ else
122
+ {
123
+ cout << label << endl;
124
+ nbInference++;
125
+ if (nbInference > 100)
126
+ {
127
+ cout << nbInference << " inference made. Demo existing" << endl;
128
+ break;
129
+ }
130
+ }
131
+ }
132
+ return 0;
133
+ }
models/image_classification_mobilenet/labelsimagenet1k.h ADDED
@@ -0,0 +1,1010 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #include <vector>
2
+ #include <string>
3
+
4
+ std::vector<std::string> getLabelsImagenet1k()
5
+ {
6
+ std::vector<std::string> labels = {
7
+ "tench, Tinca tinca",
8
+ "goldfish, Carassius auratus",
9
+ "great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias",
10
+ "tiger shark, Galeocerdo cuvieri",
11
+ "hammerhead, hammerhead shark",
12
+ "electric ray, crampfish, numbfish, torpedo",
13
+ "stingray",
14
+ "cock",
15
+ "hen",
16
+ "ostrich, Struthio camelus",
17
+ "brambling, Fringilla montifringilla",
18
+ "goldfinch, Carduelis carduelis",
19
+ "house finch, linnet, Carpodacus mexicanus",
20
+ "junco, snowbird",
21
+ "indigo bunting, indigo finch, indigo bird, Passerina cyanea",
22
+ "robin, American robin, Turdus migratorius",
23
+ "bulbul",
24
+ "jay",
25
+ "magpie",
26
+ "chickadee",
27
+ "water ouzel, dipper",
28
+ "kite",
29
+ "bald eagle, American eagle, Haliaeetus leucocephalus",
30
+ "vulture",
31
+ "great grey owl, great gray owl, Strix nebulosa",
32
+ "European fire salamander, Salamandra salamandra",
33
+ "common newt, Triturus vulgaris",
34
+ "eft",
35
+ "spotted salamander, Ambystoma maculatum",
36
+ "axolotl, mud puppy, Ambystoma mexicanum",
37
+ "bullfrog, Rana catesbeiana",
38
+ "tree frog, tree-frog",
39
+ "tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui",
40
+ "loggerhead, loggerhead turtle, Caretta caretta",
41
+ "leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea",
42
+ "mud turtle",
43
+ "terrapin",
44
+ "box turtle, box tortoise",
45
+ "banded gecko",
46
+ "common iguana, iguana, Iguana iguana",
47
+ "American chameleon, anole, Anolis carolinensis",
48
+ "whiptail, whiptail lizard",
49
+ "agama",
50
+ "frilled lizard, Chlamydosaurus kingi",
51
+ "alligator lizard",
52
+ "Gila monster, Heloderma suspectum",
53
+ "green lizard, Lacerta viridis",
54
+ "African chameleon, Chamaeleo chamaeleon",
55
+ "Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis",
56
+ "African crocodile, Nile crocodile, Crocodylus niloticus",
57
+ "American alligator, Alligator mississipiensis",
58
+ "triceratops",
59
+ "thunder snake, worm snake, Carphophis amoenus",
60
+ "ringneck snake, ring-necked snake, ring snake",
61
+ "hognose snake, puff adder, sand viper",
62
+ "green snake, grass snake",
63
+ "king snake, kingsnake",
64
+ "garter snake, grass snake",
65
+ "water snake",
66
+ "vine snake",
67
+ "night snake, Hypsiglena torquata",
68
+ "boa constrictor, Constrictor constrictor",
69
+ "rock python, rock snake, Python sebae",
70
+ "Indian cobra, Naja naja",
71
+ "green mamba",
72
+ "sea snake",
73
+ "horned viper, cerastes, sand viper, horned asp, Cerastes cornutus",
74
+ "diamondback, diamondback rattlesnake, Crotalus adamanteus",
75
+ "sidewinder, horned rattlesnake, Crotalus cerastes",
76
+ "trilobite",
77
+ "harvestman, daddy longlegs, Phalangium opilio",
78
+ "scorpion",
79
+ "black and gold garden spider, Argiope aurantia",
80
+ "barn spider, Araneus cavaticus",
81
+ "garden spider, Aranea diademata",
82
+ "black widow, Latrodectus mactans",
83
+ "tarantula",
84
+ "wolf spider, hunting spider",
85
+ "tick",
86
+ "centipede",
87
+ "black grouse",
88
+ "ptarmigan",
89
+ "ruffed grouse, partridge, Bonasa umbellus",
90
+ "prairie chicken, prairie grouse, prairie fowl",
91
+ "peacock",
92
+ "quail",
93
+ "partridge",
94
+ "African grey, African gray, Psittacus erithacus",
95
+ "macaw",
96
+ "sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita",
97
+ "lorikeet",
98
+ "coucal",
99
+ "bee eater",
100
+ "hornbill",
101
+ "hummingbird",
102
+ "jacamar",
103
+ "toucan",
104
+ "drake",
105
+ "red-breasted merganser, Mergus serrator",
106
+ "goose",
107
+ "black swan, Cygnus atratus",
108
+ "tusker",
109
+ "echidna, spiny anteater, anteater",
110
+ "platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus",
111
+ "wallaby, brush kangaroo",
112
+ "koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus",
113
+ "wombat",
114
+ "jellyfish",
115
+ "sea anemone, anemone",
116
+ "brain coral",
117
+ "flatworm, platyhelminth",
118
+ "nematode, nematode worm, roundworm",
119
+ "conch",
120
+ "snail",
121
+ "slug",
122
+ "sea slug, nudibranch",
123
+ "chiton, coat-of-mail shell, sea cradle, polyplacophore",
124
+ "chambered nautilus, pearly nautilus, nautilus",
125
+ "Dungeness crab, Cancer magister",
126
+ "rock crab, Cancer irroratus",
127
+ "fiddler crab",
128
+ "king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica",
129
+ "American lobster, Northern lobster, Maine lobster, Homarus americanus",
130
+ "spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish",
131
+ "crayfish, crawfish, crawdad, crawdaddy",
132
+ "hermit crab",
133
+ "isopod",
134
+ "white stork, Ciconia ciconia",
135
+ "black stork, Ciconia nigra",
136
+ "spoonbill",
137
+ "flamingo",
138
+ "little blue heron, Egretta caerulea",
139
+ "American egret, great white heron, Egretta albus",
140
+ "bittern",
141
+ "crane",
142
+ "limpkin, Aramus pictus",
143
+ "European gallinule, Porphyrio porphyrio",
144
+ "American coot, marsh hen, mud hen, water hen, Fulica americana",
145
+ "bustard",
146
+ "ruddy turnstone, Arenaria interpres",
147
+ "red-backed sandpiper, dunlin, Erolia alpina",
148
+ "redshank, Tringa totanus",
149
+ "dowitcher",
150
+ "oystercatcher, oyster catcher",
151
+ "pelican",
152
+ "king penguin, Aptenodytes patagonica",
153
+ "albatross, mollymawk",
154
+ "grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus",
155
+ "killer whale, killer, orca, grampus, sea wolf, Orcinus orca",
156
+ "dugong, Dugong dugon",
157
+ "sea lion",
158
+ "Chihuahua",
159
+ "Japanese spaniel",
160
+ "Maltese dog, Maltese terrier, Maltese",
161
+ "Pekinese, Pekingese, Peke",
162
+ "Shih-Tzu",
163
+ "Blenheim spaniel",
164
+ "papillon",
165
+ "toy terrier",
166
+ "Rhodesian ridgeback",
167
+ "Afghan hound, Afghan",
168
+ "basset, basset hound",
169
+ "beagle",
170
+ "bloodhound, sleuthhound",
171
+ "bluetick",
172
+ "black-and-tan coonhound",
173
+ "Walker hound, Walker foxhound",
174
+ "English foxhound",
175
+ "redbone",
176
+ "borzoi, Russian wolfhound",
177
+ "Irish wolfhound",
178
+ "Italian greyhound",
179
+ "whippet",
180
+ "Ibizan hound, Ibizan Podenco",
181
+ "Norwegian elkhound, elkhound",
182
+ "otterhound, otter hound",
183
+ "Saluki, gazelle hound",
184
+ "Scottish deerhound, deerhound",
185
+ "Weimaraner",
186
+ "Staffordshire bullterrier, Staffordshire bull terrier",
187
+ "American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier",
188
+ "Bedlington terrier",
189
+ "Border terrier",
190
+ "Kerry blue terrier",
191
+ "Irish terrier",
192
+ "Norfolk terrier",
193
+ "Norwich terrier",
194
+ "Yorkshire terrier",
195
+ "wire-haired fox terrier",
196
+ "Lakeland terrier",
197
+ "Sealyham terrier, Sealyham",
198
+ "Airedale, Airedale terrier",
199
+ "cairn, cairn terrier",
200
+ "Australian terrier",
201
+ "Dandie Dinmont, Dandie Dinmont terrier",
202
+ "Boston bull, Boston terrier",
203
+ "miniature schnauzer",
204
+ "giant schnauzer",
205
+ "standard schnauzer",
206
+ "Scotch terrier, Scottish terrier, Scottie",
207
+ "Tibetan terrier, chrysanthemum dog",
208
+ "silky terrier, Sydney silky",
209
+ "soft-coated wheaten terrier",
210
+ "West Highland white terrier",
211
+ "Lhasa, Lhasa apso",
212
+ "flat-coated retriever",
213
+ "curly-coated retriever",
214
+ "golden retriever",
215
+ "Labrador retriever",
216
+ "Chesapeake Bay retriever",
217
+ "German short-haired pointer",
218
+ "vizsla, Hungarian pointer",
219
+ "English setter",
220
+ "Irish setter, red setter",
221
+ "Gordon setter",
222
+ "Brittany spaniel",
223
+ "clumber, clumber spaniel",
224
+ "English springer, English springer spaniel",
225
+ "Welsh springer spaniel",
226
+ "cocker spaniel, English cocker spaniel, cocker",
227
+ "Sussex spaniel",
228
+ "Irish water spaniel",
229
+ "kuvasz",
230
+ "schipperke",
231
+ "groenendael",
232
+ "malinois",
233
+ "briard",
234
+ "kelpie",
235
+ "komondor",
236
+ "Old English sheepdog, bobtail",
237
+ "Shetland sheepdog, Shetland sheep dog, Shetland",
238
+ "collie",
239
+ "Border collie",
240
+ "Bouvier des Flandres, Bouviers des Flandres",
241
+ "Rottweiler",
242
+ "German shepherd, German shepherd dog, German police dog, alsatian",
243
+ "Doberman, Doberman pinscher",
244
+ "miniature pinscher",
245
+ "Greater Swiss Mountain dog",
246
+ "Bernese mountain dog",
247
+ "Appenzeller",
248
+ "EntleBucher",
249
+ "boxer",
250
+ "bull mastiff",
251
+ "Tibetan mastiff",
252
+ "French bulldog",
253
+ "Great Dane",
254
+ "Saint Bernard, St Bernard",
255
+ "Eskimo dog, husky",
256
+ "malamute, malemute, Alaskan malamute",
257
+ "Siberian husky",
258
+ "dalmatian, coach dog, carriage dog",
259
+ "affenpinscher, monkey pinscher, monkey dog",
260
+ "basenji",
261
+ "pug, pug-dog",
262
+ "Leonberg",
263
+ "Newfoundland, Newfoundland dog",
264
+ "Great Pyrenees",
265
+ "Samoyed, Samoyede",
266
+ "Pomeranian",
267
+ "chow, chow chow",
268
+ "keeshond",
269
+ "Brabancon griffon",
270
+ "Pembroke, Pembroke Welsh corgi",
271
+ "Cardigan, Cardigan Welsh corgi",
272
+ "toy poodle",
273
+ "miniature poodle",
274
+ "standard poodle",
275
+ "Mexican hairless",
276
+ "timber wolf, grey wolf, gray wolf, Canis lupus",
277
+ "white wolf, Arctic wolf, Canis lupus tundrarum",
278
+ "red wolf, maned wolf, Canis rufus, Canis niger",
279
+ "coyote, prairie wolf, brush wolf, Canis latrans",
280
+ "dingo, warrigal, warragal, Canis dingo",
281
+ "dhole, Cuon alpinus",
282
+ "African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus",
283
+ "hyena, hyaena",
284
+ "red fox, Vulpes vulpes",
285
+ "kit fox, Vulpes macrotis",
286
+ "Arctic fox, white fox, Alopex lagopus",
287
+ "grey fox, gray fox, Urocyon cinereoargenteus",
288
+ "tabby, tabby cat",
289
+ "tiger cat",
290
+ "Persian cat",
291
+ "Siamese cat, Siamese",
292
+ "Egyptian cat",
293
+ "cougar, puma, catamount, mountain lion, painter, panther, Felis concolor",
294
+ "lynx, catamount",
295
+ "leopard, Panthera pardus",
296
+ "snow leopard, ounce, Panthera uncia",
297
+ "jaguar, panther, Panthera onca, Felis onca",
298
+ "lion, king of beasts, Panthera leo",
299
+ "tiger, Panthera tigris",
300
+ "cheetah, chetah, Acinonyx jubatus",
301
+ "brown bear, bruin, Ursus arctos",
302
+ "American black bear, black bear, Ursus americanus, Euarctos americanus",
303
+ "ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus",
304
+ "sloth bear, Melursus ursinus, Ursus ursinus",
305
+ "mongoose",
306
+ "meerkat, mierkat",
307
+ "tiger beetle",
308
+ "ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle",
309
+ "ground beetle, carabid beetle",
310
+ "long-horned beetle, longicorn, longicorn beetle",
311
+ "leaf beetle, chrysomelid",
312
+ "dung beetle",
313
+ "rhinoceros beetle",
314
+ "weevil",
315
+ "fly",
316
+ "bee",
317
+ "ant, emmet, pismire",
318
+ "grasshopper, hopper",
319
+ "cricket",
320
+ "walking stick, walkingstick, stick insect",
321
+ "cockroach, roach",
322
+ "mantis, mantid",
323
+ "cicada, cicala",
324
+ "leafhopper",
325
+ "lacewing, lacewing fly",
326
+ "dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk",
327
+ "damselfly",
328
+ "admiral",
329
+ "ringlet, ringlet butterfly",
330
+ "monarch, monarch butterfly, milkweed butterfly, Danaus plexippus",
331
+ "cabbage butterfly",
332
+ "sulphur butterfly, sulfur butterfly",
333
+ "lycaenid, lycaenid butterfly",
334
+ "starfish, sea star",
335
+ "sea urchin",
336
+ "sea cucumber, holothurian",
337
+ "wood rabbit, cottontail, cottontail rabbit",
338
+ "hare",
339
+ "Angora, Angora rabbit",
340
+ "hamster",
341
+ "porcupine, hedgehog",
342
+ "fox squirrel, eastern fox squirrel, Sciurus niger",
343
+ "marmot",
344
+ "beaver",
345
+ "guinea pig, Cavia cobaya",
346
+ "sorrel",
347
+ "zebra",
348
+ "hog, pig, grunter, squealer, Sus scrofa",
349
+ "wild boar, boar, Sus scrofa",
350
+ "warthog",
351
+ "hippopotamus, hippo, river horse, Hippopotamus amphibius",
352
+ "ox",
353
+ "water buffalo, water ox, Asiatic buffalo, Bubalus bubalis",
354
+ "bison",
355
+ "ram, tup",
356
+ "bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis",
357
+ "ibex, Capra ibex",
358
+ "hartebeest",
359
+ "impala, Aepyceros melampus",
360
+ "gazelle",
361
+ "Arabian camel, dromedary, Camelus dromedarius",
362
+ "llama",
363
+ "weasel",
364
+ "mink",
365
+ "polecat, fitch, foulmart, foumart, Mustela putorius",
366
+ "black-footed ferret, ferret, Mustela nigripes",
367
+ "otter",
368
+ "skunk, polecat, wood pussy",
369
+ "badger",
370
+ "armadillo",
371
+ "three-toed sloth, ai, Bradypus tridactylus",
372
+ "orangutan, orang, orangutang, Pongo pygmaeus",
373
+ "gorilla, Gorilla gorilla",
374
+ "chimpanzee, chimp, Pan troglodytes",
375
+ "gibbon, Hylobates lar",
376
+ "siamang, Hylobates syndactylus, Symphalangus syndactylus",
377
+ "guenon, guenon monkey",
378
+ "patas, hussar monkey, Erythrocebus patas",
379
+ "baboon",
380
+ "macaque",
381
+ "langur",
382
+ "colobus, colobus monkey",
383
+ "proboscis monkey, Nasalis larvatus",
384
+ "marmoset",
385
+ "capuchin, ringtail, Cebus capucinus",
386
+ "howler monkey, howler",
387
+ "titi, titi monkey",
388
+ "spider monkey, Ateles geoffroyi",
389
+ "squirrel monkey, Saimiri sciureus",
390
+ "Madagascar cat, ring-tailed lemur, Lemur catta",
391
+ "indri, indris, Indri indri, Indri brevicaudatus",
392
+ "Indian elephant, Elephas maximus",
393
+ "African elephant, Loxodonta africana",
394
+ "lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens",
395
+ "giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca",
396
+ "barracouta, snoek",
397
+ "eel",
398
+ "coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch",
399
+ "rock beauty, Holocanthus tricolor",
400
+ "anemone fish",
401
+ "sturgeon",
402
+ "gar, garfish, garpike, billfish, Lepisosteus osseus",
403
+ "lionfish",
404
+ "puffer, pufferfish, blowfish, globefish",
405
+ "abacus",
406
+ "abaya",
407
+ "academic gown, academic robe, judge's robe",
408
+ "accordion, piano accordion, squeeze box",
409
+ "acoustic guitar",
410
+ "aircraft carrier, carrier, flattop, attack aircraft carrier",
411
+ "airliner",
412
+ "airship, dirigible",
413
+ "altar",
414
+ "ambulance",
415
+ "amphibian, amphibious vehicle",
416
+ "analog clock",
417
+ "apiary, bee house",
418
+ "apron",
419
+ "ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin",
420
+ "assault rifle, assault gun",
421
+ "backpack, back pack, knapsack, packsack, rucksack, haversack",
422
+ "bakery, bakeshop, bakehouse",
423
+ "balance beam, beam",
424
+ "balloon",
425
+ "ballpoint, ballpoint pen, ballpen, Biro",
426
+ "Band Aid",
427
+ "banjo",
428
+ "bannister, banister, balustrade, balusters, handrail",
429
+ "barbell",
430
+ "barber chair",
431
+ "barbershop",
432
+ "barn",
433
+ "barometer",
434
+ "barrel, cask",
435
+ "barrow, garden cart, lawn cart, wheelbarrow",
436
+ "baseball",
437
+ "basketball",
438
+ "bassinet",
439
+ "bassoon",
440
+ "bathing cap, swimming cap",
441
+ "bath towel",
442
+ "bathtub, bathing tub, bath, tub",
443
+ "beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon",
444
+ "beacon, lighthouse, beacon light, pharos",
445
+ "beaker",
446
+ "bearskin, busby, shako",
447
+ "beer bottle",
448
+ "beer glass",
449
+ "bell cote, bell cot",
450
+ "bib",
451
+ "bicycle-built-for-two, tandem bicycle, tandem",
452
+ "bikini, two-piece",
453
+ "binder, ring-binder",
454
+ "binoculars, field glasses, opera glasses",
455
+ "birdhouse",
456
+ "boathouse",
457
+ "bobsled, bobsleigh, bob",
458
+ "bolo tie, bolo, bola tie, bola",
459
+ "bonnet, poke bonnet",
460
+ "bookcase",
461
+ "bookshop, bookstore, bookstall",
462
+ "bottlecap",
463
+ "bow",
464
+ "bow tie, bow-tie, bowtie",
465
+ "brass, memorial tablet, plaque",
466
+ "brassiere, bra, bandeau",
467
+ "breakwater, groin, groyne, mole, bulwark, seawall, jetty",
468
+ "breastplate, aegis, egis",
469
+ "broom",
470
+ "bucket, pail",
471
+ "buckle",
472
+ "bulletproof vest",
473
+ "bullet train, bullet",
474
+ "butcher shop, meat market",
475
+ "cab, hack, taxi, taxicab",
476
+ "caldron, cauldron",
477
+ "candle, taper, wax light",
478
+ "cannon",
479
+ "canoe",
480
+ "can opener, tin opener",
481
+ "cardigan",
482
+ "car mirror",
483
+ "carousel, carrousel, merry-go-round, roundabout, whirligig",
484
+ "carpenter's kit, tool kit",
485
+ "carton",
486
+ "car wheel",
487
+ "cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM",
488
+ "cassette",
489
+ "cassette player",
490
+ "castle",
491
+ "catamaran",
492
+ "CD player",
493
+ "cello, violoncello",
494
+ "cellular telephone, cellular phone, cellphone, cell, mobile phone",
495
+ "chain",
496
+ "chainlink fence",
497
+ "chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour",
498
+ "chain saw, chainsaw",
499
+ "chest",
500
+ "chiffonier, commode",
501
+ "chime, bell, gong",
502
+ "china cabinet, china closet",
503
+ "Christmas stocking",
504
+ "church, church building",
505
+ "cinema, movie theater, movie theatre, movie house, picture palace",
506
+ "cleaver, meat cleaver, chopper",
507
+ "cliff dwelling",
508
+ "cloak",
509
+ "clog, geta, patten, sabot",
510
+ "cocktail shaker",
511
+ "coffee mug",
512
+ "coffeepot",
513
+ "coil, spiral, volute, whorl, helix",
514
+ "combination lock",
515
+ "computer keyboard, keypad",
516
+ "confectionery, confectionary, candy store",
517
+ "container ship, containership, container vessel",
518
+ "convertible",
519
+ "corkscrew, bottle screw",
520
+ "cornet, horn, trumpet, trump",
521
+ "cowboy boot",
522
+ "cowboy hat, ten-gallon hat",
523
+ "cradle",
524
+ "crane",
525
+ "crash helmet",
526
+ "crate",
527
+ "crib, cot",
528
+ "Crock Pot",
529
+ "croquet ball",
530
+ "crutch",
531
+ "cuirass",
532
+ "dam, dike, dyke",
533
+ "desk",
534
+ "desktop computer",
535
+ "dial telephone, dial phone",
536
+ "diaper, nappy, napkin",
537
+ "digital clock",
538
+ "digital watch",
539
+ "dining table, board",
540
+ "dishrag, dishcloth",
541
+ "dishwasher, dish washer, dishwashing machine",
542
+ "disk brake, disc brake",
543
+ "dock, dockage, docking facility",
544
+ "dogsled, dog sled, dog sleigh",
545
+ "dome",
546
+ "doormat, welcome mat",
547
+ "drilling platform, offshore rig",
548
+ "drum, membranophone, tympan",
549
+ "drumstick",
550
+ "dumbbell",
551
+ "Dutch oven",
552
+ "electric fan, blower",
553
+ "electric guitar",
554
+ "electric locomotive",
555
+ "entertainment center",
556
+ "envelope",
557
+ "espresso maker",
558
+ "face powder",
559
+ "feather boa, boa",
560
+ "file, file cabinet, filing cabinet",
561
+ "fireboat",
562
+ "fire engine, fire truck",
563
+ "fire screen, fireguard",
564
+ "flagpole, flagstaff",
565
+ "flute, transverse flute",
566
+ "folding chair",
567
+ "football helmet",
568
+ "forklift",
569
+ "fountain",
570
+ "fountain pen",
571
+ "four-poster",
572
+ "freight car",
573
+ "French horn, horn",
574
+ "frying pan, frypan, skillet",
575
+ "fur coat",
576
+ "garbage truck, dustcart",
577
+ "gasmask, respirator, gas helmet",
578
+ "gas pump, gasoline pump, petrol pump, island dispenser",
579
+ "goblet",
580
+ "go-kart",
581
+ "golf ball",
582
+ "golfcart, golf cart",
583
+ "gondola",
584
+ "gong, tam-tam",
585
+ "gown",
586
+ "grand piano, grand",
587
+ "greenhouse, nursery, glasshouse",
588
+ "grille, radiator grille",
589
+ "grocery store, grocery, food market, market",
590
+ "guillotine",
591
+ "hair slide",
592
+ "hair spray",
593
+ "half track",
594
+ "hammer",
595
+ "hamper",
596
+ "hand blower, blow dryer, blow drier, hair dryer, hair drier",
597
+ "hand-held computer, hand-held microcomputer",
598
+ "handkerchief, hankie, hanky, hankey",
599
+ "hard disc, hard disk, fixed disk",
600
+ "harmonica, mouth organ, harp, mouth harp",
601
+ "harp",
602
+ "harvester, reaper",
603
+ "hatchet",
604
+ "holster",
605
+ "home theater, home theatre",
606
+ "honeycomb",
607
+ "hook, claw",
608
+ "hoopskirt, crinoline",
609
+ "horizontal bar, high bar",
610
+ "horse cart, horse-cart",
611
+ "hourglass",
612
+ "iPod",
613
+ "iron, smoothing iron",
614
+ "jack-o'-lantern",
615
+ "jean, blue jean, denim",
616
+ "jeep, landrover",
617
+ "jersey, T-shirt, tee shirt",
618
+ "jigsaw puzzle",
619
+ "jinrikisha, ricksha, rickshaw",
620
+ "joystick",
621
+ "kimono",
622
+ "knee pad",
623
+ "knot",
624
+ "lab coat, laboratory coat",
625
+ "ladle",
626
+ "lampshade, lamp shade",
627
+ "laptop, laptop computer",
628
+ "lawn mower, mower",
629
+ "lens cap, lens cover",
630
+ "letter opener, paper knife, paperknife",
631
+ "library",
632
+ "lifeboat",
633
+ "lighter, light, igniter, ignitor",
634
+ "limousine, limo",
635
+ "liner, ocean liner",
636
+ "lipstick, lip rouge",
637
+ "Loafer",
638
+ "lotion",
639
+ "loudspeaker, speaker, speaker unit, loudspeaker system, speaker system",
640
+ "loupe, jeweler's loupe",
641
+ "lumbermill, sawmill",
642
+ "magnetic compass",
643
+ "mailbag, postbag",
644
+ "mailbox, letter box",
645
+ "maillot",
646
+ "maillot, tank suit",
647
+ "manhole cover",
648
+ "maraca",
649
+ "marimba, xylophone",
650
+ "mask",
651
+ "matchstick",
652
+ "maypole",
653
+ "maze, labyrinth",
654
+ "measuring cup",
655
+ "medicine chest, medicine cabinet",
656
+ "megalith, megalithic structure",
657
+ "microphone, mike",
658
+ "microwave, microwave oven",
659
+ "military uniform",
660
+ "milk can",
661
+ "minibus",
662
+ "miniskirt, mini",
663
+ "minivan",
664
+ "missile",
665
+ "mitten",
666
+ "mixing bowl",
667
+ "mobile home, manufactured home",
668
+ "Model T",
669
+ "modem",
670
+ "monastery",
671
+ "monitor",
672
+ "moped",
673
+ "mortar",
674
+ "mortarboard",
675
+ "mosque",
676
+ "mosquito net",
677
+ "motor scooter, scooter",
678
+ "mountain bike, all-terrain bike, off-roader",
679
+ "mountain tent",
680
+ "mouse, computer mouse",
681
+ "mousetrap",
682
+ "moving van",
683
+ "muzzle",
684
+ "nail",
685
+ "neck brace",
686
+ "necklace",
687
+ "nipple",
688
+ "notebook, notebook computer",
689
+ "obelisk",
690
+ "oboe, hautboy, hautbois",
691
+ "ocarina, sweet potato",
692
+ "odometer, hodometer, mileometer, milometer",
693
+ "oil filter",
694
+ "organ, pipe organ",
695
+ "oscilloscope, scope, cathode-ray oscilloscope, CRO",
696
+ "overskirt",
697
+ "oxcart",
698
+ "oxygen mask",
699
+ "packet",
700
+ "paddle, boat paddle",
701
+ "paddlewheel, paddle wheel",
702
+ "padlock",
703
+ "paintbrush",
704
+ "pajama, pyjama, pj's, jammies",
705
+ "palace",
706
+ "panpipe, pandean pipe, syrinx",
707
+ "paper towel",
708
+ "parachute, chute",
709
+ "parallel bars, bars",
710
+ "park bench",
711
+ "parking meter",
712
+ "passenger car, coach, carriage",
713
+ "patio, terrace",
714
+ "pay-phone, pay-station",
715
+ "pedestal, plinth, footstall",
716
+ "pencil box, pencil case",
717
+ "pencil sharpener",
718
+ "perfume, essence",
719
+ "Petri dish",
720
+ "photocopier",
721
+ "pick, plectrum, plectron",
722
+ "pickelhaube",
723
+ "picket fence, paling",
724
+ "pickup, pickup truck",
725
+ "pier",
726
+ "piggy bank, penny bank",
727
+ "pill bottle",
728
+ "pillow",
729
+ "ping-pong ball",
730
+ "pinwheel",
731
+ "pirate, pirate ship",
732
+ "pitcher, ewer",
733
+ "plane, carpenter's plane, woodworking plane",
734
+ "planetarium",
735
+ "plastic bag",
736
+ "plate rack",
737
+ "plow, plough",
738
+ "plunger, plumber's helper",
739
+ "Polaroid camera, Polaroid Land camera",
740
+ "pole",
741
+ "police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria",
742
+ "poncho",
743
+ "pool table, billiard table, snooker table",
744
+ "pop bottle, soda bottle",
745
+ "pot, flowerpot",
746
+ "potter's wheel",
747
+ "power drill",
748
+ "prayer rug, prayer mat",
749
+ "printer",
750
+ "prison, prison house",
751
+ "projectile, missile",
752
+ "projector",
753
+ "puck, hockey puck",
754
+ "punching bag, punch bag, punching ball, punchball",
755
+ "purse",
756
+ "quill, quill pen",
757
+ "quilt, comforter, comfort, puff",
758
+ "racer, race car, racing car",
759
+ "racket, racquet",
760
+ "radiator",
761
+ "radio, wireless",
762
+ "radio telescope, radio reflector",
763
+ "rain barrel",
764
+ "recreational vehicle, RV, R.V.",
765
+ "reel",
766
+ "reflex camera",
767
+ "refrigerator, icebox",
768
+ "remote control, remote",
769
+ "restaurant, eating house, eating place, eatery",
770
+ "revolver, six-gun, six-shooter",
771
+ "rifle",
772
+ "rocking chair, rocker",
773
+ "rotisserie",
774
+ "rubber eraser, rubber, pencil eraser",
775
+ "rugby ball",
776
+ "rule, ruler",
777
+ "running shoe",
778
+ "safe",
779
+ "safety pin",
780
+ "saltshaker, salt shaker",
781
+ "sandal",
782
+ "sarong",
783
+ "sax, saxophone",
784
+ "scabbard",
785
+ "scale, weighing machine",
786
+ "school bus",
787
+ "schooner",
788
+ "scoreboard",
789
+ "screen, CRT screen",
790
+ "screw",
791
+ "screwdriver",
792
+ "seat belt, seatbelt",
793
+ "sewing machine",
794
+ "shield, buckler",
795
+ "shoe shop, shoe-shop, shoe store",
796
+ "shoji",
797
+ "shopping basket",
798
+ "shopping cart",
799
+ "shovel",
800
+ "shower cap",
801
+ "shower curtain",
802
+ "ski",
803
+ "ski mask",
804
+ "sleeping bag",
805
+ "slide rule, slipstick",
806
+ "sliding door",
807
+ "slot, one-armed bandit",
808
+ "snorkel",
809
+ "snowmobile",
810
+ "snowplow, snowplough",
811
+ "soap dispenser",
812
+ "soccer ball",
813
+ "sock",
814
+ "solar dish, solar collector, solar furnace",
815
+ "sombrero",
816
+ "soup bowl",
817
+ "space bar",
818
+ "space heater",
819
+ "space shuttle",
820
+ "spatula",
821
+ "speedboat",
822
+ "spider web, spider's web",
823
+ "spindle",
824
+ "sports car, sport car",
825
+ "spotlight, spot",
826
+ "stage",
827
+ "steam locomotive",
828
+ "steel arch bridge",
829
+ "steel drum",
830
+ "stethoscope",
831
+ "stole",
832
+ "stone wall",
833
+ "stopwatch, stop watch",
834
+ "stove",
835
+ "strainer",
836
+ "streetcar, tram, tramcar, trolley, trolley car",
837
+ "stretcher",
838
+ "studio couch, day bed",
839
+ "stupa, tope",
840
+ "submarine, pigboat, sub, U-boat",
841
+ "suit, suit of clothes",
842
+ "sundial",
843
+ "sunglass",
844
+ "sunglasses, dark glasses, shades",
845
+ "sunscreen, sunblock, sun blocker",
846
+ "suspension bridge",
847
+ "swab, swob, mop",
848
+ "sweatshirt",
849
+ "swimming trunks, bathing trunks",
850
+ "swing",
851
+ "switch, electric switch, electrical switch",
852
+ "syringe",
853
+ "table lamp",
854
+ "tank, army tank, armored combat vehicle, armoured combat vehicle",
855
+ "tape player",
856
+ "teapot",
857
+ "teddy, teddy bear",
858
+ "television, television system",
859
+ "tennis ball",
860
+ "thatch, thatched roof",
861
+ "theater curtain, theatre curtain",
862
+ "thimble",
863
+ "thresher, thrasher, threshing machine",
864
+ "throne",
865
+ "tile roof",
866
+ "toaster",
867
+ "tobacco shop, tobacconist shop, tobacconist",
868
+ "toilet seat",
869
+ "torch",
870
+ "totem pole",
871
+ "tow truck, tow car, wrecker",
872
+ "toyshop",
873
+ "tractor",
874
+ "trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi",
875
+ "tray",
876
+ "trench coat",
877
+ "tricycle, trike, velocipede",
878
+ "trimaran",
879
+ "tripod",
880
+ "triumphal arch",
881
+ "trolleybus, trolley coach, trackless trolley",
882
+ "trombone",
883
+ "tub, vat",
884
+ "turnstile",
885
+ "typewriter keyboard",
886
+ "umbrella",
887
+ "unicycle, monocycle",
888
+ "upright, upright piano",
889
+ "vacuum, vacuum cleaner",
890
+ "vase",
891
+ "vault",
892
+ "velvet",
893
+ "vending machine",
894
+ "vestment",
895
+ "viaduct",
896
+ "violin, fiddle",
897
+ "volleyball",
898
+ "waffle iron",
899
+ "wall clock",
900
+ "wallet, billfold, notecase, pocketbook",
901
+ "wardrobe, closet, press",
902
+ "warplane, military plane",
903
+ "washbasin, handbasin, washbowl, lavabo, wash-hand basin",
904
+ "washer, automatic washer, washing machine",
905
+ "water bottle",
906
+ "water jug",
907
+ "water tower",
908
+ "whiskey jug",
909
+ "whistle",
910
+ "wig",
911
+ "window screen",
912
+ "window shade",
913
+ "Windsor tie",
914
+ "wine bottle",
915
+ "wing",
916
+ "wok",
917
+ "wooden spoon",
918
+ "wool, woolen, woollen",
919
+ "worm fence, snake fence, snake-rail fence, Virginia fence",
920
+ "wreck",
921
+ "yawl",
922
+ "yurt",
923
+ "web site, website, internet site, site",
924
+ "comic book",
925
+ "crossword puzzle, crossword",
926
+ "street sign",
927
+ "traffic light, traffic signal, stoplight",
928
+ "book jacket, dust cover, dust jacket, dust wrapper",
929
+ "menu",
930
+ "plate",
931
+ "guacamole",
932
+ "consomme",
933
+ "hot pot, hotpot",
934
+ "trifle",
935
+ "ice cream, icecream",
936
+ "ice lolly, lolly, lollipop, popsicle",
937
+ "French loaf",
938
+ "bagel, beigel",
939
+ "pretzel",
940
+ "cheeseburger",
941
+ "hotdog, hot dog, red hot",
942
+ "mashed potato",
943
+ "head cabbage",
944
+ "broccoli",
945
+ "cauliflower",
946
+ "zucchini, courgette",
947
+ "spaghetti squash",
948
+ "acorn squash",
949
+ "butternut squash",
950
+ "cucumber, cuke",
951
+ "artichoke, globe artichoke",
952
+ "bell pepper",
953
+ "cardoon",
954
+ "mushroom",
955
+ "Granny Smith",
956
+ "strawberry",
957
+ "orange",
958
+ "lemon",
959
+ "fig",
960
+ "pineapple, ananas",
961
+ "banana",
962
+ "jackfruit, jak, jack",
963
+ "custard apple",
964
+ "pomegranate",
965
+ "hay",
966
+ "carbonara",
967
+ "chocolate sauce, chocolate syrup",
968
+ "dough",
969
+ "meat loaf, meatloaf",
970
+ "pizza, pizza pie",
971
+ "potpie",
972
+ "burrito",
973
+ "red wine",
974
+ "espresso",
975
+ "cup",
976
+ "eggnog",
977
+ "alp",
978
+ "bubble",
979
+ "cliff, drop, drop-off",
980
+ "coral reef",
981
+ "geyser",
982
+ "lakeside, lakeshore",
983
+ "promontory, headland, head, foreland",
984
+ "sandbar, sand bar",
985
+ "seashore, coast, seacoast, sea-coast",
986
+ "valley, vale",
987
+ "volcano",
988
+ "ballplayer, baseball player",
989
+ "groom, bridegroom",
990
+ "scuba diver",
991
+ "rapeseed",
992
+ "daisy",
993
+ "yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum",
994
+ "corn",
995
+ "acorn",
996
+ "hip, rose hip, rosehip",
997
+ "buckeye, horse chestnut, conker",
998
+ "coral fungus",
999
+ "agaric",
1000
+ "gyromitra",
1001
+ "stinkhorn, carrion fungus",
1002
+ "earthstar",
1003
+ "hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa",
1004
+ "bolete",
1005
+ "ear, spike, capitulum",
1006
+ "toilet tissue, toilet paper, bathroom tissue",
1007
+ };
1008
+
1009
+ return labels;
1010
+ }